Hardware:![]() |
Das Schaltbild zeigt den prinzipiellen Aufbau der Schaltung für die Steuerplatine. Entstörmaßnahmen für den Motor sind nicht eingezeichnet, sie befinden sich am Motor. Auch eine ISP-Steckverbindung wurde nicht eingezeichnet, es wird ein Tiny15L im DIL8-Gehäuse verwendet, da kann mittels "Brennzange" programmiert werden. Denn das Programm muss an das jeweilige Servo angepasst werden, was die Möglichkeit des Programmupdates am fertigen Servo voraussetzt. Die Schaltung besteht im Wesentlichen aus dem AVR-Mikrocontroller AT-Tiny15 und der H-Brücke, die mit dem Leistungs-Operationsverstärker L272M realisiert wird. Alternativ zum L272M können zwei IRF7389 als komplementäre MOSFET-H-Brücke eingesetzt werden, doch steigt dann der Aufwand beim Anfertigen der Platine, meine Platinenfräse ist zu grob für SMD-Strukturen. ![]() Rechts oben ist der Anschluss für Stromversorgung und Impuls zu sehen. Links sind die drei Anschlüsse für das Poti. Die Drähte von der Platinenunterseite gehen zum Motor. Ganz oben sieht man den aus Platzgründen hochkant aufgelöteten Keramik-Kondensator. Dieser hat im Gegensatz zum Schaltbild 470nF, denn davon habe ich genug vorrätig. |
![]() Der direkt an die IC-Pins 6 und 7 gelötete SMD-Widerstand 10k (Bildmitte) sitzt etwas schief. Ganz vorn sieht man einen Tantal-Elko 3,3µF im Doppelstock auf dem 470nF Keramik-C. Links und rechts davon sind 4-fach-Widerstände. Der Spannungsteiler ist dadurch etwas niederohmiger als geplant, aber ich hatte momentan keine einzelnen 10k-Chipwiderstände (steht schon auf der Bestelliste). |
![]() Oben ist der Tiny15, unten der L272M zu sehen. Am AVR sieht man gut die nachgebogenen Pins, die den Platzbedarf beim SMD-Löten (oder nennt man das "Häkeln"?) verringern. Die Testplatine passt in ein Servogehäuse rein, allerdings nur diagonal. Für waagerechten Einbau sind die Hülsen für die Schrauben im Weg. |
Da der L272 den Servomotor nicht bremst, wenn beide Brückenzweige gleichen Pegel haben, wurde eine Variante mit IRF7389 als Brücke entwickelt. Diese hat den Vorteil, dass sie den Motor in Zielposition durch Kurzschluss bremst.![]() |
![]() |
![]() ![]() Dies ist die AVR-Seite. Rechts oben ist der Anschluss vom Empfänger. Er erfolgt direkt an die übereinander angeordneten Kombination aus 470nF-Chipkondensator und 3,3µF-Tantalelko. Links wird das Poti angeschlossen. Ein Chipkondensator 100nF soll die Spannung vom Poti etwas entstören. Links oben sieht man den Reset-Widerstand 10k. Zum Programmupdate wird die übliche "Brennzange" von oben auf den Tiny15L aufgesteckt. Das ist auch der Grund, warum ein AVR im DIL-Gehäuse eingesetzt wurde. |
![]() |
![]() |
AVR-Software:Das Programm hat selbstlernenden Nullpunkt (Autoneutralscan). Das heißt, dass vor dem Einschalten der Stromversorgung der Sender eingeschaltet werden muss und dessen Steuerknüppel in Neutralstellung stehen müssen. Die ersten gültigen Impulse werden als Neutralstellung interpretiert und die Differenz zur Mittelstellung wird gespeichert. Diese Differenz wird dann als Offset zum internen Nullpunkt genutzt.Beim Einschalten, also während des Autoneutralscans wird das Servo in seine Neutralstellung gefahren, also in die Mitte zwischen den Endlagen. Ob diese 'Mitte' der mechanischen Mitte entspricht, ist von der Charakteristik des Potis abhängig. Bei linearen Potis sollte das der Fall sein. Das Programm verfügt über eine Impulsfehlererkennung. Werden fehlerhafte Impulse empfangen, so wird das Servo in Neutralstellung gefahren. Als Fehler gelten dabei sowohl Impulsbreitenfehler als auch Impulsabstandfehler. Weil die Poti-Charakteristik der Servos sehr unterschiedlich ist, kann mittels einer individuell erstellten Tabelle das Poti an das Programm angepasst werden. Diese Tabelle wird vom PC-WINDOWS-Programm "servotab1.exe" erstellt.
Das Nachlauf- und Bremsverhalten der Servos ist sehr unterschiedlich. Deshalb wurde der PWM-Zählumfang einstellbar gestaltet. Dabei sind Werte von 5 bis 250 erlaubt. |
PC-Software:Das Programm ist in VB6 geschrieben und benötigt zur Funktion die üblichen VB6-Runtime-Dateien.Es hat als Oberfläche drei Karteikarten. |
![]() |
![]() |
![]() |
![]() Im Temp-Ordner des Rechners wird die Datei 'Servotab.ini' angelegt, in der die Grundeinstellungen des Programms gespeichert sind. In jedem vom Programm genutzten Zielordner wird die Datei 'Servotab.cfg' angelegt, in der die zuletzt verwendeten Einstellungen gespeichert sind. Somit werden bei jedem Programmaufruf die zuletzt benutzten Ordner und Einstellungen wiederhergestellt. |
Nachtrag...![]() Vielen Dank nochmal an Heinz... |