Schemat ideowy modułu PWM pokazano na rysunku 1. Budowa jest podobna do poprzednich modułów - za sterowanie odpowiada mikrokontroler Attiny24, napięcia stabilizowanego dostarcza układ 78M05, komunikacja z magistralą RS485 odbywa się poprzez układ MAX485.
Elementami wykonawczymi są dwa tranzystory MOSFET-N. Obciążalność zależy od typu zastosowanych tranzystorów. W układzie modelowym zastosowano IRL3803 o napięciu maksymalnym 30 V i bardzo dużym prądzie drenu, ale bez dodatkowego radiatora nie powinno się przekraczać 5 A.
Nic nie stoi na przeszkodzie, aby zastosować inny typ tranzystorów i uzyskać inne parametry, ale muszą to być tranzystory typu "logic-level compatible". Na rysunku 2 pokazano sposób dołączenia odbiorników do modułu PWM. Należy pamiętać, że odbiorniki o charakterze indukcyjnym np. silniki czy przekaźniki wymagają dołączenia diody (np. 1N4007) zabezpieczającej przed przepięciami, tak jak na rysunku.
Sterownie modułem odbywa się poprzez magistralę RS485 przy pomocy prostych komend. Komeda sterująca musi zaczynać się ciągiem znaków "P x x" gdzie "xx" to adres modułu w zakresie 00...99. W przypadku sterownia cyfrowego, dalsza część komendy musi przyjąć jedną z trzech opcji:
- "= 1 <CR>" - powoduje załączenie wyjścia,
- "= 0 <CR>" - powoduje wyłączenie wyjścia,
- "= ? <CR>" - zwraca odpowiedź układu zawierającą aktualny stan wyjścia.
Natomiast w przypadku sterowania PWM komenda musi przyjąć postać "= vvv , ddd <CR>", gdzie: "vvv" to wartość współczynnika wypełnienia przebiegu pwm, w zakresie 0...255, "ddd" to współczynnik opóźnienia z jakim zostanie osiągnięta, podana wcześniej wartość wypełnienia. Możliwy zakres to 0...255.
Zapytanie o stan wyjścia zwraca odpowiedź w postaci P xx = vvv <CR>, gdzie "xx" to adres modułu a "vvv" to aktualna wartość współczynnika PWM. Gdy wyjście sterowane jest cyfrowo, to wartość będzie wynosiła 000 lub 255. We wszystkich przypadkach w komendach nie ma spacji a oznaczenie "<CR>" to znak końca linii - wartość ASCII równa 0x0D. Przykładowe komendy umieszczono w tabeli 1.
Układ wymaga wstępnej konfiguracji - potrzebny będzie terminal z interfejsem RS485 np. konwerter AVTMOD14 dołączony do komputera PC i programu Bray Terminal+. Założenie jumpera w pozycji 1 (rysunek 3) uruchamia automatyczne wysyłanie stanu wyjścia.
Funkcja ta może być włączona tylko w jednym module w całej magistrali i tylko wtedy, gdy nie ma urządzenia nadrzędnego. Powoduje wysyłanie na magistralę co ok. 4 sekundy komendy ze stanem wyjścia. Może być przydatna do identyfikowania modułów, ponieważ komenda zawiera adres modułu.
Założenie jumpera w pozycji 2 (rys. 3) a następnie włączenie zasilania modułu powoduje przywrócenie domyślnego adresu o wartości "00". Założenie jumpera w pozycji 3 (rys. 3) i włączenie zasilania modułu powoduje wejście w tryb zmiany adresu.
Moduł wysyła wartość aktualnego adresu a następnie czeka na wprowadzenie nowej wartości. Po zatwierdzeniu klawiszem Enter nowa wartość zostaje zapamiętana i układ jest gotowy do pracy. Należy pamiętać, że drugie wyjście modułu automatycznie dostaje adres zwiększony o jeden, dlatego modułom należy nadawać adresy zwiększane o 2.
KS