3D nyomtatás: heat-set insert installáló állvány

Mindig utáltam, ha a merőlegesre tervezett furatok nem lesznek merőlegesek. A hőre lágyuló műanyagba ágyazható anyákkal (=ez lenne a heat-set insert, sajnos nem tudom a magyar megfelelőjét) pedig ez különösen kemény dió, főleg, ha akkorák, mint ezek itt:

Referenciaként odaraktam egy M3x6-os csavart

El tudod képzelni, hogy a lapát kezemmel ezeket függőlegesben tartva mennyire egyszerű művelet egy pákával a helyükre ügyeskedni ezeket? Na ebből lett a mai modell.

Már rég láttam az Adafruit csini DIY állványát, amit épp erre a feladatra terveztek:

Tetszett is a dolog, különösen, hogy a Fusion 360-ban tervezett modell letölthető tőlük forrásban. Ők gyári gumiborítású csapágyakkal és 2020-as aluprofillal terveztek, nekem viszont se gumis csapágy, se hasonló méretű csapágy, se 2020-as profil nem volt itthon. Azért nagyon nem volt veszve a dolog: találtam görkoris csapágyakat és 3030-as profilt, úgyhogy terveztem görgőket a csapágyak köré és átszereltem az egész CAD modellt 3030 profil kompatibilisre.

PETG burkolat a görkori csapágyakon

Miután összeraktam az egészet, jött a csalódás. Nem tetszett, hogy a kocsi lötyög és a felső komponensek is gyengének / rosszul szereltnek tűntek:

A felső kábelvezetőt már én álmodtam oda, mert rettenetesen zavart a páka lifegő drótja

Innen már nem sok kellett, hogy elkapjon a gépszíj és újratervezzek pár komponenst. A görgős kocsiból az aluprofilban futó szán lett, a fixen összecsavarozott szerszámtartót pedig lecseréltem egy egyben nyomtatható, egy retesznek használt csavarral oldhatóan záródó bilincsre, ami a saját Hakko FX-8801 pákámmal kompatibilis:

Az új kocsi – a szürke tartókarban meghagytam az eredeti M3-as heat-set inserteket. A kocsi és a bilincs 2-2 db M3x8-as csavarral rögzithető a karra. Az Adafruit design kocsit mozgató karját kidobtam, totál feleslegesnek bizonyult.

A kocsit és az ellensúlyt vezető spulni rögzítését is kidobtam és helyette ilyen 5 komponensű, egymásba tolható modul lett belőle:

Ide nem kell anya, a szürke box a helyén tartja a tengelyként használt csavart

Az ellensúly és a talp maradt olyan, mint az eredeti designban, csak terveztem még pluszban egy apró határoló elemet, amit egy T anyával és egy M4x10-es csavarral lehet rögzíteni a profilon. Ez meggátolja, hogy a páka elérje a talpat:

Az a bal oldali kis fekete bigyó a limiter

Az ellensúlyba egy M8x80-as csavarra felfűzve egy marék M8-as anyát raktam, talpnak pedig egy régóta kallódó kis IKEA LACK polcot használtam.

Ilyen lett a végeredmény:

A modellt szokás szerint szedheted a prusaprinters.org-ról.

Már megint kenyér

Közel két éve írtam először arról itt, hogy hogy tanultam meg kenyeret sütni. Azóta is jól megy a dolog, a család elégedett az eredménnyel, de egy dolgot csak nem tudtam meggyógyítani sosem: a kész kenyér közepébe sülő néhány böszme nagy buborékot:

Akármilyen aktív a kovász, bármeddig tart az autolízis, bármennyit dagasztom, akárhányat hajtogatok, bármeddig kel a bannetonban, semmi nem múlasztotta el a középső lyukakat.

Tegnap azonban kipróbáltam valami újat és ez lett belőle:

Persze még most sem hiszem, hogy ez nem csak valami véletlen. Ma délelőtt három kenyeret sütöttem – a fenti bélzet a legnyurgább példányé:

Ez azért (b)log, hogy naplózzuk a tapasztalatokat, szóval elmondom, mit csináltam másként és mit tapasztaltam.

Az eddig megszokott módszerrel ellentétben a következőket csináltam:

  • kezdéskor a hűtőből kivett 100 g kovászt nem etettem meg, hanem rögtön összekevertem a tésztába menő összes vízzel, ami jelen esetben 420 + 50 ml volt (a +50 ml az a víz, ami a kovász etetésével került volna bele a tésztába)
  • a vizes elegybe belement az összes 13% fehérjetartalmú liszt, ami 600 + 50 g volt (a +50 g az a liszt, ami a kovász etetésével került volna bele a tésztába)
  • az így összekevert cuccot hagytam jó 3 órát erjedni +20 ℃-on, azaz az eddigi 1 órás autolízis ment 3 órát kovászostól
  • 3 óra állás után a keverékbe ment a 20 g só, 10 perc dagasztás, majd 30 percenként hajtogatás 7-8 alkalommal
  • az utolsó hajtás után nem formáztam újra, csak betettem a bannetonba, lefedtem egy zuhanysapkával és éjszakára ment ki a +5 ℃-os kamrába kelni
  • délelőtt megsütöttem a buta házi sütőben egy 10 mm vastag kazánlemezen: amikor a sütő elérte a 230 ℃-ot, tettem be egy tepsi forró vizet és még hagytam 30 percet így üresen járni, hogy a vaslap biztosan átvegye a hőt, majd csak ezután ment be a tészta és 230 ℃-on 20 percig, majd 200 ℃-on 25 percig sült (a 2. körben a felső fűtőszál felett egy tepsi árnyékolta a meleget)

A kilós kenyér tésztája már az ötödik hajtásnál érezhetően sokkal habosabb volt és nagyon könnyen lehetett vele dolgozni. Böszme nagy lett, mire bekerült a bannetonba:

Közvetlenül a sütés előtt így nézett ki:

A kenyér héja valamivel vékonyabb, nagyon ropogós lett, a bélzet kicsit egyenletesebb, de ugyanaz a kovászosan ragadós, puha kenyérbél.

Egyelőre marad ez a módszer.

3D nyomtatás: modular REVOLving cable mount

Pénteken miután letettem a munkát gyártottam egy ilyet:

Már >3 éve kitaláltam a dolgot, de akkor még nem volt annyi eszem, hogy moduláris legyen az egész. Most viszont megmutattam Andrisnak, akinek azonnal elkezdett kattogni az agya és így lett az egészből ilyen LEGO szerű kábeltartó sín.

Fusion 360 deisgn az egész, 2-3 restart kellett neki, mire a Fusion hajlandó volt azt csinálni, amit kértem tőle, de a végére összeállt szépen a minden részletében paraméteres modell. Mutatom a méreteket, hátha te is gerjedsz az ilyesmire:

Ez a keresztmetszet adta a sín és a bele való lock összes dimenzióját
Ez a dovetail meg az opcionális kalapsín mount méretezése
Ez meg a rugós kalapsines rögzítőelem
A sínt megfúrtam belül, hogy egy 4 mm-es süllyesztett csavarral is lehessen rögzíteni, ha nem ragasztanád vagy nem kalapsínen lenne
Ilyen szexi egyben az egész

Összerakni meg használni így kell:

A modelleket szokás szerint szedheted innen.

Mentem volna el inkább kapálni?

Beköltöztünk egy házba, ahol a földszinten levő négyféle lámpát négyféle RF remote irányít, a sötét mosogató feletti ledcsíkot pedig nem kapcsolja mozgásérzékelő, amitől én agyf@szt kapok. Szerencsére mindig van nálam ilyen szet, úgyhogy nekiálltam hackelni.

Feltettem egy Philips Hue ledcsíkot meg egy ahhoz tartozó mozgásérzékelőt. Ez eddig sima liba – pár klikkel rá lehet venni a Hue appban a hubot, hogy ha setét van és mozgás akkor kapcsolja bé a ledeket. Na de van egy böszme nagy konyhasziget is, ami ugyanolyan sötét és felette 6 darab másféle led lakik – az is mind kéne, pont akkor, amikor a Hue ledcsík bekapcsol.

Felmásztam a ledekhez, kibányásztam egyet és kiderült, hogy ez valami custom vadállat, brutális alubordába hegesztve, úgyhogy esélytelen, hogy én ebbe egy smart bulbot rakjak.
Arról nem beszélve, hogy 6 smartbulb már nem ugorja meg a budget küszöböt, amit erre szánnék. Elkezdtem hát kutatni.

Először onnan indultam, hogy majd faragok én kis hülye egy Arduino eszközt, ami lesniffeli az RF remote 433 MHzes szekvenciáját – már ha szerencsém van ugye és ezek a hulladékok tényleg 433 MHz-en beszélnek. Elkezdtem utánaolvasni ennek, majd rövid úton akkor párolgott el az RF sniffer építés iránti vágyam, mikor kiderült, hogy 1 mm-rel elmért antenna már totál használhatatlan lesz. Aki látta már a lapát kezeimet, az tudja, miért nem tetszett meg a saját antenna tekerésének ötlete. Szóval inkább valami célszerszám kéne erre, nem igaz, hogy nincs.

Találtam egy Sonoff RF bridge nevű jószágot, 25 EUR. arra találták ki, hogy a Sonoff RF-es cuccait tudja vezérelni – pont jó lesz, mivel azok is 433 MHz-en mennek. Persze ahogy Móriczka elképzeli – hiába ugyanaz a 433 MHz, a gyári fimrware bizony megfilterezi a packeteket és így egyik RF adó jelét sem látja, ami a házhoz tartozik.

Még egy kis research, majd kiderül, hogy van hackolt firmware.

Felteszem.

Nem mén.

Naná, hogy nem mén, mert ehhez a trükkhöz két firmware-t kell cserélni – a másik az RF csipé, amihez viszont 2 db GPIO vezetéket fel kéne kaparni a nyákon. Ha már lúd legyen kövér, felkaparom. Hihetetlen, de felmén az RF firmware is.

Itt jött vagy 6 óra anyázás, hogy mégsem jó az egész és továbbra sem látja a bridge az RF remote-jaimat. Aztán elmentem aludni, másnap reggel hideg fejjel újra az egész és voila: ott volt a sniffelt raw data!

Kis üröm az örömben, hogy az elmeroggyant remote ugyanazzal a szekvenciával kapcsolja ki és be is a lámpát, de sebaj, már tudom a konyhasziget feletti fényt kapcsolgatni a Macről.
Ööö mondjuk igaz, hogy kell hozzá egy brózer, aztán egy login, aztán egy konzol, aztán két sor data, de mén.

Innentől már csak egy ugrás volt a homeassistant nevű feneketlen kút.

A homeassistant egy open source homeaut server, messze többet tud, mint bármi más, amit eddig láttam, viszont kb. mintha kernelt fordítanál úgy, hogy nincsenek tömör egyszerű HOWTO-k meg példák. Persze bennem is van hiba, mert nem akartam 900 oldal manualt elolvasni, tuti ott van leírva, amit az előző 2-3 napban szedtem össze.

Szóval homeassistant installál egy RPi-re. Felismeri a Philips HUE cuccokat, megtalálja a Tasmota firmware-rel hackelt RF bridge-t is.

Innentől már csak 2-3 műszak volt rájönni, hogy az RF bridge-et úgy tudom rávenni a szekvencia kiküldésére, hogy installálok egy MQTT brókert, csinálok benne usert, ezeket beállítom az RF bridge-ben, majd topicot konfigurálok és összerakok indentálás érzékeny yaml-ban egy MQTT publish csomagot, RFRaw payloaddal. Amint ez megvolt, a Homeassistant tudta kapcsolgatni a konyhasziget lámpáját.

A mai este még azért kellett ahhoz, hogy csináljak egy automationt a homeassistantban, ami azt figyeli, hogy átkapcsolódik-e a Philips HUE ledcsík állapota és ha igen, akkor ő küldje ki rögtön az mqtt.publish service-ban a mnd/SonoffRFBridge/rfraw topicba a AA B0 1B 03 08 0190 0294 3BCE 28180918180909091818180909091818181818 55 payloadot.

Ez úgy 10 perce sikerült, úgyhogy most elmegyek aludni.

Kisebb megszakításokkal úgy egy hétig baszakodtam vele, de cserébe holnap amikor lejövök reggelit csinálni, azonnal bekapcsol mindkét sötét helyen a lámpa, amint odamegyek a kávéfőzőhöz.

Zelite 7″ santoku séfkés

Harmadik hete egy átmeneti apartmanban élünk Rotterdamban. A lakás egyszerűen, mégis meglepően jól felszerelt, azonban a konyhában csak eszement tompa, hulladék hengerelt kések vannak és persze fenőkő sehol. Három hétig bírtam ezt, aztán miután belegondoltam, hogy még 3 hétig itt lakunk a cuccaink nélkül, nekiálltam séfkést vadászni.

Régóta ki szerettem volna már próbálni egy Santoku típusú séfkést. A Santoku a japánok találmánya. Általában rövidebb, mint a nyugati pengék és az alakja is eltérő. Némi review vadászat után eljutottam a Zelite 178 mm (=7″) hosszú, kicsit “megnyugatiasított” késéig, ami tegnap meg is jött.

Az én példányom még nem ez a szexi edzésmintás darab – a pengéje simára van csiszolva. Csak egy napja játszom vele – ennyi tapasztalatból azt tudom mondani, hogy inkább tetszik, mint sem.

Pro:

  • csini csomagolásban jön, egy rögzíthető bőrtokkal (imádom, amikor a csomagolás olyan minőségű, hogy a dobozt újra tudom használni valami más tárolására)
  • kicsit tartottam attól, hogy rövid lesz a penge, de meglepően jó a méret, sőt, talán még kényelmesebb, mint a picit hosszabbak
  • a bolster (=a penge töve és a markolat közti “bütyök”) szépen van kerekítve, nagyon kényelmes a fogása
  • a bolster nem ér le a penge tövéig, így egész biztosan kényelmesebben lehet majd élezni
  • a nyél anyaga is kellemes, nem csúszik nedves kézben sem
  • a markolat végét záró acél elég masszív darab
  • a Santokuktól eltérően ennek ívelt a pengéje, de ez is inkább előny, mint hátrány – nagyon kényelmes vele darabolni

Con:

  • valamiért vékonyabbnak gondoltam a pengét (eddig kb. négyféle különböző pengevastagságú séfkést használtam, ez a 2. legvékonyabb lehet)
  • a penge oldalába mart mélyedések (=hollows) eddig nem adták azt az érzést, hogy a szeletelt nyersanyag kevésbé könnyen tapadna a pengéhez – bár simán lehet, hogy ehhez még csak bőven kevés a tapasztalatom

Summa summarum, eddig barátok vagyunk a Zelite meg én.

3D nyomtatás: naEzMi #32?

A feladat a szokásos: virtuális sörért kitalálni, mit hegesztek már megint:

A méretek mm-ben vannak megadva. A rejtvény talán most sem egyszerű – egyelőre nem segítek, lássuk mire juttok ennyiből:

Excel VBA Validation dropdown workaround

A probléma

Microsoft Excel VBA-ból akarok egy custom dropdown validation listát rátenni egy cellára.

Erre való a Range.Validation.Add metódus – a Formula1 paraméterének egy stringet kell átadnom, amit a VBA engine elemekre splittel (valami eszement okból kifolyólag ehhez nem lehet tömböt átadni paraméterként). A split szeparátornak az engine a dokumentáció szerint a “,” karaktert használja – vagy nem, és itt kezdődnek a bajok.

Akár a “,”, akár az Application.International(xlListSeparator) által definiált szeparátor karaktert használom a Formula1 paraméternek átadott stringben, a VBA kedve szerint válogat, hogy épp mikor mivel végzi el a splitet. Vannak esetek, amikor az egyik és vannak amikor a másik szeparátor a nyerő. A probléma az, hogy nem tudom eldönteni, hogy a VBA motor mi alapján választ.

A fura helyzet csak akkor áll fenn, ha az Excel alatti regionális beállítások nem az US Intl standard szerintiek és ezért nem a standard “,” a listaelválasztó karakter.

Hab a tortán, hogy a hibát baromi nehéz reprodukálni – egy ilyen öcsi mintakód simán működik és tökéletesen legyártja a .Validation dropdown-t:

Dim wb As Workbook, s As Worksheet
Set wb = Workbooks.Add
Set s = wb.Worksheets(1)

Dim items As Variant
items = Array("egy", "ketto", "harom")

With s.Cells(1,1).Validation
    .Add _
        Type:=xlValidateList, _
        AlertStyle:=xlValidAlertStop, _
        Operator:=xlEqual, _
        Formula1:=Join(items, ",")
End With

Tovább “szépül” a feladat, ha leteszek egy breakpointot a Validation híváshoz – ekkor ugyanis soha nem hibázik a rohadék.

Nekem egy nagy monolitikus kódban jött elő a gond – 9 órán át kerestem, hogy vajon mi a fene döntheti el, hogy a VBA motor épp melyik lista szeparátor karaktert preferálja, de nem jöttem rá.

A megoldás

A VBA azt ugyan nem árulja el, hogy hány elemű lett az általa a stringből felépített lista, viszont azt megmondja, hogy egy .Validation objektumot tartalmazó cella tartalma valid-e – erre való a .Validation.Value propetry. Ha tehát a gyogyós engine nem splitteli a stringünket, akkor az általa definiált Validation csak egy elemmel lesz valid, az pedig a teljes string – és már meg is fogtuk:

Dim seps As Variant, sep As Variant

seps = Array(",", Application.International(xlListSeparator))

' create list selector for target cell
For Each sep In seps

    With tgtCell.Validation
        .delete
        .Add _
            Type:=xlValidateList, _
            AlertStyle:=xlValidAlertStop, _
            Operator:=xlEqual, _
            Formula1:=Join(items, sep)
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With

    ' check if bloody VBA made the split properly
    tgtCell.value = items(LBound(items))
    If tgtCell.Validation.value Then Exit For

Next sep

És már megint gyorsabb voltam, mint a Microsoft hotline!-)