-
Im RN-Shop gibt es ein Mega2560-Board
Hier ein Mega128-Board
http://cgi.ebay.de/AVR-Modul-ATmega1...item3ca741f429
Das Angebot ist aber sicher noch viel größer.
Die Motoren mit schönen Getriebe und Positionssensoren wirst du hier dann hoffentlich vorstellen. Da gibt es sicher viele Interessenten.
-
4017 ?¿ ... möcht der Gute n CMOS-Grab bauen?
Man nehme I-Träger als Beinsegmente und 2,2kw Synchonmotoren
als Antriebe um den Schaltschrank bewegen zu können :)
nee, 3 Servos für die Beinmuskulatur heißt 3-mal PWM-Erzeugung,
nett wär dann noch 3-mal Stromsensor in der Versorgungsspannung der
Servos um die "Belastung" messen zu können, optional noch nen Taster
an der Fußspitze um auch wirklich den Bodenkontakt zu registrieren,
das macht dann so in etwa 3x AD-Kanal input, 1x digital input, 3x pwm-digital Output ... n Tiny 2313 kann das schon wuppen von den IOs her.
Dann das Netzwerk, es würde sich I2C anbieten, schnell genug sollt das sein,
es werden ja "nur" die Kommandos übertragen:
Bein 1 anheben auf 5cm über Bodenniveau, drehen 30° nach vorne
oder so ähnlich. kann man noch ausfeilen ... die Befehle könnte man
von der Zeichenfolge her straffen auf 5-6 Bytes + Adresse, das kann I2C
denk ich schon ganz gut.
Die Berechnung wo welches Bein sein soll und welche Aktion als Nächstes
ansteht ist ja dann Aufgabe des Gehirns, da ist halt die Frage nach der
gewünschten Rechenleistung. IOs braucht das relativ wenig, die Beincontroller hängen ja am 2-wire bus.
-
das mit den bbodenkontaktsensoren ist ne echt gute idee, aber dasmit dem spannungssensoren ist ja eigentlich nur mehr oder weniger ne spielerei oder bringt mit das auch für die steuerung n richtigen nutzen?
also das mit den position und bodenkontaktsensoren, sollten die zum "gehirn" gehen und der errechnet das nötige impuls das er zu den kleinen mikros zu den beinen schickt, der diesen impuls dann einfach nur ausführt um das bein an gewünschte position zu bewegen, oder sollten die sensoren zum kleinen mikro führen und er berrechnet die nötige aktion um den soll wert vom grossen hirn zu erreichen?
denn um mal weiter zu spinnen, (als wichtige info für euch vll), hatte ich noch vor den roboter über funk mit dem pc zu steuern, und n kamerabild vom roboter an den pc zurückschicken lassen, diese aufgabe könnte ja auch gut der grosse mikro übernehmen
greez
-
auf jeden fall ist ein motorstromsensor hilfreich!! wenn der Servo blockiert hast du abgesehen vom motorstrom keine chance das zu registrieren, da der servo selbst nichts zurück meldet...
-
Beim Tiny2313 wird es mit den AD-Eingängen schwierig.
-
Zumindest die Rückmeldung über die Postion sollte zum "kleinen" µC fürs Bein gehen. Der zentrale µC braucht dann nur noch die Sollwerte zu den Beinen Schicken und man hat nicht mehr so viel Daten, die hin und her geschickt werden müssen. Bei Sensoren für die Kraft hat man ein bischen die Wahl. Da hat beides (zur Zentrale oder zum Bein) Vorteile, wobei ich auch hier eher der µC fürs Bein naheliegender ist.
Ist ist auch nicht klar das man als Zentralen µC einen mega128 braucht. Da könnte auch ein Mega644 oder so reichen: man braucht da kaum so viele Ports mehr.
Die Lösung mit Servos ist vom Aufbau deutlich einfacher, denn da hat man schon je eine Regelschleife für die Position drin. Allerdings ist die Mechanische Belastung für die Servos recht groß.
Der 4017 wäre zusammen mit Servos eine Idee um mit wenig (2) IO Pins bis zu 10 Servos steuern könnte. Jeder Zählerausgang geht an einen Servo, und ein PWM ausgang steuert den Zähleingang des 4017. Da ist dann wie im RC Empfänger die Umsetzung vom Summensignal in die Einzelpulse.
-
okay, also so langsam bildet sich schon ein recht konkretes bild in meinem kopf, ich denke das ich von den servos ganz weggehe, ich sehe da mit "normalen" motoren mehr spielraum, ebenso denke ich das es sinnvoll ist pro bein ain mikro zu nutzen.
eine frage ist mir jetzt ja allerdings schon fast peinlich :-D
wofür sind denn die AD Eingänge da? ^^
greez
-
Die AD Eingänge wandeln eine Analoge Spannung in einen Digitalen Wert um. Damit kann man z.B. sagen 5V am Eingang ergibt einen Wert von 1024 (das wären 10bit). Bei 0V ist der Wert 0.
MfG Hannes
-
ahso, ja klar ^^, und wovür sollte ich diese brauchen?
-
also du solltest schon ein gewisses Grundwissen haben, wenn du so etwas komplexes vorhast. lies dir doch mal ein paar tutorials über Avrs durch. Ich weis ja nicht welche programmiersprache geplant ist, aber das avr-gcc tutorial von mikrocontroller.net ist sehr gut.