Archiv verlassen und diese Seite im Standarddesign anzeigen : C-Control reicht nicht für 6 Beine, Was ist am AVR besser?
The.Tomac
11.06.2004, 15:03
Hallo, Ich hab zwar zu einigen temen schon meinen Senf bezüglich meines 6 - beiners dazugegeben, aber ich habe mich jetzt dazu entschlossen, ein neues Thema aufzumachen.
Also Ich habe vor einen 6 - Beiner zu bauen
Da ich diesen Rooter später noch als experimentierplattform brauche und er ursprünglich dafür konzipiert war Sachen zu tragen/transportieren, möchte ich ihn aus stahl bauen.
Ich möchte außerdem bro bein 3 Freiheitsgrade ( 3 motoren - vor/Zurück | Hoch/Runter| Knie )
Ich bin durchaus bereit etwas Geld zu investieren, aber €60 pro servo bei 18 stück ist dann doch ein bisschen zuviel des Guten.
Ich benutze also Getriebemotoren (der motor der im motorentutorial abgebildet ist)
Ich denke ich werde sie mit den L298 ( im Motorentutorial ) H - Brücken ansteuern.
Mein problem ist aber, dass ich pro motor 2 IO out ports brauche , + für die poitionsbestimmung 1poti pro motor d.h. 1 A in port
macht 36 IO out ports + 18 A in Ports
Theoretisch könnte man auch 18 A out ports benutzen und die vergleichsarbeit von einer anderen Elektronik machen lassen.
So soviel zu meinem Projekt
Mein problem:
Die C-Control réicht für dieses Projekt nicht aus und ich habe absolut keine ahnung von anderen Controllern
Was bringt der AVR ( auf dem bild im tutporial sieht der ja sogar gegen die CC ziemlich mickrig aus.
Gibt es noch andere Controller zu empfehlen?
Wie gesagt - ich geb auch gerne etwas dafür aus
Es gibt auch günstigere Servos:
z.B. bei Conrad kostet der Standard-Servo 4,95 EUR.
Ob der allerdings die nötige Kraft und Genauigkeit hat kann ich nicht sagen.
-------
Ob die AVRs in Bezug auf IO Ports und Geschwindigkeit besser als die C-Control sind, dürfte ausser Frage stehen. Der C-Control Chip dürfte aber auch nicht arg größer sein (ist das nicht ein Motorola Chip ?). Man darf sich nicht am drumherum täuschen lassen.
Meines wissens bist du mit den AVRs am besten beraten, da sie am Leistungsfähigsten sind. Andere Controller wären aber ebenso denkbar.
Im Prinzip lassen sich ja die meisten über zusätzliche Controller erweitern, welche dann über RS-232 oder I²C-Bus angesprochen werden und so mit dem Hauptcontroller kommunitieren können. Oder man verwendet einfache Porterweiterungschips die sich ebenfalls über I²C ansprechen lassen.
The.Tomac
11.06.2004, 16:47
Ja, ich habe ein paar von den conrad servos zuhause rumliegen, aber die sind halt zu billig - plastikgetriebe, keine Kraft - wie gestagt, ich will mein bot aus stahl bauen
und die Leistungsservos ´kosten um die 60 €uro
The.Tomac
11.06.2004, 17:09
Ich hab mir das AVR Tutorial durchgelesen, aber wirklich viel anfangen kann ich damit nicht
Viewiele Prts hat ein AVR maximal ?
A in A out IO in IO out?
Wie fanghe ich an?
gibt es so einen Baukasten, oder ein entwicklungsboard wie bei der C-Control?
Mit Welcher Software programmier ich den?
Welch Taktfrequenz hat das Teil?
Danke für eure Antworten schon im Vorraus!
Gruss Gregor
Viewiele Prts hat ein AVR maximal ?
A in A out IO in IO out?
Das hängt davon ab, welchen AVR du meinst, es gibt massig verschiedene. Hier findest du eine Übersicht:
http://www.kreatives-chaos.com/index.php?seite=avruebersicht
Mit Welcher Software programmier ich den?
Du könntest sie in Assembler programmieren, die passende IDE bekommst du gratis beim Hersteller der AVRs: www.atmel.com.
Du kannst sie aber auch mit der Bascom-IDE in Basic oder mit WinAVR in C programmieren.
Welch Taktfrequenz hat das Teil?
Hängt vom Typ ab, (siehe oben)
gibt es so einen Baukasten, oder ein entwicklungsboard wie bei der C-Control?
Es gibt eine ganze Menge unterschiedlicher Entwickler und Experimentierboards für AVR Controller. Da du aber schon genaue Vorstellungen von deinem Roboter hast und die Anforderungen dafür nicht gerade gering sind, glaube ich niicht, das du irgendwo ein fertiges Board findest, das deinen Anforderungen entspricht.
Wenns darum geht erst mal den Einstieg zu finden, würde ich mir mal eines von den Roboternetzboards ansehen.
Mein problem ist aber, dass ich pro motor 2 IO out ports brauche , + für die poitionsbestimmung 1poti pro motor d.h. 1 A in port
macht 36 IO out ports + 18 A in Ports
Ich könnte mir vorstellen, dass es da sinnvoller ist mehrere Microcontroller zu verwenden, die jeweils einen bestimmten Bereich der Steuerung übernehmen. Z.B. Für jeweils 1 oder 2 Beine einen eigenen Microcontroller.
Da die meisten AVRs nur ein paar Euros kosten, würde das im Verhältnis zu den restlichen Kosten vermutlich nicht stark auffallen.
The.Tomac
11.06.2004, 18:18
Jo, ein paar sehr gute Tips
Ich hab schon ein Thema Über I²C Bus angefangen, aber können diese AVRs ( z.B. für jedes Bein Einer) dann über I²C miteinander kommunizieren?
The.Tomac
11.06.2004, 18:21
Oder mit einem zentralen AVR, der alle koordiniert?
Ich denke mal, das 3 Controller für alle Motoren reichen. Dann noch ein Hauptkontroller der die Sensorauswertung (nicht von den Potis) macht.
Zu den Conrad-Servos: Für dein Bot werden die wohl nicxht ausreichen, aber wir hatten die hier schon mal im Gespräch, und da ist bei rausgekommen das zwei gehackte Servos reichen um ein min. 3 Kg Bot zu bewegen. Nur so am Rande.
mfg God
Ach PS:
Habs mir nochma überlegt, zwei Mc's würden auch für die Motoren reichen.
Zu I2C: mit I2C kann man nur in eine Richtung komunizieren, nähmlich vom Master zum Slave(s). Das wär dann die Idee mit dem Hauptcontroller der alles koordieniert.
I²C ist normalerweise darauf ausgelegt als Master-Slave Bus zu arbeiten.
"nur in eine Richtung" ist aber nicht ganz richtig. Die Slaves können auch Daten an den Master schicken wenn dieser sie dazu auffordert.
Prinzipiell besteht natürlich die Möglichkeit das es mehrere Master im System gibt, dazu muss man sich aber selber was überlegen. z.B. das ein Master-Recht immer weitergereicht wird. Der Grund ist, daß immer nur einer senden darf (oder sollte).
Die Möglichkeiten sind also offen.
Zusätzlich, oder Alternativ kannst Du auch RS-232 verwenden (das nur am Rande), wobei dies jedoch kein Bus-System ist (aber Token-Ring wäre möglich).
Die Slaves können auch Daten an den Master schicken wenn dieser sie dazu auffordert.
Bist du dir da sicher?? Ich mein das nur Der Master zu den Slaves senden kann. Man kann denn natürlich den Master weitergeben, so das ein Slave zum Master wird.
Mit RS-232 ist denk i mal ne gute Lösung, hab ich auch scho mal dran gedacht: Man könnte doch auch alle Rx's und Tx's miteinander verbinden, und vor den Tx's Dioden setzen, dann wär das fast wie I2C, nur bidirektional.
mfg God
Schau mal hier in den I²C Bus Spezifikationen: (Auf Seite 6 Absatz 4)
http://www.semiconductors.philips.com/acrobat/literature/9398/39340011.pdf
Ok, haste dich recht gehabt. Wusste ich auch noch nich :oops:
mfg God
The.Tomac
12.06.2004, 11:23
jo, danke für die Info
ich bin ein kompletter n00b auf dem Gebiet I²C
deswegen hab ich auch ein zusätzliches thread aufgemacht
Ich weiss jetzt schoin , dass es eine clock und eine BIdirektionale Datenleitung gibt
das heißt ,dass der slave dazu aufgefordert werden muss daten zu senden
AHA! :!:
Also meine Lösung würde dann ungefähr so aussehen:
AVR1: Bein 1+2+3 d.h. {[Motor 1-9 / D out 1-18] [Poti 1-9 / A in 1-9]}
AVR2: Bein 4+5+6 d.h. {[Motor 10-18 / D out 19-32] [Poti 10-18 / A in 10-18]}
Ist das so verständlich? :-k
- Zu den Zwei Controllern:
Welche würden das sein ATmega??
und kennt einer von euch vielleicht Literatur über
- AVRs
- I²C
- I²C am AVR
Oder vielleicht sogar internet seiten?
Oder hat jemand erfahrungen mit Einsteigersets, die er mir empfehlen könnte?
Ich wär euch echt dankbar, denn ich bin total froh, dass ich vorraussichtlich nicht mit den ÜBERAUS teuren TIGER - modulen arbeiten muss. [-o<
Viele Fragen auf einmal - danke für die Antworten jetzt schon
Gruß, Gregor
http://www.mikrocontroller.net
http://www.atmel.com
http://www.semiconductors.philips.com
Empfehlenswertes Einsteigerboard: RN-Control:
http://www.robotikhardware.de/
The.Tomac
12.06.2004, 18:34
Danke
AVR1: Bein 1+2+3 d.h. {[Motor 1-9 / D out 1-18] [Poti 1-9 / A in 1-9]}
AVR2: Bein 4+5+6 d.h. {[Motor 10-18 / D out 19-32] [Poti 10-18 / A in 10-18]}
AVR3 kontrolliert dann beise über I²C und liest die stellungen der Beine aus
Geht das so?
The.Tomac
14.06.2004, 22:21
hmm 2 tage - kein Antwort ?
kein interesse an 6 beinern?
ICH FÜHL MICH SOOOOO ALLEIN :cry:
naja aber im ernst - Thema tot, odert kann mir jemand erklären ob das so geht, wie ich mir das vorstelle?
Danke jetzt schon
Gruss Gregor
AVR1: Bein 1+2+3 d.h. {[Motor 1-9 / D out 1-18] [Poti 1-9 / A in 1-9]}
AVR2: Bein 4+5+6 d.h. {[Motor 10-18 / D out 19-32] [Poti 10-18 / A in 10-18]}
Wenn du 9 Potis einlesen willst, brauchst du entweder 9 A/D Eingänge oder irgendeinen schlauen Trick. Soweit ich weiss, hat der ATMega16 nur 8 Eingänge, ob es welche mit mehr AD-Eingängen gibt weiss ich nicht.
Wenn du mit Getriebemotoren arbeitest, brauchst du pro Motor 3 oder wenn du einen Inverter verwenden kannst nur 2 Pins.
Falls du ohne Inverter arbeitest wären das 27 Ausgänge + 9 A/D Eingänge. Ich glaube, da musst du dich erst mal umsehen, welcher Controller soviele I/Os hat.
Ich vermute mal du wirst vielleicht doch besser einen Controller pro 2 Beine nehmen, es sei denn du kennst den schlauen Trick den ich nicht kenne ;-)
Ehrlich gesagt würde ich sowieso erst mal mit nur einem Bein anfangen.
Ist ein bischen billiger, falls du feststellst, dass das schon mechanisch gar nicht so einfach klappt wie du dir das vorstellst.
Wenn du dann ein Bein fertig hast, siehst du auch ob noch genug Controller für ein oder zwei Beine mehr übrig ist.
Oder alternativ Servos verwenden, da hätte man ja schon alles drin, denn konstruktiontechnisch ist das auch mit Servos ne ganz schöne Herausforderung.
Ehrlich gesagt würde ich sowieso erst mal mit nur einem Bein anfangen.
Das würde ich auch vorschlagen.
The.Tomac
15.06.2004, 16:38
ja, ich wollte auch erst mit einem bein anfangen um das prinzip rauszubekommen, aber die Idee mit 3 Controllern ist gut
das kann ich dann über I²C verbinden
hoffentlich funktioniert das so!
Ich will jetzt heim um das ganze auszuprobieren, aber ich kann nicht
Muss noch bis zu den Sommerferien warten :cry:
The.Tomac
19.06.2004, 11:18
Also Leute
Ich wollte mich nochmal bedanken, dass ihr mir so viel gute Antworten gepostet habt
Ich weiss jetzt, dass ich warscheinlich 4 AVRs nehmen werde
3 für die Beine
1 als master
Ich muss mir wohl nochmal ein paar Bücher darüber durchlesen
desweiteren werde ich mir auch das STK500 kaufen um ein bisschen übung mit den Atmels zu bekommen
Bis dann und nochmal Danke
Gregor
http://www.plustech.fi/WalkingVideo.html
Sie leben!!!
http://www.plustech.fi/WalkingVideo.html
gibts sowas nicht schon länger als baumfällerteilers?
zu dem 6beiner
manche projekte realisieren sowas mit nur 2 freiheitsgraden pro bein (der dritte wurde über federspannung gemacht) - ich finde leider de url grad net aber sie ist hier im Forum!
hast du schonmal über schrittmotoren nachgedacht? - mit denen würdest du dir die potis sparen können nachteil ist das ich noch keinen schrittmotor mit einem für dich passenden getriebe gesehen habe (ist bei getriebemotoren aber ähnlich, oder?)
The.Tomac
10.08.2004, 20:03
jo, aber schrittmotoren mit getriebe oder der benötigten stärke sid doch irre teuer
zudem kommt habe ich noch nie einen stepper angesteuert wenn ich ehrlich sein soll
ist die elektronik nicht gigantisch bei acht steppern und ist der haltestrom auch ziemlich groß?
Hallo The.Tomac
habe gerade diesen Thread zum ersten Mal geöffnet, hier mein Senf:
Ich weiß ja nicht wie groß dein 6-beiner wird, aber eine sehr presiwerte und leistungsstarke Alternative sind Getriebemotoren vom Schrottplatz, insbesondere die Scheibenheber-Motoren. Diese Motoren implementieren das Getriebe, indem die Welle eine Schnecke ist, auf der Frontseite des Motors ist das Zahnrad aufgeschraubt. Ich habe hier in FFB für 10,- € 4 dieser Motoren besorgt. Diese Motoren haben wegen der hohen Untersetzung ein gewaltiges Drehmoment. Ihre physikalischen Abmessungen sind etwa 12cm bei einem Durchmesser von 7cm.
Betreff der Elektronik: Wenn du die Schaltung und Platinen selber machst, kannst du die Motorregelung mit einem mega8 als Steuer- und PWM uC. verwenden. Der mega8 ist klein, preiswert und hat einen I2C-Bus. Ich würde an Motor eine Steuerreinheit setzen, das wird bei der Anzahl die du machst eine Kleinserienfertigung, zentral mit einer RN-Control von Roboterhardware.de verbunden. Durch die dezentrale Lösung ist jedes Element relativ klein und daher preiswert und mit geringeren Fehlerkomplexitäten da relativ simple zu implementieren.
Aber wie gesagt, das ist eine Geschmackssache
The.Tomac
12.10.2004, 16:37
hi, hellmut - danke f[r den tip, auf die Idee bin ich noch garnicht gekommen - scheibenHEBER motoren - Gute Idee
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.