Forum: Mikrocontroller und Digitale Elektronik maximale frequenz


von Baumbart (Gast)


Lesenswert?

Moin,

ich habe nur eine kurze Frage:
Wenn ich das Datenblatt des Atmega328p richtig verstehe, verträgt dieser 
einen Quartz mit max. 16MHz. Für meine FAST PWM würde das dann 
entsprechend Vorteiler 1 bedeuten: 16.000.000/1x256 = 62500Hz.

Mit anderen Worten ich werde mit diesem Chip nie mehr als ~62KHz 
erreichen können richtig?

bG
B.

von Achim M. (minifloat)


Lesenswert?

Baumbart schrieb:
> richtig?

Hallo. Leider falsch.

Benutze die CTC-Modi, dann geht mehr, zulasten der Auflösung.

Benutze einen 20MHz Quarz, weil der ATMEGA328-20 das auch erlaubt. Lies 
mal die Gehäusebeschriftung ;)

mfg mf

: Bearbeitet durch User
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Baumbart schrieb:
> Für meine FAST PWM würde das dann entsprechend Vorteiler 1 bedeuten:
> 16.000.000/1x256 = 62500Hz.
Wenn deine Anwendung volle 8 Bit Auflösung braucht, dann ja. Oder eben 
bestenfalls noch die 25% mehr mit 20MHz Taktfrequenz. Nicht schlecht für 
ein knapp 30 Jahre altes Design...

Wenn du schneller willst, dann musst du neuere oder speziellere Designs 
nehmen, wie z.B. den ATTiny25/45/85, der kann die PWM-Grundfrequenz erst 
mal per PLL auf 64MHz anheben und erreicht damit bei 8 Bit Auflösung ein 
PWM-Frequenz mit 250kHz.

: Bearbeitet durch Moderator
von Baumbart (Gast)


Lesenswert?

Danke Euch ;)

bG
B.

von Thomas R. (r3tr0)


Lesenswert?

Sorry falls ein bisschen Offtopic, würde gerne etwas dazu lernen :D.

Für was könnte man so hohe PWM Frequenzen benötigen?
Für Motorensteuerungen werden doch afaik Frequenzen >20kHz genutzt, 
damit die Lautstärke verringert wird.
Für LEDs nutzt man doch zwischen 100Hz & 500Hz.

Mir fällt gerade nicht wirklich ein, für was man PWM noch nutzen könnte 
:l

von Falk B. (falk)


Lesenswert?

Thomas R. schrieb:
> Sorry falls ein bisschen Offtopic, würde gerne etwas dazu lernen :D.
>
> Für was könnte man so hohe PWM Frequenzen benötigen?
> Für Motorensteuerungen werden doch afaik Frequenzen >20kHz genutzt,
> damit die Lautstärke verringert wird.

Das stimmt so allgemein nicht. Bei kleinen Motoren kann man mit 20kHz 
und mehr arbeiten, bei großen Umrichtern mit 2-3stelligen kW Leistungen 
geht es deutlich darunter. Ich hab hier ein Datenblatt von Hitatchi, die 
größte Kiste der SJ700 Reihe mit 132kW erreicht seine volle Leistung bei 
max. 3kHz, darüber muss er auf grund der Schaltverluste den 
Ausgangsstrom reduzieren.

> Für LEDs nutzt man doch zwischen 100Hz & 500Hz.

In etwa.

> Mir fällt gerade nicht wirklich ein, für was man PWM noch nutzen könnte

Es gibt Dutzende Anwendungen für PWM.

https://www.mikrocontroller.net/articles/Pulsweitenmodulation#DA-Wandlung_mit_PWM

Datenübertragung

WS2812 Ansteuerung

Liste unvollständig

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Thomas R. schrieb:
> Für LEDs nutzt man doch zwischen 100Hz & 500Hz.

Ich nehme oft 4kHz, weils dann nicht mehr sichtbar flimmert, auch bei 
Bewegung.
Je höher die PWM, umso besser kann man sie wegfiltern, was z.B. bei FU 
und WR sinnvoll ist.

von Andreas B. (bitverdreher)


Lesenswert?

Für BLDCs sind 100kHz durchaus sinnvoll. Das verringert den Ripple und 
damit die Wärmeentwicklung des BLDC.

von Thomas R. (r3tr0)


Lesenswert?

Stimmt... Gar nicht so weit gedacht.
Bin irgendwie nur von Brushed-DC Motoren ausgegangen.

Ist ja auch ebenfalls bei Schrittmotoren (siehe Hard-drive-disk) so mit 
einer hohen Frequenz.

Danke euch!

von Löppt (Gast)


Lesenswert?

Mir fiele noch ein, dass man mit der PWM auch andere Dinge in der 
Schaltung clocken könnte. So bräuchte man weniger Quarze (und weniger 
Oszillatoren, die warum auch immer nicht anschwingen; weniger kosten tut 
es dann auch).

Da würde mich aber auch interessieren: Wird das professionell auch so 
gemacht?

von Cartman (Gast)


Lesenswert?

> So bräuchte man weniger Quarze

Quarze und Quarzoszillatoren sind in einem kommerziellen Design
wohl die geringsten Kostenfaktoren.
Ueblich sind dagegen eher "spezielle" Signalprozessoren
(z.B. TI TMS320x28) und fuer exakte Timings, verifizierbare
Sicherheit etc. noch ein FPGA.

von Axel S. (a-za-z0-9)


Lesenswert?

Löppt schrieb:
> Mir fiele noch ein, dass man mit der PWM auch andere Dinge in der
> Schaltung clocken könnte. So bräuchte man weniger Quarze

Um "Dinge zu clocken" - sprich: ein Taktsignal bereit zu stellen, 
braucht man aber keine PWM. Für die meisten Anwendungsfälle dürfte ein 
symmetrisches Taktsignal (50% PWM) ausreichen. Und das kann man 
wesentlich einfacher und vor allem bis zur Taktfrequenz des AVR selber 
generieren.

> Da würde mich aber auch interessieren: Wird das professionell auch so
> gemacht?

Mit PWM? Sicher nicht.

Taktsignal für angeschlossene Peripherie mit µC erzeugen? Absolut. Oft 
ist es sogar notwendig, etwa für die Synchronisation.

von Löppt (Gast)


Lesenswert?

Cartman schrieb:
>> So bräuchte man weniger Quarze
>
> Quarze und Quarzoszillatoren sind in einem kommerziellen Design
> wohl die geringsten Kostenfaktoren.
> Ueblich sind dagegen eher "spezielle" Signalprozessoren
> (z.B. TI TMS320x28) und fuer exakte Timings, verifizierbare
> Sicherheit etc. noch ein FPGA.

Hängt wohl davon ab, was das für ein Design ist. Nicht alles enthält 2 
FPGA und Cortex A :)

Axel S. schrieb:
> Löppt schrieb:
>
>> Mir fiele noch ein, dass man mit der PWM auch andere Dinge in der
>> Schaltung clocken könnte. So bräuchte man weniger Quarze
>
> Um "Dinge zu clocken" - sprich: ein Taktsignal bereit zu stellen,
> braucht man aber keine PWM. Für die meisten Anwendungsfälle dürfte ein
> symmetrisches Taktsignal (50% PWM) ausreichen. Und das kann man
> wesentlich einfacher und vor allem bis zur Taktfrequenz des AVR selber
> generieren.
>> Da würde mich aber auch interessieren: Wird das professionell auch so
>> gemacht?
>
> Mit PWM? Sicher nicht.
> Taktsignal für angeschlossene Peripherie mit µC erzeugen? Absolut. Oft
> ist es sogar notwendig, etwa für die Synchronisation.

Ja, da war ich noch nicht wach. Ich meine natürlich, ein Taktsignal mit 
Timer-Peripherien zu erzeugen.
Danke für die Antwort :)

von Baumbart (Gast)


Lesenswert?

Thomas R. schrieb:
> Sorry falls ein bisschen Offtopic, würde gerne etwas dazu lernen
> :D.
>
> Für was könnte man so hohe PWM Frequenzen benötigen?
> Für Motorensteuerungen werden doch afaik Frequenzen >20kHz genutzt,
> damit die Lautstärke verringert wird.
> Für LEDs nutzt man doch zwischen 100Hz & 500Hz.
>
> Mir fällt gerade nicht wirklich ein, für was man PWM noch nutzen könnte
> :l

Auch wenn bereits mehrfach drauf eingegangen, bei mir war die hohe 
Schaltfrequenz für Versuche mit einem selbstbau-Aufwärtswandler. Den 
dazu notwendigen Mosfet steuere ich mit dem Atmega328p an. Btw. ich habe 
mir laut Datenblatt nachfolgendes gebaut. Damit sind alle möglichen 
Frequenzen < Quarz möglich.
Die Frequenz errechnet sich aus: QuartzFrequenz/Prescale*OCR0A
Duty Cycle muss zwangsläufig mind OCR0A -1 sein.
Beispiel:
16000000/1*100 = 160kHz
Duty Cycle 50% (OCR0B) wären dann max OCR0A * 0.5 ergibt OCR0B = 50;
1
//generate Timer0 Fast PWM on PD5 OC0B with adjustable Freq on OC0A
2
TCCR0A |= (1<<COM0B1);              //Clear OC0B on compare match
3
TCCR0A |= (1<<WGM00) | (1<<WGM01);  //Fast PWM Mode 7 with OCR0A as TOP
4
TCCR0B |= (1<<WGM02);        //Fast PWM Mode 7 with OCR0A as TOP
5
TCCR0B |= (1<<CS00);                //start PWM with Prescale 1
6
OCR0A = 0;                          //PWM Frequency > variable
7
OCR0B = 0;                          //Duty Cycle (max OCR0A)

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.