Mini-Motor mit PWM direkt an AVR-Portpins

OP (Firma: TravelRec.) Persönliche Seite #1101633
Lesenswert?

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.
#1101889
Lesenswert?

@ 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
#1101899
Lesenswert?

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.
Gast #1101922
Lesenswert?

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.

~
Gast #1102068
Lesenswert?

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.
OP (Firma: TravelRec.) Persönliche Seite #1102564
Lesenswert?

>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.
Gast #1102746
Lesenswert?

> 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.

~
Gast #1125570
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren