Hallo Mirco,
Ich denke, vom Timing her ist da I2C pflegeleichter (trotz aller bekannter Nachteile). Auch wenn es bei Int-Programmierung und mit einem 4017er auch recht gut funktioniert setze ich da auf Kompatibilität.ich weiss nur noch nicht, ob ich die regler per I2C oder per PWM
ansteuern soll.
Das weißt Du bei PPM ebenso wenig. Du gibst eine Adresse vor und schreibst danach den Wert, also bspw. 0x52 und 0x64 (Motor 1 und 100 digits Gas). Oder hab ich Dich falsch verstanden?Wie weiss ich denn wie hoch die maximale Drezahl der Motoren ist, wenn ich per I2C Drezahlen vorgebe?
Ich werde die Drehzahldifferenz symmetrisch verteilen, d.h. ein Motor wird um die Hälfte der Differenz erhöht, der andere reduziert. Der Gesamtauftrieb bleibt dadurch (annähernd) konstant.Meine Ausbalancierregelung regelt deshalb auch nur die Motorendrehzahlen auf der zu hohen Seite runter. So kann ich auch bei Vollgas die Regelung nutzen.
Die Summer der rechtsdrehenden und der linksdrehenden Momente muß sich ohne Gier aufheben, d.h. beim Gieren wird die Differenz ebenfalls auf die rechts- und linksdrehenden Motoren aufgeteilt. Die Summe muß immer passen.Welches Verhältnis benutzt du um den Kopter zu drehen ohne das er einen Höhenunterschied macht? Kann man Drehwert - rechte + linke Mototren rechnen?
Entweder greifst Du das Summensignal direkt innerhalb des Rx ab oder benutzt einen PPM<>Summensignalwandler. Ich würde die erste Variante wählen und das Signal mit dem Oszi suchen. Meist ist dort auch ein 4017 o.ä. verbaut...Ich bin auf die Bascom Libary angewiesen um die Fernsteuerungssignale einzulesen, da mir für die 6 Kanäle die Timer fehlen, es selber errechnen zu lassen. Habe leider den Falschen Empfänger gekauft (Kein Summensignal)
In C würde ich hier lediglich den Prescaler und das Capt-Register im eigenen Source entspr. ändern. Und was heißt hier, "das trau ich mich nicht"?! Sind wir hier im Warmduschforum?!Ich hoffe -50 bis +50 reichen. Ich glaube die Lib hat Assemler Werte.
Das ist zu lange her, wo ich das mal gelernt habe. Da traue ich mich nicht ran. Ich denke die Werte sind deshalb so klein, da der Atmel mit 18 Mhz arbeitet. Bei 8 Mhz würde ich auch einen Regelbereich von 256 haben.
Gruß
Rainer
Lesezeichen