Elektronika.lt
 2010 m. kovo 12 d. Projektas | Reklama | Žinokite | Klausimai | Prisidėkite | Atsiliepimai | Kontaktai
Paieška portale  Ieškoti LT | EN YouTube Facebook RSS

 Katalogas  Parduotuvės  Forumas  Pokalbiai  Blogai
 Pirmas puslapis
 Naujienos
 Straipsniai
 Vaizdo klipai
 Produktų apžvalgos
 Naudingi patarimai
 Vykdomi projektai
 Laimėk „RS stipendiją“
 Schemų archyvas
 Teorija, žinynai
 Nuorodų katalogai
 Skelbimų lenta
 Įvairūs siuntiniai
 Konkursas taupiems
 Bendravimas
 Robotų kūrėjų klubas
 RTN žurnalo archyvas






 Verta paskaityti
Kovo 11 d. 18:29
„Samsung“ pristato mikrobangų krosnelę „OmniPro“: sumanios maisto gaminimo technologijos užimtiems žmonėms
Kovo 11 d. 11:16
Susikurk stilingą aplinką su „Samsung“ naujuoju H serijos „Side-by-Side“ šaldytuvu
Kovo 11 d. 07:03
Vėjo jėgainės Lietuvoje: teisinė ir finansinė situacija (3)
Kovo 10 d. 17:49
Lietuvoje pristatomas LG telefonas su „Android“ operacine sistema
Kovo 10 d. 14:04
Viskas vienoje BŪTENT versijoje (4)
Kovo 10 d. 07:03
„Microsoft“ siūlo įvesti „interneto mokestį“ kovai su virusais (4)
Kovo 9 d. 20:01
E-knyga 0.1 – dar ne tai, ko reikia
Kovo 9 d. 12:25
Šaldytuvas – šaldiklis „Made for iPod“ – naujas technologijų ir pramogos derinys (3)
Kovo 9 d. 07:11
Vasarį aktyviai atakavo duomenis vagiantys virusai
Kovo 8 d. 08:37
„Panasonic“ pristato fotoaparatus „Lumix DMC-G2“ ir „Lumix DMC-G10“
 Vykdomi projektai » Elektronika, automatika Dalintis | Spausdinti

Roboto (CYBER 310) valdymas per internetą

Publikuota: 2005-04-16 17:48
Tematika: Elektronika, automatika
Vykdytojai: Mėgėjai
Autorius: el. paštas Andrius Jasiulionis
Aut. teisės: el. paštas ©A. Jasiulionis, L. Žitkevičius
Inf. šaltinis: Automatikas.ten.lt

Robotas buvo skirtas mokymosi tikslams, tačiau stovėjo gal jau 10 metų niekieno neliestas. Valdomas per lygiagrečiąją sąsają kompiuteriu, specifine programavimo kalba. Nusprendėme vietoje PK panaudoti mikrokontrolerį PIC16F874 ir jį atgaivinti.

 Rodyti komentarus (11)
Įvertinimas:  1 2 3 4 5 

Projekto tikslai

Šiuo metu projekto autoriai Andrius Jasiulionis ir Linas Žitkevičius (automatikai) stažuojasi „OTS Odense tekniske skole“, Odense (Danija). Pagrindinis jų tikslas yra atlikti kokį nors projektą bei parašyti diplominį darbą.

Projekto temą sugalvojome patys: „Roboto valdymas per internetą“. Įrangą galėjome pasirinktį taip pat patys. Nusprendėme pasinaudoti jau padarytu robotu Cyber310. Stovėjo jis jau 10 metų niekieno neliestas, tai nusprendėme jį atgaivinti.


CYBER 310 robotas


Lankstumo ašys

Lankstumo galimybės

Valdymo jungtis

Cyber310 yra valdomas šešių žingsninių variklių, bei turi integruotą supaprastintą variklių valdymą, jo valdymui užtenka 8 bitų magistralės (6 variklių bitai, 1 impulsų generatoriaus bitas, 1 krypties bitas). Šis robotas buvo skirtas mokymosi tikslams bei buvo valdomas per lygiagrečiąją sąsają kompiuteriu, specifine programavimo kalba. Mes nusprendėme vietoje PK panaudoti mikrokontrolerį PIC16F874.

Roboto valdymui per internetą mes pasirinkome WEB-NET modulį, šis modulis veikia kaip WEB serveris: per jį galima valdyti integruoto PIC16F876 portus arba keistis informacija per RS-232 sąsają tiesiai iš internetinio puslapio.

Projekto etapai

Pirmieji žingsniai

Pirmieji žingsniai buvo pakankamai sunkūs, nes internete yra labai mažai informacijos apie Cyber310 robotą. Reikėjo suprasti kaip valdyti robotą, pasidarėme paprastą valdymo pultą:

Valdymo signalas yra TTL +5V, impulsu generatorių pasidarėme panaudoję taimerį 555:

Kadangi mes darbinio dažnio nežinojome, teko prilituoti krūvą kondensatorių, kad galėtume praplėsti dažnio amplitudę. Generatoriaus dažnį galime pasiskaičiuoti taip:

Greičiausiai varikliai dirbo apie 200Hz dažniu, didesniu dažniu varikliai prašokdavo žingsnius, prie didesnio dažnio kartais išvis nebedirbdavo. Geriausiai tiktų apie 90% maksimalaus dažnio, kad varikliai dirbtų be klaidų.

Variklių valdymas

Roboto valdymas yra pakankamai lengvas, o kiekvienas variklis atsimena savo kryptį.

Žingsniai, kurie turi būti atlikti norint pasukti variklį prieš laikrodžio rodyklę:

  1. Pasirenkamas variklis(-iai) (+5V į pasirinkto(-ų) variklio(-ių) bitą(-us).
  2. Nustatoma jo ar jų sukimosi kryptis pagal laikrodžio rodyklę, tai padaroma kai į STROBE bitą paduodamas +5V impulsas.
  3. Kiek norima pasukti žingsnių pasirinktą variklį - tiek paduodama TTL impulsų į PRF bitą (jei buvo įjungti keli varikliai, jie suksis kartu).

Čia susidūrėme su problema, nes norint pasukti variklį pagal laikrodžio rodyklę, reikia pakeisti jo krypties vektorių, o kai tai daroma, pasikeičia visų variklių kryptis į „pagal laikrodžio rodyklę“, kad ir kokia kryptis buvo atsiminta.

  1. Išjungiami visi variklių bitai.
  2. Paduodamas impulsas i STROBE bitą.
  3. Įjungiamas variklio ar variklių bitas ar bitai.
  4. Paduodama n kiekis impulsų i PRF bitą (n= variklio žingsniai).

Problemą išsprendėme taip:

  1. Atliekami visi punktai skirti keisti kryptį pagal laikrodžio rodyklę, bus pakeista visų variklių kryptys pagal laikrodžio rodyklę.
  2. Varikliai kurie turi suktis prieš laikrodžio rodyklę, jų kryptis pakeičiama pagal punktus skirtus „prieš laikrodžio rodyklę“.

Taip bus išspręsta problema, visi varikliai suksis ten kur priklauso.

Gaminame robotui „smegenis“

Atėjo laikas pasigaminti roboto smegenis. Šiam tikslui panaudojome šias detales:

  • Smegenys - PIC16F874 mikrovaldiklis.
  • RS232 komunikacija - MAX202.
  • LCD ekranas - GDM1602A (2x16).
  • Valdiklio programavimui pasirinkome programatorių PIC-PG2C.

Suprojektavome tokią schemą:

Schemą surinkome ant projektų lentos. Dabar reikėjo pasidaryti keletą paprastų programėlių mikrovaldikliui, kad galima būtų išbandyti sistemą ir jos dalis.

PICboard

„PICboard“ modulis skirtas sujungti WEB-RJS modulį su „Cyber310“ manipuliatoriumi. Gauti duomenys yra apdorojami ir paverčiami į 8 bitų sąsajos protokolą, skirtą „Cyber310“ manipuliatoriaus variklių valdymui.

  • Integruotas ISCP mikrovaldiklio programatorius;
  • Vidinis DC +5V įtampos stabilizatorius;
  • Universalus TTL -> RS-232 keitiklis sujungtas su PIC mikrovaldiklis;
  • Mikrovaldiklio perkrovimo mygtukas;
  • 10MHz išorinis generatorius;
  • Nuolatinės srovės išorinio maitinimo šaltinio, nuo +5 iki +30V, pajungimo galimybė.

Paprastos testo programos

Programas rašome BASIC programavimo kalba. Naudojame „PIC simulator IDE“ programą. Naudojantis Basic kompiliatorių, buvo sugeneruoti *.HEX failai. Naudojant programą IC-PROG *.HEX failai yra keliami su programatoriumi į mikrokontrolerį.

1. RS232 komunikacija:

test_rs232.zip (test_rs232.asm | test_rs232.bas | test_rs232.hex)

Ši programa siunčia per portc.6 bitą duomenis tiksliau frazę „testas“ į kompiuterį per RS232 sąsają.

Pasileidus Hyperterminal programą kompiuteryje:
Start-> All programs-> Accessories-> Communications-> Hyperterminal
galima stebėti kaip mikrokontroleris atsiunčia duomenis i terminalą. Kaip suderinti Hyperterminal žiūrėkite hyperterminal.zip archyve.

Jei programa veikia tai schemoje LED3 turi mirksėti kas 1 sekundę, LED3 - mirksės kai duomenys bus siunčiami iš valdiklio, LED2 - mirksės kai duomenys bus siunčiami į valdiklį.

2. LCD ekrano testas:

lcd_test.zip (lcd_test.asm | lcd_test.bas | lcd_test.hex)

Paleidus šią programą LCD ekrane turi būti užrašyta „CYBER310 robotas“.

3. Bazės variklio testas:

motor_test.zip (lcd_test.asm | lcd_test.bas | lcd_test.hex)

Ši programa pasuka bazės variklį 730 žingsnių prieš laikrodžio rodyklę ir kai pasiekia 730 pradeda suktis atgal iki pradinės padėties.

Variklių valdymo sprendimai

Pagrindinis tikslai:

  • Žinoti kurioje padėtyje yra variklis.
  • Nustatyti sukimosi kryptį.
  • Klaidų nustatymas.

Sprendimai:

  • Mikrovaldiklis skaičiuos galūnių žingsnius.
  • Visos galūnės turi savo lankstumo pradžios ir galo sukimosi taškus (maksimalus žingsnių kiekis nuo 0 iki: bazė = 2840 taškų, petys= 2520 taškų, alkūnė = 1040.
  • Vartotojas įveda koordinatę (tašką), kuriame galūnė turi sustoti.
  • Mikrovaldiklis apskaičiuoja galūnių kryptis.
  • Mikrovaldiklis apskaičiuoja žingsnių kiekį, kurį reikia pasukti variklį (-ius).
  • Mikrovaldiklis sukdamas manipuliatoriaus galūnes, kiekvieno žingsnio metu didins, ar mažins „Padėties vektoriaus konstantą“ vienetu (priklauso nuo krypties).
  • Mikrovaldiklis gavęs koordinatę palygina ją su padėties vektoriaus konstanta. Jeigu duotoji koordinatė yra didesnė negu leistina (maksimalus, minimalus variklio posūkis), tuomet mikrovaldiklis fiksuotų klaidą, ir nesuktų variklio.

Krypties nustatymas:

  • Jei variklio padėties vektorius yra didesnis nei įvesta koordinatė, reikia pasukti variklį pagal laikrodžio rodyklę.
  • Jei variklio padėties vektorius yra mažesnis nei įvesta koordinatė, reikia pasukti variklį prieš laikrodžio rodyklę.

Klaidų nustatymas sukant variklį pagal laikrodžio rodyklę:

  • „Žingsnių kiekis“ = „Padėties vektorius“- „įvesta koordinatė“.
  • Jei „Padėties vektorius“ yra mažesnis nei „Žingsnių kiekis“, tada rodyti klaidą, nes „galūnė“ negali suktis daugiau, nei leidžia konstrukcija.

Klaidų nustatymas sukant variklį pagal laikrodžio rodyklę:

  • „Žingsnių kiekis“ = „Padėties vektorius“- „įvesta koordinatė“.
  • „Leistinas žingsnių kiekis“ = „MAX Koordinatė“ - „Padėties vektorius“.
  • Jei „Leistinas žingsnių kiekis“ yra mažesnis nei „Žingsnių kiekis”“, tada rodyti klaidą, nes „galūnė“ negali suktis daugiau, nei leidžia konstrukcija.

Programos modelis

Duomenų sąsajos modelis

Duomenų sąsajos modelis.

Internetinių puslapių, skirtų WEB-RJS kūrimas

Visi internetiniai puslapiai buvo sukurti „Microsoft Office FrontPage 2003“ programiniu paketu lietuvių ir anglų kalbomis. Tinklalapio sandaros medis yra pateiktas paveiksle.

Internetiniai puslapiai, skirti roboto valdymui

Valdymo pasirinkimas

Roboto valdymui yra skirti trys mygtukai: „Automatinis“, „Rankinis“ ir „Nustatymai“. Paspaudus „Automatinis“ mygtuką, per RS-232 sąsaja išsiunčiami duomenys, ir mikrovaldiklis vykdo automatinio valdymo paprogramę. Paspaudus „Rankinis“ mygtuką, mikrovaldiklis vykdo rankinio valdymo paprogramę. Paspaudus „Nustatymai“ mygtuką, mikrovaldiklis vykdo pozicionavimo paprogramę ir pastato roboto galūnes į starto poziciją. Puslapio vaizdas...

Automatinis valdymas

Pasirinkus „Automatinį“ valdymą, užkraunamas puslapis su įvedimo laukeliu, kuriame reikia įvesti detalių kiekį, kurį turi pernešti robotas iš pozicijos A į poziciją B. Puslapio vaizdas...

Rankinis valdymas

Vartotojas rankiniu būdu gali pasukti robotą į norimą padėtį, įvedant visų sustojimų koordinates. Įvedus visas koordinates ir nuspaudus mygtuką „siųsti“, mikrovaldiklis pradeda vykdyti rankinio valdymo paprogramę. Puslapio vaizdas...


TMS ELECTRONICS
TMS ELECTRONICS

Accum.eu - Viskas apie akumuliatorius, baterijas, šviestuvus

www.rslietuva.com - 400.000 pramoninių komponentų per 1 dieną

www.matuok.lt - Interneto spartos matavimo sistema

www.rrt.lt - Lietuvos Respublikos ryšių reguliavimo tarnyba

www.esaugumas.lt - Apsaugok savo kompiuterį!

www.skaiciuok.lt - Elektroninių ryšių paslaugų kainų palyginimo sistema

Baltic IT&T Review

Mokslas.lt

Mokslo festivalis „Erdvėlaivis Žemė 2008?

LTV.LT - lietuviškų tinklalapių vitrina

Technologijos.lt

Lietuvos mokinių informavimo ir techninės kūrybos centras

Reklama
‡ © 1999-2010 Elektronika.lt | Autoriaus teisės | Privatumo politika | Atsakomybės ribojimas | Reklama | Kontaktai LTV.LT - lietuviškų tinklalapių vitrina Valid XHTML 1.0!
SEO paslaugos, tinklapių optimizavimas, tyrimai
www.SEOtyrimai.lt
Nemokami skelbimai: kompiuterija, technika
www.infotopas.lt
GPS navigacija, radijo ryšio stotelės, echolotai
www.garmin.lt
Reklama internete, „Google“ reklama
www.seopro.lt
Kompiuteriai, navigacija, televizoriai, fotoaparatai
www.pirkpigiau.lt
„TV programa“ - tiksli
televizijos programa

www.tvprograma.lt
ESET, ABBYY, DRUVAA, FOXIT sprendimai verslui
www.nodbaltic.lt
Baldai, medžiagos, technika, kompiuteriai
www.b-a.lt
Prekyba kompiuteriais, televizoriais, parduotuvė
www.net7.lt
Elektronika, santechnika, įranga, elektrotechnika
www.slenkstis.lt
Tinklaraštis: daikčiukai, technologijos, internetas
www.radiocool.lt
„Mokslas. Mokslininkai. Visuomenė“
www.mokslasplius.lt
Reklama
Reklama