PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM Frequenz weicht ab



Dps64
01.04.2013, 12:27
Hallo Forum Gemeinde,

es geht mir hier eher um allgemeines Verständnis meiner Beobachtung, Kritisch für mein Projekt ist die Abweichung nicht, jedoch möchte ich sie gern verstehen.

Ich habe einen Atmega8 mit einem externen Quarz (12.000Mhz) laufen, fusebits stehen auf external chrystal High frequenz. (001111 in Bascom) und im Programm steht auch $crystal = 12000000

Die Arbeitsfrequenz sollte noch auch bei 12.000'MHz liegen. (Schaltung steckt übrigens noch auf experemtierboard).

Ich habe 2 pwms laufen, beide auf Timer 1, pwm = 8 und prescale = 1

Die frequenz sollte sich ergeben aus der Taktfrequenz geteilt durch prescale und geteilt durch die bittiefe * 2

f = (12000000/1) / (256*2)

Ergibt also eine theoretische Pwm Frequenz von 23,437 KHz.

An meinem Oszi zähle ich aber 12 Perioden in 9,4 cm bei 50 mikrosekunden (bei beiden pwm Ausgängen selbes Ergebnis)

Ich rechne nun T = 9,4 * 50 und f = 12/T

Ich komme also tatsächlich auf 25,531 kHz, das ist eine Abweichung von immerhin 2,1 kHz.
Wo liegt der Fehler ?
Wenn in der Theorie meine Berechnungen korrekt sind würd dies bedeuten das mein Atmega tatsächlich mit rund 13.072 MHz liefe anstatt mit 12.000 um die gemessene frequenz zu erzeugen, das kann aber kaum stimmen oder?

Hat schonmal jemand ähnlich Beobachtungen gemacht oder habe ich unterwegs einen Fehler gemacht?

MfG Stefan

for_ro
01.04.2013, 13:34
Die frequenz sollte sich ergeben aus der Taktfrequenz geteilt durch prescale und geteilt durch die bittiefe * 2

f = (12000000/1) / (256*2)

Hallo Stefan,
das stimmt so nicht exakt. Du musst nicht durch 2^pwmbits sondern durch den Top Wert teilen, also hier 255.
Somit ergäbe sich eine Frequenz von etwa 23,529Khz.
Den Perioden und Längen auf dem Oszi würde ich so nicht vertrauen. Bei meinem ist das dargestellte Bild z.B. immer etwa 0,5cm breiter, als die 10cm Scala. Das wären schon 5% Fehler.

JoeM1978
01.04.2013, 13:41
kann auch sein, das dein oszi etwas ungenau ist ? ... bei den 50us ... hast du da ein poti, wo du noch nen multiplikator regeln kannst ?
ich kann z.b. noch bis 10fach regeln... wenn diese poti altersbedingt oder verschleis oder oder, nicht ganz genau ist, sind da 10% schnell weg.

Dps64
01.04.2013, 17:23
Danke für die Antworten,


also natürlich habe ich eine gewisse Messungenauigkeit berücksichtigt aber die Abweichung war mir doch etwas zu groß um sie allein dadurch erklären zu können.

Ich habe am oszi einen mehrstufen Drehschalter für die zeitablenkung und darauf noch ein Poti für eine Feineinstellung. Diese ist allerdings am rechten Anschlag "eingerastet", die zeitablenkung ist also entsprechend dem Stufenschalter eingestellt. Das poti, wenn ich es bewege führt die zeitablenkung langsam und sauber nach, also eher nicht verdreckt. En spielen mit Stufenschalter bringt auch keine "sprünge" mit sich, alles sauber und harmonisch.

Ist auch keine Super Luxus Teil, ein 20mhz 2 Kanal Teil von Conrad, Typ 3502. wird sicher auch nicht besonders geeicht sein aber ob die Abweichung dennoch so hoch ausfallen kann ?! Ok, möglich wäre es. Jemand eine Idee wo ich ein verlässliches Signal herbekomme um das ding zu Eichen?

MfG stefan

Searcher
01.04.2013, 17:38
Der 12 Mhz Quarz, auch zusammen mit dem Mega8 ist doch prima um das Oszi zu eichen oder zu überprüfen. Frequenzzählergenauigkeit wirst Du aber wahrscheinlich nicht erreichen.

Du solltest mal das komplette Programm zeigen, mit dem Du die PWM erzeugst. Mir ist unklar, wie Du zu der PWM kommst.

Gruß
Searcher

robo_tom_24
01.04.2013, 17:45
Wir haben heuer in dr Schule gelernt, dass Analogoszis einen typischen Fehler von rund 4% haben. Da würd ich mir also jetzt nicht gerade viel erwarten ;)
Hast du ein DMM? Die haben auch des öfteren einen Frequenzmessmodus, kannst ja mit dem mal probieren...

Dps64
01.04.2013, 17:49
@Searcher
Hast du da mal ein Testprogramm welches eine recht zuverlässige PWM frequenz ausgibt?
Kann durchaus sein das es an meinem Code liegt ;-) bin noch eher das was ich zu Bascom Anfänger zählen würde.

@robo Tom
Habe leider kein Zugang zu einem anderen oszi. Ich hab nur dieses, ein recht einfach gehaltenes ohne schnick Schnack. Hätte auch gern mal mit einem anderen gegen gemessen aber naja, man kann nicht alles haben ;-)

Dmm = digitales Multimeter? Ja klar auch mit Frequenz Messung aber nicht Jenseits der 20 kHz

Searcher
01.04.2013, 17:58
@Searcher
Hast du da mal ein Testprogramm welches eine recht zuverlässige PWM frequenz ausgibt?
Kann durchaus sein das es an meinem Code liegt ;-) bin noch eher das was ich zu Bascom Anfänger zählen würde.

Hab grad keins da. Geht aber nicht um meins, sondern um Deins; um da eventuelle Fehler raus zu bringen, oder Deine Rechnung zu überprüfen, ob die richtig ist. Da die gemessene Abweichung klein ist, tippe ich auch eher auf einen Ablesefehler/Meßtoleranz.

Gruß
Searcher

Dps64
01.04.2013, 18:31
Naja klein ist relativ, sind trotzdem fast 10% Abweichung, wenn es um etwas zeitkritisches Gänge wäre das doch recht enorm ;-)

Ok ich werde erstmal versuchen die Schaltung irgendwo auszumessen wo mehr verlass auf die Genauigkeit ist und mal sehen was ich dort für ein Ergebnis erhalte.

Ich danke euch für eure Hilfe

for_ro
01.04.2013, 19:09
Dmm = digitales Multimeter? Ja klar auch mit Frequenz Messung aber nicht Jenseits der 20 kHz
Dann nimm doch einfach mal 9- oder 10-bit PWM. Damit teilst du die Frequenz auf die Hälfte bzw. ein Viertel.
Das sollte dein DMM doch dann können.

Dps64
01.04.2013, 20:06
Ok hab mich doch mal dezent geirrt, laut Datenblatt meines DMM : Frequenzmessung 2Khz ... 10Mhz +-0,1% :)

Ich dachte immer es ginge nur bis 10Khz... Da lag ich wohl um Faktor 1000 und damit knapp daneben, bloß gut das ich nochmal nachgeschaut habe ;-)

Hab's blöderweise grad nicht hier, ich Messe das morgen mal damit, werde dann Bescheid geben was bei raus kommt.

MfG Stefan

Dps64
01.04.2013, 23:56
Also ich habe mein DMM wieder zurück. Habe soeben mal damit gemessen, leider ist die Auflösung im KHz - Bereich nicht mehr so hoch.
Es schwankt jedoch zwischen 23,5 und 23,6 KHz mit einer Tendenz zu 23,6 ( etwa 2 Sekunden 23,6 dann 1 Sekunde 23,5).


Errechnet aus dem Systemtakt habe ich unter berücksichtigung des Hinweises von For_ro eine Frequenz von 23,529khz. Das sieht also sehr stimmig aus. Somit hat mein oszi also eine recht hohe Abweichung. Ich sollte es vielleicht mal Eichen lassen ;-)

Danke für eure Hilfe und Tipps
MfG Stefan