wersja mobilna | kontakt z nami

Sterownik silników z interfejsem DMX

Numer: Listopad/2015

W Elektronice Praktycznej opublikowano wiele projektów urządzeń wyposażonych w interfejs DMX. Były to głównie urządzenia przetwarzające sygnał DMX lub manipulatory. Tym razem zostanie opisany układ wykonawczy, który może sterować silnikami poruszającymi elementami sceny (zasłony, postacie, ustawienia świateł itp.). W wersji bazowej ma możliwość zasilania 3 silników, ale łatwo urządzenie można rozbudować, tak aby można było zasilać ich aż 6. Dzięki zastosowaniu sterownika można zdalnie, np. za pośrednictwem konsoli DMX, sterować prędkością obrotową oraz kierunkiem obrotów. Rekomendacje: sterownik przyda się osobom zajmującym się techniczną oprawą imprez.

Pobierz PDFMateriały dodatkowe

Rysunek 1. Schemat ideowy sterownika silników z interfejsem DMX

Schemat ideowy sterownika silników z interfejsem DMX pokazano na rysunku 1. Jest on zasilany z tego samego napięcia doprowadzonego do złącza J6, co silniki. Napięcie zasilające musi zawierać się w granicach 7...40 V. W zasilaczu zastosowano układ scalony przetwornicy MC34063 (U1) w typowym układzie aplikacyjnym.

Dzięki jego użyciu nie jest wymagane użycie radiatora, nawet wtedy, gdy urządzenie jest zasilanie napięciem maksymalnym (+40 V). Dioda D1 zabezpiecza stabilizator przed skutkami zamiany polaryzacji zapięcia zasilającego.

Dane DMX są odbierane za pomocą typowego drivera interfejsu R485 - układu scalonego MAX485 (U6). Można zastosować tańsze odpowiedniki np. AD485, ST485. Autor artykułu ma natomiast złe doświadczenia z SN75176, których prędkość transmisji była niewystarczająca.

Zwora JP3 umożliwia załączenie rezystora-terminatora linii. Mikrokontroler ATmega128 (U4) dekoduje dane DMX i odpowiednio steruje stopnie mocy za pomocą przebiegu PWM. Wykorzystano trzy sprzętowe generatory PWM, których to ATmega128 zawiera aż sześć.

Rysunek 2. Schemat montażowy sterownika silników z interfejsem DMX

Dzięki temu jest łatwo rozbudować sterownik o kolejne trzy kanały. Mikrokontroler kontroluje pobór prądu przez silniki. W razie przekroczenia dopuszczalnego zakresu wybrany kanał zostaje zablokowany, nie dopuszczając do uszkodzenia stopnia mocy.

Bufory sterujące silnikami zbudowano na układach L6202 w obudowie DIP18. Bez stosowania radiatorów mogą one dostarczać do 1,5 A ciągłego prądu obciążenia i do 5 A w impulsie. Wszystko to za sprawą zastosowania tranzystorów MOS o małej rezystancji kanału.

Układ ma wbudowane diody tłumiące przepięcia powstające w momencie wyłączania indukcyjności i - w przeciwieństwie do L298 - nie trzeba dodawać ich na zewnątrz. Ponadto, L6202 ma wbudowane zabezpieczenie przed przegrzaniem. Ze względu na to, że w mostku układu drivera wszystkie tranzystory mają kanał N, stało się konieczne wytworzenie napięcia wyższego od napięcia zasilania, aby wysterować tranzystory w górnej gałęzi mostka.

Problem rozwiązuje obwód bootstrap (znany z dawnych wzmacniaczy audio, np. UL1480), który wymaga dołączenia kondensatorów do wyprowadzeń 11 i 17 układu. Obwód RC na wyjściu bufora stanowi dodatkowe zabezpieczenie (sztuczne obciążenie), jak ma to miejsce w układach wzmacniaczy audio.

Montaż i uruchomienie

Rysunek 3. Ustawienie fusebitów mikrokontrolera ATmega128

Schemat montażowy sterownika zamieszczono na rysunku 2. Montaż jest typowy i nie wymaga szczegółowego omawiania. Na początek nie zalecam montowania mikrokontrolera i układu MAX485, pod który warto zastosować podstawkę precyzyjną.

Układy L6202 należy wlutować bezpośrednio w płytkę, bez podstawek. Spowodowane jest to tym, że nóżki 4...6 i 13...15 odprowadzają ciepło z układu. Dlatego ścieżki doprowadzone do tych nóżek są takie grube, a nie z powodu płynących tam prądów.

W pierwszej kolejności uruchamiamy zasilacz. Jeśli napięcie jest poprawne (+5 V), można wlutować mikrokontroler i umieścić MAX485 w podstawce. Mikrokontroler dostarczany w zestawie jest już zaprogramowany. Jeśli chcemy zrobić to samodzielnie, należy ustawić fuses zgodnie z rysunkiem 3. Szesnastkowo:

Extended = 0xFE,
High = 0x99,
Low = 0x7F.

Następnie doprowadzamy sygnał DMX do złącza J4. Wcześniej zworkami na JP1 należy ustalić adres urządzenia (opis w tabelce w dalszej części artykułu). Obserwując diody LedDMX i LedST (opis w dalszej części artykułu) wnioskujemy czy urządzenie odbiera sygnał DMX. Jeśli nie, to najprawdopodobniej zamienione są wyprowadzenia na złączu XRL. Jeśli odbiór jest poprawny, to przyłączamy silniki do złącz J1... J3.

Sterownik zajmuje sześć adresów, kolejno:

  1. prędkość obrotowa silnika nr 1,
  2. kierunek obrotów silnika nr 1,
  3. prędkość obrotowa silnika nr 2,
  4. kierunek obrotów silnika nr 2,
  5. prędkość obrotowa silnika nr 3
  6. kierunek obrotów silnika nr 3.

Tabela 1. Opis znaczenia diod LED

Zmieniając nastawy kanału nr 1 powinniśmy zmieniać prędkość obrotową silnika nr 1. Należy pamiętać, że przy małym wypełnieniu silnik nie będzie pracował (słychać charakterystyczne buczenie). Problem można rozwiązać przypisując minimalnemu ustawieniu obrotów wartość większą niż jeden (w praktyce 5...20).

Niestety, różne silniki pozwalają się uruchomić dla różnych wartości tego parametru i nie da się tego ustandaryzować. Gdy silnik pracuje, należy zrobić zwarcie na jego zaciskach. Po 50 ms bufor zostanie wyłączony i zaświecą się diody informujące o błędzie. Błąd kasuje się zmniejszając prędkość do zera.

Obsługa

Tabela 2. Funkcje zworek

Pierwszy kanał DMX steruje prędkością obrotową silnika nr 1. Zmianę kierunku realizuje kolejny kanał DMX. Do połowy silnik obraca się w (umownie) prawo, ponad połowę w lewo, przy czym zachowano histerezę ±20, a więc w zakresie 0...148 silnik obraca się w prawo, a 255...108 w lewo.

Dzięki temu nie ma problemu z niekontrolowanymi zmianami rejestru kierunku na granicy połowy zakresu zwłaszcza, gdy silniki są sterowane za pomocą konsoli z potencjometrami. Aby nie uszkodzić silnika i mechanizmów z nim współpracujących, zmiana kierunku możliwa jest tylko wtedy, gdy silnik jest zatrzymany (kanał nr 1 w zakresie 0...7). Jeśli nastąpi przeciążenie silnika zaświecają się diody błędu. Błąd kasuje się zmniejszając prędkość silnika do zera (kanał nr 1 w zakresie 0...5). Pozostałe kanały działają identycznie.

Status sterownika jest sygnalizowany za pomocą diod LED - ich funkcje opisano za pomocą tabeli 1, a sposób ustawienia adresu - tabeli 2.

Wykaz elementów

Rezystory: (SMD 1206)
R1: 0 Ω
R2: 0,22 Ω
R3: 1,5 kΩ/1%
R4: 4,7 kΩ/1%
R6, R14, R18, R19: 10 Ω
R7, R8, R10...R12, R15, R16, R22...R26: 1 kΩ
R21, R27...R29: 10 kΩ
R20: 120 Ω
R5, R13, R17: 0,22 Ω/2 W (THT)
R9 (nie montować): pot. montażowy 10 kΩ

Kondensatory: (SMD 1206)
C2: 470 pF
C4, C7, C8, C14, C15, C19: 100 nF
C5, C6, C9...C11, C16...C18, C20: 15 nF
C12, C13: 22 pF
C1, C3: 470 µF/25 V (elektrolit. THT)

Półprzewodniki:
U1: MC34063ACD (SO8)
U2, U3, U5: L6202
U4: ATmega128-16AU (PQFP64)
U6: MAX485 (DIP8)
D1, D2: SS14
D15: SB560-DIO (Schottky 5 A)
D5...D7, D9, D11, D12, D14: dioda LED zielona, 5 mm
D4: dioda LED żółta, 5 mm
D3, D8, D10, D13: dioda LED czerwona 5 mm

Inne:
Q1: 8 MHz (rezonator kwarcowy)
L1: dławik 22 mH np. DL22-100
J1...J3, J6: TB-5.0-PP-2P, TB-5.0-PIN (złącze TB z listwą kołkową)
J4: NS25-W3 (gniazdo NS25 3 pin), NS25-G3 (wtyk NS25 3 pin), NS25-T - 3 szt. terminali do wtyku NS25, XLR-3G-C (wtyk XRL-3 do obudowy)
J7: IDC16 (wtyk do druku)
J8, JP2: IDC10 (wtyk do druku)
JP1: listwa kątowa goldpin 2×12
JP3: listwa kątowa goldpin 2×1
JP4: IDC14 (wtyk do druku)
PPIN8: podstawka precyzyjna

Uwagi

Generator przebiegu PWM w ATmega128 ma tę właściwość, że przy nastawie 0 generuje impuls o czasie trwania 1/256 okresu. Powoduje to ciche "bzyczenie" silnika. Aby wyeliminować ten efekt, przy nastawie 0 jest dezaktywowany sygnał Enable doprowadzony do stopnia mocy.

Podobnego "zabiegu" wymagała zmiana kierunku obrotów, która - jak pamiętamy - jest możliwa tylko po zatrzymaniu silnika. Przeciążenie jest wykrywane i sygnalizowane przez mikrokontroler za pomocą przerwania. Dociekliwych zachęcam do zajrzenia do kodu źródłowego programu, który jest dostępny w materiałach źródłowych udostępnionych dla projektu.

Sławomir Skrzyński, EP

Pozostałe artykuły

Gra elektroniczna Snake

Numer: Listopad/2016

Niegdyś budowanie konsol do gier było zarezerwowane tylko dla potentatów branży rozrywki. Wymagało bowiem użycia podzespołów, które albo były niedostępne dla przeciętnego użytkownika, albo podzespoły i/lub oprogramowanie niezbędne do wykonania urządzenia tego typu były koszmarnie drogie przy zakupie do celów pojedynczego projektu. Współcześnie każdy elektronik konstruktor, który zna się na programowaniu i aplikacjach mikrokontrolerów ...

Przedwzmacniacz mikrofonowy o wysokiej jakości

Numer: Listopad/2016

Mimo popularności np. karaoke, rzadko kiedy przedwzmacniacz mikrofonowy jest wbudowany we współczesnym sprzęcie audio. Często, jeśli jest w niego wyposażona np. karta muzyczna komputera PC, to jest on przeznaczony do współpracy z tanimi mikrofonami pojemnościowymi. Niestety, zwykle parametry takiego wejścia odbiegają od oczekiwań oraz w większości wypadków uniemożliwiają zastosowanie mikrofonów z "górnej półki". Ten problem rozwiązuje ...

Zaawansowany, funkcjonalny termostat

Numer: Listopad/2016

Optymalne ustawienie termostatu polega na uzyskaniu kompromisu pomiędzy jak najmniejszą amplitudą zmian temperatury i jak najmniejszą częstotliwością włączania urządzenia, którym steruje termostat. Dlatego zwykle określonej temperaturze towarzyszy zakres dopuszczalnych zmian temperatury nazywany histerezą. Można też po prostu określić temperatury graniczne: minimalną i maksymalną. Prezentowany termostat pozwala na ustawienie parametrów ...

Nieskomplikowany termometr-rejestrator

Numer: Listopad/2016

Wiedza o aktualnej temperaturze jest informacją, z której korzystamy na co dzień i to wielokrotnie. Niekiedy jednak oprócz wiedzy o aktualnej temperaturze, równie przydatna jest informacja o jej wahaniach w dłuższym przedziale czasu. Termometr-rejestrator zapamiętuje te zmiany, a następnie zapisane pomiary można obejrzeć jako wykres liniowy temperatury w funkcji czasu. Całe urządzenie składa się z 10 elementów. Jest małe, przystosowane ...

Sterownik silnika do napędu

Numer: Październik/2016

Prezentowane urządzenie służy do sterowania silnikiem prądu stałego i umożliwia jego pracę w obu kierunkach obrotu przy regulowanej prędkości obrotowej. Sterownik wyposażono w funkcjonalność łagodnego startu, z zatrzymaniem za pomocą krańcówek, po określonym czasie lub w wypadku przeciążenia.Rekomendacje: dzięki swojej funkcjonalności sterownik może pełnić funkcję np. sterownika napędu bramy, rolety i innych.

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Styczeń 2018

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym