neděle 26. července 2026

Generátor krabiček pro 3D tisk

    Nějakou dobu používám jednoduchý nástroj na tvorbu krabiček pro 3D tisk. Není to nic sofistikovaného, ale je to instatní a rychlé. Určitě je spousta jiných generátorů  [1][2][3] v OpenSCAD,  [4] v Pythonu nebo kombinace s AI, která umožní zadat popis v přirozeném jazyce[5]. V naší české kotlině máme nový webový [krabix], který se postupně etabluje a získává na popularitě. Žel, žádný z parametrických generátorů, co jsem vyzkoušel, nebyl úplně ideální; hlavně jsou všechny příšerně komplexní a mně pro tvorbu jednoduchých krabiček na elektroniku nezbylo než si udělat vlastní. Je ve verzi 0.2 a nemyslím, že je potřeba jít dál.

Co umí takový krabičkovač

    Výstup v STL pro tisk, výstup ve STEP pro další úpravy v modelovacích programech. Potřebuji jen pár drobností - zadám vnitřní rozměry krabičky. Můžu přidat díry hranaté nebo kulaté, větrací otvory, text a na dně krabičky přidat montážní sloupky. Víčko krabičky je zacvakávací, lze přidat šoubovací verzi víka a přidat dole uši pro přistoubování na zeď nebo pod stůl.

Ke stažení

[krabickovac] je spustitelná aplikace, která s sebou nese všechno, co je potřeba ke spuštění. Pokud by byl nějaký problém, napište. Kontaktní formulář je tady někde kolem.
V balíčku s sebou nese všechyn potřebná knihovny Build 123D i OCP CAD Vieweru, takže je to obrovské.
Podrobná dokumentace [PDF].
- krabickovac-0.2-windows-x64.zip [stažení] pro Windows
- krabickovac-0.2-linux-x86_64.tar.gz [stažení] pro Linux
- krabickovac-python.zip [stažení] pouze program

Grafické rozhraní pro nastavení parametrů

    Na krabičku se díváme ve 2D, vždy na vybranou stranu zepředu. Kolem je pravítko, přidávám prvky nebo pole prvků, můžu s nimi hýbat a umístit je na stěně. Jestli jste někdy používali [RoomArranger], tak logika je stejná. Výsledek je ve 3D, ale my nastavím každou stěnu zvlášť.
    Rozpracovanou krabičku lze uložit ve formátu json do souboru s příponou .krab

    Uznávám, že Tkinter, který je dostupný v každém Pythonu vypadá jak z Windows 95, ale je to použitelné a nemám důvod to tvořit v něčem jiném.
    Vložený prvek lze vybrat a když je aktivní, dají se použít šipky na klávesnici k přesunutí.
nastavení parametrů
    Vpravo nahoře píše, co právě dělá - Generuje 3D model - v době kdy posílá model pro zobrazení v 3D náhledu je již na disku uložený STL i STEP celé krabičky.

3D náhled v prohlížeči

Vyzkoušejte sami

    Stačí stáhnout [krabickovac], rozbalit a spustit. 
Spustí si vlastní webový server ocp_vscode, otevře webovou stránku pro 3D náhleded. Otevře grafické rozhraní pro návrh krabičky a na kliknutí zobrazí náhled krabičky ve 3D a zároveň uloží STL pro tisk a STEP pro další zpracování v jakémkoli modelovacím programu.
    Při načtení .krab souboru je k dispozici ukazka1.krab

šoubovací víčko a uši k našroubování
sloupky pro šrouby víčka jsou tisknutelné bez podpor

ukazka2.krab

Ruční generování v Pythonu

    Ruční spuštění v linuxu nebo windows - gui_nastaveni_parametru.py - je grafické rozhraní pro tvorbu krabičky; umí projekt uložit v json do souboru .krab
Nastavené parametry uložíme do souboru konfigurace.py
Program generator_kabicek.py importuje uloženou konfiguraci a uloží STL a STEP

Jak to funguje uvnitř

    Build123d je Python implementace Open Cascade. Díky Pythonu je to výrazně stravitelnější než OpenSCAD. 
    Podrobný popis podporovaných parametrů ve v  souboru test_generator_krabicek.py [stažení]. Vše je podrobně komentováno, ať je jasné jak to funguje. Když se k něčemu vracím po delší době, tak komentáře jsou kotvou i záchranou.
    Pro VS Code existuje rozšíření OCP CAD Viewer, které umí zobrazit přímo ve VS Code 3D náhled.

    Starosti s Build 123d. Sdílím celý balíček krabičkovače s vším, co potřebuje, abych ostatní dělný lid ušetřil utrpení. Pro aktuální verzi Pythonu nebyla funkční verze knihovny dostupná, tak jsem musel sáhnout do repozitáře mrtvých hadů [6] a lovit tam.

    Podrobný popis všech parametrů je v dokumentaci[7].

neděle 12. července 2026

Game over 3

    Končily jarní prázdniny, březen, nedělní podvečer asi hodinu poté, co měla zavřít retroherna a v sále muzea sedělo stále osm lidí. Pařili na Atari s multijoy Mashed Turtles[1]. Než jsme se rozloučili, slíbil jsem mladým a nadějným retrohráčům, že retro video herna Game over bude zase otevřena až se začátkem velkých prázdnin.
    Tak se také stalo. Rok se sešel s rokem a v kině Máj v Uherském Brodě jsme strávili poctivé dva týdny se starými hrami. Hernu navštívilo necelých tři sta návštěvníků a ti nejmenší to brali skoro jako nějaký příměstský tábor; přišli s otevíračkou, zaběhli si domů na oběd; pitný režim máme zajištěný; a vydrželi hrát až do pozdního odpoledne.

    V prvním týdnu nás navštívila delegace z olomouckého atariklubu a druhý týden bylo poctou uvítat profesionální znalce retroher. Jejich dojmy jsou v [reportáži] na highvoltage.cz[2].

středa 1. července 2026

Druhá baterie pro elektrický longboard

 

    Ctihodný pan Ježek, přišel s nápadem, že by na svůj elektrický longboard potřeboval přidat další baterii. Mechanický přepínač by byl příliš velký, elektronický přepínač zase v případě selhání fatálně rizikový. 
antispark konektory XT90

Volíme sedláckou cestu – konektory XT90, které si jezdec ručně přepojí. Zastaví, sundá krytku, přecvakne konektor, vrátí krytku a pokračuje v cestě.
    Longboard má baterii 13S2P, plně nabito 54,6V; pro připojování baterie vyžaduje antispark konektory, aby se předešlo jiskření a vypalování kontaktů.
    Nakonec to bylo to docela snadné, stačilo vymodelovat a vytisknout krabičku a celé to propojit silikonovými kabely AWG12. 
    Baterie je v boxu vlepená na neutrální silikon.

Každý pájený spoj je třeba změřit, protože při stálém proudu 25A a špičkovém proudu 50A je každá desetina miliohmu znát. Spoj se považuje za skvělý, když má odpor menší než 0,3mΩ.

celý box je nalepený Mamutem

tloušťka lepidla je vymezena na 2mm

zaslepený konektor jako ochrana proti prachu

celé řešení

tisknuto tak, aby mechanické namáhání nešlo po vrstvách

Další [fotky].
Krabička k tisku [thingiverse].

úterý 23. června 2026

Repas baterie do notebooku...

nově vyměněné články 18650/3500mAh

Lenovo Thinkpad L470, prastarý notebook. Baterie z druhovýroby AVACOM ve velmi špatném stavu.

V jakém stavu je baterie?

    Jak zjistím v jakém stavu mám baterii v notebooku? 
Spustím v teminálu: powercfg /batteryreport a dostanu podrobný výstup ve kterém je o baterii všechno.

Jak vyměnit články?

    Servisní návod výrobce praví (strojově přeloženo)
    Mikrokontrolér na desce neustále monitoruje napětí na jednotlivých skupinách článků pomocí sítě analogově-digitálních převodníků (ADC). U nejběžnější tříčlánkové topologie (3S1P nebo 3S2P) existují uzly B-, B1, B2 a B+. Při odpojování degradovaných článků musí technik postupovat od nejvyššího napěťového potenciálu k nejnižšímu, tedy odstřihnout spojení B+, následně B2, B1 a nakonec záporný pól B-. Při zapojování nových, kapacitně a napěťově spárovaných buněk se postup striktně obrací. První musí být připojen referenční bod B- (zem ochranného obvodu). Teprve poté smí být připojeny středové odbočky B1 a B2, a absolutně jako poslední se svaří hlavní kladný pól B+. Pokud by technik připojil jako první B+, nebo zapojil středové svorky bez přítomnosti B-, logické obvody ADC vstupů integrovaného čipu by se ocitly v plovoucím stavu nebo by čelily nečekaným napěťovým gradientům, což okamžitě vede k softwarovému uzamčení z důvodu podezření na fatální defekt buněk.
zapojení baterie

Bodové svařování článků

    Na tyto drobnosti používám bateriovou bodovu svářečku FNIRSI  SWM-10; podle [recenze] pana Bekra je použitelná s čímž plně souhlasím.

Nastavení baterie

    I když články vyměním, tak řídící logika baterie (BMS) má v sobě pořád zapsánu poslední známou kapacitu a nedovolí nové články využít víc, než byly ty staré. Musím se k BMS připojit a provést potřebná nastavení.

jaký čip je na desce BMS
pinout baterie Lenovo Thinkpad L470

SMBus/I²C na USB (CP2112)

    Naštěstí nemusím komunikaci bastlit, ale existuje sofistikované instatní řešení, kdy použiju převodník CP2112 [1] pro připojení k baterii. Stačí tři vodiče.
CP2112 v akci
    Na čínské baterie se používá nástroj SH366000, existuje komunitní kopie postavená právě na výše zmíněném převodníku viz [github].
    Postup je odemčení čipu (Unseal); nastavení Flash Data - Write Flash; uzamčení (Seal).

    Seznam nastavitelných parametrů viz [tabulka].


počet cyklů, celková kapacita... všechno lze nastavit


změna sériového čísla znamená, že baterie bude v notebooku vnímána odlišně / jako nová

Vybrané 18650 

Li-Ion 3500mAh 10,2A 3,6V EVE INR18650-35 viz [3] mivyenergy.cz je měli loni v akci za 40 korun

Co se měnilo v paměti BMS 

    0x0010 DesignCapacity: 7000
    0x0006 FullChargeCapacity: 7000
    0x000C CycleThreshold: 5600 (počítání cyklů od 80 %)
nabíjecí proudy:
    0x0028 NormalChargeCurrent: 3500 (mA)
    0x0070 ChargeOverCurrentThresh 4800 (mA)
    0x0074 ChargeOverCurrentReset 3800 (mA) 
registry zbytkového napětí (EDV - End of Discharge Voltage):
    0x00B6 FEDV2 (Skoro vybito): 8700 (mV)
    0x00B8 FEDV1 (Kriticky vybito): 8400 (mV)
    0x00BA FEDV0 (Absolutní nula 0 %): 8100 (mV)
aby systém viděl baterii jako novou
    0x0004 CycleCount 0 (počet cyklů)
    0x00FD Serial Number (jakákoli odlišná hodnota) 

Neustále parkuju notebook na nabíječce!

    Neustálé udržování na 100% baterii chemicky zabíjí. Řešení je nechat baterii nabíjet jen na 80% a volitelně, když bych potřeboval, snadno nechám notebook dobít do 100%.

  Moderní notebooky mají bypass charging, který tento problém řeší. Ale většinou je to třeba nastavit příslušném power management programu.

    Gazda se super jménem MatijaKlobasa má na githubu řešení [2], kde odkazuje ke stažení utilitu od Lenovo [ChargeThreshold].

Použití je snadné
– omezení maximálního nabití na 80% a začne se nabíjet, když klesne pod 75%
ChargeThreshold.exe 80 75
– vypnutí omezení, bude se nabíjet naplno a udržovat na 100%
ChargeThreshold.exe off
– jaké je aktuální nastavení zjistím
ChargeThreshold.exe status

neděle 21. června 2026

PIR senzor...

    
    Jednoduché PIR čidlo, nastavitelné po wifi (dlouhým stiskem SW1 při zapnutí napájení SW2). Zapne si vlastní AP s názvem NastavPIR. Při pohybu pošle MOTION, když se po nastaveném cooldown čase probudí a nevidí žádný pohyb, může poslat zprávu CLEAR.


    Umožní síťová nastavení s pevnou IP; topic, kam se budou posílat data; čas (cooldown) na jak dlouho usnout při prvním pohybu; jestli má posílat zprávu CLEAR.




Program
k nahlédnutí [1]; ke stažení [2] .ino; pro flash [3] .bin

PIR se používá se spolupráci s přehávačem filmů do expozice, případně MQTT lampičkou.

Krabička
model k tisku [thingiverse]

sobota 20. června 2026

Výdrž baterie pro low-power projekty...

VYDRŽ!

Základní parametry

Aktivní stavy (Probuzení)

Název úkonu
Odběr (mA)
Čas (s)
Každých (min)

Výsledky simulace

Odhadovaná výdrž
Počítám...
Průměrný odběr: 0 mA Využitelná kap: 0 mAh

čtvrtek 18. června 2026

Uvedení do stavu školáckého

 


Absolventi Mateřské školy Klíček opět v muzeu. Každoroční uvedení do stavu školáckého. V příjemném prostředí staré školy s dětmi, rodiči i prarodiči. 

Další foto [matap].


blog se přestěhoval...

Začátkem srpna 2026 se blog přestěhoval na novou adresu. Mělo by automaticky dojít k přeměrování na novou adresu, pokud se to nestalo, musít...