• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
PWM - Sygnały przesunięte w fazie
#11
Tak jak es2 napisał, dla trybu phase correct, można bardzo dokładnie ustawić częstotliwość PWM.

Ja zrobiłem to tak, że dałem ICR1=400 dla preskalera = 1.
Dla kryształu 16MHz wychodzi równiutko 20kHz.
Wykorzystałem dwa kanały timera 1, przy czym TCCR1B ustawiłem w przeciwnej fazie.

W setupie ustawiamy zegar:

Kod:
    TCCR1A = 0;
    TCCR1B = 0;
    TCNT1  = 0;
    TCCR1A = (1<<COM1A1) | (1<<COM1B1) | (1<<COM1B0) | (1<<WGM11);
    TCCR1B = (1<<WGM13) | (1<<CS10);
    ICR1   = 400;                      
    
    pinMode( 9, OUTPUT);
    pinMode(10, OUTPUT);
Napisałem sobie taką funkcję ustawiająca wypełnienie.
Kod:
void PWM(int wypelnienie) //od 0% do 100%
{
    wypelnienie = map (wypelnienie, 0, 100, 0, 400);
    OCR1A = wypelnienie; // pin9
    OCR1B = 400-wypelnienie; // pin 10
}

Wypełnienie jest mapowane 100 --> 400, żeby podawać je do funkcji w procentach, ale jak ktoś chce, to można to wywalić i wysyłać od 0 do 400. Będzie precyzyjniej.
Kod spełnia oczekiwania autora wątku, przynajmniej tak wnioskuję z załączonej grafiki.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
  


Wiadomości w tym wątku
PWM - Sygnały przesunięte w fazie - przez akudom - 16-07-2018, 20:46
RE: PWM - Sygnały przesunięte w fazie - przez es2 - 16-07-2018, 22:22
RE: PWM - Sygnały przesunięte w fazie - przez es2 - 17-07-2018, 09:43
RE: PWM - Sygnały przesunięte w fazie - przez es2 - 17-07-2018, 20:03
RE: PWM - Sygnały przesunięte w fazie - przez es2 - 19-07-2018, 09:36
RE: PWM - Sygnały przesunięte w fazie - przez Robson Kerman - 19-07-2018, 22:06
RE: PWM - Sygnały przesunięte w fazie - przez es2 - 22-07-2018, 10:50
RE: PWM - Sygnały przesunięte w fazie - przez es2 - 23-07-2018, 12:14

Skocz do:


Przeglądający: 2 gości