komisches PWM-Signal von ATMega64L
Hi!
Wir sind so ziemlich am Anfang eine Roboterbaus.
Um uns mit der Materie etwas auseinanderzusetzen haben wir den PWM-Ausgang mal an die Soundkarte angeschlossen, und die Frequenzen und den Verlauf mit nem Software-Oszzi angeschaut.
Entweder liegt es an der Messmethode (über die Soundkarte) oder es kommen wirklich komische Sachen dabei raus.
Hier mal ein paar Screenshots bei folgenden Einstellungen
Code:
ProcClock = 8000000;
SysTick = 10;
StackSize = $0064, iData;
FrameSize = $0064, iData;
PWMres = 10;
PWMpresc = 8;
Dazu das Prinzip:
Code:
for i:=0 to 16 do
PWMPort2:=i*64;
mDelay(2000);
endfor;
Externes Bild anzeigen
Externes Bild anzeigen
Nicht wirklich eine Rechteckspannung...
Externes Bild anzeigen
es wird langsam...
Externes Bild anzeigen
besser
Externes Bild anzeigen
so müsste es immer sein (x-Scale wurde zu den vorherigen verändert)
Externes Bild anzeigen
im Vergleich zu dem Vorherigen sieht man gut, dass das Maximum breiter wird (hier im negativem Bereich, da verpolt angeschlossen)
Externes Bild anzeigen
...aber ab ca. 75Prozent (also z.B. bei mehr als ca. PWMPort2:=768 (bei 10Bit)) hat der Controller dann irgendwie noch eine ~100Hz-Schwingung aufmoduliert, was nicht zu verstehen, dafür aber zu hören ist; sehr merkwürdig!
Was insgesammt unverständlich ist, ist, dass die gemessene Frequenz bei einem Vorteiler von 1 (PWMpresc=1) nur 4000HZ (4kHZ), bei PWMpresc=8 nur 500Hz, usw. betragen haben. Ok, vielleicht kam das Programm mit den negativen Amplituden nicht klar, aber 8kHz sind immernoch keine 8MHz, die der Chip doch eigentlich liefern müsste, oder?
Vielleicht könnt Ihr mir das ja erklären/helfen, oder mir sagen, an was das liegt (Chip falsch getaktet?...)
Grüße; ähM_Key
PS: sry@ISDN-User...aber ich bin auch einer ;)