Steuerung der flatternden Flügel (Angry Bird)

 

 

 

Mein Angry Bird sollte flatternde Flügel bekommen, die ich über die Fernbedienung ein- und ausschalten konnte. Des Weiteren wollte ich die Flattergeschwindigkeit regeln können. Alles zusammen sollte auch noch über einen einzigen RC-Kanal laufen. Ich benutzte hierfür einen ATTiny 45, der einfach zwischen einen freien RC-Empfängerausgang und dem Flatterservo (HXT900) gesteckt wird.

 

Der Aufbau:

Der fertige Schaltplan ist ausgesprochen einfach: Außer dem Attiny selbst, werden nur ein Kondensator und evt. Stiftleisten für den Anschluss benötigt. Alternativ zu den Stiftleisten kann man auch ein Servo-Verlängerungskabel in der Mitte durchschneiden und die Kabel direkt an den Attiny (oder dessen Fassung) löten.

 

Der Programm-Code:

Mit meinen spärlichen Programmierkenntnissen bastelte ich mir dann diesen Bascom-Code zusammen:

Verlangt bitte nicht, dass ich jede Code-Zeile einzeln erkläre, ich versteh es auch kaum und bin immer wieder verwundert, wenn's dann doch funktioniert :-)

 

Zur Funktion:

Je nach Stellung des RC-Kanals reagieren die Flügel mit folgender Reaktion:

 

Bereich ca. 0-25 Prozent:
Flügel stehen in Neutralstellung. Diese Stellung wird für Start oder Landung benötigt.

Bereich ca. 25-50 Prozent:
Flügel bleiben in der Stellung stehen, wo sie zuletzt waren. Das heißt: War der RC-Kanal gerade im Bereich 0-25 Prozent, bleiben die Flügel nach wie vor in Neutralstellung. War der RC-Kanal gerade über 50 Prozent, bleiben die Flügel in der Stellung, wo sie in dem Moment waren, als der RC-Kanal unter die 50 Prozent geschaltet wurde.

Bereich ca. 50-100 Prozent:
Das Servo fängt langsam an, von einer Seite zur anderen zu fahren und die Flügel fangen an zu flattern. Die Geschwindigkeit erhöht sich, je weiter der RC-Kanal Richtung 100 Prozent genommen wird.

 

Fällt der RC-Kanal (aus welchen Gründen auch immer) aus, resettet sich der Attiny nach ca. 1 Sekunde und bringt die Flügel in Neutralstellung.

Wichtig: Die Neutralstellung kann nur im Code selbst geändert werden. Das heißt: Beim Nachbau muss zunächst das Flatterservo mit angeschlossenem Attiny in die Neutralstellung gebracht werden (Bereich 0-25 Prozent) und danach erst die Schubstangen auf richtige Länge zuschneiden und montieren (ein Trimmen des Servos ist NICHT möglich).
Des Weiteren verarbeitet das Programm RC-Signale nur bis etwa 2ms Länge. Wird das überschritten, gehen die Flügel wieder in Neutralstellung. Manche Fernsteueranlagen überschreiten diese Grenze. In diesem Fall sollte man den entsprechenden RC-Kanal mittels Dual Rate oder Servowegsbegrenzung etwas reduzieren. 
Mit der Version 2 des Bascomcodes wurde das Problem mit Signalen über 2ms gelöst, nun sollte es keine Probleme mehr damit geben.

 

Die Fernbedienung:

Ich habe bei meiner Fernsteuerung den entsprechenden RC-Kanal auf ein Poti gelegt. So kann ich stufenlos die Geschwindigkeit regeln. Des Weiteren habe ich noch einen (leicht erreichbaren) Schalter der Fernbedienung zum Poti dazu gemixt. Wird dieser Schalter umgelegt, geht der RC-Kanal unabhängig vom Poti unter 25 Prozent. Dadurch ist es schnell möglich, die Flügel in Neutralposition zu bringen. Dies ist z.B. dann notwendig, wenn man mal wieder unerwartet abgestützt ist und das Flattern schnell beenden muss :-)


 

Home