Časový spínač 2h nebo 12h

V práci při testování strojů potřebuji aby se stroj po 2 nebo 12 hodinách (podle typu) zastavil. Vytvořil jsem proto jednoduchý časovač.

Časovač má jednoduchou funkci, po zapnutí se provede volba módu 2 nebo 12 hodin a stiskem start se spustí odpočet který po zvolené době rozepne relé. Zbývající čas je uveden na LCD 16×1 znaků. Přestože je displej 16×1 je nutné s ním komunikovat jako s 8×2. Přičemž první řádek je prvních 8 znaků a druhý řádek je druhých 8 znaků!

Jako mozek časovače je použito Arduino mini. Dále už je tu jen měnič z 24V na 5V. Schéma zapojení není potřeba, zapojení LCD a vstupů a výstupů lze vysledovat z programu, který je ke stažení:

Spínače jsem dělal dva v roce 2018 a stále bez problému fungují.

Tester snímačů

Pro testování nejen indukčních snímačů, používaných v průmyslové automatizaci, jsem vyrobil tento jednoduchý tester.

Tester obsahuje Li-Ion akumulátor, nabíjecí obvod, měnič na 24V a pár LEDek, odporů a vypínač. K připojení snímače slouží dvojice kabelů. Dvojice je z důvodu že né vždy je ke snímači dobrý přístup a tak je zde možnost přímého nebo zahnutého kabelu.

Funkce je velmi jednoduchá. Pokud má snímač výstup v log.1 pak svítí LEDka – TEST.

Nabíjení se provádí pomocí mikro-USB konektoru na boku a je signalizováno LEDkou na nabíjecím obvodu viditelnou skrz okénko vpravo.

Zkoušečku používám už pár let a je nenahraditelná. První verze obsahovala místo akumulátoru, měniče a nabíječky pouze dvě 9V baterie zapojené v sérii – ale moc dlouho nevydržela proto je druhá verze nabíjecí.

Test spotřeby bateriových elektrospotřebičů

V rámci přípravy na velký test baterií a akumulátorů jsem provedl měření různých elektrospotřebičů na baterie které mi podařilo sehnat. Měřil jsem vždy minimální spotřebu (například ve standby módu) a pak maximální spotřebu při plném zatížení (dle možností spotřebiče).

Podle spotřeby, četnosti použití a použitých bateriích je pak možné odhadnout přibližnou dobu fungování spotřebiče.

spotřebičdruh a počet bateriíminimální odběrmaximální odběr
bezdrátová klávesnice Logitech2x AAA2uA6mA
bezdrátová myš Logitech1x AA9uA25mA
detektor vedení,laser,dálkoměr1x 9V3uA25mA
tester UTP kabelů1x 9V4mA12mA
nástěnné hodiny – tikající1x AA0.5uA232uA
nástěnné hodiny – plynulé1x AA107uA120uA
LED svítilna 1W1x AA27mA1100mA
dálkový RF ovladač Sonoff1x CR20321uA5mA
kuchyňská digitální minutka1x LR11306uA1mA
cyklotachometr Nexelo1x LR442uA9uA
posuvka Mitutoyo absolute1x LR442uA4.5uA
úchylkoměr Mitutoyo absolute1x LR446.2uA12uA
hrající svítící dětská kostka2x AA7uA65mA
dětský vláček2x AA1.8uA200mA
hrající Baby shark2x AAA2uA48mA
LED hrací kostka2x AAA1uA35mA
D.O. k TV Samsung2x AAA0uA27mA
D.O. k lustru2x AAA1uA17mA
bezdrátová myš KB-012x AAA40uA10mA
hrající svítící dětská káča3x AA3uA41mA
plyšový mluvící pes3x AA1uA30mA
hrající svítící dětská deka Nemo3x AA0uA26mA
hrající svítící dětský DO pejsek3x AA0uA26mA
LED promítačka hvězd3x AA40mA156mA
hrající svítící dětský DO pejsek3x AA0uA26mA
hrající svítící dětská včela3x AAA3uA45mA
růže s LED osvětlením3x AAA0uA10mA
LED lampička Měsíc3x LR440uA10mA

Velký test baterií

Rozhodl jsem se provést velký test převážně AA a AAA baterií. K dostání je jich velké množství značek s velkým cenovým rozpětím, proto mám v plánu změřit kapacitu u co největšího množství a porovnat cenu za Ah. Za tím účelem jsem si pořídil měřič kapacity, který jsem vybavil držákem na články a potenciometrem na nastavení proudu a provedl jím všechna měření. Měřák má možnost nastavení koncového napětí článku nebo baterie a po změření vypíše kapacitu v Ah.

Pokračování textu Velký test baterií

Popis SW NEDCPU v.1.2

V nové aktualizaci jsem přidal jen pár příkazů.

Konečně jsem zprovoznil RTC modul a tak přibyl příkaz „time“ na zobrazení aktuálního času, data a dne v týdnu, a příkaz „set rtc“ pro nastavení RTC modulu.

Dále proběhla menší HW úprava na v.1.1, přidání RF modulu, a tak mám nový příkaz „set rf“ pro jeho nastavení a dále „rf com“ pro komunikaci přes RF rozhraní.

Vytvořil jsem instruktážní video s několika základními příkazy:

Kompletní přehled příkazů je na samostatném příspěvku.

NED-BASIC – popis příkazů

Poslední verze NED-Basicu, v.1.1 – 2.1.2022, podporuje celkem 35 příkazů. Všechny je možné použít buď v přímém režimu – zadaný příkaz se hned provede, nebo v režimu programování kdy musí být před příkazem uvedeno dvojciferné číslo řádku na který se příkaz uloží. Příkazy se zapisují malými písmeny. Znak „@“ je vyhrazený a slouží k označení konce programu při nahrávání z PC.

NED-Basic podporuje celočíselné proměnné s názvy a-z, typu int v rozsahu -2 147 483 648 až 2 147 483 647 (dle typu MCU).

Pro práci s SD kartou podporuje NED-Basic názvy souborů ve formátu 8.3 – celkem max. 12 znaků.

Psaní programů je možné provést na PC v poznámkovém bloku a poté nahrát příkazem sload do paměti programu, kde je možné například uložení na SD kartu, úprava, spuštění.

Při psaní programu v PC je nutné správné formátování. Písmo je potřeba nastavit na prostý text, kódování UTF-8 a zakončení řádku Windows. Na konec programu je poté nutné napsat znak @ – zavináč, díky kterému zavačeč pozná konec souboru.

Příkazy NED Basicu

help

zápis „help“ – zobrazí seznam podporovaných příkazů s krátkým popisem.

info

zápis „info“ – zobrazí základní informace o systému

I2C scan

zápis „i2c scan“ – vyhledá a vypíše adresy zařízení připojených na I2C sběrnici MCU

SD delete

zápis „sd del 8.3“ – smaže soubor na SD kartě se jménem ve formátu max. 8 znaků název . 3 znaky přípona.

SD list

zápis „sd ls“ – vypíše seznam souborů a složek na SD kartě a jejich velikost v B

SD info

zápis „sd info“ – vypíše informace o SD kartě. Kapacitu, formát, typ.

SD save

zápis „sd save 8.3“ – uloží program v programové paměti na SD kartu do souboru s názvem ve formátu 8.3.

SD load

zápis „sd load 8.3“ – načte z SD karty program s názvem ve formátu 8.3 do programové paměti.

OUT

zápis „out x y“ – zapíše byte v proměnné x na adresu v proměnné y.

IN

zápis „in x y“ – načte byte z adresy v proměnné x do proměnné y.

čekej

zápis „cek x“ – zastaví program na dobu x. x je číslo v intervalu 1 – 99999 (ms).

smaž obrazovku

zápis „clr“ – smaže obrazovku terminálu (funkci musí podporovat terminálový program)

zápis proměnné

zápis „x=y“ – zapíše celé číslo y do proměnné x.

výpis proměnné

zápis „x==“ – vypíše obsah proměnné x.

sčítání

zápis „x+y=z“ – sečte proměnné x a y a zapíše výsledek do proměnné z.

odčítání

zápis „x-y=z“ – odečte od proměnné x proměnnou y a zapíše výsledek do proměnné z.

násobení

zápis „x*y=z“ – vynásobí proměnnou x proměnnou y a zapíše výsledek do proměnné z.

dělení

zápis „x/y=z“ – vydělí proměnnou x proměnnou y a zapíše výsledek do proměnné z.

AND

zápis „x&y=z“ – logický AND proměnné x a proměnné y a zapíše výsledek do proměnné z.

OR

zápis „x|y=z“ – logický OR proměnné x a proměnné y a zapíše výsledek do proměnné z.

XOR

zápis „x^y=z“ – logický XOR proměnné x a proměnné y a zapíše výsledek do proměnné z.

NOT

zápis „x~z“ – logická negace proměnné x, zapíše výsledek do proměnné z.

bitový posun vpravo

zápis „x>>z a“ – bitový posun vpravo proměnné x o počet bitů a, výsledek v proměnné z.

bitový posun vlevo

zápis „x<<z a“ – bitový posun vlevo proměnné x o počet bitů a, výsledek v proměnné z.

zápis do programové paměti

zápis „xx příkaz“ – zápis příkazu do programové paměti na řádek xx.

výpis řádku programové paměti

zápis „xx==“ – vypíše z programové paměti řádek xx.

výpis programové paměti

zápis „list“ – vypíše všechny příkazy z programové paměti.

RUN

zápis „run“ – spustí program zapsaný v programové paměti

návrat do BASICU

zápis „ret“ – návrat z prováděného programu zpět do BASICU.

poznámka v programu

zápis „//poznámka“ – vše za // se ignoruje, slouží pouze jako poznámka pro programátora.

smazání paměti programu

zápis „del“ – smaže programovou paměť.

výpis textu

zápis „print text“ – vypíše text na obrazovku

nepodmíněný skok

zápis „jmp xx“ – skočí na řádek číslo xx.

podmíněný skok

zápis „if a b c dd“ – a=proměnná, b=znak porovnání (< > =), c=proměnná, dd=číslo řádku na který se skočí při splnění podmínky.

načtení programu ze sériové linky

zápis „sload“ – uloží program poslaný po sériové lince do paměti programu. Příklad ZDE

zobrazení aktuálního času a data

zápis „time“ – vypíše aktuální čas, datum a den v týdnu

nastavení RTC

zápis „set rtc“ – nastavení RTC modulu, příkaz má vlastní podmenu

nastavení RF modulu

zápis „set rf“ – nastavení RF modulu, příkaz má vlastní podmenu

komunikace přes RF

zápis „rf com“ – komunikace přes RF rozhraní

Ždímač baterií

Začali se mi doma hromadit použité vybité baterie (AA a AAA články), které již nezvládli napájet původní zařízení ale stále vykazovali slušné napětí kolem 1V. Přemýšlel jsem jestli by šlo využít zbývající energii „přečerpáním“ do akumulátoru, který by potom posloužil jinde. Použil jsem zvyšující DC měnič, na vstup jsem připojil držák se 4 AA články k vyždímání a na výstup Li-Ion akumulátor.

Po vyždímání jsem na článcích naměřil napětí kolem 0.4V.

Jednotka pro zobrazování dat z Thingspeaku

Pro zobrazování teplotních dat z webu Thingspeak jsem si postavil jednoduchou zobrazovací jednotku s LED displejem a wifi.

Jednotka je postavená na desce Arduino, která řídí zobrazování, a modulu ESP-01 pro komunikaci s internetem přes wifi.
Funkce je jednoduchá. Modul ESP-01 se připojí přes wifi na servery Thingspeak a načte data. Data odešle přes sériovou linku do čekajícího arduina. Arduino je po přijetí zpracuje k zobrazení a odešle je do LED displeje.

Četnost aktualizací je nastavená na 5 minut a lze jí upravit v programu pro ESP-01.
Vlastní zapojení je provedené na kousku univerzální DPS v plastové krabičce a k napájení slouží externí adaptér na 5V.
LED displej je s řadičem TM1637 a upravený pro zobrazení desetinné tečky vyvrtáním díry ze spodu displeje v místě tečky a zalepením LED diody. V programu pro ESP je potřeba zadat údaje pro připojení k wifi síti a číslo Thingspeak kanálu.