Robotti

Onko kukaan teistä rakennellut robotteja?? Haluaisin kokeilla rakentaa. Ajattelin jotain tälläistä http://www.ristoniemi.net/robotics/lakaisukonerobo.htm

Onko kukaan kokeillut? Ja saisikohan jostain kaavoja?
162114
Äänestä

Muut lukivat myös

Vastaukset 16

Vanhimmat

Onpa noita tullut rakenneltua pari kappaletta, ja kolmas on keskeneräisenä. Kuvia ei ole näytillä netissä, mutta jotain käsitystä saa tästä lähteestä: http://www.robotics.com/arobot/index.html Ensimmäinen robottini otti vahvasti vaikutteita tästä.

Nämä robotit ovat itsenäisesti liikkuvia, eivät kauko-ohjattavia. Tiukimpien määritelmien mukaan RobotWars-tyyppiset vehkeet eivät ole robotteja lainkaan, koska ihminen ohjaa niitä radiolla. No, tämä lienee mielipidekysymys tämäkin.

Internetistä löytyy paljon ohjeita ja ideoita tältä alalta. Hyvä paikka katsella, mitä muut ovat värkänneet on vaikkapa http://robots.net/robomenu/ Ihan täydellisen tarkkoja rakennusohjeita en muista nähneeni, omaa mielikuvitusta joutuu käyttämään, mutta sehän on hyvä vaan. Robottiharrastuksen kiinnostavuus tuleekin pitkälti siitä, että pitää hallita kolme aika lailla erilaista osa-aluetta: mekaniikka, elektroniikka ja ohjelmointi. Jos joku näistä pettää, ei kokonaisuus toimi kunnolla.

Minkätasoiseksi arvelet omat taitosi näillä eri alueilla? Sen perusteella voisin suositella sinulle joitakin eritasoisia nettilähteitä.

Äänestä
  • Jotain ymmärrän eloktroniikasta. Olen koulussa jotain rakennellut ja uskon että osaisin. Ainut mitä en ymmärrä on tuo ohjelmointi. Robotti voisi olla mahdollisimman pelkistetty. Esim tuon linnkini kaltainen, muuta ei tarvitse olla kuin se ohjaus, eli kone itse tunnistaa milloin pitää kääntyä. Tuon harjan vois tehä ihan manuaaliseksi, eli käynnistää silloin kun haluaa.

    Äänestä

  • minä kirjoitti:

    Jotain ymmärrän eloktroniikasta. Olen koulussa jotain rakennellut ja uskon että osaisin. Ainut mitä en ymmärrä on tuo ohjelmointi. Robotti voisi olla mahdollisimman pelkistetty. Esim tuon linnkini kaltainen, muuta ei tarvitse olla kuin se ohjaus, eli kone itse tunnistaa milloin pitää kääntyä. Tuon harjan vois tehä ihan manuaaliseksi, eli käynnistää silloin kun haluaa.

    Jos ohjelmointi arveluttaa, niin silloin voisi rakentaa ensimmäiseksi vaikka BEAM-tyyppisen robotin, joka ei sisällä prosessoria ollenkaan. BEAM on ihan oma suuntauksensa robottialalla, josta löytyy aika hyvä FAQ vaikka tästä: http://www.beam-online.com/Robots/FAQ/FAQ.html

    BEAM-puritanistit eivät käytä edes akkua tai paristoa, vaan vehkeet kulkevat aurinkokennolla, mutta toki tätä periaatetta voi soveltaa vähemmänkin orjallisesti. Esim. täältä löytyy BEAM-tyyppinen, mutta kuitenkin ihan paristolla toimiva hyvin simppeli robotti nimeltä ALI: http://home.wanadoo.nl/m.m.avos/others.htm Tämäkin kuitenkin osaa jo väistää esteitä viiksien avulla. Siinä on kytkentäkaavio, langoituspiirros ja muutama selventävä valokuva. Tämän rakentamista olen harkinnut itsekin, mutta eipä ole vielä edennyt. Samalla sivulla on muutama muukin ihan kiinnostavan oloinen härveli.

    Niin, harjaahan nämä ei sisällä, mutta sen varmaan voisi nyt alkuvaiheessa jättää poiskin, periaatteella "first things first".

    Äänestä

  • JKN kirjoitti:

    Jos ohjelmointi arveluttaa, niin silloin voisi rakentaa ensimmäiseksi vaikka BEAM-tyyppisen robotin, joka ei sisällä prosessoria ollenkaan. BEAM on ihan oma suuntauksensa robottialalla, josta löytyy aika hyvä FAQ vaikka tästä: http://www.beam-online.com/Robots/FAQ/FAQ.html

    BEAM-puritanistit eivät käytä edes akkua tai paristoa, vaan vehkeet kulkevat aurinkokennolla, mutta toki tätä periaatetta voi soveltaa vähemmänkin orjallisesti. Esim. täältä löytyy BEAM-tyyppinen, mutta kuitenkin ihan paristolla toimiva hyvin simppeli robotti nimeltä ALI: http://home.wanadoo.nl/m.m.avos/others.htm Tämäkin kuitenkin osaa jo väistää esteitä viiksien avulla. Siinä on kytkentäkaavio, langoituspiirros ja muutama selventävä valokuva. Tämän rakentamista olen harkinnut itsekin, mutta eipä ole vielä edennyt. Samalla sivulla on muutama muukin ihan kiinnostavan oloinen härveli.

    Niin, harjaahan nämä ei sisällä, mutta sen varmaan voisi nyt alkuvaiheessa jättää poiskin, periaatteella "first things first".

    Mistäköhän sitten osat kannataisi ostaa?

    Äänestä

  • minä kirjoitti:

    Mistäköhän sitten osat kannataisi ostaa?

    Yleensähän näissä robottihommissa sopivien moottorien hankkiminen on yksi hankalimmista vaiheista, ja usein täytyy robotti suunnitella sen mukaan, millaiset moottorit sattui löytymään.

    Tuohon ALI-tyyppiseen robottiin nyt sinänsä menee melkein mikä tahansa pikku moottori. Näitä saa ainakin näistä paikoista:

    - http://www.bebek.fi (Dc-moottorit -> Dc-moottorit)
    - http://www.kouluelektroniikka.fi/ (ainakin tuotteet 5540028,5540030,5540034)
    - http://www.stepsystems.fi
    - Clas Ohlson (web-kauppaa ei ole)

    Ilmeisesti ALI:ssa on käytetty varsin pienivirtaisia moottoreita, koska niitä ajetaan suoraan muutamalla rinnankytketyllä HC14-invertterillä. Moni tavallinen perusmoottori kuluttaa liikaa virtaa tuollaiselle ajotavalle. Bebekin Mabuchi saattaisi soveltua tähän, mutta paha mennä lupaamaan mitään, kun ei ole omakohtaista kokemusta eikä kunnon speksejä moottorista. Jos ei invertterien virta riitä, joutuu muuttamaan kytkentää.

    Nuo muut tavallisemmat elektroniikkakomponentit saa kyllä kaikista näistä (paitsi Ohlsonilta), sekä esim. Yleislektroniikasta, Partcolta jne.

    Joutuu näköjään siinä määrin arvailemaan noiden moottorien kanssa, että pitää vissiin ruveta rakentamaan tätä itse, että olisi jotain pohjaa neuvoille :-)

    Äänestä

  • JKN kirjoitti:

    Yleensähän näissä robottihommissa sopivien moottorien hankkiminen on yksi hankalimmista vaiheista, ja usein täytyy robotti suunnitella sen mukaan, millaiset moottorit sattui löytymään.

    Tuohon ALI-tyyppiseen robottiin nyt sinänsä menee melkein mikä tahansa pikku moottori. Näitä saa ainakin näistä paikoista:

    - http://www.bebek.fi (Dc-moottorit -> Dc-moottorit)
    - http://www.kouluelektroniikka.fi/ (ainakin tuotteet 5540028,5540030,5540034)
    - http://www.stepsystems.fi
    - Clas Ohlson (web-kauppaa ei ole)

    Ilmeisesti ALI:ssa on käytetty varsin pienivirtaisia moottoreita, koska niitä ajetaan suoraan muutamalla rinnankytketyllä HC14-invertterillä. Moni tavallinen perusmoottori kuluttaa liikaa virtaa tuollaiselle ajotavalle. Bebekin Mabuchi saattaisi soveltua tähän, mutta paha mennä lupaamaan mitään, kun ei ole omakohtaista kokemusta eikä kunnon speksejä moottorista. Jos ei invertterien virta riitä, joutuu muuttamaan kytkentää.

    Nuo muut tavallisemmat elektroniikkakomponentit saa kyllä kaikista näistä (paitsi Ohlsonilta), sekä esim. Yleislektroniikasta, Partcolta jne.

    Joutuu näköjään siinä määrin arvailemaan noiden moottorien kanssa, että pitää vissiin ruveta rakentamaan tätä itse, että olisi jotain pohjaa neuvoille :-)

    Kattelin noita sun, JKN, antamiasi linkkejä. En löytänyt sellasta ohjetta kun halusin, onko sulla muita linkkejä? Sellasta missä olisi ollut ne toiminniot mitkä pyysin: ir-tunnistimilla toimiva kääntö(käänty kun seinä tulee päin) ja sitten että liikkuis eteen ja taakse päin ja jos vois niin automaattinen harjan nosto.

    Äänestä

  • minä kirjoitti:

    Kattelin noita sun, JKN, antamiasi linkkejä. En löytänyt sellasta ohjetta kun halusin, onko sulla muita linkkejä? Sellasta missä olisi ollut ne toiminniot mitkä pyysin: ir-tunnistimilla toimiva kääntö(käänty kun seinä tulee päin) ja sitten että liikkuis eteen ja taakse päin ja jos vois niin automaattinen harjan nosto.

    Tiedän, että heittelemäni linkit eivät muistuta paljoakaan sitä robottia, johon viittasit alussa. Ajattelin, että haluaisit ehkä aloittaa jollakin yksinkertaisemmalla ja hankkia vähän tuntumaa. Mutta toki on mahdollista mennä suoraan monimutkaisempaankin laitteeseen, se vie vain vähän enemmän aikaa.

    Tästä löytyy aika tarkat ohjeet pienen robotin kokoamisesta: http://www.seattlerobotics.org/WorkshopRobot/index.php (tutorialit voi ladata zippeinä). Se on rakennussarjan ohje, joten siinäkin oletetaan juuri tiettyjen osien olemassaolo. Tuollaista moottoria en ole nähnyt ainakaan Suomessa, mutta ulkomaisista web-kaupoista löytyy suunnilleen saman näköisiä, esim. http://www.acroname.com/robotics/parts/R246-GM8.html tai http://www.hobbyengineering.com/CatMM.html

    Jos moottorin hankkiminen tuottaa hankaluuksia, niin paljon käytetty tapa on modifioida tavallinen RC-servo jatkuvasti pyöriväksi. Esim. Futaban S3003:lle löytyy ohje tästä (olen tehnyt tämän mukaan itse ja helposti kävi): http://www.kronosrobotics.com/an116/GAN116_3003.shtml ja pyörien kiinnittämiseen on ideoita tässä: http://www.kronosrobotics.com/an118/GAN118.shtml Futaban servoa saa useimmista RC-tarvikekaupoista, esim. http://www.sabe.fi/hobby/index.php?prodid=11482&grpid=3203

    IR-tunnistimen rakentamisesta yksi versio, jota olen itse käyttänyt, on tässä: http://www.kronosrobotics.com/an150/DAN150.shtml IS471F:ää saa ainakin Bebekistä.

    Muuta yleistä tutorialia (vähän vanhaa, mutta suurelta osin pätevää) on vaikka http://www.dprg.org/tutorials/index.html

    Tuo harjasysteemi täytyy kehitellä itse, siihen en ole nähnyt ohjeita. Varmaan tavallinen pikku moottori pyörittämään ja (modifioimaton) RC-servo nostamaan ja laskemaan.

    Äänestä

  • JKN kirjoitti:

    Tiedän, että heittelemäni linkit eivät muistuta paljoakaan sitä robottia, johon viittasit alussa. Ajattelin, että haluaisit ehkä aloittaa jollakin yksinkertaisemmalla ja hankkia vähän tuntumaa. Mutta toki on mahdollista mennä suoraan monimutkaisempaankin laitteeseen, se vie vain vähän enemmän aikaa.

    Tästä löytyy aika tarkat ohjeet pienen robotin kokoamisesta: http://www.seattlerobotics.org/WorkshopRobot/index.php (tutorialit voi ladata zippeinä). Se on rakennussarjan ohje, joten siinäkin oletetaan juuri tiettyjen osien olemassaolo. Tuollaista moottoria en ole nähnyt ainakaan Suomessa, mutta ulkomaisista web-kaupoista löytyy suunnilleen saman näköisiä, esim. http://www.acroname.com/robotics/parts/R246-GM8.html tai http://www.hobbyengineering.com/CatMM.html

    Jos moottorin hankkiminen tuottaa hankaluuksia, niin paljon käytetty tapa on modifioida tavallinen RC-servo jatkuvasti pyöriväksi. Esim. Futaban S3003:lle löytyy ohje tästä (olen tehnyt tämän mukaan itse ja helposti kävi): http://www.kronosrobotics.com/an116/GAN116_3003.shtml ja pyörien kiinnittämiseen on ideoita tässä: http://www.kronosrobotics.com/an118/GAN118.shtml Futaban servoa saa useimmista RC-tarvikekaupoista, esim. http://www.sabe.fi/hobby/index.php?prodid=11482&grpid=3203

    IR-tunnistimen rakentamisesta yksi versio, jota olen itse käyttänyt, on tässä: http://www.kronosrobotics.com/an150/DAN150.shtml IS471F:ää saa ainakin Bebekistä.

    Muuta yleistä tutorialia (vähän vanhaa, mutta suurelta osin pätevää) on vaikka http://www.dprg.org/tutorials/index.html

    Tuo harjasysteemi täytyy kehitellä itse, siihen en ole nähnyt ohjeita. Varmaan tavallinen pikku moottori pyörittämään ja (modifioimaton) RC-servo nostamaan ja laskemaan.

    Mites kun on tuollanen ir ohjain juttu niin millainen piirilevy pitää olla että sen saa ohjaamaan moottoreita?

    Äänestä

  • määi kirjoitti:

    Mites kun on tuollanen ir ohjain juttu niin millainen piirilevy pitää olla että sen saa ohjaamaan moottoreita?

    Tuota noin, ennenkuin voidaan puhua piirilevystä yhtään mitään, pitää tehdä sellainen ison luokan valinta kuin kontrolleriarkkitehtuurin valitseminen. Tämä on sikäli kauaskantoinen asia, että tietyn arkkitehtuurin ja sen ohjelmoinnin opettelu ja ohjelmointityökalujen (kääntäjät, ohjelmointilaitteet) hankkiminen ovat sen verran aikaa vievä operaatio, että arkkitehtuuria ei ole järkevää vaihtaa kovin tiheästi. Parempi opetella yksi kunnolla.

    Yleensä roboteissa käytetään jotain kolmesta eri arkkitehtuurista: PIC, AVR tai 8051. Tämä valinta on pitkälle mielipidekysymys ja herättää yleensä tunteita. Joten nyt kun päästään keskustelemaan tästä, saadaan tähänkin vuoropuheluun varmaan muitakin osallistujia :-)

    Joitakin mielipiteitä aiheesta: http://murobbs.muropaketti.com/thread.jsp?forum=28&thread=438881&start=0&msRange=15 Tässä keskustelussa taas on vertailtu PICiä ja 8051:tä keskenään: http://www.8052.com/forum/read.phtml?id=111827

    Itse tunnen näistä parhaiten 8051:n, jota olen käyttänyt paljon. AVR:ää olen tutkinut viime aikoina, ja se vaikuttaa kiinnostavalta, mutta en ole viitsinyt vaihtaa, on niin paljon valmista source-koodia 8051:lle. PIC:iä tunnen huonosti, mutta sen assembly-kieli vaikuttaa vähintäänkin omituiselta.

    Mikrokontrollereiden kohdalla assembly-kielen osaaminen on must. Toki ohjelmista yleensä tehdään suurin osa korkean tason kielellä (useimmiten C:llä) mutta silti jokaisessa ohjelmassa on kohtia, jotka on viisainta kirjoittaa assemblyllä. Ja sen C-koodinkin debuggaaminen menee vaikeaksi ilman assemblyn osaamista. Kyse on hyvin eri tyyppisestä ohjelmoinnista kuin PC-maailmassa, jossa voi aivan hyvin kirjoittaa C:llä ohjelmia ymmärtämättä PC:n prosessorin arkkitehtuuria tai assembly-kieltä.

    Itse lähtisin tekemään tätä vaikkapa Atmelin 89C4051-piirillä, joka edustaa 8051-arkkitehtuuria. Piirikortille riittäisi ainoaksi piiriksi tämä pelkkä kontrolleri, jos moottorit ovat modifioituja servoja. Jos ne ovat tavallisia moottoreita, tarvitaan lisäksi kaksois-H-silta, esim. L293.

    Tässä hiukan tutorialia 8051:tä: http://www.8052.com/tut8051.phtml.

    Tarkat kuvaukset löytyy täältä:
    http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_ARCH_1.pdf
    http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_PROG_GUIDE_1.pdf
    http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf

    Äänestä

  • JKN kirjoitti:

    Tuota noin, ennenkuin voidaan puhua piirilevystä yhtään mitään, pitää tehdä sellainen ison luokan valinta kuin kontrolleriarkkitehtuurin valitseminen. Tämä on sikäli kauaskantoinen asia, että tietyn arkkitehtuurin ja sen ohjelmoinnin opettelu ja ohjelmointityökalujen (kääntäjät, ohjelmointilaitteet) hankkiminen ovat sen verran aikaa vievä operaatio, että arkkitehtuuria ei ole järkevää vaihtaa kovin tiheästi. Parempi opetella yksi kunnolla.

    Yleensä roboteissa käytetään jotain kolmesta eri arkkitehtuurista: PIC, AVR tai 8051. Tämä valinta on pitkälle mielipidekysymys ja herättää yleensä tunteita. Joten nyt kun päästään keskustelemaan tästä, saadaan tähänkin vuoropuheluun varmaan muitakin osallistujia :-)

    Joitakin mielipiteitä aiheesta: http://murobbs.muropaketti.com/thread.jsp?forum=28&thread=438881&start=0&msRange=15 Tässä keskustelussa taas on vertailtu PICiä ja 8051:tä keskenään: http://www.8052.com/forum/read.phtml?id=111827

    Itse tunnen näistä parhaiten 8051:n, jota olen käyttänyt paljon. AVR:ää olen tutkinut viime aikoina, ja se vaikuttaa kiinnostavalta, mutta en ole viitsinyt vaihtaa, on niin paljon valmista source-koodia 8051:lle. PIC:iä tunnen huonosti, mutta sen assembly-kieli vaikuttaa vähintäänkin omituiselta.

    Mikrokontrollereiden kohdalla assembly-kielen osaaminen on must. Toki ohjelmista yleensä tehdään suurin osa korkean tason kielellä (useimmiten C:llä) mutta silti jokaisessa ohjelmassa on kohtia, jotka on viisainta kirjoittaa assemblyllä. Ja sen C-koodinkin debuggaaminen menee vaikeaksi ilman assemblyn osaamista. Kyse on hyvin eri tyyppisestä ohjelmoinnista kuin PC-maailmassa, jossa voi aivan hyvin kirjoittaa C:llä ohjelmia ymmärtämättä PC:n prosessorin arkkitehtuuria tai assembly-kieltä.

    Itse lähtisin tekemään tätä vaikkapa Atmelin 89C4051-piirillä, joka edustaa 8051-arkkitehtuuria. Piirikortille riittäisi ainoaksi piiriksi tämä pelkkä kontrolleri, jos moottorit ovat modifioituja servoja. Jos ne ovat tavallisia moottoreita, tarvitaan lisäksi kaksois-H-silta, esim. L293.

    Tässä hiukan tutorialia 8051:tä: http://www.8052.com/tut8051.phtml.

    Tarkat kuvaukset löytyy täältä:
    http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_ARCH_1.pdf
    http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_PROG_GUIDE_1.pdf
    http://www.semiconductors.philips.com/acrobat/various/80C51_FAM_HARDWARE_1.pdf

    En isommin ole noihin kontrollereihin perehtynyt, mutta PICAXE vaikuttaisi hyvältä vaihtoehdolta aloittelijalle, jolla ei ole aikaisempaa ohjelmointikokemusta ja joka haluaa aloittaa huokeasti, ostamatta kalliita välineitä. Kielenä toimii basic.

    http://www.rev-ed.co.uk/picaxe/

    Äänestä

  • Canopus kirjoitti:

    En isommin ole noihin kontrollereihin perehtynyt, mutta PICAXE vaikuttaisi hyvältä vaihtoehdolta aloittelijalle, jolla ei ole aikaisempaa ohjelmointikokemusta ja joka haluaa aloittaa huokeasti, ostamatta kalliita välineitä. Kielenä toimii basic.

    http://www.rev-ed.co.uk/picaxe/

    PICAXEa en juurikaan tunne, mutta tiedän sitä käytetyn roboteissa. Se kuuluu arkkitehtuuriltaan tuohon PIC-perheeseen, jota on sitten ryyditetty ilmeisesti valmiilla bootstrap-ohjelmalla, joka mahdollistaa ISP-toiminnallisuuden (In-Site Programming). Basic-kääntäjä ym. on sitten paketoitu vielä samaan.

    Välineiden kalleus ei nykyään ole ongelma minkään mainitun kontrolleriarkkitehtuurin kohdalla. Harrastajan käyttöön riittävät ohjelmistot löytyy netistä ilmaiseksi. Lisäksi tarvitaan aina jonkin verran hardwarea, mutta niitäkin on helppo rakentaa itse, jolloin selviää komponenttikustannuksilla. Toki näille on saatavissa ammattikäyttöön tarkoitettuja välineitä, jotka maksavat paljonkin, mutta harrastajan ei kannata näitä ostaa.

    Mitä ohjelmistoja ja välineitä sitten tarvitaan? Robotin ohjelman (tai minkä tahansa kontrollerisovelluksen) kehitystyöhän menee siten, että kun on ensin opeteltu kontrolleriperheen arkkitehtuuri, kirjoitetaan source-koodi. Tämä tapahtuu joko assembly-kielellä, joka on aina kontrolleriperhekohtainen, tai korkean tason kielellä (esim. C tai Basic). Tähän tarvitaan tekstieditori, joita on saatavissa runsaasti.

    Seuraavaksi source-koodi käännetään assembler-, C- tai Basic-kääntäjällä binääritiedostoksi. Kääntäjäohjelma pyörii PC:ssä ja niitä on saatavissa sekä ilmaisia että kaupallisia. Kääntäjän tuotoksena syntyy tiedosto, joka sisältää kontrolleriin ladattavan suorituskelpoisen ohjelman.

    Sitten ohjelma pitäisi vielä saada siirrettyä PC:n levyltä kontrolleripiirin muistiin. Tähän on kaksi päätapaa: ohjelmointilaitteen käyttö tai edellä mainittu In-Site Programming.

    Ohjelmointilaitetta käytettäessä irrotetaan kontrolleri robotin piirilevyltä ja asetetaan ohjelmointilaitteeseen, joka on yhdistetty PC:hen. Ajetaan PC:ssä ohjelmointilaitteen ohjausohjelma, joka siirtää äsken käännetyn tiedoston kontrollerin muistiin. Lopuksi siirretään kontrolleri takaisin robotin piirilevylle, ja katsotaan toimiiko...

    Se toinen tapa on ISP, jossa robotin piirilevylle on tehty sopiva liitin ja kytkennät, johon voidaan kytkeä johto PC:stä. Taas ajetaan PC:ssä sopiva ohjelma, joka siirtää tiedoston kontrollerin muistiin. Tässä menettelyssä on etuna, että kontrolleripiiriä ei tarvitse irrottaa ja kiinnittää jatkuvasti, jokaisen ohjelmamuutoksen takia. ISP-toiminnallisuus on kontrollerin ominaisuus, jotkut mallit tukevat sitä ja jotkut ei. Jos kontrolleri ei tue ISP:tä, niin sitten sitä voi ohjelmoida ainoastaan ohjelmointilaitteen avulla.

    Ohjelmointilaite ei yleensä ole kovinkaan monimutkainen, ainakin 8051-perheen useille malleille on valmiita rakennusohjeita useitakin tarjolla netissä. Samoin niihin kuuluvat PC-puolen ohjelmat ovat ilmaisia. Myös ISP:tä varten joutuu rakentamaan hiukan, minimissään kaapelin. Näihinkin löytyy ohjeita ja ohjelmia netistä.

    Sehän näissä ohjelmointilaitteissa/ISP-laitteissa on hankalinta, että ne eivät ole arkkitehtuurikohtaisia, vaan yhdellä ohjelmointilaitteella/ISP-laitteella voi yleensä ohjelmoida vain muutamaa kontrollerityyppiä. Kaupalliset laitteet ovat erikseen, ne saattavat hallita jopa tuhansia eri piirityyppejä, mutta ne sitten maksavatkin.

    Äänestä

  • JKN kirjoitti:

    PICAXEa en juurikaan tunne, mutta tiedän sitä käytetyn roboteissa. Se kuuluu arkkitehtuuriltaan tuohon PIC-perheeseen, jota on sitten ryyditetty ilmeisesti valmiilla bootstrap-ohjelmalla, joka mahdollistaa ISP-toiminnallisuuden (In-Site Programming). Basic-kääntäjä ym. on sitten paketoitu vielä samaan.

    Välineiden kalleus ei nykyään ole ongelma minkään mainitun kontrolleriarkkitehtuurin kohdalla. Harrastajan käyttöön riittävät ohjelmistot löytyy netistä ilmaiseksi. Lisäksi tarvitaan aina jonkin verran hardwarea, mutta niitäkin on helppo rakentaa itse, jolloin selviää komponenttikustannuksilla. Toki näille on saatavissa ammattikäyttöön tarkoitettuja välineitä, jotka maksavat paljonkin, mutta harrastajan ei kannata näitä ostaa.

    Mitä ohjelmistoja ja välineitä sitten tarvitaan? Robotin ohjelman (tai minkä tahansa kontrollerisovelluksen) kehitystyöhän menee siten, että kun on ensin opeteltu kontrolleriperheen arkkitehtuuri, kirjoitetaan source-koodi. Tämä tapahtuu joko assembly-kielellä, joka on aina kontrolleriperhekohtainen, tai korkean tason kielellä (esim. C tai Basic). Tähän tarvitaan tekstieditori, joita on saatavissa runsaasti.

    Seuraavaksi source-koodi käännetään assembler-, C- tai Basic-kääntäjällä binääritiedostoksi. Kääntäjäohjelma pyörii PC:ssä ja niitä on saatavissa sekä ilmaisia että kaupallisia. Kääntäjän tuotoksena syntyy tiedosto, joka sisältää kontrolleriin ladattavan suorituskelpoisen ohjelman.

    Sitten ohjelma pitäisi vielä saada siirrettyä PC:n levyltä kontrolleripiirin muistiin. Tähän on kaksi päätapaa: ohjelmointilaitteen käyttö tai edellä mainittu In-Site Programming.

    Ohjelmointilaitetta käytettäessä irrotetaan kontrolleri robotin piirilevyltä ja asetetaan ohjelmointilaitteeseen, joka on yhdistetty PC:hen. Ajetaan PC:ssä ohjelmointilaitteen ohjausohjelma, joka siirtää äsken käännetyn tiedoston kontrollerin muistiin. Lopuksi siirretään kontrolleri takaisin robotin piirilevylle, ja katsotaan toimiiko...

    Se toinen tapa on ISP, jossa robotin piirilevylle on tehty sopiva liitin ja kytkennät, johon voidaan kytkeä johto PC:stä. Taas ajetaan PC:ssä sopiva ohjelma, joka siirtää tiedoston kontrollerin muistiin. Tässä menettelyssä on etuna, että kontrolleripiiriä ei tarvitse irrottaa ja kiinnittää jatkuvasti, jokaisen ohjelmamuutoksen takia. ISP-toiminnallisuus on kontrollerin ominaisuus, jotkut mallit tukevat sitä ja jotkut ei. Jos kontrolleri ei tue ISP:tä, niin sitten sitä voi ohjelmoida ainoastaan ohjelmointilaitteen avulla.

    Ohjelmointilaite ei yleensä ole kovinkaan monimutkainen, ainakin 8051-perheen useille malleille on valmiita rakennusohjeita useitakin tarjolla netissä. Samoin niihin kuuluvat PC-puolen ohjelmat ovat ilmaisia. Myös ISP:tä varten joutuu rakentamaan hiukan, minimissään kaapelin. Näihinkin löytyy ohjeita ja ohjelmia netistä.

    Sehän näissä ohjelmointilaitteissa/ISP-laitteissa on hankalinta, että ne eivät ole arkkitehtuurikohtaisia, vaan yhdellä ohjelmointilaitteella/ISP-laitteella voi yleensä ohjelmoida vain muutamaa kontrollerityyppiä. Kaupalliset laitteet ovat erikseen, ne saattavat hallita jopa tuhansia eri piirityyppejä, mutta ne sitten maksavatkin.

    Jotakin tähän suuntaan minä olen noista kontrollereista kuullut. PICAXEsta nyt sen verran vielä, että halvimmillaan joutuu pulittamaan 5€ johdosta, joka yhdistetään tietokoneeseen ja lataamaan netistä ilmaisen ohjelman ja tällä pääsee alkuun. Tietenkin tarvitaan vielä kontrolleri, jota ohjelmoidaan, liitin ja itse piirilevy, jolla kontrolleri(t) mellastaa muut komponentit. Eli ei siis joudu rakentamaan mitään ohjelmointilaitetta erikseen.

    Tosin jos valitsee kontrollerin, jonka ohjelmointiin tarvitsee ohjelmointilaitteen, niin tuon ohjelmointilaitteen rakentaminen käy hyvänä harjoituksena itse robotin/muun laitteen rakentamista varten, eivätkä sen osat maksa paljoa, vaikkakaan tuskin ihan 5€:lla pääsee.

    Kyselisin vähän noista 8051-perheen kontrollereista. Elikkä voiko niitä ohjelmoida eri kielillä, kuten C:llä tai basic:lla kunhan vain hankkii oikean kääntäjän tähän hommaan? Olisiko jotain hyvää linkkiä, josta voisi katsella vähän enempi?

    Itse en ole vielä ohjelmoinut mitään kontrollereita, mutta C :aa on tullut vähän opiskeltua, joten olisi mukava aloitella kontrollerilla, jonka ohjelmoimiseen voi käytää C:tä.

    Äänestä

  • Canopus kirjoitti:

    Jotakin tähän suuntaan minä olen noista kontrollereista kuullut. PICAXEsta nyt sen verran vielä, että halvimmillaan joutuu pulittamaan 5€ johdosta, joka yhdistetään tietokoneeseen ja lataamaan netistä ilmaisen ohjelman ja tällä pääsee alkuun. Tietenkin tarvitaan vielä kontrolleri, jota ohjelmoidaan, liitin ja itse piirilevy, jolla kontrolleri(t) mellastaa muut komponentit. Eli ei siis joudu rakentamaan mitään ohjelmointilaitetta erikseen.

    Tosin jos valitsee kontrollerin, jonka ohjelmointiin tarvitsee ohjelmointilaitteen, niin tuon ohjelmointilaitteen rakentaminen käy hyvänä harjoituksena itse robotin/muun laitteen rakentamista varten, eivätkä sen osat maksa paljoa, vaikkakaan tuskin ihan 5€:lla pääsee.

    Kyselisin vähän noista 8051-perheen kontrollereista. Elikkä voiko niitä ohjelmoida eri kielillä, kuten C:llä tai basic:lla kunhan vain hankkii oikean kääntäjän tähän hommaan? Olisiko jotain hyvää linkkiä, josta voisi katsella vähän enempi?

    Itse en ole vielä ohjelmoinut mitään kontrollereita, mutta C :aa on tullut vähän opiskeltua, joten olisi mukava aloitella kontrollerilla, jonka ohjelmoimiseen voi käytää C:tä.

    Kaikille aiemmin mainituille kontrolleriperheille löytyy C-kääntäjä. Samoin Basic-kääntäjä ja tietysti assembler, kontrollerin "äidinkieli".

    8051:lle on paljon sekä ilmaisia että kaupallisia kääntäjiä ja muita työkaluja tarjolla, onhan se maailman eniten käytetty kontrolleriarkkitehtuuri, jolla on kymmeniä valmistajia. (Tästä saat hiukan käsitystä, millainen valikoima 8051-arkkitehtuurin mukaisia piirejä maailmalta löytyy: http://www.8052.com/chips.phtml ).

    Linkkikokoelma 8051-työkaluihin: http://bit.kuas.edu.tw/~8051/
    Ja toinen: http://www.8052.com/links.phtml
    Ja kolmas: http://www.goosee.com/micro8051/

    Ilmaisista C-kääntäjistä pätevin lienee SDCC (http://sdcc.sourceforge.net/ ) joka sisältää myös assemblerin ja simulaattorin. Raisonancella on kaupallinen C-kääntäjä ym. työkalut, joista on saatavissa ilmainen demoversio, joka rajoittaa ohjelman koon 4 ktavuun. Tälläkin pärjää jo pitkälle kontrollerihommissa.

    Assemblereita on useita, mm. ASEM-51, AS-31, SB-Assembler ym.

    Simulaattoreista olen käyttänyt Jsimiä (http://home.arcor.de/jensaltmann/ ) Muitakin löytyy edellä mainituista listoista.

    Basic-kääntäjistä ainut lienee kaupallinen BASCOM, jonka ilmainen demoversio rajoittaa ohjelman koon 2 ktavuun.

    Ohjelmointilaitteiden osalta mennään sitten jo piirikohtaisiin välineisiin. Olen käyttänyt aika paljon Atmelin 89C4051-piirejä, joka on varsin kätevä perus-8051 4 kB:n Flashilla 20-pinnisessä DIL-kotelossa. Tälle olen käyttänyt ohjelmointilaitetta itse rakennettuna tämän mukaan: http://www.lecad.uni-lj.si/~leon/electronics/bi2051/ Tämä liittyy PC:n rinnakkaisporttiin, ja saattaa olla kriitillinen toimimaan uudempien Windowsien kanssa.

    Vähän monimutkaisempi ohjelmointilaite samalle piirille löytyy tästä: http://chaokhun.kmitl.ac.th/~kswichit/easy1/easy.htm Tämä liittyy sarjaporttiin, joten ei ole niin kriitillinen käyttöjärjestelmän suhteen.

    Atmelilla on myös isompia 8051-piirejä, joissa toimii myös ISP. Tätä systeemiä 89S8252:n kanssa aion vielä kokeilla, kunhan kerkiän: http://www.8052.com/sbc/isp.phtml

    Äänestä

  • JKN kirjoitti:

    Kaikille aiemmin mainituille kontrolleriperheille löytyy C-kääntäjä. Samoin Basic-kääntäjä ja tietysti assembler, kontrollerin "äidinkieli".

    8051:lle on paljon sekä ilmaisia että kaupallisia kääntäjiä ja muita työkaluja tarjolla, onhan se maailman eniten käytetty kontrolleriarkkitehtuuri, jolla on kymmeniä valmistajia. (Tästä saat hiukan käsitystä, millainen valikoima 8051-arkkitehtuurin mukaisia piirejä maailmalta löytyy: http://www.8052.com/chips.phtml ).

    Linkkikokoelma 8051-työkaluihin: http://bit.kuas.edu.tw/~8051/
    Ja toinen: http://www.8052.com/links.phtml
    Ja kolmas: http://www.goosee.com/micro8051/

    Ilmaisista C-kääntäjistä pätevin lienee SDCC (http://sdcc.sourceforge.net/ ) joka sisältää myös assemblerin ja simulaattorin. Raisonancella on kaupallinen C-kääntäjä ym. työkalut, joista on saatavissa ilmainen demoversio, joka rajoittaa ohjelman koon 4 ktavuun. Tälläkin pärjää jo pitkälle kontrollerihommissa.

    Assemblereita on useita, mm. ASEM-51, AS-31, SB-Assembler ym.

    Simulaattoreista olen käyttänyt Jsimiä (http://home.arcor.de/jensaltmann/ ) Muitakin löytyy edellä mainituista listoista.

    Basic-kääntäjistä ainut lienee kaupallinen BASCOM, jonka ilmainen demoversio rajoittaa ohjelman koon 2 ktavuun.

    Ohjelmointilaitteiden osalta mennään sitten jo piirikohtaisiin välineisiin. Olen käyttänyt aika paljon Atmelin 89C4051-piirejä, joka on varsin kätevä perus-8051 4 kB:n Flashilla 20-pinnisessä DIL-kotelossa. Tälle olen käyttänyt ohjelmointilaitetta itse rakennettuna tämän mukaan: http://www.lecad.uni-lj.si/~leon/electronics/bi2051/ Tämä liittyy PC:n rinnakkaisporttiin, ja saattaa olla kriitillinen toimimaan uudempien Windowsien kanssa.

    Vähän monimutkaisempi ohjelmointilaite samalle piirille löytyy tästä: http://chaokhun.kmitl.ac.th/~kswichit/easy1/easy.htm Tämä liittyy sarjaporttiin, joten ei ole niin kriitillinen käyttöjärjestelmän suhteen.

    Atmelilla on myös isompia 8051-piirejä, joissa toimii myös ISP. Tätä systeemiä 89S8252:n kanssa aion vielä kokeilla, kunhan kerkiän: http://www.8052.com/sbc/isp.phtml

    Kiitos vaan paljon!

    Äänestä

pyydä poliisin allekirjoitus kansliasta, väärennöstiedot, aloita sillä, ja kunhan 112 tee että saa lakivoiton ja osaa sanoa KIISTÄÄ, AUVO TOIVO VOITON SUO

Äänestä

Kommentoi aloitusta


minä kirjoitti:

Onko kukaan teistä rakennellut robotteja?? Haluaisin kokeilla rakentaa. Ajattelin jotain tälläistä http://www.ristoniemi.net/robotics/lakaisukonerobo.htm

Onko kukaan kokeillut? Ja saisikohan jostain kaavoja?

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu