Pro jednoho zákazníka v ČR jsem dostal zakázku udělat zařízení na testování spotřební elektrotechniky, jako jsou varné konvice, toustovače, mixéry, tyčové mixéry, odšťavňovače apod. Zákazník je jedním z největších výrobců spotřební elektrotechniky v ČR. Před uvedením výrobků na trh je nezbytné všechny otestovat a podrobit náročným zátěžovým testů, aby se zajistila funkčnost a bezpečnost zařízení po celou dobu jeho životnosti. Tyto testy trvají více dní v řádech tisíce až desetitisíce cyklů. Typicky spotřebič zapnout, nechat běžet půl minuty, vypnout, počkat a takhle několik dní dokola. během tohoto procesu je nezbytné zaznamenávat řadu elektrických veličin.
Ve spolupráci se společností Brillio CZ s.r.o., která realizuje tyto testy, jsem navrhnul a zhotovil flexibilní, účelné řešení, které splnilo veškeré požadavky zadavatele. Vzhledem k nejasnému zadání, které se vyvíjelo a měnilo během výroby a k pestrému sortimentu typů a tvarů spotřebičů bylo potřeba zvolit flexibilní řešení s tím, že si některé části dodělá nebo uzpůsobí i zákazník.
Výsledné pracoviště na testování je na následujícím obrázku:
Testovaný spotřebič je připevněn na desku s T sloty (stříbrná vpravo dole). Na jeho ovládací prvky je připevněn lineární nebo rotační aktuátor (akční člen = to co dělá pohyb = servo+převody). Například odšťavňovač s otočným knoflíkem je potřeba otáčet takže se použije rotační aktuátor, tyčový mixer je potřeba mačkat takže je použit lineární aktuátor.
Aktuátory jsou sestaveny z robotických serv Dynamixel AX-12A a 3D tištěných komponent. Jejich upevnění na stůl a do správného úhlu je flexibilní díky stojánku, který se připevňuje na desku s T sloty.
Spotřebič je napájen přes Netio PowerDIN 4Pz. Tím je umožněno průběžně měřit spotřebu spotřebiče a pokud dojde k anomálii ho okamžitě vypnout. Pokud spotřebič odebírá výrazně méně než má - tak typicky spadl aktuátor z ovládacího prvku nebo se ulomil ovládací prvek nebo spotřebič “odešel”, nebo spotřebič odebírá výrazně více než má tak se typicky spotřebič zadřel (velký rozběhový proud).
Řízení a vyhodnocování testů je prováděno na PC s MS Windows. Pro načtení hodnot odběru konkrétního spotřebiče a zjištění potřebných úhlů serva pro zapnutí a vypnutí spotřebiče je implementováno jednoduchým grafickým programem.
Vlastní testování spotřebiče je obsluhováno testovacím skriptem v jazyce Python, do kterého se přepíší naměřené parametry z grafického programu.
Připevnění spotřebiče a aktuátorů
Spotřebič je potřeba jednoduše a rychle připevnit k desce s T sloty. Vzhledem k tomu, že test trvá obvykle tisíce zapnutí/vypnutí, je třeba, aby se nepohnul – k tomu slouží upínky (stahovací pásek nebo příčník na závitových tyčích) Dalším fixačním prvkemjsou zarážky.
Variabilita připevňovaných vzorků je takřka neomezená nyní připravuji další přípravek na připevnění a testy tyčových mixérů, kde je potřeba mixér držet ve vzduchu a pod ním samostatně přidržet nádobu.
Aktuátory
Pro ovládání spotřebičů je potřeba rotační nebo lineární pohyb. Otočný pohyb obstarává robotické servo Dynamixel AX-12A které je přes pružnou spojku připevněno ke svorce která se nasadí a přitáhne na ovládací knoflík spotřebiče. Využití tlakové vodovodní hadice jako pružné spojky se ukázalo jako dostatečné – dvojité nerezové protiběžné opletení má velkou tuhost do zkrutu a za ¼ roku používání nejeví žádné opotřebení. Nahrazení kardanovou hřídelí bylo zvažováno a bude o trochu snazší ho nastavit ke spotřebiči, ale v této verzi nebylo využito (především z časových a finančních důvodů). Využití držáku vodovodních/odpadních potrubí jako konce, který se nasazuje na ovládací prvek spotřebiče, se ukázalo jako dostatečně flexibilní. Vývoj něčeho (profesionálního) co dokáže držet na otočných ovládacích prvcích spotřebičů o rozměrech od 20 do 100 mm často kuželovitého a nepravidelného tvaru by stál desetitisíce korun a sada 10 velikostí držáků na potrubí po 20 korunách za kus odvede podobnou práci.
Aktuátory je potřeba připevnit do přesného místa a úhlu oproti testovanému spotřebiči. K tomu slouží kloubový stojánek s potřebou tuhostí, který je možno kdekoliv připevnit na desku s T sloty.
Lineární pohyb obstarává taktéž robotické servo Dynamixel AX-12A kde je rotační pohyb převeden na lineární. Páka mezi servem a lineárním vedením je s plastovými kluznými ložisky, všechny plastové díly jsou navržené pro tento projekt a tištěny FDM tiskem z materiálu Průša PC-BLEND – mix polykarbonátu, ABS a dalších s dobrými parametry pro toto použití – vysoká mechanická odolnost, stálost do 113 stupňů Celsia a dobrá kluznost.
Výhodou T slotů (to co mají hliníkové profily pro montáž nebo co se používá na upínacích deskách obráběcích strojů) je jejich vysoká pevnost a tuhost a rychlá montáž kdekoliv v drážce. Vzhledem k možnosti přidání hliníkových profilů je možná i velká rozšiřitelnost o nové možnosti upevnění.
Důvodem pro použití robotických serv Dynamixel je zejména:
- serva jsou na sběrnici s paketovým přenosem dat – nedochází ke zkreslení a rušení přenosu dat, je možno zapojit více serv na jedno rozhraní, máme zpětnou vazbu o tom že servo příkazy obdrželo
- součástí serva je zpětná vazba – je možno odečítat skutečnou polohu serva a jeho zatížení
- rozhraní pro ovládání serv je k dispozici jako USB převodník, takže je snadné ho integrovat do řídícího PC
- výrazně nižší cena za servo oproti průmyslovým pohonům
- životnost a zatižitelnost použitých serv MX-512 je postačující pro tento projekt
- existuje distributor v ČR
Serva Dynamixel mají podporu a knihovny pro jazyk Python. Instalace knihoven je rychlá a bezproblémová pomocí PIP. Možnosti ovládání a vyčítání zpětné vazby (využívám skutečný úhel natočení a zatížení/load) a způsob komunikace je výrazně složitější než ovládání modelářských serv. Na použitých servech AX-12A jsem v aktuální verzi projektu nebyl schopen dotáhnout dynamického nastavování maximálního kroutícího momentu serv. Nastavení funguje jen v režimu statickém - pomocí konfiguračního programu serv od výrobce.
Měření odběru a vypínání spotřebiče – Netio PowerDIN 4Pz
Spotřebič je potřeba průběžně (konkrétně se měří jednou za sekundu) měřit spotřebu.
V případě anomálie odběru nebo anomálie ovládání (např. servo nedojede do cílové polohy) je potřeba spotřebič okamžitě vypnout (hrozí i riziko požáru). Vypnutí je jednak prostřednictvím ovládání spotřebiče - servem, ale především prostřednictvím vypnutí napájení.
Měření a zapínání spotřebiče provádí Netio PowerDIN 4Pz. Netio PowerDIN 4Pz jsem vybral z těchto důvodů:
- požadavek na měření 1x/vteřinu s přesností pod 10%
- ovládání výstupu
- ovládání musí být jednoduše realizovatelné z python skriptu
- životnost miliony vypnutí/zapnutí
- rozumná cena
- dělám pro Netio products a.s. správu IT a osobně vím, že u všech jejich novějších produktů jejich marketingové materiály moc nekecají a že opravdu vydrží miliony zapnutí/vypnutí
Netio PowerDin je připojeno do LAN a má staticky nastavenou IP adresu (pomocí rezervace na MAC adresu v DHCP serveru zákazníka). Ovládání a čtení stavu Netio PowerDIN je prováděno z řídícího PC. GUI program a testovací skripty jsou napsány v Pythonu. Instalace knihovny Netio je díky od výrobce připravené a publikované knihovně a PIP otázka jednoho příkazu:
pip install Netio
Na Netio PowerDIN je potřeba vypnout výchozí nastavení pravidelného denního rebootu řídícího software (reboot je bez změny stavu napájení, jen může dojít k výpadku měření). Využití Netio PowerDIN je s pevnou IP adresou a v LAN stabilní pro vteřinová měření a i při dlouhodobých testech nevykazuje výpadky (momentálně maximálně půl dne neboť pracoviště zákazníka není vybaveno pro provoz bez dozoru – zejména z důvodu požáru).
Řízení a vyhodnocování testů
Řízení a vyhodnocování testů je prováděno z PC s MS Windows. Testovací skripty jsou napsané v jazyce Python.
Nástroj na změření a nastavení parametrů serv a proudu na Netio PowerDIN je grafický program napsaný v jazyce Python s využitím knihovny PySimpleGUI.
Jazyk Python byl vybrán z více důvodů:
- moderní skriptovací jazyk s velkou podporou a dokumentací
- podpora na více platformách
- většina zařízení a výrobků má podporu a knihovny pro Python (Netio, serva Dynamixel, …)
- testovací skripty jsou realizovatelné bez složitějších technik a konstrukcí (jako je objektové programování atp) – to je potřeba aby skript by použitelný přehledný a modifikovatelný pro uživatele testovacího zařízení (uživatele typu – jóó tohle jsem viděl na střední/vejšce a tohle je proměnná?)
- knihovna PySimpleGUI je jednoduchá na naučení, nevyžaduje instalaci dalších knihoven (jako je QT nebo GTK) a je přenositelná mezi Windows a Linux OS, podporuje i verzi kdy je GUI zpřístupněno jako HTTP WEB stránka
Průběh testu
Testy se liší podle testovaných spotřebičů, ale typický průběh je:
- Spotřebič je potřeba pevně připevnit k desce s T sloty.
- Zapojíme spotřebič do zásuvky ovládané a měřené přes Netio PowerDIN.
- Změříme odběr spotřebiče při spuštění, odběr při normální běhu spotřebiče a zhruba dobu za jakou se odběr sníží do normálního odběru – pomocí ručního zapnutí/vypnutí a odečtení hodnot z GUI programu.
- Podle ovládání vybereme aktuátor pro lineární nebo rotační pohyb.
- Aktuátor je potřeba poměrně přesně připevnit do správné vzdálenosti a směru pohybu k ovládacímu prvku spotřebiče (stojánek k desce šrouby a pomocí kloubového stojánku do správné polohy). V případě rotačního připevnit aktuátor na ovládací prvek spotřebiče.
- V GUI programu vypneme servu napájení motoru – lze s ním otáčet ručně a máme odečet hodnot.
- Ručním pohybem/otáčením nastavíme ovládací knoflik/aktuátor do polohy vypnuto a odečteme úhel pro vypnutí.
- Ručním pohybem/otáčením nastavíme ovládací knoflik/aktuátor do polohy zapnuto a odečteme úhel pro zapnutí.
- Zjištěné hodnoty ověříme – zapneme napájení motoru a buď zadáním hodnoty úhlu nebo potažením “slideru” v grafickém programu nastavíme úhel. Často je nutno díky vůlím ovládacích prvků a pružnosti upnutí a výrobků a aktuátorů nutno odečtené hodnoty upravit. Nové hodnoty úhlu pro zapnutí a vypnutí si poznamenáme.
- Zavřeme GUI program.
- Vyeditujeme si testovací skript, kde zadáme:
- číslo serva (každé servo má ID na sběrnici, číslo je nalepeno na servu)
- minimální a maximální odběr spotřebiče při rozběhu a čas rozběhu (obvykle je minimální ¼ a maximální čtyřnásobek změřeného odběru při rozběhu)
- minimální a maximální odběr spotřebiče při normálním běhu
- úhel pro zapnutí
- úhel pro vypnutí
- doba zapnutí
- doba vypnutí
- počet cyklů
- Spustíme testovací skript z příkazové řádky
- Zkontrolujeme běh testovacího skriptu podle výpisů na obrazovce (průběžně vypisuje v každém cyklu naměřené hodnoty) pro alespoň 2 cykly
- Zkusíme spotřebič odpojit ze zásuvky – skript má zastavit pro nízký odběr spotřebiče
- Zkusíme spotřebič přetížit – skript má zastavit pro vysoký odběr – zde je nutno například podržet metly mixérů – POZOR! Zde je nutno vědět co děláme a co zničíme a je pouze pro odbornou a školenou obsluhu!
- Spustíme testovací skript
Závěr a zhodnocení
Zařízení pro cyklické testování spotřebičů je využíváno cca 4 měsíce bez větších problémů a nedostatků. Zákazník nyní doobjednává uchycení pro tyčové mixéry.
Další rozšíření (pokud) bude je logování testu/měření do CSV nebo XLS souboru a zjednodušení testovacích skriptů.
Ve fázi plánů je verze pro testování 3 spotřebičů současně umístěných v boxu s detekcí a automatickým odvětráním kouře v případě požáru. Na takovéto sestavě lze provádět nonstop testování bez dozoru. Dále je v plánu doplnění průmyslového měření teploty spotřebičů (například povrchové teploty vařičů, aby odpovídali požadavkům EU norem).
Celý projekt pro mě byl zajímavý šíří potřebných znalostí, které jsem musel/mohl uplatnit – programování v jazyce Python, elektronika (v podstatě jen napájení a kabeláž), ovládání robotických serv, 3D návrh a tisk upínek a plastových částí aktuátorů a mechanická část.
Netechnickou výzvou pro mě bylo celé to dohodnout, několikrát změnit, a především si nechat od zákazníka zaplatit za to, že 1/3 práce zahodím nebo potřebuji pro vývoj a že ½ času strávím přemýšlením a hledáním optimálních komponent na netu nebo v Hornbachu, což jak zjišťuji, je prakticky nezbytná součást vývoje něčeho úplně nového.
Celkově to pro mě byl jeden z nejzábavnějších a dobře ohodnocených projektů, které jsem měl v roce 2020 možnost realizovat a s radostí si jej zopakuji i pro jiné zákazníky.
Autor článku a testeru: Josef La Mašek (josef.masek@email.cz)
https://www.netio-products.com/cs/zarizeni/powerdin-4pz
Produkty NETIO nabízí https://obchod.hw.cz/eshop/produkty/kategorie/chytre-zasuvky.