(Modellbau-)Empfänger abfr. und an Servo ausg. via Interrup

Gast #8166
Lesenswert?

Hier ein nützliches Programm zum Auslesen eines 
(Modellbau-)Empfängersignals via Timer-Capture und Ausgabe des 
gemessenen Wertes an ein Servo. Diese Funktionen sind 
Interrupt-gesteuert!

Zusätzlich erfolgt die Ausgabe des gemessenen Wertes an die Serielle 
Schnittstelle als Hex-Zahl.

Das Programm ist für einen 4433 mit 4Mhz geschrieben. Ein Kanal des 
Emfängers wird an PIN 14 (ICP) angeschlossen. Das Servo kommt an einen 
Pin von Port D.

Im Moment wird der gemessene Wert 1:1 auf das Servo gegeben. an der 
gekennzeichneten Stelle in 'main' kann aber beliebig gemischt, geregelt 
etc. werden ...

Bitte gebt Feedback, ob sowas nützlich ist ...

UBoot-Stocki
Angehängte Dateien:
Gast #8179
Lesenswert?

Du hats gefragt, ob interesse besteht: auf jeden fall!
Ich wollte eigentlich genau das gleiche machen, ein programm, welches
ein PWM signal für rc-motorstellen generiert. aber da hab ich grad
deins gefunden, und mal angucken schadet ja nie ;-). aber bisher läufts
nicht so richtig auf meinem mega8 an den ich mal schnell einen
empfänger und nen servo geschustert hab.
naja, ich wühl mich erstmal durch die programmstruktur.
Tschö
Matthias
Gast #8181
Lesenswert?

Hi,

auf speziellen Wunsch ;-) anbei also meine aktuellste Variante des
Servo-Programms. Ich verwende das Programm zum Steuern eines
Modell-Ubootes. Drei Kanäle eines Empfängers werden über den Controller
auf 4 Servos gemischt. Diese Aufgabe übernimmt ein
ATTiny26L-Controller, der für diese Aufgabe besonders geeignet ist.
Dieser Baustein besitzt eine "Pin Change Interrupt" auf 11 Pins. Kein
anderer Atmel-Controller kann das (Siehe Seite 36 des Datenblatts
http://www.atmel.com/dyn/resources/prod_documents/doc1477.pdf). Hoffe
mal, dass die Dokumentation des Programms ausreicht. Fragen bitte hier
im Forum - Mails bringen niemand weiter ...

Gruß

UBoot-Stocki
Angehängte Dateien:
Gast #8183
Lesenswert?

Ok, Ok,

was ich damit meinte: Kein Chip wie z.B. der Mega8 oder so (also mit
weniger als 40 Pins) kann das. Ich weiss, der Tiny15 hat auch
Pin-Change Interrupt - da reichen aber die Pins nicht. Drei Eingänge, 4
Ausgänge puls Vcc und Masse macht 9 ... Er hat aber nur 8 Pins.

Daher kam für mich nur der Tiny26 in Frage. Finde dass das ein ganz
praktischer Baustein ist. Obendrein benötigt er keinen Quarz. In meinem
Boot ist echt nur der Chip drin und ein 5Volt Regler, da das BEC des
Fahrtreglers die 4 Servos nicht packte ...

Gruß

UBoot-Stocki
Gast #8186
Lesenswert?

Hier iss Feedback..
ich habe leider keinen Tiny 26, sondern nur einen Mega8.
Ich will die Empfängersignale nacheinander an einem Pin auflaufen
lassen, (Layout war schon fertig) wann handlest du die Auswertung? in
der Pause zwischen dem letzten Kanalimpuls und dem
Start/Synchronimpuls, oder machst Du nach jedem Paket den nächsten
Kanal?
Gruß
AxelR.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren