Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:bugger

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
project:bugger [2024-01-02 17:58] chrisproject:bugger [2024-03-09 00:16] (aktuell) chris
Zeile 23: Zeile 23:
   * Zusammenbau in etwa einer Stunde erledigt.   * Zusammenbau in etwa einer Stunde erledigt.
   * Erster Test: zwei 1.5V-Batterien lassen das Gerät schon mal vorwärts rollen.   * Erster Test: zwei 1.5V-Batterien lassen das Gerät schon mal vorwärts rollen.
-  * Zweiter Test: mit einem (kleinen) 12V-Akku (Nennspannung der beiden Getriebemotoren) zischt das Gerät züegig ab.+  * Zweiter Test: mit einem (kleinen) 12V-Akku (Nennspannung der beiden Getriebemotoren) zischt das Gerät zügig ab.
   * Caveat: Die beiden Motoren müssen antiparallel geschaltet werden, sonst dreht das Gerät auf der Stelle.   * Caveat: Die beiden Motoren müssen antiparallel geschaltet werden, sonst dreht das Gerät auf der Stelle.
  
Zeile 31: Zeile 31:
   * der Empfänger benötigt 5V. Ein einstellbarer Step-Down-Wandler erzeugt diese aus der Akkuspannung.   * der Empfänger benötigt 5V. Ein einstellbarer Step-Down-Wandler erzeugt diese aus der Akkuspannung.
   * die Fernbedienung hat fünf Tasten. Vier Tasten steuern je einen Pin am Empfänger. Die 5. Taste steuert alle Pins gemeinsam.   * die Fernbedienung hat fünf Tasten. Vier Tasten steuern je einen Pin am Empfänger. Die 5. Taste steuert alle Pins gemeinsam.
-  * Für jeden Motor gibt es einen NPN-Leistungstransistor KD501 mit einem 2Nxxxx in Darlingtonschaltung plus 1N4007 als Freilaufdiode. Je ein Kanal der Fernbedienung steuert einen Transistor.+  * Für jeden Motor gibt es einen NPN-Leistungstransistor KD501 von Tesla mit einem 2N2218 in Darlingtonschaltung plus 1N4007 als Freilaufdiode. Je ein Kanal der Fernbedienung steuert einen Transistor.
   * Alle Teile werden mit breiten Gummibändern auf dem Chassis befestigt, das geht ohne schrauben und lässt sich schnell ändern. Wago-Klemmen sind hier ebenfalls sehr praktisch.   * Alle Teile werden mit breiten Gummibändern auf dem Chassis befestigt, das geht ohne schrauben und lässt sich schnell ändern. Wago-Klemmen sind hier ebenfalls sehr praktisch.
   * Test: mit der Fernbedienung auf den IR-Empfänger zielen und drücken. Läuft und lässt sich lenken.   * Test: mit der Fernbedienung auf den IR-Empfänger zielen und drücken. Läuft und lässt sich lenken.
Zeile 59: Zeile 59:
  
   * per SSH auf dem Pi einloggen   * per SSH auf dem Pi einloggen
 +    * Das Script "connectbot" holt die Verbindungsparameter aus der API und stellt einen SSH-Connect mit X11-Forwarding her.
   * ein Shell-Script steuert das Terminal auf "raw" und lässt auf die vi-Cursor-Tasten hin die Motoren 1/2 s laufen:   * ein Shell-Script steuert das Terminal auf "raw" und lässt auf die vi-Cursor-Tasten hin die Motoren 1/2 s laufen:
     * 'h' 0.5s Linksfahrt      * 'h' 0.5s Linksfahrt 
Zeile 64: Zeile 65:
     * 'k' 0.5s Vorwärtsfahrt     * 'k' 0.5s Vorwärtsfahrt
     * 'l' 0.5s Rechtsfahrt     * 'l' 0.5s Rechtsfahrt
 +    * das ShellScript ist ''/home/buggerop/bin/controlbot''
   * im Ergebnis kann man den Bugger so etwa in Echtzeit steuern   * im Ergebnis kann man den Bugger so etwa in Echtzeit steuern
   * Caveat: nach dem Start des Pis sind die GPIO-Pins auf "high", d.h. das Gerät saust sofort los. Abhilfe: Motorstrom zunächst abklemmen, Pins initialisieren, Motorstrom erst dann anschalten.   * Caveat: nach dem Start des Pis sind die GPIO-Pins auf "high", d.h. das Gerät saust sofort los. Abhilfe: Motorstrom zunächst abklemmen, Pins initialisieren, Motorstrom erst dann anschalten.
Zeile 80: Zeile 82:
     * der Pi schafft es nicht, das Video-Signal von der Kamera ins WLAN zu schaufeln     * der Pi schafft es nicht, das Video-Signal von der Kamera ins WLAN zu schaufeln
     * eine Kamera mit H.264-Encoding könnte helfen:     * eine Kamera mit H.264-Encoding könnte helfen:
-      * der Pi könnte deren Stream einfach durschreichen+      * der Pi könnte deren Stream einfach durchreichen
       * das würde dem Pi das Umkodieren ersparen        * das würde dem Pi das Umkodieren ersparen 
       * Umschau nach entsprechender Hardware: namhafte Hersteller haben vor Jahren den H.264-Support eingestellt, weil die CPUs inzwischen für den Job schnell genug wären. Ach was.       * Umschau nach entsprechender Hardware: namhafte Hersteller haben vor Jahren den H.264-Support eingestellt, weil die CPUs inzwischen für den Job schnell genug wären. Ach was.
Zeile 100: Zeile 102:
       * ''guvcview -d /dev/video1 -x 640x360 --video_codec RGB3 -g none &''       * ''guvcview -d /dev/video1 -x 640x360 --video_codec RGB3 -g none &''
       * mit VLC laggt die Kamera schon lokal am PC übel, also ist VLC aus dem Rennen       * mit VLC laggt die Kamera schon lokal am PC übel, also ist VLC aus dem Rennen
-      * +      * ''timg -V /dev/video1'' funktioniert auch passabel 
 +      * das Script ''/home/buggerop/bin/video'' startet die Videoübertragung 
 +        * Caveat: timg krallt sich die ganze Terminalsession. Der Versuch screen im Modus Split-Screen zu verwenden, hat im ersten Anlauf nicht funktioniert. Es braucht daher eine zweite SSH-Session für die Steuerung.  
 + 
 +**Step 4.1 - Kamera-Reset** 
 +  * Etwas geht schief mit der Anlage des Video-Devices beim Booten: /dev/video1 liefert keine Daten. Re-Plug der Kamera hilft. 
 +  * Vllt. kann man die Kamera automatisch powercyclen? 
 +  * ''echo 5-1 > /sys/bus/usb/drivers/usb/unbind'' -> ''bash: echo: write error: No such device'' - das File ist aber da :-( 
 +  * Anscheinend kann der RPi den Port nicht abschalten. *sigh* 
 + 
 +**Step 4.2 - Kamera-Zuverlässigkeit / Energieversorgung** 
 +  * Nach dem Systemupdate 02/2024 laggt ''timg'' bis zur Unbrauchbarkeit. ''guvcview'' läuft flüssiger aber nicht doll.  
 +  * Es scheint, als ob der Step-Down-Wandler (liefert bis 1.5A) nicht genug Leistung bringt. Also externes Netzteil verwendet, das bleibt aber unter 800mA. Nach einer Weile rebootet der RPi ständig. Vllt. wird's dem Keks zu warm? 
 + 
 +**Step 5 - Rückwärtsgang:** 
 + 
 +  * Für einen Rückwärtsgang braucht es ein Relais oder eine H-Brücke. 
 +  * Da das Relais seinerseits einen Transistor mit Freilaufdiode erfordert, kann man auch gleich die Brücke aufbauen. 
 +  * Eigentlich würde man die Hälfte der Brücke mit PNP-Transitoren bestücken, nur sind davon gerade keine zur Hand. Stattdessen werden auch dafür NPN-Transistoren benutzt. Drawback: die erforderliche Basisspannung  kann der Pi nicht bereit stellen. Der Trick: ein Opto-Koppler steuert den Leistungsteil und der Pi den Opto-Koppler. 
project/bugger.1704214715.txt.gz · Zuletzt geändert: 2024-01-02 17:58 von chris