sunnuntai 7. tammikuuta 2024

Danfoss sisälämpotilasensorin protokollan ja ThermIQ-ROOM2 toiminnallisuuden emulointi - Part 1/2

Danfoss ja Thermia pyytää jälleenmyyjästä riippuen DHP-pumppujen sisätilan lämpötilasensorista 150-250e (ja ThermIQ-ROOM2 laiteestakin saa maksaa 190e), joten otin projektiksi katsoa, että jospa saisin sen toteutettua itse koodaamalla edullisemmin ESP32-raudalla ja omalla piirilevyllä. Ja kyllähän protokolla ruutupaperin avulla lopulta avautui ja ESP32:ssa riittää tehoja yhtäaikaiseen pumpun ohjaukseen ja emuloituun lämpötila arvojen päivitykseen (ESP32 on dual core, joten pistin lämpötilalogiikan toiseen säikeeseen).

Ja pihvi, miksi haluaa pumppun ohjautuvan esimerkiksi olohuoneessa olevan bluetooth tai zigbee mqtt lämpömittarin avulla on se, että pumppu osaa lenossa säätää lämmityscurvea niin, että pysytään tavoitelämmössä. Kun esim. ennenkuin lämpömittarin otin käyttöön, niin huoneen lämpö saattoi hyppiä 20-27C:n välillä riippuen ulkolämmöstä ja käyrästä mitä joskus muistin vaihdella. Ja taas mittarin käyttöönoton jälkeen on huoneen lämpötila käytönnössä aina pysynyt puolen asteen tarkkuudella tavoitelämmöstä (itse käytän huonekertoimena nelosta, jolloin mittarin ilmoittamiin arvoihin reagoidaan nopeasti). Samalla säästyy sähköä, kun ei huonetta lämmitetä hellelukemiin.

Danfossin manuaaleissa lukee, että sensori kytketään kahdella johtimella pumpussa 303 ja 304 liittimiin. Ja jos yleismittarilla kyseiset pinnit mittaa, niin huomaa, että sieltä puskee AC:ta, joten lopullisessa toteutuksessa ESP32:sen ja pumpun liittimien logiikan väliin pitää pistää optoerotin. Mutta siis ekana protokollan ihmettely. Pistin logiikka-analysaattorin kiinni DC pinneihin, ja otin signaaleista capturet ihmeteltäväksi eri lämpötila-arvoilla. Ja ensimmäiseen muutamaan tuntiin en keksinyt mitään korrelaatiota tai logiikkaa signaaleissa, kunnes yksi kaverini sanoi, että toihan näyttää Manchester-variantilta.


Tämän pohjalta tuli sitten kaverilta eka ruutupaperiversio, joka oli pohjana protokollan selvittelyssä:

Tuon pohjalta löytyi aluksi helpot patternit kuten kolmen bitin aloitus ja kolmen bitin desimaalipilkku, jotka pysyy aina samoina. Signaalit 1=0 ja 01=1, joka muutin omassa ascii print koodissani I:ksi ja _I:ksi vähän kuvaamaan sitä miltä tolpat signaalianalysaattorissa näyttää. Ja sitten piirustelin pari ruutupaperia eri arvoja, jonka perusteella lopulta keksin tavan laskea jokaiselle lämpötila-arvolle matchaavan datan.

Ohessa vielä esimerkki capturet 20.1C ja 20.2C lämpötiloista:


Sitten tarkemmat raapustelut paperille bitti kerrallaan, jonka perusteella näkee, että viisi bittiä ennen desimaalia määrittää kokonaisluvun ja neljä bittiä pilkun jälkeen määrittää desimaalit, ja loput viisi bittiä on tarkistussumma. Dataformaatti kun rajoittaa kokonaisluvun viiteen bittiin, niin silloin max arvo mitä tuolla voi raportoida on 31.9 astetta. Sinällään ei vaikutusta normaaliin toimintaan kun tavoitelämmöt yleensä on 18-25astetta, lähinnä knoppitietona, että jos on hellettä, niin raportoitu ylälämpö pysähtyy tuonne. LSB bitti ekana vasemmalta oikealle.

Työläin osuus tuosta oli keksiä logiikka tarkistussumman laskemiseen. Viimeinen bitti oli helppo kun se meni 1:1 suurimman databitin kanssa. Mutta neljän muun bitin kanssa sai pari tuntia ruutupaperia tuijottaa, kunnes tajusi mistä biteistä otetaan xor negaatio ja mistä ei. Lopulta koodasin itselleni ESP32 toteutuksen Arduino IDE:llä, joka muodosti samanlaiset signaalit ja sen lisäksi sylki sarjaportiin debug visuaalisoinnin I ja _I merkeillä.

Sitten kun lämpötilaprotokollan logiikka oli ratkottu, niin sitten olikin aika siirtyä ESP32sen puoleen. Mulla oli jo perus Arduinolle aiemmin tehty Thermia/Danfoss I2C puolen ohjauksesta toteutus, jonka julkaisin open sourcena ( https://github.com/rainisto/arduino_i2c_orja/ ), joten otin sen pohjaksi toisen säikeen I2C logiikalle ja toiseen säikeeseen pistin uuden lämpötilasensorin gpio pinnien heiluttelu emuloinnin. Samoin koodasin MQTT logiikan vastaamaan ThermIQ-ROOM2 laitetta, jolloin pystyy hyväksikäyttämään jo olemassa olevia Home Assistant ja ThermIQ-web implementaatioita. Samoin säilytin vielä USB serial rajapinnan, joten WiFin rinnalla on edelleen tuettuna USB:n yli tiedonsiirto legacy AT-komennoilla, jos haluaa esim. USB:n yli kerätä ja visualisoida dataa esim. taloLogger-softalla.

Valitsin toteutuksen raudaksi samantyylisen WROOM32 (https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf) pohjaisen Lolin32 OLED näytöllisen raudan kuin ThermIQ:ssakin. Dual core helpottaa elämää, kun silloin voi lämpötilan säie elää omaa elämäänsä. ThermIQ laitteessa on setup prosessi langattoman ja salaamattoman AP:n yli, mutta itse koen sen verrattain turvattomana, joten minun toteutuksessa asetukset, kuten mqtt serverin osoite ja ssid salasana asetetaan terminaaliyhteydellä USB sarjakaapelin yli. OLED näytölle tulostetaan perustietoja kuten dhcp:lla saadun ip numeron, mqtt:n ip:n, ntp:llä haetun kellonajan jne. Jonkin verran sai ihmetellä ArduinoJson kirjaston kanssa, kun se kippasi muistivuotoon, jos timestamppia päivitti tietyllä tapaa. Mutta lopulta keksin tavan joka toimi.

Ensimmäisen toteutuksen testatasin hyppylankaversiolla, jonka jälkeen jo piirsin piirilevyn, jolloin pääsee ylimääräisistä johdoista suurimmaksi osaksi eroon (sarjaportit pitää napata suoraan WROOM32:sta). Eka levy toimi jo oikein, mutta tein siihen vielä muutamia optimointeja sekä tuen vielä optionaaliselle extra usb yhteydelle. I2C Signal lever shifterille 3V3 (ESP32) vs 5V (pumppu) käytin valmista palikkaa, joka helpottaa kolvaustyötä. Oheisessa kuvassa näkyy ekan proton hyppylankaversio ja sitten jo eka piirilevyversio.


Sitten vuorossa vielä kehikon piirtäminen 3D printteriä varten, että tuon saa nätisti kiinnitettyä ilman pelkoa oikosulusta.

Takapuolelle jätin pienen loven, jolloin esp32sen voi resetoida laiteen halutessaan ja voi halutessaan formatoida settings partition (jos haluaa asettaa ssid ja mqtt settingsit uudestaan).

lauantai 31. joulukuuta 2022

Danfoss USB-datakaapelin open source release

Olin 7 vuotta sitten blogipostauksessa tutkinut Danfoss I2C tiedonsiirtoprotokollaa ( https://omakotikotitalomme.blogspot.com/2015/03/danfoss-lampopumpun-salaisuudet.html ), ja vuosien aikana olen myynnyt jokusen lukijan. Mutta viime aikoina minulla ei ole riittänut aikaa vastailla kaikille kyselijöille, joten päätin open sourceta toteutuksen, niin kuka vaan voi edullisesti rakentaa itselleen Arduino Nanolla usb pohjaisen ohjausratkaisun. Samalla kerron spoilerina, että minulla on työn alla ESP32 pohjainen wifi ratkaisu, jossa myös tuki lämpötila-anturin emuloinnille (eli vastaa toiminnallisuudeltaan ThermIQ-ROOM2LP:tä). Tästä tulee blogipostaus kevään aikana.

Ohessa linkki githubiin, josta löytyy koodit, gerberit ja STL malli 3d printattavalle telineelle:

https://github.com/rainisto/arduino_i2c_orja/

Toki minulta taitaa muutama levy olla hyllyssä valmiina, jotka voin myydä, mikäli ei halua itse rakennella. Hyvää ja onnellista uutta vuotta!

tiistai 25. lokakuuta 2022

Elenia Aidon RJ12-kotiautomaatioliitynnän HAN portin lukeminen

Elenia julkaisi tuossa hiljattain, että heidän Aidon sähkömittareiden RJ12 portin avausta voi pyytää ilmaiseksi asiakaspalvelusta.

https://www.elenia.fi/tulevaisuuden-energia/sahkonkulutuksen-mittausuudistus/tietoa-mittausuudistuksesta
https://www.elenia.fi/files/8ce06662fedee10d57bd390e9863a685f73bbb27/elenia-rj12-kotiautomaatioliitynta-21092022-4.pdf

Seskon suosituksessa lukee: "Edellä 1 momentin 3 kohdassa tarkoitetusta asiakasrajapinnasta on saatava RJ12-liittimen välityksellä ASCII-merkkimuotoista tiedonsiirtotapaa noudattaen 10 sekunnin välein tai tiheämmin ainakin sähköverkosta otetun sähkön jasähköverkkoon syötetyn sähkön virran, pätötehon, loistehon ja jännitteen tehollisarvot vaihekohtaisesti sekä mittauslaitteiston kumulatiivinen sähköenergialukema minuutin välein tai tiheämmin, kun verkonhaltija on aktivoinut rajapinnan loppukäyttäjän pyynnöstä" (https://sesko.fi/wp-content/uploads/2022/01/Suositus_SK_13-1_H1_asiakasrajapinta_final_2021dec.pdf)

Joten pistin sähköpostia asiakaspalveluun ja 10 päivän päästä sieltä tuli ilmoitus, että portti on aktivoitu. Yllätys sitten olikin, että luvatun ASCII datan sijasta sieltä portista tuli ulos binääridataa. Vielä ei ole Elenian asiakaspalvelu vastannut, että ovatko vahingossa enabloineet EFS (binääri ulostulon) eikä EFS2 (ASCII ulostulo). Tai tarkoituksella eivät seuraa Seskon suositusta ASCII datasta (tai eivät ole päivittäneet tänä vuonna asennettuun Aidon mittariin uusinta softaversiota). Edit: "asiakaspalvelu@elenia.fi" vastasi minulle sähköpostilla: "Pahoittelut, näissä asiakkaan lisälaitteissa täytyisi olla laitevalmistajaan yhteydessä." Eli eivät tunnustaneet aktivoineensa väärää profiilia minulle (ja eivät muuttaneet sitä asciiksi), vaan vyöryttivät mokansa laitevalmistajan syyksi (sinälläään ihan sama minulle, kun sain tuon binäärimuotoisenkin toimimaan).

Piirtelyn custom piirilevyn ja 3d printattavan koteloinnin, johon pystyy Wemos D1 Minin asentamaan, johon ESPHomella asennetaan lukusofta, jonka sitten liittää langattomasti vaikka Home Assistanttiin.

Tarvittava softa ASCII muotoiselle datalle:
https://github.com/psvanstrom/esphome-p1reader
Conffaus Wemos D1 minin mukaan:
https://github.com/psvanstrom/esphome-p1reader/tree/main#running-on-smartyreader-p1

Semmoinen huomio käyttäjiltä on tullut vastaan, että osassa mittareista, inverted true pitääkin olla inverted false, joten jos tuntuu, että data näyttää väärältä, niin kannattaa kokeilla kyseisen lipun kääntämistä toiseen asentoon.

Ja binääri-muotoiselle löysin toteutuksen internetin syövereistä ja tein sille custom branchin:
https://github.com/rainisto/esphome-p1reader/tree/Elenia_Aidon_v1.2_binary

Joten riippuen, että antaako mittarisi ulos ASCIIta tai binääria, niin joudut valitsemaan kumman firmiksen laitteeseen flashaat. Itse flashasin ekana ASCII version, ja jos ulostulo näyttää tältä, niin silloin mittarisi sylkee binääriä ulos (tai inverted arvo väärinpäin):

Ja sitten, kun olin asentanut binaari branchin itselleni, niin esphomen logi näytti paremmalta:

Sitten vain tein dashboardin HA:lle seuraavaa esimerkkiä seuraten (https://gist.github.com/endor-force/3c9fdf95535423157fa52609ba42d738). Data näyttää kiltisti päivittyvän 10 sekunnin välein, joten kaiken kaikkiaan varsin onnistunut DIY projekti.

Minulla on muutama ylimääräinen koteloitu lukija (rj12 kaapelin kanssa) rakennettuna hyllyssä (25e+4.6e kirjeposti), jos kiinnostaa, niin voi pistää sähköpostia blogin osoitteeseen, pikkuisesta sumup storestani: https://p1reader.sumupstore.com/tuote/koteloitu-p1-reader-rj12-kaapeli tai viestiä tori.fi:n kautta: https://www.tori.fi/vi/121470199.html. Sillä disclaimerillä, että sinun pitää olla tuttu Linuxin kanssa, että osaat ESPHomen flashata laitteeseen (laite tulee ilman firmistä, kun oman verkon ssid ja salasana määritellään flashauksen yhteydessä).

Oheinen ohjeistus voi kanssa helpottaa käyttöönottoa: https://tim.jyu.fi/view/users/vesal/oma/talo/talo/aidon

torstai 23. joulukuuta 2021

Telia 6rd IPv6 putken konffaus pfSense palomuuriin

Telian tarjoma 6rd putken asetukset on tarjolla Option-212 parametrissä DHCP4 vastauksen mukana. Esim Asuksen RT-purkit osaa suoraan konffata 6rd putken dhcp option-212 vastauksen pohjalta, mutta pfSense palomuuri ei osaa kyseistä kenttää kysyä ja parsia ainakaan nykyisessä firmiksessä. Mutta pienoisella manuaalityöllä sekin tieto on kyllä kaiveltavissa.

Ensin pitää enabloida ssh shelli "System / Advanced / Admin Access / Enable Secure Shell" ja loggaa roottina palomuurin sisälle.

Luo filesysteemiin kaksi tiedostoa (esim. vi-editorilla):

/etc/dhclient.script && chmod a+x /etc/dhclient.script
#!/bin/sh
echo $new_option_212 >/tmp/6rd-212.log
/etc/dhclient.conf
request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, option-212;
script "/etc/dhclient.script";
Jonka jälkeen voimme sivusta kutsua dhcpclienttia joka kysyy option-212sen operaattorilta (minulla WAN on igb0).
# dhclient -c /etc/dhclient.conf igb0
# cat /tmp/6rd-212.log
e:26:20:1:20:3:f4:0:0:0:0:0:0:0:0:0:0:0:54:fb:ff:fe
Tästä logirivistä saamme tarvittavat 6rd parametrit yhteyden luomiseksi. Lisätietoa: https://datatracker.ietf.org/doc/html/rfc5969#section-7.1.1 (hex-to-decimal konversio seuraaville kentille: 1,2,19,20,21,22)
e:26:20:1:20:3:f4:0:0:0:0:0:0:0:0:0:0:0:54:fb:ff:fe
0x0e    = 14               (6RD IPv4 Prefix length)
0x26    = 38               (6RD Prefix mask)
0x20... = 2001:2003:f400:: (6RD Prefix)
0x54... = 84.251.255.254   (6RD Border relay)
DHCP palauttaa aina julkisen ipv4 osoitteen pohjalta hieman eri arvot, mutta tuota seuraamalla voit laskea omasta replystäsi tarvitsemasi arvot. Ja pistää ne pfSensen 6rd asetuksiin WAN interfaceen.

Sen lisäksi kävin muuttamassa Monitor IP:n osoittamaan googlen IPv6 nimipalvelinta, niin pystyy paremmin seuraamaan, että onko interface pystyssä.

Tuon kaiken jälkeen ping6 testit toimii iloisesti ja halutessaan voi lisätä vielä IPv6 osoitteen vaikka LAN interfaceen. Valitsemalla "IPv6 Configuration Type":n arvoksi "Track Interface" ja valitaan WAN trackattavaksi interfaceksi. Sekä voit halutessasi tarjota IPv6 osoitteita myös LAN verkollesi.

Ubiquitin Edgerouterille löytyy myös 6rd ohjeistus täältä: https://github.com/kauppine/edgerouter-telia6rd

tiistai 20. heinäkuuta 2021

Home Assistant - Gluehome lukkointegraatio

Olen aikaisemmin Glue-lukko aihetta jo sivunnut aikaisemmassa blogipostauksessa: http://omakotikotitalomme.blogspot.com/2019/09/glue-alylukon-rajapintojen-tutkimista.html

Keväällä Glue muutti mobile applikaation kokonaan ja vanha API urli lakkasi toimimasta. Nopeasti vilkaisin uuden appiksenkin sisälle, ja siellä oli https://mobile.gluehome.com/api/ urli käytössä ja nopealla vilkaisulla löytyi myös mqtt broker hittejä, mikä olisi lupaavaa, jos semmoinen rajapinta joskus aukeasti. Mutta onneksi ei tarvinnut ruveta tarkemmin appiksen toimintaa penkomaan, kun internetistä löytyi uusi semi-official API, kun Homebridgelle oli julkaistu toteutus GlueHome integraatioille (https://github.com/GlueHome/homebridge-plugin). Joten samaa esimerkkiä seuraten voi curlilla tai HA:lla lukkoa komentaa.

# Create/fetch <api-key> with glue <user>:<pass> according to plugin README:
curl --location --request POST 'https://user-api.gluehome.com/v1/api-keys' --header 'Content-Type: application/json' -u <user>:<pass> --data-raw '{ "name": "My Test Key", "scopes": ["events.read", "locks.read", "locks.write"] }'

# Fetch <lock-id> using created <api-key>
curl -L -H "Authorization: Api-Key <api-key>"  https://user-api.gluehome.com/v1/locks

# Test operation <op>=lock/unlock on <lock-id> 
curl -L -H "Authorization: Api-Key <api-key>" -H 'Content-Type: application/json' -d '{"type":"<op>"}' https://user-api.gluehome.com/v1/locks/<lock-id>/operations

Ylläolevilla esimerkeillä voi testata lukon toimintaa, ja samalla voit luoda/pistää talteen oman lukkosi <api-key> ja <lock-id>. Niitä tarvitaan Home Assistantin puolella kun editoit secrets.yaml ja configuration.yaml tiedostoja.

secrets.yaml:
glue_command_on: "curl -L -H 'Authorization: Api-Key ApiAvain' -H 'Content-Type: application/json' -d '{\"type\":\"lock\"}' https://user-api.gluehome.com/v1/locks/123456/operations"
glue_command_off: "curl -L -H 'Authorization: Api-Key ApiAvain' -H 'Content-Type: application/json' -d '{\"type\":\"unlock\"}' https://user-api.gluehome.com/v1/locks/123456/operations"

glue_resource: "https://user-api.gluehome.com/v1/locks/123456"
glue_auth: "Api-Key ApiAvain"
configuration.yaml:
switch varasto_ovi:
- platform: command_line
  switches:
    varasto_lock:
      friendly_name: "Varaston Ovi"
      command_on: !secret glue_command_on
      command_off: !secret glue_command_off
sensor varaston_ovi:
  - platform: rest
    resource: !secret glue_resource
    name: varasto_lock
    method: GET
    headers:
      Authorization: !secret glue_auth
    json_attributes:
      - description
      - batteryStatus
      - lastLockEvent
      - connectionStatus
    value_template: "OK"
  - platform: template
    sensors:
      varasto_lock_last_event:
        friendly_name: Last varasto lock event
        value_template: "{{ state_attr('sensor.varasto_lock', 'lastLockEvent')['eventType'] }}"
      varasto_lock_battery:
        friendly_name: Varasto lock battery
        value_template: "{{ state_attr('sensor.varasto_lock', 'batteryStatus') }}"

Ja HA:n restartin jälkeen lukko löytyy switchinä Overview näytöllä;



sunnuntai 2. elokuuta 2020

HP Elitebook 8560w Bluetooth 4.0 päivitysprojekti

Tulinpas tuossa hankkineeksi edullisesti Elitebook 8560w läppärin huutonetistä (https://support.hp.com/lv-en/document/c02843496). Koneessa 2gen i7 4core prosari, levy päivitetty teran SSD:ksi ja max RAM on 32GB (lähinnä ton läppärin hankin siksi, että tohon sai muistia kivasti). Ainoa isompi puute tuossa koneessa on, että koneen sisäinen bluetooth on 2.1 versiota, johon ei ole olemassa Win10 ajuria.

Hetken vietettyäni aikaa googlen hakukoneessa, kunnes löysin tämän: https://h30434.www3.hp.com/t5/Notebook-Hardware-and-Upgrade-Questions/bluetooth-4-0-module/td-p/5590026

Ebaystä löysin 8470p:sta purkuosana Puolasta edullisesti juuri edellisessä linkissä mainitun BT 4.0 moduulin ja kun kirje saapui viikossa (ja QR-koodin alla on numerosarja, eli on 4.0 moduuli), niin rupesin asennuspuuhiin.

Takakansi irti ja kuva vanhasta moduulista. Toimimattoman BT 2.1 moduulin tunnistaa siitä että QR-koodin alla ei ole numerosarjaa.

Vanhan kaapelin varovainen irroitus ja liittäminen uuteen moduuliin. Oli aika helppo plug and play operaatio.
Ja kun koneen seuraavan kerran boottasi, niin BT4.0 toimii iloisesti, joten voi taas käyttää BT vastamelukuulokkeita yms laitteita.


perjantai 6. maaliskuuta 2020

DIY: Amiga Flashfloppy flashaus FDD-UDD U144K

Tilasinpas itselleni Amigaan halppisversion (pari euroa edullisempi kuin normi versio) Gotekista ilman näyttöä (kun yleensä heitän kolmen numeron näytön menemään ja pistän oled näytön tilalle). Mutta yllätyksekseni postiluukusta tipahtikin Gotek, jossa oli täysin eri pcb kuin mihin olin tottunut.

Onneksi en ollut ainoa joka moiseen on törmännyt: https://github.com/keirf/FlashFloppy/issues/232

Tuota githubin issueta tavaamalla onnistuin lopulta flashaamaan FlashFloppy firmiksen Gotekkiin sisään. Tässä vähän toivottavasti selkeämpiä kuvia (jossa pinnit kirjoitettu auki), jos joku muukin moisen ongelman eteen joutuu.

Tarvittava rauta: kahden euron stm32 flasheri ebaysta, esim hakusanalla "st link v2"
Tarvittava softa, jos haluaa Windowsissa flashata: https://www.st.com/en/development-tools/stsw-link004.html

Tässä pinnit kirjoitettuna auki, jonka jälkeen ST-link v2 on helppo kiinnittää oikeisiin pinneihin. Kirjoitin tuohon myös miten ne mappaantuu normaaliin Gotekkiin.

Itse kytkin NRST signaalin virtaliittimen GND napaan automaattisen flashauksen aloittamiseksi dupont kaapelilla. Ei tarvi kuin hetkellisesti koskea, että käy resetissä kun on automatic flashing moden käynnistänyt, jolloin flashfloppy flashaantui iloisesti paikoillen. Ja OLED näyttöön ilmestyi tuttu FlashFloppy teksti.

lauantai 25. tammikuuta 2020

DIY: solder paste stencil kokeilu

Bongasin, että maailmalla ihmiset olivat tehneet itselleen solder paste stencilejä (juotostina sapluuna) Silhouette- ja Laser-leikkureilla. Joten siitä se idea sitten lähti. Bongasin Lidl:stä muutaman metrin rullan blackboardfilmiä (liitutaulutarraa) vitosella, joka riittää sitten yli sataan stenciliin, jolloin yksittäisen stencilin hinnaksi jää sen 5 senttiä.

Minulla löytyy nurkista Silhouette Cameo 3 leikkuri sekä laser & cnc kaiverrin. Molemmilla varmaan olisi sopivalla materiaalilla onnistunut stencilin teko. Mutta Cameolla testasin kun se leikkaa iloisesti tuota tarramateriaalia.

Otin piirilevystäni (Commodore Amiga 500 lisämuistipalikka) sopivan gerberin ulos seuraavaa ohjetta noudattaen: https://www.autodesk.com/products/eagle/blog/getting-started-solder-paste-stencils/. Ja siitä sitten convertoin leikkurin ymmärtämään muotoon.


Leikkuri leikkasi materiaalin aika nätisti ja se pysyi ehjänä vaikka reikien väli on alle millimetrin.


Vanhalla luottokortilla vetelin juotostinamassan sapluunan yli. Ja lopulta viimeisessä kuvassa muistipiiri kiinni nätisti levyssä kuumennuksen jälkeen. Paljon siistimpi jälki kuin niissä joita olin tehnyt ennen sapluunan käyttöä.

perjantai 6. joulukuuta 2019

Rex 9268 External kernal cartridge klooni - Commore 64 DIY

DL2DW suunnitteli REX9628 Extern_kernal cartridge kortin. Ja vanhana Commodore fanina, tein sitten itsellenikin muutaman ihan vaan mielenkiinnosta.

Lisätietoa ja gerberit, jos haluaa itsekin tehdä: https://github.com/rainisto/REX-9628-Extern-Kernal-II-8

Kuukauden verran kun odotteli osia kiinasta, niin pääsi vihdoin kolvailemaan kasaan.

Kone boottasi kernaliin joka dip kytkimille oli valittu. Semmoinen ominaisuus tuossa on, osa muistissa on käyttämättömissä jos ei koneen sisältä CPU:n pinnistä 28 lue HIRAM signaalia (sen voi halutessaan liittää kortin CS reikään).

Samoin Sven on tehnyt oman version samasta kortista täällä: https://github.com/svenpetersen1965/REX-9628-Extern-Kernal-8

lauantai 30. marraskuuta 2019

Suurennuslasivalaisimen modaus (E27->LED)

Minulta löytyy anopilta saatu E27 kantainen suurennuslasivalaisin viime vuosituhannelta, jonka hehkulamppu lämpenee 100+ asteiseksi ja joka ei valaise kunnolla. Joten otin projektiksi modata sen nykyaikaan kirkkailla 12V ledeillä. Ekana meinasin banggoodista tilata BlackFriday kunniaksi uuden led pohjaisen suurennuslasivalaisimen, mutta checkoutissa heidän systeeminsä jumitti, joten saivat pitää tunkkinsa kun ei raha kelvannut. Joten päädyin parantamaan anopin lahjoitusta.

Ensiksi purin E27 kannan ja jätin virtakytkimen jäljelle:

Purin yhden 220V->12V virtalähteen ja pistin sen vanhan E27 koteloinnin sisällä. Ja asentelin sopivasti rullassa leikattavaa 12V ledinauhaa suurennuslasin ympärille ja yhden suiron vielä takaosaan.

Ja lopputulos on parempi kuin hyvä, lamppu ei lämpene ja valotehoa on enemmän kuin kuva antaa ymmärtää (moninkertaisesti verrattuna vanhaan). Vihdoinkin vanhat ja raihnaiset silmäni näkee kolvata tuossa valossa. Onnistunut modaus, osien hinta alle 10e.