Hallo,
ich möchte ein PWM-Signal mit dem MSP auswerten. Ich habe allerdings
überhaupt keine Idee, wie ich das PWM-Signal mit dem MSP analysieren
soll. Wie komme ich denn an das Tastverhältnis der PWM?
Gruß
Marco
Das geht mit jedem mC:
100% ist die Zeit zwischen zwei gleichen Flanken.
Das PWM-Tastverhältnis ist der Anteil, der von der gegengerichteten
Flanke markiert ist - oder das Komplement.
Ist das so schwierig, daß man da nicht selbst drauf kommen kann?
Daniel Drüsendieb
"Ist das so schwierig, daß man da nicht selbst drauf kommen kann"
ne, was ne pwm ist und ein tastverhältnis weiß ich auch!
mir ging es darum, wie man nun das signal, was man am controller anlegt
auswertet. wenn ich es z.b. an einen adc port lege, wie ich dann per
software daran komme. da habe ich keine idee.
mit einem timer könnte man sicher die erste flanke nehmen, einen timer
starten, dann sehen, wie weit es zur zweiten flanke ist usw. ist doch
aber ein wenig umständlich, da man die ports andauern hin und her
schalten muss, auf welche flanke sie reagieren müssen usw.
@ Marco B.
>ne, was ne pwm ist und ein tastverhältnis weiß ich auch!>mir ging es darum, wie man nun das signal, was man am controller anlegt>auswertet. wenn ich es z.b. an einen adc port lege, wie ich dann per>software daran komme. da habe ich keine idee.
Wenn du es per ADC machen willst, musst du einen RC-Tiefpass mit
entsprechend niedriger Bandbreite davorschalten, die Bandbreite muss ca.
1/100 bis 1/1000 des der PWM-Frequenz betragen.
>mit einem timer könnte man sicher die erste flanke nehmen, einen timer>starten, dann sehen, wie weit es zur zweiten flanke ist usw. ist doch>aber ein wenig umständlich, da man die ports andauern hin und her>schalten muss, auf welche flanke sie reagieren müssen usw.
Überhaupt nicht. das sind eine handvoll Befehle, das fällt unter ferner
liefen. Die Funktion die du suchst heisst Input Capture (ICP), kann der
MSP auch.
MFG
Falk
Hallo,
ich bin nun nochmal dazu gekomen, mich damit zu beschäftigen. Allerings
habe ich es noch nicht am Laufen.
Ich habe nun das auszuwertende Signal an den Port 1.1 (TA0) gelelgt.
Ich möchte nun die Periodenlänge messen und die Dauer des High-Pegels.
Somit kann ich ja dann das Tastverhältnis berechnen.
Das Problem ist nun, das kein Interrupt des Timers kommt. Er springt
nicht in die ISR.
Könnte es vielleicht an einer falschen Initialisierung liegen? Oder bin
ich überhaupt auf dem richtigen Weg?
Den Timer habe ich dann wie folgt initialisiert:
Der externe Quarz 8MHz wird zuvor schon wie folgt initialisiert. er soll
auch für Baudratenerzeugung des uart verwendet werden. Die Uart
Schnittstelle funktioniert einwandfrei.: