Forum: Mikrocontroller und Digitale Elektronik Proteus Oszilloskop Anzeige


von Robert B. (robertb42)


Angehängte Dateien:

Lesenswert?

Hi und zwar habe ich PIC16F877A und damit erzeuge ich zwei PWM-Signale.
Ich will, dass die Signale zu einander Phasenverschoben sind also habe 
ich folgendes gemacht
1
PWM1_Start();                                          
2
Delay_us(10);
3
PWM2_Start();

müsste doch so funktionieren, nun zeigt mir aber das Programm das Bild 
das angehängt ist an. Ich vermute mal es liegt an den Einstellungen vom 
Oszilloskop und nicht am Code, kennt sich wer mit Proteus aus und kann 
mir sagen wie ich das richtig triggern kann?

von Luca E. (derlucae98)


Lesenswert?

Deine Zeitbasis steht auf 5µS/Div. Du startest die zweite PWM 10 
µ-sekunden nach der ersten (= 2 Div). Die beiden Signale liegen also 
wieder aufeinander.

: Bearbeitet durch User
von devynf (Gast)


Lesenswert?

Oder deine PWM Signale sind an den gleichen Timer gekoppelt. Da kannst 
du die PWM starten wie du willst, sie werden immer gleich laufen. Du 
kannst ja mal den Trigger auf den PWM1 setzen, und dann einschalten. 
Dann sollte PWM2 10us später deckungsgleich mit PWM1 sein.

von K. S. (hagbart06)


Lesenswert?

Luca E. schrieb:
> Deine Zeitbasis steht auf 5µS/Div. Du startest die zweite PWM 10
> µ-sekunden nach der ersten (= 2 Div). Die beiden Signale liegen also
> wieder aufeinander.

Da die Periodendauer 20µS beträgt müsste eine Verschiebung von 180° 
vorliegen. Das stimmt also eigentlich schon.


devynf hat da vollkommen recht. Der PIC verwendet den Timer2 als 
Zeitbasis für die Hardware PWM. Man kann zwar die Tastgrade unabhängig 
voneinander ändern, allerdings nicht die Periodendauer oder 
Phasenverschiebung. Das würde nur mit einer Soft-PWM gehen.

von Robert B. (robertb42)


Lesenswert?

Kevin S. schrieb:
> Luca E. schrieb:
>> Deine Zeitbasis steht auf 5µS/Div. Du startest die zweite PWM 10
>> µ-sekunden nach der ersten (= 2 Div). Die beiden Signale liegen also
>> wieder aufeinander.
>
> Da die Periodendauer 20µS beträgt müsste eine Verschiebung von 180°
> vorliegen. Das stimmt also eigentlich schon.
>
>
> devynf hat da vollkommen recht. Der PIC verwendet den Timer2 als
> Zeitbasis für die Hardware PWM. Man kann zwar die Tastgrade unabhängig
> voneinander ändern, allerdings nicht die Periodendauer oder
> Phasenverschiebung. Das würde nur mit einer Soft-PWM gehen.

also wenn ich eine Phasenverschiebung der PWM-Signale erreichen will 
muss ich das ganze anders lösen ja???

Wie genau würde ich es denn schaffen eine 180° Verschiebung zu 
erreichen, zwischen den beiden PWM`s?

von K. S. (hagbart06)


Lesenswert?

Das Stichwort hatte ich ja schon genannt: Soft(ware)-PWM. Dazu findet 
man bei einer Suchmaschine reichlich Anregungen. Einige Compiler liefern 
auch bereits fertige Routinen dafür mit.


Wenn es dir aber wirklich nur um 180° Grad Verschiebung geht, kannst du 
dein erstes PWM Signal ja einfach Invertieren.

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.