Forum: Mikrocontroller und Digitale Elektronik PIC PWM vs. AVR PWM


von Gepi (Gast)


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

von Thomas M. (thomas1123) Benutzerseite


Lesenswert?

wofür?

geht es um feine eistelung des ein aus verhältnisses oder um einen 
möglichst schnellen takt ?

was willst du damit "dimmen,steuern"?
meines wissens gibt es dsPics mit 4mhz pwm

von Gepi (Gast)


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

von Falk B. (falk)


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

von Εrnst B. (ernst)


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.

von Andreas K. (a-k)


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.

von Mario (Gast)


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.

von Bingo (Gast)


Lesenswert?

Warum guckst du nicht am die neues ATtiny's (45/85) , oder die altes 
tiny (15/26 , diser kann sehr schnell pwm laufen , als sie einer pll 
hast)

mfg
Bingo (Dänemark)

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.