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

Moduł załączający z triakami

Numer: Maj/2016

Sterowanie urządzeniami zasilanymi napięciem 230 VAC za pomocą małogabarytowych przycisków, mikrokontrolera lub innych układów zasilanych napięciem rzędu kilku woltów jest niewykonalne z kilku powodów. Po pierwsze, takie styki (złącze) muszą przewodzić duży prąd, aby można było zasilić np. żarówkę. Po drugie, napięcie sieci energetycznej jest niebezpieczne dla życia użytkowników urządzenia. Po trzecie, prąd ...

Micro Head do gitary elektrycznej. Wzmacniacz gitarowy o mocy 25 W

Numer: Maj/2016

Wbrew pozorom, wielu muzyków ma smykałkę do elektroniki. Z jednej strony z konieczności, a z drugiej z zamiłowania. Z konieczności, ponieważ niejednokrotnie sprzęt przeznaczony do współpracy z ich instrumentami jest koszmarnie drogi. Z zamiłowania, ponieważ dzięki temu mogą tworzyć niepowtarzalne, unikatowe urządzenia nadające ciekawe brzmienie instrumentom. I chociaż opisywany projekt wzmacniacza nie wniesie niczego szczególnego ...

Radioodbiornik dla każdego

Numer: Maj/2016

...

Sterownik wzmacniacza lampowego

Numer: Maj/2016

...

DSPfactory. Profesjonalny efekt dźwiękowy dla muzyków. cz. 3

Numer: Maj/2016

Odtworzenie brzmienia efektów opartych na celowym opóźnieniu sygnału (zwłaszcza typu: chorus, reverb i echo) jest dość łatwe w realizacji. A skoro tak, to zrodził się pomysł zbudowania profesjonalnego efektu muzycznego pozwalającego na symulowanie analogowych kamer pogłosowych oraz realizację innego rodzaju efektów muzycznych. W ten sposób powstał DSPfactory - cyfrowy procesor muzycznych efektów przestrzennych, który postawiony ...

Mobilna
Elektronika
Praktyczna

Elektronika Praktyczna

Maj 2017

PrenumerataePrenumerataKup w kiosku wysyłkowym

Elektronika Praktyczna Plus

lipiec - grudzień 2012

Kup w kiosku wysyłkowym