torstai 27. joulukuuta 2018

Projekti: Koronaäänen havainnointi dronella





Tämä esiselvitysprojekti on toteutettu 2018 Savonia amk:ssa Drone lentoon! -hankkeessa, jonka rahoituksessa on mukana Euroopan Unionin Euroopan sosiaalirahasto.

lauantai 8. syyskuuta 2018

DPS-ohjainkortin lopputestaus

Kortti uudella ohjelmoimallani prosessorilla on testattu nyt kahdessa eri traktorissa. Ensimmäisessä testissä tuli esille ongelma, jossa kortti ei ohjannut solenoideja vaikka testipenkissä kaikki näytti olevan OK.

DPS-ohjainkortti uudella prosessorilla


Vika oli tietenkin ohjelmakoodissa ja johtui virheestä, joka jäi havaitsematta siksi, että testausta testipenkissä ei oltu mietitty aivan loppuun saakka: testasin korttia siten, että öljynpaineanturilta tuleva tieto oli heti normaalitilaa vastaava, vaikka näinhän todellisuudessa ei suinkaan ole. Kun virrat laitetaan päälle, öljynpaine on alhaalla siihen saakka, kunnes moottori on käynnissä. Tätä en ollut ohjelmakoodissa ottanut huomioon ja kun koodissa otetaan kiinni tilanne, jossa öljynpaine ei ole normaali, niin tätä käsittelyä en käynnistyksen yhteydessä ollut koodannut oikein.

Ongelma oli sen löytämisen jälkeen helposti fiksattu ja koodin muokkaamisen jälkeen kortti tuntuisi toimivan alkuperäisen sekvenssin mukaisesti. Lapsuksia sattuu aina koodatessa ja tämäkin keissi osoitti, että testausta pitää aina miettiä huolellisesti sekä suunnitella ja toteuttaa se siten, että todelliset käyttötapaukset tulevat testatuiksi.

Lopullisen testauksen yhteydessä varmistin vielä, että ohjauksen sekvenssit ja ajastukset ovat Valtran alkuperäiskortin kanssa yhdenmukaiset. Otin siis talteen kortin lähdöistä logikka-analysaattorilla tulo- ja lähtösignaalien aikakaaviot, ja ne on esitetty alla olevassa kuvassa. Kaavioissa on ensin aiemmat mittaukset Valtran alkuperäiskortilta, sen jälkeen oman toteutuksen vastaavat signaalit.

Ensimmäisessä kuvaparissa on tehty vaihto DPS I:ltä III:lle, alimmaisessa DPS III:lta I:lle (DPS A ja B on solenoidin ohjaus, DPS + ja - on ao. vaihtonappi). Sekvenssit ja ajastukset ovat omassa toteutuksessa riittävällä tarkkuudella samat kuin alkuperäisellä, joten kortti toimii alkuperäisen kaltaisesti. Myöskään käytössä ei havaittu mitään tuntuvaa tai korvin kuultavaa eroa.

Ajastusten mittaukset traktorissa

Kesän aikana sain käsiini vielä yhden prossuvikaisen kortin vm. -95, näitä tulee varmaankin koko ajan lisää vanhojen prossujen tullessa elinikänsä päähän. Tämä ongelma tuntuu olevan tyyppivika ja uskon, että suuri osa noista -90-luvun korteista tulee lähivuosina lopettamaan toimintansa prosessorin lakatessa toimimasta! Mielenkiintoista seurata, kuinka monta näitä prossupäivityksiä lähiaikoina tuleekaan...

Tällä erää katson homman olevan finaalissa ja uskallankin tarjota seuraavalle varaosakorttia haeskelevalle toimivaa ohjainkorttia uudella prosessorilla. Valmiiksi ohjelmoituja prosessoreita varustettuna kortille suoraan sopivalla sovittimella myyn hintaan 60,00 euroa/kpl + pk. Siis tarvitsijoille, jotka osaavat vaihtaa prossun kortille tai testaan kortin ja vaihdan tarvittaessa siihen prosessorin hintaan 100,00 euroa. Jos kortilla on muuta vikaa, korjaan sen kuntoon seuraavan hinnaston mukaisesti (tyypillisimmät viat):
  
Vikatyyppi Hinta
Virtalähteen kondensaattorit (2 kpl) 50,00
Solenoidien ohjausfetit (2 kpl) 100,00
Merkkivalojen ohjausfetit (2 kpl) 100,00
Prosessorin vaihtaminen 100,00
Prosessori varaosana 60,00
Viallisten SMD-piirien vaihtaminen 50,00 /kpl
Muut komponenttiviat alk. 50,00
Testattu kortti vaihto-osana 140,00
Testaaminen (sis. korjauksiin) 40,00



Useampien yhtäaikaisten vikojen

korjaaminen enintään 120,00 euroa.




Prosessori sopii vain kuvan mukaiseen korttimalliin:



 

perjantai 10. elokuuta 2018

Projekti: lataustehon parantaminen Tristan 820 -veneessä

Akkujen lataamisen ongelmat veneessä


Venemoottoreissa käytössä olevat laturit on suunniteltu pääosin autokäyttöön. Autossa akkua tarvitaan lähinnä käynnistykseen, jolloin akun kapasiteetista käytetään vain hyvin pieni osa kun taas venekäytössä ns. hupiakkujen kapasiteetista käytetään ajon ulkopuolisena aikana tyypillisesti 40-80%. Venemoottoreissa käytettäviä vakiolatureita ei ole suunniteltu lataamaan puolityhjiä akkuja. Vaikka moottoriajoa tulisi riittävästi, akku ei välttämättä täyty. 

Siis: autokäytössä akkua tarvitaan vain käynnistykseen ja laturi ja sen säädin ovat ensisjaisesti suunnitellut  tuottamaan ajon aikana tarvittava sähköenergia kun taas venekäytössä laturia tarvitaan ensisisijaisesti tyhjien hupiakkujen lataamiseen.

"Jos akun varauskapasiteetista käytetään yli puolet eikä akkua saada heti käytön jälkeen ladattua täyteen, tilanne voi olla sekä latauksen että myös akun elinkaaren kannalta katastrofaalinen. Sähköä ei riitä ja akku joudutaan vaihtamaan muutaman kauden jälkeen. Kuulostaako tutulta?"

Akkujen lataamisesta, lataamiseen liittyvistä ongelmista sekä lataamisen teoreettista taustaa on valotettu tässä Tuomaksen blogikirjoituksessa, josta olen myös tähän kirjoitukseeni ottanut muutamia lainauksia. Artikkeli kannattaa lukea kokonaisuudessaan tämän jutun taustatiedoksi!

Tyypillinen latausjärjestely veneessä


"Venemoottoreiden laturit ja latureiden jännitteensäätimet ovat siis tyypillisesti tavallisia autokäyttöön tarkoitettuja laitteita. Ne on suunniteltu tuottamaan akkuun se pari ampeerituntia, jonka auton käynnistys (tai start-stop -toiminto) vie sekä tämän jälkeen tuottamaan sähköteho auton sähkölaitteisiin ja ylläpitämään jännitettä, jolla akku ei purkaudu tai ala tuottaa kaasua.

Laturin yhteydessä oleva jännitesäädin on tehty toimivaksi kaikille akkutyypeille siten, että ylilatauksen tai kaasuuntumisen vaaraa ei ole olemassa. Perussäädin on monessa suhteessa kompromissi eikä toimi hyvin varsinkaan venekäytössä. Säätimen normaalijännite on yleensä varmuuden vuoksi niin matala, että akut eivät ala kaasuuntua missään olosuhteissa, tyypillisesti 13,8-14,2 volttia.

Normaalia alemman latausjännitteen lisäksi veneen latausvirtapiireissä on merkittäviä resistansseja, jotka pudottavat akulla näkyvää latausjännitettä edelleen. Suurin resistanssi liittyy kaksiakkujärjestelmissä usein käytettäviin jakodiodeihin, jotka estävät käynnistys- ja käyttöakun purkautumisen toisiinsa. Isoilla latausvirroilla jännitepudotus diodissa saattaa olla jopa 0,6-0,8 volttia. Hapettuneet liittimet ja kustannussyistä usein käytetyt liian ohuet johdot saattavat pudottaa jännitettä isoilla virroilla jopa 1 voltin. Myös löysä laturin hihna saattaa pudottaa latausjännitettä muutamia voltin kymmenyksiä.

Edellä mainituista syistä käyttöakkujen latausjännite ei moottorilatauksessa nouse välttämättä edes ylläpitoon riittävälle tasolle, saati tasolle jota tulisi latauksen absorptiovaiheessa käyttää. Lopputuloksena on, että käyttöakut eivät moottorilatauksella lataudu juurikaan lyhyiden lataussyklien aikana, eivätkä akut lataudu täyteen edes vaikka moottorilla ajettaisiin pitkään. Täyttä kapasiteettia ei saada käyttöön ja akut ovat vaarassa sulfatoitua. Jos mahdollisen aurinkopaneelinkaan säädin ei nosta jännitettä riittävästi ja maasähkölaturi ei ole älykästä sorttia, sulfatoitumiskatastrofi on valmis."

Akkujen varaustilaa on helppo seurata mittaamalla kuormittamattoman akun napajännite hyvälaatuisella yleismittarilla. Tarkka varaustila selviää vain mittaamalla akkunesteen ominaispaino, mutta seuraavat napajännitearvot antavat riittävän tarkan aproksimaation:


Lyijyakkua ei tulisi koskaan purkaa alle 50% sen kapasiteetista eli napajännitteen ei tulisi alittaa 12,2V. Mitä vähemmän akkua purkaa ja mitä täydemmäksi sen saa käytön jälkeen ladattua, sitä pitempi elinikä akulle on odotettavissa. Ns. syväpurkausakut kestävät paremmin purkaussyklejä, mutta niitäkin koskevat samat yleiset lyijyakkujen rajoitukset.

Mittauksia omassa veneessä


Veneessäni on Boschin 90 ampeerin vakiolaturi, hupiakkuina 2x95Ah Boschin suljettuja lyijyakkuja ja käynnistysakkuna 85Ah AGM-akku. Lisäksi kiinteästi asennettu alykäs maasähkölaturi ja 90W aurinkopaneeli älykkäällä MPP-säätimellä. Älykkyys näiden laureiden kohdalla tarkoittaa sitä, että lataus suoritetaan kolmivaiheisesti kuten Tuomaksen blogikirjoituksessa on latausresepteistä kerrottu.

Ongelmaksi on muodostunut, että normaalien päiväsiirtymien aikana (1-3 tuntia) hupiakut eivät kunnolla lataudu, tosin aurinkopaneelista ja ennen kaikkea määsähkölaturista on apua akkujen koko kapasiteetin saamiseksi käyttöön.

Vaikka luulisi, että puoliksi tyhjät hupiakut saisi veneeni 90 ampeerin laturilla täyteen parissa tunnissa, niin käytännössä näin ei suinkaan ole. Syynä on sekä laturin säätimen asettamat rajoitukset että akkujen kemiasta johtuva syyt.

Mittasin laturin käyttäytymistä tapauksessa, jossa puoliksi tyhjiä hupiakkuja (napajännite lähtötilanteessa 12,2-12,3V) ladataan tyypillistä ajon aikaista koneen kierroslukua käyttämällä:

Akuille tulevaa virtaa mittasin pihtivirtamittarilla akuille tulevasta miinusjohtimesta ja latausjännitettä yleismittarilla akun navoista. Kuvasta näkyy, että 90A laturi antaa parhaimmillaan n. 60A virtaa ja lisäksi se, että virta alkaa jo alle puolessa tunnissa laskemaan jyrkästi. Tämä johtuu siitä, että latauksen aikainen akun napajännite nousee varsin nopeasti jolloin jännitteen noustessa laturin säädin alkaa rajoittamaan virtaa. Kun napajännite nousee säätimen rajajännitteeseen (tässä tapauksessa 14,2V), latausvirta putoaa nopeasti hyvin pieneksi. Laturin säädin ei myöskään mittaa akkujännitettä vaan laturin lähtöjännitettä, joka on yleensä suurempi johtuen mm. akuille menevissä johtimissa tapahtuvissa jännitehäviöistä.

Akkujen lataamista voitaisiin turvallisesti ja pitäisi jatkaa n. 0,2-0,3C:n virralla (0,3 x 190A = 57A) ainakin 2-3 tuntia, jolloin varaustila (State Of Charge, SOC) olisi luokkaa 80%. Kuvasta näkyy, että pitkälläkään ajolla ei päästä edes 80% varaustilaan eikä laturilla todennäköisesti saada akkuja täyteen koskaan!

Älykkyyttä lataukseen


Latausmenetelmää voidaan parantaa periaatteessa kahdella tavalla:
  • lisäämällä laturin jälkeen erillinen laite, joka ottaa laturista (tarvittaessa) maksimitehon ja säätää akuille menevää latausvirtaa ohjelmoidun algoritmin ja suoraan akuista tehtävän mittauksen mukaisesti (ulkoinen laturilta-akkuun laturi)
  • vaihtamalla laturin jännitesäädin mikroprosessorilla ohjattuun, jolloin latausalgoritmi saadaan optimoitua 3- tai 4-vaiheisen latausmenelmän mukaiseksi (ulkoinen laturin jännitesäädin)
Ensimmäistä vaihtoehtoa on käsitelty aiemmin viittaamassani Tuomaksen blogikirjoituksessa ja jälkimmäistä vaihtoehtoa käsittelen tässä jutussa. Tuomaksen käyttämän laitteen käyttöönotossa on kaksi syytä, joiden takia päädyin valinnassani eri lopputulokseen:
  • hinta (400-500 euroa)
  • laturilta akulle menevän kaapeloinnin uudelleen järjestely (paksut kaapelit -> hankala ja hinnakas asennus)

Koska laturin ja akkujen välinen kaapelointi on omassa veneessäni kunnossa, päädyin siis valitsemaan edullisemman parinsadan euron hintaisen vaihtoehdon, jossa laturin sisäisen säätimen rinnalle asennetaan älykäs ulkoinen säädin. Säätimeksi valitsin Sterling Pro Reg D:n, jonka tilasin saksalaisesta verkkokaupasta svb.de:stä. Valitsin varmuuden vuoksi tämän jämäkämmän mallin, vaikka viitisenkymppiä edullisempikin malli Digital High Performance Regulator olisi minulle riittänyt. Tilasin laitteen tiistaina ja DHL:n lähetti toi sen seuraavana maanantaina kotiin saakka. Toimituskulut olivat vain 8,95 e!

Kytkentä


Odotusaikana hahmottelin kytkentää, jolla säädin saadaan käyttöön:


Fyysisesti laite tulee akkujen kanssa samaan tilaan, josta laturille on matkaa <50 cm. Kytkentä on sinänsä selkeä ja yksinkertainen: laitteen latausjännitteen mittausjohto menee suoraan akuille, tosin tapauksessa, jossa startti- ja hupiakut on erotettu päävirtakytkimellä, mittausjohto (punainen) pitää viedä päävirtakytkimen common-napaan. Tässä kohtaa hieman oikaisin johtuen siitä, että päävirtakytkin on veneessäni hankalassa paikassa, joten mittausjohto tulee pääkytkimeltä startille tulevan 50 mm2 johdon startin puoleiseen päähän. Jännitehäviötä ei pääkytkimen ja kytkentäkohdan välillä pitäisi merkittävästi syntyä.

Laturin lähtöjännitettä mitataan (ruskea) laturin D+ -navasta, samaan napaan voi kytkeä myös laitteen ON/OFF- eli IGN-tulon (keltainen). Lisäksi tuplamaajohto (2xmusta) laturin miinusnapaan ja referenssimaa (musta/valkea) suoraan akun miinusnapaan. Mukana tulee kaksi lämpötila-anturia, toinen akulle ja toinen laturille. Kytkin pelkästään akulle menevän anturin toisen hupiakun miinusnapaan.

Kytkeminen laturin jännitesäätimeen on ainoa hieman hankalampi kohta toteuttaa. Laturin oma sisäinen jännisäädin (Voltage Regulator) on toteutettu alla olevan mukaisesti:

Sisäisessä säätimessä on kaksi hiiliharjaa, joiden kautta magnetointivirta viedään roottorin liukurenkaille ja edelleen käämille. Magnetointivirralla säädetaan laturin staattorilta saatavaa jännitettä (ja virtaa). Säätimiä on kaksi perustyyppiä: negatiivinen ja positiivinen. Nimitys riippuu siitä, onko säädin sijoitettu roottorin käämin miinus- vai pluspuolelle. Käytännössä kaikki eurooppalaiset laturit ovat varustetut negatiivisella eli kuvan mukaisella säätimellä: roottorille menee suoraan plusjännite (D+) ja varsinainen säädin on roottorin käämin ja miinuksen (D-) välissä. Positiivisessa säätimessä roottorin käämin toinen pää on kytketty suoraan miinukseen ja säädin säätää käämille tulevaa jännitettä.

Tässä yhteydessä on hyvä mainita, että käynnistyäkseen laturin roottorin käämille pitää viedä pieni herätevirta, joka tulee yleensä latauksen merkkilampun kautta. Kun laturi alkaa tuottamaan virtaa, D+ jännite nousee >12V, jolloin lamppu sammuu, koska sen molemmilla puolilla on sama jännite. Laturin merkkilampun palaminen (siis kun lampun hehkulanka palaa poikki) aiheuttaa sen, että laturi ei lataa eikä rikkinäinen merkkivalo tätä tietenkään ilmaise. Tämä takia on syytä muistaa aina varmistaa, että virtojen päällekytkemisen jälkeen merkkilamppu palaa (siis että siinä on valo). Hätätapauksessa vikatilanteessa laturin saa lataamaan viemällä laturin D+ napaan akulta lyhyen aikaa 12V jännitteen.

Kytkennän toteuttaminen ja laitteen käyttöönotto


Ulkoinen säätimen ohjausjohdin (valkoinen) kytketään siis suoraan laturin sisäisen säätimen hiiliharjaan. Laturin omaan säätimeen ei tule muita muutoksia eli se saadaan tarvittaessa käyttöön irroittamalla valkoinen ohjausjohdin tai automaattisesti, jos ulkoinen säädin havaitsee virhetilanteen.

Boschin laturin jännitesäädin sijaitsee laturin takaosassa ja sen voi irroittaa laturin ollessa paikallaan avaamalla säätimen kaksi ristipääruuvia ja vetämällä säädin varovaisesti ulos:



Irroitettuna säädin näyttää tältä:


Ulkoisen säätimen ohjausjohto (valkoinen) kytketään säätimen DF-napaan. Helpointa kytkentä on tehdä juottamalla hiiliharjan juotoskohtaan lyhyt johto ja varustaa se sopivalla liittimellä. Liitin helpottaa asennustyötä ja tarvittaessa ulkoisen säätimen voi poistaa käytöstä irroittamalla tämän johdon. Juottamisen jälkeen säädin näyttää tältä:





Ulkoisen säätimen asentamista varten mittasin ensin veneessä johtimien tarvittavat pituudet, katkaisin johdot määrämittoihin ja sen jälkeen asensin johtojen päihin laadukkaat eristämättömät messinkiset rengasliittimet käyttämällä näille liittimille tarkoitettua puristustyökalua. Johdot pujotin muovisukkaan, jolla ne saa siististi niputettua:



Ulkoisen säätimen oletusasetukset (käyttöjännite, akkutyyppi ja pos/neg-säädin) ovat yleensä sopivat, mutta ennen käyttöönottoa on laitteen ohjekirjasta syytä vielä varmistaa, että asetukset ovat juuri oman kokoonpanon mukaiset.

Tämän jälkeen liittimet kiinni laturiin ja muihin kytkentäpisteisiin, laite paikoilleen ja koekäyttö. Laturi on hyvä myös puhdistaa, ettei esim. W ja D+ -navat mene sekaisin. Ainakin Boschissa nämä navat ovat hyvin samannäköiset ja jos merkinnöistä ei saa selvää, kannattaa navat selvittää mittaamalla:  kone käyntiin ulkoinen säädin poiskytkettynä, jolloin D+ -navassa on >12VDC jännite kun taas W-navassa on 7-8VDC jännite.

Ennen ensimmäistä käyttöä on syytä vielä tupla- tai triplatarkastaa kytkentöjen oikeellisuus. Lisäksi ennen valkoisen ohjausjohtimen yhdistämistä pitää vielä varmistaa mittaamalla latausjännite, että laturin oma modifioitu säädin toimii normaalisti.  






Parhaimman tehon säätimestä saa ohjekirjan mukaan käytettäessä avoimia lyijyakkuja. Siis sellaisia, joissa akun kennojen nestetiloihin on korkit, joiden kautta vettä voidaan tarvittaessa lisätä. Koska akkuja ladataan suuremmalla virralla, myös vedenkulutus kasvaa eli akkujen vedenkulutusta pitää tarkkailla säännöllisesti ja vettä on lisättävä tarvittaessa. Suljettuja- ja geeliakkuja ladataan maltillisemmalla virralla, jotta akut eivät pääse "kiehumaan".

Tässä vielä yksi PDAR:n asennusohje englanniksi Lucasin laturille (parempi kuin laitteen ohjekirjan ohjeet): http://www.waterexplorer.co.uk/hosted/detailed-guide-to-installing-sterling-advanced-regulator-pdar.pdf

Jatkotoimet


Tässä vaiheessa olen vasta varmistanut, että laite lähti käyntiin eli merkkivalot ovat normaalit eikä mitään varoitusvaloja ei vilku. Latausjännite nousi 14,5 volttiin eli säädin alkoi hoitamaan tehtäväänsä. Seuraavaksi testaan laitetta käytännössä ja jossain vaiheessa teen samat mittaukset kuin jutun alussa mainutulla laturin vakiosäätimellä. Tuloksia julkistan, kunhan niitä on käytettävissä...

Päivitys 9.11.2020: Säädin toimi odotusten mukaisesti eli latausjännite pysyi korkeana pitemmän aikaa ja latausvirta kasvoi, tosin en tullut mitanneeksi virtaa pitemmällä otoksella eli lopulliset tulokset jäävät nyt julkaisematta (varsinkin, kun vene tuli myydyksi loppusyksystä). Näppituntumaksi kuitenkin jäi, että hankinta oli hintansa arvoinen. Napajännitemittauksen perusteella akut latautuivat säätimellä täyteen lyhyemmillä matkoilla kuin aiemmin.


täkyt: Sterling Pro Reg D, PDAR, smart regulator, install, Bosch, alternator

keskiviikko 25. heinäkuuta 2018

Projekti: Volvo Penta -kierroslukumittari

Google (not so good...) translation: https://translate.google.com/translate?sl=fi&tl=en&u=https://valtrari.blogspot.com/2018/07/projekti-volvo-penta-kierroslukumittari.html

Google översättning (inte särskilt bra...): https://translate.google.com/translate?sl=fi&tl=sv&u=https://valtrari.blogspot.com/2018/07/projekti-volvo-penta-kierroslukumittari.html

Veneessäni on Volvo Penta KAD42-dieselmoottori vuosimallia 1991 ja siihen liittyvässä mittaristossa VDO:n valmistama analoginen kierroslukumittari (varaosanro 854911). Parin viimeisen vuoden aikana mittari on toiminut lähinnä satunnaisesti ja olenkin yrittänyt metsästää sen tilalle samanlaista mielellään käytettynä, koska tätä mallia mekaanisella tuntilaskurilla ei enää ole valmistettu vuosikausiin. Korvaana mittarina tarjolla on varaosanro 873992, jonka hinta on 300-400 euroa ja tämä malli on varustettu LCD-näytöllisellä tuntimittarilla.

Kierroslukumittari lähtötilanteessa



Koska varaosan hinta on mielestäni kohtuuton eikä käytettyä mittaria ole löytynyt, päätin alkaa tutkimaan olisiko nykyinen mittari korjattavissa. Aluksi soittelin kaikki löytämäni mittarikorjaamot läpi, mutta yksikään niistä ei ollut halukas korjaushommiin. Googlettamalla ei tästä aiheesta juttuja löytynyt, osumat olivat lähinnä kuvauksia vastaavista ongelmista kuin minullakin esiintyi: virtojen päälle laittamisen jälkeen viisari meni maksimiin, ja jossain vaiheessa mittari alkoi näyttämään järkeviä lukemia tai sitten ei...

Vika toimimattomuuteen voi tietenkin olla mittarin ulkopuolellakin. Ennen mittarin irroittamista varmistin, että mittarille tuleva jännite (+12V) on ok ja että myös maadoitus (-) on kunnossa. Kierroslukutieto tulee vaihtovirtageneraattorin W-navasta vaihtojännitesignaalina, jonka Vrms on n. 6-8 V ja f = n. 150...1000 Hz kierrosluvusta riippuen.

Signaali kannattaa mitata johtosarjan mittarin puoleisen pään liittimestä yleismittarin AC-alueella, jolloin jännitteen pitäisi olla luokkaa 8 VAC. Jos yleismittarissa on myös taajuusmittaus, kannattaa varmistaa myös signaalin taajuus ja että se kasvaa lineaarisesti kierrosluvun mukaan. Tarkemman tuloksen saa tietenkin oskilloskoopilla mittaamalla, mutta hyvätasoinen yleismittarikin antaa riittävän luotettavan tuloksen. Laturilta tuleva signaali näyttää oskilloskoopilla mitattuna tältä:

Signaali vaihtovirtageneraattorin W-navasta
 

Signaalin taajuus voidaan määrittää, kun tiedetään kampiakselin ja laturin hihnapyörän välityssuhde. Välitys vaihtelee konetyypeittäin, yleisimpien konemallien välityssuhteet selviävät mm. tästä dokumentista: yachtboatparts.com/ekmps/shops/boatspares/resources/Other/tachometer-instructions-23715875.pdf

Omassa veneessäni KAD42:n välityssuhde on 1:2,45 ja laturi antaa 6 pulssia/kierros. Kierroslukua vastaavat laturin antaman signaalin taajuudet (pulssia sekunnissa) voidaan laskea kaavalla f = (rpm/60) * 2,45 * 6:



rpmf(Hz)
1000 245
2000 490
3000 735

Kotioloissa liitin mittarin plussan ja miinuksen +12 VDC virtalähteeseen sekä W-tulon signaaligeneraattoriin, jossa valitsin kanttiaaltosignaalin Vpp = 10 V. Mittarin neula pysyi maksimissa eikä taajuuden muuttaminen vaikuttanut näyttöön millään tavalla. Eli mittarissa on todella jotain vikaa.

Seuravaksi tutkin miten mittarin saa purettua. Mittarin koneisto ja elektroniikka on "peltipöntössä", josta etupään uloin muovikaulus irtoaa kiertämällä. Tämän jälkeen näkyy, että etuosaan on stansattu metallikaulus, jonka saa irti ainoastaan lievää väkivaltaa käyttäen taivuttamalla reunaa kotelon puolelta ulospäin. Sahasin kauluksen alareunan yhdestä kohtaa Dremelillä poikki, jonka jälkeen kauluksen reunan sai varovasti taivuteltu ruuvimeisselillä siten, että kauluksen sai vedettetyä pois. Myöhemmin olen huomannut, että kauluksen saa pois ilman sahaamistakin, mutta tämä vaatii sopivat työkalut ja reunuksen varovainen taivuttelu vähän kerrallaan vie kohtuullisen paljon aikaa.

Tämä jälkeen saa nostettua mittaritaulun päällä olevat suojalasit ja metallikehikon pois. Laseja on päällekkäin kaksi ja niiden välissä tiiviste. Kerrosrakenteella ilmeisesti pyritään estämään suojalasin huurtuminen. Mittaritaulun päällä on vielä irrallinen metallikehikko ja pahvitiiviste. Nämä poistamalla mittarikoneiston saa vedettyä ulos kun vielä kotelon takapäästä neljä uraruuvia on irroitettu.
 

 Mittarin kotelo metallikaulus poistettuna

Tämän jälkeen käsissä onkin mittarin mekaniikka ja siihen liittyvä piirikortti. Piirikortilta lähtevät johtimet tuntimittarille (3 kpl) ja viisaria pyörittävälle kelalle (2 kpl). Johtimet kannattaa irroittaa tässä vaiheessa pienellä juotoskolvilla ja merkitä piirilevylle kohdat, joihin ne on juotettu.

Sitten yläpuolelta kolme (tai joissain versioissa neljä) piirilevyä paikallaan pitävää uraruuvia pois, jolloin piirilevyä pystyy hieman kallistamaan. Piirilevy ei vielä mahdu tulemaan ulos vaan ensin on poistettava liitinrungossa olevat urospuoleiset abikoliittimet (5 kpl). Liittimet irtovat, kun sopivalla työkalulla painaa piirilevyn puolelta liittimissä olevat lukitusnastat alas ja vetää liittimet ulos. Tämä toimenpide on kohtalaisen hankala ja vaatii oikean muotoisen piikin, jolla lukitusnastan saa vapautettua. Lukitusnastan asento kannattaa painaa mieleen sillä liittimet pitää kootessa asentaa samaan asentoon (lukitusnastat ovat siis piirilevyn kapeamman pään puolella), muuten niiden irroittaminen jatkossa on lähes mahdotonta! Kun liittimet on poistettu, piirilevyn saan kolostaan helposti pois.

Mittarin sisuskalut

Piirilevyn yläpuoli ja irroitettu abikoliitin

 Meisselistä dremeloitu työkalu abikoliittimien irroittamiseen

Seuraavaksi tein hieman reverse engineering -työtä ja perehdyin elektroniikan kytkentään ja toimintaan. Kytkennän selvittelyssä käytin hyväksi digikameraa ja Photoshoppia: kameralla kuva levyn molemmista puolista mahdollisimman tarkkaan samasta kohtaa ja samalta etäisyydeltä, sitten kuvat päällekkäin omiksi tasoiksi Photoshopissa. Alapuoli pitää kääntää vaakatasossa 180 astetta, jolloin sen päälle voi laittaa komponenttipuolen näkyviin. Kytkentöjen jäljitys on tämän jälkeen helppoa, kun Photoshopissa valitsee näkyviin joko vain piirilevyn alapuolen tai molemmat puolet päällekkäin. Komponenttipuolelta olen poistanut komponenttien ulkopuoliset alueet, jolloin levyn alapuolen saa näkyviin ikään kuin yläpuolelta "läpikatsottuna".

Mittarin piirilevy irroitettuna

 Piirilevy komponentteineen Photoshopissa

Piirilevyn alapuoli komponenttipuolelta katsottuna (kuva käännetty 180 astetta)

Piirilevyllä on pari mikropiiriä, kide, kolme transistoria ja joukko passiivikomponentteja. Juotosvikojen lisäksi potentiaalisia vikapaikkoja ovat puolijohteiden lisäksi vain levyllä olevat kaksi elektrolyyttikondensaattoria ja kaksi tantaalikondensaattoria sekä kide.

Mekaanista tuntimittaria pyörittävän moottorin toiminta on ohjattu kiteellä, jonka jälkeen on jakajapiiri ja transistorit 2xBC337 ja BC557. Eli jos tuntimittari ei toimi (moottori ei pyöri) kannattaa ensin mitata kiteen toimivuus oskilloskoopilla (kide saattaa lakata värähtelemästä ikääntyessään) ja jos se on kunnossa, vaihtaa sen enempää tutkimatta elkot, trankut ja jakajamikropiiri (yhteisarvoltaan <5 euroa) uusiin. Elektrolyyttikondensaattorit kannattaa joka tapauksessa aina vaihtaa, koska ne voivat kuivua vanhetessaan. Samoin kannattaa kaikki juotokset uudistaa juotoskolvilla, jotta mahdolliset juotosviat saa suljettua pois.

Kierroslukumittarin toiminta on vielä yksinkertaisempi: input tulee vaihtovirtageneraattorin W-navasta mikropiirille, joka tekee taajuus-virta-muunnoksen ja piirin output menee suoraan viisaria liikuttavalle galvanometrille. Vikapaikkoja ei käytännössä ole muita kuin edellä mainitut kondensaattorit ja tämä kyseinen mikropiiri. Mikropiirin saatavuus on aika heikkoa, koska se on poistunut tuotannosta, mutta onneksi netistä piirejä kuitenkin vielä löytyy.

Mittarin kytkentä piirilevyltä jäljitettynä kierroslukumittarin osalta on suurin piirtein tälläinen:
Kierroslukumittarin kytkentäkaavio

Vaihdoin ensin kondensaattorit uusiin vastaaviin ja kävin kaikki juotokset läpi, mutta tästä ei ollut apua. Testausta varten asensin piirilevyn paikoilleen, juotin johtimet kiinni ja asensin urosliittimet varovasti siten, että lukitus ei vielä mennyt paikoilleen sekä kytkin W-tulon signaaligeneraattoriin. Mittarin galvanometrille menevä jännite pysyi vakiona eli vika on mitä ilmeisemmin taajuus-virta-muuttajapiirissä. Seuraavaksi kokeilin jäähdyttää mikropiiriä kylmäspraylla ja sitten lämmittää varovasti kuumailmapuhaltimella. Yllättäen mittari alkoi toimimaan, kun piiriä oli lämmitetty!

Mikropiiri on siis todennäköisesti viottunut sisäisesti siten, että joku bondauslanka on heikosti kiinni, jolloin kun piiriä riittävästi lämmitetään, niin metallin laajentumisen ansiosta kontakti palautuu. Tämä selittää myös sen, että mittari toimi ajoittain ilmeisesti juuri lämpötilan vaihteluista riippuen.

Tilasin uuden piirin ja saatuani piirin pitkähkön odottelun jälkeen otin vanhan irti ja asensin uuden tilalle. Testaus, mittari kasaan ja asennus paikoilleen veneeseen. Kootessa kannattaa myös oikoa mahdollisesti lasien alla oleva irronnut tiiviste ja liimata se kevyesti kiinni kehikkoon. Pahvisen tiivisteen irtoaminen ja mutkittelu näyttää olevan tavallinen ilmiö monessa näkemässäni mittarissa.

Vaihdetut komponentit



Mittarin kokoonpanoa olen käsitellyt tässä toisessa blogikirjoituksessani, jossa käsitellään saman mittarimallin tuntimittarin korjaamisesta.


Lopputestaus osoitti mittarin heränneen henkiin ja säästin rahaa satoja euroja. Työtä ja opiskelua tässäkin projektissa tietenkin oli jonkin verran, toivottavasti joku toinenkin saa mittarinsa kuntoon näillä vinkeillä.

Korjattu mittari veneessä tyhjäkäyntikierroksilla



Jos askartelu elektroniikan kanssa ei tunnut luontevalta, ota yhteyttä ari.torpstrom@kolumbus.fi tai soita 040-8343 871, niin sovitaan mittarin korjaamisesta. Teen korjauksen kiinteään hintaan 90 euroa + postikulut, ja jos en saa mittaria kuntoon, maksat ainoastaan postikulut. Hieman halvemmalla eli 50 eurolla vaihdan Volvo Pentan kierroslukumittarin uudemman mallin (873660. 873593. 873998, 873992, 873998, 873688, tai 873686) pimentyneen LCD-näytön uuteen ja toimivaan. Työlle ja osille annan 6 kk takuun.

Volvo Penta kierroslukumittareita on tullut "muutama" korjattua. Tässä romulaatikosta poimittuja mittarin rikkonaisia pulssimuotoilijapiirejä:

Rikkonaisia ohjainpiirejä

Lisäys 9.8.2019: Muutamaan kertaan minulta on kyselty, mikä olisi Volvo Pentaan tarvikkeena hankitulle kierroslukumittarille (esim. VDO A2C5951948) oikea arvo PPR:ksi (Pulses Per Revolution) eli kuinka monta pulssia mittarille tulee minuutissa yhtä kampiakselin kierrosta kohden.

Monet tarvikemittarit ovat ohjelmoitavissa erilaisille pulssituloille, Volvo Pentan kohdalla mittaria hankittaessa on syytä aina varmistaa, että mittari soveltuu laturin W-lähdöstä saatavalle pulssille, joka on sinimuotoinen vaihtojännitesignaali. Mittarin käyttöönotossa pitää sitten varautua hieman sähkötöihin, koska alkuperäisen johtosarjan liitin ei yleensä käy suoraan tarvikemittarin tuloihin.

Yleensä PPR:n laskemiseen tarvitaan mm. tieto hihnapyörien koista, mutta useimpien VP-koneiden tapauksessa laskenta voidaan tehdä helpomminkin. Kun tiedetään, että W-navasta tulevan signaalin taajuus on 245 Hz  (=jaksoa sekunnissa) koneen kierrosten ollessa 1000 rpm (=kierrosta minuutissa), saadaan pulssien määräksi minuutissa 60 x 245 = 14700 pulssia/minuutti. Yhtä kampiakselin kierrosta kohden tulee minuutissa siis 14700/1000 = 14,7 pulssia. PPR on siis 14,7, tosin hienosäätöä voi joutua tekemään 1-2 desimaalin verran, mutta lähtökohtana laskettu arvo on lähellä oikeata.

Tämä arvo on asetettava mittarin käyttöönoton yhteydessä käyttöohjeessa mainitulla tavalla. Karkean arvion toimivuudesta saa varmistamalla, että (dieselin) tyhjäkäynnillä mittari näyttää kierroksina 650-700 rpm.

Jos haluaa mittarin näyttävän todelliset kierrokset mahdollisimman tarkasti, voi hankkia vaikkapa Biltemasta laserilla toimivat kierroslukumittarin, jolla mitataan koneen kierrokset suoraan kampiakselin hihnapyörältä. Kone säädetään kiertämään mittarin avulla vaikkapa tasan 1000 rpm, jonka jälkeen säädetään tarvikemittarin PPR-asetusta siten, että mittari näyttää myös tasan 1000 rpm.

Google (not so good...) translation: https://translate.google.com/translate?sl=fi&tl=en&u=https://valtrari.blogspot.com/2018/07/projekti-volvo-penta-kierroslukumittari.html

Google översättning (inte särskilt bra...): https://translate.google.com/translate?sl=fi&tl=sv&u=https://valtrari.blogspot.com/2018/07/projekti-volvo-penta-kierroslukumittari.html 

 


Täkyt: Volvo Penta, tachometer, 854911, 873992, disassembly, PCB, schematic, repair, issues, vdo, N02060717, N 02 060 717


tiistai 15. toukokuuta 2018

Kiinalaisia kehitystyökaluja

Nykyään ei paljon kannata itse alkaa rakentelemaan edes mitään yksinkertaisia flässäystyökaluja, toista se oli vielä 10 vuotta sitten... Tietysti niin asioihin vakavasti suhtautuva harrastelija kuin ammattilainenkin käyttää valmistajan tukemia työkaluja ja maksaa niistä usein kovan hinnan, mutta saa vastineeksi toimivan ja hyvin tuetun kokonaisuuden.

Nykyaikaan kuuluu, että netistä etsitään milloin mihinkin tarkoitukseen halpoja ratkaisuja ja laitteita, jolloin ajaudutaan usein kiinalaisten nettikauppojen tai ebay.comin kiinalaisten myyjien sivuille. Totuushan on, että jos haluaa ostaa halvan ja hyvän, niin pitää tehdä kaksi ostosta. Esimerkkinä tässä projektissa itseäni alkoi kiinnostamaan, tekeekö noilla kiinalaisten tarjoamilla ohjelmointityökaluilla yleensäkään mitään. Tilasin kokeeksi tälläisen alle kahden euron palikan:

USB ISP ohjelmointipalikka
 
Samasta tuotteesta löytyy kymmeniä eri versioita niin kuorilla kuin ilmankin. Itse otin tuollaisen vähän kalliimman kuorellisen version, se tuntui jotenkin luotettavammalta kuin vielä halvempi riisuttu versio. Toiminnassa versioiden välillä ei varmaankaan ole eroja, kalustetut piirilevyt tulevat todennäköisesti samasta tehtaasta.

Onhan tuolla tuotteen yhteydessä sanottu, että se toimii yhteen vain  jonkun kiinalaisen Chi Feng Softwaren (?) kanssa, mutta sillä perusteella ei netistä mitään järkevää löytynyt. Kun palikan tyrkkäsi USB-porttiin, se asentui HID-laitteeksi eikä mikään tunnettu flässäyssofta sitä tunnistanut. Kehitysympäristönä käyttämäni Atmel Studio 7 ei tue muita laitteita kuin lähinnä Atmelin omia, mutta Open Source -toteutuksena löytyy useisiin käyttöjärjestelmäympäristöihin paremmalla laitetuella toteutettu avrdude -niminen flässäysohjelma.

avrdude osaa kommunikoida USB-porttiin liitetyn laitteen kanssa joko suoraan tai virtuaalisen sarjaportin kautta. Netistä löytyy AVR mikrokontrollereiden ohjelmointiin tarkoitettu yksinkertaisen laitteistospeksin ja avoimen lähdekoodin kokonaisuus nimeltään USBasp, jota myös avrdude tukee. Speksin mukainen USBasp laite asentuu Windowsiin Universal Serial Bus -laitteeksi ja sille on saatavissa myös Windows 10:een asentuva ja siinä toimiva USB-ajuri. Tuo tilaamani kiinalainen palikka on raudaltaan hyvin lähellä USBasp:n rautaa, joten aloin tutkimaan pystyisikö USBasp:n softan modaamaan ja flässäämään tähän Kiinan ihmeeseen.

Enpä ollut ensimmäinen tähän ongelmaan törmännyt, ja pienellä googlettamisella löytyikin hyödyllinen nettisaitti: http://irq5.io/2017/07/25/making-usbasp-chinese-clones-usable/

Sivulta löytyy myös analyysia laitteen komponenteista ja ohjeet kuinka USBasp-softan saa ladattua tähän palikkaan. Ohjeet ovat kuitenkin joltain osalta vanhentuneet, joten laitan tähän ne omat modaukseni, jolla sain rakennettua alle viidellä eurolla ja reilun tunnin työllä toimivan ohjemointisysteemin ATmega-sarjan mikrokontrollereille. Toivottavasti näistä ohjeista on apua jollekulle muullekin saman ongelman kanssa painiskelevalle.

Homman tekemiseen tarvitaan seuraavat tarvikkeet:

Palikan ohjelmointi avrduden kanssa yhteensopivaksi USBasp-laitteeksi sujui näin

  1. Hae netistä USBasp-laitteelle tarkoitettu valmiiksi käännetyn USBasp-softan .hex-tiedosto. Sellainen löytyy ainakin täältä: https://www.sciencetronics.com/greenphotons/?p=1937 > lataa koneellesi tiedosto (toimii sellaisenaan ilman muutoksia) 20161227_mega88_usbasp.hex

  2. Poista USBISP-palikan suojakuori liuttamalla se USB-liittimen suuntaan ja juota piirilevylle kuvan mukainen hyppylanka. Hyppylanka mahdollistaa uuden ohjelman lataamisen prosessorille, joka on kiinalainen kopio ATmega88:sta:

    Ohjelmoinnin mahdollistava hyppylanka

    Piirikortin prosessori

  3. Liitä Arduino Uno USB-kaapelilla tietokoneeseen ja käynnistä Arduino Software IDE. Valitse valikoista Board ja Programmer tavalliseen tapaan:


  4.  Valinnat Arduino IDE:ssä

  5. Valitse sketsiksi valmiista esimerkeistä ArduinoISP
  6.  
    Esimerkkisketsin avaaminen

  7. Ohjelmakoodiin pitää tehdä pieni muutos määrittelemällä Arduino-kortin pinnit 11,12 ja 13 käyttöön. Poista koodista kommenttimerkintä keltaisella merkityltä #define-riviltä. Tämän jälkeen käytössä on korostetuilla riveillä olevat pinnit. Käännä sketsi ja lataa se tavalliseen tapaan Arduinoon (Sketch > Upload). 

  8. Esimerkkikoodin muokkaaminen

  9. Nyt Arduinoon ladatulla ohjelmalla pystytään lataamaan Arduinon GPIO-pinneihin liitetyn prosessorin flash-muistiin uusi ohjelmakoodi eli Arduino toimii tässä välipalikkana ja hoitaa kohdeprossun ohjelmoinnin.

    Liitä USBISP palikan 10-napainen ISP-urosliitin hyppylangoilla Arduinon liitinrimaan. Liitännässä käytetään Arduinon piirikortin liittimen numeroita 10 > ISP pin 5 (RST), 11 > ISP pin 1 (MOSI), 12 > ISP pin 9 (MISO) ja 13 > ISP pin 7 (SCK). Vcc ja GND (käyttöjännite ja maa) otetaan myös Arduinon kortilta. Alla olevassa kuvassa käyttöjännite ja maa on otettu Arduinon 6-pinnisen ISP-liittimen pinneistä 2 ja 6.


  10. Liitäntä ohjelmointiin Arduinolla

  11. Seuraavaksi on syytä testata liitännän toimivuus. Tämä tapahtuu käynnistämällä avrdude Windowsin komentokehotteessa. avrdude löytyy normaalisti hakemistosta
    C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
    ,
    mutta olen kopioinut tiedostot avrdude.exe ja avrdude.conf samaan työhakemistoon, mihin kopioin kohdassa 1. .hex-tiedoston (komento tulee vähän lyhyemmäksi kun ei tarvitse kirjoitella pitkiä polkuja). Laitehallinnasta pitää katsoa mihin virtuaaliseen COM-porttiin yhteys Arduinoon on muodostettava, minulla portti on COM7. Yhteyden testaaminen onnistuu antamalla työhakemistossa seuraava komento, jolla Arduino lukee tietoja kohdeprosessorista:

  12. avrdude -C .\avrdude.conf -vv -c stk500v1 -b 19200 -P COM7 -p m88
    [...]
    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.04s

    avrdude: Device signature = 0x1e930a (probably m88)
    avrdude: safemode: hfuse reads as DD
    avrdude: safemode: efuse reads as F9

    avrdude: safemode: hfuse reads as DD
    avrdude: safemode: efuse reads as F9
    avrdude: safemode: Fuses OK (E:F9, H:DD, L:FF)

    avrdude done.  Thank you.


    Tärkeätä on, että Device signaturena näkyy 0x1e930a, muu arvo kertoo virhetilanteesta. Tarkista tällöin kytkennät ja yritä uudestaan! Varmista, että kaikki 6 hyppylankaa ovat kytkettyinä. Jos signature luetaan oikein, yhteys on kunnossa ja palikka voidaan ohjelmoida.

  13. Ohjelmointi suoritetaan antamalla seuraava komento (lihavoitu teksti yhdelle riville):

  14. avrdude -vv -c stk500v1 -b 19200 -P COM7 -p m88 -U flash:w:20161227_mega88_usbasp.hex:i
    [...]
    avrdude: AVR device initialized and ready to accept instructions

    Reading | ################################################## | 100% 0.04s

    avrdude: Device signature = 0x1e930a (probably m88)
    avrdude: safemode: hfuse reads as DD
    avrdude: safemode: efuse reads as F9
    avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "20161227_mega88_usbasp.hex"
    avrdude: writing flash (3720 bytes):

    Writing | ################################################## | 100% 7.75s

    avrdude: 3720 bytes of flash written
    avrdude: verifying flash memory against 20161227_mega88_usbasp.hex:
    avrdude: load data flash data from input file 20161227_mega88_usbasp.hex:
    avrdude: input file 20161227_mega88_usbasp.hex contains 3720 bytes
    avrdude: reading on-chip flash data:

    Reading | ################################################## | 100% 3.88s

    avrdude: verifying ...
    avrdude: 3720 bytes of flash verified

    avrdude: safemode: hfuse reads as DD
    avrdude: safemode: efuse reads as F9
    avrdude: safemode: Fuses OK (E:F9, H:DD, L:FF)avrdude done.  Thank you.


  15. Tämän jälkeen pitää vielä muistaa poistaa kohdassa 2. piirilevylle juotettu hyppylanka! Sen jälkeen kuori paikalleen ja palikka USB-porttiin. Jos sininen LED syttyy ja palaa vilkkumatta, kaikki on kunnossa ja voidaan siirtyä varsinaiseen kohdeprosessorin ohjelmointiin nyt USBasp:ksi modatun palikan avulla.

USBasp:n käyttö ohjelmoinnissa


Windows 10 asentaa uudelle USBasp-laitteelle automaattisesti laiteajurin, kun palikka asetetaan ensimmäisen kerran USB-porttiin. Ajuri näkyy asennuksen jälkeen Windowsin Laitehallinnassa Universal Serial Bus -laitteissa. Valitettavasti tämä ajuri on jo vanhentunut siinä mielessä, että sitä ei ole signeerattu, tämän takia asennuksen jälkeen laitteen nimen vieressä näkyy keltainen huutomerkki.

Tässä vaiheessa pitääkin tehdä pieni lisämodaus, jotta Windowsin vaatimukset täyttyvät.  Itse sain driverin toimimaan 64-bittisessä Windows 10:ssä tämän sivun ohjeilla, jonka jälkeen laitehallintakin näyttää laitteen olevan toimintakuntoinen:
https://rayshobby.net/dead-simple-driver-installation-for-usbasp-and-usbtiny-on-windows/

Toimiva USBasp-ohjain Windows Laitehallinnassa

Kohdeprosessorin ohjelmointi on helpointa tehdä aiemmin puheena olleen yksinkertaisen kehitysalustan avulla. Alustassa on zif-kanta ohjelmoitavalle prosessorille ja 10-napainen liitin ISP-kaapelille. Eli USBISP-palikan mukana tullut kaapeli kiinni palikkaan ja toinen pää alustaan. Ulkoista jännitelähdettä ei tarvita vaan jännitesyöttö tulee palikan kautta. Tämä toimii siis VAIN 5V prossuille, 3,3V prossuille tämä EI toimi!

 ATmega88 kehitysalustassa ohjelmoitavana USBASP-palikalla

Ohjelmoinnissa tarvitaan buildauksen yhteydessä syntyvä .hex-tiedosto, esimerkkinä käytän tämän Valtra DPS-projektin release-version tiedostoa ValtraDPS.hex, joka tällä kertaa on käännetty ATmega88-mikrokontrollerille, eo. kuvan alustassa on siis ohjelmoitavana prosessorina ATmega88. Flässäys käynnistetään seuraavalla komennolla (avrdude ja .hex samassa hakemistossa):

avrdude -c usbasp -p m88p -B 5 -U flash:w:ValtraDPS.hex:i

avrdude: set SCK frequency to 187500 Hz
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e930f (probably m88p)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: set SCK frequency to 187500 Hz
avrdude: reading input file "ValtraDPS.hex"
avrdude: writing flash (944 bytes):

Writing | ################################################## | 100% 0.62s

avrdude: 944 bytes of flash written
avrdude: verifying flash memory against ValtraDPS.hex:
avrdude: load data flash data from input file ValtraDPS.hex:
avrdude: input file ValtraDPS.hex contains 944 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.35s

avrdude: verifying ...
avrdude: 944 bytes of flash verified

avrdude: safemode: Fuses OK (E:F9, H:DF, L:62)

avrdude done.  Thank you.


avrdude kommunikoi siis suoraan USB-portissa olevan USBasp:ksi ohjelmoidun palikan kanssa. avrduden parametrit pitää tietenkin asettaa tapauskohtaisesti. Tärkeimmät ovat -p ja -U, joiden jälkeen on annettava kohdeprosessorin tyyppi ja flässättävän .hex-tiedoston nimi. Parametreista saa parhaiten lisää tietoa ohjelman helpistä käynnistämällä avrdude ilman parametreja.

Käytännössä flässäys kannattaa toiminnan varmistamisen jälkeen määritellä käynnistettäväksi suoraan Atmel Studio 7:sta, niin ei tarvitse kirjoitella komentokehotteessa noita pitkiä komentoja. Atmel Studion Tools-valikosta löytyy valinta External Tools..., jolla saa lisättyä valikkoon omia komentoja:

Atmel Studio 7 omien työkalujen määrittäminen

Työkaluksi olen lisännyt valikkoon valinnan Flash USBasp (Release m88p) seuraavilla parametreilla:
 
Työkalun määritys

Title: Flash USBasp (Release m88p)
Command: C:\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe
Arguments: -C "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" -c usbasp -p m88p -B 5 -U flash:w:"$(ProjectDir)Release\$(TargetName).hex":i


 Komennot ovat samat kuin edellä komentokehotteessa kirjoitettiin, hakemistoviittaukset ovat avrduden oletushakemistoiin. Tämän jälkeen flässäys käynnistyy yksinkertaiseti valitsemalla ao. työkalu Tools-valikosta, ilmoitukset tulevat näkyviin Atmel Studion Output-ikkunaan.


Kuten esimerkistä näkyy, kohdeprosessorin ohjelmointi onnistui ongelmitta. Eli halvallakin voi saada ihan käyttökelpoista tavaraa, kunhan käyttää aikaa asiaan paneutumiseen ja tekee tarvittavat korjaukset itse. Tässä on vielä syytä korostaa, että nämä halpisvehkeet EIVÄT sovellu debuggaukseen, koska niile ei löydy tukea kehitysympäristön (esim. Atmel Studio 7) ohjelmasta!


Vähän jälkikäteen löysin alkuperäisen USBISP-palikalle tehdyn ohjelman: http://www.electrodragon.com/w/8051 Ei tuo  kovin hyvältä tai käyttökelpoiselta näytä, avrdude on paljon paremmin tuettu ja se toimii myös hyvin Atmel Studion kanssa. Olisi tietenkin pitänyt kokeilla alkuperäistä ohjelmaa aluksi, mutta kun sitä en heti löytynyt, niin tuli tehtyä tuo peruuttamaton modaus ensin. Lopputulos on todennäköisesti tällä tavoin tehtynä parempi.


sunnuntai 13. toukokuuta 2018

Mittauksia traktorissa

Tuli tilaisuus käväistä logiikka-analysaattorin kanssa mittailemassa DPS-ohjainkortin ajastuksia Mezzo-sarjan vm. 1999 Valtra 6800:ssa. Tässä yksilössä on käytössä DPS-ohjainkortin uusin versio, se on vaihdettu muutama vuosi sitten hajonneen alkuperäisen kortin paikalle.

Ensimmäisenä silmiin pisti pikavaihteen vaihtonappikytkimen kytkinvärähtely (kytkin vapautettu eli ajan mittaus signaalin laskevasta reunasta):

DPS-vaihtokytkimen kytkinvärähtely

Omassa testipenkissäni en ilmiötä näin voimakkaana ole havainnut, mutta tietenkin nuo mekaaniset mikrokytkimet aikaa myöten kuluvat ja jousivoima heikkenee. Kun kytkin vapautetaan kursorin kohdassa A1, niin vasta n. 10 ms kuluttua signaali asettuu nollatilaan eli tuon aikaa se hyppii ylös ja alas. Softaani rakennettu värähtelysuodin ei siis ole tarpeeton. Tuloksista näkyi myös se, että tyypillinen napin painallus kestää 100-200 ms.

Seuraavaksi katsoin kuinka kauan napin painamisesta menee aikaa siihen, kun solenoidin ohjaus aloitetaan:

 Aika valinnasta ohjaukseen

Kun vaihtonappia painetaan, niin solenoidin ohjaus aloitetaan vastan reilun 160 ms:n jälkeen. Yllättävän suuri viive, mutta sille lienee syynsä. Eihän tuo siis käytännössä pitkä aika ole, napin painalluskin kestää pitempään eli solenoidit on ohjattu ennen, kuin nappi on vapautettu (vihreän pulssin laskeva reuna). Sama viive esiintyy kaikissa vaihtotilanteissa riippumatta siitä, vaihdetaanko ylös- vai alaspäin. Kuvan mittakaava on sellainen, että kytkinvärähtelyt eivät siinä erotu, mutta tässäkin kytkimessä ilmiö on nähtävissä.

Edellisestä kuvasta näkyy myös solenoidien ohjausten välinen aika eli tilanne, jossa molemmat solenoidit vaihtavat tilaansa. Solenoideja ei ohjata yhtä aikaa vaan niiden ohjausten välissä on n. 50 ms viive. Eli ensin ohjataan toinen solenoidi, sitten 50 ms tauko ja vasta sitten toinen:

  Solenoidien ohjausten välinen aika

Nämä viiveet on helppo toteuttaa uuden prosessorin ohjelmaan ja tulen tekemään sen noiden mittausten perusteella.

Mielenkiintoisin asia, joka näistä mittauksista paljastui on se, että Valtra on näköjään poistanut ainakin ohjainkortin uusimmasta versiosta kokonaan käsijarrulta ja kytkinpolkimelta tulevien signaalien käsittelyn. Eli kytkinpoljn tai käsijarru EIVÄT vaikuta pikavaihteen ohjaukseen vaan solenoidit ohjataan kytkimen tai käsijarrun tilasta riippumatta. Ehkä ovat katsoneet, että on parempi, että vaihde on valmiiksi päällä siinä vaiheessa kun kässäri vapautetaan. Käsijarrun summerille menevä signaali on erillinen prosessorille menevästä, joten summerin ohjaus toimii itsenäisesti vaikka signaalia ei prosessorissa käsiteltäisikään.

Käsijarrun ja kytkimen rajakytkinten haistelun toteutus on todistetusti ollut (=olen mitannut testipenkissäni) ainakin joissain kortin versioissa, myös siinä, joka tässä Valtrassa oli alunperin asennettuna. Tulen tekemään nämä uusimman korttiversion ominaisuudet myös omaan softaani, jolloin päivitetty kortti tulee toimimaan samalla tavalla kuin jos koneeseen hankittaisiin varaosana uusi kortti. 
 

maanantai 7. toukokuuta 2018

Piirilevyn testausta

Piirilevyt tulivatkin yllättävän pian ja tietysti piti päästä heti kokeilemaan. Levyt näyttävät ihan laadukkailta ja varsinkin hinta laatusuhde on loistava: 11 kpl 13,00 e postikuluineen eli 1,18 e/kpl. Toimittaja laittoi siis näköjään vielä yhden levyn kaupanpäällisiksi. Toimitusaikakaan ei huono: tilaus 25.4., toimitus 7.5. eli 12 päivää. PCBway:lla näyttäisi muuten olevan parasta aikaa aika hyvä tarjous: 10 levyä (1- tai 2-kerrosta) max. 100x100 mm vain $5 + pk. Lisäksi siellä on jaossa ilmaisia prototyyppireikälevyjä.

Uusia piirilevyjä

Juotin ulompiin reikiin holkkikannasta puretut pinnit (yksi irtonainen näkyy kuvan alareunassa) ja tähän ensimmäiseen kokeiluversioon 28-napaisen DIL-kannan, jotta prosessorin saa vielä irti ja pystyy ohjelmoimaan helpommin uudestaan. Kunhan ohjelma on käytännössä testattu, juotan ATmega8:n suoraan piirilevylle, jotta mahdollisia kontaktihäiriöpaikkoja olisi mahdollisimman vähän. Ja tietenkin päälle vielä suojalakka, joka tukkii myös nyt näkyvissä olevat holkkien päihin tyhjiksi jäävät reiät.

Pikkupiirilevyn kantaan sitten AVR Dragonissa ohjelmoitu ATmega8 ja piirilevy DPS-kortille ST62T15:n kantaan. Piirilevy sopii täsmälleen alkuperäisen prosessorin kantaan niinkuin kuuluukin. Yhtään isompi piirilevy tähän ei mahtuisi, joten mitoituskin onnistui ensi yrittämällä.

 Uusi prosessori asennettuna alkuperäisen paikalle

Sitten ei muuta kuin kortti testipenkkiin kiinni ja kokeilemaan. Yllätyksiä ei tullut eli kortti alkoi toimimaan odotusten mukaisesti. Siis testipenkissä...
Uuden prosessorin ja piirilevyn testaus

Tästä on hyvä jatkaa projektin viimeiseen vaiheeseen eli kortin kokeilemiseen traktorissa. Logiikka sinänsä tuntuu toimivan oikein, mutta viiveet on vedetty enemmän tai vähemmän hihasta. Eniten mietityttää kytkinpolkimen käyttö. Pikavaihdehan kytkeytyy kytkintä painettaessa pois ja uudestaan päällä kytkintä nostettaessa. Onko siinä vaiheessa viivettä, kun tieto kytkimen ylönostamisesta tulee siihen, kun pikavaihde ohjataan uudestaan päälle? Sadan tai parinkaan sadan millisekunnin viivettä ei korvakuulolta huomaa, mutta sillä voi olla merkitystä toiminnan kannalta.

Pitää yrittää houkutella vaimon sukulaismies testaamaan kortti omassa traktorissaan mielellään vielä vähän pitemmän aikaa, jotta toiminta saadaan käytännössä varmistettua. Täytyy samalla skoopata alkuperäisen kortin ohjaukset, jotta todelliset viiveet ohjauksissa varmistuvat.

Ajastusten selvittämistä varten piti vähän askarrella lisää tarvikkeita. Traktorissa kortilta suoraan on hyvin vaikeata mitata signaaleja, joten sen takia tein väliadapterin, johon saan kiinni logiikka-analysaattorin piuhat. Testipenkissä väliadaperi näyttää tältä:


Logiikka-analysaattorin liitäntä

DPS-korttiin sopivat naarasliittimet ovat näköjään käyneet vähiin, joten laitoin 18-napaisen paikalle 14-napaisen. Tästä aiheutuu se, että vaihteiden merkkivalot eivät toimi, mutta niitä ei ajastusten mittauksissa tarvitakaan. Adapterissa on liitinrima, josta on helppo hyppylangoilla yhdistää tarvittavat signaalit logiikka-analysaattoriin.

Analysaattorina minulla on kovin vaatimaton USB-liitännällä varustettu Saleae Logic 16:n vanha versio, mutta sen nopeus ja näytteenottokyky kyllä riittävät erittäin hyvin näin hitaiden signaalien mittaamiseen. Hyvää tässä analysaattorissa on sen edullisen hinnan lisäksi se, että sen Windows-softa on kohtuullisen hyvä ja sitä on myös vuosien mittaa ylläpidetty ja kehitetty. Uusin softa toimii Windows 10:ssäkin tuolla minunkin vanhalla laiteversiolla mainiosti.

Kokeeksi kytkin signaalit analysaattorille solenoideilta (DPS A ja DPS B), vaihtonapeilta (DPS- ja DPS+) ja kytkinpolkimen mikrokytkimeltä sekä mittasin ne omalla softalla varustetulta kortilta testipenkissä. Analysaattori tuottaa tämmöistä dataa:
  Logiikka-analysaattorin mittauksia

Traktorissahan kytkinpolkimessa on mikrokytkin, joka polkimen ollessa ylhäällä on kytketty +12V:iin ja joka poljinta painettaessa avautuu, joka näkyy sitten kortilla optoerottimen jälkeen 0V:na. Triggeriksi eli näytteenoton aloittajaksi on valittu kytkinpolkimelta tulevan signaalin muutos ykkösestä nollaan. Analysaattori tallentaa ja näyttää tästä tapahtumasta signaalien tilat sekunnin eteenpäin ja lisäksi asetuksissa valitun ajan eli 200 ms dataa ennen triggerin laukeamista.

Oranssi ja punainen signaali (DPS A ja DPS B) kuvaavat solenoidelle meneviä ohjauksia. Molemmat ovat ylhäällä, joten valittuna on siis kakkosvaihde. Sininen signaali (Clutch) kuvaa kytkinpolkimen mikrokytkimeltä tulevaa signaalia ja se laskee alas kursorin kohdassa A1 eli kytkin on painettu niillä main alas. Kursorin kohdassa A2 DPS A ja DPS B menevät alas eli ohjaus solenoidelle loppuu ja pikavaihde menee pois päältä. Kytkinpolkimen mikrokytkimen avautumisesta menee tässä tapauksessa n. 27 ms siihen, kun pikavaihde ohjataan pois päältä. Tarkkaan katsoen kuvassa näkyy myös kytkinvärähtely sinisessä signaalissa, softassa tämä on suodatettu pois eli vain ensimmäinen muutos huomioidaan.

Seuraavaksi siirryn sitten sopivan tilaisuuden tullen mittaamaan ajastukset eri tilanteissa traktoriin ja viritän oman softan vastaamaan toiminnaltaan alkuperäistä.