Fehlermeldung 1-zu-220-kopf

Modelleisenbahn in Spur Z (Spurweite 6,5mm, Maßstab 1:220). Infos zur Modellbahn, Tipps zur Eisenbahn, Arduino, throttle.

Shorty-Fahrregler

const byte potiPort=19; //Analogeingang
const byte pwmPort=3; //PWMausgang

byte v[64]={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12,
       14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
       35, 38, 41, 45, 48, 51, 54, 58, 62, 66,
       70, 74, 78, 82, 86, 91, 96,101,107,113,
      119,125,131,137,143,149,155,161,167,173,
      179,185,191,197,203,209,215,221,227,234,
      241,248,255};

void loop(){
...
integer wert=analogRead(potiPort);
wert=map(wert,0,1023,0,63);
analogWrite(pwmPort,v[wert]);
...
}

Ich habe in meinem Shorty-Koffer sowieso einen ATMega328 zur Lichtsteuerung verbaut, mit diesem habe ich dann mit zwei Ports den Shorty-Regler realisiert. Eigentlich müsste aber ein ATTiny85 reichen.
Einfach nebenstehenden Code einfügen, ein lineares Poti und einen NPN-Transistor anschließen und fertig ist der PWM-Regler.
Als Stromversorgung habe ich eine Lithiumzelle verbaut. Mit den 3,7 V läuft sowohl der 328 als auch der Shorty.
Mit diesem Regler und den 3,7 V erkennt man den Shorty nicht wieder: er zeigt brauchbare Langsamfahrt.


Nebenstehend die nötige Hardware.
Vcc und Vgleis sind beidesmal 3,7 V von der Lithiumzelle. Soll das Gleis mit einer höheren Spannung (Z.B. für Märklinloks) versorgt werden, kann Vgleis beliebig erhöht werden, Vcc darf aber nicht über 5 V ansteigen und die Stromquelle für Vgleis sollte nur einen begrenzten Strom liefern können.
Als Poti kann ein beliebiges lineares Poti verwendet werden, der NPN-Transistor sollte aber schon den Kurzschluss-Strom aushalten können, ich habe einen 2A-Typ verbaut.
(In die Zuleitung zum Gleis kann natürlich noch ein Polwender eingebaut werden.)

Es hat mich doch interessiert, ob das mit einem ATTiny85 auch klappt. Es geht. So hat man einen PWM-Fahrregler aus 5 Bauteilen und wenigen Zeilen Code.
(In nebenstehendem Bild ist der Anschluss des 1k-Widerstands nicht genau zu erkennen: er geht zu Pin6 des ATTiny. Auch das Poti ist etwas schräg fotografiert, aber dessen Anschlüsse sind wohl klar.)


Natürlich reichen insgesamt 5 Bauteile nicht, man benötigt noch eine Stromversorgung und auch ein Polwender wäre nicht schlecht.

Und hier gibt es dazu ein Video.
/*
* ATTiny85 1 MHz intern
*
* pin1 Vcc (Reset)
* pin2 nc
* pin3 Poti Eingang
* pin4 GND
* pin5 nc
* pin6 PWM Ausgang
* pin7 nc
* pin8 Vcc
*
*/

byte v[64]={ 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12,
       14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
       35, 38, 41, 45, 48, 51, 54, 58, 62, 66,
       70, 74, 78, 82, 86, 91, 96,101,107,113,
      119,125,131,137,143,149,155,161,167,173,
      179,185,191,197,203,209,215,221,227,234,
      241,248,255};


void setup(){
pinMode(3,INPUT); //sicherheitshalber
}

void loop(){
int poti=analogRead(A2); //pin3
analogWrite(1,v[map(poti,0,1023,0,63)]); //pin6
//PWM Fahren über NPN-Transistor
}
Nebenstehend nochmal der Sketch.