Kleiner Lageregler

IMG 20250822 232234548 HDR AE
Ich hatte ja vor einiger Zeit etwas über meinen X-Tiefenregler geschrieben. Dieser besteht im wesentlichen aus fertigen Breakout Boards vom Chinesen und einer selbstentworfenen Trägerplatine. Es war nun an der Zeit, etwas kleineres zu basteln, dass auch in kleine Boote noch passt. Leider geht das nur mit erheblichen Einschränkungen, herausgekommen ist bei den Überlegungen ein reiner Lageregler. Basierend auf einem 8poligen ATTiny85 für 1,85 bei Reichelt und einem ADXL335 zum Preis ab 3 Euro bei Ali oder 5 Euro bei Amazon lässt sich da schon was brauchbares basteln.
Aufgrund der eingeschränkten Möglichkeiten des Prozessors (und natürlich auch des Programmierers!) musste da einiges getrickst werden um das Servo zitterfrei zu bekommen.
Gestartet habe ich mit einem Sketch aus dem Internet, mit dem ein einfacher X-Mischer realisiert wurde. Somit hatte ich schon Abfrageroutinen und Ausgaberoutinen für je einen Servoein- und Ausgang. Ersterer wurde mit Interrupts realisiert, das war wichtig, um späteres Zittern im Servo zu vermeiden. Als Erstes wurde Eingang mit Ausgang in der Software miteinander verbunden, das gelesene Signal wurde perfekt durchgeschliffen. Nun wurde ein Inklinometer und ein Poti angebaut. Im X-Tiefenregler habe ich ein Inklinometer auf I2C Basis, das einfach ausgelesen werden kann. Das ging hier nicht, da ich dafür zwei Datenleitungen und eine zeitintensive Abfrage gebraucht hätte. Beides war keine gute Idee. So wie auch das analoge Inklinometer, aber anders gehts nun mal nicht. Bei den käuflichen Varianten werden zum Teil Heissluftinklinometer benutzt, aber die sind schlecht zu beschaffen und/oder teuer. Das Inklinometer wird beim Start eingelesen, als Offset abgespeichert, während des Programmlaufs erneut eingelesen und mit dem aufbereiteten Wert des Potis verstärkt. Später wird der Offset im Programm nochmal abgezogen, somit wird die Lage des Lagereglers beim Start als waagerecht angenommen. Das 10 Gang Poti ist wieder mit elektronischer Mittelstellung versehen. Somit kann ich die Richtung des Servos umpolen und habe für jede Seite 5 Umdrehungen für die Einstellung der Verstärkung übrig. Nachteil hier (ich sehe es als Vorteil)ist, dass das Boot beim einschalten waagerecht stehen muss. Nichts wird irgendwo abgespeichert.

IMG 20250807 173304010 HDR AE


Leider funktionierte das nur eingeschränkt. Das Inklinometer musste stark verstärkt werden, wobei das Servo zitterte wie irre. Klar, auch das Rauschen wird verstärkt. Eine einfache Beruhigung über Mittelwert machte die Sache nur viiiiel langsamer, aber das Servo zitterte immer noch indiskutabel stark. Erste Abhilfe brachte hier ein Kalman Filter, der das Servo stark beruhigte ohne es zu langsam zu machen. Allerdings gab es immer noch Zucken, aber kein Zittern mehr. Das brachte mich auf die Idee, dass die letzte Macke eventuell etwas mit der Art der Ausgabe des Servoimpulses zu tun haben könnte. Die Lösung des Problems lag in einer sehr kurzen loop Schleife und in händischer Konstruktion des Ausgangssignals mit nichtblockierenden micros anstatt delay oder der Servo.h Library.
Das Servo zuckt kaum wahrnehmbar, wird auch nicht warm und dennoch ist eine hohe Verstärkung einstellbar.

Screenshot 2025 08 09 125535


Der nächste Schritt ist ein ausgiebiger Test in Ralf (Nussecke) Schmitz' XXIII. Das wird gerade von labberig auf anständig umgebaut. Das alte Technikgerüst und die unzuverlässigen Tauchkomponenten wurde rausgeworfen und ersetzt. Ebenso musste der viel zu hoch drehende Motor mit frei schwingender 3mm Welle einem sparsamen Bühler mit doppelten Kugellagern und einer anständigen (Danke, Guido!!!) Edelstahlschraube weichen.
In der Zwischenzeit habe ich auch eine kleine Platine entworfen, auf deren Rückseite das Inklinometer als besagtes fertiges Breakoutboard montiert wird. Leider lohnt es sich nicht, eine gemeinsame Platine für den Sensor und Attiny zu machen. Der Sensor als einzelnes Bauteil ist deutlich teurer als ein Breakoutboard vom Chinamann.

Abwarten...

Wir nutzen Cookies auf unserer Website. Einige von ihnen sind essenziell für den Betrieb der Seite, während andere uns helfen, diese Website und die Nutzererfahrung zu verbessern (Tracking Cookies). Sie können selbst entscheiden, ob Sie die Cookies zulassen möchten. Bitte beachten Sie, dass bei einer Ablehnung womöglich nicht mehr alle Funktionalitäten der Seite zur Verfügung stehen.