Oikeastaan syy päivittämättömyyteen ei ole laiskuus.
Olen ahkeroinut työpaikalla... hmm okei..seliseli
Ja toinen syy on se että defaultti. 32milsin eli 0.81mm reikä on liian pieni AD7705:n jaloille (normi piikkirima menee itseasiassa ihan ok..)... Tai itseasiassa tiukka. Reikä pienenee kun se läpikuparoidaan. Jotkut piirilevyvalmistajat kompensoivat asiaa tulkitsemalla piirustuksissa olevan reijän tarkoittavan poran kokoa ja toiset loppureijän kokona (tarkoittaa sitä että annual ringiä pitää olla tarpeeksi jotta suuremman poranterän jäljiltä jää tarpeeksi kuparia)
. Juu tiesin tämän "aloittelijan virheen". Tai ei se ole aloittelijan virhe. Väärin menee jos arvaa kumminpäin menee. (okei, oikeat elektroniikkasuunittelijat saattavat olla eri mieltä)
Tämä ei kuitenkaan ollut showstopperi. Saa sen AD7705:n sopimaan siihen ihan ok.
Suurempi pulma tuli sen jälkeen kun modasin AD7705:n differentiaaliseksi. En tiedä missä fiba, mutta jostain syystä lukurutiinini lakkasi toimimasta. Myös esimerkki python softa kenkkuili. Tosin vikaa voi lähteä hakemaan siitä että ajoin aiemmin AD7705:sta raspberrypi zerolla ja nyt pi3:lla.
Epäilen myös että olen onnistunut jotenkin käräyttämään AD7705:n.0
Ettäs näin rautamaassa :( Kiva kun ei ole oskiloskooppia eikä logiikka-analysaattoria. Pimeässä hapuillaan, mutta sokeakin kana jyvän löytää.
Vahvistimen kolvailun kanssa oli kaikenlaista kuprua... kapillaari tuppasi vetämään tinaa helvetin pienen oparin jalkojen väliin... hoksasin että meikäläisellä ei ole kotona tinaimusukkaa ja jousitoiminen tinaimuri ei pysty
![]() |
| No voi helvettiläinen.... |
![]() |
| Kyllä se siitä lähti monisäikeisellä johdolla, pildeman paskalla kolvilla ja sisulla |
Oma lukunsa oli tietenkin kotelon modaaminen. Pinnoite piti krapsia jotta koteloon saisi maadoittumaan.
Yleisestiottaen raudassa ei ole suurempia mokia, tän kanssa voi elää ja kehittää. Julkaisen kuitenkin vasta seuraavan iteraation julkisesti, kun itsellenikin selviää miten esimerkiksi vahvistin kannattaisi koteloida. Tai että onko AD7705 oikea valinta.
Raudasta
Fokus on ollut AD7705:ssa.
Olen myös kehittänyt low level softaa jolla voisi päästä koeponnistamaan ilgalloa.
![]() |
| koeponnistussofta AD7705:lle...kunhan toimisi |
Hahmottelin raspin hattia ja totesin että ehkä siitä ei kannatakkaan tehdä raspi-hat form-factor tyyppistä levyä. Levy tulee olemaan silti kiinni raspberryssä, koska en pidä ylimääräisistä isoista lattakaapeleista.
Noin mekaniikkasuunittelun kannalta olen hahmotellut päässäni astetta turvallisempaa koteloa tasmanian tuholaiselle. Sellaista jonka voisi
- Estää häiriötilanteessa oheisvahingot ihmisille, eläimille ja omaisuudelle
- pyörivä kappale päättääkin haluta olla epäkesko.
- Kiinnittää laitekotelon seinään ja mahd kattoon (värinävaimennus tärkeää? koska äänekäs)
- Poistoilma jäähdyttäisi moottoria
- myös riski, poistoilma voi myös liata tai mahd jopa kastella moottorin
- mietin jonkinlaista "träppiä" minne tangentin suuntaan lentävät pisarat yms tauhka kertyisi
Totesin tasmanian tuholaisen tärisevän älyttömästi, joten pärisevien osien eristämiseksi väliin on pakko laittaa joustava kumiletku. Toinen pää ankkuroidaan tasmanian tuholaiseen ja toinen pää vedonpoistoon alustaan joka ei ole jäykässä mekaanisessa yhteydessä pumppuun
Tämä letku litettäisiin kappaleeseen jossa olisi ionikaappari.
Ionikaappari sisältäisi paineanturin ja keräyselektrodit. Samaan syssyyn voisi integroida myös FAIMS elektrodit.
Vaihtoehtoja on monia. Ihan näyttämisen halusta haluan tietenkin esitellä mahdollisimman omapäisen idean :D Ionien kaappauksessa on suht paljon vapauksia (faraday cup tyyliset) mutta FAIMS pakottaa siihen että kenttä on homogeeninen. Vaihtoehtona planaari tai koaksiaali (suurisäteinen koaksiaalikenttä).. joita käytetään esim massaspektrometrien suodatinratkaisuissa.
Softasta
Softa tullaan koodaamaan ydinosiltaan golang:lla
Ai miksikö? Koodattaessa matalan tason userland-softaa C olisi ollut vaihtoehto. C++:aa taasen vihaan (koska mielestäni kukaan joka ei tee C++ softaa lähes 100%:sti kokopäivätyönään, tuottaa kokemukseni mukaan paskaa C++:aa..lisäksi C++:n tuottavuus on varsin heikko).
Sensijaan golang on kielenä varsin mukava. Sellainen millainen C++:sta olisi pitänyt tulla. Jos osaat C:tä, osaat melkein golangia. Kieli jolla paskakin ohjelmoija kykenee tuottamaan hyvää koodia... ja vieläpä tekemään asioita konkurentisti. Softan on toimittava konkurentisti jos tarkoituksena on lukea rautaa, ohjata rautaa ja kommunikoida verkkoon ilman että jossain alkaa tökkimään.
Nodejs:lläkin onnistuisi konkurenttien ohjelmien toteutus suht helposti... Mutta golangin eräs hienoimmita piirteistä on se että se on käännettävä kieli.... ja ristiinkääntäminen vaikka ARM:lle käy flagiä muuttamalla.
GOARCH=arm GOOS=linux go build
Ja loppqutuloksena on binääri joka pyörähtää raspberryssä. Ei tarvitse arpo makefilujen avulla kun go get:llä saa ongittua riippuvuudet.
Linuxissa pyörivässä kääntäjässä on se hauskus että sillä kääntää helposti myös windows-wammaisille binääreitä, mutta windowsissa pyörivää golang kääntäjää ei niin helposti saakkaan kääntämään linuxille :D
Suosittelen tutustumaan! https://golang.org/
Softa-arkkitehtyyri, tai ideologia
Tarkoituksenani on kehittää avoimen lähdekoodin FAIMS nestemittalaite. Ensisijassa laite, mutta softa tulee olemaan välttämätön paha. Kehitän softan, jotta projekti ei lässähtäisi pelkäksi akateemiseksi prototyyppi-puuhasteluksi. Tarjoan pohjan jonka päälle omien mittalaiteratkaisuiden kasaaminen käy helposti. Softasta tulee modulaarinen sekä mahdollisimman rauta ja käyttöjärjestelmäriippumaton ratkaisu.
Jos vituttaa käyttöliittymä, raspberryn rasbian .. Tai vaikka haluat kasata mittalaitteen ATX-PC koneen koteloon ja tehdä raspberrystä vain usb-GPIO-SPI-I2C expanderin niin ei ongelmaa. :)
Softan on myös tuetava mahdollisimman sujuvaa datan merkkausta ja datan jakamista eteenpäin. Asia johon isot mittalaitevalmistajat eivät ole oikeastaan vielä hoksanneet panostaa. Näkisin että erilaisten FAIMS sovellusten kehitykselle on hyvin oleellista että "kentällä" kerättyä mittadataa saa kerättyä mahdollisimman helposti, nopeasti ja virheettömästi. FAIMS ei ole tekniikkana mikään ihmeratkaisu tai edes mikään massaspektrometri millä massa/varaus suhteiden selvitys kävisi "suoraviivaisesti. Kaikki vaikuttaa kaikeen, mutta hyvin toistettavasti. Ainut tie FAIMS mittalaitteiston menestykseen alasta riippumatta on suuri määrä mittauksia kiinnostuksen kohteesta.
Pointit:
- Laitteella kerätään dataa eikä perseillä
- Asennan silti doomin....
- Toimitan softan, laitteistosuunitelmat ja esimerkkiasennuksen
- kukin laitteistovalmistaja saa tehdä omat virityksensä.
- Mittauksiin lisätään metadataa aikaisessa vaiheessa
- Mittaustuloksia linkitetään keskenään
- Monesti on nollanäyte ja toistoja (tai eri laimennoksia)
- metatietoja ja hastagejä
- kommentteja
- Kuka nyt helevettikään muistaa mitä mitattiin hetken päästä
- Vihkomuistiinpanot on wanhoille pieruille
- Epäonnistuneet mittaukset heitetään pois ajoissa
- roskaa ei kannata säilyttää
- Hyvät tägätyt mittaukset pyritän lähettämään ASAP pois laitteelta talteen
- HTTP/HTTPS rajapintaan,dropbox, S3, FTP, google drive......
- Useita vaihtoehtoja
- Lähetetyt erotellaan, jotta
- Mahdollisuus poistaa kun saatu talteen
- instrumentti ei ole tiedon säilöntäpaikka
- microsd-kortit tuppaavat menemään rikki
- Mahdollisuus yrittää uudestaan tai vaihtoehtoisella tavalla
Käyttöliittymä
Käyttöliittymä koostuu seuraavanlaisista komponenteista. Ideologian mukaisesti mitään näistä ei ole pakko käyttää vaan vaihtoehtoisia tapoja löytyy- Rasperryn näytöllä pyörii
- Linux työpöytäympäristön valikot
- WLAN:in, verkkojan yms valintaa turha keksiä uudelleen
- Python TKinter tai QT:lla toteutettuja widgettejä
- Okei, vanhahtava ratkaisu... mutta
- Pitää vielä katsoa electron.io ratkaisua
- Pitää uppoutua työpöytään, näkyä sivupalkeissa yms..
- Ei oo pakko käyttää
- Tarvitaan vain yksinkertaisia toimenpiteitä mittausten aloittamiseen
- Näkymä "missä mennään", tarviiko kuittausta
- Tärkeää nähdä koska korkeajännite on tai menee päälle
- Voi mennä vaikka henki jos ei tiedä
- Oikeasti! ei ole vitsi!
- Hätätapauksia ja paikallista offline käyttöä varten
- Esim mittaaminen ulkona korposta
- Chromium, kts seuraava kohta
- Selain on helposti teho ja muistisyöppö
- Käyttöliittymäläppäri..
- Samassa verkossa mittavehkeen kanssa.. koska
- Selain ottaa yhteyden raspberryyn
- Jos ongelma, aja raspberryn näytöllä
- Paljon reaaliaikadata verkkoliikennettä
- Tai vaikka tabletti (winkkari, android, apple)
- Kermaperseille
- tosikäyttäjälle riittää pieni ruutu + komentorivi
- Tarkastetaan, merkataan mittauksia ja lähetetään eteenpäin
- Lähetyskoodien tekeminen "plugareiksi" käy helposti.
- Jälkikäsittelytyökalut
- Selain,
- analyysiohjelma
- pilvipalvelu
- matlab
- ihan mitä vaan
Käyttöliittymäproto
No ei tämä proto ole vielä mikään taideteos tai edes loppuunasti mietitty.![]() |
| Yleisidea leiskasta |
Olen alustavasti ottanut seuraavanlaisen periaatteen ui:n suunnittelussa
- Vakiona aina kaksi paikkaa kuvaajille. Voi vertailla tai katsoa rinnakkain yksityiskohtia
- Mahdollisuus valita niiden esitystapa
- 2d plotti, 1d leike, signaalin voimakkuus ajan funktiona
- Datan lähde valittavisa
- Reaaliaikaisesti kerätty + mahdollisuus freezata tarvittaessa
- Plottiin päivittyy viimeksi klikattu
- Plottiin päivittyy toiseksiviimeksi klikattu data
- Metadatan lisäys ja päivittely mahdollista
- Jos ei vielä olla lähetetty, voi päivittää
- Laitteiston tärkeät tilatiedot näytetään keskellä UI:ta
- Näin ei jää piiloon vaikka vähän rullailtaisiin
- Korkeajännitteen päälläolo, vikatilat yms
- Tulevat ja valmiit jakavat työtilan klikkausten perusteella
- Täten hyvä olla keskellä
- Alariville kolme saraketta
- Tulevia asioita
- Mahdollisus vaikuttaa tuleviin mittaussekvensseihin
- Työtila, joka päivittyy klikausten perusteella
- Mittaussekvenssin ediointi
- Valmistuneen mittausten tietojen esittäminen
- Valmiit asiat
- Mitaustulosten ryhmittely
- Mittausten lähettely
Näkisin tässä leiskapohjassa useita etuja
- Mahdollisuus muuntaa myös pienelle näytölle (rasperryn lokaali)
- Yksi plotti jos ahdas näyttö?
- Kontrolleja vaan peräkkäin?
- Skrollaus ei tuota ongelmia kun tärkein tieto on keskellä
- Alarivin kontrolleille maksimikorkeuden rajoitin niin, että tilarivi ei rullaa piiloon.
- Datan esitys hyödyntää näytön täyslevyisenä
Plääni
Itselleni on selvinnyt... tai no tiesin jo alusta alkaen että tämä tulee olemaan usean vuoden kestävä kotiprojekti. Huomasin nyt että mikä vaikutus on sillä, että en ajattele "hitsit, mitä sitä blogaisi maanantaina". Lopputulemana on se että viikonloppuna tulee lähinnä laiskoteltua.Siispä maanantaina uusi postaus.




Ei kommentteja:
Lähetä kommentti