Phasenverschiebung bei PWM

Gast #3541316
Lesenswert?
• ▲
▼
Hallo,
ich erzeuge 2 von einander unabhängige PWM Signale. Beide haben die 
Frequenz 10kHz also eine Periodendauer von 100µs. Momentan sind sie 
übereinander gelagert (siehe Bild 1), doch ein Signal muss ich so 
ändern, dass es High wird wenn das andere Low wird (siehe Bild 2). Diese 
Signale sollen gleichzeitig gestartet werden.

Ich verwende:
dsPIC33FJ256MC710A µC
dsPICDEM MCLV Developmend Board
PCD Compiler von CCS

Ich hoffe jemand kann mir helfen eine Phasenverschiebung bei einer PWM 
zu erzeugen.

mfg
Angehängte Dateien:
Gast #3541328
Lesenswert?
• ▲
▼
Es soll gleich aussehn.
Ja invertieren würde funktionieren aba wie sieht mein Code dann aus?

Mein Code ist momentan:

#include <33FJ256MC710A.h>
#include <stdio.h>
#include <stdlib.h>

#fuses XT,PR_PLL, NOWDT
#use delay (crystal=8M, clock=80M)

void main()
{
    set_tris_b(0);

    while(1)
    {

//1.PWM Signal
   setup_motor_pwm (1,MPWM_FREE_RUN,3998);

   set_motor_unit(1,1, MPWM_ENABLE  ,0,0);

   set_motor_pwm_duty(1,1,3600);

//2.PWM Signal
   setup_motor_pwm (1,MPWM_FREE_RUN,3998);

   set_motor_unit(1,2, MPWM_ENABLE ,0,0);

   set_motor_pwm_duty(1,2,3600);
    }
}
Gast #3542637
Lesenswert?
• ▲
▼
>dass es High wird wenn das andere Low wird (siehe Bild 2). Diese
>Signale sollen gleichzeitig gestartet werden.

Hm.. ich vermute was..


>eine Motorsteuerung machen muss.

Dachte ich mir. Die beiden Signale sollen bestimmt Hi/Lo-Side FET 
ansteuern.

Da musst DU einen Timer nehmen, der Komplementärausgänge mit Totzeit 
hat.

Sieh mal in Datenblätter eines Atmel AT90PWM... als Beispiel.
Gast #3542638
Lesenswert?
• ▲
▼
Ich glaube du solltest dir die Methoden nochmal genau ansehen. Ich kenne 
mich mit den dsPIC und dem CCS nicht aus, aber mir fällt als erstes auf:
Du hast setup_motor_pwm(), set_motor_unit() und set_motor_pwm_duty() in 
der while Schleife.
Zumindest setup_motor_pwm sollte vor der Schleife stehen.
Gast #3676563
Lesenswert?
• ▲
▼
Hallo ich habe das gleiche Problem und konnte es bisher noch nicht 
beheben. Kann mir bitte wer dabei helfen die PWM Signale zu invertieren?
Ich nutzte ebenfalls den dsPIC33FJ256MC710A und auch das dsPICDEM MCLV.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.