Hallo zusammen! Ich bin relativ neu auf diesem Gebiet und versuche gerade einen Brushless-Controller zu entwickeln. Bisher lief alles ziemlich gut. Jedoch muss ich mich seit neustem mit einem etwas ungewöhnlichen Fehler rumschlagen: Meine Schaltung funktioniert ohne Probleme, solange die MOSFETs nicht angesteuert werden. Sobald mit den MOSFETs irgendetwas gemacht wird (z.B. StartUp des Motors) kommt es manchmal zu einem Reset des Mikrocontrollers. Das seltsame ist, dass dieses Problem nicht auftritt, sobald der 'Atmel AVR MK2 Programmer' dran hängt. Es tritt nur auf, wenn die Versorgungsspannung der MOSFETS auf volle +12V geschaltet ist. Drehe ich die Spannung runter auf ca. +6V passiert dies nicht mehr. Da ich nicht genau weiss, was alles im Programmer drinn ist, habe ich auch keine Ahnung, ob es sich um einen Firmware- oder Layout-Fehler handelt. Falls ihr irgendetwas benötigt (Schaltplan, Code-Ausschnitte etc.) lasst es mich wissen. Weiss jemand woran dieser Reset liegen könnte? Bin neu, also seid nicht zu hart zu mir :) Gruss AP
Da würde ich mal ganz dringend gucken, ob die Versorgungsspannung des µC stabil ist.
Der Schaltplan. Ich habe schon versucht das mit einem Oszilloskop zu testen. Entweder ist der Power Fail so kurz, dass ich es mit dem Oszilloskop nicht sehe, oder es liegt gar keiner vor.
Mangow W. schrieb: > Entweder ist der Power Fail so kurz, dass ich es mit dem Oszilloskop > nicht sehe, oder es liegt gar keiner vor. Wie schnell hast du denn wo geguckt und hattest du ein stabiles Triggersignal? Je nach Größe deiner Last und benutzdem Netzteil, könnten die Spannung über den 330µF schon mal zusammenbrechen. Man könnte dem 7805 einen extra Ladekondensator am Eingang spendieren und den von den übrigen +12V durch eine Dioden entkoppelt. Der würde dann nur für den µC einen kurzzeitigen Einbruch der Eingangsspannung überbrücken - wenn es denn daran liegt. Macht der µC einen echten Power-On Reset oder könnte der Brown-Out Detektor zuschlagen?
Können auch EMV Probleme sein, die wegen anderer/besserer Massung nicht auftreten wenn der PC bzw. MKII angeschlossen ist.Passieren könnte das durch Rückwirkungen der induktiven Last.Hänge mal was rein ohmsches dran und schau ob es da auch auftritt.
> Wie schnell hast du denn wo geguckt und hattest du ein stabiles > Triggersignal? Nun ja, ich habe mit einem Speicheroszilloskop die Sec./Div. ganz runtergedreht und mehrmals diesen Fehler provoziert. Der Fehler ist aufgetreten, aber das Oszilloskop hat nie etwas angezeigt. > Je nach Größe deiner Last und benutzdem Netzteil, könnten die Spannung > über den 330µF schon mal zusammenbrechen. > Man könnte dem 7805 einen extra Ladekondensator am Eingang spendieren > und den von den übrigen +12V durch eine Dioden entkoppelt. Der würde > dann nur für den µC einen kurzzeitigen Einbruch der Eingangsspannung > überbrücken - wenn es denn daran liegt. Wie gross sollte denn dieser Ladekondensator sein und wo genau soll ich eine Diode platzieren? > Macht der µC einen echten Power-On Reset oder könnte der Brown-Out > Detektor zuschlagen? Power-On Reset = Spannung ist so tief, dass ein Reset durchgeführt wird. Brown-Out Detektor = Spannung unterschreitet ein bestimmtes Level und der µC resettet von alleine Liege ich mit dieser Annahme richtig? Zudem weiss ich auch nicht, wie ich die beiden Resets von einander unterscheiden könnte. Vielen Dank für die Antwort
> Hänge mal was rein ohmsches dran > und schau ob es da auch auftritt. Den Motor habe ich bis jetzt nicht angeschlossen. Die Tests habe ich nur mit angehängtem Speicheroszilloskop durchgeführt.
Der Brown-Out-Detektor ist ausgeschaltet. An ihm liegt es nicht.
Ich möchte mich in diese Diskussion nicht einklinken. Beim Blick auf das Schaltbild ist mir jedoch aufgefallen, dass... - die P-Kanal-FETs falsch verschaltet sind (Drain und Source vertauscht) - der MCP14E6 mit 12V versorgt werden muss, damit der P-Kanal-FET auch sperren kann. Im Augenblick ist es so, dass es zu einem Kurzschluss kommt, sobald ein n-Kanal-FET leitet -> µC wird nicht mehr mit Spannung versorgt -> n-Kanal-FET wird nicht mehr angesteuert -> Spannung wieder da -> µC-Reset -> und das ganze von vorne...
> Ich möchte mich in diese Diskussion nicht einklinken. Beim Blick auf das > Schaltbild ist mir jedoch aufgefallen, dass... > - die P-Kanal-FETs falsch verschaltet sind (Drain und Source vertauscht) > - der MCP14E6 mit 12V versorgt werden muss, damit der P-Kanal-FET auch > sperren kann. > Im Augenblick ist es so, dass es zu einem Kurzschluss kommt, sobald ein > n-Kanal-FET leitet -> µC wird nicht mehr mit Spannung versorgt -> > n-Kanal-FET wird nicht mehr angesteuert -> Spannung wieder da -> > µC-Reset -> und das ganze von vorne... Ich bin mir nicht sicher, ob ich den Fehler nur bei dem Schaltplan gemacht habe, da die MOSFETS eigentlich gut funktionieren. Nur sobald in einem schnelleren Takt zwischen ihnen umgeschaltet wird, tritt das Problem auf. Die MOSFETs sind wie folgt beschaltet: P-Kanal: - SOURCE an +12V - DRAIN an die Phase (Motor) - GATE an den MOSFET-Driver N-Kanal: - SOURCE an GND - DRAIn an die Phase (Motor) - GATE an den MOSFET-Driver Sollte meiner Meinung nach stimmen, oder liege ich da falsch? Gruss, AP
Mangow W. schrieb: > P-Kanal: > - SOURCE an +12V > - DRAIN an die Phase (Motor) > - GATE an den MOSFET-Driver > > N-Kanal: > - SOURCE an GND > - DRAIn an die Phase (Motor) > - GATE an den MOSFET-Driver > > Sollte meiner Meinung nach stimmen, oder liege ich da falsch? Wenn sie wirklich so verschaltet sind stimmts. Das Schaltbild sagt, das die P-Kanals verkehrt herum sind. (Siehe die Recovery Diode). Wenn die Schaltung ohne Last, aber bei hoher PWM Frequenz abschmiert, stimmen höchstwahrscheinlich die Totzeiten nicht, bzw. sind zu kurz. Typisch sind P-Kanal MOSFets sowieso langsamer. Bedenke bitte auch, das die MCP14E6 invertieren. Zusätzlich würde ich den Motorkreis auch verdrosseln, um Spannungsspitzen aus der Gegen-EMK des Motors vom Regler und dem Rest der Schaltung fernzuhalten. Ausserdem sind Pullups an allen IN B zu empfehlen, um einen definierten Zustand bei unkonfiguriertem Port zu haben.
> Wenn sie wirklich so verschaltet sind stimmts. Das Schaltbild sagt, das > die P-Kanals verkehrt herum sind. (Siehe die Recovery Diode). Wusste nur nicht, wie man bei TARGET Bauteile spiegelt, darum hab ich die MOSFETs falsch rum eingebaut. > Wenn die Schaltung ohne Last, aber bei hoher PWM Frequenz abschmiert, > stimmen höchstwahrscheinlich die Totzeiten nicht, bzw. sind zu kurz. Die Schaltung schmiert ohne Last auch bei einem 1000ms-Delay zwischen den Kommutierungen ab. Meinst du mit Totzeit die Zeit zwischen den Kommutierungen? > Typisch sind P-Kanal MOSFets sowieso langsamer. Bedenke bitte auch, das > die MCP14E6 invertieren. Die MOSFETs einzeln getestet, funktionieren eigentlich ziemlich gut. Nur wenn ich die StartUp-Sequenz ausführe kommt es ohne Programmer zum Reset. > Zusätzlich würde ich den Motorkreis auch verdrosseln, um > Spannungsspitzen aus der Gegen-EMK des Motors vom Regler und dem Rest > der Schaltung fernzuhalten. Was meinst du mit Motorkreis verdrosseln? Der Motor war bisher zwar noch nicht dran, aber so kann ich vielleicht zukünftige Fehler beheben. Ich habe stark den Spannungswandler in Verdacht. Kann es sein, dass dieser unter der Last der vielen MOSFET-Driver kurzzeitig den Geist aufgibt? Gruss, AP
Mangow W. schrieb: > Kann es sein, dass > dieser unter der Last der vielen MOSFET-Driver kurzzeitig den Geist > aufgibt? Im Moment hängt ja keine Last dran. Deswegen vermute ich ein 'Shoot-Through', bei dem sowohl der obere als auch der untere MOSFet der Halbbrücke kurzzeitig beide durchgeschaltet sind, etwas, das man natürlich unbedingt vermeiden muss. Sobald nämlich eine stärkere Stromquelle als ein Labornetzteil (z.B. ein Akku) angeschlossen wird, sind die MOSFets in höchster Gefahr, bzw. der Shunt brennt ab. In dem Moment landen 12Volt über 680 Ohm auf dem ADC Eingang, und das mag der auch nicht. Die Totzeit ist also eine Wartezeit zwischen dem Ausschalten einer Kommutierung und dem Anlegen der nächsten. Prinzipiell ist bei deiner Schaltung von Nachteil, das du verschiedene Typen nimmst, also die Totzeit entsprechend den Typen anpassen musst. Die Gate-Turnoff Zeit entnimmst du dem Datenblatt - dies ist die Zeit vom Wegnehmen der Gate Spannung bis zum vollständigen Sperren des MOSFets. Je nach Software musst du auch unbedingt undefinierte Zustände auf den GateDrivern vermeiden. Also füge noch die oben erwähnten Pullups an den IN B (N-Kanal Treibern) hinzu. AVR447 enthält übrigens ein nettes Beispiel dafür, wie man mit 3 Timern eine gute PWM erzeugt und dann sogar noch Sinusmodulation anschaltet. 447 ist für Motoren mit Sensoren, und ich glaube AVR446 für Motore ohne Sensoren. Ach so, die Drossel. Ja, eine kräftige Spule im 12 Volt Kreis zu den MOSFets verhindert, das Umschaltspitzen zurück auf den Rest sproddeln. Direkt an den MOSFets sollten auch noch ein paar Kerkos und evtl. sogar ein Elko sein zum Sieben der 12 Volt. Nicht für den Motor, sondern um den Rest der Schaltung zu schützen.
> Die Totzeit ist also eine Wartezeit zwischen dem Ausschalten einer > Kommutierung und dem Anlegen der nächsten. Prinzipiell ist bei deiner > Schaltung von Nachteil, das du verschiedene Typen nimmst, also die > Totzeit entsprechend den Typen anpassen musst. Die Gate-Turnoff Zeit > entnimmst du dem Datenblatt - dies ist die Zeit vom Wegnehmen der Gate > Spannung bis zum vollständigen Sperren des MOSFets. > > Also füge noch die oben erwähnten Pullups an den > IN B (N-Kanal Treibern) hinzu. > > Ach so, die Drossel. Ja, eine kräftige Spule im 12 Volt Kreis zu den > MOSFets verhindert, das Umschaltspitzen zurück auf den Rest sproddeln. > Direkt an den MOSFets sollten auch noch ein paar Kerkos und evtl. sogar > ein Elko sein zum Sieben der 12 Volt. Nicht für den Motor, sondern um > den Rest der Schaltung zu schützen. Vielen Dank für die Tipps! Ich werde diese Umsetzen sobald es geht. Ich habe übrigens den Fehler gefunden. Schlussendlich sind es immer die dümmsten Fehler, die einem passieren. Die Verbindung zwischen dem Spannungswandler und dem Mikrocontroller hatte ihre Macken => schneller Spannungseinbruch. Aber trotzdem vielen Dank für die Posts und die Verbesserungsvorschläge!
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.