Robottipiirit mikro-ohjaimissa. Mikro-ohjaimen valitseminen robotin luomiseksi. Kehitys: elementtipohjan valinta ja valmistelu

Luodaksesi oman robotin sinun ei tarvitse valmistua tai lukea tonnia. Käytä vain vaiheittaisia ​​ohjeita, joita robotiikan mestarit tarjoavat verkkosivuillaan. Internetistä löydät paljon hyödyllistä tietoa autonomisten robottijärjestelmien kehittämisestä.

10 resurssia pyrkivälle robotiikolle

Sivuston tietojen avulla voit itsenäisesti luoda robotin, jolla on monimutkainen käyttäytyminen. Täältä löydät ohjelmaesimerkkejä, kaavioita, viitemateriaaleja, valmiita esimerkkejä, artikkeleita ja valokuvia.

Sivustolla on erillinen osio aloittelijoille. Resurssin luojat panostavat voimakkaasti mikro-ohjaimiin, robotiikan yleiskorttien kehittämiseen ja mikropiirien juottamiseen. Täältä löydät myös ohjelmien lähdekoodeja ja monia käytännön neuvoja sisältäviä artikkeleita.

Sivustolla on erityinen kurssi "Step by Step", jossa kuvataan yksityiskohtaisesti yksinkertaisimpien BEAM-robottien sekä AVR-mikrokontrollereihin perustuvien automatisoitujen järjestelmien luomisprosessi.

Sivusto, josta aloittelevat robotintekijät voivat löytää kaiken tarvittavan teoreettisen ja käytännön tiedon. Täällä julkaistaan ​​myös suuri määrä hyödyllisiä ajankohtaisia ​​artikkeleita, uutisia päivitetään ja foorumilla voi esittää kysymyksiä kokeneille robotiikoille.

Tämä resurssi on omistettu asteittaiseen uppoamiseen robottien luomisen maailmaan. Kaikki alkaa Arduinon tuntemuksesta, jonka jälkeen aloittelevalle kehittäjälle kerrotaan AVR-mikro-ohjaimista ja nykyaikaisemmista ARM-analogeista. Yksityiskohtaiset kuvaukset ja kaaviot selittävät hyvin selvästi, miten ja mitä tehdä.

Sivusto BEAM-robotin tekemisestä omin käsin. Siellä on kokonainen osio omistettu perusasioihin sekä logiikkakaaviot, esimerkit jne.

Tämä resurssi kuvaa hyvin selkeästi kuinka luoda robotti itse, mistä aloittaa, mitä sinun tulee tietää, mistä etsiä tietoa ja tarvittavat osat. Palvelu sisältää myös osion, jossa on blogi, foorumi ja uutiset.

Valtava live-foorumi, joka on omistettu robottien luomiselle. Aiheet ovat täällä avoimia aloittelijoille, keskustellaan mielenkiintoisista projekteista ja ideoista, kuvataan mikrokontrollereita, valmiita moduuleja, elektroniikkaa ja mekaniikkaa. Ja mikä tärkeintä, voit kysyä mitä tahansa robotiikkaa koskevia kysymyksiä ja saada yksityiskohtaisen vastauksen ammattilaisilta.

Amatöörirobotikon resurssit on ensisijaisesti omistettu hänen omalle "Homemade Robot" -projektilleen. Täältä löydät kuitenkin paljon hyödyllisiä temaattisia artikkeleita, linkkejä mielenkiintoisille sivustoille, oppia kirjailijan saavutuksista ja keskustella erilaisista suunnitteluratkaisuista.

Arduino-laitteistoalusta on kätevin robottijärjestelmien kehittämiseen. Sivuston tietojen avulla voit nopeasti ymmärtää tämän ympäristön, hallita ohjelmointikielen ja luoda useita yksinkertaisia ​​projekteja.

Mikro-ohjaimen valitseminen robotin luomiseksi. Ensin sinun on ymmärrettävä mikro-ohjaimen käsite ja mitä se tekee?

Mikro-ohjain on tietokonelaite, joka pystyy suorittamaan ohjelmia (eli käskysarjaa).

Sitä kutsutaan usein robotin "aivoiksi" tai "ohjauskeskukseksi". Tyypillisesti mikro-ohjain on vastuussa kaikista laskelmista, päätöksenteosta ja viestinnästä.

Kommunikoidakseen ulkomaailman kanssa mikro-ohjaimessa on sarja nastoja tai nastoja, jotka tunnistavat signaalin sähköisesti. Signaali voidaan siis kääntää maksimiin (1/C) tai minimiin (0/off) ohjelmointiohjeen avulla. Näitä nastoja voidaan käyttää myös sähköisten signaalien lukemiseen. Ne tulevat antureista tai muista laitteista ja määrittävät, ovatko signaalit korkeat vai alhaiset.

Useimmat nykyaikaiset mikro-ohjaimet voivat myös mitata analogisten signaalien jännitettä. Nämä ovat signaaleja, joilla voi olla täysi arvoalue kahden selkeästi määritellyn tason sijaan. Tämä tapahtuu käyttämällä analogista digitaalimuunninta (ADC). Tämän seurauksena mikro-ohjain voi antaa signaalille numeerisen arvon analogisen jännitteen muodossa. Tämä jännite ei ole korkea eikä matala ja on tyypillisesti välillä 0 - 10 volttia.

Mitä mikro-ohjain voi tehdä?

Vaikka mikro-ohjaimet saattavat ensisilmäyksellä vaikuttaa melko rajoittuneilta, monia monimutkaisia ​​toimintoja voidaan suorittaa käyttämällä korkean ja matalan signaalin nastoja algoritmin ohjelmoimiseksi. Erittäin monimutkaisten algoritmien, kuten älykkään toiminnan tai erittäin suurten ohjelmien, luominen ei kuitenkaan välttämättä ole mahdollista mikro-ohjaimelle rajallisten resurssien ja nopeusrajoitusten vuoksi.

Voit esimerkiksi ohjelmoida toistuvan sarjan saamaan valot vilkkumaan. Joten mikro-ohjain kytkee korkean signaalitason päälle, odottaa sekunnin, laskee sen alhaiseksi, odottaa toisen sekunnin ja aloittaa uudelleen. Valo on kytketty mikro-ohjaimen lähtönastan ja vilkkuu loputtomasti syklisessä ohjelmassa.


Samoin mikro-ohjaimia voidaan käyttää ohjaamaan muita sähkölaitteita. Ensisijaisesti kuten asemat (kun kytkettynä moottoriohjaimeen), tallennuslaitteet (kuten SD-kortit), WiFi- tai bluetooth-liitännät jne. Tämän uskomattoman monipuolisuuden seurauksena mikrokontrollereita löytyy jokapäiväisestä elämästä.

Lähes jokaisessa kodinkoneessa tai elektronisessa laitteessa on vähintään yksi mikro-ohjain. Vaikka useita mikro-ohjaimia käytetään usein. Esimerkiksi televisioissa, pesukoneissa, ohjauspaneeleissa, puhelimissa, kelloissa, mikroaaltouunissa ja monissa muissa laitteissa.

Toisin kuin mikroprosessorit (kuten henkilökohtaisten tietokoneiden keskusyksikkö), mikro-ohjain ei vaadi oheislaitteita. Kuten ulkoinen RAM tai ulkoinen tallennuslaite työhön. Tämä tarkoittaa, että vaikka mikro-ohjain voi olla vähemmän tehokas kuin niiden PC-vastineet. Mikrokontrollereihin perustuvien piirien ja tuotteiden kehittäminen on lähes aina paljon helpompaa ja halvempaa, koska lisälaitteita tarvitaan vain vähän.

On tärkeää huomata, että mikro-ohjain voi tuottaa vain hyvin pienen määrän sähköenergiaa lähtönastojensa kautta. Tämä tarkoittaa, että tehokasta sähkömoottoria, solenoidia, suurta valaistusta tai muuta suurta kuormaa ei voi kytkeä suoraan mikro-ohjaimeen. Tämän yrittäminen voi vahingoittaa säädintä.

Mitkä ovat mikro-ohjaimen erikoistuneet toiminnot?

Mikrokontrollereihin sisäänrakennetun erikoislaitteiston avulla nämä laitteet voivat tehdä muutakin kuin yksinkertaisen digitaalisen I/O:n, peruslaskelmat ja päätöksenteon. Monet mikro-ohjaimet tukevat helposti suosituimpia viestintäprotokollia, kuten UART (RS232 tai muu), SPI ja I2C. Tämä ominaisuus on erittäin hyödyllinen kommunikoitaessa muiden laitteiden, kuten tietokoneiden, antureiden tai muiden mikro-ohjainten kanssa.

Vaikka nämä protokollat ​​voidaan toteuttaa manuaalisesti, on aina parempi olla oma sisäänrakennettu laitteisto, joka huolehtii yksityiskohdista. Näin mikro-ohjain voi keskittyä muihin tehtäviin ja pitää ohjelman puhtaana.


Analogi-digitaalimuuntimia (ADC) käytetään muuttamaan analogiset jännitesignaalit digitaalisiksi. Siellä määrä on verrannollinen jännitteen suuruuteen ja tätä lukua voidaan sitten käyttää mikrokontrolleriohjelmassa. Joissakin mikro-ohjaimissa on kyky käyttää pulssinleveysmodulaatiota (PWM), jotta välienergian ulostulo eroaa korkeasta ja matalasta. Esimerkiksi tällä menetelmällä voit muuttaa LED-valon kirkkautta sujuvasti.

Lopuksi, joissakin mikro-ohjaimissa on integroitu jännitesäädin. Tämä on varsin kätevää, koska sen avulla mikro-ohjain voi toimia laajalla jännitealueella. Siksi sinun ei tarvitse antaa vaadittuja jännitearvoja. Sen avulla voit myös helposti liittää erilaisia ​​antureita ja muita laitteita ilman ylimääräistä ulkoista säädeltyä virtalähdettä.

Analoginen vai digitaalinen?

Mitä tulo- ja lähtösignaaleja on käytettävä, riippuu tehtävästä ja olosuhteista. Jos tehtäväsi on esimerkiksi yksinkertaisesti kytkeä jotain päälle tai pois päältä, tarvitset vain, että mikro-ohjaimen tulonastan signaali on digitaalinen. Kytkimen binääritila on 0 tai 1. Signaalin korkea taso voi olla 5 volttia ja matala taso 0. Jos haluat mitata esimerkiksi lämpötilaa, tarvitset analogisen tulosignaalin. Seuraavaksi mikro-ohjaimen ADC tulkitsee jännitteen ja muuntaa sen numeeriseksi arvoksi.


Kuinka ohjelmoida mikrokontrollerit?

Mikro-ohjainten ohjelmointi on helpottunut nykyaikaisten integroitujen kehitysympäristöjen (IDE) ja monipuolisten kirjastojen käytön ansiosta. Ne kattavat helposti kaikki yleisimmät tehtävät ja sisältävät monia valmiita koodiesimerkkejä.

Nykyään mikro-ohjaimet voidaan ohjelmoida useilla korkean tason kielillä. Nämä ovat kieliä, kuten C, C++, C#, Java, Python, Basic ja muut. Tietysti voit aina kirjoittaa ohjelman assembly-kielellä. Vaikka tämä on edistyneemmille käyttäjille, joilla on erityisvaatimuksia (aavistus masokismia). Tässä mielessä jokaisen pitäisi pystyä löytämään ohjelmointikieli, joka parhaiten sopii hänen makuun ja aiempaan ohjelmointikokemukseen.

Mikrokontrollerien ohjelmointi on entistä helpompaa, kun valmistajat luovat graafisia ohjelmointiympäristöjä. Nämä ovat kuvakkeita, jotka sisältävät useita koodirivejä. Piktogrammit on yhdistetty toisiinsa. Tuloksena luodaan ohjelma, joka on visuaalisesti yksinkertainen, mutta sisältää suuren määrän koodia. Esimerkiksi yksi kuva voi edustaa moottorin ohjausta. Käyttäjän tarvitsee vain sijoittaa kuvake tarvittaessa ja osoittaa pyörimissuunta ja nopeus.


Kehitetyt mikrokontrollerilevyt ovat varsin käteviä käyttää. Ja niitä on helpompi käyttää pitkään. Ne tarjoavat myös kätevät USB-virta- ja ohjelmointiliitännät. Siksi on mahdollista muodostaa yhteys mihin tahansa nykyaikaiseen tietokoneeseen.

Mikset käytä tavallista tietokonetta?

On selvää, että mikro-ohjain on hyvin samanlainen kuin tietokoneen prosessori. Jos näin on, miksi et vain käyttäisi tietokonetta robotin ohjaamiseen? Kannattaako siis valita pöytätietokone vai mikro-ohjain?


Pohjimmiltaan edistyneemmissä roboteissa, erityisesti niissä, joissa on monimutkaisia ​​laskelmia ja algoritmeja, mikro-ohjain korvataan (tai sitä täydennetään) usein tavallisella tietokoneella. Pöytätietokone sisältää emolevyn, prosessorin, laitteen RAM-muistin (esimerkiksi kiintolevyn) ja näytönohjaimen (sisäänrakennettu tai ulkoinen).

Lisäksi on olemassa oheislaitteita, kuten näyttö, näppäimistö, hiiri jne. Nämä järjestelmät ovat yleensä kalliimpia, fyysisesti suurempia ja kuluttavat enemmän virtaa. Tärkeimmät erot on esitetty alla olevassa taulukossa. Lisäksi niissä on usein enemmän toimintoja kuin on tarpeen.

Kuinka valita oikea mikro-ohjain?

Jos opiskelet robotiikkaa, tarvitset mikro-ohjaimen mihin tahansa robotiikkaprojektiin. Aloittelijalle oikean mikro-ohjaimen valinta voi tuntua pelottavalta tehtävältä. Varsinkin kun otetaan huomioon valikoima, tekniset ominaisuudet ja käyttöalueet. Markkinoilla on monia erilaisia ​​mikrokontrollereita:

  • Arduino
  • PerusATOM
  • BasicX
  • Lego EV3
  • ja monet muut

Voit valita oikean mikro-ohjaimen kysymällä itseltäsi seuraavat kysymykset:

Mikä on sovellukseni suosituin mikro-ohjain?

Robottien ja elektronisten projektien luominen yleensä ei tietenkään ole suosiokilpailu. On erittäin hyvä, jos mikro-ohjaimella on paljon yhteisön tukea. Ja sitä käytetään menestyksekkäästi samanlaisissa tai jopa identtisissä tilanteissa. Tämän seurauksena tämä voi yksinkertaistaa suunnitteluvaihetta huomattavasti. Tällä tavalla voit hyötyä muiden käyttäjien, sekä amatöörien että ammattilaisten, kokemuksista.

Robottisuunnitteluyhteisöjen jäsenet jakavat tuloksia, koodeja, kuvia, videoita keskenään ja puhuvat yksityiskohtaisesti onnistumisista ja jopa epäonnistumisista. Kaikki tämä on saatavilla olevia materiaaleja ja mahdollisuus saada neuvoja kokeneemmilta käyttäjiltä. Siksi se voi osoittautua erittäin arvokkaaksi.

Onko robotillasi erityisvaatimuksia?

Mikro-ohjaimen on kyettävä suorittamaan kaikki robotin erikoistoiminnot, jotta toiminnot toimivat oikein. Jotkut ominaisuudet ovat yhteisiä kaikille mikrokontrollereille (esimerkiksi digitaalisten tulojen ja lähtöjen läsnäolo, kyky suorittaa yksinkertaisia ​​matemaattisia operaatioita, vertailla arvoja ja tehdä päätöksiä).

Muut ohjaimet saattavat vaatia tiettyä laitteistoa (esim. ADC-, PWM- ja viestintäprotokollan tuki). Myös muisti- ja nopeusvaatimukset sekä nastojen määrä on otettava huomioon.

Mitä komponentteja on saatavilla tietylle mikro-ohjaimelle?

Ehkä robotillasi on erityisvaatimuksia tai se vaatii tietyn anturin tai komponentin. Ja tämä on kriittistä projektillesi. Siksi yhteensopivan mikro-ohjaimen valitseminen on tietysti erittäin tärkeää.

Useimmat anturit ja komponentit voivat kommunikoida suoraan monien mikro-ohjainten kanssa. Vaikka jotkut komponentit on suunniteltu toimimaan vuorovaikutuksessa tietyn mikro-ohjaimen kanssa. Ehkä ne ovat ainutlaatuisia ja yhteensopimattomia muun tyyppisten mikro-ohjainten kanssa.

Mitä tulevaisuus tuo meille?

Tietokoneiden hinnat ovat romahtamassa, ja tekniikan kehitys tekee niistä pienempiä ja tehokkaampia. Tämän seurauksena yksilevytietokoneista on tullut houkutteleva vaihtoehto roboteille. Ne voivat käyttää täyttä käyttöjärjestelmää (Windows ja Linux ovat yleisimmät).

Lisäksi tietokoneita voidaan yhdistää ulkoisiin laitteisiin, kuten USB-laitteisiin, LCD-näyttöihin jne. Toisin kuin esi-isänsä, nämä yksilevytietokoneet kuluttavat yleensä huomattavasti vähemmän virtaa.

Käytännön osa

Mikro-ohjaimen valitsemiseksi tehdään luettelo kriteereistä, joita tarvitsemme:

  • Mikro-ohjaimen hinnan tulee olla alhainen
  • Sen pitäisi olla helppokäyttöinen ja hyvin tuettu
  • Helppokäyttöisten asiakirjojen saatavuus on tärkeää
  • Se on ohjelmoitava graafisessa ympäristössä
  • Sen on oltava suosittu ja sillä on oltava aktiivinen käyttäjäyhteisö
  • Koska robottimme käyttää kahta moottoria ja erilaisia ​​antureita, mikrokontrolleri tarvitsee vähintään kaksi porttia moottoreiden ohjaamiseen ja useita portteja anturien kytkemiseen. Myös liitettyjen laitteiden määrää pitäisi olla mahdollista laajentaa tulevaisuudessa.

Täyttää nämä kriteerit EV3 moduuli Lego Mindstorms EV3 -setistä.


EV3 Brick Overview

Noin 20 vuotta sitten, kun olin opiskelijana ChPT:ssä ja työskentelin käytännössä Stankomashissa (tämä on erillinen eeppinen tarina, joka on kuvattu värikkäästi blogissani), sitten iltapäivällä, kuten arvoisalle opiskelijalle kuuluu, välttelin työtä ja kiertelin ympäriinsä. herkkujen etsiminen lukuisten sisäisten teollisten kaatopaikkojen kautta, joita oli avokätisesti hajallaan jokaisen hylätyn työpajan lähellä ja jopa työpajojen sisällä;) Mitä tahansa siellä oli, mutta pohjimmiltaan kaikkea rautametallia. Ei-rautametallia, mukaan lukien moottorin käämit, varastettiin kauan ennen minua.

Etsin rikkinäistä elektroniikkaa, joissa oli välillä sirpaleita KM-kondensaattoreita, ETO:ta ja muuta harvinaista maametallia, joita ostettiin tunnetusti 800 taalaa kilolta (palkka oli silloin sata taalaa, ja sitä maksettiin kuuden välein kuukautta) ja paikallisille koville työntekijöille Aivoja riitti vain alumiinipatterien ja kuparitankojen poimimiseen. Yleisesti ottaen silmääni pisti teline CNC-koneesta 80-luvun automaation ja kiihtyvyyden aikakaudelta.

Se oli Robotron, valtava arkku, joka oli tehty 2 mm:n raudasta. Minusta näyttää, että hän kestäisi jopa Kalashnikov-rynnäkkökiväärin purskahduksen, vaikka se ampuu kiskon läpi. Laudat murskautuivat, kun jäähdyttimiä yritettiin murskata, mutta viiden tuuman vetolaite oli ehjä, huolimatta kiinteästä alumiinirungosta. Yllätyin, että pancake-asema ei ollut kolmivaiheisesta synkronisesta moottorista, kuten myöhemmissä levyasemissa.

Haista vittu! Karaa pyöritettiin kommutaattorimoottorilla hihnan läpi. Vau, ajattelin. Jos keräilijälle on annettu näin tarkka tehtävä, hänen täytyy olla todella mahtava keräilijä.


Yksi mielenkiintoinen yksityiskohta putosi sitkeisiin käsiini. Kolmiakselinen digitaalinen kiihtyvyysanturi yhdistettynä digitaaliseen magnetometriin, herkkyys jopa 1,5 Gauss. Muuten, Maan magneettikentän voimakkuus on noin 0,4 Gaussia. Melkein kolmasosa alueesta, joten tästä asiasta voisi tehdä melko hyvän elektronisen kompassin. Muuten, emissiohinta on vain 350 ruplaa per siru. Aivan jumalallista, kun ottaa huomioon koneen täytteen ja tämän mikropiirin herkkyyden.

Siru LSM303DLH
Vatsa näyttää erityisen mielenkiintoiselta - luonnolliselta piirilevyltä. Telat ja siirtoreiät. En heti halunnut tehdä polkuja sen alle. Muuten joku kynsi polulla poimii vatsan lakkaa ja lyhentää sitä väärään suuntaan.


Mitä muuta en pitänyt, oli se, että kontaktityynyt eivät näy päistä. Sijoittaminen ja tiivistyksen tarkkuuden tarkistaminen on vaikeaa. Tässä suhteessa QFN-kotelot ovat kätevämpiä.


Kotelon koko on 5x5 mm. Kuin muistikirjan solu. Kauhu:)

Erilaisia ​​robotteja rakennettaessa on joskus tarpeen käyttää useita servoja. Ja jos se on jonkinlainen kuusijalkainen hämähäkki, siellä on yksinkertaisesti tonnia ajoa. Kuinka hallita niitä? Foorumilla jotkut jopa valittivat, että heidän olisi pitänyt käyttää samettia näihin tarkoituksiin. Tosin mitä helvettiä on olemassa FPLI, kun tavallisin mikrokontrolleri pystyy ohjaamaan jopa kolme tusinaa servoa, joka vaatii vain yhden ajastimen tähän tehtävään.

Joten jokainen, joka ei muista, kuinka servoja ohjataan, voi kävellä sisään ja päivittää tietonsa.

Otetaan aluksi 8 servoa. Jokainen servo vastaanottaa seuraavan signaalin:


Jokaisella servolla tulee olla seuraava järjestys ohjainjalaltaan. Täydellinen samankaltaisuus PWM:n kanssa 8 kanavalla. Kuinka luoda tämä bugi? Se on niin yksinkertaista. Periaate tässä on yksinkertainen. Pulssit ovat hitaita - vain 50 Hz, ne myös vaihtuvat harvoin - servo on inertia, joten sitä ei voi nykiä edes sata kertaa sekunnissa. Meillä on siis vaunu ja pieni kärry käsittelyä varten.

Itse pulssit luodaan yhdellä ajastimella taustalla. Generointiperiaate on yksinkertainen: Kaikki pulssit käynnistyvät samanaikaisesti, ja niiden tasot ovat 1.
Sitten ensimmäisen pulssin kesto syötetään ajastimeen vertailurekisteriin. Kun vertailu keskeytyy, tapahtuu seuraavaa:

  • Nollaa ensimmäisen kanavaportin bitti
  • Toisen pulssin keston lataaminen ajastimen vertailurekisteriin

Tämä on toinen robottikonstruktio - mekaaninen käsivarsi, jossa on viisi vapausastetta. Velleman robottivarsi KSR10
Asia on melko harvinainen, koska... Löysin vain yhden myyjän Ebaysta ja tämä retiisi ei halua lähettää exUSSR:ään. Löytyy useista porvarillisista kaupoista ja näyttää olleen ChiD:ssä, mutta ostimme sen sieltä :) Hintapyyntö on 60...100 taalaa.

Yksikkö itsessään on vain yksi edistyksellinen lelu, mutta emme tarvitse mitään muuta hemmotteluun ja algoritmien kehittämiseen.

Usein sinun on suoritettava suuria monimutkaisia ​​​​toimintoja - esimerkiksi robotin lentotehtävä. Kyllä, voit pakata tämän koko asian pääohjelmaan, mutta yhtäkkiä jokin menee pieleen ja algoritmi on tehtävä uudelleen - koko ohjelma on tehtävä uudelleen.

Tässä virtuaalikone tulee apuun. Tärkeintä on, että laitteen ohjaamisen päätoimenpiteet on tallennettu ohjaimen muistiin, pääohjelmaan. Jos se on robotti, niin nämä voivat olla sellaisia ​​yksinkertaisia ​​komentoja kuin "eteenpäin", "taakse", "käännä" ja niin edelleen.

Sitten tarvitsemme skriptiprosessorin, joka ottaisi meidän toimintosarjamme jostain - komentosarjan - ja muuntaa sen kutsuiksi todellisiksi koodinpalasiksi - mikrooperaatioiksi.
Komentosarjan käsittelijä voi olla sama työnvälitystehtävä, joka on käynnissä taustalla. Sillä ei ole väliä, mistä hän saa tiedot. Ne voidaan ladata usartin kautta tai vetää EEPROM-muistista. Tai voit laittaa muistia IIC:hen ja saat vaihdettavan kasetin :)

Inex Global myy robottirakentajien lisäksi myös viileitä vaihdemoottoreita. Samat, jotka seisovat ja. Hän kuljettaa niitä ajoittain Tšeljabinskiin. Ostin pari kokeiltavaksi, minulla on yksi idea niistä, mutta siitä lisää myöhemmin ;)

Toistaiseksi kerron sinulle itse moottorista. Niitä on kahta mallia IE-BO2-120M Ja IE-BO2-48M, eroavat toisistaan ​​välityssuhteilla 1:120 ja 1:48.

Muistatko, että lupasin venäjän käsikirjan? Joten minulla ei ollut aikaa ja suunnittelija lakaistiin hyllyiltä nopeammin kuin suostuin saamaan kirjan skannattavaksi. kuitenkin Bschepan, yksi tämän lelun tyytyväisistä omistajista, teki hyvän teon ja julkaisi skannauksen DejaVussa.

Kun yhden transistorin teho ei riitä kuorman pumppaamiseen, käytä sitä yhdistetransistori (Darlington-transistori). Tässä on se, että yksi transistori avaa toisen. Ja yhdessä ne toimivat yhtenä transistorina, jonka virran vahvistus on yhtä suuri kuin ensimmäisen ja toisen transistin kertoimien tulo.

Jos otamme esimerkiksi transistorin MJE3055T sen maksimivirta on 10A, ja vahvistus on vastaavasti vain noin 50, jotta se avautuu kokonaan, sen on pumpattava noin kaksisataa milliampeeria virtaa pohjaan. Tavallinen MK-lähtö ei kestä paljoa, mutta jos kytket niiden väliin heikomman transistorin (jonkinlainen BC337), joka pystyy vetämään tämän 200 mA, niin se on helppoa. Mutta tämä on siksi, että hän tietää. Entä jos sinun täytyy tehdä ohjausjärjestelmä improvisoidusta roskista - se on hyödyllinen.

Käytännössä valmiina transistorikokoonpanot. Ulkoisesti se ei eroa perinteisestä transistorista. Sama vartalo, samat kolme jalkaa. Siinä on vain paljon tehoa ja ohjausvirta on mikroskooppinen :) Hinnastoissa he eivät yleensä vaivaudu ja kirjoittavat yksinkertaisesti - Darlington-transistori tai komposiittitransistori.

Samaan aikaan Kazakstanissa ohjaimeen perustuvan alkuperäisen kyborgin kehitys jatkuu kiihtyvällä tahdilla KUVA, mistä S.W.G. lopettaa erittäin aktiivisesti robottiaan koskevien viestien tilauksen kommenteissa.

Matkan varrella hän antoi minulle osan työstään saippualla.

SWG:

Varmuuden vuoksi lähetän sinulle viimeisimmät. En ole vielä saanut ohjelmia valmiiksi, teen vaihdon loppuun, debugaan sen ja lähetän sitten normaalit.

Puskurien alle kiinnitetään 10 millimetriä paksu, melko tiheästä vaahtomuomista tai jopa mikrohuokoisesta kumista valmistettu levy, en ole vielä päättänyt, kokeilen eri materiaaleja. Sen tulee olla pehmeää, mutta ei kovin pehmeää. Se ulkonee 10-15 millimetriä levyjen yli ja suojaa taustavalon LEDejä ja itse levyjä. Toistaiseksi laitoin vain puskurilevyt laatikkoon näyttääkseni yleisen asettelun.

Päätettyään lautojen sijoittelun ja kiinnityksen, teen MGTF:n liitäntäkaapelit, optimaalisen pituuden, jotta ne eivät roikkuu turhaan, mutta ei liian venymättä. Harkitsen myös matkamittarin antureiden vaihtoehtoja, suunnittelua ja sijoittelua sekä jatkossa asennettavia varusteita, jotta sitä ei tarvitsisi toistaa useita kertoja.

Puskurilevyjen pohjassa on siniset lohkot - lattia-anturit, joissa on valovastukset ja valkoiset taustavalon LEDit. (Tein sen liitinliuskoista, hieman poraamalla niitä paikoin). Läpinäkyvät LEDit päällä - IR-paikantimen valaistus päällä TSOP(keskellä, ylösalaisin) Sisänurkissa olevat mustat kuutiot ovat optoeroja heijastamaan törmäysantureita. Niiden yläpuolella sivuseiniin kiinnitetään kulmat - verhot, joissa on valkoinen alue mustalla taustalla tai tietyn muotoinen reikä.

Kun levyt olivat valmiit, ajattelin, että optoerottimet voisi juottaa ei ylhäältä vaan levyn pohjaan ja piirtää tarvittavat hahmot suoraan laatikon pohjalle. Itse asiassa, ei ole liian myöhäistä tehdä tämä nyt, en ole vielä päättänyt. Lisäksi toin ne kirjastoon myös peilikuvana, ja sinetöinnin yhteydessä piti taivuttaa jalkoja niiden alle oikeaa juotospurkausta varten, ja ne mahtuivat oikein alhaalta. Yleensä on kertynyt joukko pieniä asioita, joiden miettiminen vie aikaa. ("Vaihtoehtojen tyrannia"). Antureiden tilan lähettämisessä kaikki näyttää myös olevan yksinkertaista, mutta kun alkaa lisäämään kasa kaikenlaisia ​​suojauksia kaikelle ja tarkistamaan toimivuuden, kaikki kasvaa kuin lumipallo, täytyy jatkuvasti tarkistaa kaikki mahdolliset ja mahdottomia tilanteita, jotta kaikki toimii normaalisti. Esimerkiksi avoimeen luukkuun putoamisen kustannukset ovat liian korkeat, eikä myöskään kaikkien reikien ja ovien jatkuva sulkeminen ole vaihtoehto... Mutta vaikka pelaisit varman päälle, et ehkä koskaan liiku ollenkaan.

DPM-25-N1-7T vaihdelaatikoilla (27v, mutta vetää hyvin jo 12:lla, lisää tarvitaan - teen muuntimen 12->27 ) ja kotitekoinen kääntöyksikkö rullalla (kolmas pyörä).

Kulutus 12v:sta: 33 mA pois päältä. moottorit, max. nopeus ilman kuormaa (pyörät eivät kosketa lattiaa) = 103 mA eteenpäin, 115 mA taaksepäin. Kun yksi pyörä jumissa - 300 mA, kun molemmat pyörät jumissa = 500 mA.
L293DN vähän lämmintä. Jos tulee kuuma, liimaa jäähdyttimen kiinni. Kyllä, taajuus PWM Otin toistaiseksi 500 Hz. (jakso 2 ms). Mittaan moottoreiden virran nousunopeuden ja määritän optimaalisen (lyhyimmässä pulssissa moottorin virran pitäisi ehtiä saavuttaa maksiminsa).
Suurin liikenopeus lattialla on nyt 15-20 cm/s. En tarvitse tällä hetkellä mitään muuta, juoksen huoneen läpi liian nopeasti. Pyörän halkaisija = 80mm (kumiset "munkit" näyttävät olevan jostain putkistosta, markkinoilla paljon).

Rehellisesti sanottuna olin erittäin yllättynyt, kun googletin moottorin ominaisuuksia DPM

Virtalähde.
Meillä on 12 voltin lyijyakku, mutta ohjain tarvitsee 5 volttia. Joten rakensin hakkurivirtalähteen. Tietysti oli mahdollista laittaa LM7805(kuten leipälaudallani) ja vapauta siitä jännite, mutta tämä on tyhmä menetelmä. Asia on siinä, että LM7805 palauttaa jännite-eron lämmön muodossa. Niin Tehokkuus tämä laite tulee olemaan alle 50 %, ja meillä on akkuvirtaa. Joten on vain yksi ulospääsy - DC-DC-muunnos. Ohjaimeksi otin aika-testatun, suositun, helposti saatavilla olevan ja halvan MC33063A. En keksinyt mitään ja otin tavallisen alennuspiirin ( Astu alas) tietolomakkeestaan. Kerron sinulle kuinka tämän virtalähteen piiri toimii hieman myöhemmin, erillisessä viestissä. Hackerissa julkaistun artikkelin jälkeen, jossa julkaisin artikkelin virtalähteistä.

Katsottuasi tarpeeksi robotteja käsitteleviä elokuvia olet varmasti usein halunnut rakentaa oman taistelutoverisi, mutta et tiennyt mistä aloittaa. Et tietenkään pysty rakentamaan kaksijalkaa terminaattoria, mutta sitä emme yritä saavuttaa. Jokainen, joka osaa pitää juotosraudan oikein käsissään, voi koota yksinkertaisen robotin, ja tämä ei vaadi syvää tietoa, vaikka se ei haittaa. Amatöörirobotiikka ei juurikaan eroa piirisuunnittelusta, vain paljon mielenkiintoisempaa, koska se sisältää myös mekaniikkaa ja ohjelmointia. Kaikki komponentit ovat helposti saatavilla eivätkä ole niin kalliita. Edistys ei siis pysähdy, ja käytämme sen hyödyksemme.

Johdanto

Niin. Mikä on robotti? Useimmissa tapauksissa tämä on automaattinen laite, joka reagoi kaikkiin ympäristötoimiin. Robotteja voivat ohjata ihmiset tai ne voivat suorittaa ennalta ohjelmoituja toimintoja. Tyypillisesti robotti on varustettu erilaisilla sensoreilla (etäisyys, kiertokulma, kiihtyvyys), videokameroilla ja manipulaattoreilla. Robotin elektroninen osa koostuu mikro-ohjaimesta (MC) - mikropiiristä, joka sisältää prosessorin, kellogeneraattorin, erilaisia ​​oheislaitteita, RAM-muistia ja pysyvää muistia. Maailmassa on valtava määrä erilaisia ​​mikrokontrollereita eri sovelluksiin, ja niiden pohjalta voi koota tehokkaita robotteja. AVR-mikrokontrollereita käytetään laajalti amatöörirakennuksissa. Ne ovat ylivoimaisesti saavutettavimpia, ja Internetistä löydät monia esimerkkejä näiden MK:iden perusteella. Mikro-ohjainten kanssa työskentely edellyttää, että pystyt ohjelmoimaan assembler- tai C-kielellä ja sinulla on perustiedot digitaalisesta ja analogisesta elektroniikasta. Projektissamme käytämme C. MK:n ohjelmointi ei juurikaan eroa tietokoneella ohjelmoinnista, kielen syntaksi on sama, useimmat toiminnot eivät käytännössä eroa toisistaan, ja uudet ovat melko helppoja oppia ja käteviä käyttää.

Mitä me tarvitsemme

Aluksi robottimme pystyy yksinkertaisesti välttämään esteitä, eli toistamaan useimpien luonnossa olevien eläinten normaalin käyttäytymisen. Kaikki, mitä tarvitsemme tällaisen robotin rakentamiseen, löytyy radioliikkeistä. Päätetään kuinka robottimme liikkuu. Mielestäni menestyneimpiä ovat telat, joita käytetään tankeissa, tämä on kätevin ratkaisu, koska telat ovat paremmin ohjattavia kuin ajoneuvon pyörät ja niitä on helpompi hallita (kääntämiseen riittää telojen pyörittäminen); eri suuntiin). Siksi tarvitset minkä tahansa lelusäiliön, jonka telat pyörivät toisistaan ​​riippumatta, voit ostaa sellaisen mistä tahansa lelukaupasta kohtuulliseen hintaan. Tästä säiliöstä tarvitset vain alustan teloilla ja moottoreilla vaihdelaatikoilla, loput voit turvallisesti ruuvata irti ja heittää pois. Tarvitsemme myös mikro-ohjaimen, valintani putosi ATmega16: een - siinä on tarpeeksi portteja anturien ja oheislaitteiden kytkemiseen ja yleensä se on melko kätevä. Sinun on myös ostettava joitain radiokomponentteja, juotoskolvi ja yleismittari.

Laudan teko MK:lla



Robottikaavio

Meidän tapauksessamme mikro-ohjain suorittaa aivojen toimintoja, mutta emme aloita siitä, vaan robotin aivojen tehostamisesta. Oikea ravitsemus on avain terveyteen, joten aloitamme siitä, miten robottimme ruokitaan oikein, koska tässä aloittelevat robottirakentajat tekevät yleensä virheitä. Ja jotta robottimme toimisi normaalisti, meidän on käytettävä jännitteen stabilointia. Pidän parempana L7805-sirua - se on suunniteltu tuottamaan vakaa 5 V lähtöjännite, jota mikrokontrollerimme tarvitsee. Mutta koska tämän mikropiirin jännitehäviö on noin 2,5 V, siihen on syötettävä vähintään 7,5 V. Yhdessä tämän stabilisaattorin kanssa elektrolyyttikondensaattoreita käytetään tasoittamaan jännitteen aaltoilua ja diodi on välttämättä sisällytetty piiriin suojaamaan napaisuuden vaihtoa vastaan.
Nyt voimme siirtyä mikrokontrolleriimme. MK:n kotelo on DIP (se on kätevämpi juottaa) ja siinä on neljäkymmentä nastaa. Aluksella on ADC, PWM, USART ja paljon muuta, joita emme käytä toistaiseksi. Katsotaanpa muutamia tärkeitä solmuja. RESET-nasta (MK:n 9. jalka) vedetään vastuksella R1 virtalähteen "plussaan" - tämä on tehtävä! Muuten MK voi vahingossa nollata tai yksinkertaisemmin sanottuna häiriö. Toinen toivottava toimenpide, mutta ei pakollinen, on kytkeä RESET keraamisen kondensaattorin C1 kautta maahan. Kaaviossa näkyy myös 1000 uF:n elektrolyytti, joka säästää jännitehäviöiltä moottoreiden käydessä, millä on myös suotuisa vaikutus mikro-ohjaimen toimintaan. Kvartsiresonaattori X1 ja kondensaattorit C2, C3 tulee sijoittaa mahdollisimman lähelle nastoja XTAL1 ja XTAL2.
En puhu MK: n flashista, koska voit lukea siitä Internetistä. Kirjoitamme ohjelman C-kielellä. Valitsin ohjelmointiympäristöksi CodeVisionAVR:n. Tämä on melko käyttäjäystävällinen ympäristö ja on hyödyllinen aloittelijoille, koska siinä on sisäänrakennettu koodinluontitoiminto.


Minun robottitauluni

Moottorin ohjaus

Yhtä tärkeä komponentti robotissamme on moottorinohjain, joka helpottaa sen hallintaa. Älä koskaan eikä missään olosuhteissa saa kytkeä moottoreita suoraan MK:hen! Yleensä voimakkaita kuormia ei voida ohjata suoraan mikro-ohjaimesta, muuten se palaa loppuun. Käytä avaintransistoreita. Meidän tapauksessamme on erityinen siru - L293D. Tällaisissa yksinkertaisissa projekteissa yritä aina käyttää tätä tiettyä sirua "D"-indeksillä, koska siinä on sisäänrakennetut diodit ylikuormitussuojaa varten. Tämä mikropiiri on erittäin helppo ohjata ja se on helppo saada radioliikkeistä. Se on saatavana kahdessa paketissa: DIP ja SOIC. Käytämme pakkauksessa DIP:tä, koska se on helppo asentaa levylle. L293D:ssä on erillinen virtalähde moottoreille ja logiikalle. Siksi annamme virran itse mikropiirille stabilisaattorista (VSS-tulo) ja moottoreille suoraan akuista (VS-tulo). L293D kestää 600 mA:n kuormituksen kanavaa kohden, ja siinä on näitä kanavia kaksi, eli yhteen siruun voidaan kytkeä kaksi moottoria. Mutta varmuuden vuoksi yhdistämme kanavat, ja sitten tarvitsemme yhden mikron jokaista moottoria kohti. Tästä seuraa, että L293D kestää 1,2 A. Tämän saavuttamiseksi sinun on yhdistettävä micra-jalat, kuten kaaviossa näkyy. Mikropiiri toimii seuraavasti: kun IN1:een ja IN2:een syötetään looginen "0" ja IN3:een ja IN4:ään looginen, moottori pyörii yhteen suuntaan ja jos signaalit käännetään ja looginen nolla syötetään, sitten moottori alkaa pyöriä toiseen suuntaan. Nastat EN1 ja EN2 vastaavat kunkin kanavan käynnistämisestä. Yhdistämme ne ja yhdistämme ne stabilisaattorin virtalähteen "plussaan". Koska mikropiiri lämpenee käytön aikana ja patterien asentaminen tämän tyyppiseen koteloon on ongelmallista, lämmönpoisto varmistetaan GND-jaloilla - on parempi juottaa ne leveälle kosketinlevylle. Siinä kaikki, mitä sinun tarvitsee tietää moottorinkuljettajista ensimmäistä kertaa.

Este-anturit

Jotta robottimme voi navigoida eikä törmätä kaikkeen, asennamme siihen kaksi infrapunaanturia. Yksinkertaisin anturi koostuu IR-diodista, joka lähettää infrapunaspektrissä, ja fototransistorista, joka vastaanottaa signaalin IR-diodista. Periaate on tämä: kun anturin edessä ei ole estettä, IR-säteet eivät osu fototransistoriin eikä se aukea. Jos anturin edessä on este, säteet heijastuvat siitä ja osuvat transistoriin - se avautuu ja virta alkaa virrata. Tällaisten antureiden haittana on, että ne voivat reagoida eri tavalla eri pintoihin eivätkä ole suojattuja häiriöiltä - anturin voi vahingossa laukaista muiden laitteiden vieraista signaaleista. Signaalin modulointi voi suojata sinua häiriöiltä, ​​mutta emme välitä siitä toistaiseksi. Ensinnäkin se riittää.


Ensimmäinen versio robotin antureista

Robotin laiteohjelmisto

Herättääksesi robotin henkiin, sinun on kirjoitettava sille laiteohjelmisto, eli ohjelma, joka ottaa lukemia antureista ja ohjaa moottoreita. Ohjelmani on yksinkertaisin, se ei sisällä monimutkaisia ​​rakenteita ja on kaikkien ymmärrettävissä. Seuraavat kaksi riviä sisältävät otsikkotiedostot mikro-ohjaimellemme ja komennot viiveiden luomiseksi:

#sisältää
#sisältää

Seuraavat rivit ovat ehdollisia, koska PORTC-arvot riippuvat siitä, kuinka liitit moottoriohjaimen mikro-ohjaimeen:

PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;

Arvo 0xFF tarkoittaa, että tulos on loki. "1" ja 0x00 on loki. "0".

Seuraavalla rakenteella tarkistamme, onko robotin edessä este ja kummalla puolella se on:

If (!(PINB & (1< {
...
}

Jos IR-diodin valo osuu fototransistoriin, mikro-ohjaimen jalkaan asennetaan loki. “0” ja robotti alkaa liikkua taaksepäin siirtyäkseen pois esteestä, sitten kääntyy ympäri, jotta se ei enää törmää esteeseen ja liikkuu sitten taas eteenpäin. Koska meillä on kaksi anturia, tarkistamme esteen olemassaolon kahdesti – oikealta ja vasemmalta, ja siten saamme selville, kummalla puolella este on. Komento "delay_ms(1000)" osoittaa, että kuluu sekunti ennen kuin seuraava komento alkaa suorittaa.

Johtopäätös

Olen käsitellyt useimmat asiat, jotka auttavat sinua rakentamaan ensimmäisen robottisi. Mutta robotiikka ei lopu tähän. Jos kokoat tämän robotin, sinulla on paljon mahdollisuuksia laajentaa sitä. Voit parantaa robotin algoritmia, esimerkiksi mitä tehdä, jos este ei ole jollain puolella, vaan aivan robotin edessä. Ei myöskään haittaisi asentaa kooderi - yksinkertainen laite, joka auttaa sinua paikantamaan tarkasti ja tietämään robotin sijainnin avaruudessa. Selvyyden vuoksi on mahdollista asentaa väri- tai yksivärinen näyttö, joka voi näyttää hyödyllistä tietoa - akun lataustaso, etäisyys esteisiin, erilaisia ​​​​virheenkorjaustietoja. Ei haittaisi parantaa antureita - asentaa TSOP:t (nämä ovat IR-vastaanottimia, jotka havaitsevat vain tietyn taajuuden signaalin) perinteisten fototransistorien sijaan. Infrapuna-anturien lisäksi on ultraääniantureita, jotka ovat kalliimpia ja joilla on myös haittapuolensa, mutta jotka ovat viime aikoina kasvattaneet suosiota robottien rakentajien keskuudessa. Jotta robotti reagoisi ääneen, olisi hyvä idea asentaa mikrofonit vahvistimella. Mutta mielestäni on todella mielenkiintoista asentaa kamera ja ohjelmointikonevisio sen pohjalta. Siellä on joukko erityisiä OpenCV-kirjastoja, joilla voit ohjelmoida kasvojentunnistuksen, liikettä värillisten majakoiden mukaan ja monia muita mielenkiintoisia asioita. Kaikki riippuu vain mielikuvituksestasi ja taidoistasi.
Luettelo komponenteista:
  • ATmega16 DIP-40 paketissa>
  • L7805 TO-220 paketissa
  • L293D DIP-16 kotelossa x2 kpl.
  • vastukset, joiden teho on 0,25 W, arvot: 10 kOhm x 1 kpl, 220 ohm x 4 kpl.
  • keraamiset kondensaattorit: 0,1 µF, 1 µF, 22 pF
  • elektrolyyttikondensaattorit: 1000 µF x 16 V, 220 µF x 16 V x 2 kpl.
  • diodi 1N4001 tai 1N4004
  • 16 MHz kvartsiresonaattori
  • IR-diodit: mitkä tahansa niistä käyvät.
  • fototransistorit, myös mitkä tahansa, mutta jotka reagoivat vain infrapunasäteiden aallonpituuteen
Laiteohjelmistokoodi:
/*****************************************************
Laiteohjelmisto robotille

MK-tyyppi: ATmega16
Kellotaajuus: 16.000000 MHz
Jos kvartsitaajuus on erilainen, sinun on määritettävä tämä ympäristöasetuksissa:
Project -> Configure -> "C Compiler" -välilehti
*****************************************************/

#sisältää
#sisältää

Void main(void)
{
//Määritä tuloportit
//Näiden porttien kautta vastaanotamme signaaleja antureilta
DDRB=0x00;
//Kytke vetovastukset päälle
PORTB=0xFF;

//Määritä lähtöportit
//Näiden porttien kautta ohjaamme moottoreita
DDRC=0xFF;

//Ohjelman pääsilmukka. Täällä luemme antureiden arvot
//ja ohjata moottoreita
kun (1)
{
// Mennään eteenpäin
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 1;
PORTC.3 = 0;
if (!(PINB & (1< {
//Taaksepäin 1 sekunti
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
viive_ms(1000);
//Pakkaa se
PORTC.0 = 1;
PORTC.1 = 0;
PORTC.2 = 0;
PORTC.3 = 1;
viive_ms(1000);
}
if (!(PINB & (1< {
//Taaksepäin 1 sekunti
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 0;
PORTC.3 = 1;
viive_ms(1000);
//Pakkaa se
PORTC.0 = 0;
PORTC.1 = 1;
PORTC.2 = 1;
PORTC.3 = 0;
viive_ms(1000);
}
};
}

Tietoja robotistani

Tällä hetkellä robottini on melkein valmis.


Se on varustettu langattomalla kameralla, etäisyysanturilla (sekä kamera että tämä anturi on asennettu pyörivään torniin), esteanturilla, kooderilla, kaukosäätimen signaalivastaanottimella ja RS-232-liitännällä liittämistä varten tietokone. Se toimii kahdessa tilassa: autonominen ja manuaalinen (vastaanottaa ohjaussignaalit kaukosäätimestä), kamera voidaan kytkeä päälle/pois päältä myös etänä tai robotilla itse akun säästämiseksi. Kirjoitan laiteohjelmistoa asunnon turvallisuutta varten (kuvien siirtäminen tietokoneelle, liikkeiden havaitseminen, kierteleminen tiloissa).

Toiveesi mukaan julkaisen videon:

UPD. Latasin kuvat uudelleen ja tein pieniä korjauksia tekstiin.

26.01.2011, 09:18
Lähde:

Yleensä artikkeleissa yritän esittää materiaalin sen kehitysjärjestyksessä, mutta mielestäni näin ei ole. Siksi ohitamme piirikaavion, piirilevyasettelun ja kaiken muun suunnitteluvaiheet. Kuvassa 1 näemme millaisen "häpeän" sain.

Ensi silmäyksellä näyttää siltä, ​​​​että se on vain kasa rautaa, elektroniikkaa ja johtoja. Tämä johtuu luultavasti siitä, että on käytetty erilaisia ​​materiaaleja. Selvitetään se.

Nyt kaikki on kunnossa. Attiny2313-mikrokontrolleri vastaanottaa estesignaalin (looginen yksi tai nolla) kahdelta infrapuna-anturilta. Sitten laiteohjelmiston mukaan mikro-ohjain ohjaa L293D-moottoriohjainpiiriä (ohjausvirta enintään 1 ampeeri). Kuvassa 3 on valokuva ylösalaisin olevasta robotista.

Kotitekoisen robotin suunnittelun perusta on puolisuunnikkaan taivutettu metallinauha. Taivutuskulma on noin 120°. On erittäin tärkeää, että molemmille puolille saadaan sama mutka, muuten robotti ei liiku suorassa linjassa. Vaikka toisaalta ohjelmoija voi joskus korjata sen, mitä mekaanikko tai elektroniikkainsinööri teki huonosti, esimerkiksi käyttämällä PWM:ää robotin lineaarisen liikkeen saavuttamiseksi.

Me kaikki tiedämme koulun geometrian kurssista, että taso muodostuu joko kolmesta pisteestä tai suorasta ja pisteestä avaruudessa. Kolmas kohta on vapaasti pyörivä rullapyörä.

IR-anturien ja fototransistorien vastaanottimet on sijoitettu alareunaan valaistuksen vähentämiseksi ja väärien positiivisten tulosten minimoimiseksi. Itse IR-anturit on asennettu siirrettäviin saranoihin, mikä mahdollistaa skannausalueen säätämisen. Oli muuten mielenkiintoista kissani reaktio käytävällä ryömivään robottiin? Kissani on musta. Laitoin IR-anturit harmaaseen taustakuvaan, joten robotti kääntyi kissan eteen melkein viime hetkellä ja kissa hyppäsi askeleen taaksepäin kovalla suhinalla.

Seuraava robotin modifiointi oli sen vatsassa olevat IR-anturit, joiden avulla robotti pystyi seuraamaan mustaa viivaa, joka oli piirretty valkoiselle paperille markkerilla. Toteutus vaati kolme anturia ja vertailijan LM339N-sirulle mikro-ohjaimen vapauttamiseksi. Merkittävä haitta osoittautui antureiden välttämättömäksi esisäädöksi trimmausvastuksilla huoneen valaistuksesta riippuen.

P.S. Palkinto turhan laitteen luomiseen käytetystä ajanhukasta on ehkä mikrokontrollerin toiminnan ja muistin selkeys, joka kerää pölyä hyllylle, kunnes jonkun lapsi saattaa olla kiinnostunut siitä.