Jest to przykładowy projekt zastosowania 16-kanałowego sterownika PWM PCA9635PW firmy NXP o 16-bitowej rozdzielczości, wbudowanego w moduł MOD-23 (Link), podłączonego do Arduino UNO. Zastosowany w projekcie enkoder, służy to wyboru kanału, a następnie wartości PWM. Aktualny wybór i wartości są wyświetlane na wyświetlaczu LCD 2x16 znaków. Układ posiada interfejs I2C, dzięki czemu zajmuje jedynie dwa wyprowadzenia mikrokontrolera, a umożliwia sterowanie, aż 16 kanałami PWM. Kolejną zaletą układu PCA9635, jest możliwość ustawienia 7-bitowego adresu, dzięki czemu do jednej magistrali I2C można podłączyć więcej układów, również pełniących inne funkcje. Układ może być zasilany napięciem od + 2,3 V do + 5,5 V, a maksymalny pobór prądu na kanał wynosi 25mA.
Podłączenie
Sterownik PWM podłączony jest do platformy Arduino UNO przez magistralę I2C . Wyświetlacz LCD podłączony został zgodnie z biblioteką LiquidCrystal, natomiast enkoder - do pinów cyfrowych: 6 i 8, a przycisk wbudowany w enkoder - do pinu analogowego 0.
Oprogramowanie
Oprogramowanie zostało udostępnione na otwartej licencji CC BY-SA 4.0 i zostało przygotowane przy współpracy z użytkownikiem Dambo. Do obsługi enkodera (Link) zostały wykorzystane przerwania PCINT w Arduino, ale dzięki wbudowanemu przetwornikowi, zastosowany enkoder można podłączyć do innych wyprowadzeń, niekoniecznie obsługujących przerwania. Warto też zwrócić uwagę na ustawianie flag, odnoszących się do odświeżania zawartości ekranu. Dzięki temu ekran odświeżany jest wyłącznie wtedy, kiedy następuje zmiana wyświetlanego tekstu, a nie z każdym cyklem programu.
Do ustawienia wartości PWM danego kanału, służy następująca linia
Kod: text
Film
Pliki
Dokumentacja sterownika PWM MOD-23
Dokumentacja enkodera MOD-16
Oprogramowanie sterownika i biblioteka układu PCA9635PW dla Arduino UNO (powinno działać również z innymi wersjami Arduino)
Nota katalogowa układu PCA9635PW
Fajne? Ranking DIY