Pokud si člověk pořídí bazén, určitě po nějaké době začne pokukovat po solárním ohřevu. A když už má i solární ohřev, začne uvažovat jak nejefektivněji řídit čerpadlo pro co nejlepší vytápění.

Pokud si člověk pořídí bazén, určitě po nějaké době začne pokukovat po solárním ohřevu. A když už má i solární ohřev, začne uvažovat jak nejefektivněji řídit čerpadlo pro co nejlepší vytápění.
Pro případ možného výpadku proudu jsem si postavil jednoduchý záložní zdroj.
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í.
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í.
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ěr | maximální odběr |
---|---|---|---|
bezdrátová klávesnice Logitech | 2x AAA | 2uA | 6mA |
bezdrátová myš Logitech | 1x AA | 9uA | 25mA |
detektor vedení,laser,dálkoměr | 1x 9V | 3uA | 25mA |
tester UTP kabelů | 1x 9V | 4mA | 12mA |
nástěnné hodiny – tikající | 1x AA | 0.5uA | 232uA |
nástěnné hodiny – plynulé | 1x AA | 107uA | 120uA |
LED svítilna 1W | 1x AA | 27mA | 1100mA |
dálkový RF ovladač Sonoff | 1x CR2032 | 1uA | 5mA |
kuchyňská digitální minutka | 1x LR1130 | 6uA | 1mA |
cyklotachometr Nexelo | 1x LR44 | 2uA | 9uA |
posuvka Mitutoyo absolute | 1x LR44 | 2uA | 4.5uA |
úchylkoměr Mitutoyo absolute | 1x LR44 | 6.2uA | 12uA |
hrající svítící dětská kostka | 2x AA | 7uA | 65mA |
dětský vláček | 2x AA | 1.8uA | 200mA |
hrající Baby shark | 2x AAA | 2uA | 48mA |
LED hrací kostka | 2x AAA | 1uA | 35mA |
D.O. k TV Samsung | 2x AAA | 0uA | 27mA |
D.O. k lustru | 2x AAA | 1uA | 17mA |
bezdrátová myš KB-01 | 2x AAA | 40uA | 10mA |
hrající svítící dětská káča | 3x AA | 3uA | 41mA |
plyšový mluvící pes | 3x AA | 1uA | 30mA |
hrající svítící dětská deka Nemo | 3x AA | 0uA | 26mA |
hrající svítící dětský DO pejsek | 3x AA | 0uA | 26mA |
LED promítačka hvězd | 3x AA | 40mA | 156mA |
hrající svítící dětský DO pejsek | 3x AA | 0uA | 26mA |
hrající svítící dětská včela | 3x AAA | 3uA | 45mA |
růže s LED osvětlením | 3x AAA | 0uA | 10mA |
LED lampička Měsíc | 3x LR44 | 0uA | 10mA |
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.
Provedl jsem první aktualizaci HW a to přidání RF modulu HC-12 na frekvenci 433MHz. Modul je plně SW konfigurovatelný a teoretický dosah má až skoro 2km, no uvidíme.
Aktualizoval jsem blokové schéma. Modul je připojený přímo k MCU přes druhé UART rozhraní a jeden další pin na volbu programování.
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.
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.
zápis „help“ – zobrazí seznam podporovaných příkazů s krátkým popisem.
zápis „info“ – zobrazí základní informace o systému
zápis „i2c scan“ – vyhledá a vypíše adresy zařízení připojených na I2C sběrnici MCU
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.
zápis „sd ls“ – vypíše seznam souborů a složek na SD kartě a jejich velikost v B
zápis „sd info“ – vypíše informace o SD kartě. Kapacitu, formát, typ.
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.
zápis „sd load 8.3“ – načte z SD karty program s názvem ve formátu 8.3 do programové paměti.
zápis „out x y“ – zapíše byte v proměnné x na adresu v proměnné y.
zápis „in x y“ – načte byte z adresy v proměnné x do proměnné y.
zápis „cek x“ – zastaví program na dobu x. x je číslo v intervalu 1 – 99999 (ms).
zápis „clr“ – smaže obrazovku terminálu (funkci musí podporovat terminálový program)
zápis „x=y“ – zapíše celé číslo y do proměnné x.
zápis „x==“ – vypíše obsah proměnné x.
zápis „x+y=z“ – sečte proměnné x a y a zapíše výsledek do proměnné z.
zápis „x-y=z“ – odečte od proměnné x proměnnou y a zapíše výsledek do proměnné z.
zápis „x*y=z“ – vynásobí proměnnou x proměnnou y a zapíše výsledek do proměnné z.
zápis „x/y=z“ – vydělí proměnnou x proměnnou y a zapíše výsledek do proměnné z.
zápis „x&y=z“ – logický AND proměnné x a proměnné y a zapíše výsledek do proměnné z.
zápis „x|y=z“ – logický OR proměnné x a proměnné y a zapíše výsledek do proměnné z.
zápis „x^y=z“ – logický XOR proměnné x a proměnné y a zapíše výsledek do proměnné z.
zápis „x~z“ – logická negace proměnné x, zapíše výsledek do proměnné z.
zápis „x>>z a“ – bitový posun vpravo proměnné x o počet bitů a, výsledek v proměnné z.
zápis „x<<z a“ – bitový posun vlevo proměnné x o počet bitů a, výsledek v proměnné z.
zápis „xx příkaz“ – zápis příkazu do programové paměti na řádek xx.
zápis „xx==“ – vypíše z programové paměti řádek xx.
zápis „list“ – vypíše všechny příkazy z programové paměti.
zápis „run“ – spustí program zapsaný v programové paměti
zápis „ret“ – návrat z prováděného programu zpět do BASICU.
zápis „//poznámka“ – vše za // se ignoruje, slouží pouze jako poznámka pro programátora.
zápis „del“ – smaže programovou paměť.
zápis „print text“ – vypíše text na obrazovku
zápis „jmp xx“ – skočí na řádek číslo xx.
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.
zápis „sload“ – uloží program poslaný po sériové lince do paměti programu. Příklad ZDE
zápis „time“ – vypíše aktuální čas, datum a den v týdnu
zápis „set rtc“ – nastavení RTC modulu, příkaz má vlastní podmenu
zápis „set rf“ – nastavení RF modulu, příkaz má vlastní podmenu
zápis „rf com“ – komunikace přes RF rozhraní
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.