Byl jsem osloven, abych vyrobil pro soutěž ROBO2022 časomíry pro měření doby jízdy autíček. Tento článek je konstrukční plánek uvedených časomír. Srdcem zařízení je deska Arduino "NANO", ke které jsou připojeny infračervené brány, LED v branách a výstup do posuvných registrů 74HC595. Pro zobrazení času jsou použity neznámé vyřazené displeje o rozměrech digitu 60mm x 100mm. Panel A má 4 digity a panel B má 3 digity.
Video - ukázka provozu
Vlastnosti časomíry
- napájení: 230V (uvnitř zdroje 24VDC a 5VDC)
- ochrana: trubičková pojistka 1,5A
- příkon časomíry: cca 45W
- vstup start: IR brána připojena kabelem 5m pomocí 6 pinového konektoru
- vstup stop: IR brána připojena kabelem 5m pomocí 6 pinového konektoru
- režim testování IR bran: tlačítko na zadní straně časomíry
- zobrazení na LED displeji (digity jsou složeny z 470 SMD LED diod 24V/2A)
- výstup přes USB (UART) do Excelu pro ukládání výsledků do souboru Excel (rychlost pro komunikaci 9600 Bd)
Rozsah měření - zobrazení na displeji
A) pokud je čas menší než hodina
00-59 minut, 00-59 sekund, 000-999 milisekund
B) pokud je čas větší než hodina
00-99 hodin, 00-59 minut, 00-59 sekund
Maximum měření je tedy 99 hodin, 59 minut, 59 sekund -> po tomto čase se čas odpočtu zastaví
Do Excelu se čas odesílá a ukládá v milisekundách bez ohledu co ukazuje LED panel
Pohled na panel A a B
Na panelech jsou osazeny obvody 74HC595 a ULN2003
Reverzním inženýrstvím jsem zjistil zapojení konektoru na desce, které má následující význam (panel 4 digity a 3 digity)
Pro ovládání posuvných registrů 74HC595 potřebujeme 4 vodiče DATA, CLOCK, LATCH a OE. Z desky Arduino "NANO" kde je osazen procesor Atmega328 v SMD provedení zapojíme tyto vodiče následovně. Arduino na e-shopu dratek.cz.
Arduino NANO PIN |
LED panel PIN | Význam |
- | 1 | +24V |
+5V | 2 | +5V |
0V | 3 | 0V (GND) |
D3 | 4 | CLOCK |
D6 | 5 | OE (Output Enable) |
D4 | 6 | LATCH |
D2 | 7 | DATA (serial data IN) |
IR brána pro start a stop využívá optický senzor vzdálenosti s analogovým výstupem. Model: GP2Y0A21YK0F Sharp. Rozsah snímání: 10-80 cm, kde v programu je rozsah omezen pouze na rozsah 10-30cm. Senzor na e-shopu dratek.cz.
Obě brány jsou vytištěny na 3D tiskárně (v mém případě Pruša I3MK3, ale je to zcela jedno na které to bude) z materiálu PET-G.
Seznam dílů na jednu IR bránu
Označení | Typ | Odkaz | Cena s DPH |
konektor | Konektor 16mm GX16 - 6 pinů - 1 pár | https://dratek.cz/arduino/1987-konektor-16mm-gx16-6-pinu-1-par.html | 51,- |
kabel 5 žil | 5x0,5mm2-nestíněný | https://www.tme.eu/cz/details/cl100-5x0.50/vicezilove-kabely-nestinene/lapp/00101244/ | 36,-/1m (5m = 180,-) |
LED duo zelená/červená | FYL-5016EGW1C | https://www.tme.eu/cz/details/fyl-5016egw1c/led-diody-tht-5mm/foryard/ | 3,6,- |
rezistor 220 Ohm | 220Ω/0,4W | https://www.tme.eu/cz/details/m0.4w-220r/metalizovane-rezistory-tht-0-4w/royal-ohm/mff04ff2200a50/ | 1,- |
GP2Y0A21YK0F | Infračervený senzor vzdálenosti 10-80 cm | https://dratek.cz/arduino/2095-infracerveny-senzor-vzdalenosti-10-80-cm-gp2y0a21yk0f.html | 189,- |
Celkem | 424,- |
Zapojení konektoru z IR brány
Pin konektoru | Význam | Další info |
1 | LED (delší vývod - modrý vodič) | mezi vodičem a LED je vložen rezistor 220Ohm (LED je spínaná z Arduina 5V) |
2 | LED (kratší vývod - zelený vodič) | stavy LED: 1+2- rudá barva 1-2+ zelená barva |
3 | 0V snímač Sharp (hnědý vodič) | na snímači je 0V černý vývod |
4 | výstup ze snímače Sharp (žlutý vodič) | na snímači je výstup žlutý vývod |
5 | +5V napájení snímače Sharp (růžový vodič) | na snímači je +5V červený vývod |
6 | ----------------------------------------------- | nezapojeno |
Časomíra je osazena v plechové krabičce o rozměrech 65cm x 18.5cm x 5.5cm. Plech je ohnutý a svařený.
Do krabice je namontován zdroj 230/24V a zdroj 230/5V. Na zadní stěně je osazen konektor pro přívod 230V, pojistkové pouzdro, 2x konektor (start a stop), tlačítko.
Použité komponenty v krabici
Položka | Parametr | Odkaz | Cena s DPH |
Zdroj 24V LRS-50-24 | 52,8W/24VDC/2,2A | https://www.tme.eu/cz/details/lrs-50-24/napajeci-zdroje-pro-vestavbu/mean-well/ | 314,- |
Zdroj 5V RS-25-5 | 25W/5VDC/5A | https://www.tme.eu/cz/details/rs-25-5/napajeci-zdroje-pro-vestavbu/mean-well/ | 274,- |
Držák pojistek | do panelu 5x20mm | https://dratek.cz/arduino/51350-drzak-pojistek-5x20mm.html | 17,- |
Tlačítko | Ø16mm červený SPST-NO | https://www.tme.eu/cz/details/ps507ma-r/standardni-spinace/sci/r13-507ma-br/ | 63,- |
AC přívodka | do panelu 10A 250VAC IEC 60320 | https://www.tme.eu/cz/details/6100.3100/konektory-iec-60320/schurter/ | 27,- |
AC Euro kabel | úhlová vidlice/IEC C13/3m | https://www.tme.eu/cz/details/ak-pc-06a/napajeci-kabely-pocitacove-a-univerzalni/akyga/ | 83,- |
Pojistka 1,5A | 5x20mm | https://www.tme.eu/cz/details/5mf-1.5-r/pojistky-5x20mm-rychle/bel-fuse/5mf-1-5-r/ | 4,5,- |
Průchodka | nejlépe guma | https://www.tme.eu/cz/details/fix-gr-8/pruchodky/fix-fasten/ | 6,5,- |
Celkem | 789,- |
Po montáži dílů do krabice propojíme z AC přívodky:
- modrým vodičem (N) do obou zdrojů
- zelenožlutým vodičem (PE) do obou zdrojů
- černým (nebo hnědým, nebo šedým) vodičem (L) do pojistkového pouzdra a následně do obou zdrojů
POZOR! ČÁSTI JSOU PŘÍSTUPNÉ A JSOU POD NEBEZPEČNÝM NAPĚTÍM - HROZÍ ZÁSAH PROUDEM! VŠE DĚLÁTE NA VLASTNÍ NEBEZPEČÍ!
Tím máme zajištěn přívod 230V do zdrojů.
Propojení konektorů start a stop, tlačítka "test", Arduino, LED panel
Pohled na zadní část časomíry
Z leva: vývod USB pro připojení k PC, pojistka 1,5A, tlačítko "TEST", IR brána "STOP", IR brána "START", přívod napájení 230V
Vnitřní propojení časomíry (konektory, tlačítko, LED panel)
Konektor START | Arduino NANO PIN | Význam |
1 | D9 | LED1-1 IR závora START |
2 | D10 | LED1-2 IR závora START |
3 | 0V | 0V Arduino propojit zároveň se zdrojem 230VAC/5VDC - 0V |
4 | A0 | analogový vstup A0 Arduina |
5 | +5V | +5V Arduino propojit zároveň se zdrojem 230VAC/5VDC - 5V |
6 | ------------- | nezapojeno |
Konektor STOP | Arduino NANO PIN | Význam |
1 | D11 | LED2-1 IR závora STOP |
2 | D12 | LED2-2 IR závora STOP |
3 | 0V | 0V Arduino propojit zároveň se zdrojem 230VAC/5VDC - 0V |
4 | A1 | analogový vstup A1 Arduina |
5 | +5V | +5V Arduino propojit zároveň se zdrojem 230VAC/5VDC |
6 | ------------- | nezapojeno |
Tlačítko TEST | Arduino NANO PIN | Význam |
tlačítko vývod 1 | D8 | při zmačknutí tlačítka se uzemní vývod D8 |
tlačítko vývod 2 | 0V | zem 0V |
LED panel konektor P1 |
Arduino NANO PIN | Význam |
1 | ------------- | +24V ze zdroje 24V |
2 | +5V | +5V ze zdroje 5V |
3 | 0V | 0V (GND) ze zdroje 5V a 24V |
4 | D3 | CLOCK |
5 | D6 | OE (Output Enable) |
6 | D4 | LATCH |
7 | D2 | DATA (serial data IN) |
ZDARMA
- 3D krabička (pro registrované)
DONATE
- zdroj + hex pro Arduino IDE, soubor pro Excel (pro příjem dat z časomíry)
Verze FW
FW:1.0
- po zapnutí napájení se provede test displeje a test LED v IR závorách (cca 2 vteřiny). Na displejích svítí čísla 8 a tečky, LED na IR blikají červená/zelená.
- pokud držíme během testu tlačítko "test" na zadní straně zařízení, tak se přepneme do režimu testování IR bran.
Displej zobrazí na 2 vteřiny nápis "test" a následně zobrazí nápisy ON nebo OFF pro obě brány. Start je vlevo, stop je na displeji vpravo. Opětovným stisknutím tlačítka "test" testovací režim ukončíme (nebo vypneme a zapneme napájení zařízení). Režim "Test" lze vyvolat kdykoliv.
- bez testu se na displeji zobrazí nápis verzí "F 1-0" v případě firmware 1.0
Při projetí brány "start" se spustí odpočet.
Při projetí brány "stop" se odešle čas do excelu a na displeji zůstane svítit poslední naměřený čas.
- v Excelu lze nastavit po kolikátem kole (1-3) se list v excelu uloží a smaže. Když není označeno pole 1-3 v Excelu, tak se odesílají kola 1-255 pořád dokola
- připojíme časomíru do napájení (230V)
- stiskneme tlačítko "TEST" pro spuštění testovacího režimu
- rozmístíme na dráze IR brány START a STOP (fixujeme lepenkou proti posunutí)
- při jízdě robo vozítka po dráze se musí měnit stavy na displeji (OFF/ON) a zároveň i LED na samotné IR bráně
- po ověření funkčnosti bran propojíme časomíru s USB počítače (možná bude nutné nainstalovat ovladače pro USB převodník - Windows 10 si poradí)
- podíváme se ve Windows do správce zařízení a zjistíme, jaký port časomíra obsadila (na mém obrázku je to port 5)
- spustíme v aplikaci MS Excel soubor s názvem "ROBO.xlsm"
- povolíme v tomto souboru makra a veškerá oprávnění
- stiskneme tlačítko "spojení s panelem"
- do okna "USB port" napíšeme zjištěný port (v mém případě com 5)
- do okna "Rychlost" napíšeme 9600 (tedy 9600 Baudů)
- stiskneme tlačítko "Připojit"
- dojde k restartování časomíry (pokud máme otevřený "LOG->", tak uvidíme i komunikaci s časomírou)
- po restartu se na displeji zobrazí "--------", tím je časomíra připravena pro měření
- při projetí brány start se spustí odpočet a při projetí brány stop se zastaví odpočet. Zároveň se do Excelu odešlou data
- když je zaškrtlé pole "ULOZIT po 1 kole, tak se list po projetí kola automaticky uloží a smaže
- když je zaškrtlé pole "ULOZIT po 2 kole, tak se list po projetí 2 kola automaticky uloží a smaže
- když je zaškrtlé pole "ULOZIT po 3 kole, tak se list po projetí 3 kola automaticky uloží a smaže
- bez označení se list nebude ukládat a počet kol se bude opakovat 1-255. uživatel si musí soubor uložit sám
Výpis na sériovém monitoru (Arduino NANO) -> co se odesílá do Excelu (vypisuje i bez Excelu)
Tvorba vlastních znaků na digitu displeje (váhy bitů pro zobrazení). Příklad chci zobrazit číslo "1" -> do registru odešlu "12" (8+4) v desítkové podobě, nebo 0xC v hexa.
Komplet hotové 4 časomíry