2019. július 14., vasárnap

GP-IB 3.

Több mint két hónap telt el mióta írtam a GP-IB adapter projectemről.
Ebben a két hónapban sok minden történt:
Hardver:
Átterveztem a penelt egy picit (v1.1). Az új verzió egy picit trükkös. Eredetileg anya típusú csatlakozót használtam, ami nem ideális, miután nem lehet közvetlenül a műszerekre csatlakoztatni, csak kábellel. Az ok: elsőre csak ilyet találtam emberi áron. Később tovább keresgéltem, és mostmár van apa típusú csatlakozóm. Nem akartam túl nagy energiát belerakni az újratervezésbe, így csak egy opciót adtam hozzá, hogy az USB csatlakozó átfordítható legyen a panel másik oldalára.
Így, ha a panelt anya GP-IB csatlakozóval ültetjük be, mindkét csatlakozó az alkatrész oldalra megy, ha pedig apa csatlakozóval akkor mindkét csatlakozó a forrasztási oldalra megy.
A panelt még nem rendeltem megy, mert más projectemmel akarom kombinálni.
Git:
Átszerveztem a project repoját. Van hozzá publikus és privát repóm. A publikus a project megosztását szolgálja, a privát a munkát rajta. Jelenleg a publikus repóban csak a hardver tervek vannak (több dolog jön még). A tervek keresztűl mentek a szép, új KiCAD csomagolómon. Ez legalább a kapcsolási rajzot olvashatóvá teszi bárkinek. Cím: https://gitlab.com/suf/suf-electronics-gpib
Szoftver:
A szoftver téma kicsit zavaros lett.
Vannak bajaim az eredeti forráskóddal:
1. Az eredeti licensz "inkompatibilissé" teszi a szoftvert a saját hardveremmel
2. Minél többet olvasom a forráskódot, annál kevésbé szeretem. Az egyetlen .ino fájl használata egy növekvő projecthez, olvashatatlanná, karbantarthatatlanná teszi a projectet számomra.
3. Sok minden hiányzik a megvalósításból.
Elkezdtem írni egy teljesen új szoftvert a problémáim alapján. Sajnos nem néztem szét eléggé körültekintően szoftverért. A saját megvalósításom több mint 50%-ban kész volt (nagyjából már működik) amikor Szigeti Szabolcs e bejegyzésem https://www.facebook.com/groups/muszerek/permalink/2481846092072731/ megjegyzéseiben rámutatott, hogy egy másik megvalósítás is létezik: https://github.com/Twilight-Logic/AR488
Még nem teszteltem, de úgy néz ki, hogy megoldja a problémáim jó részét:
- A szerző (szerencsés egybeesés) ugyanazokat lábakat választotta az eredeti megvalósításból hiányzó jelekhez (REN, SRQ) mint én. Ez azt jelenti, hogy a szoftvernek módosítás nélkül működnie kell az én hardveremen.
- Benne van a legtöbb hiányzó funkció.
Ettől függetlenül a kód struktúrával kapcsolatos fenntartásaim megmaradtak (ez mostmár több mint 3000 sor egyetlen fájlban)
Tesztelni még nem volt időm, de ha megfelel arra a célra, amire használni akarom, lehet, hogy kidobom a saját kódomat (vagy legalábbis elhalasztom a folytatást). Esteleg kicsit gatyába rázom a jelenlegi állapotot és ebben az állapotban publikálom.
Következik:
- Kipróbálni amim most megvan.
- Megrendelni és megépíteni a javított tervet.
- Dönteni a project további sorsáról.

2019. július 13., szombat

KiCAD csomagoló

Ahogy azt már korábban említettem itt: http://it-pro-hu.blogspot.com/2019/07/esemenyek-lancolata.html, elkezdtem írni egy programot ami megoldja a problémákat amikbe rendszeresen belefutok, amikor meg próbálom osztani a terveim.
Kiraktam egy működő (valószínüleg bugos, és hiányos verziót) ide: https://gitlab.com/suf/packagekicad. Ha akarod használni a 0.2Beta taget érdemes.
Ez képes arra, hogy egy új symbol könyvtárat (a többi később jön) építsen az aktuális környezetből, az összes az aktuális tervben használt alkatrésszel, majd lecserélje ezeket a terv fájlban. Tehát, amikor mozgatjuk a tervet akár verziókövető rendszeren keresztül, akár más módon, bárki ki tudja nyitni a tervet annélkül, hogy hiányzó alkatrészekbe futna. Igen, a rescue lib majdnem ugyanezt csinálja, de felesleges kérdéseket tesz fel, ha hiányzó alkatrészt talál, és sajnos a neten publikált KiCAD gitignore fájl, pont kizárja azt a cache libraryt amit a rescue használ. Ezen túl, ez a megoldás a könyvtár upgrade-eket is kezeli (még nem teljesen).
Doksi sajnos még nincs. Tehát itt a cucc használata:

dotnet PackageKiCAD.dll <project név/mappa>
Options:
-R Rekurzív
-cl Törli a likális symbol könyvtár táblát. Csak a csomagolt könyvtár marad a listán.

Én TortoisGIT-et használok a projectjeimhez. Ez megengedi, hogy automatizáljuk a "csomagolást".
Tehát a project becsomagolódik, még a git commit előtt, ha megfelelően konfiguráljuk.
Itt van a hogyan:
Megnyitottam a TortoiseGIT felületét és kiválasztottam a Hook Scripts menüpontot:


Hozzá adtam az új scriptet:


A "Run when working tree path is under"-nek a szóban forgó repository root könyvtárára kell mutatnia. Ennyi.

A további fejlesztés útban.

2019. július 9., kedd

DC SSR 1.

Ezzel a cik(ek)kel már régen tartozom magamnak.
Különböző fórumokon rendszeresen feltűnik, a "milyen DC SSR-t" vegyek kérdés, vagy ennek módosulatai. A rövid válasz: semmilyet.
Kicsit hosszabban (most így saccra sok részes cikk lesz belőle):
Először is nézzük meg mi az az SSR (Solid State Relay - vagy Szilárdtest relé).
A szerkezet a mechanikus relé kiváltására született. A következő tulajdonságokkal rendelkezik:
- Galvanikusan leválasztott
- Mind a vezérelt, mind a kapcsolt oldalon kétpólus
- Széles bemenő feszültségtartomány
- A relével szemben, nincs mechanikai kopás
- Zajmentes
- A mechanikus relénél nagyságrendekkel gyorsabb
- Az AC verziói, típustól függően nullátmenten kapcsolnak
Amit most vizsgálok, az ennek a DC verziója. Első nekifutásra a filléres, mindenhol hozzáférhető darabokból indulok ki. Egy ilyet korábban szét is szedtem:
http://it-pro-hu.blogspot.com/2014/07/fotek-ssr-40dd-szetszedve.html
A Fotek ide vonatkozó szériájának az adatlapja itt található:
http://www.fotek.com.hk/solid/SSR-3.htm
(Halkan jegyzem meg, hogy nagyjából minden az eBay/Aliexpress vonalon kapható Fotek DD relé hamisítvány, ugyanakkor amit írok az az eredetire is vonatkozik az adatlapon található rajz alapján)
Itt van egy rajz ami mutatja a szerkezet belső működését:


Hogy megértsük mi ezzel a baj, vegyünk egy tipikus felhasználási próbálkozást: egy 3D nyomtató fűtött ágyának a kapcsolását. Legyen mondjuk az ágy 12V és 120W azaz 10A.
A kimenő oldalon lesz "némi" feszültségesés. Nézzük meg, hogy ez mennyi. Ha felületesen nézzük azt hihetjük, hogy a Q2 Vcesat feszültsége lesz ez a feszültségesés. Ami esetünkben mondjuk tipikus 0,8V (ok, ha más tranzisztort választunk, ez még kissebb is lehetne - akár 0,2V).
De sajnos a helyzet nem ilyen jó. Miután az áramkörben a kapcsolt oldalon a J2 1-2 pólusai közötti feszültég a maximum ami bárhol előfordulhat az áramkörben. Nézzük meg, hogy ez mennyi lehet:
1. U1 Vcesat + Q1 Vcb = 0,25V + 0,6V = 0,85V
2. Q2 Vcb + Q1 Vcesat = 0,6V + 1V = 1,6V
A fenti kettőből a nagyobb lesz a minimális feszültségesésünk. A jó Fotek relén 2V-ot mértem az ideális 1,6V helyett.
Ez a fenti összeállításban 20W veszteséget produkál. Hát nem épp ideális.
Mi ennek az alapvető oka? Az, hogy a kapcsolt oldalon a működési elvből adódóan nem áll rendelkezésünkre külön tápfeszültség. Ha rendelkeznénénk ilyennel - mint ahogy a gyakorlati problémák jelentős részénél rendelkezünk - le tudnánk menni a Q2 Vcesat feszültségéig, csökkentve a veszteséget (vagy MOSFET alkalmazásával még ennél is jobban)
Akkor most nézzük meg a bemeneti oldalt.
Azt írja a Fotek dokumentáció, hogy 3-32V feszültségről lehet használni.
A fenti kapcsolásban az R1 1,5K értékét nem az eredeti bontott eszközből vettem, hanem számoltam az adatlapból. Nézzük meg, hogy mit produkál ez 3, és mit 32V-on:
Az optocsatolóban alkalmazott LED nyitófeszültsége 1,2V.
Ez 3V-on ((3V-1,2V)/1500ohm) = 1,2mA-t jelent, 32V-on pedig ((32V-1,2V/1500)=20,5mA-t.
Ami az optocsatoló 20% minimális CTR értéke mellett azt jelenti, hogy 3V bemenő feszültségnél az optocsatoló maximális kollektor árama 6mA 0,24mA lesz. Ha az abszolult maximumokkal számolunk:
Q1 hFE = 200, Q2 hFE = 15, tehát 6mA 0,24mA x 200 x 15 = 18A 720mA. Ez a kapcsolás elméleti maximuma 3V kapcsoló feszültség esetén. De ezt biztosan nem fogjuk elérni (a Q1 betája nem lesz 200, az optocsatoló pedig nem fog 20% CTR-t produkálni).
Csak remélni tudom, hogy az optocsatoló ennél a 20%-nál jobbat produkál, mert ez így elég sovány. 
Némi konkluzió a cikk első részéhez:
Nem érdemes DC SSR-t használni, ha rendelkezésünkre áll a kapcsolt oldalon tápfeszültség, vagy nincs szükség galvanikus leválsztásra. A vezérelt oldal alacsony árama egy konstrukciós hiba az adott kapcsolásban, jobb tervezéssel kiküszöbölhető lett volna.
Folyt. köv.
A következő részben némi méréssel próbálom alátámasztani a fentieket.

2019. július 7., vasárnap

Események láncolata

Mindíg elgondolkozom azon, miért kezdek bele több projectbe mint amit befejezek.
Az egyik ok, az "Események láncolata". Belekezdek valamibe, kiderül, hogy valami hiányzik belőle, a hiány új projectet szül, majd abból is hiányzik valami - újabb project és már meg is született az események láncolata.
Van jónéhány nyitott dolog és semmi sincs befejezve.
Nézzük az aktuálisat:
Újra akartam gyártani a zene lejátszó környezetemet. Az első jelút a bakelit lemez lenne.
1. Megjavítottam a Mission 705-ös hangfalaim keresztváltóit (kicseréltem egy pár őskövület Tesla kondit)
2. Megjavítottam a NAD 5120-as lemezjátszóm (kidobtam a növesztett kábelét, RCA aljzatokat kapott, kicseréltem a szíjjat, beállítottam a karliftet)
4. Ez az a pont ahol az "események láncolata" elindul. Az jutott eszembe, hogy meg akarom mérni a korrektor átvitelét mielőtt bekötöm a rendszerbe. Vettem egy HP 8903B Audio Analizátort (nem csak ehhez a projecthez, ez már régen tervbe volt véve).
5. NT1. Van egy rakás műszerem, de valahogy sosem kellett PC-hez kötnöm ezeket mindeddig (gondolkoztam rajta, hogy majd egyszercsak). Grafikonok rajzolása a 8903B-ből ennélkül viszont nem megy. Sajnos nem találtam olyan GP-IB interfészt a piacon ami tetszett volna, tehát megszületett az első "nem tervezett" project. Találtam egy Arduino alapú megoldást, de abszolult utáltam a hardver megvalósítását, így terveztem hozzá saját hardvert  (http://pakahuszar.blogspot.com/2019/04/gp-ib.htmlhttp://pakahuszar.blogspot.com/2019/04/gp-ib-2.html)
NT2. Nem tetszett az interface szoftvere sem, sem a megvalósítás, sem a licensz. Tehát elkezdtem írni egy teljesen új szoftvert nulláról (még nincs kész, de lassan már tesztelhető lesz, ha nem landol ez is a befejezetlen projectjeim listáján, mint sok más korábban).
NT3. A bejegyzéseimre reagálva valaki megkérdezte, hogy nem akarom-e árusítani a GP-IB interface-t amit csináltam. Elkezdtem gondolkodni - miért ne?
Ha árusítom, korrektül akarom kezelni a hardver terveket és a szoftvert. Nem akarok befejezetlen terveket, vagy szoftvert publikálni, tehát felépítettem magamnak egy git branching modelt, hogy ezt el tudjam érni. Itt újra felszínre került egy régi gondom. A KiCAD alkatrész könyvtár kezelése horror. A hardver terveimet külső függőségek nélkül szeretném publikálni (Ez alatt azt értem, hogy ha valaki megnyitja a kapcsolási rajzomat, az igazi komponenseket kapjon és ne dobozokat kérdőjelekkel). Megpróbáltam használni a KiCAD archive plugin-ját. Sikertelenül. Beregisztráltam, de el sem indult. Egy pár nap keresgélés, kérdezősködés után sem lett eredménye.
Tehát megszületett a Nem-Tervezett-3 project. Írni egy alkalmazást (nem KiCAD plugin-t) ami automatikusan kezeli a káoszt a hardver projectjeimen (.Net Core 2.1-ben kezdtem el írni, van is valami előrehaladás, de ez egy későbbi bejegyzés témája lesz)
Na szóval. Ez az egyik módja, hogy befejezetlen projectek szülessenek.

2019. május 12., vasárnap

Az ország vízszerelője - újra akcióban

Tavaly Októberben megfogadtam, hogy nem szerelek mégegyszer vizet. Persze nem tartottam be. Kár volt.
Bevezetés
Az elmúlt hónapokban egymás után két csap adta meg magát a házban. A konyhában a mosogató zuhanyfeje el kezdett szivárogni. Rendszeresen kinyomta az a fekete gumi kupakot ami az átkapcsolót fedi. Tizen éves, cserére érett.
A másik a fürdőszobai mosdó csaptelepe, ami el kezdett csöpögni. Szakember szerint kikopott a kerámia golyó. A gyártó majdnem új áron újítja fel, így ez is csere. Ezért különösen mérges vagyok, nem hiszem, hogy egy horror árú hansgrohe csaptelepnek, akár tíz év után is ki szabadna múlnia így.
1. Rendelés
2019.04.14.
Sokáig húztam, halasztottam, majd végre megrendeltem a két csapot, valamint a mosdóhoz lefolyót is, mert más rendszerű kellett.
2019.04.16.
Kiderült, hogy a mosogató csaptelep amit választottam megszűnt.
2019.04.17.
Megrendeltem egy másik mosogató csapot, de máshonnan.
2019.04.19.
Bementem a csapért a boltba. Nem figyeltem, a leeresztő még nem volt ott, így nem is hoztam el. Ugyanakkor felhívták a figyelmem, hogy a választott leeresztő nem jó, ha a mosdónak van túlfolyója. Persze van.
2019.04.27.
Szombat - Kihozták a mosogató csapot.
2019.04.28.
Végre eljutottam oda, hogy lecseréljem a leeresztőt a rendelésben.
2. Szerelés - első kísérlet
2019.04.29.
Jött a víztisztítóval foglalkozó úr, mert annak is cserére érett a csapja. Szilvi megbeszélte vele, hogy egyúttal a mosogató csapot is cseréli. Hát ez nem jött össze. A csap hibás. Az egyik flexibilis csőnek kétszer sikerült menetet vágni a gyárban, így a hozzáadott cső átesik a meneten. Nem nyert.
Ez remek, lehet újra időpontot egyeztetni, kiszállást fizetni.
Gyorsan fel is hívtam a céget, hogy csere. Nem tudtam beszélni az ügyfélszolgálattal. Azt ígérték, hogy majd visszahívnak. Ez másnap történt meg, de már azzal hívtak, hogy megrendelték a csere darabot és várhatóan május 9.-én érkezik be. Le a kalappal, ritka ez a hozzáállás.
3. Rendelés - folytatás
2019.05.06.
Szilvi elment a mosdó csapért és a lefolyóért
2019.05.11. - Tegnap
Hozták az új mosogató csaptelepet, vitték a hibást. Újabb piros pont. Sem piszkálni nem kellett őket, sem valami lehetetlen helyre elmenni a cuccért.
3. Szerelés - második kísérlet. Mostmár én
2019.05.12. - Ma
Reggel szétszedtem az egész konyhai miskulanciát. Elkezdem összerakni. Kiderült, hogy a melegvizes flexibilis cső túl rövid.
Barkácsbolt 1. - Szatmári
Itt van melletünk a bolt, Szilvi megnézte, hogy nyitva van. Odamentem, lepattantam az ajtóról.
Délelőtt már nem tudtam máshova elmenni. Szilvi megígérte, hogy hoz 50 centi hosszú bekötőcsövet hazafelé.
Barkácsbolt 2. - Obi
Hazaért a bekötőcső. Nem nyert. Kiderült, hogy ugyan mind a hossza, mind a két menet mérete jó, de nem lehet a csap talpán lévő lyukon áttuszkolni.


Újra barkácsbolt
Barkácsbolt 3. - Bauhaus
Hoztam csövet is ami gyanúsan jó, toldót is, hátha mégse jó.
Persze a cső nem ment át a lyukon. Nagy büszkén előrángattam a toldót, majd pofára estem. Persze, hogy mindenből felest hoztam háromnyolcados helyett.
Ekkor így nézett ki a helyzet:



Autóba vissza.
Barkácsbolt 4. - Obi
Hosszú csőről nem is álmodtam. Hoztam toldót. Ez már jó.
Összeraktam az egész konyhai cuccot. Elégedetten hátradőltem. Egy kész, jöhet a következő.
A fiam segítségével összeraktam a mosdó csaptelepet. Kötném be.
Hogy az a jó büdös egy centi. Rövid az a kib... bekötőcső.
Még épp csak délután 5 (6-kor zárnak) Autóba be.
Barkácsbolt 5. - Obi
Újabb két toldó. Ez már eleve jó méret.
Hazajön, beköt, elpakol, örül.

Tanulság: tényleg nem kéne vizet szerelnem.



2019. május 11., szombat

Parkside

Viszonylag kevés Lidl-ös Parkside csodát sikerült eddig begyűjtenem. Ezek között van az oszlopos fúrógép. Épp legújabb projectemen dolgozom (a cuccról később), amin nem kevés mechanikai munka van. fúrogatom ki a darabjait, egyszer azt veszem észre, hogy ha megnyomom a bekapcsoló gombot, csak addig forog amíg nyomvatartom.
Na gratula, szétment a relé.
Elkezdem szétszedni, hogy megnézzem. Hát erre a kikapcsoló nyomógomb rugója lelő.
Hát remek. Szétesett az egész szerkezet:


A legszarabb dzsunka minőség.
Végigtúrtam a netes kínálatot. Persze ilyen méretű nincs, átépíteni meg nem akarom. Most várhatom, hogy Kínából ideérjen. A plusz szívás az egészben, hogy az itthon lévő proxxon, meg dremel cuccok alkalmatlanok aluminium fúrásra (hacsak el nem kezdem locsolni).

2019. április 29., hétfő

GP-IB 2.

A panelek megérkeztek egy pár napja.


Elkövettem egy pár, nem végzetes hibát, továbbá látok némi továbbfejlesztési lehetőséget is:
  • Kozmetikai: a panel feliratát rossz rétegre tettem
  • Rendelés: csak 5 darabot rendeltem (azt hiszem a 10 ugyanannyiba került volna)
  • Továbbfejlesztés: A panelen mama IEEE-488 csatlakozó van. Némi módosítással alkalmassá tehető papa csatlakozó fogadására is.
  • Továbbfejlesztés: Megfelelő rögzítő lyukak
  • Továbbfejlesztés: leválasztás (némi nyomozást igényel, hogy szükséges-e)
  • Továbbfejlesztés: puffer + busz védelem

A hétvége során megépítettem és kipróbáltam


A CH340G USB Soros átalakító első próbálkozásra működött.
Az ISP csatlakozó az első próbálkozásra működött - feltöltöttem az Arduino bootloadert.
A szoftver lefordult és sikerült feltölteni gond nélkül.
A kommunikáció a terminál emulátorból a firmware-el ment gond nélkül.

Akkor most kell valami műszer, hogy kipróbáljuk.
Ahogy korábban említettem, azért építettem ezt a csatolót, hogy a HP Audió Analizátorommal használjam. Ez az eszköz nem épp egy olcsó darab, ha egy itthoni laborról beszélünk, tehát nem akartam feláldozni az első tesztre. Van pár HP 3478A multiméterem kéznél. Kettő ebből nem is része a műhelyberendezésnek.
Tehát megpróbáltam beszélgetni vele.
Félsiker:
Ha az eszköznek küldök valami parancsot, nem csinál semmit.
Ha viszont küldök egy ++read parancsot, visszaküldi az értéket ami az eszköz kijelzőjén éppen látható.
Elkezdtem gondolkozni, hogy mi lehet a probléma.
Az eredeti tervben a GPIB 17-es lába (REN - Remote Enable) közvetlenül a földre van kötve. Az én kapcsolásomban az egyik processzor lábra került, hogy a projectet tovább lehessen fejleszteni. Természetesen az eredeti firmware ezt nem kezeli. Tehát hozzáadtam egy pár sort, hogy földre húzzam a REN lábat. Ettől az egész elkezdett működni.


A project sikeresen elérte az első célját. A panel rajzai itt találhatóak:
[Update 2019.06.26] A repó tartalmát egyenlőre visszavontam. Amint befejezem a rendrakást benne, újra kikerül
https://gitlab.com/suf/suf-electronics-gpib

A szoftver tulajdonos által alkalmazott licensz, nem engedi a forráskód módosítást, megállapodás nélkül. Ezért sem az eredeti, sem az általam módosított forráskódot nem publikálom. Tervezem, hogy felveszem a kapcsolatot a szerzővel, hogy megvitassuk a licenszt.

Végül, de nem utolsó sorban:
Köszönetet mondok Emanuele Girlandonak a nagyszerű munkájáért.