Hallo liebe Leser, vor Kurzen war ein Frage hier aufgetaucht, das Thema finde ich aber gerade nicht wieder. Es ging darum, einen kleinen Gleichspannungsmotor stromsparend und möglichst ohne H-Brücke an einen Controller anzubinden. Weil ich neugierig war, habe ich es mal ausprobiert und bin zu dem Ergebnis gekommen, daß man einen kleinen Motor, der mit 30...40 mA Betriebsstrom auskommt, direkt zwischen zwei PWM-Pins des AVR hängen kann. Im Beispiel habe ich einen Tiny13 verwendet, eine 8-Bit PWM mit 20Hz programmiert, was für den Zweck völlig ausreichend ist. OCR0A bzw. OCR0B werden wechselseitig geladen. Das heißt, wenn der Motor in die eine Richtung laufen soll, wird OCR0A auf meientwegen 100 geladen, während OCR0B=0 ist und für die Gegenrichtung gilt der umgekehrte Fall. Bedingung für die Funktion ist, dass beide Motoraugänge nie bei laufendem Motor auf Eingang geschaltet werden. Und man sollte auch nicht die Laufrichtung umkehren, wenn der Motor noch läuft.
Natürlich nicht. Der OP des anderen Themas meinte auch, daß der Motor nur ab und an kurz drehen soll - vielleicht, um eine bewegte Anzeige oder ähnliches zu realisieren. Eine Überlast kann man zusätzlich durch Messen der Portpins feststellen und den Ausgang abschalten.
Das läuft dann aber wohl unter "Absolute Maximum Ratings" mit verminderter Lebensdauer.
Nicht in diesem Fall. Der Motor zieht gerade 20mA. Anlauf erfolgt mit Softstart, also auch nicht mehr Strom. Die Anwendung ist eben nur für kleine Motoren und wo es auf verlustarme Anschaltung des Motors geht. Gerade bei Spannungen um oder unter 3V ist mit externen ICs / diskreten H-Brücken nicht mehr viel los.
Trotzdem bleibt die Spule im Motor eine Induktivität... Mich würde mal interessieren wie es am Oszi aussieht, habe den Verdacht das dort kurze Spikes auftauchen die recht hohe Spannungen haben.
@ Tim T. (tim_taylor) >Trotzdem bleibt die Spule im Motor eine Induktivität... Das ist ihr gutes Recht. >Mich würde mal interessieren wie es am Oszi aussieht, habe den Verdacht >das dort kurze Spikes auftauchen die recht hohe Spannungen haben. Die ESD-Schutzdioden, welcher fast jeder Digital-IC hat wirken hier als Freilaufdioden. Da gibst keine Spikes. MFG Falk
Die Ausgänge des AVR sind MOSFET-Push-Pull Endstufen mit entsprechenden Body-Dioden, also eine vollwertige H-Brücke. Die Induktionsspitzen werden daher zur Betriebsspannung abgeleitet und so entschärft. Die Ausgänge müssen daher immer als Ausgänge geschaltet sein.
Falk Brunner wrote: > Die ESD-Schutzdioden, welcher fast jeder Digital-IC hat wirken hier als > Freilaufdioden. Da gibst keine Spikes. Ja, genau so ist es. Habe ich schonmal gemacht, funktioniert wunderbar. Bei kleinen Betriebsspannungen ist es teilweise auch garnicht möglich mehr als 40mA aus einem Pin zu holen, da der Transistor einfach zu hochohmig ist (3V, 40mA -> 75Ohm -> 2x 37,5Ohm, da ist der Ausgang ziemlich sicher hochohmiger.) Wenn ein Pin zu wenig Strom liefern kann, kann man auch mehrere parallel schalten. Man darf dann nur keinen Fehler in der Software machen und muss alle Pins gleichzeitig umschalten.
Fehler in der Software? Wie kommst Du denn darauf ;-) ?
Die internen Clampdioden als Freilaufdioden sind ja gut und schön, aber in diesem Fall wirken die Transistoren (D-S-Widerstand), denn einer der beiden Transistoren jedes Brückenzweigs ist ja immer durchgeschaltet. Der Induktionsstrom fließt also nicht über die Clamp-Dioden, sondern über die Laststrecke des jeweils eingeschalteten FETs. Ja, ich habe auch schon Elektromotoren direkt an den AVR-Pins gehabt, allerdings ohne PWM. Es handelte sich um die kleinen Getriebemotoren aus den Kassenrollen-Aufwicklern, die es vor ein paar Jahren für 3,95 DM bei Pollin gab. ~
Also, Sorry Jungs, aber für "echten" Einsatz würde ich lieber vier kleine SOT23 Transistoren da reindengeln, statt den Motor mit den Portpins zu schalten.
Falk Brunner schrieb: >> Mich würde mal interessieren wie es am Oszi aussieht, habe den >> Verdacht das dort kurze Spikes auftauchen die recht hohe Spannungen >> haben. > > Die ESD-Schutzdioden, welcher fast jeder Digital-IC hat wirken hier > als Freilaufdioden. Da gibst keine Spikes. Wobei Atmel in der Appnote AVR182 schreibt: "It is not recommended that the clamping diodes are conducting more than maximum 1 mA ..." Das ist nicht gerade viel, wenn man den Motor mit 20mA oder gar 40mA laufen lässt. Travel Rec. schrieb: > Die Ausgänge des AVR sind MOSFET-Push-Pull Endstufen mit > entsprechenden Body-Dioden, also eine vollwertige H-Brücke. Da wäre ich vorsichtig. Die Body-Dioden können nur dann als Freilauf- dioden dienen, wenn der Substratanschluss jedes Ausgangs-MOSFETs niederohmig mit dessen Source und damit mit GND bzw. VCC verbunden ist. Aber wo steht geschrieben, dass dies so so ist? Was dagegen spricht: Welchen Sinn hätten sonst die Clamping-Dioden, die dann ja parallel zu den Body-Dioden liegen würden und somit redundant wären? Oder sind die Clamping-Dioden und die Body-Dioden vielleicht ein und dasselbe? Wenn das aber so wäre, wieso empfiehlt Atmel dann, sie nur mit maximal 1mA zu belasten? Da die Body-Dioden als parasitäre Effekte aus dem Halbleitermaterial des MOSFETs bestehen, sollten sie auch etwa den gleichen maximalen Strom vertragen, in diesem Fall also 40mA. > Die Ausgänge müssen daher immer als Ausgänge geschaltet sein. Wenn die Body-Dioden tatsächlich als Freilaufdioden verwendet werden können, sind sie immer da, auch wenn der Pin nicht als Ausgang geschaltet ist. > Die internen Clampdioden als Freilaufdioden sind ja gut und schön, > aber in diesem Fall wirken die Transistoren (D-S-Widerstand), denn > einer der beiden Transistoren jedes Brückenzweigs ist ja immer > durchgeschaltet. Der Induktionsstrom fließt also nicht über die > Clamp-Dioden, sondern über die Laststrecke des jeweils eingeschalteten > FETs. Für kurze Zeit schon, nämlich während des Umschaltens des Ausgangs, wo beide MOSFETs nicht oder nur schwach leitend sind. Aber dein Einwand ist natürlich in sofern richtig, dass dadurch die Clamping-Dioden deutlich kürzer leitend sind, so dass sie wahrscheinlich wesentlich mehr als das o.a. 1mA vertragen, die wohl als Dauerstrom zu verstehen sind.
>Also, Sorry Jungs, aber für "echten" Einsatz würde ich lieber vier >kleine SOT23 Transistoren da reindengeln, statt den Motor mit den >Portpins zu schalten. @Simon: Bei kleinen Versorgungsspannungen unter 3V hast Du damit die Brille auf ;-) @yalu: Ich habe mit die Spannungsverläufe mal angesehen, sie bleiben innerhalb Vcc+0.6 und GND-0.6V. Wie bereits geschrieben, ist einer der beiden Ausgänge ist immer logisch Null, der andere wechselt im PWM-Rhythmus zwischen 0 und 1.
> der andere wechselt im PWM-Rhythmus zwischen 0 und 1. Also das, was bei H-Brücken "aktiver Freilauf" genannt wird. Im 1:87-Modellbau wird auch gerne der IRF7389 (2 Stück als H-Brücke) eingesetzt, da sind auch bei 3,6V akzeptable Ströme möglich. ~
Aber nicht bei 3.0V und weniger. Den IRF7389 kenne und verwende ich auch. 2 davon sind u.U. aber schon größer als der Controller und eventuell sogar größer als der anzusteuernde Motor ;-)
Hallo Besser hier? @Travel Rec. (travelrec) Ich bin auf der Suche nach meinem alten Thread ,weil über Weichenansteuerung gesprochen wurde, auf diesen hier gestoßen. Das war meine Experimentier Grundlage, habe aber nicht weitergemacht. Beitrag "Parallel schalten von Ports" So wie ich aus euren Meinungen erkennen kann ,werde ich es etwas konkreter mit einer Eigenbauweichen Ansteuerung versuchen. ...über Rs232 oder vielleicht mit DMX werden die Weichen geschaltet(hoffentlich werde ich es noch erleben) 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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.