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;
Bild hier  
Bild hier  
Nicht wirklich eine Rechteckspannung...

Bild hier  
es wird langsam...

Bild hier  
besser

Bild hier  
so müsste es immer sein (x-Scale wurde zu den vorherigen verändert)

Bild hier  
im Vergleich zu dem Vorherigen sieht man gut, dass das Maximum breiter wird (hier im negativem Bereich, da verpolt angeschlossen)

Bild hier  
...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