3D-tulostetut härvelit

vesioinas

Active member
Viimeinen siipi alkaa valmistua - roottorin ulkoreuna pitäisi madaltaa niin, että rako jää minimiin. Kun rako on mahdollisimman pieni niin staattorin ja roottorin väliin päätyy oletettavasti vähemmän veden mukana kulkevaa hiekkaa jms. Seuraavan 10pv aikana lämpötilan pitäisi pysyä jatkuvasti plussalla ja saan otettua toisenkin voimalan hyötykäyttöön. Viime vuonna puro jäätyi joskus joulukuun puolessa välissä.
***
Talven ajaksi purovoimalat pitää nostaa ylös. LFP-akku ei toimi pakkasella, joten laitan sen tilalle pari rinnankytkettyä lyijyakkua. Se pienentää resistanssia ja purkutehon voi ainakin tuplata nykyisestä.
***
Uusiokäytän 40x10x5mm neodyymit ensimmäisestä siipiversiosta, joka tuhoutuu samalla. Hitonmoinen työ irroitella ja kaapia kaikki epoksit irti. Homma kuitenkin etenee. Uudelleen paikoilleenlaitto ja epoksivalu on jo paljon helpompaa kun samaa on tullut harjoiteltua jo 3 kertaa. Joskus ensi viikolla voimala pääsee puroon edellisen lisäksi, jos ei ole liikaa pakkasta. Kytken lähdöt rinnakkain, jolloin yhteistehoa pitäisi olla suunnilleen 50W ja tuottoa vähän reilut 1kWh/pv.
***
Nyt mielessä on alkanut kummittelemaan uudelleen lataussäädin, jossa olisi vapaasti säädettävä tehokäyrä. Kaippa sen voisi tehdäkin. Säätimen saisi tehtyä helpoiten samalla 400W buck virtalähteellä ( https://www.aliexpress.com/item/1005004192387888.html Vinput 11..60V Iinput <15A Voutput 0..45V Ioutput 0.2..15A), jota tuli käytettyä tuuliruuvissa. 104k CV-trimmerin tilalle tulee 100-portainen X9C104. Se on jo varmistettu, että toimii. Virtalähteitä voinee kytkeä useamman rinnakkain, jos lähtoteho meinaa jäädä vajaaksi. Ketjutus niin, että säätyvät kuitenkin yksitellen niin resoluutio on tarkempi. Virranohjaukseen sopii Arduino nano 33 IoT, jolle käyttöliittymän saa tehtyä kännykkään BLEn tai WiFin avulla.

Nano 33 IoT:ssa ei ole BT Classic spp:tä. Tarvittavan tiedonsiirron saa kyllä toimimaan BLEn service/karakteristiikankin avulla - yksi custom service per määritelty arvo tehokäyrällä ja vaikkapa 5 tasavälein määriteltyä arvoa yhteensä. Väliarvot saa laskettua lineaariregressiolla. LightBlue on valmis appsi BLE-palveluiden lukuun ja kirjoitukseen eli sitäkään ei tarvitse tehdä itse. Esimerkkikoodi löytyy täältä https://docs.arduino.cc/tutorials/nano-33-iot/bluetooth

WLANilla saisi tehtyä yksinkertaisen AP:n ja tekstipohjaisen web-serverin tilan ja arvojen näyttöä varten
mutta arvojen kirjoitusta varten tehtävä parseri on vähän hankalampi.

Teho- ja energiamittari on helpoin toteuttaa valmiilla modullilla, mutta grafiikkanäyttökin olisi toki hieno. Rakentelen kuitenkin purovoimalan valmiiksi ennen muuta.
 
Viimeksi muokattu:

vesioinas

Active member
Olihan se pakko heti kokeilla tuota BLE-esimerkkiä. Devailu onnistuu helposti Chromebookilla ja Arduino pilvipalvelun web editorilla. Esimerkissä käytetyn BLEByteCharacteristic-karakteristiikan voi vaihtaa BLECharacteristic, joka toimii suoraan taulukkomuotoisilla arvoilla. Sen avulla kaikki tehokäyrälle määriteltävät arvopisteet saa luettua ja päivitettyä samalla kertaa. Nano 33 IoT:ssa riittää puhtia (Cortex-M0 32-bit 48MHz) ja muistia (256 KB SRAM, 1MB flash) vaikka yksinkertaista grafiikkaa varten. Myös OTA-päivitys on tuettu, mutta ehkä en pidä wifiä turhaan päällä.
***
Nyt on valmiina BLE peripheral service, jolla on kaksi karakteristiikkaa (voltcharacteristic ja powercharacteristic). Molemmissa karakteristiikoissa on taulu, joka sisältää 7 arvoa. Ensimmäinen taulu on jännitevektori [V] ja toinen on teho [W]. Ts. jännitteellä sejase haluttu teho on tämäjatuo. Väliarvoja varten kirjoitin apufunktion, joka palauttaa halutun tehon annetulle jännitearvolle. Funktio linearisoi P/V-käyrän paloissa avoimella murtoviivalla ja se osaa extrapoloida arvot myös taulujen yläpuolelle. Jännitearvoja ei tarvitse määritellä tasavälein. Kuorma vaikuttaa jännitteeseen, jolla on takaisinkytkentä kuormaan jne. Eli arvoja pitää todennäköisesti hienosäätää jonkinverran testaillessa. Kiinanmylly on tyypiltään 24V, mutta jännite ainakin tuplaantuu ilman kuormaa.
Screenshot 2022-10-28 19.24.19.png

Screenshot 2022-10-28 22.12.18.png

Nano IoT:sta löytyi pari sudenkuoppaa. Jos USB-sarjaporttia ei ole kytketty niin Serial.begin() jää jumiin. Ainakin Chromebookin kanssa uploadatessa USB-sarjaportti näyttää välillä menevän johonkin vikatilaan ja sitten auttaa enää nanon bootloader reset eli reset-napin klikkaus kaksi kertaa. Bootti on kyllä nopea. Koitan rääkätä virtoja päälle/pois - jos bootti jää satunnaisesti jotenkin jumiin niin se ei oikein käy.
***
Tänään lauantaina oli kovaa tuulta. Tuplasin lyijyakun kapasiteetin, mutta tehoa on vieläkin liikaa puuskissa. Kun latausvirtaa on liikaa niin napajännitteet nousevat liian ylös ja jarru kytkee lopulta hetkeksi päälle. Kovat puuskat menevät siis hukkaan. Toiminnan saa stabiloitua melko hyvin kun säätää purkutehon (ts. mikroinvertterin syötön) riittävän suureksi. Mutta sama asetus ei toimi kaikilla tuulilla. Purkuun pitäisikin tehdä ainakin muutama tehoporras.
***
Tuuli oli heittänyt roskaa myös puroon. Oksa oli jumittunut purovoimalaan ja siivestä lohkesi pieni sormenpään kokoinen pala. Ei haittaa menoa, mutta laitan roskasihdin takaisin paikoilleen. Lehtiäkään ei ajelehdi vedessä enää niin paljoa kuin vielä viikko sitten.
 
Viimeksi muokattu:

vesioinas

Active member
Voisi toimia joo isommille roskille. Sihdinkin voisi vaihtaa kiinnitysvaijereiden päälle kartiona pingotetuksi verkoksi niin, että lehtiroskat irtoaisivat siitä helpommin veden mukana. Toisaalta sihdin puhdistus on helppo kun potkurin kääntö vedessä 90 astetta riittää sähköjohdosta sivuun vetämällä. Viime yönä oli -7C, mutta päivällä on taas saman verran plussaa. Veden jäätyminen tapahtuu yleensä vasta joulukuussa. Jos/kun jäätä alkaa kertyä liikaa niin nostan potkurin ylös ja korjaan siiven ja tarkistan samalla muut vauriot. Ainakin yksi suojaamatta jäänyt takakulma oli ottanut vähän kontaktia kiveen.
 

vesioinas

Active member
Keräilin vähän osia valmiiksi uutta tehonsäätöhärveliä varten ja tässä lyhyt sepostusta siitä mitä niistä on tarkoitus tehdä. Tasasuuntaaja on paperilla 1600V & 150A kestävä kolmivaihemalli kuvan keskellä. Sama musta moduli on myös nykyisessä (ts. edellisessä) syöttövirtaa pätkivässä lataussäätimessä - tiedän, että se on toimiva ja alkaa lämmetä vasta kun tehoa on muutama sata wattia. Beige Fotek 25A ssr ei välttämättä kestä täyttä virtaa ainakaan ilman kunnon jäähdytystä, mutta musta 240Vdc 75A Kyotto kestää varmasti. En tiedä vielä tarvitaanko välttämättä kumpaakaan mihinkään - ehkä oikosulkujarrua ohjaamaan tarvittaessa. 80A automaattirele on vähän yliammuttua ja katson tilalle jotakin sopivampaa ainakin, jos laitan LFP-akun johonkin väliin. Silloin tarvitaan myös virtamittaus, koska latausvirta ei saa ylittää maksimia. Lähdössä on ainakin yksi 400W buck-hakkuri (Vin 10..60Vdc) ja se on varsinainen tehoa säätävä moduli laitteessa. Hakkuri on sama mitä käytin aiemmin tuuliruuvin lähdössä. Todennäköisesti pidän jännitteen vakiona ja säädän vain virtarajaa tuuliruuvin tapaan, mutta kuitenkin muokattavan jännite vs. tehokäyrän perusteella. Tuuliruuvin tehokäyrä oli kiinteä ja määritelty arvioidun huipputehon mukaan.

Tehonsäätimen aivoina on langattomilla liitännöillä varustettu Arduino nano 33 IoT. Jostakin syystä BT Classic-tuki ei ole valmiina Ubloxin W102 esp32 FW:ssä mikä oli vähän yllätys. HW-tuki kuitenkin on ja BT Classic FW:n saa flashättyä pienellä kikkailulla. BT Classic on vähän helpompi toteuttaa Androidilla BLEhen verrattuna, mutta kumpi vaan käy - BLE tulikin jo kokeiltua Androidin Lightblue-appsin kanssa. Nano 33 toimii 3v3 käyttöjännitteellä, mutta ulkoinen kytkentäjännite voi olla vaikkapa 5V. Sen saa tehtyä kuvan DD7818TA buck-hakkurilla (8..80Vdc -> 5V 2A). Hakkurin virransyötön voi tehdä diskreeteillä (Schottky SR5100 tjms.). Ajatuksena on se, että nano ehtii herätä hyvissä ajoin ennenkuin kierrokset ja tasasuunnattu jännite alkavat nousta liikaa.

Oikeassa reunassa on X9C104 0..100k digitaalivastuksia ja energia+tehomittari. Vastuksien ohjausta varten tarvitaan logiikkatasojen muunnin (3V <-> 5V). Lämpötilojen monitorointi onnistuu helposti 1-wire anturilla DS18S20 - niitä voinee asentaa useampiakin tai vaihtoehtoisesti käytän vaan ntc-antureita, jos pitää tarkkailla pelkästään jotakin fiksattua kynnyslämpötilaa puhaltimien käynnistämiseksi. Yksikin puhallin riittää, jos sillä saa ilman virtaamaan tarpeeksi tehokkaasti laitekotelon läpi. Kytken kaiken ehkä yhteen 3D-spagetiksi, jolla saa varmennettua sähköisen toiminnan. Sen jälkeen voi vielä korjaillakin jotakin tarpeen mukaan.

IMG_20221103_234619259.jpg
 

vesioinas

Active member
Nyt on toinenkin kelluva potkuri purossa ja kytkettynä samaan syöttökaapeliin edellisen rinnalle. Molemmat lataavat tuulivoimalan kanssa yhteistä 120Ah akustoa. Napajännite sahaa ylös alas kun mikroinvertteri käy aina välillä ja siirtää tuotantoa verkkoon. Roskasihdit pitää puhdistaa/tarkistaa päivittäin. Illaksi ja yöksi on luvattu muutama milli sadetta. Vedenpinta on yhä ~30cm maksimin alapuolella. Seuraavan kerran pitää tehdä muutoksia kun pakkanen jäädyttää puroa liikaa. Pieni yöpakkanen ei vielä haittaa kunhan virtaava vesi pysyy sulana.

Saukko lähti aamulla puroa pitkin alajuoksulle kun huomasi mut. Hauska ja leikkisä vesieläin.
 
Viimeksi muokattu:

vesioinas

Active member
Tarkistin purovoimalan potkurin kunnon kolmen viikon käytön jälkeen. Pääasiassa kosmeettisia muutoksia vaan ja magneetit ovat yhä kosteudelta suojassa. Oksan tekemä siipivaurio näkyy kuvassa kello neljän paikkeilla. Puhdistin potkurin ja laitoin takaisin puroon. Vaurion korjaus voi odottaa myöhemmälle syksyyn. Toinenkin potkuri on säilynyt ehjänä, mutta se on ollut purossa vasta viikon verran vähän rauhallisemmassa virtauskohdassa. Roskasihdit toimivat hyvin eli estävät paksumpien oksien päätymisen potkuriin.

IMG_20221112_160550365.jpg



Tuulivoimala teki tänään ~1kWh verran sähköä. Lisäsin akustoon rinnalle vanhan akun kun vaihdoin autoon uuden. Akustoa on nyt suunnilleen 150Ah verran, mutta enemmänkin voisi olla kaikista kovimpia puuskia varten. En kuitenkaan lisää enempää akkuja vaan teen muutoksen mikroinvertterin syöttötehoon niin, että se seuraa napajännitteen vaihtelua. Toistaiseksi syöttö toimii vakioteholla ja sitä pitää aina vähän säätää keskituulen mukaan.
 
Viimeksi muokattu:

vesioinas

Active member
Uuden lataussäätimen rakentelu on edennyt hitaasti tai eipä oikeastaan olllenkaan. Tässä kuitenkin jotakin selostusta valmistelusta.

Testasin BT Classicin (SPP) toiminnan Android serial BT terminal -appsin kanssa ja vaihdoin takaisin uusimpaan NINA FW versioon 1.4.8, joka tukee sekä BLE:tä, että wifiä, mutta ei kuitenkaan molempia samanaikaisesti. Backend-kojetaulun virittely ei oikein innosta, mutta tiedonsiirtoa ovh:n vps:lle tulee ehkä kuitenkin kokeiltua jossakin vaiheessa, joten wifi on tarpeen. NINA FW tarkoittaa u-blox NINA-W102 -modulin sisältävän ESP32 piirin softaa.

Harmittavasti Nanon SAMD21 host -mikrokontrollerilla ei ole eepromia, jonne voisi kirjoittaa tehokäyrän asetukset ja muuta statistiikkaa talteen tyynien hetkien ajaksi. Flashille kirjoittava kirjasto löytyy, mutta sen jatkuva käyttö on huono idea - flash ei kestä kuin 10 000 kirjoituskertaa per muistialue. Kaivatunlainen Eeprom löytyy NINA-W102-modulista, mutta api on ehkä vasta suunnitteilla NINA FW:hen - ei selvinnyt pikaisella katselmoinnilla. Host-kontrollerille kirjastoja löytyy vain kaksi: ArduinoBLE ja WiFiNINA, eikä niiden esimerkeistä löytynyt eeprom-komentoja. Jos eeprom ei ole käytettävissä niin laitan erillisen I2C-väylällä toimivan eepromin. Jos I2C aiheuttaa vähänkään jumituksia niin sitten on vaan pakko käyttää flashiä ainakin tehokäyrän talletukseen.

Arduino nano iot 33 NINA FW löytyy githubista täältä:

Nina FW:n päivitysohjeet (BLE<->BT Classic) löytyivät täältä:

Harkinnassa on joko kaksi erillislaitetta (käsin aseteltavalla tehokäyrällä toimiva akkulaturi + itsesäätyvä tehonsyöttö ulos) tai pelkästään yksi laite, jossa on kaikki ominaisuudet yhdessä paketissa. Ykkösvaatimuksena on, että akusto ei saa purkaantua kun voimala on sammuksissa. Hetkellinen akkukäyttö on ok esim. eeprom r/w-operaatioiden tai turbiinin jarrutuksen aikana. Ylikuumenemista varten pitäisi tehdä myös jotakin aktiivista valvontaa. Lisäksi haluan lähtötehon säätyvän nopeasti niin, että energia kulkee mahdollisimman vähän akun kautta. Tämä jälkimmäinen ominaisuus puuttuu nykyisestä säätimestä ja sen vuoksi puuskat jäävät kunnolla hyödyntämättä. Lisäksi energiaa kuluu tarpeettomasti hukkaan akuston sisäisissä resistansseissa - kaikki nyt käytössä olevat akut ovat useamman vuoden autokäytössä olleita. LFP-akkukäyttöä varten tarvitaan lisäksi latauksen virtaraja.
***
Sain algoritmin rungon kirjoitettua valmiiksi. BLE-karakteristiikoita tulee 10kpl ja kaksi niistä muodostaa Vin/Pout-taulukon. Suurin osa (8kpl) on R/W-parametreja, joilla voi säätää toimintaa ns. lennossa ja jotka tallentuvat myös eepromille. Lämpötila ja hetkellinen teho ovat pelkästään luettavia parametreja. Jos laitan laitekoteloon useamman lämpötila-anturin niin ainoastaan korkein lämpötila kiinnostaa. Energiamittauksesta olisi hyvä saada laskettua myös pidemmän ajan hyötysuhde ja se on vielä miettimättä. Alustavasti ajattelin, että algoritmin päivitystahti voisi olla 10Hz. Releitä ei kannata kytkeä ihan samaa tahtia, mutta input- ja output -tehojen säätö voi olla vähän vauhdikkaampaa. 4m² siivet kiihtyvät yllättävän nopeasti ja nopean tehonsäädön tarkoitus on myös välttää sakkaamista.
***
Purovoimalat tänään (la 19.11.) -5C pakkasessa
 
Viimeksi muokattu:

vesioinas

Active member
Step-up hakkurin virtaraja säätyy 5kohm trimmerillä. Lineaarinen sadan askeleen x9c103 digipotikka on 0..10kohm ja siitä saa 5kohm potikan kun laittaa rinnalle toiset 10kohm. Mutta säätö muuttuu askeleiden suhteen epälineaariseksi (punainen käyrä):
Screenshot 2022-11-23 01.36.22.png

Tein käyrän oikaisua varten toisen taulun, joka laskee tarvittavat askeleet haluttua lähtöresistanssia varten:
Screenshot 2022-11-23 01.36.46.png

Mäppäystaulua (askeleet / haluttu resistanssi) voi käyttää joko sellaisenaan askeleiden poimintaan tai ne voi myös laskea
round( 1/(1/Rtot-1/Rfixed) / 100ohm )
missä Rfixed on 10kohm rinnankytkentävastus ja Rtot haluttu lähtöresistanssi.

Mäppäystaulua soveltamalla lopputulos on riittävän lähellä tavoitearvoja:
Screenshot 2022-11-23 09.15.35.png

Vielä tarkemman lopputuloksen saisi kytkemällä kaksi 10k digipotikkaa rinnakkain ja askeltamalla niitä vuoronperään.

Hauska aivopähkinä.
***
Tarkoitus on tehdä nyt aluksi akuston napajännitteen mukaan säätyvä boost-hakkuri, joka syöttää sähköä mikroinvertterille. Vaihdan sen nykyiseen lataussäätimeen kiinteällä teholla toimivan hakkurin tilalle ilman isompia muutoksia. Virransäätö toimii kahdella Arduinon gpio-signaalilla . Koska max teho nousee niin lisään myös absoluuttisen lämpötilan mittauksen 1-wire anturilla (DS1820) eli 3 gpiota lisää yhteensä. Näin pienillä lisäyksillä voimalan tuotanto ei keskeydy ja hyötysuhde toivottavasti paranee, jos saan energian kulkemaan paremmin suoraan mikroinvertterille akuston ohi. Turbiinin tehokäyrän säätö jää myöhemmin tehtäväksi.
 
Viimeksi muokattu:

vesioinas

Active member
Tarkistin purovoimalat ja siivosin sihdit. Puro virtaa vieläkin vuolaana, vaikka pakkasta on ollut jatkuvasti parisen viikkoa. Umpeenjäätyminen tapahtuu vasta kun pakkasta on kymmenen astetta. Ainoastaan johto meinaa jäätyä kiinni reunavalliin. Purovoimalat pitävät akut hyvässä latingissa ja varsinainen tuotanto syntyy tuulimyllyllä sitten kun sattuu taas tuulemaan.

Uusi tehonsäätökytkentä on vielä tekeytymässä, mutta 1-wire lämpötila-anturi (DS18B20) on jo kytkentää vaille valmis. Käytän samaa anturia CNC-jyrsimen lämpötilavalvonnassa, eikä siinä ole ollut ongelmia toisin kuin joissakin I2C antureissa. Tehonsäätimen max toimintalämpötila voisi olla +70C, jonka jälkeen tehoa voisi laskea portaittain esim. +70C -> 80%, +75C -> 50% ja +80C -> 30%. Pakkassäällä lämpeneminen tuskin on ongelma kun laitepuhallin on suoraan hakkurin päällä. Hakkurin nimellisteho on 400W, mutta mikroinvertteri on vain max 300W.
 

vesioinas

Active member
Sain hakkurin tuunattua testailua varten. x9c103 mahtui sopivasti piiloon levyn alapuolelle kun levy on kiinni kotelon ruuvitorneissa. Testaan Adruino Unolla, labrapowerilla ja 100W tehovastuksilla niin, että saan vastusarvot mäpättyä dc-virraksi. Oletuksena mäppäys on lineaarinen ja jännitteistä riippumaton. Testaan myös lämpötila-anturin toiminnan. Jos häiriöt haittaavat liikaa anturin lukua niin paikkaa voi vielä vaihtaa eri puolille jäähdytysripaa. Lähtöjännite säätyy jäljelle jääneellä trimmerillä.
Screenshot 2022-11-27 18.44.26.png
 

vesioinas

Active member
Virransäädön testisofta valmiina. Säätö (wiper resistance) on lineaarinen akun napajännitteen suhteen silloin kun jännite on määritellyllä MIN-MAX -välillä. Muuten virta on joko nolla tai se saturoituu maksimiin. Käytännössä tehonsyöttö katkeaa jo ennen minimiarvoa. Testin perusteella säädän MAX_RESISTANCE-arvon niin, että se vastaa mikroinvertterin sallimaa maksimitehoa. HO_BAT_VOL-arvon saa säädettyä paikoilleen vasta käytännössä kokeilemalla.

if (voltsInt >= LO_BAT_VOL && voltsInt <= HI_BAT_VOL)
{
// Linear mapping
res = map(voltsInt, LO_BAT_VOL, HI_BAT_VOL, 0, MAX_RESISTANCE);
} else if (voltsInt < LO_BAT_VOL)
{
res = 0;
} else if (voltsInt > HI_BAT_VOL)
{
// Saturated value
res = MAX_RESISTANCE;
}
// Calculate wiper position on x9c193
wiper = round( 1.0/(1.0/(float)res-1.0/10000.0) / 99.0 );
 

Ilmis

Member
Voisi toimia joo isommille roskille. Sihdinkin voisi vaihtaa kiinnitysvaijereiden päälle kartiona pingotetuksi verkoksi niin, että lehtiroskat irtoaisivat siitä helpommin veden mukana. Toisaalta sihdin puhdistus on helppo kun potkurin kääntö vedessä 90 astetta riittää sähköjohdosta sivuun vetämällä. Viime yönä oli -7C, mutta päivällä on taas saman verran plussaa. Veden jäätyminen tapahtuu yleensä vasta joulukuussa. Jos/kun jäätä alkaa kertyä liikaa niin nostan potkurin ylös ja korjaan siiven ja tarkistan samalla muut vauriot. Ainakin yksi suojaamatta jäänyt takakulma oli ottanut vähän kontaktia kiveen.
Siipiratasmalli läpäisisi varmaan paremmin roskia ja risuja kuin ropelli?
Kivoja projekteja lueskella, toiset vain osaa (y)
 

vesioinas

Active member
Testasin eilen tehonsäädintä 20A labrapowerin ja 600W vastuspatterin kanssa. Virransäätö ei olekaan ihan lineaarinen, mutta ehkä se ei haittaa. Pääasia on, että maksimiteho ei ylitä mikroinvertterin sallimaa maksimia ja että tehonsäätö reagoi nopeasti. Mimimiteho saa olla vaikka 50W. Niiden välissä teho kasvaa/laskee napajänniteen kasvaessa/laskiessa.

Tuotantotuulia on ennustettu seuraavan kerran ensi viikon lauantaiksi. Päivitys pitäisi saada valmiiksi siihen mennessä.
 
Ylös