Eigene WLAN-Fernsteuerung zulässig ?

  • Kann ich jetzt einfach schwarz auf Masse legen, rot auf +3.3V und auf dem grünen oder gelben Draht

    kommen dann proportional zur Knüppelstellung 0...3.3V raus ?

    Oder brauche ich da eine spezielle Auswerteelektronik ?

    (Habe noch nie irgendwo Hallsensoren verbaut)

    Nach meiner Vermutung ist das richtig, nachdem in der Beschreibung von 0...3V geschrieben worden ist. Hallsensoren liefern ein relativ lineares Ausgangssignal (Spannungspegel), wenn Magnete ihren Abstand zum Sensor vergrößern/verringern. Ich weiß jetzt nur nicht, ob die Hallsensoren von diesem Joystick schon die Vorwiderstände integriert haben. Vermutlich nicht. Du solltest also den Strom durch die beiden Strompfade begrenzen. Bei mir sind die Versuche mit Hallsensoren lange her... Aber ich glaube, der Strom durch den "Erregerpfad" war irgendwas um 1mA (ich kann mich irrren!!!) um dann an der Brücke vom Sensorpfad die Spannungsabweichungen messen zu können.



    Gibt es eine Konvention, wierum man die Knüppel üblicherweise in die FB einbaut ?

    Also die Steite mit dem Poti nach rechts oder nach links ?

    Bei der Entwicklung vom Fahrtregler habe ich feststellen müssen, dass es zwei unterschiedliche Festlegungen gibt. Ich habe sie "Futaba-Mode" und "Spektrum-Mode" getauft. Bezogen auf die PWM-Ausgabe ist bei der Futabe und bei der Spektrum der lange Puls (2ms) jeweils am anderen Ende vom Kreuzknüppel-Ausschlag festgelegt. :rolleyes:

    Bei Analogsignalausgängen habe ich keine Erfahrung. Im Zweifelsfall würde ich mich auf den Spektrum-Mode fixieren, FlySky ist identisch dazu.


    - Spektrum: lange Pulse (2ms) : horizontal links , vertikal oben

    - Futaba: lange Pulse (2ms) : horizontal rechts, vertikal unten



    //Edit: den Hallsensor von meinen damaligen Praktikumsversuchen gibt es nicht mehr (KSY10 oder so ähnlich...). Hab beim Reichelt zumindest so etwas ähnliches gefunden:
    https://cdn-reichelt.de/docume…enblatt/B400/TLE49X5L.pdf


    Das ist ein Source-Strom von 3mA angegeben. Aber irgendwie kein Hinweis, ob man selber für die Strombegrenzung sorgen muss, oder die Dotierung von dem Halbleiter das selber macht.

    (Wie gesagt, alles sehr lange her. Kann sein, dass ich Dir jetzt Mist erzähle.....)

  • So, gestetn wieder etwas an der Software arbeiten können. Die Firmware des STM32 habe ich jetzt im Großen und Ganzen

    fertig, man kann den seriell mit Kommandos/Abfragen traktieren, und er generiert im Interrupt schön die 8 PPM-Pulse für

    die Ausgangskanäle. Mangels (brauchbarer) Hardware-PWM muss ich das über einen Timer lösen, der pro Schritt Ausgabe-

    auflösung einmal aufgerufen wird. 1.5 ms soll der Puls bei Neutralstellung sein, 1...2 ms ist die Servo-Range für die

    jeweiligen Vollausschläge. Wenn ich jetzt 100 Schritte (0...100 %) in jede Richtung haben will, dann brauche ich eine

    zeitliche Auflösung von 500 us / 100 = 5 us. Also den Interrupt 200000-mal pro Sekunde aufrufen. Bei 48 MHz CPU-Takt

    habe ich dann 200 CPU-Takte zur Verfügung. Natürlich abzüglich Switching-Overhead; und das Hauptprogramm soll

    ja irgendwie auch noch rechnen können. Wurde also eng, und ich hätte eigentlich gerne mehr als 100 Schritte gehabt.


    Na gut, dafür macht der STM auch nichts anderes, als die Steuerbefehle entgegenzunehmen und in PPM-Signale umzu-

    setzen. Failsafe ist noch drinnen, wenn länger als 2 s keine gültigen Steuersignals vom Host kommen, geht die blaue

    Failsafe-LED an und alle Ausgänge gehen auf 1.5 ms Neutralwert.


    Habe dann das Grundgerüst des Demons für den Linux-Host im Empfänger programmiert, der den STM mit den Daten

    befeuert, und auch abfragen kann. Damit ich das auch irgendwie testen kann, gibt dieser Demon seine Ausgangswerte

    sowie Eingangswerte (die später von der Fetnsteuerung kommen sollen) in einem Shared-Memory-Bereich aus - so kann

    ich ein Monitoring-Tool bauen, das die Parameter live anzeigen kann, ohne im eigentlichen Realtime-Demon irgendwelche

    speziellen Debug-Ausgaben vorsehen zu müssen.

    Funktioniert nach längerem Rumgewürge soweit auch ganz gut, ich kann die PPM-Werte des STM ca. 65-mal pro Sekunde

    updaten, wenns sein muß, bevor der Jitter am Ausgang zu groß wird. Da die Ausgangssignale im Bereich von 20...50 mal

    pro Sekunden rausgehen, reicht das.

    Jetzt muß hier noch die ganze Mixer-Funktionalität rein, die ich im originalen Fahrtregler im STM drinnenhatte. Will das jetzt

    lieber auf dem Linux machen, da ist die CPU schneller und ich muss keine Rücksicht auf die Realtime-Puklsgenerierung nehmen.

    Außerdem kann man dann die Konfigurationsparameter (z.B. Mappings welcher Knüppeleingang welchen PPM-Ausgang

    steuert, und wie und ggfs. mit welchen Steuerkurven gemischt werden soll) in einer Konfig-DB ablegen, die man dann

    evtl. später über ein Web-Frontend editieren kann.


    In der Fernbedienung will ich dann einfach nur die 8 Knüppeleingänge auf 8 Ausgänge mappen. Dort muss dann nur die

    Kalibrierung der Eingangspotis erfolgen, und eine eventuelle Richtungsumkehr, Totzonen und dergleichen rein.

    FB ist noch nicht so weit, das kommt wenn der Empfänger mal gut läuft.


    Nächste Baustelle ist jetzt die UDP-Kommunikation zwischen Fernbedienung und Empfänger. Mal sehen, wie gut das

    klappt, mit Sockets-Programmierung stehe ich immer ein bißchen auf Kriegsfuß....


    zur Hardware: Weil ich das gerade nicht in einem Bot teste, sondern die Platine bei mir auf dem Tisch liegt, habe ich an die

    5V-Schiene ein Kabel mit einer Netzteil-Hohlbuchse angelötet -da stecke ich dann einfach ein Standard-12V-Netzteil an.

    Dem Empfänger macht das nichts, weil der eh mit 3.3V läuft, sie von dem BEC des Fahrtreglers genommen und

    mit einem Schaltregler runtergeregelt werden.

    Da hatte ich dann nach stundenlanger Programmiererei einfach mal den Wunsch nach einem Erfolgserlebnis, und

    aus der Grabbelkiste ein Servo genommen und angesteckt; wollte sehen ob das sich so bewegt wie ich es gerne hätte.

    Puff, Servo läuft hart gegen einen Anschlag. Gut, wohl falschrum drauf - umgesteckt, Puff der STM32 tut seinem

    Unmut mit Rauchzeichen kund. Hat wohl die 12V über das Servo an seine Ausgänge nicht vertragen; jaja ich hatte

    vergessen, dass ja da grad 12V statt 5 anliegen.... grummel....

    Mal schauen, ob ich den gewechselt kriege - kommt man natürlich bei der mit Steckern fertig bestückten Platine ganz

    super ran...


    Merke: nicht mitten in der Nacht irgendwelchen Kram "nur mal Schnell" irgendwo anstecken...


    LG

    -Michael

  • Wurde also eng, und ich hätte eigentlich gerne mehr als 100 Schritte gehabt.

    Ich glaube, das brauchst Du nicht. Bei meinem Fahrtregler gibt es eine Auflösung von ungefähr 40 Steps, in der das PWM-Eingangssignal vom Empfänger aufgelöst wird. (Mehr gibt die Timerauflösung bei 4ms Periodendauer nicht her.) Ich denke, das reicht vollkommen aus. Bisjetzt hat sich noch niemand beschwert, dass die Fahrerei/Lenkerei zu grob ist.