Forum: Mikrocontroller und Digitale Elektronik MOSFET Schaltung an µC


von Micha K. (rumeniger)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich bin gerade dabei einen PWM-Handregler für eine "Carrerabahn" zu 
entwerfen. Hierbei wird die Regelerstellung über den ADC eingelesen und 
anschließend als PWM ausgegeben. Als µC verwende ich einen Atmega8.
Es gibt zwei verschiedene Zustände.
Zu einem das "Gas geben", welches über einen P-Kanal Mosfet geschieht 
und zum anderen das "Bremsen" mit einem N-Kanal Mosfet. Der Motor ist im 
Schaltplan angedeutet. Beim Bremsen wird der Motor mit der Masse über 
den N-Kanal Mosfet Kurzgeschlossen. Über den duty Cycle des PWM kann die 
Bremskraft variiert werden.
Beim "Gas geben" wird der Motor mit der 12V Versorgungsspannung abhängig 
des duty Cycle versorgt.
Der µC sorgt dafür, das nie beide Mosfets gleichzeitig durchgeschaltet 
sind.

Die Spannungsversorgung variiert zwischen 12V - 20V.
Es können Ströme bis zu 20A auftreten.
Die PWM Frequenz wird irgendwo zwischen 5-60 kHz liegen.

Nun zu meiner eigentlichen Frage:
Kann ich die Schaltung so umsetzen ?
Muss ich noch weitere Vorkehrungen vornehmen ?
Durch die Basis-Emitter Widerstände sorge ich für einen definierten 
Startzustand und verhindere einen Kurzschluss der beiden Mosfets ?
Muss ich noch weitere Schutzmaßnahmen vornehmen ?



Vielen Dank für eure Unterstüzung.

Michael

von MaWin (Gast)


Lesenswert?

Theoretisch kann man das so machen. Da allerdings auf einer Carrera Bahn 
auch mal Kurzschlüsse auftreten, und das Netzteil offenbar über 20A 
liefert, fehlt mir ein Kurzschlussschutz. Auch ist fraglich, warum 30 
Jahre alte MOSFETs verwendet werden müssen. Die 1k/10k können auch 
100R/100k sein. Warum man die Gate-Schaltung des BUZ11 anders baut als 
die des IRF4905 ist rätselhaft, beide sind praktusch dasselbe Szenario.

von Flo (Gast)


Lesenswert?

Ich würd sagen Q2 ist falsch angeschlossen.
So leitet gerade die Bodydiode in Richtung GND oben.

von Micha K. (rumeniger)


Lesenswert?

Vielen Dank für die schnelle Hilfe :)

Der BUZ11 wird durch einen neueren Typ ersetzt. Allerdings hatte ich 
gerade nur diesen Typ zur Hand. Wie soll ich die Kurzschlusssicherung 
realisieren? Welche der beiden Beschaltungsmöglichkeiten soll ich 
verwenden ?

Viele Grüße

von F. F. (foldi)


Lesenswert?

Was sollen denn R8 und R4 machen?

von Micha K. (rumeniger)


Lesenswert?

R4 und R8 :

Die Basis des Transistors auf Masse ziehen, damit ein definierter 
Zustand beim Einschalten vorliegt.

von F. F. (foldi)


Lesenswert?

Ich hätte ja gesagt, dass das die Beschaltung für einen N-Channel ist.
In keiner Transistorschaltung habe ich das bis jetzt so gesehen.

Das macht man eigentlich im µC, mit Pullup und Pulldown.

: Bearbeitet durch User
von Thomas E. (picalic)


Lesenswert?

Servus,

ich würde auch noch eine Schottky-Diode (~5-10A) parallel zu Q2 
spendieren, sonst muss der im PWM-Fall (bei "Gas"-PWM) viel Leistung 
verbraten.

von Micha K. (rumeniger)


Lesenswert?

Die Shottkey Diode werde ich hinzufügen. Danke :)

Soll ich die Widerstände R4 und R8 durch die internen Pullup-Widerstände 
des AVR´s ersetzen ?
Dadurch würde zwar der "Gas Mosfet" durchschalten, was aber weiter nicht 
schlimm wäre.

Wie soll ich eine Kurzschlusssicherung realisieren ?

von Jörg E. (jackfritt)


Lesenswert?

Sollte im Netzteil einer echten Carrerabahn kein billiger 
Kurzschlussschutz drin sein?
Du kannst deine Schaltung mit einer 10-20A Sicherung absichern.

von Micha K. (rumeniger)


Lesenswert?

Ich verwende anstelle des Carrera Netzteiles ein Labornetzgerät oder ein 
PC-Schaltnetzteil. Das PC-Schaltnetzteil besitzt eine elektronische 
Sicherung ?
Die Sicherung füge ich in Serie beim "schwarzen Pin" ?

Der Sinn der parallelen Shottkey Diode bei Q2 ist mir nicht ganz klar.

von Jörg E. (jackfritt)


Lesenswert?

Was passiert wenn du die Schaltung ohne definierte portzustände vom 
atmega einschaltest? Wenn er also ausgebaut ist? Oder im reset zustand 
befindet. Dann siehst du wie r4 und r8 wirken. Leg zusätzlich mal mit 
einem netzteil zwischen 10-20V an und schau wie sich deine schaltung 
ohne atmega verhält. Sie sollte einen sicheren zustand einehmen. 
Strombegrenzung auf 100-200mA einstellen...

von Michael K. (tschoeatsch)


Lesenswert?

Ich frag' mich grad' wie du das 'Bremsen' erkennst. Bei normaler Fahrt 
sollte die Brems-pwm doch deaktiviert sein, beim Bremsen die Fahr-pwm. 
Wie machst du das?

von Jörg E. (jackfritt)


Lesenswert?

Die schottky nimmt die generatorenergie auf, wenn der fet nich 
durchgeschaltet ist. Sonst macht das die interne bodydiode vom fet die 
aber viel schlechtere werte hat und dafür nicht ausgelegt ist.

Aber wenn dann an Q4 :) und nur solange Q2 nicht durchgeschaltet ist d.h 
in der totzeit die vom atmega kommen sollte.

von Jörg E. (jackfritt)


Lesenswert?

Dein schaltnetzteil is wohl schneller wie eine sicherung. Du solltest 
nur aufpassen das die bahnschleifen, anschlüsse etc. das alles 
aushalten. Sonst musst du halt immer das schwächste glied entsprechend 
absichern. Was passiert wenn schleifkontaktreste zwischen den schienen 
liegen und einen brand entfachen etc. aber das is mal wieder ein anderes 
angst thema..

@micha
Da brauch er nich erkennen. Das ergibt sich aus dem tastverhältniss der 
PWM, mal is mehr gasgeben mal is es mehr bremsen. Bei pwm aus is es halt 
vollbremsung bzw. wie stark der motor bei kurzschluss mechanisch bremst.

von Jörg E. (jackfritt)


Lesenswert?

Dein programm im atmega steht aber schon? Hört sich gerade nich mehr so 
an ?
Hast du dir mal den Artikel durchgelesen?
https://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM

von Jörg E. (jackfritt)


Lesenswert?

Uaaah 2x Micha K. und verschiedene User. Sorry bin verwirrt...

von MaWin (Gast)


Lesenswert?

Micha K. schrieb:
> Wie soll ich die Kurzschlusssicherung realisieren?

BTS432 oder so würde ich nehmen.

von Thomas E. (picalic)


Lesenswert?

Jörg E. schrieb:
> Aber wenn dann an Q4 :) und nur solange Q2 nicht durchgeschaltet ist d.h
> in der totzeit die vom atmega kommen sollte.

Nö! Q4 schaltet den Motor ein (gegen Plus), und wenn Q4 sperrt, fließt 
der Strom weiter in derselben Richtung durch die Motor-Induktivität, 
d.h. die Spannung wird negativ gegen Masse. Ohne Schottky-Diode fließt 
er dann durch die Body-Diode von Q2, wo er dann Verlustleistung 
produziert. Noch besser, als eine Schottky-Diode, wäre ein aktiver 
Freilauf, d.h. wenn Q4 gesperrt ist, Q2 leitend zu schalten, aber auch 
nur so lange, bis der Strom ggf. auf 0 abgesunken ist, sonst bremst es 
ungewollt wieder.

von Jörg E. (jackfritt)


Lesenswert?

@Thomas Aua, du hast natürlich recht, Schottky parallel zum Motor. Also 
Q4. Wenn er die PWM richtig verschaltet sollte es genau so klappen wie 
du beschreibst.

von Micha K. (rumeniger)


Lesenswert?

Erstmal vielen Dank für die zahlreiche Hilfe :)

Um nochmals Prinzipiell den Ablauf zur erläutern:
Q2 ist der MOSFET der beim Bremsen wirkt. Auch hier wird ein PWM 
eingesetzt. Somit kann die Bremskraft variiert werden. Im "Gas betrieb" 
wird der MOSFET Q2 gesperrt. Umgekehrtes gilt für den "Brems betrieb".
Wenn ich nun eine parallele Diode verwende wird doch die Bremswirkung 
von Q2 verhindert, da der gesamte Strom über die Diode fließt?

Ich habe die Schaltung mit LTSpice simuliert. Die Widerstände R4 und R8 
habe ich nun gegen VCC beschaltet. Also haben sie die selbe Aufgabe wie 
die internen Pullup Widerstände, oder ?
Dadurch wird im Ruhezustand der "Brems MOSFET" Q2 durchgeschalten und 
der "Gas MOSFET" Q4 gesperrt.

Ich habe mir gerade noch den Artikel der "Einfacher 1-Quadrantensteller 
mit P-Kanal Mosfet" durchgelesen. Soll ich diese Schaltungsvariante 
verwenden ?

Das Programm ist teilweise fertig gestellt und soweit einsatzfähig.
Momentan wird das jeweilige Umschalten zwischen "Bremsen" und "Gas 
geben" durch die Register OCR1A und OCR1AB realisiert. Zuerst wird das 
Register auf den Wert gestellt, in dem der MOSFET sperrt, welcher MOSFET 
sperren soll. Danach wird erst das andere Register mit dem aktuellen 
"PWM-Wert" beschrieben.
Ist es schneller und sicherer wenn ich den Port Pin Ein bzw. Ausschalte 
?

von Thomas E. (picalic)


Lesenswert?

Solange Du den Bremstransistor aus lässt, hast Du die Schaltung des 
1-Quadranten-Stellers, wobei die Freilaufdiode (D1) durch die Body-Diode 
des Brems-Transistors gebildet wird. Da diese Body-Diode aber keine 
Schottky-Diode ist, ergibt sich durch die relativ hohe Flusspannung eine 
hohe Verlustleistung, und der Transistor muss ggf. auf ein Kühlblech. 
Eine Schottky-Diode hat weniger Spannungsabfall und produziert daher 
weniger Verlustleistung.

Da der Motor als Generator eine positive Spannung produziert, sperrt in 
dem Fall die Body-Diode bzw. die Schottky-Diode. Im Prinzip gilt das mit 
der Verlustleistung auch beim Bremsen mit PWM, d.h. hier könnte man die 
Verlustleistung von Q4 ebenfalls durch eine Schottky-Diode verringern, 
aber ich denke, in der Summe wird da nicht soviel Leistung anfallen, das 
eine zusätzliche Schottky-Diode notwendig ist (wer zuviel  bremst, 
verliert ja sowieso... ;) )
Mit Brems-PWM hast Du einen 2-Quadranten Steller, mit 
Energie-Rückgewinnung. Hier must Du beachten, daß Deine Stromversorgung 
auch in der Lage ist, die zurückgespeiste Bremsenergie aufzunehmen, ohne 
daß die Spannung zu hoch steigt!

von Dietrich L. (dietrichl)


Lesenswert?

Micha K. schrieb:
> Die Widerstände R4 und R8
> habe ich nun gegen VCC beschaltet. Also haben sie die selbe Aufgabe wie
> die internen Pullup Widerstände, oder ?
> Dadurch wird im Ruhezustand der "Brems MOSFET" Q2 durchgeschalten und
> der "Gas MOSFET" Q4 gesperrt.

Das ist wie ich das sehe aber falsch. R4 und R8 gegen GND war schon 
richtig. Dann hast Du in Ruhe den Zustand "Bremsen".

Es geht ja nicht darum, den internen Pull-Up zu ersetzen, sondern um den 
Zustand nach Power-On, bis die Software die Initialisierung durchlaufen 
hat, zu überbrücken. Solange sind die Pins nämlich hochohmig (Eingänge).
Im Betrieb brauchst Du keine Pull-Ups. Da schaltest Du die Ausgänge ja 
aktiv auf High und Low.

Micha K. schrieb:
> Die PWM Frequenz wird irgendwo zwischen 5-60 kHz liegen.

60kHz ist bei der noch relativ hochohmigen Ansteuerung vermutlich zu 
viel. Dazu wäre ein "echter" MOSFET-Treiber notwendig/sinnvoll.
Aber warum so schnell? Der Motor braucht nicht soviel.
5kHz könnten lediglich akustisch etwas stören.

Gruß Dietrich

von Thomas E. (picalic)


Lesenswert?

Dietrich L. schrieb:
> 60kHz ist bei der noch relativ hochohmigen Ansteuerung vermutlich zu
> viel.

ACK - auch unter EMV-Gesichtspunkten halte ich eine hohe 
Ansteuerfrequenz nicht für sinnvoll! Schließlich ist der Motor ja ein 
Stück vom Steller entfernt und die PWM liegt auf der ganzen Rennbahn an 
(oder kommt der Steller ins Auto?)

von Micha K. (rumeniger)


Angehängte Dateien:

Lesenswert?

Jetzt habe ich die Schaltung nochmals simuliert. Jetzt war ich total 
verunsichert mit den Pullups.
Allerdings brauche ich wie im neuen Schaltplan eingezeichnet sind die 
Pulldown Widerstände oder ? Damit ist gewährleistet das der Brems Mosfet 
beim einschalten geöffnet und der Gas Mosfet gesperrt ist ?

Die Widerstände R1/R2 sowie R4/R8 habe ich durch 100R sowie 100k 
ersetzt. Zusätzlich habe ich die Shottkey Diode D2 (DO201 -> 60V, 5A) 
eingeführt.
Lässt sich die Schaltung nun so umsetzen oder sind noch weitere 
Veränderungen notwendig ? Gegebenenfalls bekommt der "Schwarze Pin" Pfad 
noch eine 20A Sicherung.

In dem Artikel https://www.mikrocontroller.net/articles/Motoranst... 
habe ich zur bestimmung der PWM Frequenz die Zeitkonstante L/R enteckt. 
Beide angaben habe ich noch in keinem Datenblatt gefunden. Lohnt es sich 
diese zu ermitteln oder soll ich die richtige PWM Frequenz durch 
ausprobieren herausfinden? Einige Hersteller solcher PWM Regler 
verwenden hierbei Frequenzen bis 30kHz.

Der "Steller" befindet sich im Handregler. Somit liegt auf der Rennbahn 
das PWM Signal an.

Viele Grüße

von Thomas E. (picalic)


Lesenswert?

D2 ist verkehrt herum und würde so natürlich die Betriebsspannung des 
Motors kurzschließen! (wenn ich es grad richtig sehe, ist beim BUZ11 
auch S und D vertauscht!)

: Bearbeitet durch User
von Micha K. (rumeniger)


Angehängte Dateien:

Lesenswert?

S und D sind natürlich verdreht... man sollte einfach die Schaltung 
richtig von Spice in Eagle übertragen...:)
Anbei der neue Schaltplan.

Die Diode D2 muss doch parallel und in die gleiche Richtung wie die 
Body-Diode zeigen ?

von Dietrich L. (dietrichl)


Lesenswert?

R1 und R2 sind zu niederohmig und überlasten die Ports. Der 
Kollektorstrom ist ja nur 12 bzw. 15mA, da reicht ein deutlich kleinerer 
Basistrom.

Gruß Dietrich

von Micha K. (rumeniger)


Lesenswert?

Okey, dann änder ich die Widerstände wieder auf einen größeren Wert. 
Habe in der Simulation 1k verwendet. Dadurch fließt in die Basis ein 
Strom von 4mA. Ist dieser Wert ok ?

von Dietrich L. (dietrichl)


Lesenswert?

Micha K. schrieb:
> Dadurch fließt in die Basis ein Strom von 4mA. Ist dieser Wert ok ?

Da geht zwar nichts kaputt, aber das ist immer noch unnötig viel.

> Kollektorstrom ist ja nur 12 bzw. 15mA

Da reicht locker 0,5mA Basisstrom. Ich würde 4,7...10kΩ nehmen.
Es sei denn, du willst die FETs schneller machen und den Kollektorstrom 
noch erhöhen.

Gruß Dietrich

von neuer PIC Freund (Gast)


Lesenswert?

Wenn ich das richtig verstanden habe, ist der original Handgriff nichts 
anderes als ein Drahtpotentiometer, dessen Schleiferabgriff auf den 
Motor führt. Damit wird der Handgriff zu einer 2-Quadranten 
Spannungsquelle. Entsprechend kommt auch Gleichspannung am Motor an und 
dieser hängt niemals "in der Luft".

Deswegen würde ich keine brutalen Flanken auf so eine riesige "Antenne" 
geben. Entweder die PWM im Auto mit kleinen Schleifen, oder hinter den 
AVR eine einstellbare Spannungsquelle.

von Thomas E. (picalic)


Lesenswert?

Micha K. schrieb:
> Die Diode D2 muss doch parallel und in die gleiche Richtung wie die
> Body-Diode zeigen ?

Korrekt - und wenn der FET richtig herum eingebaut ist, ist das auch so 
(Anode an GND).

von Thomas E. (picalic)


Lesenswert?

neuer PIC Freund schrieb im Beitrag #4404968:
> Deswegen würde ich keine brutalen Flanken auf so eine riesige "Antenne"
> geben. Entweder die PWM im Auto mit kleinen Schleifen, oder hinter den
> AVR eine einstellbare Spannungsquelle.

Eine Alternative wäre evtl., nicht die Motor-Induktivität zur Glättung 
des Stroms zu nutzen, sondern statt dessen in den Handregler eine 
Induktivität zu schalten. Damit hat man dort lokal praktisch einen 
Buck-Konverter (mit möglichst hoher PWM-Frequenz, damit die Drossel 
klein sein kann) und gibt somit Gleichspannung an die Fahrbahn.

von Jörg E. (jackfritt)


Lesenswert?

Je höher die Frequenz umso mehr Schaltverluste die in den Mosfets in 
Wärme umgesetzt werden. Deine Schottky muss dann auch schnell sein. 
Deswegen auch nie die interne Bodydiode nehmen. Desweiteren ist dein 
Verschleiss an Anker und Kohlen im Motor höher  (Bürstenfeuer). Ich würd 
nich höher wie 2kHz gehn, bei dem Motor. Ansonsten mit Formel und messen 
den optimalen Wert rausfinden, dafür is er dort angegeben...

von Klaus (Gast)


Lesenswert?

Dietrich L. schrieb:
> 5kHz könnten lediglich akustisch etwas stören.

Nur, wenn die Autos ansonsten lautlos sind.

Ich würd das alles mit einer fertigen Halbbrücke wie der BTN8982TA 
machen. Die ist für so etwas gebaut, kann direkt vom µC angesteuert 
werden und hat sogar noch eine Möglichkeit, die Steilheit der PWM Flanke 
einzustellen. Da kann man eigentlich nichts mehr falsch dimensionieren. 
Dann die Frequenz an die Induktivität des Motor anpassen, so daß ein 
schöner einstellbarer Stromchopper ohne lückenden Betrieb entsteht. Dann 
hat man ein kontinuierliches Drehmoment und hält das Bürstenfeuer klein.

MfG Klaus

von Micha K. (rumeniger)


Lesenswert?

Vielen Dank für die zahlreiche Hilfe. Morgen müsste das Paket mit den 
Bauteilen kommen und ich werde die Schaltung aufbauen und testen.
Das mit der fertigen Halbbrücke ist eine prima Idee. Die werde ich 
gleich mal bestellen.

Viele Grüße

von Micha K. (rumeniger)


Lesenswert?

Hallo zusammen,
ich habe die Schaltung ausprobiert und sie Funktioniert soweit 
zuverlässig. Zusätzlich habe ich noch eine Schmelzsicherung zwischen den 
beiden MOSFET's eingefügt.

Kann ich den Transistor durch eine ca. 1m lange Leitung vom MOSFET 
trennen? Oder ist dies sogar sinnvoll damit die Massen weiter 
voneinander getrennt sind ? Ich habe nun eine PWM Frequenz von ca 2 kHz. 
Muss hierbei die Leitung Besonderheiten wie ein Schirm oder eine 
Verdrillung der Aderpaare aufweisen oder spielt das hier noch keine 
Rolle ?


Viele Grüße

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
Noch kein Account? Hier anmelden.