Hallo Forum, Habe ein Problem beim debuggen... Ich nutze das Atmel Evaluation Kit ATAVRMC320 mit AVR Studio4.17 mit WinAVR. Auf dem Board ist ein ATmega32M1 Controller. Steuere damit ein BLDC-Motor an. So jetzt zu meinem Problem: Wenn ich das Programm laufen lasse, der Motor dreht sich und ich dann auf Reset drücke versucht das Programm noch die nächste Kommutierung auszuführen und der Motor fängt an zu zittern. Dazu kommt noch das der Strom den der Motor zieht auf kurzeitig 8A hoch geht und ich mir dadurch schon paar mal die Sicherung zerschossen hab bzw. mein Netzgerät geht in die Begrenzung. Habe mir auch schon das Bsp von Atmel angeschaut. Da tritt dieses Problem nicht auf und wenn man da beim debug auf reset drücke dann werden alle Ausgänge auf low gestetz und der Motor läuft schon ruhig aus. Jetzt meine Frage ist das ein Fehler bei mir Programm oder sind da irgend welche Einstellungen bei mir Falsch? Noch kurz zu eurer Info ich habe noch nicht viel mit µC gemacht aber meine jetztige Aufgabe erfordert es von mir. Hoff ihr könnt mir Helfen. Gruß Moe
:
Verschoben durch Moderator
Moe schrieb: > Jetzt meine Frage ist das ein Fehler bei mir Programm oder sind da > irgend welche Einstellungen bei mir Falsch? Was sagt denn das Datenblatt deines Controllers dazu? Normalerweise sind bei den üblichen Controllern alle Pins nach einem /RESET im tristate-Zustand (bzw. als Eingang geschaltet), allerdings könnten diese PWM-Controller Sonderschaltungen besitzen, bei denen die PWM-Kanäle nach dem Reset andere Zustände einnehmen, weil der Zustand "hochohmig" in der Applikation nicht wünschenswert ist. Die Details müsste aber das Datenblatt verraten. Kannst du nicht den Motorstromkreis von der Versorgung des Controllers trennen und den Motor strombegrenzt mit einem Labornetzteil betreiben?
Moe schrieb: > Habe mir auch schon das Bsp von Atmel angeschaut. Da tritt dieses > Problem nicht auf und wenn man da beim debug auf reset drücke dann > werden alle Ausgänge auf low gestetz und der Motor läuft schon ruhig > aus. Laut Datenblatt ist Low-Pegel unmöglich: "The port pins are tri-stated when reset condition becomes active, even if no clocks are running." Willst Du bei Reset Low, mußt Du externe Pulldowns ranpappen. Peter
Motorstromkreis ist seperat über ein Labornetzteil und der Strom ist begrenzt so das nichts mehr passieren kann. Was ich nicht verstehe ist wenn ich das Atmelbsp AVR192 debugge und auf Pause drücke sind die Ausgänge des PSC-Moduls sofort auf 0V, d.h. sie geben keine PWM mehr aus. Bei meinem Programm jedoch ist das nicht der Fall. Wenn ich dieses debugge und auf Pause drücke geben die PSC-Ausgänge weiterhin die PWM aus. Ist das normal oder habe ich Fehler in meinem Programm oder sind irgend welche Einstellungen falsch? Hätte es gerne auch das bei mir dann keine PWM mehr ausgegeben wird da der Motor den ich angeschlossen dann versucht sich weiter zu drehen es aber nicht geht da das Programm angehalten worden ist. Und ich glaube nicht das es dem Motor gut tun wenn er dann Pfeift und Quitscht. Hoff ihr könnt nachvollziehen was ich meine und mir helfen...
Moe schrieb: > Was ich nicht verstehe ist wenn ich das Atmelbsp AVR192 debugge und auf > Pause drücke ... Dann würde ich mal sagen, "Pause" macht irgendwas, aber bestimmt keinen Reset. Was macht denn "Pause"? Vielleicht hält der Debugger nur die Mainloop an und läßt die Interrupts weiter laufen. Es gibt Programme, die mögen es nicht, wenn man sie unerwartet irgendwo anhält, z.B. Regelkreise. Da sollte man besser keinen HW-Debugger nehmen, sondern Debugausgaben einprogrammieren, die den Ablauf nicht stören. Peter
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.