keskiviikko 18. huhtikuuta 2018

Projekti: DPS-ohjainkortti

DPS-ohjainkortin uudistusprojekti alkaa


Muutamana viime vuotena on tullut harrastusluonteisesti puuhasteltua Valtran traktoreiden elektroniikan kanssa. Tosin kokemukseni rajoittuu pääasiassa Delta Power Shift (DPS) -pikavaihteiston ohjauselektroniikkaan, mutta joitain muitakin korjausprojekteja olen satunnaisesti tehnyt.

Nettisivullani dokumentoin aiemmin muutaman DPS-ohjainkortin korjauksen ja pikku hiljaa korttien korjaamisen myötä myös tyypilliset viat ovat tulleet tutuiksi. Lyhyesti sanottuna tavallisimpia vikoja ovat
  • magneettiventtiileiden solenoideja ohjaavien puolijohdereleiden  "palaminen"
  • kortin jännitelähteen elektrolyyttikondensaattoreiden kuivuminen
  • kortin ensimmäisissä versioissa prosessorin muistin vioittuminen tai tyhjeneminen
DPS-ohjainkortti vm. 1995

Nyt käsiin on jäänyt muutama prossuviallinen kortti, joiden korjaaminen ensialkuun on tuntunut mahdottomalta. Kortissa käytettyä ikivanhaa SGS-Thomson Microelectronicsin (nyk. STMicroelectronics) aikoinaan valmistamaa 8-bittistä ST62T15-prosessoria ei juurikaan ole saatavissa tai jos on, hinnat ovat aivan järjettömät (jopa $80-150/kpl). Lisäksi prosessorin ohjelmoinnissa ja tietojen tallentamisessa ohjelmamuistiin tarvittavia erikoistyökaluja ei käytännössä enää mistään löydy. Pitäisi myös saada ohjelma kopioitua toimivan kortin prosessorin muistista, tämäkään toimenpide ei onnistu kovin helposti. Tai sitten en vaan osaa...

ST62T15


Tästä syntyi ajatus, että voisin yrittää harrastusmielessä korvata kortilla olevan viallisen prosessorin jollain edullisella yleisesti saatavilla olevalla nykyaikaisella mikrokontrollerilla. Koska alkuperäinen prosessori on kortilla kannassa, niin tämän kannan päälle pitäisi suunnitella ja valmistuttaa pieni piirikortti, jolle juotettaisiin pienemmässä kotelossa oleva korvaava prosessori, ja pikkuprossun GPIO-pinnit johdotettaisiin kortin ulkoreunaan asennettavien pinnien kautta alkuperäiseen kantaan vastaaviin tuloihin ja lähtöihin.

Lisäksi tarvitaan tietenkin uuden prosessorin ohjelmointi. Tämä onkin projektin vaikein osuus, mutta ei mahdotonta, koska ohjaus on varsin yksinkertainen, ja tuloja on kortille rajallinen määrä. Ohjainkortin toiminnallisuuden olen aiemmin määrittänyt kortin kytkennän selvittämällä, tekemällä kortille testipenkin sekä vielä käytännössä kokeilemalla. Ohjelmoinnissa ei pitäisi olla ylivoimaisia esteitä, sulautettua softaa on tullut kirjoiteltua leipätyönä jo aika pitkään.

Suoraan alkuperäiseen kantaan sopivaa helposti ohjelmoitavaa prosessoria ei taatusti löydy, joten tämän helpompaa ratkaisua tuskin on olemassa. Yksinkertaisin ratkaisu olisi tietenkin hakea lähimmästä Valtran varaosamyymälästä uusi kortti, mutta kun itselläni ei traktoria ole, niin eipä myöskään ole tarvetta laittaa lähes tonnia toimivaan korttiin. Tavoitteena on siis saada muutamalla kympillä (ja x tunnilla töitä...) toimiva ohjainkortti.  Ja tietenkin samalla oppia itsekin lisää...

Eli projekti alkakoon. Ei varmaan järkevä, jos tuntihintaa laskee, mutta harrastemielessä mielenkiintoinen ja haastava. Homma voisi edetä seuraavassa järjestyksessä sillä aikataululla, kun aikaa yleensäkään sattuu näille harrastuksille olemaan:
  1. Korvaavan prosessorin valinta
  2. Vanhan ja uuden prossun pinnien vastaavuuksien selvittäminen
  3. Piirikortin suunnittelu ja valmistuttaminen
  4. Kehitystyökalujen ja -alustojen selvittäminen
  5. Alkuperäisen ohjainkortin toimintojen ja sekvenssien dokumentointi
  6. Ohjelman suunnittelu ja toteutus
  7. Uuden prosessorin ohjelman testaus ja debuggaus DPS-kortin testipenkissä
  8. Uudistetun kortin testaaminen traktorissa
  9. Oman (piraatti)ohjainkortin suunnittelu ja toteutus (toteutuu tai sitten ei...)
Blogi jatkuu tässä järjestyksessä eli seuraavalla kerralla kirjoittelen korvaavan prosessorin valinnasta.

Ei kommentteja: