TRX-4 Sport Kit Projekt

  • Warum der Gleichrichter? Wegen vorwärts und rückwärts?

    Ja das war meine erste Eingebung. Aber es scheint in der Praxis doch etwas komplizierter zu sein. Denn der Arduino hat ja Masse als Bezugspunkt. Am Motor habe ich aber keine Masse, sondern (einfach gesprochen) wechselt ja je nach Drehrichtung die Minus-Leitung von einer Seite zur anderen. Das müßte man nochmal richtig durchdenken.

    Würde da nicht ein Kondensator zur Glättung und ein entsprechender Spannungsteiler reichen? Dann könnte ich vorwärts und rückwärts über je einen separaten Analogeingang einlesen

    Ja könnte sein. Hängt von der Klärung der vorstehenden Frage ab.

  • Bin leider nicht so sattelfest in Sachen Elektronik. Bin mehr der Starkstrom/Hochspannungs-Elektriker...

    Ich auch nicht (mehr). Meine Ausbildung als Elektroniker liegt über 40 Jahre zurück :-)

    Auch hatte ich damals schon meinen Schwerpunkt auf Microcontroller mit TTL-Pegel verlegt. Spannungen über 5V sind mir suspekt :-)

    Vielleicht hat amigaman noch eine gute Idee für dich. Der ist fit :-)


    Gruß,

    RCfreund

  • Low Beam/High Beam würde ich einfach über 2 unterschiedliche Vorwiderstände realisieren. Alternativ dazu Dimmen via PWM Steuerung.

    Das Problem bei den "Dimmer" Funktionen Low-Beam und High-Beam ist, das bei beiden Schaltungen die 2,85V des Traxxas Power Supply auf die Light-Bar aufgeschaltet werden, was das in der Light-Bar macht? Keine Ahnung, aber ich denke einfach mit nur zwei verschiedenen Vorwiderständen wird es nicht getan sein. So würde ich es machen wenn ich ganz normal SMD LEDs ansteuern würde, aber was in der Light-Bar an Elektronik verbaut ist? pleasantry

  • was das in der Light-Bar macht? Keine Ahnung, aber ich denke einfach mit nur zwei verschiedenen Vorwiderständen wird es nicht getan sein.

    Na was in der Lightbar drin ist hat doch Stephen schon sehr gut analysiert:

    Die Lightbar zieht im High-Beam bei 2,8V 100mA. Bei 3V sind es aber schon 150mA.

    (Low Beam hab ich mir nicht aufgeschrieben, da für mich nicht relevant.)


    Das blau/schwarze Doppelkabel ist die Spannungsversorgung (blau=Plus). Wenn man da die 2,8V anlegt, läuft die Lightbar zunächst nur reduziert. Ob über einen Widerstand oder eine Diode kann ich nicht sagen.

    Das dünne schwarze Zusatzkabel ist beim 8087 der High-Beam Eingang (beim Defender ist es ein Ausgang vom Schalter in der Lightbar). Wenn dieser Zusatzdraht Spannung hat, leuchten die LEDs heller (werden dann wohl über den durchschaltenden Transistor voll mit den 2,8V versorgt). Im bisherigen Lightkit wird der einfach fest auf die 2,8V der Versorgung gesteckt. Beim neuen Lightkit bekommt er einen schaltbaren Ausgang.


    Dass da ein Transistor sein muss erkennt man daran, dass man die LEDs nicht über den High-Beam-Eingang versorgen kann. Da wird kein Strom gezogen. Alles fließt immer durch das blau/schwarze Adernpaar.

    Und mit den Messreihen die du erstellt hast, wissen wir auch die ungefähren Ströme.

    Deshalb denke ich, dass es so funktionieren müßte, wie ich es HIER beschrieben habe. Die High Beam Steuerleitung wird dabei mit dem positiven Anschluss des anderen Steckers verbunden. So ist die interne Schaltung für das Low Beam disabled. Eine geringere Helligkeit wird dann über einen anderen Widerstandswert, oder alternativ über PWM realisiert.

    Beim Laneboys Lightcontroller ist das auch einfach: Hier brauchst du keine Widerstände, sondern nur mehrere Ausgänge parallel zu schalten. 20mA pro Ausgang.


    Gruß,

    RCfreund

  • Mir ist gerade so die Idee gekommen, ob man nicht eine neue Leiterplatte entwickeln sollte welche den Traxxas Distribution Block ersetzt und den Anschluss eigener Schaltmodule oder Light Controller erlaubt. Und hierbei sollte auch das Traxxas Power Supply wegrationalisiert werden, indem passende Vorwiderstände auf der neuen Leiterplatte bestückt werden können.

    Es gibt doch bereits fertige Platinen von Drittherstellern...

    Nur weiß ich nicht, mit welcher Spannung die ihre Platinen betreiben?


    Ich hatte mal so ein billiges Set, habs aber geschafft es bei meinen Versuchen zu töten, und diese Idee daher nicht weiter verfolgt :trotz:




    LG

  • Es gibt doch bereits fertige Platinen von Drittherstellern...

    Hast du einen Link?


    BTW: Ich will hier nicht den Bauthread von Nobody kapern.

    Ich schlage vor, dass ich für dieses Thema einen neuen Thread aufmache, sobald ich ein paar neue Erkenntnisse beisteuern kann. Ok? (Daumen hoch reicht als Antwort :-) )


    Gruß,

    RCfreund

  • Ich bin hier durch die Benachrichtigung von RCfreund hier aufgeschlagen... :)

    Ihr diskutiert elfzehn Probleme gleichzeitig, daher bin ich nicht ganz sicher wo ich da helfen kann.


    Soweit ich erlese, gibt's das Problem das es keinen Servoausgang für den ESC gibt, und jetzt soll Bremslicht und Rückfahrscheinwerfer irgendwie 'Arduino't werden?

    Das ist relativ...

    Ich glaube nicht, das der Arduino das PWM-Signal des Motors erfassen kann, das werden schon einige kHz sein, und sauber ist das Signal auch nicht, da der Motor magnetisch rückwirkt.


    Ich würde einfach zwei RRC-Glieder an die Motoranschlüsse machen und an zwei AD-Eingänge legen, die Widerstände als Spannungsteiler so das der ADC nicht explodiert und der Kondensator passend das der ADC das PWM nicht mehr sieht.

    Normal kann der ADC bis so rum um 5V messen, wobei das stark von der Güte der Bauteile abhängt. Ein Teiler mit 2x 4k7 reicht also bis ca. 10V Akkuspannung, 2S Lipo geht also sicher. Wenn's 3S sein soll, wären "unten" 4k7 und "oben" 8k2 meine Wahl.

    Als Kondensator würde sich dann vielleicht 100n oder 220n anbieten, aber da muss man vielleicht experimentieren.


    Rückwärts ist dann leicht:

    if (a > b+ein bissel) then rückwärts(); ;)


    Bremsen wird dagegen schon schwerer, weil man sich klar werden muss wann die Funzel an sein soll und wie der ESC bremst.

    Einfach ist die Standbremse:

    if (a < ein bissel) && (b < ein bissel) then Standbremse();


    Aus der Fahrt heraus muss man aber sehen, das eins der Signale runtergeht, und evtl. auch noch wie stark (rollen oder bremsen).

    Ist also mehr ein Programmierproblem denn ein Hardwareproblem.

  • amigaman

    Vielen Dank für deine Erläuterungen.

    Du hast mein Problem (mit RCfreund habe ich noch über LED/Lightbars von Traxxas diskutiert. Das ist in der Tat eine andere Baustelle) genau erfasst.


    Das PWM-Signal des Reglers läuft gemäss Einstellungen im Moment mit 8kHz.


    Könntest du mir vielleicht ein Schema deines Lösungsansatzes einstellen, bin leider in Sachen Elektronik nicht so fit...


    Die Programmierung ist dann ein anderes Thema und wie du schon richtig bemerkt hast, ist der Knackpunkt das feststellen wann gebremst wird. Das Problem habe ich aktuell aber auch, auch wenn ich das Ganze über den Gaskanal auswerte.


    Die Spnnung sollte kein Problem sein, da ich 2S fahre.

  • ist der Knackpunkt das feststellen wann gebremst wird.

    Also das ist nicht so schwer. Bremsen ist ja nichts anderes als eine große Geschwindigkeitsabnahme innerhalb einer bestimmten Zeit.

    Du brauchst also eine Funktion, welche z.B. alle 10ms aufgerufen wird. Innerhalb dieser Funktion vergleichst du den aktuellen Messwert mit dem vorhergehenden Messwert (also dem von vor 10ms).

    Wenn die Differenz zwischen vorhergehenden Messwert minus dem aktuellen Wert nun größer ist als ein bestimmter Schwellwert, wird das Bremslicht eingeschaltet.

    Für das Ausschalten des Bremslichts kann man sich auch verschiedene Bedingungen überlegen (z.B. nach einer fixen Zeit von 3 sec).


    Dieses Prinzip ist universell anwendbar; egal ob dein Messwert die Pulsweite eines Servosignals ist oder eben ein Spannungsmesswert der aus der Motorversorgung generiert wird.


    Gruß,

    RCfreund

  • Nuja, Grenzfrequenz ist so 330Hz, das finde ich sogar noch ein wenig schnell, denn wenn du langsamer als das sampelst, bekommst du wieder Aliasing-Effekte. Die 8kHz sind dann reichlich weg, aber man sieht das gewurschtel vom Motor... Muss man halt oft genug schnell genug sampeln und mitteln...

    Wobei die Formel nicht für einen Spannungsgeteilerten Tiefpass gilt...

    Kann also gut sein, das da sogar was im unteren µF-Bereich rein muss.

  • amigaman

    Du hast natürlich recht. Mir ist da ein Denkfehler unterlaufen...

    Wie sieht es nun aber mit allfälligen negativen Spannungen aus? Hab versucht das ganze in diesem "Programm" zu simulieren (Schalter unten links dient zum Umschalten zwischen vorwärts und rückwärts; die Relais sind nur dazu da, dass ich die Drehrichtung am Motor ändern konnte).

    Wenn ich nun einen Motor als Last einbaue, dann kriege ich beim Umschalten von vorwärts auf rückwärts negative Spannungsspitzen, was der Arduino wohl schlecht vertragen würde...

    Ist das jetzt nur ein Problem meiner Simulation, oder könnte das wirklich passieren?

    Sorry für die doofe Frage, aber Elektronik ist wirklich nicht so meins...

  • Du bekommst keine negativen Spannungen, woher auch?

    Der Motor wird zwar umgepolt, aber keiner der Anschlüsse kann negativer werden als Masse, von kurzen Störungen mal abgesehen.

    Der Vorwiderstand im Spannungsteiler begrenzt das auf kleine Ströme, der Kondensator fängt auch kurze Pulse auf. Atmel bzw. Microchip hat schon vor Jahren einen Dimmer mit Netzspannung als Appnote gezeigt, der eiskalt die Netzspannung über einen 470(?)k-Widerstand auf den Eingang legt, als Nulldurchgangserkennung.


    Wenn du Angst hast, kannst du noch zwei kleine Schottky-Dioden ergänzen, jeweils eine vom Arduino-Pin nach 5V bzw. Masse, die schützen dann den Eingang des Prozessors.

  • Du bekommst keine negativen Spannungen, woher auch?

    Der Motor wird zwar umgepolt, aber keiner der Anschlüsse kann negativer werden als Masse, von kurzen Störungen mal abgesehen.

    Aber: Wenn der Motor umgepolt wird, liegt an dem angeschlossenen Pin dann dauerhaft Masse an (und Spannung am anderen Motorpol).

    Also kann man so nur vorwärts erkennen. Stopp und Rückwärts sehen bei der gegebenen Schaltung gleich aus.

    Man müsste die Spannung zwischen den Motorpolen abgreifen (das kann dann in sich negativ werden), und potentialfrei auf ein Spannungssignal wandeln, die der Arduino auswerten kann.

    Oder die Schaltung dupliziert und gespiegelt an einen zweiten Arduino-Pin und den anderen Motorpol anschließen, dann bekommt der eine Geschwindigkeitsdaten/Spannungswerte für Vorwärts und der andere bei Rückwärts.

    Der Familen-Fuhrpark:

    Axial SCX10-2 Cherokee ([m]ein GOX) | WLToys 10428-B2 (mein Rockracer TwinHammer-Clon) | Tamiya CC01 Pajero (muss mal restauriert werden)

    Hobao DC1 RTR (gehört dem Sohnemann, aber ich darf mich kümmern) | Tamiya Plasma Edge II (hat Sohnemann sich gekauft und mit mir gebaut)

    Axial-Yota Defender Hardbody (hat sich der kleine Bruder von mir bauen lassen) | WLToys 12428-B (hat sich der kleine Bruder selbst gekauft)

    Edited 3 times, last by Stephen ().

  • Ich würde einfach zwei RRC-Glieder an die Motoranschlüsse machen und an zwei AD-Eingänge legen

    Das hatte ich überlesen. Vielleicht war es aber ja irgendjemand anderem außer mir auch nicht klar. :tischkante:

    Der Familen-Fuhrpark:

    Axial SCX10-2 Cherokee ([m]ein GOX) | WLToys 10428-B2 (mein Rockracer TwinHammer-Clon) | Tamiya CC01 Pajero (muss mal restauriert werden)

    Hobao DC1 RTR (gehört dem Sohnemann, aber ich darf mich kümmern) | Tamiya Plasma Edge II (hat Sohnemann sich gekauft und mit mir gebaut)

    Axial-Yota Defender Hardbody (hat sich der kleine Bruder von mir bauen lassen) | WLToys 12428-B (hat sich der kleine Bruder selbst gekauft)