Optimum prime

5Wiki
Versioiden väliset erot
Loikkaa: valikkoon, hakuun
(8.7.2011)
(spämmiä pois)
 
(Näytettyjen versioiden välissä on 10 versiota, jotka ovat 5 eri käyttäjän tekemiä.)
Rivi 44: Rivi 44:
  
 
Seuraavaksi Arduinolle täytyy tinailla jännitteennostin max232:sta, sillä nostin käyttää sarjasignaalissaan 12 voltin jännitetasoa.
 
Seuraavaksi Arduinolle täytyy tinailla jännitteennostin max232:sta, sillä nostin käyttää sarjasignaalissaan 12 voltin jännitetasoa.
 
== 7.7.2011 ==
 
 
Eilen tinattiin arduinolle shieldi max 232:sta ja viilailtiin sarjaväyläemulaattorin koodia.
 
 
Säätösession tuloksena todettiin, että alla oleva aaltomuoto on ainakin niin lähellä oikeaa, että koneen ohjausjärjestelmä sen hyväksyy. Kaikki oletukset bittien paikoista ja tarkoituksistakin tuntui osuvan oikeaan, joten kone saatiin loppujen lopuksi varsin nopeasti ajoon ensimmäisestä testistä.
 
 
[[Tiedosto:Optimum prime signal2.png]]
 
 
Yllä lopullinen tulkinta sarjaviestistä. Heartbeat-bitti muuttuu jokaisen viestin välillä ja viesteillä on väliä noin 50 bitin verran; ja yksi bittihän on 0.4 sekuntia. Jokainen ohjausbitti on alhaalla aktiivinen.
 
 
Pienokaisen ensiaskeleet on nähtävissä tässä videossa: http://www.youtube.com/watch?v=rDMwWV4ytsM
 
 
== 8.7.2011 ==
 
 
Huomioitavaa on, että käyttämättömät bitit ovat todennäköisesti käytössä muissa Hauletten valmistamissa nostimissa. Oma veikkaukseni on, että joystickin asemaa seuraava 9 bitin ryhmä on käytössä koneissa, missä joystick liikkuu kahteen suuntaan ja viimeisessä bittiryhmässä on liput erilaisille lisämoodeille.
 
 
Kuten edelläkin on kerrottu, ratkaisumme perustuu Arduino UNO:on ja sen päälle reikälevystä ja max 232:sta tehtyyn signaalijännitteen nostimeen. Shieldissä on 4kpl erillistä kanavaa, joiden taso voidaan nostaa 5 voltista noin 10 volttiin. Se riittää mainiosti sarjaporttiin ja myöskin Optimum 8:n ohjausjärjestelmälle.
 
 
Arduinossa oleva ohjelma ei oikeastaan toimi kuin protokollamuuntimena standardin sarjaväylän ja Hauletten käyttämän sarjaväylän välillä. Sarjaväylän päälle on määritelty korkeamman tason pakettirakenne, jolla voidaan hieman vähentää väärintulkinnan riskiä ja samalla estää täysin virheellisen datan tulkinta ohjauskomennoiksi. Paketti koostuu kolmesta tavusta, joista ensimmäinen on aina 0. Nollan jälkeen tulee ohjausbiteistä koostuva tavu, joka koostuu seuraavasti: 8. bitti = kääntö vasemmalle, 7. bitti = kääntö oikealle, 6. bitti = "joystick" eteen, 5. bitti = "joystick" taakse, 4. bitti = nopeampi ajomoodi, 3. bitti = nostomoodi ja kaksi alinta bittiä ovat aina ylhäällä. Viimeinen tavu sisältää 7 eniten merkitsevää bittiä ajo/nostonopeudesta; viimeinen bitti on aina 1, joten sitä ei voi sekoittaa viestin aloitusmerkkiin ja näin ollen koko viestin tulkinta on triviaalia.
 
 
Ohjelmassa on lisäksi turvaominaisuus, joka pysäyttää koneen, jos sarjaportista ei saada uutta viestiä sekunnin kuluessa.
 
 
Arduinolle lähetetään viestejä läppärillä, jossa pyörii omaa tekoa oleva Python-softa. pySerial-kirjastoa käytetään sarjaliikenteeseen ja vastaavasti Pyro-kirjastoa ethernet-liikenteeseen. Ideana on, että Optimus Prime luo ulospäin geneerisen rajapinnan, jonka käyttäminen vaatii mahdollisimman vähän infraa. Tästä syystä koneen kyydissä oleva PC:n tehtävä on tarjota ulospäin Pyro:n serveri ja nimiserveri. Käyttöliittymää pyörittävä PC toimii yksinkertaisena clienttinä, joka toimisi periaatteessa kaiken tyyppisten robotin kanssa. Vielä pidemmälle vietynä: käyttöliittymän komponentit voisivat latautua robotilta, johon käyttäjä clienttinsä yhdistää.
 
 
[[Luokka:Projektit]]
 

Nykyinen versio 28. marraskuuta 2012 kello 22.50


Optimum prime
Aloitettu: 2011
Tyyppi: Sulautettu järjestelmä
Tekijät: mokis Keppo
Tila Käynnissä
Saksilavanostimen automatisointiprokkis.

Ensimmäisenä tavoitteena on saada nostin wlanin yli teleoperoitavaksi. Sen jälkeen laitteeseen lisättäneen sensoria ja automaatiota niin, että se kykenee semiautonomisesti liikkumaan varastossa.

Blueprint Patient

http://media.pekkaniska.com/pdf/manlift/pekkaniska_scissor_lifts_haulotte_optimum_8.pdf

[muokkaa] 28.6.2011

Alunperin luultiin että nostokorin ohjausyksikkössä ei ole minkäänlaista älyä, vaan johdotus menee vaan suoraan koneen rungossa olevaan ohjausjärjestelmään. Luulo osoittautui kuitenkin vääräksi, kun sähkökuviin tutustui tarkemmin.

sähkökaavio

Yllä olevasta kuvasta voidaan nähdä että korin ohjausyksiköltä (sininen nelikulmio) lähtee vain yksi ohjaussignaaliksi sopiva yhteys varsinaiseen ohjausjärjestelmään (punainen viiva). Niimpä olikin jo alussa selvää, että jonkinlaisen sarjaväylän kanssa joudutaan painimaan.

Skooppauksia ko. signaalista:

Idle Idle Idle Idle Idle

Ohjauspurkin lähettämä viesti (skooppausten perusteella):
Optimum prime signal.png
Protokolla ei pienistä ennakkotoiveista huolimatta ollut mikään tunnettu, joten se jouduttiin häkkäämään. Onni onnettomuudessa oli, että viesti on hyvin yksinkertainen. Jokaista digitaaliohjausta vastaa viestissä yksi bitti ja analogisen joystick:n asema esitetään 8 bitin avulla, lisäksi yksi bitti toimii heartbeattina. Kummastusta herätti 13:sta bitti, joka tuntui olevan hieman epävakaa ja sen leveys oli useimmiten puoliska muista biteistä. Toivotaan, että se oli mittausvirhe ja/tai ohjausjärjestelmä tulkitsee viestejä robustisti.

[muokkaa] 30.6.2011

Koska väylän nopeus on suhteellisen hidas (~2500baudia), voi signaalit replikoida helposti mikroprosessorilla. Ensimmäisessä kuvassa arduinolla generoitu signaali ja toisessa kuvassa sen vertailu alkuperäiseen.

Idle Idle

Seuraavaksi Arduinolle täytyy tinailla jännitteennostin max232:sta, sillä nostin käyttää sarjasignaalissaan 12 voltin jännitetasoa.

Henkilökohtaiset työkalut
Nimiavaruudet

Kirjoitusjärjestelmät
Toiminnot
Valikko
mode 5w
Työkalut