Ausgang um Beleuchtung beim mähen zu schalten

Jetzt muss ich auch mal zur Sicherheit fragen: Ich schalte ja auch über den UserPin, also ohne den Levelshifter.
Ich habe folgendes Relaisboard verbaut: https://www.marotronics.de/4-Channel-Relais-5-230V-Relay-fuer-Arduino-mit-Optokoppler
Das Board hat doch eigentlich einen Optokoppler vorgeschaltet, und zieht nur 4mA (laut Datenblatt)
Muss der Jumper auf dem Relaisboard eigentlich entfernt werden? -so richtig hab ich es nicht verstanden wie es nun muss.

Bis jetzt funktioniert es jedenfalls so wie ich es verbaut habe. -ich will natürlich auch nichts beschädigen...
 
Hallo spranz,
wie schaltest du über den Userpin das Relaisbord? Nutzt du Sunray und wenn ja, hast du zufällig den Code dafür parat?
Ich würde auch gerne einfach ein bisschen Licht an den Keinen bekommen wenn er unterwegs ist.

 
Ja, gute Frage, warum es bei mir klappt... :unsure: ja, ich nutze Sunray

Der Code steht auf der ersten Seite.... (der Post von bernard)
 
Remember on my initial post 28/08/2021 i say:

Avoid to use P40 because pinUserSwitch 1 2 and 3 are not level shifted, so if the relay board drain too important sense it's can't work only on some Relay board and not all the time.

And Use P13 because the 4 PinRemote are levelswifted and they can drain enought sense for the relay board.
but in this case You can't use the remote.

So the code need to use the correct Pin mapping (if you use pinRemoteMow).
Swap them in the config.h
#define pinUserSwitch1 46 // user-defined switch 1
to
#define pinUserSwitch1 12 // user-defined switch 1
and
#define pinRemoteMow 12 // remote control mower motor
to
#define pinRemoteMow 46 // remote control mower motor

or directly in the exemple of the code i have post 15/01/2022 replace pinUserSwitch1 by pinRemoteMow
 
Zuletzt bearbeitet:
Ok, thanks for your advise...
tomorrow i will change it to the remote pin before something goes into smoke ;)
 
I sorted that out too.
For Anybody is interested in using RC:
The Pins 3 and 4 of RC_Remote can not be used for PPM Readings via Interrupts. It causes either one or both (if both Pins are used) wheel motors to misbehave.
The PPM signal somehow adds up over time directly to PPM Motor out pin.

Instead, i found the unused Levelshiftet PinTilt to function as third PPM Input for controlling the mow Motor via RC properly.
Then you can use Pin 3 and 4 of RC_Remote as Output for an Relaisboard instead.
Just have to make spliced cables and modify the code slightly.

For better response modify the linear and angular calculation output in rcmodel.cpp
angularPPM*8 and linearPPM*2
Also, add a median filter of at least 3 to the values.
Works like a charm now. Very precise but fast too. Like an RC Tank.
 
Der Code steht auf der ersten Seite.... (der Post von bernard)
hiermit komme ich nicht klar:
______________________________________________________________________________________________
and inside void run near line 1352 for the management
use battery. to have access to the battery class
Code:
void run(){
if (battery.chargerConnectedState) {
digitalWrite(pinUserSwitch1, LOW);
} else {
digitalWrite(pinUserSwitch1, HIGH);
}
#ifdef ENABLE_NTRIP
ntrip.run();
_______________________________________________________________________________________________

wo füge ich das in der robot.cpp ein?
Kommt das unter // robot main loop?
 
Ja, am besten unter die ganzen Aufrufe:

// robot main loop
void run(){
#ifdef ENABLE_NTRIP
ntrip.run();
robotDriver.run();
buzzer.run();
stopButton.run();
battery.run();
batteryDriver.run();
motorDriver.run();
rainDriver.run();
motor.run();
sonar.run();
maps.run();
rcmodel.run();

if (battery.chargerConnectedState) {
digitalWrite(pinUserSwitch1, LOW);
digitalWrite(pinUserSwitch1, HIGH);
}
 
Super, vielen Dank. Alles verstanden :D
Da das Relais ja bei dir funktioniert würde ich genau das selbe nehmen und auch identisch anklemmen, also:

GND o-----o GND Relais module
+5V o-----o VCC Relais module
Ardumower pinUserSwitch1 o-----o IN1 Relais module

Damit würde das Relais anziehen sobald der Mover eingeschaltet und nicht mehr an der Ladestation ist - richtig?
Das Relais würde abfallen sobald der Mover wieder an den Ladekontakten hängt - richtig?
 
Nein du musst einen Levelshifter einbauen wenn du die UserSwitches verwenden willst! Hat Bernard geschrieben.
Nimm einen von den RC_Remote oder den unbenutzten P19Tilt Anschluss.

Du musst dann den Namen des Pins den du verwendest bei pinmode und digitalwrite übernehmen.
Die Namen finden sich in der config.h


Achso.. möglicherweise habe ich übersehen das du die Pins schon umbenannt hattest?!...
:D
 
puuhhh .... ja, ok, also Levelshifter. Es könnte alles so einfach sein ... nagut, dann schaue ich mal nach Levelshifter und wie die verbastelt werden.
Nein, Eingänge habe ich noch nicht umbenannt.
 
Wie gesagt, du brauchst auf den Kanälen von P19Tilt oder RC_Remote keinen Levelshifter. Da ist der schon integriert!
 
OK, ich habe jetzt Userpin1 getauscht auf :
#define pinUserSwitch1 12

und

#define pinRemoteMow 46

Dann wäre jetzt das Aschlussschema:
GND o-----o GND Relais module
+5V o-----o VCC Relais module
Ardumower pinUserSwitch1 o-----o IN1 Relais module
wobei pinUserSwitch1 jetzt PIN12 ist und nicht mehr PIN46.

So korrekt?
 
Ja das geht.
Ich würde aber die Beschriftung nicht derart ändern, das man die Übersicht bei den Steckern auf dem Board verliert.

Mein doppel Relais läuft gerade über pin 3 und 4 von RC_Remote auf dem Board. Im code sind das die PINS 10 und 52.
Ich habe die einfach RemoteSwitch1 und RemoteSwitch2 benannt.
Auf den Kanälen 1 und 2 läuft die Funke (code PINS 12 und 11), die habe ich z.b PinRemoteDrive und PinRemoteSteer umbenannt.

Ich freu mich gerade, wie nice das funktioniert. Ich hab noch den p19Tilt (code PIN 35) für das Mähwerk genommen.
Immer wenn ich in den RC_Modus gehe, schaltet das Relais erst den Empfänger ein und wenn der RC_Modus beendet wird wieder aus :D
Ich wusste sonst nicht wofür ich das 2te Relais verwenden soll ^^
Hätt ich ein Bier da würde ich es mir jetzt aufklinken :D

Wenn Ladegerät dran gehen die kleinen Leds auch schön aus.

Hier ist noch zu beachten:
digitalWrite(pinRemoteSwitch2, HIGH); schaltet das Relais aus und nicht ein! umgekehrte Logik!
digitalWrite(pinRemoteSwitch2, LOW); lässt das Relais anziehen
 
Ja, da werde ich noch Ordnung reinbringen, allerdings werde ich das erst einmal testen.
Erst einmal brauche ich das Relais und einen Step-Down. Unterm Strich reicht mir ein Relais, ich will nur die Fahrbeleuchtung und Kamera schalten.

Ich habe das jetzt mal auf p19Tilt gebogen:
#define pinUserSwitch1 35 // user-defined switch 1
#define pinTilt 46 // Tilt sensor (required for TC-G158 board)
Ich hoffe das geht so.

Vielen Dank für die Hilfe. Ich berichte wenn es läuft.
 
Ich wollte normale 10mm LEDs nehmen:
Vorne weiss, hinten rot, je 2 Stück.

Die weissen LEDs habe ich schon da, sie erzeugen einen ganz guten Lichtkegel. Jetzt will ich aber auch nicht die komplette Front ausgeleuchtet haben, mir geht es eher um die Auffindbarkeit im Dunklen wenn er mal wieder irgendwo steht und auf einen FIX wartet.
Da ist die LED Light Bar von Ebay natürlich eine ganz andere Nummer.
 
Oben