Panto Steuerung an MOB GE4/4 mittles Arduino und L293D

Antworten [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
Esel
Anfänger
Beiträge: 22
Registriert: Mo 18. Jan 2016, 21:22
Wohnort: Krummnußbaum
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Panto Steuerung an MOB GE4/4 mittles Arduino und L293D

Beitrag von Esel » So 18. Dez 2016, 20:47

Guten Abend,

für alle die die Original Panto Antriebe drinnen lassen wollen wie ich (die Lok ist neu, da will ich nicht gleich radikal alles Umbauen) ist dies meine Lösung.

Die GE 4/4 der MOB hat von mir einen Zimo MX699LS und einen Visaton FSR7 verpasst bekommen. Von LGB ist alles rausgeflogen bis auf die Panto Antriebe. Als Anschluss kam eine LGB Platine mit 10 poligen Stecker rein.

5V Plus stell der Zimo ja mit 1A zur Verfügung, das reicht dann aus.

Da bei der MOB immer beide Pantos oben sind, wird hier auf Trennung verzichtet, wäre aber machbar.
Hier der Quellcode:
int enA = 6; //Ausgang Panto 1 , PWM bringt mit den Original Motoren nix, unter 5V fahren die fast nicht mehr hoch :(
int in1 = 8; //Drehrichtung Panto 1
int in2 = 10; //Drehrichtung Panto 1
int enA2 = 5; //Ausgang Panto 2
int in3 = 4; //Drehrichtung Panto 2
int in4 = 3; //Drehrichtung Panto 2
int taster1 = 12; //hier kommt der Funktionausgang als Taster geschaltet rann
int taster2 = 13; //Vorstufe für unabhängige Schaltung
int lastbuttonstate = 1; //Hinfällig siehe unten
int i = 0; //Hilfsvariable zum umschalten Heben/Senken
void setup()
{
pinMode(enA, OUTPUT); //Initialisierung der Pins
pinMode(in1, OUTPUT);
pinMode(in2, OUTPUT);
pinMode(enA2, OUTPUT);
pinMode(in3, OUTPUT);
pinMode(in4, OUTPUT);
pinMode(taster1, INPUT);
pinMode(taster2, INPUT);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
analogWrite(enA, 0);
analogWrite(enA2, 0);

}
void loop() {
int panto1 = digitalRead(taster1); //Status von "Taster" einlesen, später Decoder F Ausgang
//int panto2 = digitalRead(taster2); //Ausbaustufe für 2 Pantos unabhängig, bei MOB G4/4 nicht notwendig
if (panto1 != lastbuttonstate) { //kann auch panto1 != 1 stehen, selber Effekt, da lastbuttonstate so nie verändert wird :)
if (i == 1) {
i = 0;
}
else {
i = 1;
}
pantoschalten(i); //Variable i wird übergeben
}
}
void pantoschalten(int i) { //Variable i wird eingelsen
int panto1 = digitalRead(taster1);
switch (i) {
case 0: //runter fahren der Pantos
analogWrite(enA, 255); //Ausgang 1 auf 5V theoretisch wäre weniger auch möglich, dann fahren die Motoren aber nicht mehr hoch!
analogWrite(enA2, 255); //Ausgang 2 auf 5V
digitalWrite(in1, HIGH);
digitalWrite(in3, HIGH);
delay(2000); //Motoren genug Zeit geben um zu fahren
analogWrite(enA, 0); //Ausgang 1 auf 0V
analogWrite(enA2, 0); //Ausgang 2 auf 0V
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
break;
case 1: //rauf fahren der Pantos
analogWrite(enA, 255);
analogWrite(enA2, 255);
digitalWrite(in4, HIGH);
digitalWrite(in2, HIGH);
delay(2000);
analogWrite(enA, 0);
analogWrite(enA2, 0);
digitalWrite(in1, LOW);
digitalWrite(in2, LOW);
digitalWrite(in3, LOW);
digitalWrite(in4, LOW);
break;
}
lastbuttonstate = HIGH; //hiermit wird verhindert, das der Panto nochmal fährt
return lastbuttonstate; //macht keinen Sinn, wird noch geändert
}

Das Projekt lief auf dem Steckbrett fehlerfrei. Der Atmega P328 ohne Board am Steckbrett läuft auch schon mit dem L293D, die Platine die ich gelötet habe, hat noch ein Problem, das muss noch geklärt werden. Getestet derzeit noch nicht mit dem Decoder, sollte aber, wenn die Platine passt, hinhauen.

Prototypen Phase:
Bild

Video:
https://youtu.be/qfjvg4lRaVo
mfg Esel *

*oder Philipp

Antworten [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Zurück zu „Eigenbauten und Umbauten“