Kirjoitusalusta.fi
Koko ruutu

Server Notice:

hide

Julkinen työtila Latest text of pad hacklab-iclebo-hacking Tallennettu Kesäkuu 7, 2015

 
     
iClebo-robottipölynimurin hakkerointi
 
Tarkoituksena  on lisätä tavalliseen imurirobottiin älyä siten, että siitä syntyy robottialusta käytettäväksi taideprojektin osana.
----
Rakennuskuvia:
 
Koodia, pcb-suunnitelmia jne
  • heikki lisää ?
 
Xbee-radioprotokolla:
 
 
----
 
Tervehdys kaikille robotinrakentamiseen osallistuville:
Näyttely on Vantaan taidemuseossa Myyrmäessä loppukesästä 2013 - syksy. Teema sivuaa nukkumista ja unta. Taiteilijaprofiilini on täällä www.harrilarjosto.com . 
Tavoitteeni on saada tilaan muun taiteen ohelle 3-4 robottia. Yksi olisi jättiläismuna n 2m x 1,3m jolle voi soittaa. Runko on kevyttä bambua ja pinta paperia joten painoa ei juuri 
tule, kokoa siis kyllä. Munan sisällä on jemmattuna  kännykkä johon voi soittaa 
(numero raaputettu munan pintaan). Munaan syttyy valo, soittoääni on linnun 
viserrys ja vastaaja sanoo "voisko joku auttaa minua" tms....
Muihin sitten muita metkuja kuten pieni videonäyttö, joka toistaa kortilta videota, yhteen kamera, joka kuvaa tilaa ja projektori joka projisoi sen... Olen myös avoin kaikenlaisille uusille ideoille . t Harri
 
 
Taiteella kaikki onnistuu. Kyseessä on kineettinen veistos. HelHal huolehtii tekniikasta. Harri Larjosto desigista. Kaikki hyötyvät. Kyseessä on siis riisuttu roboimuri. Mitä sen ylle rakennetaan selviää syksyllä 2013 (tai kirjoitusalustalta).
 
Toistaiseksi selvitettyjä asioita:
 
Lataustelakan IR-protokolla
 
Hyvin simppeli protokolla, ei kantoaaltoa, pelkkiä IR-pulsseja:
    - 3 ms pulssi
    - 3 ms tauko
    - 6 ms pulssi
    - n*3 ms tauko
    - 1 ms pulssi
    - (7-n)*3 ms tauko
    
"Data" on n:n arvo 1...6. 
 
Telakassa on 6 IR-lediä, joista jokainen lähettää eri n:n arvolla. Ledien sijainti edestä katsottuna:
 
                 6
    1        2  3  4       5
 
Tehty ohjelmanpätkä C8051F330-kortille, joka ottaa vastaan koodin ja näyttää n:n arvon.
 
 
Ajomoottorit
 
Kumpaakin pyörää pyörittää DC-moottori, jossa kaksi hall-anturia, magneetti on moottorin akselilla. Moottorin vaihteisto on n. 1:75.
 
 
Hall-anturit ovat on/off-tyyppisiä, avokollektorilähtöisiä. Antavat 3 pulssia per moottorin kierros, kvadratuuria. Saadaan n. 225 pulssia per pyörän kierros. Pyörän halkaisija n. 82 mm ==> robotin etenemä 1.1 mm/pulssi.
 
Piirilevyllä oleva moottorin liitin:
 _________________
 |  1  2   3   4   5   6  |
 ----                      ----
 
    1 = hall 1 (vio)
    2 = hall 2 (si)
    3 = GND (vih)
    4 = +5 V (ru)
    5 = moottori (pu)
    6 = moottori (mu)
    
17.5. Katkaistu moottorien johdot ja lisätty päihin liittimet (Harwin 2x4). Liittimen nastajärjestys (M1,M2 = moottori, musta johto = M2):
 
        vio    si     mu   pu
      Hall1 Hall2  M2  M1
      +5V   NC   NC  GND
       ru      -        -      vi
    
 
Kaukosäädin
 
Tarkoitus on käyttää hyväksi robotin alkuperäistä logiikkaa, jolla se osaa hakeutua latausasemaan. Samalla saadaan käyttöön alkuperäinen laturi. Li-ion akun lataaminen turvallisesti ei ole ihan triviaalia. Latausasemaan ajo voidaan käynnistää kaukosäätimen komennolla. Uuden ohjauslogiikan pitää siis pystyä lähettämään näitä.
 
Kaukosäätimen protokolla näyttäisi olevan NEC-protokolla, kuvaus löytyy täältä:
 
Komentoja:
 
Painike POWER:  address = 0x20, command = 0x1F
Painike DOCKING: address = 0x20, command = 0x1A
 
6.5. Tehty proof-of-concept-ohjelma C8051F330:lle, joka lähettää IR-ledillä NEC-protokollan mukaiset käskyt. Robotti tottelee, eli protokolla hallussa.
 
 
Moottorinohjain
 
3.11. Moottorinohjaimen hw rakennettu. Koostuu Heikin stepper-ohjainkortista (2 x L6202) ja Veroboardista, jossa on loput tarvittavat osat. Ohjain pystyy vaihtamaan releellä moottorit joko omaan ohjaukseensa tai alkuperäisen imurin ohjaukseen. Liitäntä ohjaavaan älyyn on I2C. Kontrolleri C8051F361.
 
18.12. Moottorinohjain istutettu robottiin. Ohjaimen testaamiseksi tehty Arduinosta yksinkertainen "ylemmän tason äly", joka kahden infrapunatutkan avulla ohjaa robottia väistelemään esineitä. Komentaa moottorinohjainta I2C:n kautta. 
 
1.1. Moottorien pudottaminen alkuperäisen elektroniikan ohjattavaksi ja komentaminen etsimään latausasemaa toimii.
 
Robotin ARM-prossun debug-portit
 
* Boardilta löytyvät 8-nastainen (J12) ja 10-nastainen (J9) liitin
 
8-nastaisen liittimen J12 nastat, kytketty ARMiin:
 
Pin    Function
1       VDD
2       USART1_TX (CPU:n nasta 68)
3       USART1_RX (CPU:n nasta 69)
4       GND
5       VDD
 
10-nastaisen liittimen J9 nastat, kytketty ARMiin:
 
Pin    Function
1       JTAG TMS (CPU:n nasta 72) / SWDIO
2       JTAG TRST (90)
3       JTAG TDI (77)
4       -
5       JTAG TCK (76) / SWCLK
6       JTAG TDO (89)
 
 
Ideoita robotin designiksi:
Miten olisi nukkumatti? itäsaksalainen lastensankari joka tuli aina jollain jännällä kuluneuvolla. Muistaakseni sillä oli joskus avaruusalus tai reki tms.. kersat tykkäisi
 
Aikuisille sain ajatuksen  jota kutsun kuudestilaukeavaksi: Karjala six-pack. tai joku muu brandi. Jokaisessa kaljatölkissa on solenoidi joka saa sen hyppäämään kun se laukaistaan
Kun yleisö söittaa numeroon / tai jollain muulla mekanismilla kyseinen tölkki hyppää ilmaan
voi sitä riemua. 
 
___________________________________________
"I heard those robot vacuums really suck"