ich hatte gestern Abend etwas Lust zum Tippen und hab mal diese Dokumentation geschrieben. Sie ist noch lange nicht vollständig, aber sagt mir bitte trotzdem, was ihr in diesem Dokument sehen/lesen wollt. Für konstruktive Kritik bin ich natülich immer offen
Für Anregungen und Tipps für die Steuerung an sich wäre ich natürlich auch dankbar.
Sehr schöne Dokumentation. Würde dir sehr gern bei dem Projekt helfen, kann aber leider nicht programieren und kenn mich mit der Elektronik auch nicht so gut aus. Aber wenn du sont mal Hilfe brauchts frag gerne nach.
Michael - ich kann nur sagen: saustark! Ich ärger mich schon länger mit Siku Control rum - hab mir auf AVRTiny 2313 auch meinen eigenen Empfänger gebaut. Aber die 4 Kanäle nerven tierisch... Werde mir auch mal die Teile besorgen. Weiter so! MiZu
@Mikromodellfan ist noch nicht perfekt. Zuckt öfters noch etwas komisch - irgendwo noch ein bug oder timing problem. Das Siku Protokoll ist eigentlich ganz einfach. Erst kommen 4 bit adresse (immer nur ein Bit gesetzt.) Dann 4 bit Schalter (die oberen 4) Dann kommen die Proportionalkanäle 7 bit bei zweien ist des 8. Bit für Blinker links bzw. Blinker rechts mißbraucht. Reihenfolge ist (soweit ich's noch im Kopf hab) Lenkung, Gas, Heckhydraulik, Kreuzknüppel auf/ab, Kreuzknüppel links/rechts. Und dann noch ne Prüfsumme (ist wenn ich mich recht entsinne einfach die 8 bit Summe der übertragenen Daten. Und das Paket wird nach einer vom Kanal abhängigen Pause wiederholt (damit sich zwei verschiedene nicht dauernd stören). Wenn er mal zuverlässig funzt kann ich ja nen thread darüber machen. Traum ist momentan noch Tanis Regler mit zu integrieren [Nur zum ätzen hab ich keine Lust ]
also, ich komm dann mal wieder zur Bluetooth-Fernsteuerung...
Ich hatte doch das Problem, dass nach ca. 2 - 3 Metern Schluss (Abbruch der Funkverbindung) ist. Naja, man sollte beim bauen darauf achten, dass die Antenne senkrecht von der Platine wegführt. Vorher lagen die Antennen direkt an der Platine an. Aus Fehlern lernt man
Ach ja, für die Blumen, da wird man ja verlegen...
Michael
PS: Eventuell kann ich auch mal ein Nachbau-Tutorial/HOWTO schreiben, wenn bedarf besteht.
@michael93: Hast Du Dir schon Gedanken zum Ansteuern von verschiedenen Modellen (Abwechselnd) gemacht? Wie würde das ablaufen? Das SPP unterstützt wahrscheinlich nur Punkt zu Punkt, oder?
also, die Module können nur eine Punk zu Punkt verbindung aufbauen. Eine Art Netzwerk ist nicht möglich. Man könnte aber (noch nicht implementiert) über das Menü sagen, dass man das Modell wechseln will. Dann sagt der Sender dem Modell: "Hey, mach den Motor aus und bleib genauso (Licht, Lenkung) wie vorher, ich disconnecte dich jetzt." Damit sind die Module frei und der Sender kann sich mit einem anderen Modell verbinden. Das ganze ist nicht besonders schnell, aber das muss es auch nicht sein, oder? Sonst könnte man in den Sender auch 2 Module einbauen.
Mehrere Modelle und Sender nebeneinander zu betreiben müsste auch ganz gut funktionieren, das kann ich aber kaum beeinflussen, da das die Module regeln.
Für Module hatte ich mir auch schon gedacht, andere Funkmodule zu nehmen (ZigBee, die können ein Netzwerk aufbauen, sind aber für die Modelle zu groß und damit die Module (für Licht, Ampeleln, Kran, feste Funktionsmodelle, etc.) und den Sender zu verbinden. Aber das ganze würde dann ein richtiges Monsterprojekt geben. Soviel Zeit hab ich leider nicht. Und irgendwie würde ich ja dann auch mit Kanonen auf Vögel schießen, oder?
Zum HOWTO: Ich denke, das werde ich erst schreiben, wenn ein gewisser Stand vorhanden ist, also mindestens Fahrfunktionen und Licht. Momentan traue ich nur Leuten mit etwas Erfahrung den Nachbau zu, die können sich alles aus den Daten (Code kann ich schicken) ablesen.
Guß, Michael
PS: Ich werd mal sehen, dass ich dieses WE weiterkomme (und was ich bis Jesingen schaffe, bin auf jeden Fall da)
EDIT: Das Doku-Pdf werde ich natürlich auch noch erweitern!
ich hab in letzter Zeit etwas weitergebaut: Das versenden der Daten geschieht nun Interrupt-gesteuert, d.h. er kann nebenher noch was anderes machen. Dasselbe soll noch mit dem Empfänger gemacht werden. Das wäre dann Version 0.2.
Dabei habe ich gemerkt, dass sich die Übertragung sehr schnell "verschluckt". Wenn man zwischen den Frames nicht mindestens 60 ms wartet, beginnt alles zu hakeln und es werden große Latenzen bemerkbar. Deshalb bleibt die Wiederholungsrate bei ca. 16-17 frames/sekunde. (Das ist gerade mal Infrarot-Standard) Ich tappe da noch sehr im dunkeln, vermute aber, dass es an den Modulen liegt. Wenn jemand eine andere Vermutung hat (oder so), bitte melden!!! Muss ich wohl ausprobieren...
Nachdem alles über Interrupts läuft, wird das Protokoll erweitert, sodass erstmal eine Art Empfangsbestätigung erfolgt. Diese wird so etwa alle 10 - 20 Frames gesendet werden. Darüber soll so eine Art "Status" übertragen werden, z.B. Akkuspannung, Modelltyp (Motorstrom wär n nettes Feature ) Dafür brauch man aber noch ein Display, um alles anzuzeigen. Dieses weigert sich momentan allerdings noch, überhaupt etwas anzuzeigen Momentan würde mir eine fertige Routine schon sehr helfen, es gibt aber leider kein vollständiges Demo in C für AVR's (Oder hab ich was übersehen?).
Seit Jesingen überlege ich auch noch, was ich in das Loch machen soll, wo früher die Antenne herauskam (hatte ich schon erwähnt, dass ich inzwischen das Sendergehäuse meines alten Graupner 47G verwende?). Schere hat da eine 10mm LED drin, aber da kann man bestimmt noch einen kleinen Gag einbauen (Anregungen wie immer an mich ) Apropo Jesingen: War super genial, freu mich schon aufs nächste Mal Seitdem steht für mich aber fest, dass ich ein Geländegängiges Fahrzeug bauen muss, so ein Omnibus kommt ssooooo schlecht durchs Gelände
Schöne Ferien (wenn ihr welche habt...), Michael
EDIT: Ich sehe gerade: Im Datenblatt der Module (BTM-112) auf der ersten Seite steht: "Support for up to seven slaves : SCO links,ACL links,Piconet<7>", sogar fett gedruckt, aber genauer wird nichts beschrieben, wie man zwischen den einzelnen Modulen wechseln kann, geschweige denn wie man ein piconetz aufbaut. Supi.
Tolle Sache! Dann braucht man nur noch ein Programm um die Modelle mittels Laptop zu steuern. Ich will schon länger mal ein Bluetooth Adapter an mein Bett klemmen um es dann mit dem Laptop hoch und runter zu fahren. Das Problem dabei ist eher dass ich nicht weiß wie ich die Bluetoothschnittstelle vom MAC anspreche. Naja.. Bluetooth ist schon doll.
"Sei kühn mit der Aufstellung spekulativer Hypothesen, aber kritisiere und prüfe sie dann erbarmungslos!"
hab ja schon länger nichts mehr von mir hören lassen, also mal ein kleines Update:
Im Sender bin ich inzwischen auf einen größeren Mikrocontroller umgestiegen, um den Touchscreen direkt ansteuern zu können. Am Display selbst muss ich noch etwas fummeln, es hat kurz getan und weigert sich jetzt. Ich hab diverse Platinen gelayoutet: Den Sender komplett neu mit Display und allem, am µC ist kein einziger Pin unbelegt. Für den Empfänger hab ich jetzt zwei Platinen gemacht: Eine mit 8 Lichtkanälen und 2 Proportionalkanälen (ok, mit bösen Tricks auf 4 oder 5 erweiterbar) und eine mit 6 Lichtkanälen und 7 Proportionalkanälen (auch erweiterbar, auf 10 Stück). Für letzteren habe ich schon Code für die Ansteuerung der Servos geschrieben, muss aber noch in den Gesamtcode eingearbeitet werden. Beide Empfangsplatinen sin nur etwas größer als das Bluetoothmodul, es passt knapp auf die Rückseite.
Momentan muss ich leider darauf warten, dass ich die Platinen bekomme, erst dann kann man vernünftig testen.
@VT_340:
per Laptop steuern finde ich eher unpraktisch, da die Tastatur nur digital ist und man mit der Maus den Nullpunkt (Gas und Lenkung auf Mitte) nie wieder findet. Ich könnte mir eher vorstellen, dass man so Sachen wie Servojustierung, Lightshowpogrammierung (wäre doch denkbar ) per PC machen kann. Da ich aber eine ziemliche Abneigung gegenüber Windows habe, gäbe es nur Linux-Tools, und wer von hier hat Linux? Mac lass ich mal außen vor, kann sich eh keiner leisten und ist n bisschen naja, aber jetzt keine OS-Diskussion bitte).
Genießt eure Sommerferien, wenn ihr (noch) welche habt, Michael
ich hab heute den ganzen Tag kräftig geschafft, und zwar an den Platinen. Vergesst die Daten vom 9.9. wieder, war ne Schnapsidee Es geht hier NUR UM HARDWARE, d.h. es existiert noch nicht zu jedem Hardware-"Feature" eine Software-Routine, um diese nutzen zu können. Ich liste einfach mal auf, was dabei rausgekommen ist. Manche Platinen hab ich auch nur einfach so überarbeitet, dass ich sie irgendwo ätzen lassen kann (Leiterbahnabstände und breiten, Bohrdurchmesser, usw.). (Die Punkte müssen leider rein, sonst geht meine Formatierung verloren)
Senderplatine, Version 4: . - ATMega32L, alle PIN's belegt, bei folgenden Versionen evtl. Größerer Chip oder zusätzlicher ATMega8L oder so . - Anschlüsse für EA DOGM 128x64 Grafik-Display mit Touchfolie (und bei Bedarf einfarbige Beleuchtung, per SW dimm/ein/ausschaltbar . - Spannungswandler (DC-DC) (2 Lipos 7,4V auf 3,3V) . - Akkuspannungsmessgerät . - 2 Kreuzknüppel + 1 Poti oder eben 1 Kreuzknüppel und 3 Potis usw. . - ISP-Header (für Software-Updates) . - 2x6 Schalter = 12 Eingänge für Schalter/Taster . - Bluetoothmodul wird auf die Platine gelötet . - Anschlüsse für TWI-Bus . - Anschlüsse für Status-LED's des Bluetoothmoduls . - 78x50mm (Breite x Höhe), kaum größer als das Display
Empfängerplatine, Version 4 (kompatibel zu Sender Version 4): . - ATMega8L . - Akkuspannungsmessung . - 7 Schaltausgänge (über Transistor gegen Masse, also, VCC-LED-Transistor-GND, bis zu 1Ampere pro Kanal, gesamt 1-2A) . - Anschlüsse für TWI-Bus . - ISP-Header (für Software-Updates) . - Proportionalkanäle: . . - Hardware-PWM (keine Servozucker): 2 stk. . . - SW-PWM (eventuell kleine Zucker, mal sehen): 7 stk. (mit Ausgängen von HW-PWM) . . - SW-PWM ohne TWI-Bus: 9 stk. (mit Ausgängen von HW-PWM) . . - SW-PWM ohne TWI-Bus und Pins vom ISP-Header-mitbenutzen: 12 stk. . . - Anm: sollte normal reichen . - Bluetoothmodul auf Rückseite gelötet . - etwa 24x17mm (Länge x Breite), voraussichtlich 3-4mm dick, bei dünnerem Platinenbasismaterial (Folie, wie Georg hat) auch weniger. Nur etwas größer als das Bluetoothmodul!!!
Und einen Kleinen Fahrtregler für den TWI-Bus habe ich entworfen (Regler Version 1) . - auf Basis des Tanis-Reglers . - BC807 und BC817 . - ATTiny13 . - bekommt Daten per Bus, nicht per PWM = genauer und einfacher (für mich) . - etwa 1 A Motorstrom . - Ausgänge für Brems- und Rückfahrlicht ( bis ges. max. 40 mA, glaub ich, steht im Datenblatt des µC's) . - etwa 9x10mm (Dicke?) klein, der von georg ist kleiner, aber kleinere AVR's krieg ich nicht (gibts überhaupt welche?)
Soddele, jetzt muss ich die "Nurnoch" herstellen lassen. Hat von euch jemand zufällig eine Eagle-Version, mit der man die Fläche einer Europaplatine (160x100mm) nutzen kann? hier: http://www.haka-lp.de/html/zwillingsangebot.html gibts ein tolles Angebot, allerdings muss da schon alles in einer Eagle-Datei liegen (also die Verschieden Layouts), kann mir das jemand machen? Bitte per PM melden!
Ich hoffe, ich kann in Karlsruhe nächstes Jahr was tolles präsentieren. Ist zwar recht weit, aber irgendwie wirds schon gehen, und wenn ich mitm Zug fahr!
das liest sich schon ganz gut und sollte wirklich für fast jedes Projekt reichen... Die fexible Platine würde ich an deiner Stelle erstmal nicht einplanen, erstens ist das zum Bestücken nervig und zweitens extrem teuer. Ausserdem sollten 0,5mm weniger Dicke bei dem Format keinen Unterschied machen.
Für den Regler würde ich FETs nehmen, BC Kombi hat extrem viel Spannungsabfall, da bleibt am Motor keine 2V bei leerer Lipo...
georg
Der Kluge lernt aus allem und von jedem, der Normale aus seinen Erfahrungen und der Dumme weiß alles besser. -Sokrates-