PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I2C Servo Switch



voidpointer
18.02.2005, 10:48
Hallo,

wer hat Interesse, an folgendem Projekt?

Es soll ein Servocontroller für max. 6 Servos gebaut werden, der an einen RC-Empfänger angeschlossen wird. Über einen RC-Kanal kann zwischen manuellem und autonomen Modus umgeschaltet werden. Im manuellen Modus sendet der Controller auf Anfrage die aktuellen Servo-Positionen über den I2C-Bus. Im autonomen Modus nimmt der Controller Steuerbefehle über den I2C-Bus entgegen und stellt die Servos. Der Controller arbeitet dabei als Slave. Mit der Firmware sind verschiedene Verhaltensweisen realisierbar; beispielsweise ein Fail-Safe-Modus bei Ausfall des RC-Empfangs.

Im Anhang seht Ihr eine Schaltung mit zugehörigem Board. Es handelt sich um Eagle-Dateien. Der Switch soll an den Akku-Anschluss eines RC-Empfängers angeschlossen werden. Über den dritten Pin dieses Anschlusses bekommt der Controller die Steuersignale für die Servos. Diese werden mit einem OPV verstärkt und im ATMega8 weiterverarbeitet. Ich habe diese Schaltung bereits erfolgreich mit einem Graupner-Empfänger getestet - ob andere Empfänger damit auch funktionieren, müsste man testen.

Ich werde das Board auf jeden Fall bauen. Es wäre aber für mich vorteilhaft, wenn auch andere Leute Interesse an der Schaltung hätten, und zwar aus folgenden Gründen:
- Kosteneinsparung bei der Platinenbestellung
- jemand von Euch findet noch einen Fehler, den ich nicht entdeckt habe
- Möglichkeit der gemeinsamen Softwareentwicklung

Ich bin auch offen für Verbesserungsvorschläge, jedoch möchte ich nichts mehr hinzufügen - höchstens wegnehmen, damit das Format von 32 x 20 mm nicht gesprengt wird. Anstelle von I2C wäre auch eine serielle Variante denkbar.

Gruß, Achim.

PicNick
18.02.2005, 10:56
Versteh ich das richtig: im manuellen Mode steuert die RC-Anlage, die Servo-Positionen können dann abgefragt werden
autonom funzt alles über den Bus oder was es halt wird.
Und umschalten tut die RC-anlage
isses so ?

patti16
18.02.2005, 11:02
Hi

es hört sich schon interresant an und ich würde auch gerne mit machen aber das problem ist das ich nicht richitg programmieren kann, im moment keine Geld habe da ich noch in die Schule gehe und die verbesserungs vorschläge könnte ich schon helfen und mit den fehler suche das wäre alles kein problem nur das mit dem geld und mit dem programmieren ist mein grösstes problem.


hast du noch mehr infos von deinen projekten auf deiner homepage und von diesem projekt??

gruß
patrick

voidpointer
18.02.2005, 11:22
Versteh ich das richtig: im manuellen Mode steuert die RC-Anlage, die Servo-Positionen können dann abgefragt werden
autonom funzt alles über den Bus oder was es halt wird.
Und umschalten tut die RC-anlage
isses so ?

Genau so. Am Sender habe ich einen Schalter, der schaltet Kanal 6. Hier gibt es 3 Schalterstellungen: -100%, 0, +100%. Sofern der Controller das Signal empfängt, wertet er den Schaltkanal aus und entscheidet, in welchen Modus er geht. Es ist auch ein teilautonomer Modus denkbar.

Die Kanalnummer sowie andere Config-Daten wie I2C-Adresse müsste man in der Software ablegen. Zum Programmieren habe ich einen 6poligen ISP-Anschluss vorgesehen, der allerdings ein Rastermaß von 1.27 mm hat. Die Buchsen müsste man sich selbst bauen - z.B. aus entspr. Steckerleisten.

Es ist klar, dass man dafür SMD löten muss.

Auf meiner Homepage habe ich das Projekt noch nicht beschrieben, aber es ist ein Teil meines Flobo-Roboters. Vielleicht komme ich am Wochenende dazu.

Achim.

PicNick
18.02.2005, 12:22
Könnte zweckmäßig sein, die I2C Line mit einer Interrupt-Leitung zu erweitern (als Signal an den Main-Processor, daß sich was geändert hat),
sonst muß der die ganze Zeit pollen.
Die serielle Variante würd ich garnicht vorsehen, das ist nur ein Kommunikationsprotokoll dazu, und einen I2C Bus wird es ja wohl ziemlich sicher sowieso geben, wegen der Sensorik. Und irgendwann wirst du ja die Uart vom Maincontroller für eine Telemetrie verwenden wollen, da bin ich sicher, und dann bist du froh, wenn sie noch frei ist für irgendwelche Schweinereien.

voidpointer
18.02.2005, 17:48
Ja das stimmt. Serielle Schnittstellen hat man immer zu wenig. Mein Gumstix-Board hat 3 und die sind alle schon verplant.

Über die Interrupt-Leitung muss ich nochmal nachdenken. Mir würde sie nichts nützen, denn wenn das Mainboard eh nichts zu tun hat, kann es auch pollen. Bei anderen Anwendung wäre sie vielleicht sinnvoll.

PicNick
18.02.2005, 19:00
Wie du richtig sagst, es kommt drauf an.
JETZT hat er nix besseres zu tun.
Aber wenn das funzt, wirst du ihn in einem Jahr wahrscheinlich das Ruhrgebiet austriangulieren lassen, der Hunger kommt beim Essen