You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Projektin tavoitteena oli suunnitella ja rakentaa kauko-ohjattava, 3,5-metrinen vene ja sen ohjausjärjestelmä. Veneen olisi tarkoitus tulla sotilas- tai pelastuskäyttöön.

Ohjaus veneen päässä toteutettiin Arduino -mikro-ohjaimella. Ohjaustiedot lähettävältä tietokoneelta vastaanotetaan Satel-radiomodeemilla, joka on kiinni sarjaväylässä. Tietojen perusteella ohjataan PWM-lähdöillä kahta sähkötoimista karamoottoria, jotka säätävät vesijetin kauhaa ja suutinta, ja veneen työntövoimana toimivaa sähkömoottoria CAN-väylän viesteillä. Can-väylältä otetaan lisäksi vastaan tietoja mm. akuilta ja GPS:ltä. Vastaanotetut tiedot lähetetään radiomodeemilla takaisin ohjaustietokoneelle.

Arduinon ohjelmointi

Arduino on yksinkertaista ohjelmoida ohjelmointiympäristöllä, joka toimitetaan laitteen mukana. Kieli on C:tä, jossa on mukana Arduinon omia kirjastoja. Ohjelmalla onnistuu myös koodin syöttäminen Arduinoon, jolloin tehty ohjelma käynnistyy aina, kun Arduinoon kytketään virrat.

Ohjausohjelmassa käytettiin Arduinon omien kirjastojen lisäksi CAN-kirjastoa, joka on CAN-shieldin käyttökirjasto. Sarjaväylän lukemiseen ja kirjoittamiseen käytettiin Serial-kirjastoa. Ohjelman lähdekoodi on erillisessä tiedostossa.

Ohjausohjelman ohjelmointi

Ohajaustietokoneen ohjelma ja käyttöliittymä tehtiin Qt-ohjelmointiympäristöllä. Käyttöliittymään tehtiin säätömahdollisuudet sarjaväylän käyttämiseksi ja toimilaitteiden ohjaamiseksi tehtiin säätöpalkit ja 2-akselisen ohjaussauvan asemaa simuloiva kenttä, jossa koordinaatistoa klikkaamalla voi säätää lähetettäviä ohjaustietoja. Käyttöliittymään tehtiin lisäksi veneeltä vastaanotettavat tiedot näyttävät elementit sekä sarjaväylän asetukset.

Sarjaliikenne toteutettiin Minicanopen-kirjaston Serial-osiolla. Sarjaliikenne ja muut tarvittavat funktiot tehtiin omaan säikeeseen, jotta käyttöliittymä olisi niistä erillään ja ohjelma toimisi mahdollisimman sulavasti.

Projektin tilanne

Ensimmäiset testit vedessä on tehty. Moottori ja ohjaus toimivat, mutta kauko-ohjauksessa oli vielä ongelmia. Moottori muun muassa sammui välillä ja ohjaustieto ei aina ollut sitä mitä haluttiin. On tutkittava, johtuiko tämä CAN-väylän ongelmista vai ohjelmakoodista.

Lisäksi GPS tulisi ottaa käyttöön. Sen pohjalta ohjausohjelmaan voisi tehdä kartan, josta näkisi veneen sijainnin. Lisäksi todellinen nopeus ja suunta olisivat hyödyllisiä tietoja testauksessa.

Arduino koodi

Ohjausohjelma ja koodi (linux)

Ohjausyksikön johdotuskaavio

Kuvagalleria

  • No labels
You must log in to comment.