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

Compare with Current View Page History

« Previous Version 12 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.

Arduino koodi

Ohjausohjelma ja koodi (linux)

Ohjausyksikön johdotuskaavio

Kuvagalleria

  • No labels
You must log in to comment.