Hallo, ich arbeite mit einem Atmega 164PA und habe einen 24VDC Motor angeschlossen. Nennstrom des Motors ist 2.1A. Nun habe ich das Problem, dass bei laufendem Motor die Spannung am Board gelegentlich kurz zusammenbricht. Beim Aufbau der Platine habe ich mich jedoch an die in den jeweiligen Datenblättern empfohlenen Aufbaustrecken gehalten. Jetzt zu meiner Frage: gibt es einen "allgemeinen Weg" um meinem Problem entgegenzuwirken wie z.B. die Kapazität der Kondensatoren zu erhöhen? Viele Grüße.
:
Verschoben durch Moderator
Lukas S. schrieb: > Jetzt zu meiner Frage: gibt es einen "allgemeinen Weg" um > meinem Problem entgegenzuwirken wie z.B. die Kapazität der Kondensatoren > zu erhöhen? viel wichtiger ist dafür zu sorgen, das der Kondensator nicht den Motor speist -> Diode
Lukas S. schrieb: > gibt es einen "allgemeinen Weg" Man schaltet typsch eine Reihendiode in die Versorgung der Steuer- Elektronik zur Entkoplung. Die Größe des dahinterliegenden Puffer- Elkos muss man ausprobieren.
Anbei mal der aktuelle Schaltplan für den Motortreiber. Es wäre also empfehlenswert eine Diode zwischen Vs und den Elektrolytkondesator zu bauen? Danke für eure Hilfe
Es kann auch nicht verkehrt sein, dem Motor eine Freilaufdiode zu spendieren. wenn der ohne Stromzufuhr nachläuft, wer weiss, was der zurückbrezelt...
Lukas S. schrieb: > dass bei laufendem Motor die Spannung am Board gelegentlich kurz > zusammenbricht Welche Spannung an welchem Board? Und was für ein Problem resultiert denn eigetnlich daraus? Lukas S. schrieb: > Anbei mal der aktuelle Schaltplan für den Motortreiber. Interessant wäre der Schaltplan des gesamten Aufbaus. > Beim Aufbau der Platine habe ich mich jedoch an die in den jeweiligen > Datenblättern empfohlenen Aufbaustrecken gehalten. Zeig doch mal...
> Welche Spannung an welchem Board? Die 24V Versorgungsspannung auf meiner Platine (Eigenbau) > Und was für ein Problem resultiert denn eigetnlich daraus? Ein Ruckeln des Motors > Interessant wäre der Schaltplan des gesamten Aufbaus. Kann ich nicht hochladen, weil es sich um eine Arbeit an meiner Universität handelt > Zeig doch mal... Der hochgeladene Aufbau des Motortreibers entspricht dem des Datenblatts, was soll ich da zeigen?
Lukas S. schrieb: >> Interessant wäre der Schaltplan des gesamten Aufbaus. > Kann ich nicht hochladen, weil es sich um eine Arbeit an meiner > Universität handelt Ohne Arme keine Kekse.
Lukas S. schrieb: >> Und was für ein Problem resultiert denn eigetnlich daraus? > Ein Ruckeln des Motors Das Problem liegt vermutlich in Deiner Software. Harald W. schrieb: > Ohne Arme keine Kekse. Hast Du keine Schweine? ;-)
m.n. schrieb: > Das Problem liegt vermutlich in Deiner Software. Das bezweifle ich. Ich teste mit einem einfachen PWM Programm wobei die Einbrüche unregelmäßig auftreten. Außerdem kann ich den Motor nicht mit voller Geschwindigkeit anfahren ohne dass die Spannungsversorgung zusammenbricht, was ja auch gegen die Software spricht. Ich probiere das jetzt einfach mal mit den Dioden.
Lukas S. schrieb: > Es wäre also empfehlenswert eine Diode zwischen Vs > und den Elektrolytkondesator zu bauen? Nein, tödlich, der Elko muss die Rückspeisung aus dem Motor aufnehmen ohne dass die Spannung über die Grenzspannung der Bauteile steigt. Aus den 24V machst du offenbar die Spannung für deinen Atmega164PA
1 | +----+ |
2 | +--|>|--------------+---|7805|--+ |
3 | | | +----+ | |
4 | | +-------+ | | | |
5 | | | |---+ | | | |
6 | +24V --+---|TLE5206| (M) | | Atmega164PA |
7 | | | |---+ | | | |
8 | | +-------+ | | | |
9 | Elko1 | Elko2 | | |
10 | | | | | | |
11 | GND ---+-------+-----------+------+----+ |
Elko1 ist also nötig für den Motor, er muss so gross sein daß Rückspeisestrom beim Bremsen zu nicht zu grosser Spannungerhöhung führt (oder es muss ein Bremschopper dazu). Elko2 ist zum Puffern die Ausfälle auf Grund Überlastung der Spannungsquelle durch den Motor im Anlaufmoment und er muss gross genug sein um den Anlaufmoment für den uC zu überbrücken. Die richtige Lösung wäre aber eine ausreichende Spannungsversorgung, die nicht einbricht. Man darf bei Motoren eben nicht nur mit dem Dauerstrom rechnen, sondern muss den Anlaufstrom liefern können, der manchmal 10 mal so gross ist. Kann das Netzteil den nicht liefern, muss man den Motor mit Strombegrenzung anlaufen lassen (dann langsamere Beschleunigung). Aber Faulheit und Geiz, weder ein ausreichendes Netzteil noch eine Anlaufstrombgerenzung vorzusehen, führt eben zu Murks.
Lukas S. schrieb: >> Welche Spannung an welchem Board? > Die 24V Versorgungsspannung auf meiner Platine (Eigenbau) > >> Und was für ein Problem resultiert denn eigetnlich daraus? > Ein Ruckeln des Motors Hotline: Was steht auf Ihrem Monitor? Kunde: Eine Blumenvase. Das ist etwa die Qualität Deiner Fragestellung bzw. Fehlerbeschreibung!
Lukas S. schrieb: > Ich probiere das jetzt einfach mal mit den Dioden. Ja, probier mal einfach noch weiter herum. Aber warum misst du nicht einfach mal die Spannungen mit dem Oszi und analysierst, warum die Spannung zusammenbricht. > Außerdem kann ich den Motor nicht mit voller Geschwindigkeit anfahren > ohne dass die Spannungsversorgung zusammenbricht Dann lies nochmal meinen obigen Post und zeig mal dinen Aufbau, deine Versorgung und deinen Schaltplan. Sonst probier einfach noch, ungepolte Elkos am Eingang einzusetzen, oder einen Snubber an den Ausgang anzuschließen, oder die Hände aufzulegen oder sonstwas.
:
Bearbeitet durch Moderator
Lothar M. schrieb: > Dann lies nochmal meinen obigen Post und zeig mal dinen Aufbau, Das ist alles so geheim, das er selbst nicht weiss, was er tut. >> Kann ich nicht hochladen, weil es sich um eine Arbeit an meiner >> Universität handelt
Lukas S. schrieb: >> Das Problem liegt vermutlich in Deiner Software. > > Das bezweifle ich. Ich teste mit einem einfachen PWM Programm wobei die > Einbrüche unregelmäßig auftreten. Das ist typisch für schlechte ISRs. > Außerdem kann ich den Motor nicht mit > voller Geschwindigkeit anfahren ohne dass die Spannungsversorgung > zusammenbricht, was ja auch gegen die Software spricht. Daß man mit PWM anfährt und ggf. auch bremst, ist doch selbstverständlich.
> Das ist typisch für schlechte ISRs.
Okay. Meine ISR besteht im Grunde genommen nur aus einem Counter der die
Overflows eines Zählers mitzählt, sodass ich nach einer definierten Zeit
die Pulsweite ändere.
So in etwa:
ISR(TIMER0_COMPA_vect) /*Interrupt Compare Match*/
{
counter_OVERFLOW++;
}
Kann sowas Probleme machen? Ich dachte die ISR sei so kurz wie möglich
zu halten.
:
Bearbeitet durch User
Wann findet der Einbruch und das Ruckeln eigentlich statt? Beim Anlaufen oder danach, wenn der Motor seine Soll-Drehzahl längst erreicht hat? Welche Ströme fließen in diesem Moment? Sind sie im Rahmen dessen, was die Bauteile (auch das Netzteil und die Kondensatoren) liefern können? Welches Bauteil unterbricht denn den Stromfluss im Fehlerfall, so dass der Motor ruckelt? Warum tut es das?
So in etwa:
1 | ISR(TIMER0_COMPA_vect) /*Interrupt Compare Match*/ |
2 | {
|
3 | counter_OVERFLOW++; |
4 | }
|
Da kann schonmal gar icht wahr sein, denn dieser Code würde nicht
funktionieren, da er nichts Sinnvolles tut.
> einem Counter der die Overflows eines Zählers mitzählt
Tut er aber nicht.
Wie wäre es, wenn du mal mit der Geheimniskrämerei aufhörst und die
nötigen Infos lieferst, damit amn Dir helfen kann?
Ich versuche mal mich deutlicher auszudrücken: Aufbau meiner Platine: 24V Kreis an dem der Motortreiber und dadurch auch der Motor hängen. Ein 5V Kreis für µC, UART,.. Mein PWM Programm: bei 0% Motorleistung starten und gleichmäßig auf 100% erhöhen (Gesamtdauer ca. 2min) Mein Problem und was ich mittlerweile dazu weiß: Nutze ich den normalen 8Bit PWM Modus mit 8er prescale (also ~2kHz PWM Frequenz), so läuft der Motor langsam an wie er es soll. Ich habe die Spannung auf den OUT Pins des Motortreibers verfolgt und es ist so, dass der Motor bei 12V also 50% PWM kurz stoppt, dann bei etwas über 13V wieder anläuft aber ab da auch nicht mehr so läuft wie er soll, sprich er zuckt & bricht ab. Nutze ich den 8Bit Fast PWM Modus mit den gleichen Einstellungen (also PWM Frequenz ~4kHz), so fährt der Motor den gesamten Spannungsbereich von 0 bis 24V genau so ab wie er es soll, also ohne Unterbrechungen. Was ich daraus schließe ist, dass mein Problem zunächst abhängig ist von der PWM Frequenz. Höhere Frequenz heißt ja, dass die Zeiten, in denen 0V anliegen kürzer sind. Woraus ich mir allerdings absolut keinen Reim machen kann ist die Tatsache, dass das Problem erst bei 50% PWM auftritt. Den kompletten Schaltplan/ Code etc. darf ich schlicht und ergreifend nicht veröffentlichen, das hat nichts mit Geheimniskrämerei zu tun. Falls meine Angaben immer noch nicht ausreichen um das Problem angemessen einzuschränken muss ich wohl mit der Umgehung desselben, also der Nutzung des Fast PWM Modus leben.
So langsam? Weitere Möglichkeit: Treiber-IC wird nicht ausreichend gekühlt und hat Aussetzer durch thermische Überlastung. Kann man aber Alles messen, auch mit dem Finger, aber nur, wenn man den Fehler auch finden will.
m.n. schrieb: > So langsam? https://www.mikrocontroller.net/articles/Motoransteuerung_mit_PWM#Wahl_der_PWM-Frequenz empfiehlt das > Weitere Möglichkeit: Treiber-IC wird nicht ausreichend gekühlt und hat > Aussetzer durch thermische Überlastung. Der Motortreiber wird in beiden Betriebsfällen heiß > Kann man aber Alles messen, auch mit dem Finger, aber nur, wenn man den > Fehler auch finden will.
Möglicherweise hat dein Spannunsgregler oder das (Schalt?)-Netzteil Probelme mit der PWM Freuqenz. Ich bleibe immer noch dabei, dass du nachmessen solltest, welches bauteil den Stromfluss ungewollt unterbricht. Es könnte der µC selbst sein, was wiederum ein Softwarefehler sien könnte. Es könnte aber auch der Treiber sin, oder der Spannungsregler, oder das Netzteil. Oder in ganz schrägen Fällen könnte gar der Motor selbst Schuld sein. Das musst du erstmal herausfinden.
> Ich bleibe immer noch dabei, dass du nachmessen solltest, welches > bauteil den Stromfluss ungewollt unterbricht. Es könnte der µC selbst > sein, was wiederum ein Softwarefehler sien könnte. Es könnte aber auch > der Treiber sin, oder der Spannungsregler, oder das Netzteil. > > Oder in ganz schrägen Fällen könnte gar der Motor selbst Schuld sein. > > Das musst du erstmal herausfinden. Okay das werde ich dann mal machen. Danke erst mal
Außerdem solltest du den Schaltplan zeigen, zumindest den relevanten Teil. Wenn der so geheim ist, dass du nichtmal die 20 relevanten Bauteile zeigen darfst, dann können wir Dir nicht weiter helfen.
Lukas S. schrieb: >> So langsam? 2 Minuten von 0 auf 100% sind langsam. > https://www.mikrocontroller.net/articles/Motoranst... > empfiehlt das Das muß ja nicht unbedingt stimmen. Lukas S. schrieb: >> Weitere Möglichkeit: Treiber-IC wird nicht ausreichend gekühlt und hat >> Aussetzer durch thermische Überlastung. > Der Motortreiber wird in beiden Betriebsfällen heiß Test mit Kältespray durchführen.
>Nutze ich den normalen 8Bit PWM Modus mit 8er prescale (also ~2kHz PWM ... >Nutze ich den 8Bit Fast PWM Modus mit den gleichen Einstellungen (also Wenn zwei unterschedliche PWM-Generierungsvarianten zu unterschiedlichen Ergebnissen führen, dann ist die SW schuld. >Frequenz), so läuft der Motor langsam an wie er es soll. Ich habe die >Spannung auf den OUT Pins des Motortreibers verfolgt und es ist so, dass >der Motor bei 12V also 50% PWM kurz stoppt, dann bei etwas über 13V >wieder anläuft aber ab da auch nicht mehr so läuft wie er soll, sprich >er zuckt & bricht ab. Und was sagen die Output-Pins, wenn der Motor stoppt? Der Motor stoppt doch sicherlich nicht einfach so trotz weiterer Ansteuerung. Wie stark bzw. lang brechen eigentlich die 24V zusammen? Korreliert das irgendwie mit dem Motorverhalten?
Stefan U. schrieb: > Möglicherweise hat dein Spannunsgregler oder das (Schalt?)-Netzteil > Probelme mit der PWM Freuqenz. Jo, hatte ich auch. Aufbau war: SNT -> KSQ (angesteuert über einen µC mittels PWM) -> LED mit 50W Beim Dimmen gingen die LED bei bestimmten Pulsweiten aus. Lösung: PWM Frequenz hochgesetzt
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.