MrFreeTemplates.com
 

 

 

 

Autorius: Andrius Jasiulionis

Aut. teisės: Andrius Jasiulionis ir Linas Žitkevičius

 

 

Projektas CYBER 310, Odense (Danija)

 

Du automatikai Andrius Jasiulionis ir Linas Žitkevičius stažavosi "OTS Odense tekniske skole", Odense (Danija). Pagrindinis jų tikslas buvo atlikti kokį nors projektą, bei parašyti diplominį darbą.

 

AJ LŽ darbo vieta

 

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

CYBER 310

lankstumas:

pagrindas

355˚

patys

270˚

alkūnė

180˚

delnas sukasi

720˚

delnas lankstosi

220˚

Griebtuvas

100mm

Tikslumas:

0,9-1,5mm

 

valdymas

8 bitai

Maitinimas

220/240V 50Hz 200W

svoris

15Kg

                                                 

Cyber310 lankstumas

Roboto lankstumas

Roboto pajungimas

Cyber310 lankstumo ašys

Cyber310 lanstumo galimybės

Roboto 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 tikslais, jis buvo valdomas per lygiagrečiąją sąsaja kompiuterio pagalba specifine programavimo kalba. Mes nusprendėme vietoj personalinio kompiuterio panaudoti mikrokontrolerį PIC16F874.

 

Cyber310 robotas Robotas Cyber310 Web-Net modulis

 

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

 

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ą:

 

Vldymo pulto schema Mūsų valdymo pultas Valdymo pulto žarnos

 

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

 

impulsų generatoriaus schema Padarytas Impulsu generatorius

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:

 

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 i 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).

 

žingsniai kurie turi būti atlikti norint pasukti variklį pagal laikrodžio rodyklę:

 čia susidūrėme su problema, nes norint pasukti varikli 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.

 

Gaminam 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 tokia schema:

 

Roboto Smegenų Schema

 

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

 

Sumontuotas Roboto valdymas ant projektų lentosMaitinimo šaltinis ir (ISCP) programatoriusPIC16f874 roboto širdisRS232 komunikacija per MAX202

 

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

 

2. LCD ekrano testas

 

3. BAZĖS VARIKLIO TESTAS

 

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 nesuktu 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

 

Programos modelį rasite paspaudę čia...

Programos bylas rasite   paspaudę čia...

 

 Duomenų sąsajos modelis

 

Duomenų sąsajos modelį rasite paspaudę čia...

 

 

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

Visi internetiniai puslapiai buvo sukurti Microsoft Office FrontPage 2003 programiniu paketu. Internetiniai puslapiai buvo sukurti lietuvių ir anglų kalbomis. Tinklapio sandaros medis yra pateikta 5.1 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ąsają 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...

 

 

 

 

 
 
   

© MrFreeTemplates.com 2004