Moin alle zusammen, ich habe ein Problem bei der Regelung des Gleichstrommotors mit dem Arduino. Würde mich sehr freuen, wenn ich von euch einen Ratschlag und Hilfe bekommen würde. Mein Problem: Sobald ich meine Schaltung mit Spannung versorge und den Motor einschalten will, stürzt der Arduino ab und der Motor beschleunigt bis zu einer Geschwindigkeit. Daraufhin habe ich einen Oszilloskop an den Ausgang des Treibers angeschlossen und wieder die Spannung angelegt. Dabei habe ich festgestellt, dass bei Betätigung des Gaspedals die PWM bei einem Wert stehen bleibt. Drückt man das Gaspedal schnell beschleunigt der Motor auf eine höhere Geschwindigkeit. Anschließend reagiert der Arduino auf keine Eingangssignale. Erst wenn ich die Spannung entferne kommt der Motor zum Stillstand. Mir ist auch aufgefallen, dass manchmal der Motor auf direkt beim Anlegen der Spannung startet. Einen Software-Fehler kann ich ausschließen, da ohne den Motor alle Funktionen funktionieren. Im Anhang habe ich den dazuhörigen Schaltplan reingestellt mit den verwendeten Komponenten. Mfg Marxx
Die Kondenatoren patallel zum Motor müssenweg, sie erzeugen bei jedem PWM Impuls einen Kurzschluss. Die Freilaufdiode gehört parallel zum Motor angeschlossen, nicht parallel zum Transistor. Dann wäre ein Bild von der Leitungsführung, insbesondere GND interessant. Der Hohe Strom durch Motor (und Kondensatoren) kann erheblichen Einfluss auf das GND Potential an unterschiedlichen Punkten haben. GND muss Sternförmig verdrahtet werden.
Marxx schrieb: > Einen Software-Fehler kann ich ausschließen Schaltungsfehler wohl nicht. Wieso schaust du nicht vorher, wie man es richtig macht ? Wie kommt man auf die Idee einer Freilaufdiode parallel zum Schalttransistor ? Wie kommt man auf die Idee, nach der PWM Elkos anzubringen, die jedesmal wenn der Schalttransistor einschaltet die Betriebsspannung auf ihre Entladespannung runterzerren und gigantische Stromspitzen anfordern um sich aufzuladen ? Ein Elko nach dem Puls bildet eine Spitzenwertgleichrichtung auf die immer gleiche Versorgungsspannung, da ist nichts mehr mit regeln. Und wie kommt man darauf, den Motor nicht zu entstören ?
1 | +--47uH--+---+---+ |
2 | | | | | |
3 | | | 47nF | |
4 | ----------------+ | | | |
5 | verdrillte Zuleitung 47nF +--(M) |
6 | ----------------+ | | | |
7 | | | 47nF | |
8 | | | | | |
9 | +--47uH--+---+---+ |
Die Kondensatoren parallel zum Motor wurden da eingebaut weil der Motor vorher brutal unrund lief. Mit den Elkos lief der Motor immerhin rund auch mit den MOSFETS ohne Probleme, nur der Arduino schmiert ab. Das mit der Diode über die MOSFETS war gedacht um die MOSFETS zu schützen da laut einem anderen Experten die Body Dioden zu klein seien und zu einer unnötig zusätzlichen erwärmung führen. Also eine Diode parallel zum Motor werden wir einbauen, die Kondensatoren nehmen wir auch testhalber weg bzw. Probieren es mit wesentlich kleineren Kapazitäten. MfG
Zu dem was schon gesagt wurde, möchte ich noch vorschlagen zwischen 12V Regler und dem Eingang des zweiten Reglers vorsichtshalber zum Diagnostizieren eine Seriendiode und 470uF oder größer Elko nach Masse schalten. Diese Maßnahme soll verhindern, daß kurze Einbrüche der 12V Versorgung keine (kurzzeitigen) Unterbrechungen der 5V verursachen. Schaltregler reagieren meist viel langsamer auf plötzliche Laständerungen als lineare Regler. Die von Stephanus vorgeschlagene Sternverdrahtung ist anzustreben. Auch dem MosFET Treiber würde ein lokaler Stütz-Elko nicht schaden. Versuch auch den Digitalteil oder 12V Teil mit einem Labornetzgerät zu versorgen um festzustellen ob es auch so Probleme gibt. Alle digitalen Eingänge zum uC sollten übrigens mit Rs und Cs Tiefpass gefiltert sein. Dasselbe gilt für digitale Ausgänge. Microcontroller IO sollte galvanisch nie ungeschützt die Bord verlassen. Auch bei Outputs Serien Rs verwenden. Nur wenn man konsequent den uC vor EMP schützt, kann man störungsfreie Operation erwarten. Das kann man gar nicht dick genug unterstreichen. Flip-Flops reagieren ungemein leicht auf elektromagnetisch induzierte Störungen. Sehr gut man diesen Effekt mit einer alten Weller Magnastat TCP Lötstation testen wenn man das Lötkolbenkabel quer über die Schaltung legt und warten bis der Magnastat ausschaltet. Ungeschützte Digitallogik wird fast ausnahmslos darauf reagieren.
:
Bearbeitet durch User
Die Kondensatoren müssen ganz weg, weil sie Kürzschlüsse verursachen. L/C Filter sind aber Ok, WENN sie bei der Frequenz nicht allzu viel Strom fressen.
Stefanus F. schrieb: > Die Kondensatoren müssen ganz weg, weil sie Kürzschlüsse > verursachen. > > L/C Filter sind aber Ok, WENN sie bei der Frequenz nicht allzu viel > Strom fressen. Das habe ich auch vergessen zu erwähnen. Die Elkos sollten dort zwischen Masse und 42V liegen, nicht parallel zum Motor. Die Freilaufdiode sollte in Sperrrichtung parallel zum Motor sitzen.
:
Bearbeitet durch User
Ein Widerstand von etwa 47k zwischen Gate und Source sollte verhindern das der Motor beim anlegen der Spannung oder wenn der Arduino abgestürzt ist, unkontrolliert anläuft. Sehe gerade du hast einen Treiber für den Fet. Den Widerstand dann an den Ausgang des Arduino geben.
:
Bearbeitet durch User
Marxx schrieb: > Probieren es mit wesentlich kleineren Kapazitäten. Der FET schaltet sehr sehr schnell, das Laden der Kondensatoren, auch wenn sie klein sind, ruft große Spitzenströme mit steilen Flanken hervor. Die dadurch entstehenden Störungen bringen den ProZensor zum Absturz. Ich hatte eine ähnliches Problem beim Anschalten eines Funkmodulspannung mit einem FET. Der Funkmodul hatte Kondensatoren in der Versorgung, die beim Anlegen der Spannung über den FET große Stromspitzen verursachten. Das Problem war nur mit drei Maßnahen in den Griff zu bekommen: 1.) sauber Leuterbahnführungen, 2..) Entstörung der Spannungsversorgung und der IOS des Prozessors, 3.) Reduzierung der Flankensteilheit des FET'S
Marxx schrieb: > vorher brutal unrund lief Kann dies nicht durch ständige Abstürze und Wiederanlauf des Prozessors verursacht worden sein. unrund = pumpen ?
GEKU schrieb: > ständige Abstürze und Wiederanlauf des Prozessors Ich würde das Programm mit einem Debugger laufen lassen und einen Breakpoint nach dem Reset setzen. Damit kann man erkennen, ob es zu ungewollten Restart kommt.
Ich würde dem Taster an D6 einen Pull-Up Widerstand (z.B. 4,7kΩ) spendieren. Der interne Pull-Up des Mikrocontrollers ist rechts schwach und daher in der Nähe des Motors und der Schaltwandler störanfällig. Welchen Widerstand hat denn dein Gaspedal? Es sollten maximal 10kΩ sein. Mich beschleicht gerade ein Dejavu-Gefühl. Hatten wir das nicht schon einmal vor etlichen Monaten?
Danke euch allen für die Tipps und Hilfestellungen. Die Elkos kommen raus. Hubert G. schrieb: > Sehe gerade du hast einen Treiber für den Fet. Den Widerstand dann an > den Ausgang des Arduino geben. Hubert G., inwiefern soll ich den Widerstand an den Ausgang des Arduinos geben? Das habe ich noch nicht ganz verstanden. GEKU schrieb: > Marxx schrieb: >> vorher brutal unrund lief > > Kann dies nicht durch ständige Abstürze und Wiederanlauf des Prozessors > verursacht worden sein. unrund = pumpen ? Das kann natürlich gewesen sein, habe dies damit nicht in Verbindung gebracht. Werde dies aber prüfen.
Marxx schrieb: > Hubert G., inwiefern soll ich den Widerstand an den Ausgang des Arduinos > geben? Das habe ich noch nicht ganz verstanden. Beim Einschalten der Spannung oder wenn der Arduino abstürzt, werden die Ausgänge hochohmig und damit das Potential auf der Leitung unbestimmt. Der Widerstand sorgt für ein eindeutiges Potential und verhindert das der Treiber den Fet einschaltet.
GEKU schrieb: > Ich würde das Programm mit einem Debugger laufen lassen und einen > Breakpoint nach dem Reset setzen. Damit kann man erkennen, ob es zu > ungewollten Restart kommt. Wenn man keinen Debugger benutzt, dann kann man auch bei Programmbeginn in einer 1 sec dauernde Schleife eine Leuchtdiode ansteuern. Blinkt die Leuchtdiode, dann weiß man, dass ständig Programmwiederanläufe (RESTARTS) passieren.
Stefanus F. schrieb: > Welchen Widerstand hat denn dein Gaspedal? Das ist ein Gaspedal einer alten Playstation. Die hat einen Potentiometer von 100k verbaut. Der wird aber nicht komplett genutzt sondern nur in einem Bereich. Den weiß ich jetzt momentan nicht aus dem Kopf.
Hubert G. schrieb: > Der Widerstand sorgt für ein eindeutiges Potential ist auch beim Hochfahren von Vorteil.
Marxx schrieb: > Die hat einen Potentiometer von 100k verbaut ist der dazugehörige Eingang entstört? (Eingangsfilter zur Begrenzung der Bandbreite)
Marxx schrieb: > Die hat einen > Potentiometer von 100k verbaut. Ungeeignet. Damit bekommst du keine stabilen ADC Werte, da der Sample&Hold Kondensator im ADC die Spannung runter zieht und nicht schnell genug geladen werden kann. Entweder packst du einen Spannungsfolger zwischen Poti und ACD oder du stabilisierst die Spannung mit einem Kondensator (z.B. 100nF) und lässt zwischen den Abfragen reichlich Zeit verstreichen, damit das Poti den Kondensator nachladen kann.
Hubert G. schrieb: > Marxx schrieb: > Hubert G., inwiefern soll ich den Widerstand an den Ausgang des Arduinos > geben? Das habe ich noch nicht ganz verstanden. > > Beim Einschalten der Spannung oder wenn der Arduino abstürzt, werden die > Ausgänge hochohmig und damit das Potential auf der Leitung unbestimmt. > Der Widerstand sorgt für ein eindeutiges Potential und verhindert das > der Treiber den Fet einschaltet. Ok, das leuchtet mir ein. Kannst du mir noch sagen zwischen welchen Pins ich den Widerstand schließen und in welchem Bereich dieser liegen soll?
Marxx schrieb: > Schaltplan.jpeg Ist es wirklich so schwierig, ein Bild vor dem Hochladen so zu drehen, dass Oben auch oben ist und die Belichtung so einzustellen, dass weißes Papier weiß aussieht.
E.Zumutung schrieb: > und die Belichtung so einzustellen, dass weißes > Papier weiß aussieht. Aber dann blendet das doch. Heutzutage ist dark-style und hellgraue Schrift auf dunkelgrauem Hintergrund angesagt, alles andere gilt als un-ergonomisch. Und setzt dich gefälligst gerade hin, du bekommst einen krummen Rücken!
E.Zumutung schrieb: > Marxx schrieb: >> Schaltplan.jpeg > > Ist es wirklich so schwierig, ein Bild vor dem Hochladen so zu drehen, > dass Oben auch oben ist und die Belichtung so einzustellen, dass weißes > Papier weiß aussieht. Eigentlich nicht. Soll ich es Dir anhand von Irfanview erklären?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.