Kerültél-e valaha olyan helyzetbe, hogy azt hitted a projectről, egyszerű lesz és pillanatok alatt megcsinálod, majd egyszercsak rájöttél, hogy rengeteg idődet ölted bele?
Ez egy ilyen project.
De vissza az elejére. Azon dolgozom, hogy javítsam, programot írjak a HP E1300A VXI kereteimhez (konkrétan 3 db van belőle). Az előlap kinézete egy vicc. Egy nagy bézs panel, amin nagyjából nincs semmi.
Ezen túl, még az is bajom vele, hogy a beépített multiméterének, csak a hátlapon van csatlakozója.
Semmi olyan módosítást sem szeretnék tenni a szerkezeten, ami nem visszafordítható, de szeretnék csatlakozókat az előlapra.
Amiben nagyjából teljesen biztos vagyok, hogy a floppy meghajtó helyét semmire sem fogom használni. Az előlapja, meg egy mozdulattal kipattintható, és lehet tenni valamit a helyére.
Tehát terveztem egy kis panelt, előlapot, szerelőkeretet a helyére. Hiányoztak alkatrészek, 3D modellek a KiCAD-ból, először használtam a FreeCAD-et a végső összeszereléshez, csináltam egy miliméteres hibát, amitől nem állt össze az egész és alig találtam meg, belefutottam még egy rakás mindenféle problémába. Ez az eredetileg egy esete összedobom projectből, csinált egy hetes szenvedést.
Hangosan gondolkodom. Vajon van-e igény erre a modulra? Vajon ez lehet-e pár év után újra a próbálkozásom arra, hogy áruljak valamit mondjuk az eBay-en vagy a Tindie-n?
Az utóbbi pár évben aktívan gyűjtögetem a retro Hi-Fi cuccaim (fogalmam sincs mikor és miért kezdtem, de ez a helyzet).
Ma is hallgatok FM rádiókat. Sajnos a kábeltv szolgáltató felkeveri az FM adókat a TV frekvenciákra valamint digitális csatornaként is szolgáltatja, amik szintén TV kompatibilisek. Ez lehetetlenné teszi számomra, hogy rádiót hallgassak az FM rádió gyűjteményemen, megfelelő antenna nélkül.
Az első opció antenna építés lenne a tetőre. Ezt villámgyorsan elvetettem. Sem a pénzt, sem az időt nem akarom rászánni.
Próbáltam valami szobaantennát találni, de nem sikerült. Minden amit árulnak TV-hez való.
Végül az AliExpress-en találtam valami antennákat, amiket boomboxokhoz, meg azokhoz a pici, FM tunert is tartalmazó erősítőkhöz amiket mindenfelé árulnak. Ráadásul, ezeken F dugó van, amit elég sokat használtam eddig is.
Az első kísérletem az antenna használatára, kétes eredményt hozott. Működni működött, de a rádió hátához való rögzítése, nem volt problémamentes.
Később arra jutotta, hogy tervezek és nyomtatok hozzá valami 3D tartót:
Nyomtatva:
Összeszerelve:
A Hi-Fi állványhoz lesz hozzáragasztva kétoldalas ragasztóval:
Az elmúlt pár hónapban küzdöttem picit a 3D nyomtatómmal. Még a filament gyártóját is meggyanusítottam (csak itthon, semmi reklamációt sem tettem), hogy félrecimkézték az anyagot (hogy esetleg PLA-t kaptam volna PETG helyett).
Végülis sok próbálkozás után, beállítva a szintezést és a flow-t, a nyomtató visszatért az elfogadható, mi fontosabb, stabil működéshez.
Kaptam egy feladatot egy baráttól, hogy nyomtassak egy gombot egy javításra váró magnóra, ami törött és beszerezhetetlen:
Elég bonyolult alkatrész, így eltartott egy ideig a tervezés:
Ez egy hosszú gondolatlánc lesz. Csak kövesd! :-)
Az egész egy képpel kezdődött a facebookon. Megláttam egy kétcsatornás analog Kenwood AC feszültségmérő műszert. Ez jól használható sztereo eszközök csatorna együttfutásának vizsgálatára. Tetszik a koncepció, de nem vagyok az analog műszerek nagy barátja.
Elkezdtem gondolkodni. Mi van, ha megfogom az egyik asztali multiméterem, írok hozzá valami PC programot a saját (még mindig fejlesztés alatt álló) GPIB USB adapterem köré, mellé téve, egy vezéreletlen mikrovezérlő alapú csatorna kapcsolót. Uff, ez gusztustalanul hangzik, ráadásul ez a bejegyzés nem is ennek a magyarázatáról szól. Csak, hogy értsd, valami ilyesmit fejlesztek és hamarosan publikálom.
Visszatérve az eredeti gondolathoz: Kiválasztottam az egyik HP 3478A 5,5 digites multiméterem a fenti projecthez. És itt felmerült egy pár dolog:
Szükségem van egy jelválasztó kapcsolóra
A 3478A kijelzője, egy minősíthetetlen hulladék a háttérvilágítás hiánya miatt
Nem akarom a multiméter eredeti kijelzőjét kinyírni egy átalakítási kísérletben, ezért kerestem valami hasonlót és olcsóbbat.
Szokásom szerint körbenéztem az eBay-en. És nézd csak, mit találtam: két HP 3488A-t. Ezek tele vannak kártyákkal (általában csak üreseket lehet találni), €102-ért házhoz szállítva. Gyorsan meg is vettem.
Jó lesz gyakorolni a kijelző módosításhoz, ha működnek (az eladó hibásnak, teszteletlennek árulta), kapcsolóként is használható a fenti projecthez, és más célokra. Továbbá jól beleillik a tesztműszer gyűjteményembe.
Itt is vannak:
Először is kipakoltam az összes kártyát, letakarítottam a dobozokat (megszabadultam az összes matricától, kosztól)
Íme a "leltár":
Két HP 3488A. Az egyikről hiányzik a hálózati kapcsoló gomb. Egyiknek sincsenek lábai.
Két 44471A általános célú relé kártya. Az egyikhez van csatlakozó blokk, a másikhoz nincs.
Két 44470A mátrix relé kártya. Mindkettőhöz van csatlakozó blokk, csak az egyikből hiányzik a kábel rögzítő műanyag betét.
Egy titokzatos HP jelzésű kártya, mindez hekkelt kiadásban -némi (nem épp szépen kivitelezett) módosítással, amit valamelyik korábbi tulajdonos követett el.
Itt van a titokzatos kártya. Szívesen vennék bármi információt róla, mert én semmit sem találtam:
A tisztítás után kipróbáltam a szerkezeteket: Az első felületes teszt szerint mindkettő működik. A saját tesztje hibátlanul lefut, hallom a relé kattanását akár az előlapról, akár távoli GPIB parancsokkal próbálom vezérelni.
Egy ideje benne vagyok a 3D tervezésben és nyomtatásban.
Itt szükségem volt két műanyag alkatrészre. Az egyik a hálózati kapcsoló cseredarabja:
A másik a hiányzó csatlakozó blokk betéte.
Mindkettőt megterveztem a szokásos OpenSCAD-ben:
Íme kinyomtatva:
A bal az eredeti, a jobb a nyomtatott:
Helyére került a hálózati kapcsoló:
A HP 3488A rendberakási project ezzel elkészült. :-)
Szokásomhoz híven, most is több dolgot építek párhuzamosan.
Az utolsó bejegyzésemben írtam a dupla tápegységem kapcsoló problémájáról. Ez az első dolog ami megoldást igényel.
Néhány hónapja vettem egy 1,5kW-os variac-ot áron alul (15eFt-ért ami egy vicc, főleg miután kiderült, hogy a primer és a szekunder tekercs izolált egymástól).
Amikor használni próbáltam azt tapasztaltam, hogy azonnal leveri a kismegszakítót. Túl nagy a bekapcsolási áram (óriási vasmag).
Az első probléma megoldásához egy időzített kapcsoló áramkörre van szükség amit egy kisáramú áramkör vezérel.
A második probléma, pedig egy klasszikus lágyindító.
Ha a fenti áramkörök működésének a mélyére ásunk, arra juthatunk, hogy a két dolog nagyon hasonlít egymásra. Az elsőben a nagyáramú részt némi késleltetéssel kell bekapcsolnunk. A második rendszerben induláskor néhány teljesítményellenálláson keresztül jut az áram a fogyasztóra, ami időzítés után rövidre záródik.
Szóval, ha leválasztom a vezérlő kis tápegységet a nagyáramú részről egy kapcsolóval, akkor kész is vagyok. :-)
Az időzített kapcsoló áramkörben ki kell hagyni a teljesítményellenállásokat és a kis tápegységet kell kapcsolni az előlapi kapcsolóról. A lágyindítóban pedig a teljesítményellenállások beültetésre kerülnek és a kit tápegység közvetlenül a nagyáramú tápellátásra van kötve (itt külső nagyáramú hálózati kapcsolót használunk az egész rendszerre).
Az áramkör tervezése során egy picit tovább mentem. A fenti egységből felraktam kettőt egyetlen panelra. Ez vagy mester-szolga üzemmódban használható (egyetlen táp bement, egy bekapcsoló gomb, egy kisáramú tápegység, és két - akár különböző - időzítés, két relével), vagy a panelt kettéfűrészelve, két teljesen független egységként.
A teljes terv elkészült. A paneleket egy pár napon belül megrendelem (van egy jópár más terv is a fejemben, és csak egy szállítási költséget akarok fizetni)
A kapcsolási rajz:
A panel terv:
A beültetett panel 3D modelje:
Ez az első tervem aminek teljesen komplett 3D modelje van. Most végre képes voltam a OpenSCAD -> scad -> FreeCAD -> step munkafolyamatot végigvinni a saját alkatrészeimnél, könnyedén.
Szép sorban le fogom írni a szavazásra bocsáljtott projectekről, hogy mi micsoda. A házautomatizálás központ után jöjjön a
Bőr (Leather) vizsgáló mikroszkóp és nem a Bőr (Skin) vizsgáló mikroszkóp.
Ez a project a feleségemtől jött.
Van egy speciális mikroszkóp a piacon, aminek a tárgyasztala fűthető. Ez régi tárgyak restaurálás előtti vizsgálatához használható. Esetünkben bőrtárgyakról beszélünk, de másra is használható.
Az a cél, hogy meghatározzuk azt a pontos hőmérsékletet amikor bizonyos változások végbemennek a mintában.
Ez egy időigényes feladat és a jelenleg használt eszköz elég öreg, valamint korlátos a használhatósága.
Úgy döntöttem, hogy tervezek és építek egy újat.
"Ha az egyetlen szerszámod egy kalapács, akkor hajlamos vagy minden problémát szögnek nézni."
Tehát építsünk egy 3D nyomtatót!!!
A terv a következő:
Hardver (nagyrészt):
Építek egy fűtött platformot, amit egy Marlin firmware-el ellátott Arduino Mega-ról fogok vezérelni, a Marlin PID vezérlését használva, külső MOSFET-tel és a szokásos 100k-s NTC-vel mérve (aktuálisan Anettka eredeti MK8 fejéből szedtem ki)
Változtatható intenzitású világítás alulról (a Marlin doboz világítása)
Z tengely menetes szárral, Nema 17-es léptetőmotorral, DRV8825-ös vezérlővel, végálláskapcsolókkal. Erre felszerelve egy mikroszkópkamera. A tengely mozgása vezérli a fókuszt
A kamera és az Arduino egy PC-re kötve USB-n keresztül
Szoftver:
A következőt tervezem C#-ban megírni:
A fűtés vezérlése gcode-al, a megfelelő fűtési görbe elérése érdekében (A PID hangolása is közrejátszik)
A kamera képének rögzítése az időbélyeggel és a hőmérséklettel együtt
Az értékek (idő, hőmérséklet) beágyazása a kamera képébe
A Z tengely manuális vezérlése a gépről.
Később:
Autofókusz a kamera képe alapján, konvoluciós mátrix és hasonló "computer vision" vuduk felhasználásával.
A video és kamera kezeléshez az aforge.net könyvtárat tervezem használni, amit már korábban is használtam.
Van egy Philips monitor a műhelyemben. Sajnos az eredeti talpával együtt túl magas. Ez azt jelenti, hogy nem tudok hozzáférni a mögötte/fölötte lévő polchoz rendesen. Valahogy lejjebb kellett raknom, de az eredeti talp nem állítható. Igen tudom, hogy lehet venni monitort állítható talppal, de az többe kerül, ez a monitor meg már itt van.
Tehát terveztem és építettem egy új talpat.
Az eredeti állapot:
A terv:
(A szürke darabok U alakú aluminum idomok)
Az alkatrészek:
Igen, jól látod, az a karika súlyzóra való tárcsa. :-D
A nagy belmagasság jóle néz ki, de van egy sötét oldala. A pókok a felső sarkokban. Nem egyszerű eltávolítani a pókhálókat 5m magasból. Vagy kell egy nagy kinyitható létra (amit utálok), vagy valami ami meghosszabbítja a kezed ilyen hosszúra.
Én ez utóbbit választottam.
Vettem három 2m-es aluminium csövet. 30, 25, és 20mm átmérővel, és ezt terveztem hozzá:
Négy verzióban nyomtattam ki. Két darabból áll egy szet:
Összeszerelve (egy szethez: nyolc M4x45 csavar, nyolc M4 anya, egy M6 anya, és egy M6x15 marokcsavar kell):
Hosszú idő után (asszem 3 év), úgy döntöttem, hogy életre keltem a CNC marómat.
Az első dolog, hogy letakarítottam a kuplerájt a tetejéről (elsősorban az új léptetőmotor meghajtók, kuplungok, fúró és maró szárak voltak rajta). Akartam egy végleges helyet azoknak a fúró/maró száraknak. Tehát nyomtattam tartót nekik amivel fel tudom rakni a fali lyukacsos panelre:
a következő munkamenettel készült:
Rajzoltam egy spirált az InkScape-ben, elmentettem DXF-ként és a DXF2GCODE programmal átkonvertáltam https://sourceforge.net/projects/dxf2gcode/
Kipróbáltam néhány gcode küldőt, de végülis a Raspberry Pi/Ubuntu/Octoprint kombónál maradtam, amivel eléggé tisztában vagyok a 3D nyomtató miatt.
A fenti munkamenetnek van néhány baja:
Képtelen megfelelő skálázást produkálni. Azt nem tudom, hogy csak az én bénaságom, vagy a szoftverek baja.
A DXF2GCODE inkább hasonlít egy CAM szoftverre mint egy plug and play konverziós megoldásra. A plotternek sokkal egyszerűbb G code-ra van szüksége mint egy CNC marónak. Az a lehetőség, hogy marófejekkel, zsebekkel, stb. dolgozzunk itt teljesen felesleges.
Van egy vonal a plotter kezdőpontja és az ábra kezdőpontja között aminek nem kéne ott lennie. Ezt nem a munkamenet okozza, de erre majd visszatérek később.
Ezen a ponton elkezdtem másképp hozzáálni a feladathoz. A DXF egy mechanikai CAD formátum, tehát nem igazán tollas plotterekhez tervezték, ugyanakkor a HPGL kifejezetten a HP tollas plottereinek a nyelve.
Elkezdtem keresni egy programot ami a HPGL-t G code-á alakítja. Találtam néhány konvertert. Egy sem felelt meg a céljaimnak. A nagyja képtelen volt a HPGL AA íveit G2, G3 ívekké alakítani. Ez a konverzió feltételez némi trigonometriai tudást. Úgy látszik ezt néhány programozó nem tudta megugrani. Néhány próbálkozás után feladtam, hogy valami kész megoldást használjak.
Tehát írtam egy konveretert. Megtalálható a plotter github reojában: https://github.com/sufzoli/suf-3D-Plotter/tree/master/SW/Hpgl2Gcode
Még vannak hiányosságai mint a hiányos hibakezelés vagy az útvonal optimalizáció hiánya, de teszi a dolgát.
Most nézzük meg, hogy működik a munkamenet.
Az eredeti rajz:
Először is a rajz objektumait útvonalakká (path) kell alakítani, másképp nem jelennek meg a HPGL fájlban:
Ha ez kész van elmenthetjük HPGL-ként:
Most jön a trükkös része:
Az InkScape HPGL mentés ablaka kivágó plotterhez tartalmaz alapbeállítáűsokat ami itt nekünk nem jó. Ezért a nagyját meg kell változtatni az alábbiak szerint:
Most átkonvertálhatjuk G code-á.
Két különböző beállítást használtam. Az ok, hogy a plotter M280 P0 S50 parancsot használ a fej felemeléséhez és M280 P0 S0 parancsot a letevéséhez.
A szokásos CNC marók G1 parancsot használnak a Z irány mozgatásához. Az elterjedt G code szimulátor a CAMotics nem tudja értelmezni az én toll magasság vezérlő parancsaimat így a szimulációra lecseréltem ezeket G1 Z5 F50-re és G1 Z-2 F50-re:
Az eredmény a szimulátorban:
Jól néz ki, csináljuk meg a plotterhez is:
Mint látható a PenUp és PenDown paraméterek hiányoznak. Az oka, hogy ezek az application config-ban kerültek elhelyezésre.
Ezek után feltöltöttem a fájlt az Octoprintre és kiküldtem a plotternek. Az eredmény katasztrófális. Rajzolt egy két centis szaggatott vonalat a plotter kezdöpontjából kiindulva az ábra kedőpontja felé, majd lerajzolta az egész ábrát a levegőbe (toll felemelve).
Az első pillanattól kezdve tudtam az okot. Ez azonos a korábban említett problémával (vonal a plotter kezdőpontjától a spirál kezdőpontjáig). A G code-ok nem sorrendben hajtódnak végre.
Tudom a Marlin firmware-ről, hogy bizonyos parancsok sorban, más parancsok viszont soron kívül hajtódnak végre. Néhány órán keresztül olvasgattam a Marlin forráskódját, hogy megtaláljam, hogyan lehet ezt a viselkedést megváltoztatni. Sikertelenül. Feladtam ezen a ponton és megkérdeztem a Marlin fórumon.
A válasz sokkal egyszerűbb mint gondoltam. Ha kiteszünk egy M400-as parancsot (vár a korábbi parancsok befejezésére) a soron kívüli parancsok elé az megoldja a problémát. Még a kódon sem kellett változtatnom, a toll vezérlő parancsaim a konfigurációs fájlban vannak.
Az egyetlen szükséges trükk a töbsoros szöveg kezelése a .Net konfigurációs fájlban. Tehát a paraméter most valahogy így néz ki:
M400 M280 P0 S0
És végül az eredmény:
A monverter amit írtam a KiCAD HPGL kimenetét is kezeli. Egyenlőre csak rajzolásra használható és nem nyák marásra. Ez majd később jön.