- Liittynyt
- 10.07.2017
- Viestejä
- 824
Järjestelmän rakenne on muuttunut moneen kertaan. Alla oleva aloituspostaus on pääosin vanhentunut. Luethan viimeiset viestit! -Tupsa 25.2.2025
Johdanto
Nyt olisi käsillä mielenkiintoinen projekti. Mökille olisi tarkoituksena tehdä 12 voltin aurinkosähkölle ”varavoimalaksi” tarpeeton Fordin autolaturi, jolla ladattaisiin tarpeen tullen akustoa. Tätä laturia pyörittäisi tavanomainen bensairtomoottori moniurahihnan välityksellä. Mekaaninen puoli työstä onnistuu, ja lisäksi lähtökohtana ovat riittävät kolvaustaidot ja P = UI, sekä kyky kopioida valmista koodia tehden siihen marginaalisia muutoksia, joten tästä projektista saanee hyvän kädet otsalle n00bin aloituskosketuksen elektroniikkarakentelun ja koodauksen ihmetyttävään maailmaan!
Viime aikoina olen kovasti googlaillut ja pohtinut tekoälyn (!) kanssa toteutusta. Nyt olen tullut siihen johtopäätöksen, että pää tulvii erilaisia vaihtoehtoja toteuttaa tätä proggista. Lähipiirissä ei ole elektroniikkarakentelun ja koodauksen taitavia, joten ajattelin, että on viisasta perustaa ketju tästä projektista. Tästä voi olla hyötyä kenelle tahansa oppimis- ja soveltamismielessä.
Varastosta löytyy Fordin 80 ampeerin autolaturi, joka toimii ainoastaan, kun sen lataussäädin saa PWM-ohjauksen. Tätä hoitaa autossa moottorinohjausyksikkö, eli PCM. Koska nyt laturi on saatava toimimaan irrallaan autosta, se onnistuisi Arduinon avulla, joka voisi tuottaa laturille sen tarvitseman signaalin. Laturi vaatii 14 voltin amplitudilla olevan 125 hertsin kanttiaallon Duty Cycle alueella 5-95 prosenttia, josta käyttökelpoinen alue akun nopeassa latauksessa on noin 50-70 prosenttia. Tällä alueella latausjännite on noin 14,0-14,5 volttia. Laturin säätimen sielunmaailmasta voi lukea lisää tästä. Kyseessä on Magneti Marelli -tyyppinen säädin.
Mitä järjestelmältä haluttaisiin?
Mietitään, mitä ylläoleva voisi tarkoittaa. Aloitetaan perustoiminnasta. Arduino syöttää vaadittua 14 voltin amplitudin ja 125 hertsin PWM-signaalia laturin kyseen osaiseen pinniin. Käyttäjä voi säätää latausjännitettä Duty Cyclellä alueella 50-70 prosenttia, joka kääntyy laturin lataussäätimessä noin 14,0-14,5 volttiin.
Poikkeuksena on moottorin ja laitteiston käynnistysvaihe. Jotta moottori jaksaa varmasti käynnistyä, Duty Cyclen ja tätä kautta latausjännitteen tulee siirtyä moottorin käynnistyttyä liukuen esimerkiksi noin viidessä sekunnissa käyttäjän asettamaan, potentiometrin määräämään arvoon. Kysymys: millä moottorin käynnistyminen todetaan? Pelkkä aikaviive ei ehkä käy, jos käyttäjä ei nykäisekään moottoria siinä ajassa käyntiin?
Miten olisi moottorin käynnistymisen varmentaminen tulpanjohdosta? Esimerkiksi Bilteman kierroslukumittari toimi hienosti aikoinaan mopossa, kun kiersi mittarin johdon vain tulpanjohdon ympärille? Voisiko tätä ajatusta jotenkin soveltaa? Jos tulpanjohdolta tulee sykkimistä vähintään 10 sekunnin ajan, niin aloitetaan Duty Cyclen liukuva ylösajo?
Moottorin automaattinen sammutus, eli sytytysvirran katkaisu tapahtuu normaalilla releellä, johon Arduinon on annettava heräte, kun latausvirta laskee alle koodissa määritellyn kynnyksen, esimerkiksi 5 ampeeria.
Komponentit
Sitten voisi pohtia, mitä tähän projektiin tarvittaisiin. Homma olisi hyvä toteuttaa mahdollisimman vähällä koodilla ja komponenttien määrällä sekä hinta-laatusuhteeltaan parhaimmilla komponenteilla. Eli sellaisilla, jotka kestävät ainakin vuosia, mutta kuitenkin niin, että budjetti pysyisi alle 40 eurossa. Myös ulkomailta voidaan tilata komponentit. Luin myös Arduino-klooneista. Toivottavasti jo nykyään on luotettavia klooneja. Alkuperäinen kortti taitaa olla kolmisen kymppiä.
Tässä on ajatuksia mahdollisista ehdotuksista komponenteiksi. Huomaa, että voi olla väärin tai huonosti valittuja ainakin jotkut komponentit, koska en siis ole elektroniikkarakentelussa auttavaa kytkentäkaavion lukemista ja kolvaamista pidemmällä. Olisin mielissäni, jos ehdottaisit laittaa vaikka koko komponenttiluettelon laittaa uusiksi, jos nämä on huonoja valintoja!
Arduino kortti
PWM-lähtö
Säänkestävä potentiometri, PWM-ohjauksen Duty Cycle säätöön
Millä latausvirta on helpompi niin kytkentöjen kuin koodin kannalta mitata, virtamuuntajalla vai shunttivastuksella? Äkkiseltään shuntit olivat virta-alueelle 0-100 A turhan hintavia. Lisäksi shuntit ilmeisesti tuottavat aimo annoksen lämpöä. Onko virtamuuntaja (current transducer) taas herkkä EMILLE, eli sähkömagneettisille häiriöille, joita luulisi esiintyvän jossain määrin käyvän moottorin ja laturin läheisyydessä? Jotenkin tässä nyt kaikesta huolimatta eniten kutittelee tuommoinen virtamuuntaja, koska siinä virtapiiriin ei tarvitse kajota.
Virtamuuntaja
Releen ohjaus
Ilmeisesti myös releelle tarvitaan erillinen ohjauskortti, kun Arduino ei pysty tuottamaan niin paljon virtaa releen ensiöpiiriin.
Moottorin käynnistymisen varmennus
Virtalähteet ja konvertterit
Arduino tarvitsee luotettavan 5 voltin tasasähkön, johon tarvitsisi jonkun tasasähkölähteen, eli virtalähteen sisääntulojännite voi olla laajalla skaalalla esim. 9-20 volttia, koska se vaihtelee väistämättä ainakin sen 12-14,5 voltin välillä.
Ilmeisesti Arduino ei suoraan pysty tuottamaan 14 voltin amplitudin PWM:ää, joten joku konvertteri ilmeisesti vaaditaan Arduinon PWM-lähtöön.
Vaihtoehtoiset lisäjutut: Näyttö, jossa näkyy ampeerit ja voltit
Yhteiskatodinen 7-segmenttinäyttö, tuplanäyttö, jossa näkyisi latausvirta (A) ja -jännite (V) rinnakkain
Ilmeisesti LCD-näyttö jäätyy tai menee ainakin jumiin alle nollan lämpötiloissa, niin siksi ajattelin näytöksi segmenttejä.
Tähän liittyvä jännitteen mittaus tulisi toteuttaa ilmeisesti jännitteenjakajalla, jos ajatellaan mittausalueeksi 0-20 volttia, niin jännitettä tulisi jakaa suhteessa 3:1 neljään osaan, jolloin mittausalue sopii Arduinolle 0-5 volttia. Vastuksilla 30 ja 10 kOhm.
Yhteenveto komponenteista
Eli varsin monisyinen paketti ja melko paljon taitaa tulla komponentteja. Tässä hieman yhteenvetoa, yritän parhaani mukaan laittaa tärkeysjärjestykseen:
Sähkökytkennät
Mitä pitää huomioida komponentteja yhdistäessä? Miten maadoitukset hoidetaan niin, etteivät laitteiston eri osien häiriöt häiritse Arduinon toimintaa? Käsitykseni mukaan, laturin/akun maata ei saisi yhdistää Arduino kortin maahan, vaan Arduino kortti maadoitetaan vain sille sähköä syöttävän virtalähteen miinukseen.
Millä tavalla PWM-lähdön maadoitus pitää hoitaa? Lataussäätimen maahan täytyy olla sama kuin itse laturin maa, joten miten laturin maa vedetään Arduinoon, kun sitä ei kai suoraan saisi häiriöiden välttämiseksi vetää Arduino kortille. Ehkäpä tämä mystinen MOSFET tulee tässä apuun!
Koodi
Tekoälyn pääosin luoma ja minun joiltakin osin muokkaamana olisi koodivedos olemassa. Ainakin se menee compilesta läpi, että hujahtaa. Mutta koodissa on varmastikin työstettävää ja virheitä. Tämä selviää, kunhan ensin olisi komponentit pöydällä.
Alkutoiminnon tarkoitus olisi siis käyttää tulpanjohdon signaalia alkutoiminnon laukaisemiseksi niin, että jos tulpanjohdolta saadaan signaali 10 sekunnin ajan, käynnistetään alkutoiminto, jossa Duty Cycle nousee potentiometrin määräämään arvoon 5 sekunnissa.
Latausvirtaan perustuva moottorin sammutusreleen toiminta pitää estää alkutoiminnon yhteydessä. Moottoriahan ei voisi käynnistää, koska latausvirta on luonnollisesti nollassa, ja rele estäisi moottorin käynnistymisen. Laitoin tulpanjohdon signaalin tarkistuksen myös tähän kohtaan.
Koodista puuttuu vielä ainakin vaihtoehtoiset hifistelytoiminnot näyttö sekä volttimittaus. Volttimittaukseen pitäisi tehdä rivi, jossa neljännesjännite kerrotaan oikeaan. Eli esim. 1 voltti on oikeasti 4 volttia.
Voisimme katsoa ensin komponentit ja sähkökytkennät ja sitten voisikin alkaa testata koodia. Toki, koska Arduinon täytyy joka tapauksessa ainakin analogituloissa saada signaalina aina 0-5 volttia (näin olen ymmärtänyt), niin mahdollisesti tuolloin vielä puuttuvia antureita on helppo simuloida tuolla jännitealueella.
Loppuyhteenveto
Kaiken kaikkiaan tässä on varmaan aika paljon asiaa ja pureskeltavaa. Toivottavasti jaksoit lukea! Odotan innolla vinkkejä ja ohjeita, kuinka tämmöinen saataisiin toteutettua. Ja sitäkin, että joku sanoo, älä nyt noin tee vaan näin!
Johdanto
Nyt olisi käsillä mielenkiintoinen projekti. Mökille olisi tarkoituksena tehdä 12 voltin aurinkosähkölle ”varavoimalaksi” tarpeeton Fordin autolaturi, jolla ladattaisiin tarpeen tullen akustoa. Tätä laturia pyörittäisi tavanomainen bensairtomoottori moniurahihnan välityksellä. Mekaaninen puoli työstä onnistuu, ja lisäksi lähtökohtana ovat riittävät kolvaustaidot ja P = UI, sekä kyky kopioida valmista koodia tehden siihen marginaalisia muutoksia, joten tästä projektista saanee hyvän kädet otsalle n00bin aloituskosketuksen elektroniikkarakentelun ja koodauksen ihmetyttävään maailmaan!
Viime aikoina olen kovasti googlaillut ja pohtinut tekoälyn (!) kanssa toteutusta. Nyt olen tullut siihen johtopäätöksen, että pää tulvii erilaisia vaihtoehtoja toteuttaa tätä proggista. Lähipiirissä ei ole elektroniikkarakentelun ja koodauksen taitavia, joten ajattelin, että on viisasta perustaa ketju tästä projektista. Tästä voi olla hyötyä kenelle tahansa oppimis- ja soveltamismielessä.
Varastosta löytyy Fordin 80 ampeerin autolaturi, joka toimii ainoastaan, kun sen lataussäädin saa PWM-ohjauksen. Tätä hoitaa autossa moottorinohjausyksikkö, eli PCM. Koska nyt laturi on saatava toimimaan irrallaan autosta, se onnistuisi Arduinon avulla, joka voisi tuottaa laturille sen tarvitseman signaalin. Laturi vaatii 14 voltin amplitudilla olevan 125 hertsin kanttiaallon Duty Cycle alueella 5-95 prosenttia, josta käyttökelpoinen alue akun nopeassa latauksessa on noin 50-70 prosenttia. Tällä alueella latausjännite on noin 14,0-14,5 volttia. Laturin säätimen sielunmaailmasta voi lukea lisää tästä. Kyseessä on Magneti Marelli -tyyppinen säädin.
Mitä järjestelmältä haluttaisiin?
- Moottorinkäynnistyksen kevennys
- Laturi tuottaa ladatessaan niin voimakkaan vastuksen, että moottori ei jaksa matalilta kierroksilta käynnistyä.
- Moottorin käynnistyttyä laturin säätimelle menevän Duty Cyclen tulee kasvaa matalalta, esim. 5 prosentista liukuvasti, esim. 5 sekunnissa käyttäjän potentiometrillä asettamaan arvoon.
- Käyttäjä voi säätää latausjännitettä Duty Cycle alueella 50-70 prosenttia helposti potentiometrillä.
- Moottorin automaattinen sytytysvirran katkaisu, kun latausvirta laskee alle määritellyn rajan (esim. 5 A).
- Käyttäjän ei tarvitse seurata vähän väliä tilannetta erikseen ja hoitaa sammuttamista manuaalisesti.
- Säänkestävät komponentit (koteloinnillahan nämä varmasti ratkeavat, potentiometri löytynee myös, joka kestää ulkoilmaa).
- Optionaalisena yksinkertainen näyttö, jossa näkyy senhetkinen latausvirta ampeereina (A) ja latausjännite voltteina (V). Arduinon yleisintä näyttötyyppiä, LCD:tä, katsottuani, voi olla ettei näyttö toimi alle 0 asteen lämpötilassa. Joten pitäisi miettiä, onko näyttö mahdollinen.
Mietitään, mitä ylläoleva voisi tarkoittaa. Aloitetaan perustoiminnasta. Arduino syöttää vaadittua 14 voltin amplitudin ja 125 hertsin PWM-signaalia laturin kyseen osaiseen pinniin. Käyttäjä voi säätää latausjännitettä Duty Cyclellä alueella 50-70 prosenttia, joka kääntyy laturin lataussäätimessä noin 14,0-14,5 volttiin.
Poikkeuksena on moottorin ja laitteiston käynnistysvaihe. Jotta moottori jaksaa varmasti käynnistyä, Duty Cyclen ja tätä kautta latausjännitteen tulee siirtyä moottorin käynnistyttyä liukuen esimerkiksi noin viidessä sekunnissa käyttäjän asettamaan, potentiometrin määräämään arvoon. Kysymys: millä moottorin käynnistyminen todetaan? Pelkkä aikaviive ei ehkä käy, jos käyttäjä ei nykäisekään moottoria siinä ajassa käyntiin?
Miten olisi moottorin käynnistymisen varmentaminen tulpanjohdosta? Esimerkiksi Bilteman kierroslukumittari toimi hienosti aikoinaan mopossa, kun kiersi mittarin johdon vain tulpanjohdon ympärille? Voisiko tätä ajatusta jotenkin soveltaa? Jos tulpanjohdolta tulee sykkimistä vähintään 10 sekunnin ajan, niin aloitetaan Duty Cyclen liukuva ylösajo?
Moottorin automaattinen sammutus, eli sytytysvirran katkaisu tapahtuu normaalilla releellä, johon Arduinon on annettava heräte, kun latausvirta laskee alle koodissa määritellyn kynnyksen, esimerkiksi 5 ampeeria.
Komponentit
Sitten voisi pohtia, mitä tähän projektiin tarvittaisiin. Homma olisi hyvä toteuttaa mahdollisimman vähällä koodilla ja komponenttien määrällä sekä hinta-laatusuhteeltaan parhaimmilla komponenteilla. Eli sellaisilla, jotka kestävät ainakin vuosia, mutta kuitenkin niin, että budjetti pysyisi alle 40 eurossa. Myös ulkomailta voidaan tilata komponentit. Luin myös Arduino-klooneista. Toivottavasti jo nykyään on luotettavia klooneja. Alkuperäinen kortti taitaa olla kolmisen kymppiä.
Tässä on ajatuksia mahdollisista ehdotuksista komponenteiksi. Huomaa, että voi olla väärin tai huonosti valittuja ainakin jotkut komponentit, koska en siis ole elektroniikkarakentelussa auttavaa kytkentäkaavion lukemista ja kolvaamista pidemmällä. Olisin mielissäni, jos ehdottaisit laittaa vaikka koko komponenttiluettelon laittaa uusiksi, jos nämä on huonoja valintoja!
Arduino kortti
PWM-lähtö
- MOSFET???
Säänkestävä potentiometri, PWM-ohjauksen Duty Cycle säätöön
- ???
Millä latausvirta on helpompi niin kytkentöjen kuin koodin kannalta mitata, virtamuuntajalla vai shunttivastuksella? Äkkiseltään shuntit olivat virta-alueelle 0-100 A turhan hintavia. Lisäksi shuntit ilmeisesti tuottavat aimo annoksen lämpöä. Onko virtamuuntaja (current transducer) taas herkkä EMILLE, eli sähkömagneettisille häiriöille, joita luulisi esiintyvän jossain määrin käyvän moottorin ja laturin läheisyydessä? Jotenkin tässä nyt kaikesta huolimatta eniten kutittelee tuommoinen virtamuuntaja, koska siinä virtapiiriin ei tarvitse kajota.
Virtamuuntaja
Releen ohjaus
Ilmeisesti myös releelle tarvitaan erillinen ohjauskortti, kun Arduino ei pysty tuottamaan niin paljon virtaa releen ensiöpiiriin.
Moottorin käynnistymisen varmennus
- ???
Virtalähteet ja konvertterit
Arduino tarvitsee luotettavan 5 voltin tasasähkön, johon tarvitsisi jonkun tasasähkölähteen, eli virtalähteen sisääntulojännite voi olla laajalla skaalalla esim. 9-20 volttia, koska se vaihtelee väistämättä ainakin sen 12-14,5 voltin välillä.
- Virtalähde (mikä?) Arduinolle ja virtamuuntajalle
Ilmeisesti Arduino ei suoraan pysty tuottamaan 14 voltin amplitudin PWM:ää, joten joku konvertteri ilmeisesti vaaditaan Arduinon PWM-lähtöön.
- Operaatiovahvistin (mikä?) ja pari vastusta (mitkä?)
Vaihtoehtoiset lisäjutut: Näyttö, jossa näkyy ampeerit ja voltit
Yhteiskatodinen 7-segmenttinäyttö, tuplanäyttö, jossa näkyisi latausvirta (A) ja -jännite (V) rinnakkain
Ilmeisesti LCD-näyttö jäätyy tai menee ainakin jumiin alle nollan lämpötiloissa, niin siksi ajattelin näytöksi segmenttejä.
- Jännitteenjakaja
Tähän liittyvä jännitteen mittaus tulisi toteuttaa ilmeisesti jännitteenjakajalla, jos ajatellaan mittausalueeksi 0-20 volttia, niin jännitettä tulisi jakaa suhteessa 3:1 neljään osaan, jolloin mittausalue sopii Arduinolle 0-5 volttia. Vastuksilla 30 ja 10 kOhm.
Yhteenveto komponenteista
Eli varsin monisyinen paketti ja melko paljon taitaa tulla komponentteja. Tässä hieman yhteenvetoa, yritän parhaani mukaan laittaa tärkeysjärjestykseen:
- Arduino kortti
UNO R3 kehitysalusta Arduino yhteensopiva kopio ilman USB kaapelia | SP-Elektroniikka Oy (spelektroniikka.fi) - 9-24 V DC-DC 5 V virtalähde Arduinolle, ja tarvittaville oheiskomponenteille, olisiko esim. 2 A, jotta varmasti riittää?
??? - Moottorin käynnistyksen varmennus komponentti; tulpanjohto TAI ensiökäämin johto
??? - Operaatiovahvistin (mikä?) ja pari vastusta (mitkä?)
??? - Säänkestävä potentiometri
??? - Virtamuuntaja
HLSR 50-P/SP3 - Lem - Current Transducer, HLSR-P Series, Open Loop (farnell.com) - Relekortti
Relekortti optoerottimella yksi 5V rele 1xvaihto, liipaisu valittavissa | SP-Elektroniikka Oy (spelektroniikka.fi) - Segmenttinäyttö
8 Digit Bit Max7219 Digital Tube Display Module Board 7 Segment Digital Led Display 5v/3.3v Controller For Arduino 51/avr/stm32 - Integrated Circuits - AliExpress - Jännitteenjakokytkentä, jännitteen mittaukseen
10 ja 30 kOhmin vastukset
Sähkökytkennät
Mitä pitää huomioida komponentteja yhdistäessä? Miten maadoitukset hoidetaan niin, etteivät laitteiston eri osien häiriöt häiritse Arduinon toimintaa? Käsitykseni mukaan, laturin/akun maata ei saisi yhdistää Arduino kortin maahan, vaan Arduino kortti maadoitetaan vain sille sähköä syöttävän virtalähteen miinukseen.
Millä tavalla PWM-lähdön maadoitus pitää hoitaa? Lataussäätimen maahan täytyy olla sama kuin itse laturin maa, joten miten laturin maa vedetään Arduinoon, kun sitä ei kai suoraan saisi häiriöiden välttämiseksi vetää Arduino kortille. Ehkäpä tämä mystinen MOSFET tulee tässä apuun!
Koodi
Tekoälyn pääosin luoma ja minun joiltakin osin muokkaamana olisi koodivedos olemassa. Ainakin se menee compilesta läpi, että hujahtaa. Mutta koodissa on varmastikin työstettävää ja virheitä. Tämä selviää, kunhan ensin olisi komponentit pöydällä.
Alkutoiminnon tarkoitus olisi siis käyttää tulpanjohdon signaalia alkutoiminnon laukaisemiseksi niin, että jos tulpanjohdolta saadaan signaali 10 sekunnin ajan, käynnistetään alkutoiminto, jossa Duty Cycle nousee potentiometrin määräämään arvoon 5 sekunnissa.
Latausvirtaan perustuva moottorin sammutusreleen toiminta pitää estää alkutoiminnon yhteydessä. Moottoriahan ei voisi käynnistää, koska latausvirta on luonnollisesti nollassa, ja rele estäisi moottorin käynnistymisen. Laitoin tulpanjohdon signaalin tarkistuksen myös tähän kohtaan.
Koodista puuttuu vielä ainakin vaihtoehtoiset hifistelytoiminnot näyttö sekä volttimittaus. Volttimittaukseen pitäisi tehdä rivi, jossa neljännesjännite kerrotaan oikeaan. Eli esim. 1 voltti on oikeasti 4 volttia.
Voisimme katsoa ensin komponentit ja sähkökytkennät ja sitten voisikin alkaa testata koodia. Toki, koska Arduinon täytyy joka tapauksessa ainakin analogituloissa saada signaalina aina 0-5 volttia (näin olen ymmärtänyt), niin mahdollisesti tuolloin vielä puuttuvia antureita on helppo simuloida tuolla jännitealueella.
Loppuyhteenveto
Kaiken kaikkiaan tässä on varmaan aika paljon asiaa ja pureskeltavaa. Toivottavasti jaksoit lukea! Odotan innolla vinkkejä ja ohjeita, kuinka tämmöinen saataisiin toteutettua. Ja sitäkin, että joku sanoo, älä nyt noin tee vaan näin!

Viimeksi muokattu: