RE: Kleiner Lok-Decoder für TT/N

#1 von TecnoWorld , 12.04.2018 13:20

So - Urlaub ist vorbei, erster Stress danach beseitigt

Ich habe jetzt mal aus gegebenen Anlass ein Project aus dem Keller geholt, was nun fertig gemacht werden muss.

Ich habe immer Open-Source Lokdekoder benutzt, weil ich da die Software nach meinen Wünschen anpassen konnte.
Leider gefiel/gefällt mir daran einiges nicht.
1. zu groß.
2. keine gescheite Motorregelung
3. keine Temperaturüberwachung
4. keine Kurzschlusssicherung

Gerade in die kleinen Dampfloks (81 100) passen kaum Decoder rein, außer man nimmt einen anderen Motor.

Ich hatte vor einer Weile schon mal Decoder gemacht, als Prototypen, um zu testen, ob alles geht.
Anbei mal ein Bild von so einem Prototypen:

Die Größe war noch inakzeptable: 14x6,5x3,3mm, besonders die Dicke. Aber das war dem Prototyp mit 1,55 FR4 Platine geschuldet. Und der 2-seitigen Bestückung.

Aber die technischen Daten sind schon nicht schlecht.
-2A Dauerstrom am Motor. 2,8A Peak. Kurzschlussfest.
-4 Aux, mit je 240mA
-4 Digitale Ein/Ausgänge
-SUSI-Schnittstelle
-Temperaturüberwachung
-Perfekte Motorregelung ohne BEMF und ohne Konfiguration. (Mehr dazu weiter unten)
-alternativer Anschluss eines Drehzahlsensors
-Software weiterhin Open-Source.

Gut. jetzt läuft alles, getestet. Nun habe ich mal das Design angepasst.
Neue Maße: 13,8x6,5x0,9mm

Die Dicke kommt durch eine 4-lagen 0,4mm FR4 Leiterplatte und einseitiger Bestückung.
Dadurch hat man auf der Rückseite Platz für die Lötflächen.

Bin mal gespannt, nächste Woche kommen die Leiterplatten mit dem Stencil, dann kann ich mal bestücken

Das Beste daran ist die Motorregelung.
Die habe ich mehr oder weniger aus unserer Industrieelektronik "kopiert", also industriellen Servo-Lagereglern.

Wie funktioniert sowas?

Bei anlegen des DCC Signals (Power On) bestromt die Elektronik den Motor solange, bis der Strom einen konstanten Wert erreicht hat.
Aus diesem Wert kann ich nun den Wicklungswiderstand berechnen und die Induktivität des Motor.
Mithilfe dieser beiden Werte wird die Drehzahl nun konstant gehalten.
Aber wie?
Mal kurz und einfach erklärt:
Jeder Motor hat eine Angabe einer Drehzahlkonstate. z.B. 650rpm/V. Das heißt, bei 12V dreht er ca. 8000 rpm. Legt man 6V an, dann halt nur 4000rpm.
Aber das gilt nur im Leerlauf und auch da nur bedingt.
Warum?
Am Innenwiderstand der Motorwicklung fällt eine Spannung ab, die nicht für das Drehfeld genutzt werden kann. Im leerlauf ist dieser Abfall sehr gering, deswegen merkt man es kaum.
Aber unter Last sieht das schon anders aus.
Nun misst man den Strom des Motors. Das kann man kontinuierlich machen und benötigt keine Austastlücke. Mit dem Strom und dem bekannten Innenwiderstand des Motors (der auch die Anschlusskabel etc. berücksichtigt) wissen wir, wie viel Spannung "verloren" geht. Und genau diesen Wert addieren wir zur gewünschten Spannung. Damit dreht der Motor egal, welche Last angelegt wird, imer gleich schnell.
Und wir wissen exact, mit welcher Last der Motor belastet wird. (SUSI!)

Bei dieser Art der Regelung braucht man keinen PID Regler, keine Nachführung etc. Das System ist selbstkalibrierend, passt auf alle Motorarten.
Sogar Rokal-Einheitsmotoren laufen sauber, auch dei BTTB-Motoren gehen super.
Klar - wo es geht, versuche ich natürlich moderne coreless-Motoren einzusetzen. Aber das will ich nicht überall nd kann es nicht (Rokal).

Hoffe ich langweile euch nicht zu sehr...
Aber war gerade recht erfreut, wie super gut und linear die Regelung läuft...

LG aus Süd-Spanien...


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Kleiner Lok-Decoder für TT/N

#2 von RSH-Rainer , 28.04.2018 20:35

Da habe ich ja schon Dein Projekt gefunden.
Liest sich interessant, gibt es schon Fotos von der neuen "dünnen" Variante?
Was kommen denn so an Kosten für diesen Decoder zusammen?
Was hast Du denn mit der Susi vor? Sound?
Gruß Rainer


Vorstellungsbeitrag

Bahnhöfe aus aller Welt


RSH-Rainer  
RSH-Rainer
InterCity (IC)
Beiträge: 722
Registriert am: 07.05.2005
Ort: zwischen Ruhrgebiet und Sauerland
Gleise 2/3-L
Spurweite H0, 1
Steuerung DCC / MM
Stromart AC, DC, Digital, Analog


RE: Kleiner Lok-Decoder für TT/N

#3 von TecnoWorld , 30.04.2018 17:52

Nunja, Bilder gibt es schon.




Die Bilder sind von der 0,8mm PCB Variante. Wenn ich die nächsten mache, ist die PCB 0,4mm dick.

Die 5-polige Schnittstelle kann zum Programmieren genutzt werden (einfach anstecken, nix löten), oder für SUSI (ankopplen des Soundmoduls, Lastwerte und Geschwindigkeit werden lt. Susi-Protokoll übertragen)
Man kann aber auch z.B. einen Drehzahlsensor anschließen, oder weitere Leds oder sonstwas..

Die Software ist Open-Source, wer will, kann die verwenden und abändern nach Lust und Laune.


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Kleiner Lok-Decoder für TT/N

#4 von TecnoWorld , 30.04.2018 19:37

Achso, Du hattest nach Preisen gefragt.

In 0,4mm Leiterplattendicke (4-Lagen) kostet die bestückte Leiterplatte ca. 9€ (10.89€ incl. spanischer Umsatzsteuer).
Bei größeren Stückzahlen >60 Stück sinkt der Preis noch mal.

Ohne aufgespielte Software und ohne aufgelöteten Strommesswiderstand.
Abgabepreis ist Forumspreis als Open-Source Projekt.

Verschicken würde ich aber nur als Sammelbestellung in einer Lieferung, weil ich in Spanien sitze und der Versand mindestens 13€ kostet.

Der Widerstand muss je nach Motor grob angepasst werden, also z.B. 0,42Ohm bis 150mA Motoren und 0,2Ohm für große Motoren bis 2A.
Mit dem Widerstand wird u.a. auch der Kurzschlussstrom eingestellt. Der Widerstand liegt bei und läßt sich auch von Ungeübten auflöten (0612 Bauform).

LG,
Ingolf


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Kleiner Lok-Decoder für TT/N

#5 von RSH-Rainer , 30.04.2018 21:25

Hallo zusammen
falls noch jemand Interesse hat, dann bitte melden.
Ich wäre auch bereit den Verteiler in Deutschland zu machen.
Ihr könnt Euch also per PN bis zum 11. Mai bei mir melden.

Gruß Rainer


Vorstellungsbeitrag

Bahnhöfe aus aller Welt


RSH-Rainer  
RSH-Rainer
InterCity (IC)
Beiträge: 722
Registriert am: 07.05.2005
Ort: zwischen Ruhrgebiet und Sauerland
Gleise 2/3-L
Spurweite H0, 1
Steuerung DCC / MM
Stromart AC, DC, Digital, Analog


RE: Kleiner Lok-Decoder für TT/N

#6 von tibaum , 02.05.2018 14:02

Hallo TecnoWorld,
klingt interessant mit der Motorregleung. Kann ich die Sourcen irgendwo im Netz herrunterladen oder bekommt man die von Dir per Mail?
Gruß von
Timo


 
tibaum
InterRegio (IR)
Beiträge: 193
Registriert am: 27.11.2011


RE: Kleiner Lok-Decoder für TT/N

#7 von TecnoWorld , 02.05.2018 18:24

>>Kann ich die Sourcen irgendwo im Netz herrunterladen

Noch nicht, kann aber gern mal ein Git einrichten zum Download.
Ist (logischerweise) Assembler, zur Zeit AVRStudio 7 Projekt, aber auch mit anderen Compilern übersetzbar.

LG,
Ingolf


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Kleiner Lok-Decoder für TT/N

#8 von dany44 , 02.05.2018 20:12

Hallo Ingolf,

Zitat

Hoffe ich langweile euch nicht zu sehr...
Aber war gerade recht erfreut, wie super gut und linear die Regelung läuft...



Ganz und gar nicht. Kannst du das etwas technischer nochmals erklären? Mir ist noch nicht so ganz klar, welches hier die Stellgrößen sind, da du von Spannung schreibst. Sicherlich setzt du aber eine PWM ein, oder? Gibt es einen Schaltplan?

Ich würde das gerne einmal versuchen nachzubauen.

Liebe Grüße, dany


dany44  
dany44
InterRegio (IR)
Beiträge: 175
Registriert am: 13.12.2015


RE: Kleiner Lok-Decoder für TT/N

#9 von TecnoWorld , 02.05.2018 23:14

Nun, ich erkläre es noch mal:

Ein idealer Motor ohne Innenwiderstand hat eine Drehzahl konstante.
Z.b. 1000rpm/V.
Legt man 6V an, dreht er 6000rpm, bei 12V 12000rpm.

Nun ist ein Motor aber nicht ideal sondern hat Verluste.
Die sind proportional zur Last/Strom.

Ein Motor hat zum Beispiel 10 Ohm Wicklungswiderstand.
Und er hat einen Leerlaufstrom von z.b. 100 mA. Damit läuft er bei ca. 1V an, abhängig natürlich von der Lagerung und Kollektor (Haftreibung).

Nun betreibt man ihn mit z.B. 10V. Er dreht mit 10.000rpm und nimmt die 100mA Leerlaufstrom auf.
Wenn man ihn nun belastet, steigt der Strom und die Drehzahl sinkt. Angenommen der Strom beträgt nun 300mA.

Wenn man die Drehzahl nun konstant halten will, muss man 10Ohm *300mA=3V zu den 10V addieren. dann bleibt die Drehzahl konstant.

Nun kann man den Strom kontinuierlich messen und die Spannung einfach entsprechend des Stroms addieren.

Das ist jetzt einfach erklärt, in Wirklichkeit muss man bei der Modellbahn halt auch die Spannung am Gleis messen, weil man ja eine PWM in Prozent zur Versorgungsspannung ausgibt.

Genau genommen interessiert uns der absolute Wert der Spannung gar nicht. Wir legen einfach so lange die volle Spannung (100%PWM) an den Motor an, bis der Strom nicht mehr ansteigt.
Das sind je nach Motor paar Millisekunden.
Nun haben wir 2 Werte.
1.) Die Wicklungsinduktivität, anhang der Zeit, bis der Strom seinen vollen Wert erreicht hat. In unserem Fall brauchen wir das aber erst mal nicht.
2.) Den Strom bei aktuell angelegter Maximal-Spannung. Das ist unser Stall-Strom, da der Motor ja noch nicht dreht. Nun rechnen wir die Widerstand aus.

Wenn jetzt z.B. 50% PWM angelegt werden sollen (der Motor also mit halber Drehzahl drehen soll), geben wir auch exact die 50% PWM aus. Wir messen aber den Strom und berechnen nun den inneren Motorverlustwert.
Um das zu verdeutlichen: Bei Stall hat der Motor zum Beispiel 600mA Stromaufnahme bei 12V. Wir haben einen Widerstand von 20Ohm. Das heißt, bei 600mA fällt die gesamte Spannung am Innenwiderstand ab, und der Motor dreht sich nicht.
Messen wir jetzt hingegen eine Strom von 200mA, dann fällt am Innenwiderstand des Motors 4V ab. Wir müssen nun !2V/4V = 33% insgesamt 33% mehr PWM ausgeben, um die gewünschten 50% Drehzahl zu erhalten.
Gleichzeitig wissen wir den Lastfaktor, mit dem der Motor belastet wird.

Die Regelung wird stetig ausgeführt, d.h. nicht in einem bestimmten Intervall, sondern immer, wenn der Prozessor Zeit hat (Idle-loop).
Im vorliegenden Fall arbeite ich mit 10bit PWM und 10bit ADC, das ist nicht soo ideal, aber mit dem kleinen Attiny gehts nicht besser.
Wenn man es noch mal macht, würde ich den Attiny441 nehmen, der ist flexibler.

LG,
Ingolf





LG,
Ingolf


__________________________
LG aus Andalusien.
RailSolution - das Lichtprojekt von Modellbahnern für die Modellbahn


TecnoWorld  
TecnoWorld
InterRegioExpress (IRE)
Beiträge: 270
Registriert am: 11.03.2015


RE: Kleiner Lok-Decoder für TT/N

#10 von dany44 , 23.08.2018 19:27

Hat die Decoder in der Zwischenzeit noch sonst jemand ausprobiert? Die Ergebnisse würden mich interessieren!

@TecnoWorld:

Sind die Unterlagen jetzt irgendwo erreichbar? (Du hattest mal von Git geschrieben?!)

Danke.

Liebe Grüße, dany


dany44  
dany44
InterRegio (IR)
Beiträge: 175
Registriert am: 13.12.2015


   


  • Ähnliche Themen
    Antworten
    Zugriffe
    Letzter Beitrag
Xobor Einfach ein eigenes Forum erstellen
Datenschutz