Forum: Mikrocontroller und Digitale Elektronik 50kHz PWM erzeugen, Komparator, PWM-Controller, µC


von Stephan M. (multimeter90)


Lesenswert?

Hallo Leute,

ich muss eine PWM mit 50kHz erzeugen. Der Tastgrad soll von 0-100% 
regelbar sein. Ich suche nun nach einer passenden Methode.

Ich hatte die Idee eine Dreieckspannung zu erzeugen und mit einer 
Referenzspannung zu vergleichen. Allerdings schaffen das die OPVs die 
ich hier habe nicht (Slew rate von 0,5V/µs). Hat jemand erfahrung damit 
und kann einen passenden Typ empfehlen?

Ich habe mir heute auch noch TL072, TL082 bestellt und auch einen 
Komparator LM339 und werde das mal mit denen versuchen.

Falls ihr von dieser diskreten Variante abraten würdet, was würdet ihr 
nehmen, und warum?

von troll (Gast)


Lesenswert?

Spannung? 50kHz schafft auch der gute alte NE555, aber ob man da 
wirklich runter bis 0 / hoch auf 100% kommt?

von W.S. (Gast)


Lesenswert?

Stephan Meter schrieb:
> ich muss eine PWM mit 50kHz erzeugen. Der Tastgrad soll von 0-100%
> regelbar sein. Ich suche nun nach einer passenden Methode.

Mach's digital.

Allerdings solltest du bedenken, daß es in der Nähe von 0% und 100% 
immer !! Probleme gibt, weil es weder physikalisch machbar noch sinnvoll 
ist, extrem kurze Nadelimpulse zu erzeugen.

W.S.

von Michael (Gast)


Lesenswert?

Stephan Meter schrieb:
> ich muss eine PWM mit 50kHz erzeugen. Der Tastgrad soll von 0-100%
> regelbar sein.

Neben der PWM Frequenz solltest du dir auch über geforderte Auflösung 
und Linearität Gedanken machen.

von Stephan M. (multimeter90)


Lesenswert?

okay, also Spannungsversorgung ist 12V. Angesteuert wird ein Mosfet zum 
schalten von maximal 20A. Ein entsprechender Treiber wird natürlich 
zwischen PWM-Erzeuger und Gate gehangen.

Linearität ist nicht so wichtig denke ich, aber wäre anzustreben.

Auch wenn 1% nicht sinnvoll ist, so würde ich aber gern 0% schaffen, was 
mit dem ne555 nicht möglich ist. Ich könnte gern einen Sprung von 0% auf 
10% machen und danach in 1%-Schritten bis sagen wir 95% und dann 100%.

Anforderung ist, dass der Motor auch mal Volllast gefahren werden kann, 
sprich 100%.

von dolf (Gast)


Lesenswert?

Stephan Meter schrieb:
> Hat jemand erfahrung damit
> und kann einen passenden Typ empfehlen?

lm318 50v/µs.

von c-hater (Gast)


Lesenswert?

Stephan Meter schrieb:

> ich muss eine PWM mit 50kHz erzeugen. Der Tastgrad soll von 0-100%
> regelbar sein. Ich suche nun nach einer passenden Methode.

Da bleiben drei Fragen offen:

1) Wie soll PART_X der Tastgrad mitgeteilt werden?
2) Wie schnell soll PART_X auf Änderungen des Sollwerts reagieren 
können?
3) Mit welcher Auflösung soll PART_X den Tastgrad abbilden können?
   Reichen ganze Prozente oder müssen es Promille sein?

Die grundsätzliche Antwort ist nämlich sowieso klar: ein kleiner 
Microcontroller ist die beste, weil billigste Lösung für das Problem. 
Die Beantwortung der drei Fragen klärt dann, welche in die engere Wahl 
kommen können. Daraus wählt man dann den, bei dem die Gesamtkosten zur 
Umsetzung bei vorgegebener Stückzahl ein Minimum erreichen.

von Stephan M. (multimeter90)


Lesenswert?

Manchmal vergisst man die wichtigen Dinge ;)

Der Tastgrad soll über ein Lineares Potentiometer vorgegeben werden.
Für die Auflösung gibt es keine Vorgabe, ebenso wenig für die 
Geschwindigkeit mit der dieser dem Sollwert folgen soll.

Da ich zusätzlich noch 2 Lichtsignale implementieren soll "Spannung an" 
und "Motor läuft", wäre ein kleiner µC sicher die einfachste wahl.

Der vorgeschlagene LM318 kostet bei Farnell (ist Vorgabe für den 
Einkauf) auch 1 €, da ich davon 3 stück bräuchte würde ich dabei zu 
einem PIC18F1330-I/SO oder eventuell nur zum PIC18F1220-I/SO tendieren. 
Die kosten auch knapp 3 €. Externe beschaltung ist minimal und 
programmieren kann ich sie auch (ICD2).

von Falk B. (falk)


Lesenswert?


von Stephan M. (multimeter90)


Lesenswert?

Hey falk,
so wie ich das verstehe kann der wohl 0%-100% aber das hängt irgendwie 
mit der dead-time-control zusammen. Kannst du mir das erklären?

von Falk B. (falk)


Lesenswert?

@ Stephan Meter (multimeter90)

>so wie ich das verstehe kann der wohl 0%-100%

Ja.

>aber das hängt irgendwie
>mit der dead-time-control zusammen.

Nein, die kann man hier ignorieren.

Einfach normal beschalten, SCP auf GND, fertig.

von Stephan M. (multimeter90)


Lesenswert?

Schade, dass es den nicht bei Reichelt gibt, sonst hätte ich den zum 
testen mal mitbestellen können.

Falk: Hast du den schon mal verbaut?

von Falk B. (falk)


Lesenswert?

@ Stephan Meter (multimeter90)

>Falk: Hast du den schon mal verbaut?

Ja, in einem PWM-Generator, der per Poti einstellbar ist.

von Stephan M. (multimeter90)


Lesenswert?

Okay, hab das mit dem DTC und SCP verstanden. Aber wie kann ich das Ding 
jetzt mit einem Poti steuern? Das hat ja nur einen Feedback (error 
amplifier) Eingang. Verstehe ich das richtig, dass er den duty cycle 
erhöht, bis sich an diesem Pin eine gewisse Spannung einstellt (1V)?

Ich muss ja den duty cycle einfach nur frei einstellen können, ohne das 
ein feedback ausgewertet wird.

von Falk B. (falk)


Lesenswert?

100K zwischen COMP und FB, per Poti mit passendem Vorwiderstand muss man 
eine Spannung zwischen 0-1,5V einstellen, welche über weitere 100K an FB 
eingespeist werden (invertierender Verstärker). DTC offen, SCP auf GND. 
1k Pull-Up an OUT.

von Stephan M. (multimeter90)


Angehängte Dateien:

Lesenswert?

So wie ich das verstehte meinst du das also so hier (siehe Anhang). 
Jetzt nur mal so gemalt (ich habe gerade kein Papier zur Hand).

Der Oszillator gibt ja eine Dreieckfunktion aus, Vmin=0,7V Vmax=1,3V. 
Damit muss ich nur noch mein Poti so beschalten mit Vor- und eventuell 
Nachwiderstand, damit ich da mit dem Poti 0,7...1,3V einstellen kann.

Da ich auch noch eine LED leuchten lassen soll, wenn der Motor dreht, 
also der duty cycle>0 ist, kann ich ja die Spannung am Poti zusätzlich 
mit einem Komparator vergleichen und dann eine LED treiben.

von Falk B. (falk)


Lesenswert?

@ Stephan Meter (multimeter90)

>Der Oszillator gibt ja eine Dreieckfunktion aus, Vmin=0,7V Vmax=1,3V.
>Damit muss ich nur noch mein Poti so beschalten mit Vor- und eventuell
>Nachwiderstand, damit ich da mit dem Poti 0,7...1,3V einstellen kann.

Genau. Aber 100K sind zuviel für den Poti, eher 10k.

>Da ich auch noch eine LED leuchten lassen soll, wenn der Motor dreht,
>also der duty cycle>0 ist, kann ich ja die Spannung am Poti zusätzlich
>mit einem Komparator vergleichen und dann eine LED treiben.

Klemm sie doch einfach mit einem Vorwiderstand an den PWM-Ausgang, dann 
hast du sogar einen Drehzahlanzeiger für Arme.

von Stephan M. (multimeter90)


Lesenswert?

Warum sind die 10k für das Poti zu viel? Also wonach richtet man sich da 
am besten? Wegen der Belastung, sollte die eine größenordnung kleiner, 
sprich der Widerstand eine Größenordnung größer, sein?

Die LED hab ich jetzt an einem LM339 gehangen.

von Falk B. (falk)


Lesenswert?

@ Stephan Meter (multimeter90)

>Warum sind die 10k für das Poti zu viel? Also wonach richtet man sich da
>am besten?

Nach der Last am Schleiferkontakt.

> Wegen der Belastung, sollte die eine größenordnung kleiner,
>sprich der Widerstand eine Größenordnung größer, sein?

Ja.

von Stephan M. (multimeter90)


Lesenswert?

Super, wenn ich ein 10k Poti nehme und einen Vorwiderstand von 100k ist 
das wieder unpraktisch, oder? Also lieber 1k Poti und 10k Vorwiderstand?

von Falk B. (falk)


Lesenswert?

@ Stephan Meter (multimeter90)

>Super, wenn ich ein 10k Poti nehme und einen Vorwiderstand von 100k ist
>das wieder unpraktisch, oder?

Nein, das ist OK.

>Also lieber 1k Poti und 10k Vorwiderstand?

Geht auch.

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
Noch kein Account? Hier anmelden.