Hallo zusammen,
ich entwickle gerade einen Motorsteller und habe leider so meine
Problemchen.
Grundsätzlich läuft er rund in beide Richtungen mit 32kHz, allerdings
macht er mir in eine Richtung Probleme. So bei ca. 60% PWM verspringt
sich der Code immer wieder mal oder der Chip resetted, ohne dass im
MCUSR irgendwelche Flags gesetzt werden (BrownOut wäre auf 2.7V
eingestellt). Wird die Drehzahl langsam auf die 60% hochgestellt, kann
man erkennen, dass vermehrt Störungen auftreten, auch der Motor beginnt
etwas zu krächzen. Ich vermute, dass die Lager in diesem Drehzahlbereich
nicht sauber laufen. Es handelt sich um einen billigen Motor zum Testen,
allerdings soll mir der die Schaltung natürlich nicht außer Tritt
bringen.
Potentiell habe ich verschiedene Dinge ausgemacht und bin auf eure
Meinung gespannt:
1. Keine Gatewiderstände für die N-MOSFET sowie den P-Ansteuer-MOSFET.
Ich dachte der Ausgangswiderstand wäre genug, aber können mir
Gateentladungen der FETs Störungen verursachen?
2. Keine Gatewiderstände für die P-MOSFETs. Hier habe ich überhaupt ein
komisches Phänomen, siehe Oszi - Attachement. Warum habe ich hier eine
Spitze nach unten? Ich habe auch mit der Versorgungsspannung (Netzteil)
experimentiert und diese Spitze unterschreitet nie 3V... Die
Akkuspannung an der anderen Seite von RN5C ist relativ stabil.
3. 10Ohm vor die Blockkondensatoren
4. Drossel in die 5V Leitung
5. Ein 1000uF parallel zur Versorgungsspannung hat nichts genutzt.
Ich habe auch versucht die Frequenz auf 2kHz runterzusetzen, aber das
hat das Problem noch verschlechtert.
Hi,
hier mal ein paar Ideen:
1. Teste mal nur mit internem Takt
2. Setze mal 100nF parallel zum PullUp der P-Mos
3. Rücklaufdiode über den Spannungsregler.
Im Einschaltmoment der low side (M2 LU) bricht die Versorgungsspannung
ein, weil der Motor einen zu hohen Strom zieht bzw. das Netzteil den
Strom nicht liefern kann. Kleineren Motor verwenden oder anderes
geeignetes Netzteil bzw. Akku mit low ESR Kondensatoren. Kurz gesagt,
das Netzteil ist nicht geeignet für den Motor oder anders rum. Außerdem
kann man kleine Gate-Widerstände verwenden, dann sind die Schaltflanken
und der Stromanstieg nicht so steil.
Hi
>3. Rücklaufdiode über den Spannungsregler.
STM Dataseet:
Application with high capacitance loads and an output voltage greater
than 6 volts need an external diode
MfG Spess
CATCO schrieb:> 2. Setze mal 100nF parallel zum PullUp der P-Mos
Wofür soll das denn gut sein?
Grundsätzlich ist ein AVR Pin bei 32kHz zu schwach, um ein Gate zügig
aufzuladen und zu entladen. Aber geanuso wichtig ist die Ansteuerung
durch die Software. Wie ist denn hier die Strategie? Ich sehe da zwar 2
benutzte OC Ausgänge, aber auch 2, die offensichtlich nur per Software
bedient werden. Besser ist da ein Mega48-328, der auch komplementäre
Timerausgänge zur Verfüngung stellen kann.
Genauso wichtig ist die Dämpfung der Gegen-EMK. Die wird über die
Bodydioden in die 12V abgeleitet und müssen dort vom Elko geschluckt
werden. Es lohnt sich also, hier kräftig abzublocken.
Hallo,
siehe Dir mal den PORTD.2 an. Der PB kann da zwei PWM kombinieren und
das spinnt, der schaltet den D2 immer mit auch wenn man den Modulator
gar nicht verwendet (bin gerade unterwegs hab das Datenblatt nicht bei).
Die Schaltung ist kompletter Müll und für hohe Schaltgeschwindigkeiten
unbrauchbar. Da hat irgendwer vergessen, daß MOSFETs eine Gate-Kapazität
haben, die in dieser Anwendung möglichst schnell umgeladen werden muss.
Ich kann nicht bestätigen, dass die Spannung zusammenbricht. Ich habe
mit dem Oszi weder an der Versorgungsspannung, noch am uC einen
Spannungseinbruch messen können.
Den Motor oder das Netzteil zu tauschen ist keine Lösung, da es sich
hier um ein Testsetup handelt. Der Motor soll größer werden und statt
dem Netzteil kommt ein Akku. Das Problem bestand auch mit dem Akku.
1. Kein Gatewiderstand oder AVR Pin zu schwach:
Die kleinen MOSFETs haben eine Gatekapazität von 550pF und der AVR kann
bis zu 40mA pro Pin liefern. Auch Kurzschlüsse bringen ihn normalerweise
nicht aus der Ruhe. Außerdem sieht man doch am Oszi, dass der N-Kanal
ultraschnell schaltet. Die P-FETs werden übrigens statisch geschaltet
und die N-FETs machen die PWM.
Fazit: FETs scheinen zu schalten. Können die 32kHz Stromspitzen durch
die Gateladung/-entladung das interne Energieniveau des Controllers
stören?
2. Rücklaufdiode über den Spannungsregler
Es werden zwei Spannungsregler verwendet: Der IFX1117 macht ca. 6V und
hat tatsächlich keine Rücklaufdiode. Der davor geschaltete MCP1802
schon. Die Rücklaufdiode schützt aber nur den Spannungsregler vor
Beschädigung, oder?
3. PORTD.2 PB kann da zwei PWM kombinieren...
Das ist sehr interessant. Der Pin geht bei mir auf die zweite Seite der
H-Brücke und . Woher hast du die Infos?
Kann mir jemand den Signalverlauf der blauen Kurve (Gate P-Kanal)
erklären? Woher kann dieser Einbruch kommen? Die andere Seite des
Pull-Ups hat keine Einbrüche und FDC6561 steuert ebenfalls nicht. Kann
es sich um eine Rückkopplung handeln? Kann der P-MOSFET dadruch leitend
werden?
Und eine weitere Frage, die mich beschäftigt: Warum resetted der
Controller, ohne eines der Reset Flags zu setzen? Falls es durch
"Verspringen" im Code an eine nicht-existente Adresse verursacht wird,
warum schlägt der BrownOut nicht schon davor an?
Ist die Taktgenerierung vlt gestört?
VG, Paul
Paul schrieb:> Ich kann nicht bestätigen, dass die Spannung zusammenbricht. Ich habe> mit dem Oszi weder an der Versorgungsspannung, noch am uC einen> Spannungseinbruch messen können.
Das widerspricht eindeutig dem oben geposteten Oszi-Bild (dunkelblaue
Linie, Meßpunkt zwischen RN5C u. FDS 4935).
Aber der "Spannungseinbruch" kommt nicht von der Versorgungsspannung.
Auf der Netzteilseite des Widerstands gemessen ist außer leichten
Schwingungen im Zehntelvoltbereich nichts zu sehen.
Aber ich frage mich auch, was diesen Einbruch verursacht.
Je größer das Tastverhältnis, desto größer der Sprung.
Sorry, beim oberen Beitrag fehlt etwas.
Die beiden Fotos beziehen sich auf die Anlaufphase des Motors. Die erste
Spitze in blau ist abhängig vom Tastverhältnis. Je größer das
Testverhältnis desto größer auch die Spitze.
Hi
>Aber ich frage mich auch, was diesen Einbruch verursacht.
Hast du irgendwelche Totzeiten, die verhindern das die Transistoren
gleichzeitig schalten, in der Software drin?
Was zeigt dieser Mischmasch im Bild 20200429_183714.jpg?
MfG Spess
Das Portpin wird den FET in der sehr seltsamen Motorbrücke nicht
durchschalten können. Keine Chance. Baue Dir die Brücke mit FET Treibern
auf und überarbeite die Schaltung. Wurde aber weiter ober schon
angeschnitten.
Beitrag "Re: ATmega328PB mit H-Brücke hat Aussetzer"
Ich hänge mal ein PDF an, das Dir eine H-Bridge zeigt. Die funktioniert
schon seit Jahren und ist auch leicht an andere Spannungen und Ströme
anzupassen. Den richtigen FET mit einen ensprechenden RDSon, den Du
bestimmst mit Deiner PWM-Frequenz. Bei dem Beispiel von mir liegt die
bei 30KHz. Die Software läuft in einem ATmega168 (PD-Regler ) mit
Incremental Input.
Viele Grüsse,
Steffen
Wieso genau ist meine H-Brücke "sehr eigenartig"?
Weil ich keinen FET Treiber verwende?
Der FDS6990 hat eine Gatekapazität von 550pF, der MegaPin einen
Ausgangswiderstand irgendwo im 100Ohm Bereich, ergibt eine Zeitkonstante
von 50E-9s. Warum soll ich damit keine 32kHz hinbekommen?! Außerdem
sieht man doch auf den Oszibildern, dass der FET schaltet? (pink am
oszi) Sollte ich hier am Holzweg sein, lerne ich sehr gerne, aber dann
bitte mit fundierten Argumenten.
Außerdem habe ich keine Probleme, die auf schlecht schaltende FETs
hindeuten würden, wie zB Erwärmen der FETs.
Mischmasch im Bild 20200429_183714: In hbruecke.PNG sieht man die
Messpunkte. Gelb ist das Gate des P-MOSFET, der statisch nach unten
zieht.
Daher gibt es auch keine Totzeiten einzuhalten, außer beim Anlaufen des
Motors und da mache ich fix ca 1us.
/Paul