• Die Forumsregeln und Nutzungsbedingungen findet ihr in der Navbar unter Impressum !
    Bitte unbedingt beachten!
    Wie überall im Leben gibt es Spielregeln, so auch hier!
    Die Datenschutzerklärung zum DSGVO findet ihr ebenfalls in der Navbar unter Datenschutzerklärung !
    Hinweis nach DSGVO :
    Es ist hier keinerlei Angabe erforderlich. Alle Angaben in diesem Bereich sind öffentlich sichtbar und werden freiwillig gemacht. Mit einem Eintrag in diesem Bereich erkenne ich dieses an, und bestätige die Datenschutzerklärung zur DSGVO für das Forum gelesen zu haben.

    Danke
  • Hallo Gast, beschränke dich hier bitte auf den Bereich der Elektronik. Die Fahrzeuge oder Gebäude, wo diese Elektronik eingebaut wird bitte in dem passenden Fachbereiich behandeln. Auch wenn Teile des Projektes dadurch im Forum doppelt vorhanden sind! Danke.

Arduino Servonaut K40 Signale mit Arduino auswerten

Phil_ch

New member
Registriert
14.03.2008
Beiträge
689
Hallo zusammen

Ich hoffe, ihr als Arduinoexperte, könnt mir weiterhelfen.
Für meinen Roadtrain suche ich nach einer Möglichkeit die Lichtsignale (später auch Servosignale) drahtlos nach hinten zu reichen.
Aktuell sind immer in zwei Aufliegern Lipo's drin und das Licht ist installiert. Gesteuert wird das ganze über Empfänger (Kanäle 9-14) und CTI Module, aber eben dies möchte ich ändern...die Kanäle werden langsam knapp bei der Funke.

Mein Plan wäre die Lichtsignale vom K40 bei der Zugmaschine "anzuzapfen" und an die Masterplatine weiterzureichen. Diese soll diese dann über Xbee an die Slave Platinen senden und diese die Lichtimpulse umsetzen.

Für mich als Laie aber schwierig... Nach einlesen in die Materie habe ich mal folgenden Schaltplan gezeichnet: (So mal als erster Schritt....)
http://www.gloorworb.ch/Phil/div/UntitledSketch_Schaltplan.jpg

Wird dies so funktionieren? Die Beschaltung des Optokoppler ist mir nicht ganz klar....
 
Moin Phil,

Dein Schaltplan hat 2 Fehler.

1. Am Arduino scheinst Du beim ersten Pin zu beginnen, das ist nicht gut. Bitte beginne bei Pin 2 und lasse RST, RX und TX frei.
2. Den Optokoppler mussr Du mit einem eigenen Wiederstand parallel schalten, es sei denn der Wiederstand ist so berechnet, dass er 2 LEDs in Reihe erlaubt. Parallel hat den Vorteil dass Du nicht beachten musst was sonst noch an den Anschlüssen dran hängt.

Bitte bedenke, dass Du mit dieser Lösung per digitalRead nur LEDs erfassen kannst die konstant leuchten. Wenn Du hier an einem. PWM Signal lauscht bekommst Du eine Unmenge an Daten.

Noch ein Wort zur Übertragung, das Bluetooth Protokoll ist sehr geschwätzig und es ist die Frage ob Du die benötigte Geschwindigkeit bekommst, ohne dass die Blinker mit einer leichten Verzögerung blinken.

Schau mal nach 433MHz Modulen. Die sind auch kleiner und handlicher.

Ein Buch Tipp: Das Arduino Kochbuch.

Halt uns mal auf dem Laufenden.
 
Das sollte als Ankopplung an den K40 für die Lichtsignale reichen.
Vorsichtshalber mal messen wieviel Volt am Lichtausgang des K40 anliegen, wenn das Licht aus ist.

Phil.jpg

Der Plus bezieht sich auf den Plus vom Arduino nicht vom K40 oder Fahrakku.
Minus vom Fahrakku und Arduino müssen verbunden sein.
Du musst das Programm so schreiben, das am Eingang AKTIV = LOW ist.
 
Moin Winni,
moin Phil,

die Wiederstände und die Plus Leitung sind eigentlich nicht notwendig, wenn Du den internen Pullup Wiederstand per pinMode(xxx, INPUT_PULLUP) aktivierst. Dann kann der Pin des Arduino an den Minus Pol des K40 angeschlossen werden. Wichtig ist aber eine Sperrdiode in der Leitung, da der Arduino an seinem Pin nur 5V mag. Wenn er 7,2 oder mehr aus dem K40 Stromkreis bekommt nimmt er dir dies u. U. sehr übel.
 
Hallo Peter,
ja deshalb die Ansage mal zu messen. Mit Sperrdioden ist man natürlich einfach auf der sicheren Seite.
Ach ja, an den internen pullup habe ich im Moment nicht gedacht.
Hier ein Link dazu: http://playground.arduino.cc/Deutsch/Eingang
Die Optokoppler sind jedenfalls nicht notwendig.
 
Hallo Peter und Winni

Okay, das bringt mich zu folgender Frage. (absolute Anfängerfrage...sorry)

Der K40 läuft mit 12 Volt.Wenn ich z.B. Pin8 vom Board parallel zur (Blinker) Led verbinde fliesst doch der Strom direkt vom Pluspol des K40 in den Pin8 ? Darum die Diode?
Wenn ich dann den Blinker einschalte, sprich das Minus im K40 anschalte, läuft der Strom vom Pin8 Richtung Minus K40 ?
Wozu dieser Pullup Wiederstand ? Ich kanns zwar im Link von dir, Winni, lesen aber verstehen tu ichs nicht...


ps. Meine Lektüre ist: "Die elektronische Welt mit Arduino entdecken" von Erik Bartmann
 
Moin Phil,

Richtig, die Sperrdiode sorgt dafür dass die 12 Volt des K40 nicht an den Pin kommen.

Ich schildere jetzt mal mein Verständnis des Pullup Wiederstand, Wiini, bitte korrigiere mich wenn ich Mist rede...

Du setzt den Pullup Wiederstand und verbindest den Pin mit dem Minuspol des Blinkers. Bitte die Sperrdiode in der Leitung nicht vergessen.

Wenn nun der Blinker aus ist, ist der Minuspol des K40 nicht geschaltet. Somit hast du quasi eine frei baumelnde Leitung. Das kann das Arduino Board aber nicht messen und es ergibt Zufallswerte am Pin. Über den Pullup Wiederstand sorgst Du dafür, dass der Pin einen kontinuierlichen Plus Strom bekommt, die Funktion digitalRead liest in diesem Fall ein HIGH. Wenn nun der Blinker angeschaltet wird und leuchtet, dann ist der Pin und der Minusanschluss verbunden und der Pin wird dauerhaft auf LOW gezogen. Geht der Blinker wieder aus greift wieder der Pullup und es wechselt wieder auf HIGH.

Beim Auswerten musst Du dann also beachten:
HIGH = LED aus
LOW = LED an

That's it...
 
Jawohl, prinzipiell so richtig.:ok
 
Zur Verdeutlichung:

Hallo Phil :winker

Der Pull-Up Widerstand ist im Mikroprozessor.
Strom fließt immer von Minus nach Plus. !!! Nicht umgekehrt wie oft angenommen.
Die schwarzen Pfeile verdeutlichen den Stromfluß.
Bild 1: Licht aus
Der Strom fließt vom Prozessor + über den Widerstand in Richtung K40 bis zur Sperrdiode und in die Logik ( Wert = HIGH )

Bild 2 Licht an
Der Strom fließt vom K40 zum Prozessor in die Logik ( Wert = LOW ) und über den Widerstand zum + des Prozessors. Es sind also quasi 2 Stromkreise wie in Bild 3.

Phil 2.jpg
 
Hallo zusammen :winker

Jetzt hab ichs verstanden!
Vielen herzlichen Dank für die Erklärung. :ok

Halte euch auf dem laufenden.. und frage euch fleissig Löcher in den Bauch. :hfg
 

Servonaut
Zurück
Oben Unten