PIC PWM vs. AVR PWM

Gast #723905
Lesenswert?
• ▲
▼
Hallo zusammen,

ich weiß, man sollte erstmal selbst recherchieren bevor man fragt, aber 
da ich von PICs Null Ahnung habe und es eilt hier gleich meine Frage:

Ich habe einen Tiny2313, der läuft in Fast PWM Mode, der Timer läuft mit 
CPU-Takt = 20MHz.

Nun die Frage: Gibt es einen ähnlich günstigen PIC mit ähnlicher 
Funktionalität dessen Timer auch mit CPU-Takt läuft, sodass der PWM-Takt 
entsprechend fein eingestellt werden kann?

Gruß

Gepi
Gast #727696
Lesenswert?
• ▲
▼
es geht um einen schnellen Takt des Timers. Ich will ziemlich genau 
120kHz einstellen und über zwei Taster die Frequez ändern, und zwar in 
möglichst kleinen Schritten. Dazu muss dann ja der Takt mögl. hoch sein.

Habe mir gerade die dsPICs angeschaut, die sind etwas teuer und wie's 
aussieht brauch man einen teuren Compiler. Ich bräuchte was mit Open 
Source Compiler (oder wenigstens umsonst) und der Controller darf nicht 
mehr als ein Tiny2313 kosten.

Den Takt brauch ich für meine indukt. Energieübertragung.

Gruß

Gepi
#727700
Lesenswert?
• ▲
▼
@ Gepi (Gast)

>Den Takt brauch ich für meine indukt. Energieübertragung.

Und warum glaubst du, die Frequenz so fein einstellen zu müssen? Die 
Spulen einfach abgleichen und mit festem Takt arbeiten. Fertig. Und was 
spricht gegen den Tiny2313, wenn der mit 20 MHz doch so gut 
funktioniert?

MFG
Falk
#727850
Lesenswert?
• ▲
▼
Bei den PICs läuft zwar der "CPU-Kern" nur mit einem viertel des 
angelegten Taktes, aber die Timer/PWM-Module können mit dem vollen Takt 
arbeiten (zumindest bei den 18F-Modellen die ich kenne. 
Ansonsten->Datenblatt oder Parameter-Suche auf der microchip homepage).

Auf die Weise kriegen die eine 10Bit PWM mit noch halbwegs guter 
Frequenz hin.

Bei 40MHz Takt geht eine 10Bit PWM mit 39.06kHz, bei 8Bit mit 156.25kHz
Manche der PICs (v.a. die USB-Versionen) lassen sich auch mit 48MHz 
takten, wenns noch ein paar kHz mehr sein sollen.
#727939
Lesenswert?
• ▲
▼
Gepi wrote:

> Habe mir gerade die dsPICs angeschaut, die sind etwas teuer und wie's
> aussieht brauch man einen teuren Compiler.

Bei Microchip gibt's den eigenen C30 Compiler kostenlos, mit 
Einschränkungen bei Optimierung und kommerziellem Einsatz. Dieser 
Compiler ist nichts anderes als der GNU-Compiler, der um einen 
speziellen Optimierunglauf bereichert wurde.
Gast #727953
Lesenswert?
• ▲
▼
Guckst Du da:

http://www.sprut.de/electronic/pic/grund/pwm.htm

Zusammengefasst:
1
Einstellung der Periode 
2

3
Die Periode der Rechteckschwingung hängt ab von 
4

5
dem Takt des PIC 
6
der Einstellung des Timer2-Vorteilers 
7
dem Wert im Register PR2 
8
Die Periode kann man mit folgender Formel ausrechnen: 
9
PWM_Periode = Tocs x 4 x TM2PS x (PR2+1)
10
wobei Tocs eine Schwingperiode des verwendeten Quarzes (Keramikschwinges) ist, und TM2PS für den Teilwert des Timer2-Vorteilers (1, 4 oder 16) steht. Für eine bestimmte PWM-Periode kann man den Wert für PR2 wie folgt bestimmen: 
11
PR2 = [ PWM_Periode / (4 x Tocs x TM2PS) ] -1
12
Die Auflösung des Tastverhältnises (duty-cycle) kann nie besser sein, als das Vierfache des Wertes PR2. Ist z.B. PR=100, dann kann das Tastverhältnis in 400 Stufen eingestellt werden. Deshalb sollte man immer einen möglichst großen PR2-Wert wählen.

Kurz: Die PWM-Frequenz ist ein vielfaches der Quarzfrequenz/4
      Wie das bei PIC's so üblich ist, ist ein Befehls-Takt 4
      Q-cycles (=Quarzoszillation)
      Das Tastverhältnis bildet eine Ausnahme, lässt sich mit
      der Genauigkeit der Q-cycles (=Quarzfrequenz) einstellen.

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