Tänäviikonloppuna käytin aikaa laitteiston kokonaiskuvan hahmotteluun.
Systeemissä tulee oleman jokin päälevy joka tulee olemaa "maapiste" johon modulit kuten paineanturi, ilgallo ja vastaavat liittyvät. Niin ja tietenkin raspberry. Levy tulee olemaan myös osa tukirakennetta.
Yksi paha valintakysymys johon törmäsin... oli
a) Vain raspberry ohjaa laitteistoa.
Tehtävissä kyllä, selvittelin teoriaa. Tarkoittaa sitä että pumpun moottoria ohjataan softa-PWM:llä kun rautapwm uhrataan superfretin ohjaukseen.
Youtubessa olevien teardown videoiden mukaan ESC:säni (Electronic speed controller) olisi atmelin mikrokontrolleri johon voisi häkätä simonk firmiksen joka ymmärtäisi jotain helpompaa (ja vähemmän syklejä raspilta syövää) tapaa kuin servo-PWM aaltomuoto. Valitettavasti häkkäys vaatii pinnien juottamista mikrokontrollerin pinneihin
Rautapwm raspissa on varsin kyvykäs. Valitettavasti tällähetkellä minulla ei ole pääsyä skoopille tarkastelemaan muotoja. (oskiloskooppi, eräs hankinta..SITTEN KUN asuntolaina on maksettu....)
Veikkaisin että raspberryn pwm lähtö saattaa tarvita jonkinlaista linedriveriä/ signaalinkunnostusta. Binäärisenä se on kuitenkin helppo ehostaa jos raspberry ei kykene ajamaan kanttia kanttina.
https://www.raspberrypi.org/forums/viewtopic.php?&t=33669
Rautapwm, I2C, SPI ovat rautapohjaisia eivätkä sanottavasti haittaa muun softan toimintaa... DMA:n tai vast toimintaansaaminen ois aika herkullinen ratkaisu, mutta mennään nyt userlandillä aluksi.
Etuja: Vain yksi paikka jossa ajetaan koodia, jolle kehitetään koodia ja jota päivitetään, Yksinkertaistaa ja halventaa asioita. Uskokaa minua, tiedän kyllä.
b) Apuna on mikrokontrolleri
Halvin saatavillaoleva mikrokontrolleriratkaisu on kolvata noin 67sentin (yli euroa en maksaisi) mikrokontrollerilevy kiinni systeemiin.
http://www.ebay.com/itm/10pcs-Minimum-System-Development-Board-Module-ARM-STM8S103F3P6-STM8-For-Arduino-/311646136743?hash=item488f8ea9a7:g:nJQAAOSwEeFVDTdC
Näemmä kommunikointi ei onnistu microusb:n kautta... microusb on valittu vain edulliseksi poweriliittimeksi :( Mutta onneksi pinnejä löytyy I2C SPI ja UART jolla kommunikoida raspin kanssa.
http://www.electroons.com/blog/low-cost-stm8s103f3p6-board-review-and-getting-started-guide/
http://technologyrealm.blogspot.fi/2015/07/getting-started-with-stm8-development.html
Menee aika sötöstykseksi tästä pitäisi tehdä "over the air" fläshättävä.
Arduino-levyn saa ebaystä alle kolmella eurolla... Otan tämän laskelmaan mukaan.
(kolmella eurolla ei saa pienissä erisssä levyalaa, passiiveita, kidettä, komtrolleria eikä usb liitintä)
Fiksuinta lienee tehdä kortti johon saa tarvittaessa kötöstettyä kiinni arduiinon jos ilmenee että
Speksit
Ihan oikein speksi! Luksusta, harvoin työelämässäkään törmää SPEKSEIHIN.
Helpointa on lähteä listaamaan ja piirtämään aiempaan postaukseen töhertämääni kaaviota.
Lähdöt
Mitäs lähtöjä tarvitaan
Il gallo liitäntä
- +3.3v ADC:lle, gnd ja raakapoweri (+12v?) piuha
- High side kytkin ei ole pakollinen. Il gallo ei nyt watteja kisko.
- MOSI,MISO,CS,CLK (spi)
- Dedikoitu +3.3v regulaattori kalustusoptio
- Bulkkikonkkaa käyttösähköön...varoksi
Superfrettin ohjaus
- Päätösongelma. DAC+tasomuunnin superfrettikortille vs päälevy.
- Analogilähtö... 2 karvaa vs 4 karvaa digi
- I2C:tä ei saisi vetää pitkiä matkoja ilman kunnon driveriä (kapasitanssi, häiriöt yms)
- Ihan kiva toiminnalisuus jota voi käyttää jossain muussakin projektissa siksi päälevylle
- Jänniteswingi?? perusoparit kestää tyypillisesti railista railiin 32v
- Hi-side kytkin superfretin poweroimiseksi
- Rautapwm lähtö
- Jokin line-driveri jolla korkeataajuinenkin pwm rf-pulssitus pääsee kanttina superfretille asti eikä pyöristy muodottomaksi kuin vantaalainen wt-yh-mamma.
- koaksiaali SMA liitin levylle
Unipolaarinen DAC-analogilähtö (hv:n tason säätöön)
- Toki voi olla bipolaarinen, mutta vastusvalinnoilla valitaan.yksipuoleinen
- 0-3.3v riittää hyvin,
- high side on kiva olla, mutta ei välttämätön.
- voi tulla käteen korkeajännitteet jos ei ole helppoa tapaa sammuttaa kun ei tarvita
- Hi side kytkin +12v tai ehkä +24v hv poweria varten
- Jäykkä trankku, kymmeniä ampeereita?
Ulkoiset I2C liitännät
- Kaksi I2C liitintä ulos. BME280 plus jollekkin lisäanturille?
- +3.3v omasta regulaattoristaan. Tehty raspin +5v:stä
- joo... +3.3v high side switch olisi kiva jotta voisi resetoida sekaisin menneen I2C:n päässä olevan anturin tai jumiin menneen I2C:n
Tasmanian tuholainen
- Tälläkertaa highside kytkin on välttämätön, koska outrunner moottorin driverille pitää virtojenkytkemisessä kertoa min ja max asetukset. Driveri ei voi käynnistyä itsekseen samaanaikaan kun raspberry buuttaa.. vaan raspberryn on käynnistettettävä driveri
- Hi side +12v kytkin.. 20A piikkivirta ei olisi liioiteltua?
- hi side, koska lo side kytkennässä maa irtoiaisi... ja pwm pinni olisi ainut joka pitelee moottoridriveriä maassa..
- Ruuviliitin??
- Softapwm lähtö. Toistaiseksi kilonen vastus on riittänyt raspissa
Ionisointi (huom.. enable/disable virtarajoitin)
- Hi side kytkin, ihan must
- lo sidelläkin kai menisi halpa poweri... mutta ylhäältä ohjattu niin powerivaihtoehtoja tulee lisää.
- Virtarajoitettu power
- Rajoittimena vastus? Rajoitus 1A:han? 12Ohm vastus?
- Dedikoitu regu?
- jotain muuta hv-poweria varten optio valita vaikka hyppylangalla jokin muu jännite
- softapwm lähtö, ylimääräinen mutta jos tarve säätää jotain?
Ionikaapparin liitäntä
- Häiriöiden takia todnäk ilgallon sisällä. (kerääjä on korkeaimpedanss inen koska suodatus
- Kaapeli
- GND
- +Jännite
- -Jännite
- GPIO:lla valittava, vastuksilla asetettava kaksitasoinen jännite
- 0 ja 5v vaikka polariteetin valintaa varten
- suoraan haluttu ionikaapparijännite (tarvii vain RC-filtterin... tosin polariteetin vaihto kestää jos filtterin taajuus sädetty alas)
- Sama kytkentä kuin DAC:lle? nyt vain gpio ja vastukset valitsee jännitteen?
Extra
- Low side trankku merkkiledille?
- Mietin +12v powerikytkintä, joka oikeasti olisi "soft" powerkytkin
- Low side trankku ATX powerin ohjaukseen?
- ATX powerin +5V standby riittää raspberrylle?
- poweripinnin vetäminen GND:n starttaa
- High side kytkimiä?
Raspberryn liitäntä
Kerran kun olen levyä piirtämässä, niin samantien kaikki pinnit käyttöön vaan :D
Koko rahan edestä, varsinkin kun levystä taitaa joutua tekemään nelikerroslevyn jotta tarjolla olisi dedikoitu jäykkä maataso sekä leveät powerivedot... kun useammalla vedolla on aikamoiset virtavaatimukset..
Varaan toisen I2c:n virallisten ohjeiden mukaan tunnistus EEPROM:lle... En ole täysin sisäistänyt sen etua...mutta varaan pädit..ei oo pakko kalustaa
Niin ja siten RS232 tai RS485 tasonmuunnin. Puuhastellessa asiotia, tuppaa yleensä tulemaan tilanteita joissa liitännästä olisi hyötyä.
Levyyn tulee tarpeettomiakin optioita. Todennäköisesti löydän toiminnolle käyttöä jossain muussa projektissa. Tarpeetomat high-side switchit voi jättää kalustamatta ja ohittaa R0:lla tai hyppylangalla.
Powerointi
Laitteisto saa käyttövoimansa töpselistä. Niin kuitenkin että suoraan seinäsähköä ei turvallisuussyistä käytettäisi vaan itse piirilevyt käyvät DC sähköllä.
Edullisesti ja helposti järjestettäviä DC-jänntteitä on
- +5v
- +12v
- +24v
- -12v? Esim ATX powerista
Systeemi tarvitsee "raaka DC" sähköjä seuraavasti.
- Raspberry syö omasta 5V, 2A virtalähteestään (Vaikka atx +5V standby)
- Tarjoilee +5v ja regun kautta +3.3v:sta pienivirtaiselle elektroniikalle
- Poweri sisään microusb:stä... on polyfusetettu ja turvallisin powerointi
- Multa kärähti raspberry1 kun poweroin sekä +5v pinistä että usb:stä samanaikaisesti
- Syy saattoi olla myös kiinahakkurin sähköhärö
- Ideana on että raspberry on sähköissä kun töpseli on seinässä
- +12V tarvitaan ainakin
- pumpulle
- hv powerille (mahd 24v voisi tarjota paremman hyötysuhteen)
- IlGallo:lle, +24v kuumentaa turhaan regulaattoreita.
- itseasiassa +12v on varaa pudottaa vaikka pienellä RC filtterillä muutama voltti pois
- Bipolaarisia varten tarvitaan negativinen kisko...
- -12V suht pienellä virralla
- ATX poweri tai DC-DC muunnin?
Hahmotelma
Tämä oli pelkkä hahmotelma... Vielä pitäisi kyetä piirtämään nämä kaikki hiside switchit ynnä muut.... ja vielä routtaamaan koko paska raspin hatin kokoiselle alalle... ilman että koko paska syttyy palamaan kun pumppua ja rf:ää vähä hyrskytetään....
Veikkaan että kortti yksinkertaistuu vielä tästä :) Kun itselle tekee ja kuukausittainen harrastusbudjetti on muutama kymppi max. niin kummasti designista tulee optimoitu kun itse on maksajana.
IlGallo etenee ihan hyvin.... Karsin sisäisen tarpeettoman analogijänniteliittimen. Tarkoitti myös sitä että leiska meni hyrymyrskis ympäri :D
Ideana on että analogikortiksi kalustettuna valitut netit vedetään hyppylangoilla ADC:n spi liittimeen ja siitä kaapeliin. Lisäksi hoksasin että kotelon anodisoitu pinta onkin sähköneriste... Jotta kotelon saisi jotenkin maadoitettua pitää kopan molemmista puolikkaista poistaa kontaktikohdasta pinnoite Niin ja tietysti päädyistä ja päätylevyn reunoista jos päädytkin halutaan samaan potentiaaliin.
Niin ja anodisoinnit pitää krapsutella piirilevykiskoista myös... Lisäsin piirilevyjen reunaan JEP (juotteenestopinnoite) vapaat kuparitäytöt, josta levyn saa jumpperoida maadottumaan puolivälin jännitteeseen (GND) jos korttia käytetään analogikorttina. Digimoodissa rungon maadoituksen voi kytkeä -VAA:han eli maahan..
Lesoilen lisää ilgallosta vasta kun minulla on levyt ja olen todennut että niissä ei ole mitään fundamentaalia virhettä.