logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[AT90PWM3B][AVRGCC] Sterowanie kluczami - PSC

snow 17 Kwi 2010 15:35 1454 2
REKLAMA
  • #1 7972036
    snow
    Poziom 31  
    Witam,

    Próbuję zmusić w/w procesor do sterowania kluczami. Napisałem prosty programik:

    #include <avr/io.h>
    
    int main (void)
    {
    PSOC0=(1<<POEN0B)|(1<<POEN0A);
    PSOC1=(1<<POEN1B)|(1<<POEN1A);
    PSOC2=(1<<POEN2B)|(1<<POEN2A);
    
    PCNF0=(1<<PMODE01);//|(0<<PMODE00);
    PCNF1=(1<<PMODE11);//|(0<<PMODE10);
    PCNF2=(1<<PMODE21);//|(0<<PMODE20);
    
    
    PCTL0=(1<<PRUN0);
    PCTL1=(1<<PRUN1);
    PCTL2=(1<<PRUN2);
    
    while (1)
    	{
       OCR0SA = 100;
       OCR0RA = 50;
       OCR0SB = 100;
       OCR0RB = 50; 
    	}
    return 0;
    }
    


    który ma za zadanie generować przebiegi PWM dla tranzystorów. Problem w tym iż o ile na odpowiednich wyjściach (PSCOUT00 i PSCOUT01) wychodzą te przebiegi co potrzeba o tyle nie mogę uzyskać przesunięcia tych sygnałów w czasie. Jak wiadomo do pracy kluczy w jednej gałęzi mostka muszą być tranzystory na przemian załączane. Regulacja czasów martwych i czasu załączenia działa ale przebiegi pokazane w PDF'ie nie pokrywają się z tym co uzyskuję na wyjściach. Docelowo ma to być sterowanie 6 kluczami falownika. Niezależnie którego trybu pracy PSC próbuję użyć, podane w PDF'ie wzory nie bardzo chcą się zgadzać

    Z góry dziękuję za pomoc i wskazanie co robię nie tak.
  • REKLAMA
  • Pomocny post
    #2 7977556
    Father
    Poziom 26  
    Kod wygląda na prawidłowy, jedynie zmieniłbym fragment wpisu do rej. 16-to bitowych dla pewności....
    	OCR0SBH=0x00;
    	OCR0SBL=0x00;
    	OCR0RBH=0x0F;
    	OCR0RBL=0xFF;
    	OCR0SAH=0x00;
    	OCR0SAL=0x00;
    	OCR0RAH=0x0F;
    	OCR0RAL=0xFF;
    
    	while(1);
    
  • #3 7999994
    snow
    Poziom 31  
    Ruszyło nareszcie. Generalnie co było problemem to sam nie wiem. Jednak nadal w jednym trybie mi się wzory nie zgadzają. Ostatecznie skończyło się na trybie Two Ramp i falownik śmiga. Musiałem jeszcze dorzucić POP'y.
REKLAMA