Witam!
Udało mi się zrobić prototypowy falownik trójfazowy na Arduino UNO Rev3 i wszystko pięknie działa poza jednym - wyraźnie słyszalny jest z silnika dźwięk sygnału PWM o częstotliwości niecałego 1kHz (piny 5, 6 i 9)... Znalazłem działający sposób na zmianę częstotliwości PWM na pinie 9 na forum Arduino: KLIK. Skopiowany kod wklejam poniżej. Problem w tym, że nie potrafię zrozumieć, jak działają te wszystkie oznaczenia (liczniki, timery itd.), a do tego mój angielski trochę kuleje. W każdym razie czy mógłbym prosić o możliwie najprostsze wyjaśnienie, co konkretnie trzeba w tym kodzie dodać/zmienić, aby oprócz pinu 9 zmienić częstotliwość PWM na 20kHz na dwóch innych pinach (dowolnych, niekoniecznie 5 i 6) i móc sterować wypełnieniem na wszystkich trzech niezależnie? Czy to w ogóle możliwe tym sposobem?
Próbowałem kombinować doświadczalnie, zmieniając niektóre cyferki "1" na "0" i próbując tym samym zmienić obsługiwany timer/licznik(?) z OC1A i OC1B na OC0A i OC0B, co miało dać obsługę pinu 5 zamiast 9, ale nic to nie dało.
[/code]
Udało mi się zrobić prototypowy falownik trójfazowy na Arduino UNO Rev3 i wszystko pięknie działa poza jednym - wyraźnie słyszalny jest z silnika dźwięk sygnału PWM o częstotliwości niecałego 1kHz (piny 5, 6 i 9)... Znalazłem działający sposób na zmianę częstotliwości PWM na pinie 9 na forum Arduino: KLIK. Skopiowany kod wklejam poniżej. Problem w tym, że nie potrafię zrozumieć, jak działają te wszystkie oznaczenia (liczniki, timery itd.), a do tego mój angielski trochę kuleje. W każdym razie czy mógłbym prosić o możliwie najprostsze wyjaśnienie, co konkretnie trzeba w tym kodzie dodać/zmienić, aby oprócz pinu 9 zmienić częstotliwość PWM na 20kHz na dwóch innych pinach (dowolnych, niekoniecznie 5 i 6) i móc sterować wypełnieniem na wszystkich trzech niezależnie? Czy to w ogóle możliwe tym sposobem?
Próbowałem kombinować doświadczalnie, zmieniając niektóre cyferki "1" na "0" i próbując tym samym zmienić obsługiwany timer/licznik(?) z OC1A i OC1B na OC0A i OC0B, co miało dać obsługę pinu 5 zamiast 9, ale nic to nie dało.
Code: c