soodan sivut

arkisto

196 kirjotelmaa.

avainsanat

Kaivoin arkistosta tälläisen huvin vuoksi. Päivitettiin (eli tehtiin alusta alkaen uusiksi, koska vanha oli protopurkkaa) ohjaussofta kauko-ohjattavalle autolle ABS-jarruineen (jotka eivät lopulta toimineet koska mekaniikka oli hidas). Saatiin ryhmätyöprojektikurssilla alle joku kauko-ohjattava autorunko, jolle oli tarkoitus tehdä saman lukukauden aikana mm. lokaali ohjaussofta ABS-jarruilla, etäohjaus PC:ltä Matlabista, luonnollisen näköinen kori, uusi voimansiirto, mekaniikan yleisparantelua, sekä jonkinmoinen testiajoalusta. Meidän (kolme automaatiojäbää) osa oli kaikki softa. Raudassa oli kaikenlaista pientä vikaa, niinkuin esim. huonot moottorit, akku joka ei jaksanut tuupata moottoreille virtaa mikä aiheutti moottoriohjainten turvasammumisen, ja liian pienet hammasrattaat jotka tuhosivat itsensä.

Oma osani oli tunkata miltei kaikki core-softa mikrokontrollereille, ei yhdelle vaan kolmelle, joita vempaimessa oli mukana. Aiempi ryhmä kuvitteli, ettei yksi arghduino jaksaisi ajaa kaikkea softaa ja laittoi kyytiin kolme (2x arduino mega, 1x teensy). Yhdessä moottorit, toisessa jarrut, kolmannessa nopeusmittaus, sekä jotain sekalaista siellä sun täällä. Näiden synkkaus oli tavallaan hankalaa. Protokolla toimi mm. langattoman uart-linkin yli sekä parilla uartilla vielä ardulta toiselle. Mukana oli mm. enkoodereita moottoreissa sekä moottorinohjaimia. Moottorit olivat vinossa, jarruservo liian pieni, "kytkimet" bugisia ja akkujännitteen mittaus filtteröimätöntä. Sama ohjaussofta suunniteltiin alusta asti toimimaan myös matlab-moduulina simulointia varten, koska näin olisi nopeampaa testailla, ja lisäksi uumoiltiin ettei raudasta tulisi mitään.

PC-puolen hässäkkä oli Matlab-saastaa joka tunkattiin kans muistaakseni aika alusta asti uusiksi. Puuttui kaikkea fundamentaalista, mm. lukitus sarjaporttiväylälle jota käsiteltiin eri säikeistä. Ihan kun paketit olisivat olleet jotenkin rikki alunperin. Kommunikointiprotokollaan otettiin kai mallia vanhasta mutta tehtiin silti oma. Suunnilleen kaikki mitattava siirtyi radioteitse autolta Matlabiin analysoitavaksi.

Jutteluprotokolla on ylihifistelty oikein nätiksi (muistaakseni) ja mikrokontrolleripään viestilooppi toimii funktiopointtereilla, tunnusnumeroilla ja pakettien kokotiedoilla, millä pidetään kaikki synkassa. Jos epäsynkkaa huomataan (mikä johtunee hardis-bufferoverflowsta), panikoidaan. Tää kaikki C-koodi ei välttämättä käänny kurjalle kasibittiselle AVR:lle kauhean hyvin, mutta ketä kiinnostaa. Ei se auto edes ajanut, niin tunkattiin lähinnä Matlabissa. Saatiin ajettua demossa kuitenkin muutama metri omalla kopteri-rc-ohjaimella joka tökättiin joystickiksi Matlabiin. Hieno ringbufferkikka uart-juttelua varten jäi kaipaamaan muutamaa hifistelyä, jotta sen saisi täysin geneeriseksi, mutta oli silti aika kiva. Anteeks vielä Toni kun viivyttelin viestiprotokollan kanssa niin pitkään.

Mekaniikkaan tosiaan ajateltiin ABS:ää ja luistonestoa ja muuta mukavaa, mutta ABS:n toimintataajuuden tulisi olla huomattavasti korkeampi kuin autoon asennetut 50 Hz analogiservot, mekaniikassa oli venyviä vaijereita sun muuta epälineaarista, ei ehditty löytää kunnollista opensorsaservoa (openservo vaikutti hirveältä purkalta, eikä löydetty esim. säätöloopin taajuutta mistään) ja kaiken muunkin mekaniikan kaistanleveys todettiin kelvottomaksi. Tyydyttiin rakentamaan malli ja simuloimaan sitä.

github.

0 kommenttia

Oma kommenttisi

Mielipide tämän sivun asiasta? Kirjoita toki. Älä raapusta kuitenkaan ihan asiattomia juttuja.

Jos on yksityisempää asiaa, tarkkaa kysyttävää tai aihetta pidemmälle keskustelulle, käytä yhteydenottolomaketta kommentoinnin sijaan.

Hölmöt kommentit saatetaan moderoida pois jälkikäteen.

Nimimerkki:

Spammibottiesto: Mikä on viiden ja kahden erotus? (vastaus numeroina)