PŘÍLIŠ MNOHO SVĚTELNÝCH OKRUHŮ
aneb Historie jednoho projektu
V rámci přestavby kobercáka jsme dospěli k autu, které lépe jezdí, lépe zatáčí a lépe svítí, než původní hračka. Ale pořád to není úplně ono. Bylo by skvělé, kdyby světla fungovala trochu více jako u skutečného vozu. Absolutní minimum jsou funkční brzdová a zpětná světla.
To se dá snadno vyřešit pomocí světelného modulu, ale má to řadu mínusů:
1. Velikost - komerční funkční světelné moduly rozhodně nejsou určeny do modelu M1:24, tedy do našeho auta, už teď přecpaného elektronikou
2. Funkčnost - mám komerční sv.modul ve svém BMW X5. Funguje dobře, ale dochází k rušení signálů. Už jsem vyzkoušel kde co, nakonec nejlépe zabraly feritové kroužky. Ale problémy s centrální polohou po vytrimování řízení mě přivádí k šílenství
3. Cena - počítejte se mnou:
Auto 350 Kč
Příjímač 150 Kč
Regl 150 Kč
Servo 50 Kč
Li-Po alarm 50 Kč
Bižuterie a součástky 20 Kč
----------------------------
CELKEM 770 Kč
z toho 420 Kč příplatek za změnu z hračky na model
A teď bychom měli připočítat 300-500 Kč za ovládání světel?
Začal jsem zkoumat, jak se to řeší "ve světě". Existují různá levná řešení pomocí diod apod, která aspoň rozsvítí brzdovky v neutrálu a/nebo reversu, ale to není ono. Nakonec jsem se rozhodl pustit do vlastního řešení.
Kapitola první: Logické obvody
Je to jednoduchá úloha: Při zpětném chopdu se obrátí polarita na motoru. Stačí ohlídat první revers a rozsvítit brzdovky, na druhý a další revers rozsvěcet zpátečku. Při jízdě vpřed celý obvod zresetovat.
Stáhl jsem si simulátor logických obvodů a povedlo se mi sestavit řešení s pomocí hradel, které opravdu fungovalo! Pak jsem začel řešit součástky a bylo po legraci - všechno jsou to poměrně velké čipy. A hledat nějaký, který bude obsahovat právě kombinaci těch 3 hradel, kterou jsem potřeboval, to se mi nechtělo.
Kapitola druhá: Programovatelný mikrokontrolér PIC
Během práce s logickými obvody jsem narazil na programovateln mikrokontroléry. Jako programátorovi mi to bylo blízké, začal jsem zkoumat jejich možnosti. První byly programovatelné obvody PIC, dokonce jsem našel na webu světelný modul pro osvětlení vrtulníku postavený na PICu. Poměrně komplexní obvody za málo peněz (v řádu korun až desetikorun), ale programátor stojí asi 500 Kč. To bylo trochu hodně, a ne moc dobře se shání, dokonce i na eBayi.
Kolega poradil, ať se kouknu na Atmely
Kapitola třetí: Mikrokontroléry Atmel
1. Mikrokontrolér
Atmel vyrábí krásné obvody řady ATtiny - celý počítač v jednom čipu. Cena v Česku je 40 Kč za 1 ks, 35 Kč za ks při 10+ ks. Ale na eBayi se s 25 ks můžete dostat na 11-15 Kč/ks. Následovalo studium datasheetů, stažení SW Atmel Studio (dá se to programovat v C nebo v assembleru, který jsem ale neuměl). A objednávka programátoru za cca 70 Kč(!). Výběr nepřeberný.
Podle datasheetu jsem zjistil, že atmel dokáže přímo spínat 1 LED, dokonce jí i řídit jas pomocí PWM (pulsní modulace), ale více než jednu diodu na okruh připojit nelze. O 4 předních na mém BMW Z4 ani nemluvě. Věděl jsem, že budu muset použít nějaký zesilovač, tak jsem začal řešit tranzistory apod. Zase špatně.
Existuje přímo obvod používaný k napajení LED:
2. Darlingtonovo pole
Má 16 nožiček, z toho 2 napájecí a 2x 7 spínacích pro ovládání až 7 okruhů LED, každý okruh utáhne snad až 500mA při 5V! To je víc než dvacet diod v jednom okruhu! To bohatě stačí na každé auto.
Teď už jenom stačilo navrhnout obvod a PCB.
3. Plošný spoj
Po samotném mikrokontroléru nejúžasnější část projektu:
a) Nalezení a stažení SW pro návrh PCB
Je zadarmo, FreePCB.
b) Naučení se v něm pracovat
Úplná trivka to tedy není.
c) Vyřešení, jak to vyrobit
Nakoupil jsem potřeby pro výrobu plošných spojů, UV cuprextit, chemii... Zase špatně
Existují totiž globání služby pro prototypování PCB. V Česku to nezkoušejte, protože se budete pohybovat v řádu tisíců korun. Já s dopomocí zkušenějšího kolegy našel iTead Studio. 10 ks oboustranných plošných spojů 50x50 mm s až 5 subboardy vám vyrobí za 14 USD včetně potisku, pocínování a otestování, a s doručením doporučeně! (já to měl za ~300 Kč, po intervenci ČNB už se pod 300 určitě nedostanete) Prozkoumal jsem jejich obchodní podmínky, abych správně připravil podklady a šel jsem na věc. Navrhnul jsem si obvod, a abych využil prostor, přidal jsem na jednu desku 50x50 3 PCB pro světelný modul a 1 PCB pro vlastní programovací adaptér
d) Prototypování
Když jsem měl návrh zapojení, musel jsem ho vyzkoušet
V nepájivém poli je programovací a testovací část, tj. návrh jak programovacího adaptéru, tak PCB do auta. Studiem a laděním jsem zjistil, že můžu mít až 4 ovládané okruhy + 1 se stálým napájením (neřízený).
Po vyzkoušení jsem si nechal plošňáky vyrobit.
A co je na tom tak úžasného? Tak si to přeberte:
Někde v ČR si stáhnete FreePCB, namalujete na počítači PCB, pošlete to mailem na druhý konec světa a za 3 týdny a 300 Kč máte doma profesionálně vyrobené oboustranné PCB s lakováním a s potiskem, připravené k pájení součástek. No není to skvělé?
Mezitím jsem zkoušel taky
4. Programování
Po jednoduchém prográmku v "C" (rozsviť, čekej, zhasni, čekej, opakuj) se ukázalo, že "C" je špatná cesta, a že se budu muset vrhnout na assembler. Zas tak moc mi to nevadilo, beru to jako svůj programátorský dluh, že jsem ho dosud neuměl. Tohle byla skvělá příležitost.
Četl jsem weby o atmelu. O programování. O programování atmelů i o assembleru obecně. O signálové analýze. O časování a PWM. O struktuře RC signálu... Nakonec jsem zjistil, co si budu moci dovolit a udělal jsem si
5. Funkční návrh
Když už jsem měl k dispozici celý počítač (a to mikrokontrolér prostě je), popustil jsem uzdu svojí fantazii. Rozhodl jsem se připravit nejen ovládání brzda/zpátečka, ale něco trochu chytřejšího. A konfigurovatelné režimy (teď pozor, tady je to opravdu zajímavé!):
a) Režimy pro přední světla:
- REAL CAR - světla svítí při jízdě vpřed, vzad i při stání. Po 15 sekundách stání pohasnou (parkovačky)
- RC MODEL - světla svítí při jízdě vpřed a při stání. Zhasnou při jízdě vzad. Po 15 sekundách v neutrálu - parkovačky
- RC TOY - světla svítí jen při jízdě vpřed, při stání a vzad zhasnou, jako u původní hračky
b) Režimy pro zadní světla:
- BRAKE, REVERSE - první revers rozsvítí brzdy, druhý a další revers rozsvítí zpátečky. V neutrálu všechno zhasne, jízda vpřed rozsvěcení resetuje
- BRAKE IN CENTER, REVERSE - jako předchozí, ale brzda svítí i v neutrálu
- BRAKE IN CENTER, THEN REVERSE (můj nejoblíbenější) - jako předtím, ale brzdovky po 4s v neutrálu zhasnou. Pokud do zhasnutí použijete reverse, bere se první jako brždění, další jako zpátečka. Pokud necháte brzdovky zhasnout, další revers je rovnou zpátečka
- NO BRAKE, REVERSE - brzdovky svítí pouze v neutrálu, první i každý další revers rozsvítí zpátečku. To odpovídá původnímu chování zadních světel u naší hračky, pokud je měla
Po 15 sekundách v neutrálu zhasnou/pohasnou všechna světla. Šetří to proud a vypadá to sexy .
c) Automatické centrování
- při zapnutí se zkontroluje poloha páky a zjištěná poloha se použije jako neutrál
d) Konfigurace
Pokud při zapnutí modelu držíte plyn/brzdu, přepne se modul do konfiguračního režimu. Tak můžete nastavit:
- režim předních světel
- revers on/off
- režim zadních světel
Všechno se signalizuje blikáním brzdových světel. Po skončení konfigurace se nastavení uloží. Vypnete/zapnete model a nastavený režim je aktivní (to sice není nezbytně nutné, ale doporučuji to pro správné nastavení neutrálu).
Spolu s funkčním návrhem jsem provedl
6. Rozdělení výstupních pinů
A to na atmelu i na PCB. Celkem je tak k dispozici 5 výstupů:
i) Vout ... neřízený výstup určený k připojení trvale svítících okruhů
ii) Br(ake) ... brzdovky. Při brzdění svítí, jinak zhasnuto
iii) R(ear) ... zadní obrysovky. Při brzdění svítí naplno, jinak se sníženým jasem
iv) Fr(ont) ... přední potkávačky. Svítí podle nastaveného režimu pro přední světla
v) Rv(erse) ... zpátečka
Když jsem měl všechno sesumírované, začal jsem programovat. A pak pájet. Udělal jsem si svůj programovací adaptér.
A pak jsem zase pájel. A pak trhal zničené obvody a znovu pájel. Upálil jsem i darlingtona (jednou), i atmela (4x). Jednoho atmela jsem si omylem zamknul bez nahraného SW (15 Kč v čudu).
Pak jsem musel dokončit přestavbu světel v prvním modelu. První prototyp sv.modulu mi pak ležel doma týden, jak jsem se bál, jestli to bude fungovat. Když jsem to dával do auta, nejvíc jsem se děsil toho, že to bude rušit signál.
Nic z toho se nestalo.
Pointa č. 1: RC LightControl funguje!
Kapitola čtvrtá: RC LightControl
Nakonec jsem měl několik světelných modulů.
Rozměr PCB je cca 16x30 mm. Součástky i s plošným spojem vyjdou tak na 50 Kč. Horší je to s prací, tedy hlavně pájením, ale dá se to stihnout asi za hodinu.
Slíbená Pointa č. 2:
Vzhledem k použitému konstrukčnímu řešení s darligntonem - použil jsem 2003A - který řízené okruhy spíná přes "mínus", je nutné připojit okruhy na společné "plus". Tak už víte, proč jsem připravil světelné okruhy v autě se společným plusem.
Po vyzkoušení modulu v autě jsem ještě doplnil drobné vylepšení pro zpátečku:
Pokud je nastavený režim předních světel REAL CAR nebo RC MODEL, má zpátečka po vrácení do neutrálu zpoždění 2s. Tím jsem dosáhl toho, že pokud "popojíždíte" dozadu, zpátečka nebude nesmyslně blikat, ale svítí jako u normálního auta. Při jízdě vpřed samozřejmě okamžitě zhasne. Spolu s oběma režimy "BRAKE IN CENTER" to dělá úžasné efekty, kdy auto "brzdí" i "při"/po couvání.
Pokud se LightControl montuje do auta bez brzdových světel, je vhodné propojit výstupy Br(ake) a R(ear). Jinak nebude mít auto jak signalizovat při změnách konfigurace. Já to u Porsche udělal tak, že jsem si předpřipravil ochranný rezistor a káblík i pro další, brzdový okruh. Kdybych chtěl v budoucnosti doplnit třetí brzdové světlo (nyní namalované na karoserii pod zadním křídlem), tak ho použiji. Konec káblíku je prozatím připájen k zadním obrysovým světlům (na obrázku níže červený drát).
Modul LightControl tak, jak ho mám sestavený, nahrazuje "Y" kabel, funguje jako prodlužovák servo kabelu s odbočkou. Z podvozku do karoserie tak vedou dva servo kabely:
a) Regl - LightControl
b) LightControl - příjímač
A jak vypadá LightControl v autě?
A pár fotek auta s funkčním LightControlem:
- Přední světla zapnutá:
- Přední světla, "parkovačky":
- Zadní světla, obrysovky:
- Zadní světla, brždění:
- Zpátečka:
Kapitola pátá: Co s tím dál?
Na mém HW je dobré to, že je to univerzální kontroler pro až 4 okruhy, kompletně řízený softwarově. Může to spínat LED nebo něco jiného. Přes relé by šla spínat i velká zátěž.
Mám v plánu (ale momentálně trochu bez motivace a s málem času) připravit SW i pro blinkry. Světelný modul by se připojil do kanálu pro servo:
- jak by se vám líbily "žárovkové" blinkry s dosvitem?
- co přisvěcování do zatáčky při blinkru - koncern VW?
- nebo pohasínání obrysovek při blinkru - jako Audi?
- a co manuální režim: prudká výchylka vpravo-zpět / vlevo-zpět spustí blinkr, jinak zůstává zhasnutý?
- a co trojblik: blinkr blikne nejméně 3x, pokud se mezitím nezmění směr na opačný?
No, a poslední varianta, která má v RC smysl, je prostý RC spínač na 3. kanálu. No - prostý. Co takhle možnost na sepnutém okruhu použít nějaké efekty:
- stroboskopy pro sanitky?
- simulace analogových otočných majáků?
- synchronní na střídačku nebo asynchronní blikání?
- nastavitelná rychlost blikání (pomalé, rychlé)
- spínání sekvenční (1000, 1100, 1110, 1111) nebo diskrétní (1000, 0100, 0010, 0001)?
Něco z toho je ve fázi úvah, pro něco mám koncept řešení, ale je to spousta práce a hlavně času.
Tak možná někdy příště.
Naposledy upravil: mph1 (28. 10. 2014 08:38:28)