Adaptuojamės – FTDI USB TTL į RS485

26 10 2013

Gaminu čia viena agregatą kuriam naudosiu RS485 sąsają ir susiduria su tokia problema: Dviems įrenginiams bendraujant tarpusavyje vis per RS485 nuoseklią sąsaja niekaip nepavyksta visų duomenų iš šono debuginti. Situacija labai paprasta – turiu du Arduino kurie bendrauja vienas su kitu: UART duomenis galiu matyti tiesiai kompe per Arduino bet tik tuos kuriuos Arduino siunčia – gaunamu ne. Tie patys siunčiami duomenys taip pat yra tik teoriškai, nes neaišku kas su jais nutinka konvertuojant į RS485 fizinį lygį. Taip jau atsitiko kad projekto eigoje komandą siunčiantis Arduino ją išsiunčia, gavėjas gauna ir lyg tais atsako, bet pirmasis taškas šio atsakymo vis nesulaukia. Blogiausia yra tai kad nežinau ar antrasis Arduino pasiuntė atsakymą į RS485 tinklą, o gal pirmasis kažkaip nemoka jo priimti. Bėda bėda, reikia žiūrėti kaip čia paslampinėjus po RS485. Dabar aprašysiu mažą savo pagaminta įrenginuką kad tai ir galėčiau padaryti. Jį beje jau esu testavęs DMX512 tinklo testavime bet taip ir nebuvau pagaminęs PCB.

Taigi turiu FTDI USB į TTL pirštelį:

kxvn

Jį naudoju daugiausiai Standalone Arduino projektų programavimui ir panašiai. Kuom jis dar geras ir geresnis už pigesnius PL2302 modeliukus – turi DTR signalą. Būtent jo mums reikia RS485 signalui. DTR signalas nurodo RS485 mikroschemai kad dabar mes norime siųsti duomenis. Kuomet DTR yra LOW duomenys priimami. Taigi braižomės schemą bei PCB:

e82c

f9dw

Skaityti pilną įrašą »





Adruino + DMX512 + daug 74HC595 + dar daugiau LED (ir ne tik)

13 02 2013

Temos pavadinimui lygybės ženklo nedėjau nes dar neaišku kaip visa tai pavadinti. Didelio kiekio individualių LED’ų jungimas prie DMX sistemos nėra labai naudingas dalykas, bet tai tik pradžia, bet apie viska iš eilės.

Kas yra DMX?

Tai komunikacijos metodas/standartas skirtas daugelio įrenginiu valdymui. Šis standartas gimė siekiant sujungti scenos apšvietimo irenginius į viena grandinę tam kad nebereiktu atskiro valdymo pulto kiekvienai apšvietimo rūšiai (RGB šviesoms, strobams, dimmeriams ir t.t.). Iki to laiko skirtini apšvietimo elementai turėdavo skirtingus valdymo įrenginius nes skirėsi visų ju tiek techniniai tiek programiniai valdymo protokolai.

Techniškai DMX kanalas yra RS485 atmaina kuri veikia tam tikru nestandartiniu dažniu bei vidiniu protokolu. Pvz. DMX512 veikia 250k dažniu ir šiuo kanalu pastoviai siunčiamos 512 kanalų esamos reikšmės. Visi valdomi įrenginiai yra jungiami prie vienos bendros kabeliu poros ir gauna visų siunčiamų kanalų informacija, tačiau reaguoja tik į savo kanalų parametrus. Įrenginys radęs sau skirtu atnaujinimu vykdo pakeitimus savo technikoje. Tau nebereikia tiesti atskiru laidu į kiekviena įrenginį. Taip pat laimime gana dideli apretuma – RS485 gali dirbti net su 1,5KM ilgio signalo laidu.

DMX512 tai DMX atmaina skirta grandinėje valdyti iki 512  parametrų (nebutinai įrenginių, nes kartais lempos turi keleta kontroliavimo veiksnių ir kiekvienas ju užsima po atskira kanalą). Kiekvienas iš 512 kanalų gauna 8bitus informacijos pagal kuria privalo atitinkamai šviesti, suktis, duminti ar dar kažką panašaus.

DMX siuntėjas ir visi gavėjai sujungiami panašiu budu:

373143401866

Kaip matome valdomieji įrenginiai gali būti vienas, du ar keli, o valdantieji taip pat keli. Pagrindinis pliusas – visi jie yra viename tinkle. Skaityti pilną įrašą »