PWM trifft auf PWM, eine Frage der Frequenz?

Hallo liebes Forum, da ich auf meiner HolzSlotBahn viele verschiedene Slotcars benutze und somit häufig die, an der Bahn anliegende Spannung ändern muss, habe ich ein Projekt begonnen, mit dem ich die diese per Software zwischen 0 und 15 V regeln kann. Dazu habe ich ein VB-Programm entwickelt und setze ansonsten noch folgende Produkte ein:

Festspannungsnetzteil 15 V 10 A

Motortreiber STL298N

Arduino Nano

Die eingesetzten Slotcars verbrauchen in der Spitze max. 1,9 A an Strom, so dass der MotorTreiber ausreichen sollte.

Alles funktioniert in der Theorie soweit, aber am Wochenende folgte bei ersten Tests die große Enttäuschung:

So lange ich die Geschwindigkeit der Autos mit einem ganz normalen, mit Widerständen geregelten, mechanischen Handregler verändere, funktioniert alles prächtig. Da der Fortschritt aber auch in unser Slotcar-Hobby Einzug gehalten hat, benutzen wir auch elektronische Regler, wie z.B. einen "ACD pro 3". Wenn ich den an meine Bahn anschließe, fährt das Slotcar wenige Meter und fängt an zu ruckeln oder bleibt sogar stehen. Meines Erachtens liegt es wohl daran, dass dieser Regler auch PWM-gesteuert ist. Die PWM Frequenz liegt bei 30kHz.

Meine Frage(n) ist nun die:

Könnte das Problem dadurch gelöst werden, dass ich am Nano die PWM-Frequenz ändere? Beim ersten Test wurde der Motortreiber am Arduino über Pin 3 gesteuert. Versuchsweise habe ich heute Pin 5 benutzt, leider ohne Erfolg. Ich bin mir aber nicht sicher, ob sich die Frequenz an den Pins des Nano überhaupt unterscheidet.

Gibt es noch andere Lösungsansätze, die für mich als Laie umsetzbar sind?

Jetzt schon vielen Dank für Eure Hilfe.

LG Markus

Meines Wissens sind die Frequenzen an allen Pins gleich. Selbige läßt sich aber ändern, mit möglichen Einflüssen auf andere Funktionen. Bin da nicht der Profi.

Wow, was mancher so alle im zusammen baut. Respekt schaut Klasse aus.

Ich komme bei den Handregler nicht ganz mit.

Die Handregler sind an deinem Arduino angeschlossen? dabei ermittelst du welche Stellung die haben und dann gibt du dem Treiber das Signal wie viel Strom das Auto bekommen darf ?

Demnach liest du einen Analogen Handregler auch Analog ein, was scheinbar auch gut klappt. doch jetzt versucht du ein PWM Signal an einem Analogen Eingang einzulesen? Ich bin kein Profi und verstehe viel nicht, doch wenn das so ist würde ich sagen das das so nicht klappen kann.

Du müsstest das PWM Signal von deinem "Neuen" Handregler erst wandeln das du es richtig einlesen kannst. Siehe dazu hier: --> PWM signal einlesen

gruß Mücke

EDIT: woher weist du das die PWM Frequenz bei 30kHz liegt bei deinem "Neuen" Handregler??

hi,

ja, da bin ich auch ausgestiegen. spannungsregeln und ein festspannungsnetzteil? und was macht der nano eigentlich? steuern die regler die nanos an und die die H-brücken? dann sinds aber immer noch 15V...

gruß stefan

Ich glaube das das Festspannungsnetzteil für die Autos da ist. Die H-Brücke ist für die Ansteuerung der Autos da, ist ja eigentlich nur ein Kleiner DC Motor im Auto der über die Leitungen im Boden mit Energie versorgt wird , um so mehr Energie um so schneller Fährt das Auto.

Der Arduino müsste demnach die Ansteuerung der H-Brücken übernehmen, damit der Arduino aber wies was er welchen Auto an Energie zu verfüge stellen soll müsste das Signal der Handdrücker eingelesen werden.

Die "Alten" waren wahrscheinlich einfache Potis die die man auslesen konnte und gut war. Die "Neuen" sind wahrscheinlich mit einem PWM Signal ausgestattet, was aber zu vorlege haben müsste das die "Alte" Technik bei einer kauf bahn auch zum Teil ersetzt werden müsste.

naja lasen wir uns Überraschen was uns Splits11 darüber berichten wird.

Hallo splits, schönes Projekt. Leider fehlt hier noch die Info, wie du das ganze verschaltet hast (Stromlaufplan). Ggf. auch die Angaben der Motoren (falls bekannt).

da ich auf meiner HolzSlotBahn viele verschiedene Slotcars benutze und somit häufig die, an der Bahn anliegende Spannung ändern muss

Wunderschönes (Erwachsenen) Spielzeug. ;) ;) ;)

Der L298 verbrät ca 3V an den Leistungstransistoren. Außerdem brauchst Du keine H-Brücke sondern einen Leistungs-P-MOSFET-Transistor (mit der richtigen Ansteuerung) pro Spannung/Bahn.

Ich würde aber verschiedene Netzteile nehmen und mittels Relais die richtige Spannung auf die Bahn schalten.

http://www.arduino.cc/en/Reference/AnalogWrite: The frequency of the PWM signal on most pins is approximately 490 Hz. On the Uno and similar boards, pins 5 and 6 have a frequency of approximately 980 Hz. Pins 3 and 11 on the Leonardo also run at 980 Hz.

Dies gilt für Arduinos mit ATmega328 Controller: Die Frequenz kann in 5 Schritten eingestellt werden aber kein Wert ist bei allen Timern gleich vorhanden. Für ATmega2560 und ATmega32U4 kann ich Dir nichts sagen.

Grüße Uwe

Ich bitte vielmals um Entschuldigung, aber ich hatte gerade ein wenig Stress.

Leider habe ich mich auch ein wenig unklar ausgedrückt:
Eine herkömmliche Carrerabahn wird mit 14,8 Volt betrieben. Diese 14,8 V greift der Handregler ab und vermindert dieselben, wenn der Hebel am Regler entsprechend getätigt wird. Eine gute Skizze dazu habe ich hier gefunden.

Es gibt nun aber verschiedenste Slotcar-Hersteller, die auch verschiedene Motoren einsetzen (Hier nur mal ein Beispiel). Oftmals sind aber auch nur die Autos vom Verhalten her so anspruchsvoll, dass Sie mit 14,8 V viel zu schnell wären und der Regelbereich des angeschlossenen Handreglers nicht mehr ausreichen würde, um das Slotcar noch vernünftig fahren zu können. Also muss halt eine geringere Grundspannung geliefert werden.

Daher benutzen wir normalerweise je Fahrspur ein Labornetzteil, um die Spannung entsprechend variieren zu können.

Mit meinem Projekt wollte ich halt die teuren Netzteile ersetzen und zum anderen auch eine komfortable Möglichkeit schaffen, die Werte per Software steuern zu können. Dabei benutze ich eine Fahrzeugliste, in der für das jeweilige Fahrzeug ein Spannungswert hinterlegt wird. So braucht man sich die ganzen Varianten nicht mehr alle zu merken. (Siehe Anhang)

Also nochmals kurz: Der Slotcarregler kommt erst hinter meiner Schaltung und greift die von mir gelieferte Spannung ab, vermindert Sie und reicht Sie an die Fahrspur weiter. Wenn ich halt einen elektronischen Regler nehme, wird die von mir per PWM gelieferte Spannung dann nochmals per PWM reduziert…

Woher weiß ich von den 30kHz? Hier

Die Spannungen variieren übrigens von ca 7V bis 15V, je nach Fahrzeug.

LG Markus

Dann vermute ich mal, dass dein Regler nicht mit einer getakteten Versorgungsspannung klar kommt. Wahrscheinlich mußt du ein normales regelbares Netzteil verwenden.

Ein weiterer Punkt ist, dass der Regler beim Bremsen zurückspeist. Ich bin mir Momentan nicht sicher, was da bei einer getakteten Versorgung passiert.

Klaus_ww: Meines Wissens sind die Frequenzen an allen Pins gleich.

Nicht ganz: http://playground.arduino.cc/Main/TimerPWMCheatsheet

Die Timer0 Frequenz ist höher da der Timer in einem anderen PWM Modus läuft

Hm, du könntest z.B. die 15V als höchstmögliche Spannung für alle Bahnen nutzen und für jedes Fahrzeug, also jede Spur den max. PWM Wert per Map Befehl begrenzen, so das die errechneten Werte dann auf das neue Wertefenster umgerechnet werden. Wie jeder induktive Verbraucher bekommt jede Spur eine in Sperrichtung liegende Diode parallel, so das Rückströme beim Bremsen kurzgeschlossen werden.

hi,

wie bestimmst Du denn bisher die spannung? die autos brauchen verschiedene spannungen. wird das bei cockpit XP eingestellt? bekommt also schon der regler (analog oder digitalregler) schon nicht mehr spannung als das auto verträgt?

gruß stefan

Ja, für Cockpit-XP gibt es eine Power-Platine. Die Platine, oder besser die Powerbox, wird pro Spur mit einem externen Notebooknetzteil (20V, 5A) gespeist. In der Cockpit-Software kann man dann die gewünschte Spannung für die jeweilige Spur angeben. Die Platine wird im angegebenen PDF-Dokument genauestens beschrieben, aber ich kann da als Laie überhaupt nichts mit anfangen.

LG Markus

Irgend wie komme ich nicht mehr mit,

Hast du einen Überstichspan auf dem man erkennen kann was wo angeschlossen ist, oder wie du es gerne anschließen möchtest?

Dachte eigentlich das du die Spannung über die "Motortreiber STL298N" an die Bahnen weiter gibst, doch dem ist scheinbar nicht so.

Ich verstehe nur noch Bahnhof, in deinem Aufbau. :-(

Vergiss bitte meinen letzten Post, es war lediglich eine Antwort auf Stefans Frage. Ich werde mich die Tage an einem Schaltplan versuchen, versprochen. Als Laie habe ich halt nur leider keine Ahnung davon..... :-(

LG Markus

:grin: das kann ich nachvollziehen, ich bin da auch nicht gerade gut drin.

Ich dachte an so was, denn ich habe irgend wie nicht verstanden was mit was zusammen hängt.

Bildschirmfoto 2015-05-12 um 11.00.02.png
Bildschirmfoto 2015-05-12 um 11.00.02.png (110 KB)

hi,

irgendwie hab' ich das gefühl, daß das so nicht funktionieren wird.

bisher ist es so, wenn ich alles richtig verstanden habe: da die autos verschiedene spannungen benötigen, werden die spuren von den jeweils "richtigen" netzteilen versorgt. bei analogen reglern wird die spannung verändert, und wenn man ganz auf null geht, wird der motor kurzgeschlossen und damit das auto gebremst. bei digitalen reglern wird per PWM gesteuert, und wenn man vom gas geht, wird abhängig vom reglerausschlag gebremst.

Du willst jetzt ALLE autos mit 20V versorgen, egal was sie eigentlich vertragen, und die geschwindigkeit per PWM steuern. Dir muß aber klar sein, daß PWM NICHT die spannung verändert, sondern nur die vollen 20V in "zeitscheiben" abgibt. daß es bei einem analogen regler funktioniert, den reglerausschlag mit einem arduino zu messen, und dementsprechend per PWM zu regeln, ist klar. wenn Du das allerdings bei einem 7-volt-motor machst, bekommt der immer noch 20 Volt und wird Dir nicht dankbar sein. wenn du bei einem analogen regler auch noch mißt, ob der anchlag auf null ist und demensprechen den motortreiber so schaltest, daß er den motor bremst, geht das auch, aber wiederum mit 20V.

bei einem digitalen regler könntest Du das signal entweder als PWM auslesen und entsprechend ein PWM-signal ans auto weitergeben, oder das PWM vom regler glätten und es analog lesen und als PWM ans auto weitergeben, aber wie gesagt: es bleiben 20 Volt! und das bremsen bei einem solchen regler ist eine ganz andere sache, weil der ja nicht nur bei null-stelluing bremst.

ich würde lieber drei verstellbare netzteile verwenden, dann ist alles original und nichts geht kaputt.

gruß stefan

Ja genau, das ist noch irgend wie was Falsch, ... ich komme da nicht mit, ... was wie wo angeschlossen ist.

@Eisebaer, du weist aber schon das nicht ich der Thema Ersteller bin ;-) ich habe nur ein Beispiel Bild erstellt. habe keinen Plan ob das wirklich so sein soll, oder nicht.

Ich habe die Anordung anders verstanden, nämlich so:
Zwischenablage04.jpg

Und da sehe ich das Problem:
ein einfacher Widerstandsregler funktioniert, ein digitaler Regler mit Controller funktioniert nicht, weil er keine Gleichspannung als Versorgung bekommt, sondern PWM.