Celula Didactica Flexibila de Fabricatie
Cuprins
Enunțul temei
Motivația
Scopul lucrării
Rezumatul lucrării
Capitolul I
1.1.Introducere
1.2.Ce este tehnologia CNC
1.3.Avantajele și dezavantajele
Capitolul II
2.1.Părțile componente ale unei mașini CNC
2.2.Componentă mecanică
2.3.Acționarea mașinilor-unelte
2.4.Direcții de mișcare (axe
2.5.Punctul de origine (referință) pentru fiecare axă
2.6.Clasificarea echipamentelor comenzii numerice
2.7.Accesoriile unei mașini CNC
Capitolul III
3.1.Etapele parcurse pentru realizarea proiectului
3.2.Descrierea componentelor și schema bloc
3.2.1.Portul paralel
3.2.2.Interfață port paralel
3.2.2.1. Conectori interfață port paralel-driver motor pas cu pas
3.2.2.2. Stabilizator LM 7805
3.2.2.3. Conectorii de HOME și de limită maximă a cursei de mișcare
3.2.2.4. Butonul de E-stop și Reset. Circuit basculant bistabil
3.2.2.5. Controlul frezei de găurire
3.2.3. Modulul de comandă relee
3.2.3.1. Optocuplorul PC817
3.2.3.2. Circuitul integrat ULN2803
3.2.4.Control PWM cu circuitul integrat 555
3.2.5.Comanda motoarelor pas cu pas
3.2.5.1. Avantajele și dezavantajele folosirii MPP
3.2.5.2 Descriere circuite integrate specializate pentru comanda MPP
3.2.5.3. Circuitul integrat SN74HC14N.
3.2.5.4. Comanda MPP cu perechea de circuite integrate specializate L297 și L298
3.2.5.5. Supresarea cu diodă
3.2.5.6. Generatoare de impulsuri pentru comanda motoarelor pas cu pas
3.2.6. Placă de dezvoltare cu Atmega328P
3.2.6.1.Intefață RS–232
3.2.6.2.Convertor analog/digital
3.2.6.2. Modulul pentru comanda ventilatoarelor
3.2.6.3.Senzor de temperatură
3.2.6.4.Senzor de rotații
3.2.6.5. Afișor LCD16x2
Capitolul IV
4.1.Codul sursă implementat pe placa de dezvoltare
4.1.1.Funcția de control a temperaturii
4.1.2.Funcția de afișare a temperaturii
4.1.3.Funcția de control a ventilatoarelor
4.1.4.Funcția de afișare a vitezei de rotație a ventilatoarelor (RPM
4.1.5.Codul implementat la nivelul butoanelor
Capitolul V
5.1.Prezentarea structurii mecanice
Capitloul VI
6.1 Concluzii generale
6.2 Contribuții personale
6.3 Direcții viitoare de cercetare
Bibliografie
Anexe
Lista Figurilor
Fig.1.Freza cu comandă numerică
Fig.2.Reprezentarea schematică a unui echipament clasic cu comandă numerică
Fig.3.Diferența între o mașină clasică, acționată manual (a)și o mașină controlată numeric (b)
Fig.4.Mașină de frezat verticală cu comandă CNC
Fig.5.Mecanism șurub-piuliță
Fig.6.Strung CNC universal
Fig.7.Componente ale motorului pas-cu-pas
Fig.8.Resolver acționat de axă
Fig.9.Traductor de deplasare liniar
Fig.10.Exemple de notații pentru axe: mașina de frezat cu ax
Fig.11.ECN de poziționare (punct cu punct)
Fig.12.ECN pentru prelucrări liniare
Fig.13.ECN pentru conturare
Fig.14. Centru de prelucrare orizontal cu 5 axe comandate
Fig.15. Clasificarea mașinilor de frezat cu cinci axe
Fig.16. Schema bloc a etapelor desfășurate
Fig.17. Schema bloc a proiectului
Fig.18. Diagrama pinilor portului parale
Fig.19. Interfață port paralel 3D
Fig.20. Conector de zece pini între driver și interfață
Fig.21. Schema de conexiuni a stabilizatoarelor de tensiune din familia 78XX
Fig. 22. Schema de principiu a stabilizatoarelor de tensiune din seria 78XX
Fig.23.Schema de conectarea a tensiunii de alimentare, a switch-urilor de HOME și limită,cât și a butonului de E-stop și Reset
Fig.24.Modulul de comandă relee 3D
Fig.25. Schema unui opto-izolator, care arată sursa de lumină (LED-uri) de pe partea stângă, bariera dielectrica în centru, și senzorul (fototranzistor) de pe dreapta
Fig.26.Expunearea pinilor integratului ULN2803
Fig.27.Semnal PWM
Fig.28.Expunearea pinilor circuitului integrat 555
Fig.29.Diagramă bloc a CI 555
Fig.30.Schema bloc de acționare a motorului pas cu pas
Fig.31.Structura motorului pas cu pas bipolar
Fig.32.Schema electrică de comandă al MPP
Fig.33.Simbol trigger Schmitt inversor și neinversor
Fig.34.Circuit trigger Schmitt care acționează ca un comparator, format cu un atenuator și sumator
Fig.35.Efectul utilizării unui trigger Schmitt (B), în loc de un comparator (A
Fig.36.Driverul realizat cu perechea L297-L298 și buffer inversor SN74HC14N
Fig.37.Schema bloc a circuitului L297
Fig.38.Secvența de bază generală intern de TRANSLATOR
Fig.39.Secvența de comandă mixtă
Fig.40.Secvența de comandă dublă
Fig.41.Secvența de comandă simplă
Fig.42.Controlul curentului din faza MPP
Fig.43.”Chopparea” prin liniile INH1,INH2
Fig.44.”Chopparea” prin liniile A ,B, C, D
Fig.45.Schema bloc a circuitului L298N
Fig.46.Supresarea cu diod
Fig.47.Oscilator cu BE555
Fig.48.Placa de dezvoltare realizată în jurul microcontrollerului Atmega328P
Fig.49.Modulul de alimentare a unui microcontroler
Fig.50.Moduri de conectare a oscilatorului la microcontroler
Fig.51.Circuitul de reset pentru microcontrolerul Atmega328P
Fig.52. Această diagramă arată un semnal TTL (jos) și RS-232(sus)
Fig,53.Tipuri de conexiuni utilizate în interfațarea seriă
Fig.54. Convertoare analog-digitale și digital analogice
Fig.55.Modulul pentru comanda ventilatoarelor
Fig.56a.Forma de undă a tensiunii cu modificarea factorului de umplere
Fig.56b.Schema electrică de comandă în impulsuri PWM a unui motor de c.c
Fig.57.Modul senzor temperatură 3D
Fig.58.Schema de principiu a unui senzor IR
Lista tabelelor
Tabelul 1.Semnalele portului paralel standard
Tabelul 2.Tabelul de adevăr al unui latch SR
Tabelul 3. Modul de alimentare al înfășurărilor
Tabelul 4: Conexiunile exterioare ale modulului LCD
Enunțul temei:
Să se proiecteze și să se realizeze o celulă didactică flexibilă de fabricație, alcătuită dintr-o bandă transportoare, un braț robotic cu cinci grade de libertate plus gripper și o cale de rulare pentru acesta. Acest proiect conține componente electronice, mecanice, parte de software și este controlat automat cu ajutorul unor plăci de dezvoltare.
Motivația:
Am ales ca temă pentru proiectul de disertație o celulă flexibilă de fabricație din mai multe motive, și anume, pe de o parte pentru că este un proiect complex și am dorit să pun în practică informațiile acumulate în timpul celor doi ani de studii superioare și pentru că există o gamă largă de informații în scopul realizării acestui proiect, pe de altă parte, din dorința realizării unui proiect fizic cu performanțe medii, care poate fi folosit pentru diferite aplicații.
Scopul lucrării:
Datorită informațiilor acumulate în domeniul roboticii și mecatronicii, evoluției continue a tehnologiei și cererii foarte mari de produse de serie cu costuri reduse, am dorit îmbunătățirea timpului de lucru și ușurarea muncii depuse în vederea realizării acestor produse. Manipularea produselor se face cu ajutorul acestui echipament, având ca avantaj atât evitarea defectelor de fabricație a acestora prin eliminarea intervenției umane, cât și capacitatea mare de adaptare la modificare sortimentului de fabricație.
Rezumatul lucrării
Prezenta lucrare de disertație se ocupă de proiectarea și execuția unei celule flexibile de fabricație, controlată automat cu ajutorul unor plăci de dezvolatare. Cu ajutorul acestui echipament se fabrică un sortiment variat de produse, în vederea ușurării muncii depuse pentru realizarea lor cât și evitarea defectelor de natură umană.
Lucrarea de diplomă cuprinde 98 pagini, 58 de figuri, 4 tabele și este structurată pe șase capitole ce prezintă în mod gradat proiectarea și execuția, precum și concluziile, contribuțiile originale și respectiv modul de valorificare a rezultatelor și direcții viitoare de cercetare.
Capitolul 1 prezintă un scurt istoric al controlului celulelor de fabricație, conceptul de bază specific și noțiuni privind avantajele si dezavantajele folosirii acestor echipamente.
Capitolul 2 își propune studiului componetelor din structura echipamentelor flexibile. După ce sunt prezentate principalele metode de acționare , sunt date explicații referitoare la direcțiile de deplasare și punctele de origine. Este prezentată o clasificare a structurilor generale folosite în fabricarea acestora echipamente, cât și a accesoriilor.
Capitolul 3 are ca și scop prezentarea programelor utilizate pentru realizarea și simularea circuitelor electronice, cât si transpunerea în 3D a acestora. Sunt prezentate pe rând etapele defășurate.Se mai tratează o descriere a controllerului necesar pentru conducerea echipamentului realizat. Se prezintă schemele realizate pentru punerea în funcțiune, cât și o detaliere a funcționării componentelor electronice, pentru standul dezvoltat.
Capitolul 4 tratează detaliile privind codul utilizat în programarea plăcii de dezvoltare cu Atmega328P pentru măsurarea temperaturilor și a rotațiilor, cât și a meniului realizat.
Capitolul 5 este dedicat prezentării sumarului de piese mecanice necesare realizării echipamentului.
Capitolul 6 prezintă concluziile generale ale rezultatelor obținute, elementele de
originalitate și contribuțiile aduse de către autor în cadrul acestei lucrări de diplomă, precum și valorificarea rezultatelor și direcțiile viitoare de cercetare.
Lucrarea se încheie cu referințele bibliografice și anexele. Bibliografia, actuală și variată,
cuprinde un număr de 14 de referințe.
Doresc să mulțumesc în mod deosebit conducătorului științific, domnul prof.univ.dr.ing.Nițulescu Mircea pentru contribuția la formarea mea pe plan științific.
Capitol I
1.Introducere
Este deosebit de dificilă formularea unei definiții care să cuprindă toate caracteristicile unui robot în câteva rânduri. Din acest motiv, există mai multe definiții ale aceluiași termen, date de unele dintre companiile constructoare sau asociațiile naționale din domeniu. Fiecare dintre acestea încearcă să definească în moduri diferite, același produs al inteligenței umane.
RIA (Robot Institute of America): „Robotul este un manipulator multifuncțional, reprogramabil, destinat deplasării materialelor, pieselor, sculelor sau altor dispozitive specializate prin mișcări variabile, programate pentru a îndeplini anumite sarcini”.
JIRA (Japan Industrial Robot Association): „Robotul este un dispozitiv versatil și flexibil care oferă funcții de deplasare similare celor ale membrelor umane sau ale cărui funcții de deplasare sunt comandate de senzori și de mijloace proprii de recunoaștere”.
BRA (British Robot Association): „Robotul este un dispozitiv reprogramabil realizat pentru manipularea și transportul pieselor, sculelor sau altor mijloace de producție prin mișcări variabile programate pentru a îndeplini sarcini specifice de fabricație”.
General Motors: „Robotul este un echipament fizic cu funcționare programabilă capabil să efectueze anumite operații și secvențe de operații orientate spre manipularea de piese, scule, subansamble”.
Din definițiile prezentate mai sus se poate observa că, în cele mai multe cazuri, accentul se pune pe latura industrială a robotului. Una dintre primele definiții date acestei creații mecanice arată că acesta imită omul sau posibilitățile sale de acțiune. Având în vedere dezvoltarea cercetării din domeniu și exemplarele fizice de roboți mobili construite care imită diferite vietăți, am putea completa această definiție astfel: „Roboții sunt sisteme mecanice cu structura variabilă, controlate de sisteme complexe și concepute pentru executarea de operații asemănătoare acțiunilor ființelor (umane și nu numai)”.
Asociația de Robotică din România:
„Robotica este un domeniu de știință în curs de formare, cu un pronunțat caracter multidisciplinar. Izvoarele sale se găsesc în domeniile de: teoria mecanismelor, transmisii mecanice, dinamica mașinilor, tehnologie, dispozitive, electronica industrială, calculatoare, automatică, inteligență artificială, biomecatronica, economie, inginerie industrială, management, ergonomie, psihosociologia muncii.”
„Robotica se ocupă de cercetări fundamentale și fundamental orientate privind automatizarea operațiilor de manipulare a obiectelor în mediu industrial obișnuit, în medii inaccesibile sau greu accesibile operatorilor umani, în medicină și îngrijirea / recuperarea bolnavilor, în activități de servicii și casnice, în activități militare.
Latura aplicativă a roboticii vizează: construcția, funcționarea și repararea instalațiilor pentru automatizarea operațiilor humanoide și a instalațiilor aducătoare / de evacuare; corelarea funcționarii utilajelor, mașinilor, centrelor de prelucrare cu instalații aducătoare / de evacuare și instalațiile pentru automatizarea operațiilor humanoide; conceperea proceselor de fabricație de grup flexibile automate; conceperea, construcția și implementarea sistemelor și metasistemelor de fabricație flexibilă automată (FMS, FAS, CIM); construcția și funcționarea dispozitivelor de control; diagnosticarea și repararea automată a componentelor sistemelor de fabricație automată; aplicații industriale ale inteligenței artificiale”.
Pentru prima data cuvântul „robot” a fost introdus în anul 1921 de dramaturgul ceh
Karel Capek în piesa de teatru „Roboții universali ai lui Rossum” („Rossum 's Universal
Robot”),. Cuvântul este un derivat din „robota” termen care, în limbile slavone, desemnează munca (de obicei munca grea). În piesa lui Capek, roboții erau făpturi cu înfățișare umană, dar lipsite de personalitate, care nu făceau nimic altceva decât să acționeze mecanic în îndeplinirea ordinelor. Isaac Asimov, în 1942, a publicat o scurtă povestire, „Runaround”, în care a apărut termenul „robotică” și în care a enunțat cele 3 reguli de bază ale roboților:
Un robot nu poate leza o ființă umană sau nu poate asista inactiv atunci când aceasta este în primejdie.
Orice robot trebuie să se supună comenzilor primite de la ființele umane, cu excepția acelor comenzi care nu respectă primul principiu.
Orice robot trebuie să se autoprotejeze atunci când este pusă în pericol integritatea sa, cu excepția cazurilor în care s-ar încălca cel puțin unul dintre primele două principii.
În ultimele două decenii asistăm la o veritabilă explozie în domeniul realizărilor robotice. Cercetările sunt orientate în două direcții principale: o direcție pe „orizontală”, lărgindu-se extrem de mult aria de folosire a roboților, în special în toate ramurile industriale și cu precădere cele „neprietenoase” pentru operatorul uman, dar și în alte ramuri, cum ar fi cea a serviciilor și o direcție „pe verticală”, prin creșterea performanțelor roboților în domeniu hardware și software, astfel încât aceste creații să se apropie tot mai mult de capacitățile fizice ale viețuitoarelor pământului și, în special, de cele intelectuale și afective ale ființelor umane.
Evoluția roboților este strâns legată de evoluția puterii de calcul. Se estimează că noile dispozitive integrate de calcul vor putea procesa o cantitate dublă de date decât chipurile existente, crescând concomitent și numărul de instrucțiuni (operații) efectuate pe secundă (MIPS) (figura 1.1). În acest fel va crește gradul de „inteligență” al robotului.
Figura 1- Evoluția puterii de calcul
2. Roboți industriali
În momentul de față, roboții industriali reprezintă punctul de intersecție al ultimelor descoperiri dintr-o serie de domenii: mecanica, automatica, electronica, calculatoare și sisteme de acționare. Complexitatea acestei ramuri se reflectă atât asupra arhitecturii mecanice cât și asupra sistemului de conducere. Robotul este rezultatul acestor descoperiri tehnico – științifice, în urma necesității realizării funcțiilor (acțiunilor) umane într-un mediu industrial normal. Astfel, robotul poate fi definit ca un sistem tehnologic complex care poate să înlocuiască sau să asiste munca omului la o linie de producție sau în manipularea unor utilaje. Obiectivele principale avute în vedere prin introducerea manipulatoarelor și roboților sunt: creșterea productivității muncii; eliminarea disconfortului fizic și psihic al unor activități de producție.
2.1. Sisteme flexibile de fabricație
Un sistem flexibil de fabricație (FMS – Flexible Manufacturing System) este un ansamblu de utilaje interconectate printr-un sistem de transport, destinat pentru fabricarea unor piese sau subansamble. Utilajele sunt, de regulă, mijloace de producție automatizate (de exemplu mașini unelte cu comandă numerică), și sunt comandate de către un calculator central. Sistemul de transport are sarcina de a transporta piesele în diferite stadii ale prelucrării de la un utilaj la altul în funcție de etapa de prelucrare ce urmează a fi executată. Transportul pieselor se poate face cu bandă transportoare (conveior) sau prin intermediul roboților industriali (în cazul în care sunt necesare mișcări complexe de manipulare).
Metoda de comandă în cadrul unui FMS este de cele mai multe ori una ierarhică, pe baza căreia calculatorul central sau stația centrală coordonează sistemul de transport și stațiile din fiecare punct de lucru, pe baza informațiilor primite de la acestea, cu privire la stadiul prelucrărilor. O structură de comandă ierarhică este prezentată în figura 2.1.
Calculator central
Figura 2-Structură de comandă ierarhică.
Tendința actuală este înlocuirea sistemelor flexibile de fabricație cu așa zise celule flexibile de fabricație FMC (flexible manufacturing cells) care sunt, de fapt, variante restrânse de FMS și sunt specializate fiecare pe un anumit grup de operații din totalitatea operațiilor executate asupra semifabricatelor. Implementarea sistemelor flexibile de fabricație presupune utilizarea manipulatoarelor și roboților industriali.
2.2. Clasificarea roboților
Din punctul de vedere al gradului de mobilitate se cunosc roboți ficși și roboți mobili.
După domeniul de aplicare: a) sector primar (agricultură, minerit); b) sector secundar, producție materială (procese continue și procese discontinue); c) sector terțiar (medicină, domeniul nuclear); d) sectoare speciale (explorări spațiale, subacvatice, etc.).
7
Din punct de vedere al sistemului de coordonate roboții funcționează în sistem de coordonate carteziene (18%), cilindrice (33%), sferice (40%) și structura robotului antropomorf.
Din punct de vedere al sistemului de comandă: comanda punct cu punct (unde nu interesează traiectoria propriu-zisă); comanda multipunct (implică coordonarea mișcării axelor); comanda pe traiectorie continuă (implică toți parametrii de mișcare).
Din punct de vedere al sarcinii manipulate.
Din punct de vedere al sistemului de acționare: hidraulică (40%), electrică (30%), pneumatică (21%), mixtă.
Din punct de vedere al preciziei de poziționare.
Din punctul de vedere al sistemului de comandă (generație): a) roboți din generația I-a – acești roboți sunt practic manipulatoare și roboți programabili (neadaptivi); b) roboți din generația a II-a – roboți adaptivi; c) roboți din generația a-III-a – roboți inteligenți.
Pe baza celor de mai sus, se observă că principalul criteriu de clasificare se referă la sistemul de comandă (sistemul de conducere).
2.3. Manipulatoare
Manipulatoarele sunt instalații de operare simple cu un număr redus de grade de libertate, cu un sistem de comandă simplu, programabil cu anumite dificultăți, fiind utilizate pentru efectuarea unor operații de mică complexitate (simple), uneori repetate ciclic. Manipulatoarele pot fi biotehnice (cu comandă directă, comandă prin urmărire și semiautomate) și automate.
Manipulatoarele biotehnice presupun prezența în procesul de comandă a operatorului uman, fiind folosite mai ales pentru a evita pătrunderea omului în spații agresive. În cazul manipulatoarelor cu comandă directă comanda mișcării fiecărei axe se face individual, precizia poziționării fiind asigurată prin reacție vizuală directă sau indirectă utilizând în acest scop camera video. Manipulatoarele cu comandă prin urmărire includ o structură de tip master (la scară mică, asupra căruia acționează mâna operatorului) și o structură de tip slave asupra căruia se transmite poziționarea efectuată de master. Reacția poate fi vizuală sau pentru îmbunătățirea preciziei poate fi și de forță. Reacția de forță se realizează folosind sisteme de urmărire cu acțiune dublă, care face ca operatorul să simtă efortul din manipulatorul slave prin intermediul modificării rezistenței la mișcare a manipulatorului master. În cazul manipulatoarelor semiautomate masterul este înlocuit cu o manetă multipozițională prin intermediul căreia se realizează comanda. Informațiile primite de la traductoarele de poziție ale manetei sunt preluate de sistemul de comandă care elaborează mărimile de conducere ale sistemelor de reglare a fiecărei axe a manipulatorului real. Pentru manipulatoarele automate nu este necesară prezența permanentă a operatorului uman, el participând doar la programarea inițială a mișcărilor. Manipulatoarele au număr redus de grade de mobilitate (2–4 axe), comanda lor fiind efectuată cu ajutorul unor automate secvențiale simple. Efectuând aceiași operație ciclic, programarea mișcărilor se face folosind limitatoare de cursă. Pentru acționarea manipulatoarelor este utilizată aproape în exclusivitate acționarea pneumatică, prin urmare nu se realizează permanent controlul vitezei și poziției pe o axă.
2.4. Roboții industriali
Roboții industriali sunt instalații de manipulare ușor programabile destinate deplasării pe traiectorii variabil programabile a unor obiecte având posibilitatea efectuării unei diversități de operații.
Robotul neadaptiv din generația I-a, se caracterizează prin faptul că, conducerea mișcării pe axe se realizează prin sisteme de reglare numerice. Acești roboți sunt prevăzuți cu posibilitatea de programare, reprogramare și memorare a programului. Roboții din această
8
generație acționează pe baza unui program flexibil (relativ rigid) prestabilit prin învățare directă. În acest sens, în timpul funcționării dacă apar modificări ale mediului de lucru aceste modificări nu sunt sesizate și nici nu pot duce la modificarea programului de lucru, datorită sistemului senzorial al robotului. De aceea, acești roboți funcționează în condiții de mediu riguros determinate (de exemplu, piesa ce trebuie prelucrată trebuie să se afle mereu în aceiași poziție).
Robotul adaptiv din generația a II-a, este dotat cu sistem de comandă mai evoluat, cu un program flexibil prestabilit. Acești roboți au posibilitatea de a modifica programul de funcționare chiar în decursul efectuării operațiilor, în concordanță cu modificările din mediu, pe baza informațiilor furnizate de sistemul senzorial.
Roboții inteligenți din generația a III-a, sunt echipați cu senzori evoluați, care includ elemente de inteligență artificială capabilă să interacționeze cu mediul înconjurător. Acești roboți au capacitatea de a elabora un model informațional; un model al mediului de lucru; capacitatea de a învăța pe baza experienței anterioare (!); există posibilitatea adaptării automate a programului în timpul funcționării; acceptă comenzi orientate pe sarcină.
În general, roboții industriali au următoarele caracteristici:
sunt realizați pentru a executa în principal operații de manipulare, deplasare și transport, care necesită viteză și exactitate, dar pentru forțe limitate;
posedă mai multe grade de libertate (2 6) astfel încât să poată executa operații complexe;
sunt autonomi, sau relativi autonomi;
sunt dotați cu o memorie reprogramabilă capabilă să acumuleze date necesare executării operațiilor;
sunt dotați cu capacitate logică, în general redusă, astfel încât pot lua decizii între diverse alternative.
În figura 2.2 se prezintă schema bloc de principiu a unui robot industrial.
Figura 2.2. Schema bloc a unui robot industrial.
Un robot industrial se compune practic din trei părți principale: sistemul de comandă, sistemul de acționare și sistemul mecanic.
9
Sistemul de comandă (care se asociază cu sistemul nervos uman) dă comenzi sistemului de acționare pe baza informațiilor primite de la senzori. Sistemul de acționare (care se poate asocia cu sistemul muscular uman) realizează punerea în mișcare a elementelor sistemului mecanic. Sistemul mecanic (care se poate asocia cu sistemul osos) acționează asupra mediului înconjurător impunând obiectului manipulat mișcarea dorită. Pentru exemplificare, roboții utilizați în scop medical pot fi: proteze (deficiențe ale sistemului osos-mecanic); exoschelete care contribuie la amplificarea forței umane (în situațiile unor deficiențe ale sistemului muscular); orteze (sunt proteze comandate și controlate prin biocurenți).
10
2.5. Sistemul mecanic al roboților industriali
Sistemul mecanic al roboților industriali corespunde brațului și mâinii umane (figura 2.3). Sistemul mecanic este constituit dintr-un lanț cinematic format din elemente rigide interconectate prin cuple de rotație sau translație care permit mișcarea lor relativă. Capătul inferior al lanțului cinematic este fixat în batiu, iar capul superior susține mâna robotului respectiv dispozitivul de prehensiune sau sculă sau gripper.
Se urmărește ca structura mecanică să asigure:
O mobilitate cât mai mare (determinat de antropomorfism); Antropomorfismul se definește ca fiind asemănarea dintre caracteristicile brațului robotic și brațul omului.
Greutate cât mai mică,
Suplețe;
Randament energetic ridicat.
Sistem mecanic
Figura 2.3.
Efectorul final solidarizează obiectul manipulat de un element al lanțului cinematic de ghidare.
Lanțul cinematic de ghidare realizează deplasarea efectorului final dintr-o poziție în alta, generează o anumită traiectorie în concordanță cu cerințele procesului tehnologic în care se integrează.
În spațiul tridimensional un corp material are 6 grade de libertate. Deplasarea dintr-o poziție în alta, bine determinată, este posibilă prin modificarea convenabilă a tuturor celor 6 parametri scalari. Lanțul cinematic de ghidare ar trebui să aibă 6 grade de mobilitate. Lanțul cinematic de ghidare este un lanț cinematic deschis (figura 2.4). Toate părțile din care este construită structura mecanică a unui robot se consideră generică de elemente presupuse solide rigide (numerotate de la 0 la 4). Posibilitatea mișcărilor relative ale elementelor se asigură prin legăturile dintre acestea numite cuple cinematice (notate cu A; B; C și D). Se poate considera că numărul gradelor de libertate (identic cu numărul gradelor de mobilitate) este egal cu numărul cuplelor cinematice de rotație sau de translație.
11
4
2
B
A
1
0
Figura 2.4. Schema cinematică a unui robot braț articulat
În figura 2.5 sunt prezentate exemple de cuple cinematice.
Figura 2.5.
2.5.1. Punct caracteristic – dreaptă caracteristică
Punctul obiectului manipulat, arbitrar ales, utilizat la stabilirea legilor de distribuție a vitezelor și accelerațiilor, în scopul mișcării generale spațiale a corpului prins în dispozitivul de prehensiune se numește punct caracteristic (figura 2.6). O dreaptă care aparține obiectului manipulat și trece prin punctul caracteristic, folosită pentru descrierea mișcării, poartă denumirea de dreaptă caracteristică (DC – d1). Punctul caracteristic este un punct virtual ales de proiectant pentru studiul mișcării mecanismului generator de traiectorie. Acest punct se alege pe axa longitudinală a ultimului element al lanțului cinematic la încheietura mâinii pe sculă (figura 2.7).
12
d1
d’2 θ12
θ12 d’1
d1
d1
d2
PC
d1 – dreaptă caracteristică
PC – punct caracteristic
Figura 2.6.
pitch – mișcare de flexie (extensie) yaw – mișcare de aducție (abducție)
Figura 2.7.
Partea lanțului cinematic de ghidare care realizează modificarea poziției punctului caracteristic (PC) reprezintă mecanismul generator de traiectorie. În principiu acesta trebuie să aibă gradul de mobilitate 3, realizând modificarea celor 3 coordonate carteziene ale punctului caracteristic. Acea parte a dispozitivului de ghidare care servește la orientarea dreptei caracteristice d1, după o succesiune de direcții impuse, se numește mecanism de orientare. Mecanismul de orientare în principiu are tot 3 grade de mobilitate.
Deci dispozitivul de ghidare trebuie să aibă minimum șase grade de libertate pentru a realiza poziționarea și orientarea unui corp (piesă sau sculă ) în spațiu. În anumite cazuri particulare el poate să aibă și mai puțin de șase grade de libertate (ca în cazul corpurilor cilindrice , când un grad de libertate nu-și mai justifică existența datorită simetriei față de axa cilindrului, situație în care cinci grade de libertate sunt suficiente ) sau mai mult de șase grade de libertate atunci când robotul trebuie să execute anumite operații care necesită o mare versatilitate (ca în cazul vopsirii). În marea majoritate a cazurilor dispozitivul de ghidare este constituit dintr-un lanț cinematic deschis dar există și situații când se combină un lanț cinematic închis (patrulater articulat) cu unul deschis.
13
2.5.2. Mecanismul generator de traiectorie
Cele trei grade de libertate ale mecanismului generator de traiectorie pot fi cuple de rotație sau de translație, în timp ce mecanismul de orientare este în general constituit din trei cuple cinematice de rotație.
Mișcarea de poziționare se poate realiza utilizând trei cuple cinematice de rotație (R) sau translație (T). Există 8 combinații posibile de rotații și translații (23=8). Acestea sunt : RRR, RRT, RTR, RTT, TRR, TRT, TTR, TTT.
Poziția unui punct în spațiu este determinată prin trei parametri geometrici independenți între ei, care pot fi coordonatele punctului considerat. Dacă se stabilește o lege de determinare a acestor parametri pentru orice punct din spațiu, spunem că am stabilit un sistem de coordonate.
Punctul caracteristic poate fi poziționat în interiorul spațiului de lucru al robotului industrial într-unul din următoarele sisteme de coordonate: cartezian; cilindric; sferic.
Alegerea unuia sau a altuia dintre sisteme se face și în concordanță cu arhitectura robotului. De exemplu un mecanism de generare a traiectoriei de structură TTT impune coordonatele carteziene iar un mecanism de generare a traiectoriei de structură TRT impune coordonatele cilindrice.
Ecuațiile parametrice ale mișcării în sistemul cartezian sunt:
X=x(t) ; Y=y(t) ; Z=z(t) . (2.1) Robotul cartezian (TTT) este robotul al cărui braț operează într-un spațiu definit de
coordonate carteziene (x,y,z):
Ecuațiile parametrice ale mișcării în sistemul cilindric sunt:
r=r(t) ; = (t) ; y=y(t) . (2.2)
Robotul cilindric (RTT) este robotul al cărui braț operează într-un spațiu definit de coordonate cilindrice r, α, y:
Ecuațiile parametrice ale mișcării în sistemul sferic sunt:
r=r(t) ; = (t) ; = (t). (2.3)
Robotul sferic (RRT) este robotul al cărui spațiu de lucru este sferic, definit de coordonatele (α, φ, r):
14
Robotul antropomorf (RRR) este robotul la care deplasarea piesei se face după exterior al unei zone sferice. Parametrii care determină poziția brațului fiind coordonatele α, φ, ψ.
Figura 2.8.
2.5.3. Dispozitive de prehensiune
Așa cum reiese din definiția lor roboții industriali îndeplinesc sarcini tehnologice (sudură, vopsit, etc. ) sau de transfer (manipularea pieselor și a semifabricatelor în procesul de producție). Atunci când îndeplinesc sarcini tehnologice efectorul final este o sculă (pistol de vopsit sau cap de sudură). Dacă sarcinile robotului sunt de transfer (manipulare) atunci efectorul final al său trebuie să fie un dispozitiv de prehensiune. Acesta reușește să solidarizeze (fixeze) obiectul manipulat de robot. Această operație de solidarizare, care este analoagă celei prin care mâna umană apucă se numește prehensiune. Dispozitivele de prehensiune execută întotdeauna operația finală și de aceea rolul lor este foarte important.
Prehensiunea este un proces complex care are mai multe faze:
poziționarea;
centrarea;
fixarea – defixarea.
Solidarizarea obiectului manipulat presupune imobilizarea acestuia și deci anularea gradelor sale de libertate. Numărul și dispunerea punctelor de contact dintre dispozitivul de prehensiune și obiectul manipulat depinde de forma obiectului care impune o anumită formă a suprafețelor de contact ale dispozitivului de prehensiune. Prin centrare se realizează ocuparea de către obiectul manipulat a unei anumite poziții și orientări față de un sistem de referință solidarizat cu efectorul final. Dacă dispozitivul de prehensiune obligă dreapta caracteristică a obiectului manipulat să ocupe o anumită poziție atunci operația se numește centrare. În cazul în care concomitent cu centrarea se realizează și suprapunerea punctului caracteristic al
15
obiectului manipulat peste un anumit punct fix din spațiul de lucru al robotului, atunci operația se numește centrare completă. Bineînțeles că operația de poziționare și de centrare se execută cu o anumită eroare, care reprezintă eroarea de centrare. În figura 2.9 este redată operația de centrare a unui obiect cilindric cu ajutorul unui dispozitiv de prehensiune prevăzut cu 4 fețe prismatice.
Figura 2.9. Centrarea unui obiect cilindric cu ajutorul unui dispozitiv de prehensiune cu patru fețe.
Un dispozitiv de prehensiune are următoarele părți componente:
flanșa de legătură cu restul robotului (se recomandă a fi standardizată); dispozitivul de acționare (motorul);
mecanismul propriu-zis; degetele;
bacurile.
Roboții moderni realizează schimbarea automată a dispozitivului de prehensiune, în funcție de forma obiectului manipulat. Mecanismele de prehensiune au drept scop transmiterea forței și a mișcării la “degete”. Prin deget se înțelege acea parte componentă a dispozitivului de prehensiune care poartă și conduce în poziția de prehensiune o suprafață care în urma contactului cu piesa manipulată va realiza funcția de prehensiune. Mecanismele dispozitivelor de prehensiune pentru acționarea unui deget au la bază mecanisme cu două, trei sau patru elemente. Cea mai mare parte a elementelor conducătoare ale dispozitivelor de prehensiune execută mișcări de translație în raport cu elementul fix și de aceea pentru acționarea lor se utilizează motoare hidraulice liniare. Atunci când dispozitivele de prehensiune se utilizează pentru alimentarea cu piese a mașinilor-unelte ele vor fi înzestrate cu dispozitive care după dispariția acțiunii readuc dispozitivul în starea inițială sub acțiunea unor arcuri.
În funcție de tipul și dimensiunea obiectului manipulat, dispozitivele de prehensiune pot
fi:
speciale pentru obiecte de aceiași formă și dimensiune;
speciale pentru obiecte de aceiași formă și dimensiuni diferite;
universale (pentru obiecte cu formă și dimensiuni variind într-un domeniu restrâns); flexibile (pentru obiecte cu formă și dimensiuni variind într-un domeniu larg).
Caracterul special, universal sau flexibil al dispozitivelor de prehensiune este dat de
construcția bacurilor. Forma constructivă a degetelor trebuie să țină cont și de condițiile de lucru. De exemplu, dacă obiectul manipulat este fierbinte, degetele trebuie să fie lungi pentru a atenua efectul căldurii asupra dispozitivului de prehensiune. Pentru manipularea obiectelor feromagnetice relativ ușoare se utilizează dispozitive de prehensiune cu magneți în timp ce pentru manipularea obiectelor ușoare care prezintă o suprafață plană relativ mare se utilizează dispozitive de prehensiune cu vid.
16
2.6. Sistemul mecanic al robotului industrial RV-M1
Pentru exemplificarea celor prezentate mai sus, în figura 2.10, se prezintă sistemul mecanic al Robotului industrial RV-M1.
Figura 2.10.
Robotul industrial RV-M1, în varianta de bază, are 5 cuple cinematice de rotație (J1, J2, J3, J4, J5) (figura 2.11), care sunt acționate cu servomotoare de curent continuu. Aceste servomotoare sunt echipate cu traductoare de poziție a rotorului. Cu ajutorul acestor traductoare se poate realiza controlul poziției robotului pe baza unghiurilor formate de articulații.
Figura 2.11. Cuplele cinematice și gradele de mobilitate ale robotului industrial RV-M1.
Astfel, pe baza informațiilor cu privire la poziția momentană a cuplelor cinematice conducătoare și cunoscându-se dimensiunile fizice ale articulațiilor, se poate obține în orice moment coordonata punctului caracteristic, respectiv poziția obiectului manipulat față de o
17
poziție de referință în sistemul de coordonate cartezian. Algoritmul pentru calculul poziției punctului caracteristic, precum și funcțiile de conducere utilizate, cu ajutorul cărora sunt generate mișcările, sunt realizate și fixate de producător, și constituie o parte din programul aplicație de bază al robotului. Pe lângă cele 5 grade de mobilitate, robotul studiat în laborator are atașată o axă suplimentară, numită Slide (ghidaj), folosită pentru deplasarea robotului de-a lungul axei Y în sistemul de coordonate cartezian.
Deplasarea robotului pe Slide este realizată cu ajutorul unui servomotor de curent continuu prevăzut cu un traductor de poziție. Senzorii de proximitate LS1 și LS2 sunt utilizați pentru sincronizarea inițială a mișcării (LS1), respectiv ca limitatoare de cursă.
Robotul poate fi echipat cu diferite tipuri de mecanisme de prehensiune pentru apucarea obiectelor și care poartă denumirea de sculă sau gripper. Având în vedere faptul că la diferite tipuri de scule poate diferi distanța dintre suprafața de montare a "mâinii" și capătul acesteia (figura 2.12), precum și faptul că această distanță este unul din parametrii care definesc poziția punctului caracteristic în spațiu, există posibilitatea modificării în programul aplicație a valorii date de lungimea sculei TL (Tool Lenght).
Figura 2.12. Situarea punctului caracteristic al robotului.
Închiderea și deschiderea gripper-ului se realizează cu ajutorul unui servomotor de curent continuu. Starea închisă sau deschisă a gripper-ului nu este confirmată, iar valoarea forței de strângere se poate regla din program în trepte de la 0 la 9.
Conducerea roboților industriali
Roboții, prin structura și funcțiile lor reprezintă o clasă de sisteme ce sintetizează elemente de vârf dintr-o serie de domenii tehnico – științifice. De fapt, prin atribuțiile sale robotul imită sau substituie funcțiile de locomoție, manipulare și de intelect ale omului. Este evident, deci, că robotul reprezintă un sistem extrem de complex, descris prin modele matematice sofisticate definite prin sisteme de ecuații diferențiale neliniare, cu parametrii variabili, deterministe sau stohastice, cuprinzând un număr mare de variabile de intrare și ieșire.
Funcția de bază a robotului este reprezentată de mișcarea acestuia în spațiu, deci regimurile statice și dinamice ale structurii mecanice vor reprezenta punctul de plecare în definirea robotului ca obiect de conducere.
Pentru exemplificare, să considerăm un robot cu trei articulații de rotație (figura 3.1). Mișcarea, evoluția robotului, este determinată de cele trei momente M1, M2, M3 aplicate în articulații, acestea determinând rotirea segmentelor corespunzătoare și deci obținerea unei noi poziții a brațului, poziție definită prin noile valori ale unghiurilor q1, q2, q3.
Figura 3.1.
Considerat, deci, ca obiect orientat de conducere, robotul primește un vector de intrare definit de forțele generalizate aplicate în articulații și generează un vector de ieșire format din unghiurile (sau deplasările) articulațiilor.
Analiza ca obiect condus impune, totodată, definirea vectorului de stare al robotului. În general, acest vector este determinat de coordonatele generalizate stabilite în articulații (unghiuri sau deplasări) și de derivatele acestora (vitezele generalizate ale mișcării). Relațiile intrare – stare – ieșire specifice robotului sunt date prin ecuații diferențiale, neliniare, obținute pe baza regimurilor dinamice ale acestuia. Deducerea acestor ecuații și analiza cantitativă și calitativă a mișcării vor constitui obiectul capitolelor următoare ale lucrării. Reprezentarea din figura 3.1 corespunde unei descrieri formale a robotului ca obiect condus fără a preciza implicațiile tehnologice ale structurii de conducere.
În figura 3.2 sunt prezentate soluții constructive privind principalele blocuri ale unui astfel de sistem. Se observă că variabilele principale ce intervin în conducerea robotului sunt generate sau prelucrate în blocuri și componente specializate. Astfel, activarea articulațiilor mecanice este realizată prin intermediul blocului de acționare care, pe de o parte determină algoritmul de control pentru fiecare articulație, iar pe de altă parte asigură sursa energetică necesară mișcării.
Măsurarea informațiilor de deplasare precum și toate celelalte date care restricționează mișcarea în spațiul de operare este realizată într-un bloc senzorial. El este format practic din sisteme de traductoare specializate pentru măsurători unghiulare sau liniare precum și din
22
senzori specializați de tip tactil, de forță – moment sau vizuali care oferă robotului o mai completă adaptabilitatea la modificările mediului de operare.
Informațiile furnizate sunt captate de un calculator specializat care, pe baza unor algoritmi implementați hardware (microprogramați) sau software, generează controlul adecvat al sistemului de acționare.
externe
Bloc senzorial
Figura 3.2.
3.2. Generarea traiectoriilor pentru realizarea unei mișcări impuse
Un robot, indiferent de destinația sa, trebuie să execute o mișcare bine determinată în cadrul căreia elementul final (mâna) evoluează pe o curbă impusă într-un sistem de referință dat. Evident, că această mișcare trebuie corelată cu o unitate de timp, orice aplicație tehnologică la care este solicitat un robot fiind strâns condiționată de o variabilă temporală.
O curbă, definită în spațiul de operare al robotului, căreia i se asociază o variabilă de timp este numită în mod curent traiectorie.
Figura 3.3.
Precizarea traiectoriei de mișcare reprezintă un element esențial pentru asigurarea unor performanțe corespunzătoare. Aceasta înseamnă, de fapt, stabilirea unei legături biunivoce între fiecare punct de pe curba mișcării și momente de timp bine-precizate, deci practic cunoașterea în fiecare punct a vitezei și accelerației mișcării. Alegerea traiectoriei de mișcare depinde de o serie de factori dintre care se pot cita: tipul aplicației robotizate, restricțiile existente în spațiul de operare, caracteristicile mecanice ale robotului etc. În figura 3.3 sunt
23
prezentate două traiectorii între punctele inițiale P0 și finale Pf impuse. În primul caz, evoluția poate fi realizată pe orice traiectorie între cele două puncte, în al doilea caz, o zonă de restricții delimitează spațiul de operare admis. Determinarea traiectoriei mișcării, deci determinarea succesiunii în timp a pozițiilor, vitezelor și accelerațiilor pentru fiecare element al structurii mecanice constituie așa-numita „problemă directă de conducere”.
Figura 3.4.
În figura 3.4 este prezentată această problemă pentru un manipulator ipotetic cu două grade de libertate ce evoluează în planul yOz. Sunt precizate pozițiile unghiulare q1 , q2 în câteva puncte din traiectorie precum și distribuțiile vitezelor și accelerațiilor pe intervalul mișcări.
O a doua problemă ce derivă direct din problema directă se referă la determinarea valorilor forțelor și momentelor, pe fiecare articulație, astfel încât structura mecanică să realizeze traiectoria dorită. Acest calcul al forțelor și momentelor din coordonatele pozițiilor și vitezelor constituie ”problema inversă de conducere” și reprezintă o sarcină de bază a nivelului tactic în sistemul de conducere al roboților.
În contextul existenței unei structuri ierarhizate de conducere, implementarea unei traiectorii se poate realiza în două moduri: la nivelul inferior în care sistemul de comandă primește amănunțit datele privitoare la poziția, viteza și accelerația în orice moment și la nivel superior în care se utilizează un limbaj de nivel înalt, de programare, datele introduse reprezentând o descriere sumară a caracteristicilor traiectoriilor. Prima variantă numită și programare explicită presupune cunoașterea amănunțită de către operator (programator) a
întregului sistem robot – spațiu de operare, ceea ce nu este întotdeauna posibil. A doua variantă introduce facilități evidente în munca de programare dar presupune existența unor structuri de comandă de nivel înalt.
În unele cazuri, complexitatea operațiilor realizate face extrem de dificilă programarea explicită și cu totul nepractică programarea la nivel înalt. În aceste situații se preferă așa-numita „programare prin instruire”. Robotul execută mișcarea dorită sub controlul direct al operatorului (comanda manuală), își însușește, „învață”, parametrii mișcării și repetă, ulterior, această mișcare în cadrul execuției normale. Această tehnică este extrem de mult utilizată datorită, în primul rând, simplității procedurii și, în al doilea rând, datorită cerințelor reduse impuse echipamentului de conducere.
3.3. Conducerea în buclă închisă
Discuția de mai sus a pus în evidență problema programării unei traiectorii compatibile cu obiectivul propus ca o condiție necesară pentru executarea funcției impuse robotului.
Sistemul generator de traiectorie va furniza deci robotului succesiunea de variabile de poziție,
24
viteză și accelerație care asigură regimurile de mișcare corespunzătoare. Din nefericire, condițiile reale în care operează un robot fac ca generarea unei traiectorii corecte să nu reprezinte o condiție suficientă pentru asigurarea performanțelor dorite. Cauzele sunt multiple și ele rezidă în principal în: perturbațiile imprevizibile în mediul de operare, în imprecizia modelelor utilizate, limitări ale preciziei de calcul, efecte mecanice de vibrații și frecare etc. Toate aceste elemente pot perturba considerabil și pot determina o alterare substanțială a regimurilor de lucru. Formal, aceste dificultăți pot fi depășite prin utilizarea unei structuri de reglare a mișcării în buclă închisă (figura 3.5).
Bloc traductoare 1
2
n
Figura 3.5.
Informația de deplasare, primită de la un sistem de traductoare corespunzător, este comparată cu valorile prescrise impuse de generatorul de traiectorii, eroarea rezultată servind ca mărime de intrare într-un sistem de reglare ce asigură corectarea abaterilor de traiectorie și totodată regimuri tranzitorii și staționare corespunzătoare. Sistemul de reglare este unic pentru întregul sistem de conducere, ieșirile acestuia activând blocurile de acționare ale fiecărei articulații mecanice. O astfel de structură de comandă este denumită structură centralizată și ea impune existența unui calculator suficient de puternic pentru implementarea legilor de reglare la nivelul întregii structuri mecanice.
O soluție frecvent utilizată în majoritatea roboților industriali este conducerea descentralizată a mișcării (figura 3.6) în care legea de reglare este caracteristică fiecărei articulații, separată pe fiecare grad de libertate, influența celorlalte elemente din structura mecanică reprezentând efecte perturbatoare. Un astfel de sistem de conducere este, de cele mai multe ori, preferabil datorită simplității algoritmilor de reglare și, deci, implicit datorită necesităților relativ modeste de resurse hardware.
25
Structură mecanică
Acționare nArticulația n
Acționare 2 Articulația 2
Acționare 1
Articulația 1
1
2
n Bloc de traductoare
Figura 3.6.
3.4. Conducerea compliantă
O caracteristică deosebită a operării unui robot este mișcarea acestuia în contact nemijlocit cu suprafața obiectelor. O astfel de mișcare apare în operațiile de asamblare, într-o serie de operații de prelucrare tehnologică, sudură etc.
Într-o astfel de mișcare, controlul traiectoriei prin măsurarea pozițiilor este nepractic și, de cele mai multe ori, eronat datorită impreciziei în determinarea exactă a ecuațiilor suprafeței de contact. Din acest motiv, controlul traiectoriei este realizat prin măsurarea forței de apăsare pe suprafața obiectului.
Pentru exemplificare, să considerăm manipulatorul din figura 3.7a ce execută deplasarea unui obiect din punctul A în punctul B de-a lungul suprafeței S. Controlul se poate realiza prin definirea unei traiectorii paralele cu suprafața și utilizarea unor legi de mișcare corespunzătoare dar este evident că în cazul unor denivelări accidentale ale unei suprafeței mișcarea dorită nu mai poate fi realizată.
Figura 3.7.
În acest caz, se preferă introducerea, pe lângă bucla de control a mișcării, a unei bucle de reglare a forței de apăsare dintre robot și suprafața (figura 3.7b). Această buclă preia sarcinile de control pe baza informațiilor furnizate de un traductor de forță montat pe mâna robotului. Trebuie subliniat faptul că o astfel de structură de comandă presupune existența unui sistem de conducere de nivel superior capabil să impună trecerea de la o buclă de control la alta în conformitate cu specificațiile problemei de conducere.
26
3.5. Metode de conducere a roboților industriali
Metodele de conducere a roboților industriali se pot clasifica după următoarele criterii:
după modul de determinare a punctului țintă;
după modul de execuție a deplasării;
după coordonatele utilizate la conducerea propriu-zisă.
După modul de determinare a punctului țintă un robot poate fi condus între punctele țintă prin două metode: metoda de programare prin învățare și metoda de programare prin calcul.
Metoda de programare prin învățare (teach in) este o metodă de conducere răspândită. La această metodă un operator uman cu experiență execută un proces tehnologic având mâna legată de brațul robotului în timpul procesului. Astfel, brațul robotului se mișcă simultan cu mâna operatorului, în timp ce traductoarele de poziție, viteză și accelerație din cuplele cinematice conducătoare (c.c.c.) sunt în funcțiune. Periodic, la comandă manuală sau în mod automat, se înregistrează (se memorează) datele măsurate de traductoare în timpul desfășurării procesului. În acest mod punctele de pe traiectoria impusă de operatorul uman sunt învățate. După aceea, în regim automat robotul reproduce punctele învățate anterior. O metodă mai simplă (la fel de des utilizată) este acea în care prin intermediul unei cutii de instruire (teach in box) robotul este deplasat prin comenzi manuale, în punctele via și țintă de pe traiectorie și sunt memorate coordonatele c.c.c. sau carteziene ale acestor poziții. La memorare fiecărei poziții i se atribuie număr de ordine. La trecerea în regim automat robotul este mișcat în pozițiile învățate, dar succesiunea pozițiilor de pe traiectoria parcursă este indicată de programul de aplicație în care pozițiile sunt apelate doar prin numărul de ordine.
Metoda de programare prin calcul se utilizează când echipamentul de conducere este prevăzut cu un sistem de calcul pentru modelarea mediului de lucru, iar etapele procesului tehnologic se desfășoară în conformitate cu evenimentele produse în etapele anterioare ale procesului. În acest caz se vor calcula valori concrete pentru matricea de situare pentru fiecare etapă a procesului tehnologic.
După modul de execuție al deplasării există următoarele metode de conducere a
roboților industriali: comanda secvențială, comanda punct cu punct, comanda multipunct și comanda pe o traiectorie continuă.
Comanda secvențială permite realizarea mișcărilor relative ale elementelor cuplelor cinematice conducătoare în mod succesiv, la un moment dat existând mișcare doar într-o singură cuplă cinematică. De exemplu, în figura 3.8, în cazul unui robot TTT la care deplasarea punctului caracteristic între punctele 1 și 2 se realizează succesiv: întâi se realizează o translație paralelă cu OX.
Figura3.8.
27
Comanda secvențială prezintă avantajul unei conduceri simplificate, fiind controlată o singură axă la un moment dat. Dezavantajul constă în faptul că deplasarea până la punctul țintă durează foarte mult (în timpul deplasării unei cuple celelalte stau) deci rezultă o productivitate scăzută. De regulă comanda secvențială este utilizată la roboți simplii și la manipulatoare, iar punctele țintă sunt învățate.
La comanda punct cu punct (PTP- point to point) singura condiție impusă este ca traiectoria să nu fie una de coliziune. Ne interesează doar trecerea obligatorie a punctului caracteristic prin pozițiile 1 și 2 (figura 3.9).
Figura3.9.
Mișcările pe fiecare axă încep deodată și se termină deodată. Astfel, mișcarea având loc simultan după toate axele, se obține o creștere a productivității, dar traiectoria obținută este una oarecare, imprevizibilă, greu exprimabilă matematic și cu un aspect absolut oarecare pentru observatorul uman. Comanda punct cu punct de cele mai multe ori este corelată cu programarea prin învățare, când se execută odată procesul tehnologic pentru învățare și se memorează direct în coordonate c.c.c. punctele obligatorii (țintă și via). La redare se culege câte o funcție de conducere pentru fiecare coordonată a câte unei c.c.c. și se reproduce trecerea prin puncte iar traiectoria va fi una arbitrară. Metoda de comandă PTP este deseori folosită la sudarea caroseriilor de autoturisme.
Comanda multipunct (MTP) este asemănătoare metodei de conducere punct cu punct, dar în cazul MTP se memorează mult mai multe puncte decât cele două puncte 1 și 2 (figura
3.10).
Figura3.10.
De exemplu pentru cazul ales sunt date și punctele via (de la 11 la 15) prin care se impune trecerea obligatorie a punctului caracteristic (în drumul sau de la poziția 1 la poziția 2). Cel mai frecvent caz de aplicare a metodei de conducere multipunct este în cazul vopsirii prin pulverizare. La învățare, un vopsitor cu experiență are pistolul de vopsit în mână și de
28
mâna lui este legat efectorul final al robotului. Dacă brațul robotului este de construcție masivă se utilizează instalații de tipul master-slave în care master-ul este de construcție miniatură și se leagă nemijlocit de mâna vopsitorului, iar slave-ul este robotul propriu-zis care execută aceiași mișcare ca și master-ul. Cu o frecvență cuprinsă între 20÷200Hz se memorează punctele atinse la nivelul fiecărei c.c.c. Evident, la redarea automată robotul execută singur trecerea prin punctele învățate. În aczul utilizării metodei de comandă multipunct, numărul de puncte memorate fiind mare, este nevoie de un spațiu de memorare adecvat. Deseori se utilizează în acest scop metode de compresie dinamică a datelor care urmează a fi memorate.
Metoda de conducere pe traiectorie continuă (CP – Continous Path) se utilizează la acele operații tehnologice în care punctul caracteristic trebuie să urmeze o traiectorie anume în spațiul cartezian. De exemplu, sudura după rost, debavurarea, etc. În cadrul acestor operații se impune ca punctul caracteristic să urmeze riguros un anume drum. Este cel mai complex caz de conducere a unui robot industrial. De regulă, se încearcă exprimarea analitică a traiectoriei impuse și apoi această expresie se folosește în cadrul generatorului de traiectorie, pentru generarea punctelor pe traiectorie. În majoritatea cazurilor însă expresia analitică a traiectoriei impuse este complicată. În aceste cazuri se procedează la aproximarea traiectoriei impuse pe porțiuni cu segmente de curbe simple: drepte, arce de cerc, arce de parabolă, fracțiuni de sinusoidă. Se observă că se procedează la aproximarea traiectoriei, adică la un prim nivel de interpolare.
c) După tipul coordonatelor utilizate există metoda de conducere în coordonate c.c.c. (spațiul articulațiilor) respectiv, metodă de conducere în coordonate carteziene.
În cadrul metodei de conducere în coordonate c.c.c. mișcarea este urmărită în coordonate poziționale relative ale elementelor cuplelor cinematice conducătoare.
3.6. Generarea mișcării între două puncte în spațiul articulațiilor
În cazul utilizării funcțiilor de conducere polinomiale, pentru fiecare cuplă cinematică conducătoare (c.c.c.) se alege ca evoluția în timp să se desfășoare după o expresie de forma:
q( t ) a0 a1 t a2t 2 an 1t n 1 ant n (3.1)
Coeficienții a0 , a1 , a2 , ,an 1 ,an se determină la specificarea mișcării din condițiile
impuse adică trecerii prin pozițiile impuse: poziția de start, poziția țintă, pozițiile intermediare (puncte via). Cel mai frecvent în acest scop se utilizează polinoame de gradul 2, 3, 4, dar există și cazuri de utilizare de polinoame de gradul 1 și gradul 5.
Pentru exemplificare, se va prezenta în continuare conducerea între două puncte intermediare, bazată pe utilizarea unui polinom de gradul 3.
Astfel, se cunosc 2 puncte via pentru o cuplă cinematică conducătoare, mișcarea începe la momentul t 0 și se termină la momentul t f , 0<t<tf . În ambele puncte se cunosc și
vitezele de trecere. Trebuie să se determine coeficienții unei funcții polinomiale de gradul 3 care să asigure între cele două puncte date o conducere lină pentru cupla cinematică respectivă.
Se alege o funcție polinomială de forma:
29
Dacă unul sau ambele puncte intermediare (punctele via) luate în considerare mai sus sunt poziție de start respectiv poziție țintă, ar putea rezulta următoarele cazuri particulare:
unul poziție de start, celălalt poziție via;
unul poziție intermediară celălalt poziția țintă;
unul poziție de start, iar celălalt poziția țintă.
De exemplu, dacă se alege situația în care se dorește ca mișcarea să se realizeze cu
30
respectiv pentru viteză rezultă funcția
Deci viteza va fi constantă de-a lungul întregii traiectorii. Graficele de variație ale coordonatei articulare, vitezei și accelerației sunt redate în figura 3.12.
31
Figura3.12.
32
4. Modele geometrice cinematice
Sistemul mecanic al unui robot este format dintr-o configurație de corpuri rigide, elementele sistemului, legate între ele succesiv prin articulații de rotație sau translație. Pozițiile relative ale acestor elemente determină poziția pe ansamblu a brațului mecanic, această poziție reprezentând de fapt una din condițiile funcționale ale robotului.
Cele mai cunoscute versiuni de articulații mecanice întâlnite în sistemele robotice sunt reprezentate prin lanțuri cinematice deschise în care poziția viteza și accelerația unui element pot fi obținute recursiv din parametrii elementului precedent. În general, fiecare element conține un singur grad de libertate în raport cu elementul precedent astfel încât relațiile de transformare între elemente conțin un singur parametru variabil. Legarea în cascadă a tuturor transformărilor asociate fiecărui element permite determinarea parametrilor mișcării întregii configurații mecanice și, în general, a elementului final.
4.1. Sisteme de coordonate
Operațiile de manipulare specifice unui robot cer, în primul rând, o poziționare corespunzătoare a sistemului mecanic, deci atingerea unui punct din spațiul de lucru, și în al doilea rând impun o anumită orientare a elementului terminal. De exemplu, o operație de montaj prin filetare cere atât atingerea găurii cât și orientarea corectă a șurubului pentru realizarea asamblării. Se impune deci adoptarea unui sistem de coordonate corespunzător descrierii acestor cerințe.
Un punct A, într-un sistem de coordonate S1, poate fi reprezentat prin vectorul ce unește originea sistemului de coordonate și punctul respectiv,
unde i, j,k sunt versorii axelor X,Y,Z, respective. O altă modalitate de scriere este,
unde indicele superior 1 precizează sistemul de coordinate S1 (figura 4.1). z1 (s1)
A y1
Figura 4.1.
În afară de aceasta, direcția vectorului de poziție se poate exprima prin:
33
Dacă acum, originea sistemului de coordonate O1 se exprimă în raport cu un sistem S2 prin coordonatele
Relația (4.5) corespunde unei reprezentări între două sisteme afectate de operații de translație (axele sunt paralele, respectiv). Dacă sistemele de coordonate sunt supuse unor mișcări de rotație, poziția unui punct în diferite sisteme se poate obține printr-o transformare corespunzătoare. Considerăm,de exemplu, sistemul S2 obținut prin rotația cu unghiul θ în jurul axei Ζ a sistemului S1 (figura 4.2).
Poziția în noul sistem se obține prin multiplicarea coordonatelor inițiale cu o matrice de rotație.
z1≡z2
y2
θ y1
o
θ
x1
x2
În foarte multe situații este de preferat să se utilizeze o transformare globală care să comaseze atât efectul de translație cât și pe cel de rotație. O astfel de transformare se numește omogenă. Această transformare poate fi definită ca rezultatul concatenării a două matrice, de orientare (4×3) și de poziție, un vector (4×1).
De exemplu, translația specificată în figura 4.1 b corespunde transformării omogene definită prin
unde simbolul Trans este asociat funcției de translație. Calculul coordonatelor punctului A în sistemul S2 definit prin componentele (4.2) în sistemul S1 se obține imediat prin simpla aplicare a operatorului de translație asupra vectorului coordonatelor în S1
34
deci aceleași rezultate ca cele date în relația (4.5).
În mod similar, se pot defini operatori de rotație, corespunzători unei rotații cu unghiul θ, în jurul fiecărei axe de coordonate,
Aplicarea succesivă a acestor operatori permite calculul coordonatelor pentru orice modificare a sistemului de coordonate. De exemplu, un punct de coordonate (7,3,2) în sistemul S1 este supus succesiv următoarelor transformări: o rotație în jurul axei Ζ cu 90° (sistemul S2 ), o rotație în jurul axei Υ cu 90° (sistemul S3) și o translație cu vectorul (4,-3,7) (sistemul S4).
Deci, în noul sistem, coordonatele punctului vor fi date de
A4 Trans 4, 3,7 ,Rot y,90 ,Rot z,90 A1 sau
Trebuie subliniată necesitatea respectării ordinei operațiilor efectuate. Evident,
Pentru generalizarea procedurilor de lucru, se va nota prin T transformarea generală a sistemului de coordonate S1 în raport cu sistemul S. Astfel, funcția de poziționare a brațului unui robot se poate interpreta prin definirea corespunzătoare a operatorilor transformărilor.
Pentru exemplificare, în figura 4.3. este prezentat un robot ce execută o operație tehnologică (sudură, găurire, etc) asupra piesei P. Mișcările robotului sunt definite prin transformări corespunzătoare în raport cu un sistem de referință absolut S 0 . Elementele
brațului mecanic, prin articulațiile sale, permit determinarea unei transformări generale a sistemului de referință a elementului final (mâna) în raport cu baza S B , transformare
desemnată prinTMB , care la rândul ei este definită în raport cu sistemul de referință absolut S 0 prin transformarea TB0 .Deci, poziția absolută a mâinii este redată prin produsul
35
transformărilorTMB TB0 . Se va nota: TPM1 – transformarea implicată de operația tehnologică exercitată de mâna asupra piesei Ρ în punctul 1 și TPP10 , TP00 , transformările ce desemnează poziția punctului 1 față de referința piesei SP0 și față de sistemul de referință absolut, respectiv.
SM SP1
SB
TMB
TP1M SP0
S0
Figura 4.3.
În condițiile realizării unei funcții tehnologice corecte, coordonatele punctului prelucrat trebuie să satisfacă transformarea de-a lungul lanțului cinematic al robotului, deci
Deși formula stabilită dă pur formal condițiile funcționale ale robotului, ea sintetizează exact principalele cerințe ce se impun pentru acoperirea unei funcții tehnologice date de către o anumită configurație mecanică. Aceste deziderate pot fi rezumate în următoarele:
cu funcția tehnologică îndeplinită – transformarea TPM1 .
Pentru definirea corectă a ultimei condiții se introduce o matrice de orientare a mâinii TM definită prin relația (4.17)
unde a este un vector unitate în direcția apropierii mâinii de obiect (figura 4.4), o este un vector unitate de orientare al elementului iar n este definit prin
În matricea TM se poate identifica o submatrice de orientare TMO
36
și un vector de poziție
px TMP p y
p z
Matricea TMC este o matrice ortonormală iar elementele ei au o serie de proprietăți care
simplifică considerabil prelucrările matematice.
În plus, matricea de orientare TM admite o inversă de forma,
unde pn, po, pa desemnează produsele scalare ai vectorilor respective.
p
n
a
o
Figura 4.4.
4.2. Modele cinematice
După cum s-a văzut în paragraful precedent, prima condiție necesară funcționării robotului este determinarea transformării TMB ce asigură atingerea unui punct dorit. Dar TMB
definit de (4.16) este numai o reprezentare matematică formală. Ea trebuie corelată cu structura mecanică a robotului astfel încât să poată fi determinate toate transformările individuale, pe fiecare articulație controlată a brațului mecanic.
După cum s-a mai arătat, sistemul mecanic al robotului este realizat prin legarea succesivă a unor articulații (cuple) simple de rotație și translație, poziția fiecărui element putând fi definită în raport cu elementul precedent printr-o singură variabilă de rotație (unghi) sau de translație (deplasare). Dacă se notează cu Ai matricea transformării ce descrie
translația și rotația relativă între sistemul de coordonate al elementului i și al elementului i-1, atunci transformarea asociată mâinii robotului se poate scrie ca,
unde n reprezintă numărul de elemente al brațului.
Calculul matricei de transformare Ai pentru o articulație dată este riguros prezentat într-
un număr mare de lucrări de specialitate.
În cadrul acestui capitol se va utiliza metoda Denavit-Hartenberg datorită avantajelor deosebite privind atât simplitatea tratării cât și posibilitățile mari de generalizare pe care le oferă.
Convențiile impuse de această metodă sunt:
37
se aliniază axele Z ale tuturor sistemelor de referință ale articulațiilor în aceeași direcție cu cea a sistemului de bază.
axa Zi coincide cu axa de rotație a articulației i;
se rotește cu un unghiiîn jurul axei Zi 1
se translatează cu mărimea di , în lungul axei Zi 1
– se translatează cu mărimea ai în lungul axei X i 1
– se rotește cu un unghi i în sensul orar, în jurul axei X i , axa Zi spre Zi 1
În figura 4.5. sunt reprezentați parametrii Denavit-Hartenberg pentru o articulație de formă generală. În practică, configurația geometrică a unei articulații este reprezentată printr-o serie de parametri constanți, lungimea ai și unghiul i parametrii variabili fiind unghiul i la
o articulație de rotație sau lungimea di la o articulație de translație.
Utilizând formulele stabilite (44.8), (4.10) – (4.12) și substituind în (4.21) rezultă,
sau
38
5. Traductoare – senzori pentru măsurarea parametrilor interni
Un robot trebuie să execute un număr mare de mișcări în concordanță cu sarcinile tehnologice impuse în diverse condiții determinate de specificul mediului său de operare și să-și modifice corespunzător caracteristicile funcționale odată cu modificările survenite în factorii interni sau externi în spațiul de operare (de lucru). Deci, un sistem robotic trebuie să fie autoadaptiv, să posede capacitatea de a-și modifica legile de mișcare în concordanță cu modificările mediului. Realizarea acestui deziderat impune introducerea în orice sistem de conducere a roboților a unor dispozitive speciale, senzori, care să asigure informațiile primare privind caracteristicile și parametrii mediului de operare. Ansamblul acestor dispozitive și echipamente, ce oferă robotului o imagine a lumii externe în care evoluează și care permite acestuia să realizeze o comportare adaptivă față de orice modificări interne sau externe, formează sistemul senzorial al robotului.
Complexitatea oricărui echipament senzorial este direct legată de funcția tehnologică ce trebuie executată. De exemplu, pentru un robot destinat unor operații de vopsire, o mișcare corectă va fi realizată numai prin simpla măsurare a parametrilor traiectoriei cu senzori sau traductori de deplasare, în timp ce unui robot utilizat în operații de asamblare îi vor fi necesari, în plus, senzori tactili sau sisteme de vedere artificială.
Sistemul senzorial intern oferă informații ce reprezintă parametrii intrinseci ai robotului (deplasare, viteză, accelerație) iar sistemul senzorial extern definește caracteristicile obiectelor din spațiul de operare.
Orice funcție tehnologică impusă unui robot cere executarea unei mișcări după o traiectorie dată. Obținerea acestei traiectorii necesită, la rândul ei, cunoașterea în orice moment a poziției, vitezei și uneori a accelerației elementelor sistemului mecanic. Aceste date reprezintă informația căii de reacție a sistemului de conducere și asigură corectitudinea realizării traiectoriei programate.
Informațiile privind poziția, viteza și accelerația sunt obținute prin sisteme de măsurare specifice, denumite în mod curent sub denumirea de traductoare de poziție, viteză și respectiv accelerație. Deoarece aceste sisteme nu reprezintă o caracteristică proprie numai a roboților, astfel încât metodele de măsurare ca și dispozitivele respective sunt similare ca cele utilizate în comenzile numerice ale mașinilor unelte, în continuare ele vor fi denumite ca traductoare de măsură.
5.1. Traductoare utilizate pentru măsurarea poziției
Aceste traductoare convertesc o deplasare a elementelor mobile într-un semnal electric compatibil cu prelucrări numerice ulterioare. În cele ce urmează vor fi trecute în revistă principalele traductoare de deplasare utilizate precum și caracteristicile lor de bază.
a) Traductoare analogice. Măsurarea analogică a poziției este cel mai simplu sistem de măsurare. În figura 5.1 sunt reprezentate două sisteme, unul pentru deplasări liniare iar celălalt pentru deplasări unghiulare.
Conectarea cursorului potențiometrului la elementul mobil permite măsurarea unei tensiuni,
39
În general, măsurarea liniară rezistivă nu este indicată. Măsurarea unghiulară este utilizată datorită simplității soluției și prețului de cost foarte mic. Cu toate acestea, trebuie subliniat faptul că aceste sisteme dau erori mari iar precizia măsurării este scăzută.
Figura 5.1.
b) Traductoarele numerice. Traductoarele din această categorie convertesc mărimea măsurată, deplasarea, într-un număr N corespunzător numărului de cuante de deplasare echivalent cu distanța parcursă. După modul în care este redat acest număr N se disting două tipuri de traductoare: incrementale la care ultima poziție atinsă este obținută din poziția precedentă prin cumularea cu numărul de cuante corespunzătoare deplasării și absolute în care numărul de cuante este codificat într-un cod adecvat.
5.1.1. Traductoare incrementale liniare
Principiul de funcționare al acestor traductoare se bazează pe împărțirea domeniului de măsurare într-un număr de cuante elementare și contorizarea acestora simultan cu deplasarea elementului mobil. Elementul de bază la aceste sisteme este rigla de măsură (figura 5.2.). Construcția riglei de măsură depinde de principiul utilizat. Sunt folosite frecvent două sisteme: inductosinul liniar sau rigla optică.
Inductosinul liniar este de fapt transpunerea în plan a unui selsin multipolar la care rotorul este o riglă a cărei lungime trebuie să acopere domeniul de măsurare iar statorul este un cursor ce se deplasează deasupra riglei. Rigla are o singură înfășurare iar cursorul – două înfășurări, ambele realizate cu același pas dar decalate cu (2k+1)p/2.
u
p
Riglă
7 2p
Cursor
x u1 p u2
40
Figura 5.2.
Cele două înfășurări ale statorului sunt alimentate cu tensiuni de forma: u1 U sin t
u2 U cos t
la ieșire, pe înfășurarea riglei fiind obținută tensiunea
(5.3)
(5.4)
unde x este poziția relativă între riglă și cursor în cadrul unui pas. Deci, cota totală se calculează cu o relație de forma,
X Np2 x (5.5)
Măsurarea poziției va fi realizată în două etape, o contorizare a semipașilor p/2 urmată de o măsurare a fazei semnalului în cadrul unui pas. Considerând o realizare tehnologică cu pasul p al riglei de ordinul mm, măsurarea fazei determină obținerea unei precizii până la ordinul micronilor. Aceste sisteme de măsură au, de asemenea, avantajul unei deosebite robusteți tehnologice.
Măsurarea liniară cu rigle optice se bazează pe marcarea pașilor de măsură cu zone opace și transparente pe suport (riglă) corespunzător. Un sistem optic adecvat permite captarea unui semnal electric la fiecare pas parcurs de elementul mobil. Detecția primară este realizată de un sistem de fotocelule dispuse după o anumită lege în jurul unei axe de citire.
În figura 5.3 este prezentat un sistem cu patru fotocelule cu un decalaj egal cu p/4, una
în raport cu cealaltă. Se obține astfel o multiplicare a numărului impulsurile realizate la fiecare pas, deci o precizie de patru ori mai ridicată. Mai mult, ținând cont de ordinea de formare în timp a semnalelor a două fotocelule vecine se poate construi un circuit care identifică sensul de deplasare al elementului. În același timp, compararea semnalelor provenite de la fotocelule permite eliminarea zgomotelor parazite determinate fie de perturbații externe de natură electrică, fie datorate vibrațiilor mecanice ale sistemului. Deși în general creșterea numărului de fotocelule oferă avantaje privind în special precizia măsurării, aceasta determină în același timp, o mărire substanțială a complexității echipamentului optic astfel încât se preferă sisteme cu două sau patru fotocelule.
Figura 5.3.
Pentru interpretarea distanței măsurate, semnalele furnizate sunt contorizate cel mult într-un circuit ce constituie interfața pentru echipamentul de conducere numeric. Un astfel de sistem este prezentat în figura 5.4. Elementul principal este un numărător ce acumulează impulsurile, după o prelucrare prealabilă a acestora într-un amplificator de putere și un circuit formator.
41
CF
Figura 5.4.
Dat fiind caracterul logic al semnalelor furnizate acest traductor se interfațează ușor cu restul echipamentului de comandă al robotului. Valoarea măsurată este stocată într-o memorie tampon după care este captată într-un procesor numeric ce controlează întregul proces. Trebuie subliniată simplitatea sistemului de prelucrare numerică, caracteristică ce face ca întotdeauna măsurarea incrementală să fie preferabilă altor proceduri, în general mai precise dar mult mai complexe.
5.1.2. Traductoare incrementale unghiulare.
Elementul sensibil la aceste traductoare îl constituie un disc cuantificat, fiecare increment unghiular măsurabil determinând rezoluția sistemului. Ca și în cazul măsurării liniare și aici se utilizează două tipuri mai importante de sisteme: cu inductosin și cu disc optic (TIRO- traductor incremental rotativ optic).
Discul optic este un disc de sticlă pe care se imprimă cu același pas unghiular zone opace (figura 5.5). Captarea semnalelor se obține cu un număr de senzori fotoelectrici dispuși convenabil. Cea mai utilizată procedură de măsurare conține doi senzori decalați cu
2k 1 2 pentru generarea impulsurilor de numărare și asigurarea protecției la citire și un
senzor ce emite un singur semnal, la fiecare rotație a discului, utilizat pentru inițializarea ciclului de numărare. Circuitul de prelucrare numeric are aceeași structură ca și cel utilizat la măsurarea liniară (figura 5.4), fotocelula F3 servind în plus la contorizarea ciclurilor de
rotație complete.
F1
F3
F2
t
t
a b
Figura 5.5.
Din punct de vedere funcțional discul optic este amplasat pe axul care transmite mișcarea pentru articulația respectivă (figura 5.6). Evident traductoarele incrementale unghiulare permit determinarea în mod indirect și a unor deplasări liniare.
42
Figura 5.6.
Totuși, din punct de vedere aplicativ, principiul expus poate întâmpina dificultăți:
din cele prezentate rezultă numai mărimea deplasării unghiulare nu și sensul deplasării;
dimensiunile finite ale fotodiodei o fac incompatibilă cu dimensiunile extrem de fine ale incremenților de pe discul incremental (divizor).
Pentru a indica și sensul deplasării citirea informației se va face cu 4 fotodiode amplasate în spatele unui vernier (figura 5.6). Vernierul are o construcție similară discului incremental, pasul este p+p/4, iar sectorul luminos este p/2.
Dacă se vor nota cu u1, u2, u3, u4, cele 4 tensiuni cvasisinusoidale generate de cele patru fotodiode și prin ua= u1-u3, respectiv u b= u2-u4, atunci se poate arăta că cele două tensiuni ua și ub, sunt defazate cu 900 (π/2) între ele și cu sensul defazajului depinzând de sensul deplasării. În ceea ce privește dimensiunea fotodiodelor, dificultatea se depășește prin aceea că cele 4 diode sunt amplasate în 4 ferestre decalate între ele cu n*p+p/4, fiecare fereastră fiind realizată conform principiului utilizat și la vernier.
De regulă tensiunile cvasisinusoidale ua și u b, sunt convertite în impulsuri cu nivele logice uzuale de circuite ca cele prezentate în figura 5.4, după care sunt preluate în continuare de circuite de prelucrare a semnalelor. Modul de utilizare al acestor semnale în vederea extragerea informațiilor dorite este prezentat în subcap.5.2
În unele sisteme de măsurare, discul optic este înlocuit cu discuri cu contact. Pe un astfel de disc este dispusă o coroană circulară împărțită în zone conductoare și izolate. Zonele conductoare sunt legate electric printr-o perie fixă la un inel colector care servește ca punct de alimentare electrică. O perie colectoare explorează coroana circulară la fiecare rotație a discului, la trecerea peste zonele conductoare obținându-se semnale electrice. Cu toate că implică o tehnologie relativ simplă, sistemul este puțin utilizat datorită uzurii produse în timp, la zonele de contact, de periile aflate în mișcare.
5.1.3. Traductoare absolute liniare
Traductoarele din această categorie sunt construite pe sistem optic și au ca element de bază o riglă de măsurare a cărei valori cuantificate sunt exprimate într-un cod absolut. Codificarea se face în cod binar natural, binar codificat zecimal sau Gray. Primele două coduri sunt familiare utilizatorilor și oferă facilități în prelucrarea numerică a mărimilor măsurate în schimb pot determina apariția unor erori la trecerea de pe o poziție pe alta datorită schimbării simultane a mai multor ranguri binare. Codul Gray elimină acest neajuns dar implică circuite numerice specializate pentru calculele ulterioare.
43
5.1.4. Traductoare absolute unghiulare
Aceste traductoare sunt realizate după același principiu ca și traductoarele liniare, numărul de cuante unghiulare corespunzătoare unei anumite poziții, unghi, fiind codificat după unul din codurile precizate anterior.
În figura 5.7 sunt prezentate două discuri, unul codificat natural, iar celălalt în cod Gray. Fiecare pistă circulară este citită de câte o fotocelulă după aceleași proceduri ca și în traductoarele liniare. Trebuie subliniat faptul că întrucât ponderea articulațiilor de rotație este mai mare decât al celor de translație în roboții industriali, aceste sisteme de măsurare au o
foarte largă utilizare. Numărul de piste oferă rezoluția traductorului.
Figura 5.7.
44
5.2. Metode de măsurare a poziției
Pentru a exemplifica modalitatea de extragere a informațiilor din semnalele ua și ub, obținute cu traductoarele incrementale de deplasare unghiulare (TID), în figura 5.8 sunt prezentate formele de variație în timp a semnalelor caracteristice pentru deplasarea în sens direct (figura 5.8a) respectiv sens invers (figura 5.8b). Semnalele uia și uib (impulsuri rectangulare de scurtă durată) sunt obținute prin detecția fronturilor de ridicare ale semnalelor ua și ub.
Semnalele xSD și xSI servesc deci atât pentru indicarea sensului de deplasare (figura 5.10) cât și pentru contorizarea impulsurilor incrementale, în vederea determinării poziției absolute pe o axă (figura 5.9).
Figura 5.9.
45
xSD ua uib ub uia xSI ua uib ub uia
Figura 5.11.
Se poate observa, de asemenea, că rezoluția poate fi crescută încă de 2 ori generând și prelucrând și impulsurile corespunzătoare fronturilor de coborâre ale semnalelor ua și ub.
Transformarea unui traductor incremental de deplasare într-un traductor absolut de poziție este posibilă prin efectuarea următoarelor operații:
stabilirea poziției inițiale a axei;
decodificarea sensului de rotație;
contorizarea impulsurilor xSD, și xSI, cu ajutorul unui numărător reversibil.
Rezoluția măsurării poziției depinde de cursa maximă a axei, xM și numărul de biți pe care se face măsurarea. De exemplu, dacă cursa pe o axă este de 1000 mm și măsurarea poziției se efectuează pe 16 biți, rezultă rezoluția
r 1000 0.0152mm .
216
În general poziția se măsoară pe 16 biți, uneori când precizia de prelucrare este de ordinul μm măsurarea se poate extinde pe 32 de biți.
Realizarea practică a contorizării poziției este dependentă de frecvența maximă de repetiție a impulsurilor obținute de traductorul incremental de deplasare. Evident, frecvența maximă depinde de viteza de deplasare a axei, în aceiași măsură depinzând de numărul de impulsuri furnizate de traductor la o rotație completă. În funcție de aplicația concretă, frecvența maximă a impulsurilor generate de traductor poate avea valori mici (de ordinul n•kHz), sau relativ mari (100÷200•kHz).
La valori mici ale frecvenței impulsurilor furnizate de traductor, unde nu apar constrângeri de timp numărătorul reversibil se poate implementa cu ajutorul unui microcontroler (μC), realizându-se măsurarea poziției absolute actuale prin metoda soft. La frecvențe mari realizarea cu microcontroler a numărătorului reversibil nu este posibilă datorită faptului că timpul necesar subrutinelor care intervin în operația de numărare devine tot mai mare și astfel microcontrolerul nu mai are timp suficient pentru a realiza calculele necesare pentru reglarea propriu-zisă. În aceste situații este nevoie de utilizarea unor numărătoare externe, al cărui conținut este transferat periodic microcontrolerului, realizându-se măsurarea poziției absolute actuale prin metoda hard.
Reglarea în buclă închisă presupune ca la intervale constante (perioadă de eșantionare) să se efectueze ciclic următoarele operații: măsurarea poziției (vitezei, accelerației), calcule pentru obținerea mărimii de comandă necesară reglării și comanda propriu-zisă (figura 5.12).
Figura 5.12.
46
Este de dorit ca fiecare dintre aceste operații să se efectueze într-un interval de timp cât mai scurt. Dar dacă, spre exemplu, intervalul de timp necesar măsurării este mai mare, acesta poate conduce la situația în care să nu mai fie timp suficient pentru elaborarea mărimii de comandă și efectuarea comenzii între cele două momente de eșantionare, KTe și (K+1)Te.
5.2.1. Circuitul de detecție a poziției inițiale
Detecția poziției inițiale se poate efectua cu ajutorul unui microîntrerupător μI, sau cu senzor inductiv de poziție. În cazul microîntrerupătorului, prin deplasarea unei came lipite de axul care se deplasează se închide sau se deschide un contact electric (figura 5.13). Pentru creșterea preciziei de detectare a poziției inițiale pe o axă, de fapt se utilizează concomitent semnalul uμI, care provine de la microîntrerupător și semnalul utură, care indică efectuarea unei rotații complete.
Figura 5.13.
În figura 5.14 se prezintă o schemă de principiu pentru detecția impulsul care indică poziția inițială pe o axă uI. În vederea obținerii unor impulsuri adecvate porțile utilizate sunt de tipul trigger Schmitt. Capacitățile de filtrare Cf servesc pentru creșterea marginii de zgomot.
Figura 5.14.
Senzorul inductiv de poziție are în principiu o construcție similară cu cel al microîntrerupătorului. În loc de camă se utilizează cu un mic magnet permanent lipit pe axă și o sondă Hall împreună cu un oscilator cu o frecvență de ordinul n•100kHz.
6.2.2. Motor pas cu pas
Motoarele pas cu pas sunt sisteme sincrone care realizează o corelație directă între mărimea comandată și poziția obținută. Aceste motoare asigură conversia directă a semnalului de intrare, dat sub formă numerică, într-o mișcare de poziționare unghiulară prin cumulări incrementale. Această proprietate determină o utilizare largă a motoarelor pas cu pas în toate sistemele de poziționare în bucla deschisă. Conversia intrinsecă a comenzii în poziție asigură scheme de control simple, eficiente atât sub aspect tehnic, cât și economic. Pe lângă aceste avantaje, trebuiesc subliniate și câteva dezavantaje printre care se menționează: accelerații și decelerații discontinue, variația cuplului cu poziția rotorului, puteri mici, randament scăzut, etc. Principiul de funcționare al unui motor pas cu pas este prezentat în figura 6.10.
1
I
N 2
4 S
3
I
Figura 6.10.
63
Statorul cuprinde patru poli iar rotorul este realizat dintr-un magnet bipolar. Dacă se alimentează înfășurările 1-3, atunci rotorul se va deplasa într-o poziție în care fluxul magnetic prin aceste înfășurări este maxim, deci el se va alinia pa axa înfășurărilor 1 – 3. Dacă se alimentează înfășurările 2 – 4 atunci rotorul se va roti cu 90 , sensul de rotație depinzând de polaritatea aplicată, până se va alinia cu noua înfășurare. O combinație de semnale aplicate va determina poziții intermediare corespunzătoare. In absența oricărui semnal de alimentare a înfășurărilor, rotorul va ocupa o poziție bine determinată aliniindu-se cu unii din polii statorului , fără a conta polaritatea .
În acest tip de motor, cuplul dezvoltat va depinde evident de poziția rotorului și în orice caz valorile de cuplu obținute sunt relativ mici.
O soluție tehnologică superioară este oferită de motoarele pas cu pas cu reluctanță variabilă. Constructiv, aceste motoare sunt cu rotor pasiv, având și crestături uniform repartizate pe suprafața rotorului. Prin alimentarea unei faze statorice, rotorul se va roti astfel încât circuitul magnetic să prezinte reluctanța magnetică minimă producând alinierea dinților statorici și rotorici. Comutând alimentarea pe faza următoare se obține o deplasare a rotorului pentru o nouă realiniere a dinților acestora, determinând apariția unui cuplu.
După soluțiile constructive utilizate aceste motoare se împart în: motoare cu structură monostatorică (o singura unitate stator-rotor) și motoare cu structura polistatorică.
Prima configurație, monostatorică , reprezintă o soluție mai avantajoasă, datorită simplității construcției. Aceste motoare pot fi realizate în două variante, cu număr de dinți egal pe stator și rotor și cu număr de dinți în rotor mai mare decât în stator (figura 6.11).
a b
Figura 6.11.
În figura 6.11a este prezentat un motor pas cu pas cu 8 dinți pe stator și 6 dinți pe rotor, funcționând în 4 faze cu pas de 15 . Înfășurările unei faze sunt dispuse pe 2 poli statorici diametral puși. La alimentarea unei faze, dinții rotorici se așează în fața dinților statorici pe care este conectată faza comandată . La alimentarea fazei următoare, rotorul se va roti cu 15 . Pentru obținerea unui pas de rotație mai mic se mărește numărul de dinți statorici și rotorici. În figura 6.11b este reprezentat un astfel de motor cu 6 poli aparenți statorici.
Motoarele pas cu pas polistatorice sunt realizate sub forma unor multistructuri statoric-rotorice, fixate mecanic în aceeași carcasă dar independente din punct de vedere electric și magnetic. Statorul și rotorul au același număr de dinți. Subsistemele rotorice sunt montate pe același ax, dar sunt separate din punct de vedere magnetic. Pentru a realiza rotația este necesar decalarea subsistemelor rotorice sau statorice, radial unele fața de altele. În figura 6.12 este prezentat un motor cu trei faze, cu statorul aliniat și un decalaj de o treime din pasul dentar realizat prin cele trei subsisteme rotorice.
64
a b
Figura 6.12.
Indiferent de principiul de funcționare al motorului, comanda acestuia se realizează prin comutarea succesivă a fazelor înfășurărilor. În figura 6.13 se pot urmării diagramele tensiunilor de alimentare în câteva variante funcționale aplicate unui motor cu patru faze.
a b
Figura 6.13.
În figura 6.13a este reprezentată așa numita comandă simetrică simplă în care alimentarea fazelor este comutată succesiv pe fiecare înfășurare, semnalele de comandă fiind disjuncte. În figura 6.13b sunt alimentate în permanență două înfășurări, sensul de rotație al motorului fiind determinat de ordinea de conectare și deconectare a acestora (comanda simetrică dublă). Această metoda este îmbunătățită în figura 6.13c în sensul că intervalul de timp asociat unei înfășurări este defalcat în trei zone. Prima și ultima corespund alimentării simultane cu faza precedentă și respectiv succesoare iar în a doua este asigurată numai alimentarea fazei proprii.
Comutarea semnalelor pe înfășurări este realizată cu scheme de comanda specifică. Aceste scheme trebuie să conțină, pe de o parte, logică de comutare a fazelor, iar pe de alta parte dispozitive electronice de putere cuplate direct pe înfășurările motorului. În figura 6.14 se pot urmări principalele elemente ce intră în componența acestor scheme.
65
Figura 6.14.
Circuitul distribuitor este format dintr-un numărător în inel, cu numărul stărilor egal cu numărul fazelor motorului, urmat de o logică de decodificare ce permite activarea unei singure ieșiri într-o stare a numărătorului.
Sistemul senzorial al robotului
Caracteristici generale
Prin sistemul senzorial al unui robot se înțelege ansamblul tuturor senzorilor amplasați pe structura mecanică și ale căror semnale fuzionate servesc controlului adaptiv al robotului (conducerii adaptive a robotului).
Senzorul reprezintă un dispozitiv care convertește o mărime fizică într-o mărime electrică (semnal electric). Conversia mărimii fizice cu ajutorul senzorilor se face nu din rațiuni energetice ci cu scopul obținerii de informații despre mărimea aplicată la intrare reprezentată sub formă electrică. Din punct de vedere constructiv acești senzori au la bază componentele sistemelor de achiziții și distribuții a datelor. În figura 7.1 este prezentată structura de principiu a unui sistem de achiziții de date pentru utilizări generale. Arhitectura sistemului este organizată pe două niveluri: unul pentru achiziția iar celălalt pentru distribuția datelor. Semnalele ce urmează a fi achiziționate sunt furnizate de mai mulți senzori (S1, S2, S3) (elemente sensibile), care interacționează cu procesul deservit. Aceste semnale sunt mai întâi condiționate și apoi convertite sub formă numerică. Condiționarea presupune operații ca amplificare, filtrare, modificarea nivelului componentei continue, etc., astfel încât semnalul condiționat să corespundă domeniului de intrare al convertorului analog numeric (A/N). Aceste operații se presupun a fi efectuate în blocul denumit generic amplificator instrumental. Conversia A/N presupune mai întâi eșantionarea semnalului (discretizarea lui în timp) urmată de conversia A/N propriu-zisă (discretizare în valoare). Aceste operații sunt efectuate de circuitele incluse în blocul Convertor A/N.
S1
S2
S3
A1
A2
A3
paralel
Distribuție de date
Ieșiri digitale
Figura 7.1.
Filtrul antialias (antialiere) care precede convertorul A/N are un comportament de filtru trece-jos. El are rolul de a limita spectrul semnalului aplicat la intrarea convertorului A/N, astfel încât pentru frecvența cu care are loc eșantionarea să fie satisfăcută teorema eșantionării. În acest fel, erorile de aliere rezultate ca urmare a unei frecvențe de eșantionare insuficiente, sunt diminuate.
Nivelul inferior din arhitectura prezentată în figura 1.2 are în principal rolul de a furniza la ieșire semnalele necesare pentru comanda actuatorilor (A1, A2, A3), pornind de la informații numerice furnizate de blocul procesor. Se utilizează în acest scop un bloc convertor
71
numeric analogic (N/A), urmat de un filtru de reconstituire și circuite de condiționare (blocul amplificator ieșire). O serie de intrări/ieșiri digitale completează funcționalitatea sistemului.
Se menționează, în fine, funcțiile multiple asigurate de blocul procesor (implementat de regulă sub forma unui sistem cu microcontroler sau uneori procesor numeric de semnal):
guvernează funcționarea întregului sistem, având rol de dispozitiv de comandă sau circuit de control a achiziției;
realizează o preprocesare locală a datelor achiziționate;
asigură interfațarea cu calculatorul (procesorul) central de pe nivelul ierarhic superior.
În domeniul roboticii tendințele actuale privesc transmisia la distanță a informației senzoriale sub reprezentare numerică utilizând în acest scop aproape exclusiv transmisia serială a informației senzoriale deoarece necesită mai puține conductoare de legătură și este posibilă izolarea galvanică a senzorilor de unitatea centrală de comandă. Standardele utilizate în robotică pentru transmisia serială sunt: RS 232, RS 485 (1km, 100kb), CAN (10km, 1Mb, I2C (pentru distanțe mici). Tendința de transmitere serială a informației senzoriale este încurajată și de posibilitatea preprocesării numerice a informației achiziționate, astfel încât spre unitatea centrală de comandă să fie transmisă numai informația relevantă. Această tendință este în plină desfășurare. De asemenea, se dorește realizarea pe cale integrată a traductorului cu includerea pe același chip a circuitelor de condiționare, etc. Sunt ilustrative din acest punct de vedere dispozitivele videocaptoare integrate (CCD) precum și matricele tactile în cazul senzorilor tactili. Această tendință este încurajată de progresele obținute în domeniul micromecanicii siliciului ce constă în fabricarea elementelor (componentelor) mecanice utilizând tehnologiile specifice de realizare a circuitelor integrate.
Obiectivul general urmărit prin dezvoltarea sistemului senzorial al robotului este modelarea mediului de lucru, aspect deosebit de important la interacțiunea dintre robot și mediu.
Informațiile de la sistemul senzorial al robotului se obțin prin:
monitorizare (polling), adică prin urmărirea stărilor senzorilor prin bucle de program rulate în permanență într-un mod invizibil pentru programul principal Sunt incluse instrucțiuni specifice de acțiune în funcție de o anumită stare sau valoare al unei mărimi furnizate de un senzor. În funcție de rezultatul prelucrat din informația furnizată de senzori programul principal îndeplinește acțiuni de tipul “dacă … atunci”,
“altfel”;
metoda întreruperilor care oferă pentru programul principal posibilitatea unei utilizări
mult mai eficiente a resurselor de calcul.
După criteriul naturii informațiilor furnizate senzorii (traductoarele externe) utilizați în robotică pot fi:
senzori vizuali; Roboții evoluați, inteligenți, sunt obligatoriu dotați cu sistem de vedere artificială. De regulă sistemul de vedere este realizat cu un echipament de sine stătător analiză și prelucrare a imaginii, care desigur se află în dialog direct cu sistemul de conducere central (vezi curs PAI; VA, RF, BTV, etc.).
senzori de gabarit;
senzori de proximitate;
senzori tactili;
senzori forță moment;
senzori de rost, etc.
În general, indiferent de tipul lor, senzorii utilizați în robotică trebuie să aibă următoarele caracteristici pentru utilizarea industrială:
– liniaritate caracteristicii de transfer suficient de bună;
72
histerezis redus pentru caracteristica de transfer;
să fie robust, compact și fiabil;
să fie ușor de integrat din punct de vedere constructiv în structura robotului;
preț de cost redus.
7.2. Senzori de gabarit
Senzorii de gabarit oferă informații cu privire la ordinul de mărime al obiectelor din mediu și în funcție de acestea se vor putea lua decizii cu privire la modalitățile de apucare și la evitarea coliziunilor.
a) Determinarea gabaritelor prin triangulație (figura 7.2).
Funcționare acestui senzor se bazează pe utilizarea unei raze înguste de lumină care este baleiată în planul determinat de linia obiectului-detector precum și de linia detector-sursă. Detectorul fiind focalizat pe o mică porțiune a obiectului, în momentul în care este detectată o rază de lumină se măsoară unghiul cu un sistem de măsurare a unghiului legat de sursa de lumină și se calculează distanța D cu relația:
Dacă atât sursa de lumină cât și detectorul sunt deplasate și în planul vertical pe linia bazei se poate realiza a scanare tridimensională a obiectului.
Figura 7.2.
b) Utilizarea luminii structurate, (figura 7.3), are la bază o pânză de lumină subțire obținută cu o lentilă cilindrică sau cu o fantă foarte subțire.
Figura 7.3.
73
Intersecțiile pânzei de lumină cu obiectele din mediu sunt urmărite cu o cameră video aflată la distanța B de sursa de lumină și sunt analizate cu ajutorul unor procesoare. Astfel, dacă rezultă o line frântă a intersecției, acesta va avea semnificația schimbării a planului la suprafețele obiectelor. Pe de altă parte, o întrerupere pe linia de intersecție indică un spațiu liber între obiecte. Camera video se poate baleia într-un plan orizontal și astfel se pot obține diferite distanțe. Procedeul este destul de greoi, necesită o mare putere de calcul, imaginile fiind dificil de prelucrat, mai mult decât atât, există posibilitatea de a rezulta chiar și erori grosolane.
c) Calculul gabaritelor prin măsurarea deplasării de fază a unei unde Laser (figura 7.4). Acest procedeu reprezintă unul dintre cele mai moderne sisteme pentru măsurarea distanțelor și determinarea gabaritelor. În acest scop se folosește o rază Laser și se măsoară defazajul dintre unda directă și cea reflectată.
Figura 7.4.
După cum se observă din figura 7.4, raza Laser este distribuită în două: una, numită rază de referință, va parcurge distanța L până la fazmetru; cea de a doua rază parcurge în plus și distanța D dus și întors. Între cele două raze datorită diferenței de drum parcurs apare o diferență de fază , care se măsoară cu fazmetrul. Relația de calcul pentru distanța parcursă de raza reflectată este:
74
Având în vedere că în cazul utilizării unui Laser He-Ne lungimea de undă este =632,8 nm, metoda prezentată mai sus apare din punct de vedere practic ca fiind inutilizabilă pentru măsurarea gabaritelor reale ale obiectelor. De aceea, în măsurarea propriu-zisă a distanțelor și gabaritelor nu se utilizează o rază Laser pură, ci se procedează la modularea în amplitudine a razei Laser cu o undă de frecvență de ordinul a 10 MHz (pentru care =30 m). În acest caz fazmetrul determină defazajul produs pentru unda modulatoare și deci se pot măsura distanțe și gabarite până la limita de 15 m.
7.3. Senzorii de proximitate
Senzorii de proximitate furnizează informații cu privire la pozițiile relative ale obiectelor, pentru a putea verifica dacă o poziție este corectă sau nu, dacă o operație a fost executată corect sau nu, pentru a evita coliziunile cu obiectele mediului.
a) Senzori inductivi
Senzorul inductiv conține un magnet permanent și un miez pe care se găsește un conductor bobinat (figura 7.5). În absența din apropiere a corpurilor metalice (feromagnetice) liniile de câmp ale magnetului permanent nu se vor închide prin miezul înconjurat de bobină, ci prin aer (figura 7.5b). La apropierea de un corp feromagnetic liniile de câmp suferă o deviere și se vor închide prin miezul înconjurat de bobină (figura 7.5c). În consecință, în bobină se induce o tensiune electromotoare (un puls de tensiune indusă). Amplitudinea pulsului de tensiune indusă depinde de viteza de apropierea corpului metalic de senzor (figura 7.6).
Figura 7.5.
Figura 7.6.
75
b) Senzori cu efect Hall
Efectul Hall se bazează pe forța Lorentz:
Astfel, dacă într-un câmp magnetic de inducție B, intră cu viteza v o particulă încărcată cu sarcina q, asupra particulei ia naștere o forță perpendiculară pe plan determinată de v și B, cu sensul dat de regula burghiului sau invers funcție de sarcina q. Datorită acestei forțe particula va fi deviată.
Se consideră un semiconductor de tip n prin care circulă un curent de intensitate I , amplasat într-un câmp magnetic de inducție B (figura 7.7).
Figura 7.7.
Asupra electronilor e, ia naștere forța Lorentz, în consecință vor fi deviați. Fața superioară se va încărca cu polaritate pozitivă, +, având electroni mai puțini iar fața inferioară se va încărca cu polaritate negativă, –, adică acumulează electroni în exces. În consecință între cele două fețe apare o diferență de potențial u, care depinde de B:
unde n0 reprezintă concentrația de purtători.
Se consideră un magnet în formă de potcoavă care produce un câmp magnetic de inducție B. Senzorul Hall amplasat în interiorul acestui magnet (figura 7.8). În absența corpurilor metalice din apropierea senzorului practic toate liniile de câmp magnetic se închid prin sonda Hall și rezultă o diferență de potențial u, de valoare mare între suprafețele sondei
(figura 7.8a). La apropierea de un corp feromagnetic o parte din liniile de câmp se închid prin corpul metalic, de aceea scade mărimea inducției B prin sondă și astfel scade și diferența de potențial dintre suprafețe (figura 7.8b).
Figura 7.8.
76
b) Senzori capacitivi
Senzorii inductivi și senzorii Hall detectează numai corpuri metalice (materiale feromagnetice).Senzorii capacitivi pot detecta pot detecta principial orice materii solide și lichide. Traductorul propriu-zis este format dintr-un disc metalic (electrod sensibil) și un inel metalic (electrod de referință) între care există un dielectric (figura 7.9). În spatele acestora se află un spațiu cu aer uscat. La apropierea de o suprafață din orice material se modifică capacitatea traductorului datorită modificării naturii dielectricului echivalent. Variația de capacitate este pusă în evidență prin includerea acestei capacități într-un circuit oscilant, amplasat în imediata apropiere a elementului sensibil, chiar în carcasa senzorului. Astfel, modificarea capacității conduce la modificarea frecvenței oscilatorului, ceea ce este mult mai ușor de măsurat. Variația relativă a capacității traductorului depinde de distanța de la obiect și de materialul din care este realizat.
Figura 7.9.
c) Senzori ultrasonici
Senzorii ultrasonici reprezintă varianta cea mai utilizată de senzori de proximitate alături de senzorii în infraroșu. Avantajul major al senzorilor ultrasonici este că pot sesiza obiecte din orice material, permițând ca prin procesare adecvată să se determine distanțele până la obiectele detectate.
Elementul esențial al senzorului ultrasonic este un traductor ceramic (piezoelectric)
(figura 7.10). Traductorul ceramic este introdus într-o rășină pentru protecția contra umidității, prafului și a altor factori de mediu. Același traductor este folosit atât pentru emisie cât și pentru recepție de aceea el trebuie să aibă un factor de amortizare a energiei acustice de valoare ridicată. Creșterea factorului de amortizare este accentuată și prin utilizarea unor absorbanți acustici care asigură izolarea traductorului de carcasă. Totodată carcasa este de construcție specială pentru a asigura obținerea unei unde acustice înguste.
Figura. 7.10.
Distanța dintre senzorul ultrasonic față de un obiect este pusă în evidență prin modificarea intervalului de timp de întârziere dintre semnalul emis și ecoul recepționat. Astfel, dacă ecoul sosește mai repede obiectul este mai aproape, iar dacă ecoul sosește mai târziu obiectul este mai îndepărtat.
77
7.4. Senzori tactili
Senzorii tactili sunt dispozitive care transformă acțiunea fizică de contact în semnale electrice ce conțin informații privind: existența și poziția obiectului în dispozitivul de prehensiune, forma obiectului apucat, precum și mărimea forței de strângere. Unii senzori tactili pun în evidență tendința de alunecare a obiectului. Aceste informații reprezintă numai o mică parte din informația senzorială antropomorfă care include date referitoare și la alte proprietăți cum ar fi temperatura și rugozitatea.
a) Senzor primar
Senzorul primar, figura 7.11, reprezintă cea mai simplă soluție care utilizează un microîntrerupător în interiorul degetelor, permițând sesizarea dacă un obiect este apucat sau nu între degete. Există posibilitatea utilizării unor microîntrerupătoare și pe partea exterioară a degetelor ceea ce conferă posibilitatea ghidării mâinii în spațiul de lucru.
Figura 7.11.
b) Senzor analogic
Un senzor tactil analogic este un dispozitiv cu complianță (admite pliere) a cărui mărime de ieșire este proporțională cu o forță dezvoltată local (figura 7.12).
Sonda constă dintr-o tijă metalică în interiorul căreia se găsește un arc pentru care se cunoaște constanta de elasticitate. Tija este prevăzută cu o cremalieră cuplată cu o roată dințată. Sub acțiunea unei forțe laterale tija se deplasează și această deplasare liniară este tradusă într-o deplasare unghiulară a roții dințate, care poate fi urmărită fie analogic cu un potențiometru fie numeric cu ajutorul unui traductor incremental. Cunoscând deplasarea x și constanta de elasticitate a arcului k, se poate calcula forța F:
Figura 7.12.
c) Senzor de alunecare
Senzorul de alunecare utilizează o sferă cu mici gropițe pe suprafața ei, aflată în contact nemijlocit cu un obiect ce poate aluneca (figura 7.13).
78
Sfera pune în mișcare o tijă prinsă după direcția axului central al unui disc conductor. Discul conductor este conectat este conectat la o bornă a unei surse de alimentare. În împrejurul discului la distanțe egale sunt amplasate contacte electrice. În funcție de direcția de alunecare a obiectului se va realiza un contact cu unul sau altul dintre acestea. În funcție de viteza de alunecare a obiectului contactul de pe direcția respectivă de alunecare este închis și întrerupt într-un anumit ritm, rezultând impulsuri cu frecvența proporțională cu viteza de alunecare.
Figura 7.13.
d) Pielea artificială
Față de senzorii tactili elementari prezentați mai sus, senzorii tactili evoluați sunt realizați după modelul uman, ei având element specific două matrice cu elemente sensibile amplasate pe degetele robotului. În acest sens, acești senzori deseori sunt denumite generic ca
„piele artificială”. Rezoluția acestor matrice (numărul de taxeli) este considerabil redus față de om.
S-a constatat prin experimente practice că rezoluția și posibilitatea sesizării alunecării impune respectarea următoarelor valori în cazul în care acești senzori sunt utilizați la asamblarea automată (principala lor aplicație): peste jumătate din numărul de operații se pot efectua cu o matrice de 4×4 taxeli și dimensiuni de ordinul 10 taxeli/25 mm; numai 7% din operații impun matrice de dimensiuni mai mari (16×16 taxeli), cu dimensiuni de peste 10 taxeli/25 mm. În 53% din operații s-a impus necesitatea controlului glisării obiectului prehensat.
O comparație între senzorii tactili și senzorii vizuali evidențiază următoarele aspecte:
ambele categorii de senzori furnizează informația reprezentând obiecte tridimensionale sub forma unor imagini (semnale) bidimensioanale.
informația relevantă este extrasă folosind aceleași tehnici specifice prelucrărilor de
semnale.
Totuși senzorii tactili prezintă unele avantaje în raport cu senzorii vizuali:
este exclusă posibilitatea prelucrării informației nerelevante conținută în cazul imaginilor vizuale de fondul scenei;
caracteristicile geometrice ale obiectelor nu sunt distorsionate de distanța și unghiul de înclinare al senzorului față de obiect;
ambiguitățile în interpretarea informației ca urmare a unor condiții de iluminare necorespunzătoare sunt eliminate.
Senzorii tactili prezintă și o serie de limitări:
79
au câmpul „vizual” relativ redus, limitat la suprafața de contact cu obiectul prehensat;
de regulă nu poate delimitat un contur al obiectului fapt ce complică procesul recunoașterii obiectului apucat.
În concluzie, este de dorit să se utilizeze în același timp atât senzorii vizuali cât și senzorii tactili.
Schema bloc a unui senzor tactil este prezentată în figura 7.14.
Figura 7.14.
Pentru realizarea practică a senzorilor tactili se impun următoarele condiții:
să aibă o densitate suficient de mare a elementelor senzitive corespunzătoare aplicației vizate;
să prezinte abilitatea de a putea lua forme geometrice care să permită înglobarea matricelor cu elemente senzitive în bacurile dispozitivului de prehensiune;
să prezinte capabilitatea de a sesiza atât eforturi normale cât și eforturi tangențiale;
să aibă o înaltă fiabilitate și rezistență la factorii de mediu de natură mecanică, chimică și electrică.
Din punct de vedere constructiv, problema esențială este aceea a realizării matricelor cu elemente tactile. În ciuda numeroaselor soluții avansate, problema este incomplet rezolvată. Realizarea senzorilor tactili au la bază următoarele fenomene cunoscute: piezorezistivitate, piezoelectricitate, magnetorezistivitate, matrice cu elemente tactile capacitive, senzori tactili realizați utilizând principii optice, etc.
Pentru exemplificarea celor prezentate mai sus, se prezintă în continuare senzori tactili care se bazează pe utilizarea unui material care își modifică rezistivitatea în funcție de deformarea la care este supusă (figura 7.15). Sunt prezentate diferite structuri constructive care se deosebesc prin modul de extragere și procesare a informației, sensibilitatea materialului conductor. Este recomandat ca circuitele active de preprocesare să se afle în imediata apropiere a elementelor sensibile, pentru a elimina influențele perturbatoare.
80
Figura 7.15.
81
7.5. Senzori forță – moment
În numeroase situații din robotică este importantă cunoașterea stării de solicitare la care este supus obiectul din dispozitivul de prehensiune. Informațiile furnizate de senzorii forță-moment pot servi la comanda acțiunii robotului prin dezvoltarea unei anumite forțe după o anumită direcție, sau pot fi luate decizii de efectuarea unor anumite acțiuni în funcție de o valoare de prag a unei forțe monitorizate cu un senzor, fie pentru a limita această stare de solicitare, fie pentru a modifica în mod adaptiv poziția obiectului.
Exemple de aplicații cu senzori forță-moment:
roboți pentru asamblare și montaj;
robotizarea unor operați tehnologice (debavurarea, polizarea, rectificarea, controlul stării de uzură a sculei);
evitarea supraîncărcării robotului;
programarea robotului.
O primă metodă măsoară componentele reacțiunilor ce apar în cuplele cinematice ale robotului și, prin însumarea vectorială ale acestora, sunt determinate componentele aferente stării de solicitare a obiectului aflat în dispozitivul de prehensiune. Avantajele acestei metode sunt: nu necesită un senzor de forță dedicat, reacțiunile din cuplele cinematice(de regulă cuple cinematice de rotație) putând fi determinate indirect prin măsurarea curentului consumat de motorul de acționare al cuplei cinematice. Metoda are însă și unele dezavantaje: este imprecisă deoarece rezultatul astfel obținut include și frecările din cuplele cinematice precum și influența greutății subansamblelor mecanice ale robotului, ambele mărimi fiind greu deductibile din rezultatul măsurării.
O a doua metodă, cea mai utilizată, este folosirea unui senzori forță-moment dedicat. Amplasarea lui în structura robotului este posibilă astfel:
între elementul terminal al mecanismului de orientare și dispozitivul de prehensiune
(figura 7.16);
în masa de montaj pe care este pus obiectul supus prelucrării.
Figura 7.16.
Un senzor forță-moment este compus dintr-un subansamblu mecanic și circuite electronice (figura 7.17). Partea esențială a subansamblului mecanic este corpul elastic care se deformează sub acțiunea forțelor respectiv momentelor. Starea de solicitare se determină măsurând deformarea corpului elastic (elementului sensibil).
82
Figura 7.17.
Traductoarele pentru măsurarea deformației pot fi:
timbre electrotensiometrice (figura 7.16);
traductoare piezoelectrice;
traductoare optice.
Capitolul III
3.1.Etapele parcurse pentru realizarea proiectului
În vederea realizării proiectului au fost necesare parcurgerea mai multor etape și subetape care vor fi prezentate în figura de mai jos:
Fig.16.Schema bloc a etapelor desfășurate
Etapa de căutare , cercetare și documentare a constat în strângerea de materiale
informaționale de pe forumuri și din reviste de specialitate, referitoare, atât la funcționarea electronică și realizarea mecanică a unui cnc , cât și la programele utilizate în scopul interpretării codului G, transmis către controller.
Etapa de simulare este etapa prin care s-a realizeazat o simulare a circuitelor electronice
obținute în urma efectuării etapei de documentare și adaptării la posibilitățile de punere în practică, cu scopul de a stabili dacă acestea funcționeaza conform cerințelor. Programul folosit în vederea desfășurării acestei etape este Proteus. Softul Proteus ISIS este un software profesional de proiectare PCB integrat cu simularea de circuit proiectat în timp real a circuitului electronic și testarea dacă circuitul proiectat funcționează corect sau nu. În acest program se poate proba codul de test prin încărcarea fișierul hex în circuit.
Toate produsele Proteus de proiectare PCB includ o formă de bază de auto router integrat și o formă de bază de simulare SPICE ca standard. Moduri de rutare mai avansate sunt incluse în Proteus PCB design de nivel 2 și mai mare.
Etapa de proiectare a constat, atât în proiectarea schemelor electronice simulate, pentru
a putea fi realizate circuitele imprimate, cât și în “randarea” 3D a schemelor electronice. Astfel,este facilitată prezentarea acestora printr-o previzualizare a circuitelor. Programele folosite pentru realizarea proiectării schemelor sunt : Eagle 6.2 , POV-Ray și Eagle 3D. Pachetul de programe Eagle este destinat proiectării asistate de calculator a schemelor și plachetelor electronice. Este compus din două parți: Eagle Schematics, destinat desenării, editării, procesării și simulării schemelor electrice, și Eagle Board, destinat proiectării plachetelor cu cablaje imprimate.Astfel s-au realizat schemele electrice și cablajele acestora. Folosind Eagle 3D și POV-Ray se pot face randări 3D realiste de PCB-uri. Eagle 3D este un script pentru Eagle Layout Editor. Acest lucru va genera un fișier de tip ” ray tracing”, care va fi transpus de către POV-Ray, în cele din urmă în imaginea finalizată a PCB-ului.
Etapa de realizare reprezintă etapa prin care au fost realizate plăcutele fizic. Aceasta a
constat în mai multe subetape, și anume : imprimarea pe foaie fotografică, atât a layoutului cu traseele schemelor realizate în etapa anterioară, cât și a layoutului cu piese, imprimarea circuitului de pe foaia fotografică pe stratul de cupru cu ajutorul unui fier de călcat și corodarea pcb-ului. După realizarea procesului de corodare s-a efectuat verificarea traseelor și lipirea pieselor.
Etapa de verificare a constat în efectuarea verificării circuitului, cu scopul identificării
posibilelor probleme precum existența lipiturilor între diferite trasee sau piese, sau a lipiturilor reci. De asemenea, mai constă, atât în alimentarea circuitului și verificarea funcționării corecte a acestuia, cât și în rezolvarea eventualelor probleme apărute pe parcursul instalării tuturor ansamblurilor electronice împreună.
Etapa de software este reprezentată de instalarea programului Mach3 și configurarea
optimă pentru o funcționare în parametrii corecți. Programul Mach3 poate controla până la șase axe, transmite impulsuri de tact și semnale de direcție, poate citi fișiere uploadate de tip cod G sau poate funcționa cu date introduse manual. Cele mai multe conexiuni între mașina-unealtă și PC, folosite pentru Mach3, sunt efectuate prin intermediul portului paralel de la computer.
Etapa de mecanică a constat în realizarea componentelor mecanice necesare dezvoltării
standului. În această etapă au fost intreprinse mai multe acțiuni, de la tăierea unor piese individuale din MDF și asamblarea componentelor, având ca rezultat obținerea unor ansambluri compacte pentru realizarea ceritelor impuse.
3.2.Descrierea componentelor și schema bloc
Proiectul de diplomă constă în proiectarea și realizarea unui echipament CNC în trei axe (notate X, Y, Z) controlate independent una de alta de câte un driver pentru fiecare motor pas cu pas necesar deplasării pe axa corespunzătoare, care să fie conectat și comandat de către un computer cu ajutorul unui program specializat, numit Mach3. Acest program citește și interpretează un cod denumit cod G, alcătuit din cifre și litere, care comunică cu driverele cu ajutorul unei interfețe prin intemediul portului paralel și cu un modul pentru comanda unei freze pentru găurire si frezare a unor plăci de cupru, în vederea realizării unor circuite imprimate. De asemenea, proiectul include și o placă de dezvoltare cu microcontroler care citește temperatura a doi senzori legați pe driverele de putere și controleaza în funcție de aceasta două ventilatoare, pe care sunt leagați doi senzori optici cu IR care citesc rotațiile acestora, totul fiind afișat pe un LCD. Totodata, se realizează și modificare unei surse ATX de computer, prin scoaterea diferitelor tensiuni de alimentare generate de aceasta la bornele corespunzătoare.
Fig.17. Schema bloc a proiectului
Un echipament CNC este alcătuit din două componente majore pe lângă alte componente auxiliare. Prima componentă este mașina-uneltă propriu-zisă, cea de a doua componentă este controllerul utilizat pentru comandă numerică (CNC). Pentru controller poate exista o consolă de introducere date sau un calculator cu conexiune permanentă pe care se realizează programele.
3.2.2.Interfață port paralel
Modulul care asigură comunicarea și transmiterea semnalelor pentru comanda driverelor de motoare pas cu pas este o simplă interfața, între portul paralel al calculatorului și drivere, care poate controla de la una până la patru axe.
Fig.19. Interfață port paralel 3D
Interfața prezintă o mufă de tip paralel mamă ( DB25) care face legatura între aceasta și computer, cu ajutorul unui cablu paralel cu mufe tată-tată (legat în configurație “straight”).
3.2.2.1.Conectori interfață port paralel- driver motor pas cu pas
De asemenea mai conține patru conectori (JP1 – JP4) a câte două șiruri de cinci pini tată, care sunt expuși pentru a face legatura cu ajutorul unui cablu panglică de zece fire între aceasta și driverul corespunzător pentru o singură axă.
Fig.20. Conector de zece pini între driver și interfață
În fiecare din cei patru conectori se transmit patru semnale necesare pentru comanda unui driver, si anume, un semnal de ENABLE, unul de direcție, unul de GND și unul pentru impulsuri, ultimele trei fiind conectate direct la pinii corespunzători ai portului paralel. Semnalul de ENABLE prin introducerea sau scoaterea unor jumperi între pinul 1 al fiecărui conector și pinul 14 al portului paralel, poate activa sau dezactiva fiecare driver în parte.
Prin conectarea acestor jumperi la GND, driverele pot fi întotdeauna activate. Semnalul de GND este trimis prin șase pini din cei zece ai conectorului.În cele din urmă există și un pin de +5V, care poate asigura alimentarea interfeței dacă se introduce un jumper între acesta și pinul 5VDC de pe placă și un alt jumper pe unul din drivere, fară a necesita o altă sursă de alimentare separată.
3.2.2.2.Stabilizator LM 7805
Pe placă există și o altă modalitate separată de alimentare cu ajutorul unui stabilizator de tensiune fixă cu trei terminale LM 7805. Stabilizatoarele de tensiune fixă s-au proiectat în ideea unei stabilizări locale a tensiunii de alimentare pe modulele cu circuite integrate. Aceste stabilizatoare prezintă avantajul simplității maxime de utilizare, deoarece nu necesită componente externe. De asemenea sunt avantajoase din punct de vedere al raportului cost-performanță.
Fig.21. Schema de conexiuni a stabilizatoarelor de tensiune din familia 78XX
La borna de intrare IN a CI se aplică tensiune stabilizată VI (+12 V de la sursa ATX) care este filtrată de condensatorul CI..
La borna de ieșire OUT a CI se obține o tensiune stabilizată de +5 V, care este filtrată de condensatorul C0 (mai ales pentru zgomote de înalta frecvență). Cele 2 condensatoare sunt utilizate pentru a asigura stabilitatea circuitului si a împiedica oscilațiile de înalta frecvență. A treiea borna GND a CI este conectată la masă (GND).
Dacă tensiunea și curentul de sarcină variază în anumite limite și stabilizatorul este prevăzut cu un radiator adecvat, la ieșire se va obține o tensiune stabilizată de +5V și un curent de sarcină de 1.5 A.
Acest stabilizator de tensiune este realizat sub forma de circuit integrat și conține circuite pentru tensiunea de referință, amplificatorul comparator, dispozitive de control si protecție de supraîncărcare.
Fig. 22. Schema de principiu a stabilizatoarelor de tensiune din seria 78XX
Din analiza schemei bloc din fig.21, se remarcă prezența circuitului de start al
stabilizatorului. Circuitul format din tranzistorul T1 și dioda Zener D1 constitue un stabilizator parametric, care prin intermediul tranzistorului T2, îndeplinește mai multe funcții:
furnizează tensiunea de bază necesară polarizării tranzistorului T3 (detectorul de temperatură al protecției termice);
furnizează o tensiune necesară schemelor de polarizare ale tranzistoarelor ce constitue amplificatorul de eroare.
A doua funcție este necesară deoarece majoritatea amplificatoarelor de eroare sunt polarizate de la tensiunea de ieșire care, la alimentarea stabilizatorului, are valoarea zero. În regim normal de funcționare, consumul circuitului de start nu trebuie să afecteze valoarea curentului consumat în gol. Deși curentul necesar diodei D1 este mic, variația sa proporțională cu variația tensiunii de intrare, este
supărătoare. Polarizarea diodei, printr-un generator de curent realizat cu un tranzistor cu efect de câmp cu joncțiune (TEC-J) elimină această deficiență. În condiții de tensiune drenă –sursă mai mică decât tensiunea de prag și de tensiune grilă –sursă redusă, tranzistorul TEC-J prezintă o rezistență drenă –sursă de valoare mică. Această valoare mică a rezitenței permite deschiderea rapidă a tranzistorului T2 și diodei D1.
Creșterea tensiunii de intrare are ca efect intrarea tranzistorului T1 în zona de saturație (prin creștera tensiunii drenă -sursă). Rezistența dintre drenă și sursă are o creștere semnificativă, ceea ce justifică echivalarea sa cu un generator de curent. Funcționarea sa pe post de generator de curent constant, desensibilizează consumul circuitului de start la variațiile tensiunii de intrare.
Se vor face unele considerații cu privire la câțiva dintre cei mai importanți parametrii ai
stabilizatoarelor cu trei terminale din familia 78XX.
Tensiunea de ieșire: Datele de catalog pentru 7805 arată ca tensiunea de ieșire este de obicei +5 V, dar ar putea fi minim 4,8 V sau maxim 5,2 V.
Stabilizarea de sarcină: Stabilizarea tensiunii de ieșire la variația curentului de sarcină este
considerată a fi de obicei de 4 mV, cu un maxim de 50 mV (la variația curenților de ieșire între
0,25A si 0.75 A). Aceste informații specifică faptul că tensiunea de ieșire poate varia de obicei doar
cu 4 mV față de tensiunea stabilizată de +5 Vcc.
Curentul de iesire de scurtcircuit: Curentul de ieșire este de obicei limitat la 0.75 A în cazul în care ieșirea ar fi scurt-circuitată ( accidental sau de un alt defect al componentelor din circuit).
Curentul de iesire de varf: În timp ce curentul nominal maxim este de 1.5 A pentru aceasta serie de CI, curentul tipic de ieșire de vârf care ar putea fi debitat pe o sarcină este de 2,2 A. Acest fapt arată
ca, desi producatorul evalueaza CI ca fiind capabile sa furnizeze 1.5 A, s-ar putea debita în sarcină ceva mai mult curent (eventual pentru o perioadă scurtă de timp).
Caderea de tensiune: Căderea de tensiune între intrare si ieșire este de obicei 2 V, și reprezintă
valoarea minimă a tensiunii între bornele de intrare-ieșire care trebuie sa fie menținută pentru ca CI
să functioneze în regim de stabilizare. În cazul în care tensiunea de intrare scade prea mult sau cea de
ieșire crește, astfel încât tensiunea CI de intrare-ieșire nu este menținută la cel puțin 2 V, CI nu vor
mai putea asigura stabilizarea tensiunii la ieșire. Astfel, trebuie menținută o tensiune de intrare
între 7 V și 25V pentru a asigura obținerea căderii de tensiune specificate.
Existența unui led verde (LED3) indică dacă placa este alimentată. Mai multe informații despre acest stablizator se pot găsi în anexa LM78XX atașata la proiect.
Observatie:
A nu se introduce jumperi pe toate driverele în cazul în care se dorește alimentare prin intermediul acestora,ci doar pe unul din ele.
A nu se folosi concomitent cele două modalități de alimentare.
A se observa polaritarea în momentul conectării la o sursă externă de alimentare și tensiunea minimă de intrare să fie de 7V, cea maximă de 25V.
3.2.2.3.Conectorii de HOME și de limită maximă a cursei de mișcare
Sunt expuși, de asemenea, trei conectori cu șurub (X1, X2, X3) a câte doi pini pentru conectarea celor trei semnale de HOME, adică punctele de origine (referință) pentru fiecare axă și GND-ul acestora, și pentru semnalul de limită maximă a deplasării și GND-ul acestuia.
Switch-urile de HOME sunt legate independent unul de altul la pinii corespunzători, iar când nu sunt activate, ieșirile acestora sunt în stare de HIGH. În momentul apăsării acestora, starea lor trece în LOW. Trebuie menționat faptul că switch-urile de limită sunt legate în serie și că, atât switch-urile de HOME, cât și cele de limită sunt leagate in conexiune NC (Normal Close).
Mai multe leduri indicatoare (LED1,LED2,LED4,LED5) corespunzătoare fiecărui switch sunt aprinse în timpul funcționării și se sting în momentul în care stare acestora se schimbă.
3.2.2.4.Butonul de E-stop și Reset. Circuit basculant bistabil
Interfața conține și un circuit basculant bistabil, care sunt circuite ce pot avea la ieșire două stări stabile: 0 logic și 1 logic. Circuitul poate păstra la ieșire oricare dintre cele două stări logice, un timp nedefinit, și numai o comandă aplicată din exterior pe intrări poate declanșa modificare stării logice a ieșirii. Din acest motiv circuitul se mai numește latch. Circuitul folosit este un latch Set -Reset, numit pe scurt latch SR, care are două intrări (E-stop și Reset) și două ieșiri, una nenegată (L) și una negată (J).Deci latch-ul memorează tranziția lui E-stop în 0 logic prin pozitionarea ieșirilor padurilor L și J în 1 și 0 logic (+5V și 0V). În mod asemănător, tranziția lui Reset în 0 logic determină poziționare ieșirilor padurilor L și J în 0 și 1 logic (0V și +5V). Se poate observa că ieșirile padurilor L și J sunt complementare, activarea lui E-stop prin 0 logic produce setarea circuitului (poziționarea ieșirii padului L în 1 logic), iar activarea lui Reset prin 0 logic produce resetarea circuitului (poziționarea ieșirii L în 0 logic).
Poziționarea simultană a intrărilor E-stop și Reset în 0 logic determină poziționarea ieșirilor L și J în 1 logic, deci nu ar mai fi complementare, însa nu este o problemă care să afecteze funcționare circuitului. Când ambele intrări E-stop și R sunt 1, circuitul devine instabil și combinația R=1 și E-stop=1 nu este permisă la acecest circuit.
Tabel.2. Tabelul de adevăr al unui latch SR
Legătura între computer și circuit se face printr-un jumper între pinul 10 al portului paralel si padul L al circuitului.
Circuitul are scoși doi conectori cu șurub pentru legarea butonului pentru oprire de urgență și de reset, de asemenea este realizata o conexiune între padul L și modulul pentru comanda releelor, astfel încat când ieșirea padului L este 1 logic (5V), atunci când butonul de E-stop este apăsat, va trimite un semnal către unul din relee, acesta având conectat în conexiune NO (Normal Open) un led care va lumina butonul de reset până în momentul în care acesta va fi apăsat și va reseta circuitul, și un alt led (LED7) pe placa de interfață, care funcționează in același mod.
Fig.23. Schema de conectarea surseide alimentare, a switch-urilor de HOME și limită,cât și a butonului de E-stop și Reset
3.2.3.Modulul de comandă relee
Fig.24. Modulul de comandă relee 3D
Am optat, ca ultimă soluție, pentru o variantă mai permisivă decât varianta inițială, și anume, crearea unui modul separat de relee, atât pentru comanda motorului de frezat, cât și pentru controlul ventilatorului care înlătură ceea ce freza debitează
Modulul de relee asigură comanda motorului de frezat și al ventilatorului prin atașarea unui jumper între pinul 1 al interfeței cu portul paralel și acesta. Scula tăietoare este un motor de curent alternativ, alimentat la 220 V și comandat de către un releu.
Circuitul prezintă un stabilizator de tensiune fixă cu trei terminale, din familia LM78XX, și anume, LM7812, care asigură pe ieșire o tensiune fixă de 12 V, necesari pentru alimentarea bobinelor releelor.
Se vor face unele considerații cu privire la câțiva dintre cei mai importanți parametrii ai
stabilizatoarelor cu trei terminale 7812.
Tensiunea de ieșire: Datele de catalog pentru 7812 arată ca tensiunea de ieșire este de obicei +12 V, dar ar putea fi minim 11.5 V sau maxim 12.5 V.
Stabilizarea de sarcină: Stabilizarea tensiunii de ieșire la variația curentului de sarcină este
considerată a fi de obicei de 5 mV, cu un maxim de 120 mV (la variația curenților de ieșire între
0,25A si 0.75 A). Aceste informații specifică faptul că tensiunea de ieșire poate varia de obicei doar
cu 5 mV față de tensiunea stabilizată de 12 Vcc.
Curentul de iesire de scurtcircuit: Curentul de ieșire este de obicei limitat la 0.35 A în cazul în care ieșirea ar fi scurt-circuitată ( accidental sau de un alt defect al componentelor din circuit).
Curentul de iesire de varf: În timp ce curentul nominal maxim este de 1.5 A pentru aceasta serie de CI, curentul tipic de ieșire de vârf care ar putea fi debitat pe o sarcină este de 2,2 A. Acest fapt arată
ca, desi producatorul evalueaza CI ca fiind capabile sa furnizeze 1.5 A, s-ar putea debita în sarcină
ceva mai mult curent (eventual pentru o perioadă scurtă de timp).
Caderea de tensiune: Căderea de tensiune între intrare si ieșire este de obicei 2 V, și reprezintă
valoarea minimă a tensiunii între bornele de intrare-ieșire care trebuie sa fie menținută pentru ca CI
să functioneze în regim de stabilizare.
În cazul în care tensiunea de intrare scade prea mult sau cea de ieșire crește, astfel încât tensiunea CI de intrare-ieșire nu este menținută la cel puțin 2 V, CI nu vor mai putea asigura stabilizarea tensiunii la ieșire. Astfel, trebuie menținută o tensiune de intrare între 14.5 V și 30 V pentru a asigura obținerea căderii de tensiune specificate. Existența unui led verde (LED9) indică dacă placa este alimentată.
Mai multe informații despre acest stablizator se pot găsi în anexa LM78XX atașata la proiect.
3.3.1. Optocuplorul PC817și releele de comandă
Există patru intrări separate care pot comanda fiecare câte un releu de 12V.
Releul este un dispozitiv electromecanic care transformă un semnal electric intr-o mișcare mecanică. El este alcătuit dintr-o bobină din conductori izolați infășurați pe un nucleu metalic și o armătură metalică cu unul sau mai multe contacte.In momentul in care o tensiune de alimentare este aplicată la bornele unei bobine, curentul circulă și va fi produs un camp magnetic care mișcă armătura pentru a inchide un set de contacte și/sau pentru a deschide un alt set. Cand alimentarea este dezactivată din releu, cade fluxul magnetic din bobină și se produce o tensiune inaltă in direcția opusă. Această tensiune poate strica tranzistorul de comandă și de aceea este conectată o diodă cu polarizare inversă de-a lungul bobinei pentru a scurtcircuita varfurile de tensiune in momentul in care apar.
Prezența câmpurilor magnetice și a zgomotului afectează semnalele, fiabilitatea este esențială pentru a evita timpii morți și pentru a asigura acuratețea datelor, astfel se pot folosi optocuploare care sa izoleze semnalele.
Pe fiecare intrare se găsește un optocuplor cu un sigur canal, PC817. Optocuplorul este o componentă care transferă semnale electrice între două circuite izolate cu ajutorul luminii. Cele mai multe optocuploarele sunt compuse dintr-o diodă emițătoare de lumină (LED), un fotodetector și driver de ieșire (de obicei un tranzistor sau buffer).
Curentul care traversează LED-ul face ca lumina emisă să lovească fotodetectorul, creând un flux de curent de la VDD la baza dispozitivului de ieșire, conducând ieșirea în HIGH . Invers, absența curentului prin LED inhibă fluxul de curent a dispozitivului de ieșire, conducând ieșirea în LOW.
Opto-izolatoare sunt de obicei utilizate pentru transmiterea semnalelor digitale (on / off), dar unele tehnici permit utilizarea cu semnale analogice.
Pe intrarea fiecărui optocuplor, din cele patru existente, există un led indicator (LED5,LED6,LED7,LED8) care se aprinde în momentul în care pe intrare se aplică semnal.Cei doi conectori cu șurub sunt folosiți pentru a aplica semnale pe cele patru optocuploare.
Mai multe informații despre acest optocuplor se pot găsi în anexa PC817 atașata la proiect.
Fig.25. Schema unui opto-izolator, care arată sursa de lumină (LED-uri) de pe partea stângă, bariera dielectrica în centru, și senzorul (fototranzistor) de pe dreapta
3.3.2. Circuitul integrat ULN2803
Comanda celor patru relee se face cu ajutorul unui circuit integrat, ULN2803, care conține opt perechi de tranzsitoare Darlington NPN integrate într-un singur cip, aranjate într-o matrice și sunt ideale pentru interfațare între circuitele digitale de nivelul logic scăzut (cum ar fi TTL, CMOS sau PMOS / NMOS) și cele de curent / tensiune superioară ( lămpi, relee).
Circuitul integrat ULN2803 este proiectat pentru a fi compatibil cu familiile TTL standard
în timp ce circuitul integrat ULN2804 este optimizat pentru familiile CMOS sau PMOS.
Cele opt intrări ale circuitului integrat sunt legate două câte două, astfel ca pe cele două ieșiri comandate împreună de un singur semnal, să fie legat un releu și un led indicator care arată starea releului.
Comanda frezei se face de pe pinul 1 al interfeței care leagă portul parelel și pinul 4 al acestui modul. De asemenea atâta timp cât freza este pornită, o conexiune între două intrări ale modulului, comandă un alt releu care poate alimenta un circuit folosit pentru comanda unui ventilator.
Fig.26. Expunearea pinilor integratului ULN2803
3.4. Generator implusuri cu circuitul integrat 555
Modulația impulsurilor în durată (MID) este utilizată cu predilecție în electronica de putere, fiind un procedeu fundamental de realizare a unor circuite larg răspândite în electronica industrială. Ea este numită frecvent „modulație PWM”, după abrevierea denumirii din limba engleză, “Pulse Width Modulation”. Semnalul PWM este un semnal periodic la care se poate modifica în mod controlat factorul de umplere.
Fig.27. Semnal PWM
Oscilatorul 555 este configurat ca un oscilator astabil, ceea ce înseamnă că, odată ce tensiunea este aplicată, 555 va oscila fără nici o declanșare externă.
Fig.28.Expunearea pinilor circuitului integrat 555
În această configurație pinul de reset este conectat la +V, deci nu are nici un efect asupra funcționării circuitului. Când circuitul este alimentat, pinul de declanșare (trigger) este LOW deoarece condensator C1 este descărcat. Aceasta începe ciclul de oscilație, conducând ieșirea în HIGH.
Când ieșirea trece în HIGH, condensator ul C1 începe să se încarce prin partea dreaptă a potențiometrului R1 și dioda D2. Când tensiunea pe C1 ajunge la 2/3 din + V, pragul (threshold) este activat, care la rândul său, determină ieșirea (OUT) și pinul de descărcare (PIN 7) să treacă în LOW.
Când ieșirea (PIN 3) trece în LOW, condensatorul C1 incepe să se descarce prin partea stângă a R1 și D1. Când tensiunea pe C1 scade sub 1/3 din + V, ieșirea și pinul descărcare (PIN 7) trec în HIGH, iar ciclul se repetă. Pinul 5 nu este folosit pentru o intrare externă de tensiune, de aceea este legat la masă
cu un condensator 0.01uF.
Fig.29.Diagramă bloc a CI 555
Condensatorul C1 se încarcă printr-o parte din R1 și se descarcă prin cealaltă parte. Suma rezistenței de încărcare și descărcare este întotdeauna aceeași, prin urmare, lungimea de undă a semnalului de ieșire este constantă. Numai ciclu variază în funcție de R1.
Frecvența globală a semnalului PWM în acest circuit este determinată de valorile R1 și C1. În schema de mai sus, acest lucru a fost stabilit la 144 Hz.
Pentru a calcula valorile de componente pentru alte frecvențe, se folosește formula:
Frecvența = 1.44 / (R1 * C1)
În acest circuit, PIN-ul de ieșire este folosit pentru a încărca și descărca C1, mai degrabă decât PIN-ul de descărcare. Acest lucru se face pentru ca pinul de ieșire are o configurație de tip" totem pole ", poate ceda sau absorbi curent, în timp ce PIN-ul de descărcare poate numai absorbi curent.
Trebuie menținut faptul că ieșirea și pinul de descărcare trec în HIGH și LOW, în același timp, în ciclul de oscilație.
Pinul de descărcare este utilizat pentru a conduce ieșirea, în acest caz, conduce un tranzistor Darlington. Baza tranzistorului trebuie să fie „pulled up” deoarece PIN-ul de descărcare poate doar absorbi curent.
Tranzistorul va conduce în cazul în care tensiunea pe bază se ridică la peste o anumită valoare. Acesta va rămâne blocat când tensiunea pe bază scade sub această tensiune.Configurația de ieșire
servește, de asemenea, pentru a inversa semnalul de la circuitul 555.
3.5. Comanda motoarelor pas cu pas
Motorul pas cu pas este un convertor electromecanic care realizează transformarea unui tren de
impulsuri digitale într-o mișcare proporțională a axului său. Motorul pas cu pas este un motor de
curent continuu comandabil digital cu deplasarea unghiulară a rotorului proporțională cu numărul de impulsuri primite. La fiecare impuls rotorul execută un pas unghiular apoi se oprește până la sosirea unui nou impuls.
Mișcarea rotorului MPP constă din deplasări unghiulare discrete, succesive, de mărimi egale și care reprezintă pașii motorului. Motorul pas cu pas este capabil de reversarea sensului de mișcare. Dacă este comandat corect (cu o frecvență mai mică decât cea admisibilă) rămâne în sincronism cu impulsurile de comandă la accelerare, mers constant și încetinire. Viteza unui MPP poate fi reglată în limite largi prin modificarea frecvenței impulsurilor de intrare, dar schema de acționare se complică.
Fig.30. Schema bloc de acționare a motorului pas cu pas
Se poate observa din schema bloc că nu este necesar un traductor de poziție pentru că, în aplicații mai simple motorul va executa numărul de pași comandat și va ajunge în poziția dorită. Se câștigă astfel o simplificare a schemei dar se pierde la performanță. Motoarele pas cu pas pot fi motoare unipolare sau bipolare,fig.30.
Fig.31. Structura motorului pas cu pas bipolar
La motoarele bipolare comanda pașilor se face prin inversarea curentului prin înfășurări. În acest caz controllerul trebuie să poată inversa polaritatea pentru o deplasare a curentului în ambele sensuri.
Controllerul trebuie să alimenteze înfășurările succesiv cu o anumită secvență pentru un sens și secvența inversă pentru celălalt sens. În desenul din fig.30, o parcurgere a patru faze înseamnă o rotire de 360°. Motoarele reale au mai multe înfășurări și un pas înseamnă o deplasare unghiulară mică.
MPP mai prezintă proprietatea de a putea intra în sincronism față de impulsurile de comandă chiar din stare de repaus, funcționând fără alunecare iar frânarea se efectueaza, de asemenea, fără ieșirea din sincronism, datorită acestui fapt se asigură porniri, opriri si reversări bruște fără pierderi de pași pe tot domeniul de lucru.
Un motor pas cu pas, nu se poate roti fără un circuit de comandă special. El permite obținerea unor rotații cu exact același unghi, corespunzător unui pas. Indiferent de principiul de funcționare al motorului, comanda acestuia se realizează prin comutarea succesivă a fazelor înfășurărilor.
Astfel, dacă pasul unghiular al motorului este 1,8° numărul de impulsuri necesare efectuării unei rotații complete este 200, iar pentru un semnal de intrare cu frecvența de 400 impulsuri pe secundă turația motorului este de 120 rotații pe minut.
MPP pot lucra pentru frecvențe intre 1.000 si 20.000 pași / secundă, având pași unghiulari cuprinși între 180° si 0,3°.
Motorul reprezentat în fig.31, de mai jos, poate fi comandat cu pas întreg sau cu pas pe jumătate.
Pentru fiecare dintre cele două modalități, în tabelul alăturat (Tabel 3) este indicat modul de alimentare a celor două înfășurări A și B, cu tensiuni pozitive (A+, B+) sau negative (A–, B–). În primul caz se obțin 4 poziții distincte ale rotorului, iar în cazul al doilea, 8.
Fig.321. Schema electrică de comandă al MPP Tabel 3. Modul de alimentare al înfășurărilor
3.5.2. Avantajele si dezavantajele folosirii MPP
Avantaje :
asigură univocitatea conversiei unui număr de impulsuri în deplasare și ca urmare pot
fi utilizate în circuit deschis (buclă deschisă, fără măsurarea si reglarea automată a poziției unghiulare);
gamă largă a frecvențelor de comandă;
precizie de poziționare și rezoluție mare;
permit porniri, opriri, reversări fără pierderi de pași;
memorează poziția;
sunt compatibile cu comanda numerică.
Dezavantaje :
unghi de pas, deci increment de rotație, de valoare fixă pentru un motor dat;
viteză de rotație relativ scăzută;
putere dezvoltată la arbore de valoare redusă;
randament energetic scăzut;
3.5.3 Descriere circuite integrate specializate pentru comanda MPP
Schemele de comandă pentru MPP din sistemele de poziționare pretențioase implică, de regulă, funcțiuni și circuite complexe. Preocupările de a sintetiza în circuite integrate specializate există de mulți ani. Circuitele integrate dedicate simplifică mult comanda și alimentarea unui motor pas cu pas.
Comanda unui motor pas cu pas cere mai multe semnale digitale de comandă separată. În 95% din aplicatii, aceste comenzi digitale se generează cu sisteme de microprocesor. În cel mai simplu caz, o secvență de control cu pas întreg constă din numai două semnale dreptunghiulare în cuadratură. Situația devine mai complicată în cazul comenzii pe jumătate de pas sau în micropășire. În acest caz avem nevoie de cel puțin patru semnale de control (în unele cazuri de șase sau chiar opt semnale de control). Deoarece toate semnalele de comandă, în fiecare mod de operare sunt în relații de interdependență, le putem genera cu circuite logice standard. Totuși, dacă se dorește posibilitatea de comutare de la un mod de operare la altul cât mai simplu și eficient, implementarea poate fi scumpă și voluminoasă, de aceea în zilele de azi, soluția este utilizarea circuiteleor integrate dedicate (specializate).
Seturile recente de circuite specializate, pentru comanda și alimentarea MPP, permit realizarea într-un volum minim a unor sisteme de mare performanță. Principalele funcțiuni ale acestor circuite specializate sunt:
Comanda unipolară sau bipolară ;
Generarea secvențelor uzuale de alimentare:simplă (4S), dublă (4D) sau mixtă (8M). La unele circuite numărul fazelor motorului comandat (35) poate fi programat ;
Realizarea carateristicii frecvență-timp optime, adică a unui timp minim de răspuns al MPP, prin programarea profilului de accelerare-decelerare. Profilurile de accelerare-decelerare sunt în general liniare iar pantele lor pot fi programate independent, în funcție de specificul acționării ;
Schimbarea sensului de rotație, fie că are loc în funcționare neîntreruptă a MPP, fie la oprire, când se obține amortizarea prin conectarea fazei anterioare pe o durată scurtă (amortizare electronică ”bang-bang” ) ;
Schimbarea mărimii pasului în mers ;
Posibilitatea invalidării comenzii oricărei faze folosită în scopul reducerii curentului de repaus prin motor (de obicei, în repaus, se trece de la două faze alimentate la una singură). La unele circuite valorile curentului de vârf în fază și a celui de repaus pot fi programate ;
Inițializarea (resetarea) care face posibilă alimentarea primei faze, sau a primelor faze ale MPP, la pornire sau ori de câte ori este necesar ;
Realizarea forțării pantei de creștere a curentului în faza MPP prin alimentarea cu două tensiuni sau prin tehnică de tip “chopper” ;
Pentru curenți de fază reduși, de până la 500mA, circuitul integrat încorporează atât distribuitorul de impulsuri cât și driverul. În acest caz sunt compatibile cu cerințele echipamentului de calcul;
Sesizarea temperaturii cu blocarea funcționării circuitului la depășirea pragului, protecțiile, inclusiv cea la putere disipată de vârf, generarea semnalelor de avertizare și de diagnostic sunt de acum uzuale;
Exceptând puterile mari, driverele MPP sunt astăzi aproape toate integrate. Utilizarea unui circuit integrat specializat și a unui număr minim de componente externe conduce la realizarea unei interfețe complete de comandă și alimentare cu circuite digitale (LSTTL sau CMOS) sau microprocesor a MPP de mică putere.
3.5.4. Circuitul integrat SN74HC14N
Driverul pentru comanda motoarelor pas cu pas folosește pe intrare un circuit integrat SN74HC14N, care este un dispozitiv CMOS de mare viteză care oferă șase buffere inversoare cu acțiune Trigger-Schmitt.
Acesta este capabil de a transforma semnale de intrare lente în semnale bine definite, fara bruiaj asupra semnalelor de ieșire. Circuitul este denumit un "trigger", deoarece ieșirea păstrează valoarea până când intrarea se schimbă suficient pentru a declanșa o modificare. Există practic două simboluri pentru circuitele trigger Schmitt. Simbolul este un triunghi cu o intrare și o ieșire, la fel ca cel folosit pentru buffere neinversoare, iar în interior este simbolul histerezis. În funcție de tipul de trigger Schmitt, inversoare sau neinversoare (standard), curba histerezis diferă.
Fig.33. Simbol trigger Schmitt inversor și neinversor
În configurație neinversoare, atunci când intrarea este mai mare decât un anumit prag ales, ieșirea este HIGH, când intrarea este sub un prag inferior ales, ieșirea este LOW, iar atunci când intrarea este între cele două niveluri, ieșirea păstrează valoarea sa. Această acțiune cu dublu prag se numește histerezis și implică faptul că circuitul trigger Schmitt are memorie și poate acționa ca un circuit bistabil (latch sau flip-flop). Există o legătură strânsă între cele două tipuri de circuite: un trigger Schmitt poate fi transformată într-un latch și un latch poate fi transformat într-un circuit trigger Schmitt.
Circuitul trigger Schmitt inversor este un circuit cu comparator care comută ieșirea în tensiune negativă când intrarea trece peste o tensiune de referință pozitivă. Acesta utilizează apoi feedback-ul negativ pentru a preveni trecerea înapoi la cealaltă stare până când intrarea trece printr-o tensiune de prag mai mică. Dispozitivele de declanșare Schmitt sunt de obicei utilizate în aplicații de condiționare a semnalului pentru a elimina zgomotul de la semnale folosite în circuite digitale și cu configurații în buclă închisă și feedback negativ pentru implementarea de bistabile, generatoare de semnal triunghiular / rectangulare.
Circuitele cu histerezis se bazează pe ideea fundamentală de feedback pozitiv: orice circuit activ poate fi făcut să se comporte ca un trigger Schmitt prin aplicarea unui feedback pozitiv, astfel încât câștigul buclei să fie mai mare de 1. Feedback-ul pozitiv este introdus prin adăugarea unei părți din tensiunea de ieșire la tensiunea de intrare. Astfel, în plus la un amplificator care acționează ca un comparator, sunt adăugate circuite care conțin un atenuator (caseta B în figura din dreapta) și un sumator (cercul cu "+" în interior).
Există trei tehnici specifice de punere în aplicare a acestei idei generale. Primele două dintre acestea sunt versiuni (serie și în paralel) ale sistemului general de feedback-ul pozitiv. În aceste configurații, tensiunea de ieșire crește efectiv diferența de tensiune de intrare a comparatorului prin scăderea valorii de prag sau prin creșterea tensiunii de intrare a circuitului.
Proprietățile de prag și de memorie sunt încorporate într-un singur element. În cea de a treia tehnică, proprietățile de prag și de memorie sunt separate.
Fig.34. Circuit trigger Schmitt care acționează ca un comparator, format cu un atenuator și sumator
Fig.35. Efectul utilizării unui trigger Schmitt (B), în loc de un comparator (A)
Mai multe informații despre acest circuit integrat se găsesc în anexa 74HC_HCT14 atașată proiectului .
3.5.5. Comanda MPP cu perchea de circuite integrate specializate L297 și L298N
`
Fig.36. Driverul realizat cu perechea L297-L298 și buffer inversor SN74HC14N
Controlerul L297 produs de firma SGS-THOMSON este un circuit integrat specializat destinat comenzii unipolare sau bipolare a unui MPP.
Principalele caracteristici ale circuitului L297 sunt:
Comanda unipolară sau bipolară ;
Secvențele de comandă:simplă (4S-pas întreg), dublă (4D-pas întreg) și mixtă (8M-semipas);
Reducerea timpului de creștere a curentului în faze prin forțarea de tip “chopper” ;
Posibilitatea stabilirii sensului de rotație a MPP ;
Programarea valorii curentului în fazele MPP ;
Posibilitatea întreruperii alimentării fazelor MPP ;
Posibilitatea inițializării și semnalizării acestei stări ;
Avantajul utilizarii acestui circuit este că necesită din exterior pentru comandă numai semnalele de TACT (CLOCK), SENS (DIRECTION) și mod de lucru (HALF/). Deoarece semnalele de comandă ale fazelor motorului sunt generate intern, sarcina microprocesorului și a programatorului este mult ușurată. Montat într-o capsulă de plastic cu 20 de pini, poate fi utilizat în configurații cu etaje de putere, în general în circuite monolitice de comandă în punte H ca L298N, L293E, L6201, L6202, L6203 sau tranzistoare discrete (asigură 20mA în acest scop la ieșire).
Combinația L297 plus driver conferă avantaje ca:
sunt necesare foarte puține componente externe (astfel costul de
asamblare este mic) ;
fiabilitate ridicată ;
spațiul mic ocupat ;
softul utilizat pentru comandă mai simplificat.
Schema bloc a circuitului L297 se prezinta in fig.37, iar semnificația pinilor este următoarea:
Fig.37. Schema bloc a circuitului L297
SYNC- ieșirea oscilatorului ”chopper” intern. Pentru a sincroniza toate circuitele L297 din schemă pinii SYNC se leagă impreună, iar componentele externe ale oscilatorului se montează numai pentru un circuit. Dacă se utilizează un generator de tact extern, semnalul de tact extern se aplică la acest pin;
GND – pin de masă;
HOME-ieșire cu colector în gol (open collector) care indică starea inițială (ABCD)2=(0101)2 ;
A- semnal de comandă a fazei A pentru etajul de putere ;
-semnal de inhibare a fazelor A și B ;
B- semnal de comandă a fazei B pentru etajul de putere ;
C- semnal de comandă a fazei C pentru etajul de putere ;
-semnal de inhibare a fazelor C și D ;
D- semnal de comandă a fazei D pentru etajul de putere ;
ENABLE-validare circuit. Când este “0” logic , , A, B, C, D sunt forțate în “0” logic ;
CONTROL-intrare care stabilește acțiunea “chopperului”. Când este în “0” logic se “choppează” , , când este în “1” logic se “choppează” pe liniile A, B, C, D ;
VS- pin de alimentare +5V;
SENS2- intrare pentru sesizarea curentului din fazele C și D de la etajul final de putere ;
SENS1- intrare pentru sesizarea curentului din fazele A și B de la etajul final de putere ;
VREF- tensiune de referință pentru circuitul “chopper”. Tensiunea aplicată pe acest
terminal determină curentul de vârf ;
OSC- o rețea RC (R la Vcc, C la masă) conectată la acest terminal determină frecvența de “choppare”. În cazul în care avem mai multe circuite L297 se utilizează terminalul de la un singur circuit, restul se pun la masă ;
CW/-selecție sens de rotație (CW-orar, -antiorar). Sensul fizic de rotație depinde și de modul de conectare a înfășurărilor. Sensul poate fi schimbat și din mers deoarece este sincronizat intern;
-semnal de tact. La trecerea acestui semnal din “0” logic în “1” logic (frontul crescător) motorul va avansa un increment ;
HALF/-selecție secvență de comandă. Pentru “1” logic avem secvență mixtă (de semipas) ; pentru “0” logic putem avea secvență simplă sau dublă (de pas întreg),
depinzând de starea circuitului translator (generatorului de secvență) ;
Pentru secvența simplă translatorul trebuie să fie la număr impar. Pentru secvență dublă translatorul trebuie să fie număr par.
-intrarea de resetare, “0” logic aplicat la această intrare readuce translatorul în starea inițială;
Inima schemei bloc a controlerului L297, este blocul denumit TRANSLATOR, care generează trei secvențe corespunzătoare de comandă:
Secvență simplă (4S) WAVE DRIVE MODE “1 phase on”;
Secvență dublă (4D) NORMAL FULL STEP DRIVE “2 phase on”;
Secvență mixtă (8M) HALF STEP MODE “1&2 phase on”;
Acest bloc este controlat de semnalele de intrare SENS (DIRECTION), (CW/), MOD DE LUCRU (HALF/) (SEMI PAS/) și un semnal de TACT ( ).
Translatorul are patru ieșiri, care sunt prelucrate în blocul logic de ieșire, care implementează funcțiile de inhibare și “chopper”. Intern translatorul conține un numărător, plus câteva combinaționale care generează o secvență de bază de 8 pași, așa cum se vede în fig.38.
Fig.38. Secvență de bază generată intern de TRANSLATOR
Toate cele trei tipuri de secvență de comandă pot fi generate ușor din secvența de bază. Această secventă corespunde direct cu modul de comandă semipas (secvență mixtă), selectat de un nivel logic “1”(HIGH) la intrarea HALF/ .
Reprezentarea formelor de undă pentru această secvență se prezintă în fig.39.
Fig.39. Secvență de comandă mixtă
Modurile de comandă pentru “pas întreg”(secvență simplă și secvență dublă), sunt ambele obținute din secvența de bază, omițând (sărind) stările alternante în secvența de 8 pași. Rezultă că tactul trece peste primul etaj din numărătorul de 4 biți din translator. Cel mai puțin semnificativ bit din numărător nu este afectat, astfel că secvența generată depinde de starea translatorului când este selectat modul de lucru “pas întreg” (HALF/) =”0”.
Dacă modul “pas întreg” este selectat când translatorul este în oricare din stările impare, se va selecta o secvență de comandă cu “pas întreg” cu 2 faze comandate, așa cum se prezintă în fig.40.
Fig.40. Secvență de comandă dublă
Dacă se selectează modul “pas întreg” când translatorul este într-o stare pară, se obține comanda cu “pas întreg” cu o singură fază comandată, așa cum se prezintă în fig.41.
Fig.41. Secvența de comandă simplă
Concluzionând, circuitul conține un distribuitor de impulsuri care poate genera cele trei secvențe uzuale de comandă : simplă, dublă și mixtă. Modul de comandă se impune prin intermediul intrării HALF/:
Comanda în secvență mixtă (semipas), HALF/= “1” logic ;
Comanda în secvență simplă (pas întreg) se obține impunând HALF/=”0” logic când distribuitorul de impulsuri (TRANSLATOR) este în una din stările:
(ABCD)2=(0001)2, (0010)2 sau (0100)2 sau (1000)2
Comanda în secvență dublă (pas întreg) se obține impunând HALF/ =”0” logic
când distribuitorul de impulsuri (TRANSLATOR) este în una din stările:
(ABCD)2=(0101)2,(1001)2,(1010)2 sau (0110)2
Circuitul oferă posibilitatea întreruperii alimentării fazelor motorului fără a fi necesară deconectarea sursei de energie ;
Fazele MPP sunt alimentate în secvență impusă, ENABLE=”1” logic ;
întreruperea alimentării fazelor MPP, ENABLE=”0”logic, (A=B=C=D=INH1=INH2 =”0” logic).
Schimbarea nivelului logic pe intrarea DIRECTION atrage reversarea sensului de rotație;
Sens ORAR, DIRECTION=”1”logic ;
Sens ANTIORAR, DIRECTION=”0”logic .
Circuitul poate fi adus în starea inițială ABCD=(0101)2 prin aducearea în “0” logic a intrării
, această stare fiind semnalizată la ieșirea HOME (cu colector în gol).
O logică combinațională generează semnalele de fază A, B, C, D precum și alte două semnale de inhibare{ , } care, în cazul unei alimentări bipolare în „punte H” asigură descreșterea rapidă a curentului atunci când se întrerupe alimentarea fazelor motorului pas cu pas. Forțarea pantei curentului se realizează cu ajutorul a două”choppere” acționate de un oscilator comun OSC. O rețea RΊCΊ conectată la pinul OSC determină frecvența de “choppare”.
F=1/(0,69 RΊCΊ),R>10KΏ
Fiecare “chopper” este alcătuit dintr-un COMP, un circuit basculant bistabil FF și un traductor de curent de tip șunt RS (fig.42). Un impuls activ de la oscilator “setează” bistabilul, faza motorului pas cu pas este alimentată și curentul crește, crescând astfel căderea de tensiune pe RS. Când această tensiune atinge tensiunea de referință VREF=(0V3V) comparatorul “resetează” bistabilul iar ieșirea acestuia determină întreruperea alimentării fazei motorului pas cu pas.
Se observă că valoarea maximă a curentului din faza motorului pas cu pas poate fi impusă din exterior prin VREF.
Fig.42. Controlul curentului din faza MPP
Intrarea CONTROL stabilește modul de acțiune a acestor “choppere”:
Prin liniile de fază A, B, C și D, CONTROL=”1” logic;
Prin liniile de inhibare , , CONTROL=”0”logic;
Principiul “choppării” prin liniile de inhibare , este prezentat în fig 43..În această situație este activat semnalul de inhibare corespunzător fazei respective ( controlează fazele A și C, iar controlează fazele B și D) ceea ce duce la blocarea tranzistoarelor din “puntea H”, energia stocată în inductanța fazei motorului fiind eliminată pe o cale de curent ce cuprinde sursa de alimentare.
Datorită tensiunii ridicate a acesteia, panta de descreștere a curentului este accentuată. În cazul “choppării” prin liniile de fază A, B, C, D (fig.44) întreruperea alimentării fazei se realizează prin aducearea în “1”logic a ambelor semnale de fază ceea ce duce la o cale de curent numai în partea superioară a “punții H”, evitându-se disiparea de energie pe RS. În acest caz descreșterea curentului în faza motorului este lentă deoarece tensiunea pe înfășurare este scăzută (UCESAT+UD).
Fig.43. ”Chopparea” prin liniile INH1,INH2
Controlerul L297 poate fi utilizat împreună cu “punți H” monolitice, cu arii de tranzistoare Darlington sau alte dispozitive discrete de putere. Utilizarea driverului L298N este una din cele mai recomandate, deoarece în acest mod pot fi exploatate toate facilitătile controlerului L297. Circuitele L297 (controler programabil)- L298N (driver de medie putere, 2A/fază) și un număr foarte mic de componente externe formeză o interfață completă între microprocesor și motorul pas cu pas.
Circuitul L298N conține două “punți H”, fiind capabil să alimenteze concomitent două faze ale unui MPP, fiecare fiind controlată de două intrări logice (compatibile TTL) INPUT {I1, I2, I3, I4} și o intrare logică (compatibilă TTL) de validare ENABLE {E1, E2}.
Fig.44. ”Chopparea” prin liniile A ,B, C, D
Emitoarele tranzistorelor din puntea inferioară a “puntii H” sunt scoase în exterior( SENSE-RS1, RS2) în eventualitea conectării unei rezistențe traductor de măsură a curentului din fazele MPP.
Printre performanțele circuitului L298N amintim:
Tensiunea ridicată de alimentare VA MAX= 46V ;
Curentul total IMAX= 4A(2A pe fiecare canal) ;
Puterea disipată PTOT=25W(capsulă MULTIWATT) ;
Tensiunea de saturație scăzută ;
Frecvența de comutație fMax=40kHz ;
Intrări compatibile TTL;
Imunitate ridicată la perturbații(VIL 1,5V) ;
Puntea H realizată cu tranzistoare bipolare de putere ;
Schema bloc a circuitului L298N se prezintă în fig.45.
Fig.45. Schema bloc a circuitului L298N
3.5.6. Supresarea cu diodă
Când o fază a motorului este deconectată, curentul prin fază nu scade instantaneu din cauza inductivității Lm a înfășurării. Când următoarea fază a motorului este conectată, scăderea curentului în faza tocmai deconectată are un efect de frânare asupra raspunsului motorului. Mărimea supratensiunii tranzitorii va depăși valoarea limită UCemax a oricărui tranzistor, cauzându-i străpungerea. Practic, înfășurările tipice ale MPP pot cauza ușor supratensiuni tranzitorii inductive de 50100 de ori mai mare decât tensiunea aplicată motorului.
Această tensiune trebuie supresată în gama valorilor sigure ale tensiunilor UCE. Prin urmare, etajele alimentării de putere ale MPP trebuie să conțină circuite de supresare pentru protecția tranzistoarelor de putere împotriva supratensiunilor inductive tranzitorii.
Cea mai simplă metodă de supresare se poate realiza cu clasica diodă de descărcare pe circuitul fiecărei faze a motorului(fig.46). La conectare, dioda D este polarizată invers și acționează ca impedanță foarte mare șuntând înfășurarea MPP.
Când faza MPP este deconectată, polaritatea tensiunii inductanței Lm se inversează instantaneu, dioda devine polarizată direct și oferă o cale de impedanță scăzută pentru curent.
Fig.46.Supresarea cu diodă
Ecuația de tensiune a circuitului la întreruperea alimentării fazei MPP este:
Lm+Rmi(t)+UD =0 e
, unde cu Te=Lm/Rm s-a notat constanta electromagnetică de timp a fazei MPP.
Timpul după care curentul se va anula(numit timp de supresare) este dat de relația:
Ts=TeTe Lm
, și nu poate fi controlat(în sensul reducerii,fig.543b).
Energia înmagazinată în inductanța Lm a fazei motorului se va disipa pe rezistența Rm. Constanta de timp la scăderea curentului este Te=Lm/Rm , deci procesul de supresare este lent. Dioda supresoare fixează tensiunea UCE a tranzistorului comutator la valoarea Un+UD.
3.5.7. Geratoare de impulsuri pentru comanda motoarelor pas cu pas
Un motor pas cu pas poate fi comandat în circuit deschis sau în circuit închis.Comanda în circuit deschis poate fi:
Comanda cu impulsuri singulare (puls cu puls) ;
Comanda cu un tren de impulsuri ;
La comanda puls cu puls, din cauză că frecvența pașilor este suficient de scăzută, rotorul motorului ajunge, după efectuarea unui pas, într-o stare de repaus, care durează până la conectarea următoarei faze. Prin urmare motorul poate fi pornit, oprit sau reversat fără pierdere de pași. În cazul comenzii cu tren de impulsuri motorul va urmări o frecvență a trenului de impulsuri de intrare și va funcționa într-un mod foarte asemănător cu motoarele sincrone. Rotorul se va mișca continuu, fără poziții de repaus înaintea aplicării impulsurilor. Pentru comanda cu impulsuri singulare trebuie utilizată ca sursă de tact, un oscilator convențional de relaxare (astabil), care comandă secvența logică a motorului. Cerința principală impusă acestor circuite este stabilitatea ridicată a frecvenței oscilațiilor propii.
În fig.47.a se prezintă schema unui oscilator tipic, bazat pe circuitul temporizator BE555. Acest circuit poate lucra cu tensiuni de alimentare cuprinse între +5V și +18V, fiind deci compatibil atât cu circuitele logice TTL sau CMOS, cât și cu circuitele realizate cu amplificatoare operaționale. Etajul său de ieșire este astfel proiectat și realizat încât poate furniza sau absorbi curenți de până la 200mA.
Fig.47.Oscilator cu BE555
Cele două intrări de compensare (PS și PJ) sunt conectate împreună și urmăresc tensiune de pe condensatorul C. Condensatorul C se încarcă de la sursa de alimentare V+ prin rezistoarele RA și RB (tranzistorul de descărcare este blocat). În momentul în care tensiunea de pe condensator atinge pragul de sus (0,66V+) schema basculează și tranzistorul de descărcare se saturează. Condensatorul C se descarcă prin rezistența RB la masă (GND). În momentul în care tensiunea pe condensatorul C atinge nivelul pragului de jos (0,33·V+) schema rebasculează, tranzistorul de descărcare se blochează și, ca urmare , se reia procesul de încărcare.În consecință, tensiunea de pe condensatorul C va evolua între 0,33·V+ și 0,66·V+ după o lege exponențială.
În același timp, tensiunea de ieșire din circuitul integrat BE555 (OUT), fiind impusă de starea circuitului basculant intern, va oscila între două nivele, sus (HIGH) și jos (LOW). În figura de mai sus, se poate urmări variația în timp a tensiunii de la bornele condensatorului, UC, și corelat cu acesta, variația în timp a tensiunii de ieșire, OUT pentru circuitul astabil folosit.
Se remarcă faptul că tensiunea de ieșire este la nivel ridicat în perioada de timp în care tensiunea pe condensator crește. În cazul schemei din fig.47b. durata de încărcare (t1),cea de descărcare (t2) și perioada de oscilație (T) sunt date de relațiile:
t1=(RA+RB)·C·ln2=0,693·C·(RA+RB),
t2=RB·C·ln2=0,693·C·RB,
T=(RA+2·RB)·C·ln2=0,693·C·(RA+2·RB).
Valorile care se pot obține pentru factorul de umplere cu schema din fig.47a sunt cuprinse teoretic în gama 0,51.Forma de undă simetrică(ϒ=0,5) apare numai în cazul ideal când RA=0.
3.2.6. Placă de dezvoltare cu Atmega328P
Proiectul conține pe lângă structura mecanică în trei axe și de partea de controller cu calculatorul care controlează etajul de putere pentru comanda motoarelor și o placă de dezvoltare cu microcontroler, bazată pe ATmega328P. Acesta citește cu ajutorul unor convertoare analog digitale valoarea unor butoane printr-un divizor rezistiv de tensiune. Aceasta citește doi sensori analogici de temperatură montați pe etajul final de putere și afișează temperatura pe un LCD 16×2. Controlează două ventilatoare în funcție de temperatură cu ajutorul unor tranzistoare comandate în PWM, pe care poate sa-l genereze pe unii dintre pini și cu ajutorul celor doi pini cu întreruperi citește doi sensori optici cu IR, afișând rotatiile pe LCD.
Fig.48. Placă de dezvoltare realizată în jurul microcontrollerului Atmega328P 3D
Microcontrolerul are 14 pini de intrare / ieșire digitală (din care 6 pot fi folosite ca ieșiri PWM ), 6 intrări analogice, un rezonator 16 MHz ceramic, o mufa de alimentare cu stablizator, un antet ICSP, un convertor serial-TTL și un buton de resetare. Proiectarea a fost făcută astfel ca pinii microcontrollerului să fie scoși la barete SIL mama pentru a putea conecta și comanda alte periferice cu ajutorul acestuia.
În aplicația de față s-a folosit un microcontroler de tip AVR produs de firma Atmel și anume Atmega328P. Microcontrolerele AVR de 10 biți produse de Amtel au o structură internă asemănătoare cu cea a celorlalte tipuri de microcontrolere. Spre deosebire de microcontrolere cu structură clasică, aceste tipuri de microcontrolere au 32 de registre cu funcție de acumulator iar majoritatea instrucțiunilor se execută într-o singură perioadă de ceas.
Principalele caracteristici sunt următoarele:
memorie program 32k, flash
10.000 de programări a memoriei flash
biți de securizare la scriere și la citire
memorie EEPROM – 1 KB, se poate scrie/șterge de 100.000
are 14 pini programabili intrare/ieșire (I/O)
sistem de întreruperi externe date de timer/numărător
interfață SPI (master/slave serial interface)
-6 canale CAD, convertor analog digital de 10 biți.
6 canale PWM
-tensiune de operare 5V
Fiecare dintre cei 14 pini digitali pot fi utilizați ca intrare sau ca ieșire, utilizând funcțiile pinMode (), digitalWrite (), și digitalRead (). Acestea funcționează la 5 volți. Fiecare pin poate furniza sau poate primi un maxim de 40 mA și are un rezistor pull-up intern (deconectat implicit) de 20-50 kOhmi. În plus, unii pini au funcții speciale:
Serial: 0 (RX) și 1 (TX), folosit pentru a primi (RX) și transmite (TX) date seriale TTL ;
întreruperile externe: 2 și 3, pot fi configurate pentru a declanșa o întrerupere la o valoare mică, un front crescător sau descrescător, sau o schimbare în valoare ;
PWM: 3, 5, 6, 9, 10, și 11, furnizarea de ieșire PWM de 8 biți cu funcția analogWrite () ;
SPI: 10 (SS), 11 (Mosi), 12 (MISO), 13 (SCK), acești pini suportă comunicare SPI folosind biblioteca SPI ;
TWI: A4 sau SDA și A5 sau SCL. Suport de comunicare I2C folosind biblioteca Wire
Există o serie de alți pinii pe placa:
Aref, tensiunea de referință pentru intrări analogice ;
Reset, această linie trecută în LOW resetează microcontrolerul ;
Pentru a putea programa un micontroler avem nevoie de sursă de alimentare, un oscilator, un modul de comunicare cu calculatorul și un circuit de reset.
Pentru sursa de alimentare este nevoie, după cum se observă mai jos, de un stabilizator de 5V, LM7805, două condensatoare de menținere a tensiunii stabilizate (filtrare) în cazul unor perturbații apărute de la rețea.
Fig.49. Modulul de alimentare a unui microcontroler
Aceste perturbații pot produce resetarea microcontrolerului. Pe ieșirea de 5V a stabilizatorului este atașat un led pentru a semnaliza prezența sau lipsa tensiunii, ledul este de culoarea verde.
Microcontrolerele pentru a funcționa au nevoie de oscilatoare externe sau interne.
Oscilatoarele electronice reprezintă o clasă de circuite electronice neliniare care generează
semnale electrice (curent / tensiune) cu o lege de variație în timp aproape sinusoidală, utilizând în acest scop, parțial, puterile de curent continuu livrate de sursele de alimentare.
Microcontrolerul folosit are propiul său oscilator intern care funcționează la frecvența f=1MHz.
Pentru a crește această frecvență se utilizează oscilator cu cuarț, oscilator RC, oscilator ceramic rezonator sau surse generatoare de semnal oscilant. În figura 49, de mai jos, sunt prezentate schemele recomandate de producător a fi folosite, unde a) și b) sunt modurile de conectare a oscilatoarelor, iar c) modul de conectare a semnalului de ceas extern.
Fig. 50. Moduri de conectare a oscilatorului la microcontroler
În aplicația de față s-a folosit un oscilator cu cuarț de 16 MHz. Microntrolerele AVR au trei surse pentru generarea resetului și anume: power-on reset ( la căderea tensiunii), semnal extern aplicat la intrarea externă de reset și ieșirea numărătorului watchdog. Circuitul pentru semnalul extern de reset este redat în fig. 51.
Fig.51.Circuitul de reset pentru microcontrolerul Atmega328P
Pentru programarea microcontrolerului s-a folosit o placă de dezvoltare Arduino UNO R3, după care microcontrollerul a fost scos și introdus pe plăcuța special creată pentru această aplicație.
Atmega328P are instalat un bootloader, bootloader-ul este un mic program care se află, în cazul lui Atmega328P, în ultimii 2KB de memorie ai microcontrolerului (această valoare este setată automat de mediul de dezvoltare Arduino în momentul încărcării bootloaderului). Acest program are rolul de scanare a “evenimentelor speciale”, care pot semnaliza microcontrolerului să intre în modul “bootloading”. Dacă aceste ‘’evenimente ’’ sunt găsite, microcontrolerul va prelua datele de la programator și le va scrie în restul memoriei disponibile. În cazul în care nu se detectează nici un eveniment, bootloader-ul va ceda controlul către programul existent în memorie.
Mediul integrat de dezvoltare Arduino este destinat scrierii programelor ce pot fi incărcate pe platformele fizice. Interfața este scrisă in Java și mediul de programare folosește limbaje de programare de tip open source precum Processing, avr-gcc. Interfața este multiplatformă, putând rula în Windows, Mac OS și Linux. Programul poate fi obținut atât ca executabil specific platformei de lucru dar și sub formă de cod sursă. Microcontrolerul Atmega328P are o serie de facilități pentru comunicarea cu un calculator, cu un alt microcontroler Atmega328P, sau cu alte microprocesoare. De asemenea, ATmega328P oferă comunicație serială, care este disponibilă pe pinii digitali 0 (RX) și 1 (TX), oferă și I2C (DST) sau SPI.
Comunicațiile seriale nu sunt nici mai rapide nici mai ieftine decât cele paralele, dar permit transferul de informație între echipamente aflate la distanțe foarte mari. Comunicația serială utilizează un număr redus de fire. În comunicația serială, datele transmise trebuie serializate la transmisie și deserializate la recepție, pentru aceasta, la transmisie se utilizează un registru paralel-serie iar la recepție un registru serie-paralel.
Pentru a permite compatibilitatea echipamentelor realizate de diferiți producători, s-a
adoptat standardul numit RS232 realizat de EIA (Electronics Industries Association) în 1960, modificat apoi în mai multe rânduri. Deoarece standardul a fost adoptat înainte de apariția familiei logice TTL, standardul nu este compatibil cu nivelele TTL.
Nivelul logic ‘1’’ este reprezentat de o tensiune electrică cuprinsă între -3V și -25V iar nivelul logic ‘’0’’ este reprezentat de o tensiune electrică cuprinsă între +3V și +25V, zona situată între -3V și 3V fiind nedefinită. Pentru conversia de nivele TTL/RS232 se utilizează circuite specializate sau circuite discrete. Interfața serială este un sistem de comunicație numerică introdus ca urmare a necesității de a controla un ansamblu tehnic cu elemente dispersate pe suprafețe mari. PC-urile sunt dotate cu mai multe porturi seriale (de obicei, două), utilizate, în cea mai mare parte, pentru comanda plotter-elor, a imprimantelor seriale și a unor mouse-uri. De asemenea, această interfață este folosită pentru comunicația cu PC-ul și de către dispozitive speciale, cum ar fi programatoarele EPROM și PAL, emulatoarele, controller-ele logice programabile sau anumite interfețe de achiziție de date.
Achiziția datelor se efectuează prin executarea unui program de achiziție de către calculatorul care asigură comanda mijlocului de măsurare, transferul datelor într-un fișier de date și prelucrarea lor imediată sau ulterioară. Denumirea RS-232 (mai exact, RS-232C) corespunde normei americane a interfeței seriale, normă propusă inițial în 1960 și devenită variantă standard în 1969, apoi remodificată în 1987. Denumirea V24 este o prescurtare a normei franceze (și recomandată CEI). În principiu, ambele norme sunt identice.
În prezent există și module dedicate comunicației seriale performante, cum este RS-485 (de tip plug-in) pentru care se poate asigura comunicația până la distanța de 1,2 km, cu o viteză maximă de transfer de 100 kHz .
Acest circuit convertește nivelele TTL în nivele RS232 și invers (fig.52).
Fig.52. Această diagramă arată un semnal TTL (jos) și RS-232(sus)
3.2.6.1.Intefață RS–232
Numeroase aparate utilizează conectarea la calculator prin intermediul interfeței seriale RS-232. Norma clasifică aparatele în două categorii:
1. DTE (Data Terminal Equipments) – categorie din care fac parte PC-ul, tastatura etc.
2. DCE (Data Communication Equipments) – modem-urile, aparatele de măsurare etc.
Modul de conectare poate să difere de la un aparat la altul. În principiu, se poate conecta numai un singur aparat la o interfață serială. Programarea modului de comunicație poate fi, de asemenea, foarte diferită. De aceea, nu se poate vorbi de un standard. În forma minimală, o conexiune serială RS-232 se compune din numai 3 conductoare:
1. RXD (Receive Data), conductorul pentru semnalul de recepție;
2. TXD (Transmit Data), conductorul pentru semnalul de emisie;
3. GND (Ground), conductorul de masă.
Modul de legare a conductoarelor RXD și TXD la portul calculatorului depinde de aparatul utilizat.
Siguranța în transmisia datelor poate fi mai mare dacă se introduce o comunicație de tip handshaking. În acest caz se folosesc , pe lângă semnalele RXD și TXD (semnale de date), și semnalele RTS (Request To Send) și CTS (Clear To Send).
RTS (cerere de emisie) și CTS (autorizare de emisie) sunt semnale care girează funcționarea half-duplex (HDX) – de exemplu, a liniei telefonice.
Calculatorul semnalizează modem-ului prin RTS că are un caracter de transmis; transmisia este posibilă numai atunci când semnalul CTS este primit de calculator. O siguranță superioară în transmisia datelor se obține prin utilizarea semnalelor DTR (Data Terminal Ready) și DSR (Data Set Ready). Prin aceste semnale receptorul este anunțat că emițătorul este pregătit să trimită datele. Astfel, DTR poate fi perceput ca un semnal de BUSY pentru receptor. Siguranța unei transmisii este determinată de lungimea cablurilor de legatură (maximum 2 x 15=30 m), nivelul de tensiune al semnalelor și viteza de transmisie.
Nivelele de tensiune pentru interfața RS-232 sunt:
• HIGH: -15 V (-25 V);
• LOW: +15 V (+25 V).
Intervalul de la -3V la +3Vnu este permis.
Fig,53.Tipuri de conexiuni utilizate în interfațarea serială: a) varianta minimală; b) varianta handshake; c) handshake cu confirmare DTR și DSR;
d) transmisie cu punte pe semnalele de handshake; e) conectarea unui plotter.
Viteza de transmisie este dată în BAUD. O altă unitate uzuală în cazul transmisiilor este BPS (Bits Per Second). In cazul comunicației seriale între două echipamente, exprimarea vitezei de transmisie în BAUD și BPS este identică. În cazul conectării lor prin intermediul modem-urilor, însă, acest lucru nu mai este valabil. Valorile uzuale pentru viteza de transmisie (Baudrate) sunt:50,110,300,1200,2400,9600,19200,36400,56700.
Formatul de transmisie al datelor este descris prin următorii parametri:
• Baudrate (viteza de transmisie);
• Startbit (bitul de start);
• Numărul de biți de date;
• Paritatea;
• Numărul de biți de stop.
Prin intermediul biților de start și stop se determină începutul, respectiv sfârșitul secvenței de date transmisă. Numărul de biți de date este, de obicei, 7 sau 8. Prin intermediul testului de paritate se pot evidenția eventualele erori de transmisie. În acest sens, există trei posibilități de detecție:
No Parity: Nu se face nici un test de paritate;
Even parity (paritate pară): Emițătorul numără toți biții de date care au valoarea “1” și
setează bitul de paritate cu “1”, dacă suma a fost impară, și cu “0”, dacă suma a fost pară. Receptorul adună biții de date cu valoarea bitului de paritate. Suma este totdeauna (în cazul unei transmisii corecte) pară; în caz contrar, a survenit o eroare la transmisia datelor;
Odd Parity (paritate impară): Metoda corespunde testului de paritate pară, cu deosebirea
că suma biților de date și a celui de paritate este totdeauna (la emițător) impară.
3.2.6.2.Convertor analog/digital
Conversia datelor reprezintă principala operație realizată în cadrul sistemelor de achiziție și reprezintă transformarea semnalelor din formă analogică în formă digitală sau invers.
Convertorul analog-digital reprezintă componenta principală a oricărui sistem de achiziții de date. Acesta realizează transformarea tensiunii analogice de la intrare într-un cod numeric binar (fig. 54). Acest rezultat reprezintă cea mai bună aproximație numerică a tensiunii de la intrare. Măsura acestei aproximații este reprezentată de numărul de biți ai rezultatului conversiei.
Într-un sens mai larg, procesul de conversie analog-digitală poate fi considerat ca o plasare a mărimii de intrare într-un interval de cuantizare, obținut prin divizarea intervalului de variație a acesteia într-un număr de clase egale. Atunci când mărimea exprimată numeric la intrare este transformată în mărime analogică la ieșire se realizează o conversie digital-analogică (fig. 54).
a) structura funcțională a CA/ b) caracteristica de transfer ideală a CA/D
c) structura funcțională a CD/A d) caracteristica de transfer ideală a CD/A
Fig.54. Convertoare analog-digitale și digital analogice: reprezentare funcțională și caracteristică ideală de transfer
Circuitele de conversie a datelor utilizate în cadrul sistemelor de achiziții de date sunt caracterizate printr-o serie de parametri, cum ar fi:
• gama de variație a intrării (pentru CA/D) sau a ieșirii (pentru CD/A)(domeniul de lucru),
reprezentând domeniul maxim de variație a mărimii analogice (de obicei tensiune) și exprimată în unități absolute (V, mV, mA) sau relative (dB);
• caracteristica de transfer, reprezentând dependența mărimii de la ieșirea convertorului față de
mărimea de intrare; pentru un convertor analog-digital caracteristica de transfer ideală este o funcție scară (fig. 54b) iar pentru un convertor digital-analogic este un set de puncte dispuse pe o dreaptă (fig.54d);
• rezoluția reprezintă numărul total de coduri distincte de ieșire ale convertorului analog-digital,
respectiv numărul total de nivele de ieșire pentru un convertor digital-analogic. Uzual, rezoluția se exprimă în biți, în procente din valoarea domeniului de lucru, sau în număr de nivele de cuantificare (CA/D) sau de ieșire (CD/A). Rezoluția teoretică a unui convertor de biți este ; rezoluția reală poate fi însă mai mică, datorită erorilor. Acest parametru important al convertoarelor se determină ca reprezentând valoarea variației minime a mărimii de intrare ce provoacă modificarea a două coduri consecutive de ieșire (CA/D), respectiv valoarea variației minime a mărimii analogice de la ieșire (CD/A). Rezoluția poate fi prezentată ca fiind din domeniul de lucru.
Acest parametru nu trebuie considerat ca o performanță specifică a convertorului, ci un parametru de proiectare. Plecând de la o aplicație concretă, pentru care se impune prelevarea unei mărimi cu o precizie dată, se poate determina rezoluția minimă a convertorului ce va fi folosit;
• timpul de stabilire caracterizează viteza de răspuns a circuitului și reprezintă timpul scurs între
aplicarea unui semnal de intrare de tip treaptă ideală și până la obținerea ieșirii dorite cu o aproximație specificată (de regulă ±1/2 LSB). Timpul de stabilire include mai multe intervale de timp specifice, cum ar fi: timpul de propagare (până la începerea unui efect observabil la ieșire), timpul de creștere (până la prima atingere a nivelului de ieșire dorit), timpul de restabilire (după supracreșterea ieșirii) și timpul de relaxare liniară (amortizarea eventualului răspuns oscilant). Este un parametru specific convertoarelor digital-analogice și se exprimă în unități de timp, indicând și limitele intervalului de aproximație în jurul ieșirii specificate;
• timpul de conversie, reprezintă intervalul de timp necesar unui convertor să obțină mărimea de
ieșire pornind de la o mărime de intrare dată (timpul necesar obținerii codului numeric de ieșire corespunzător mărimii analogice de intrare). Variația tensiunii de intrare, pe parcursul procesului de conversie, introduce o eroare în valoarea semnalului de ieșire. În cazul convertoarelor digital-analogice acest timp poate fi considerat a fi chiar timpul de stabilire; CONVt
• timpul de revenire (relaxare), reprezintă timpul necesar unui convertor pentru a putea opera
din nou corect; revt
• rata de conversie este o măsură a vitezei convertorului și este definită de inversul sumei
timpilor de conversie și de revenire:
În majoritatea situațiilor, timpul de revenire este mult mai mic decât timpul de conversie,
astfel încât rata de conversie poate fi aproximată doar ca invers al timpului de conversie. În cazul convertoarelor rapide și foarte rapide, timpul de revenire trebuie luat în calcul pentru estimarea ratei de conversie;
• timpul de conversie pe bit este timpul echivalent de generare a unui bit (parametru caracteristic
pentru convertoare analog-digitale secvențiale);
• viteza de variație a ieșirii (SR Slew-Rate) a unui convertor D/A reprezintă o caracterizare a intervalului de timp necesar ieșirii să execute excursia maximă în cadrul domeniului de variație.
Conversia analog-digitală este caracterizată în sine prin eroarea de cuantizare. Datorită formei caracte-risticii de transfer (în scară), a codificării unice a unui întreg interval de cuantizare, apare o incertitudine de ±1/2 LSB, nulă la mijlocul intervalului și maximă la ambele capete. Influența erorii de cuantizare poate fi diminuată prin mărirea numărului de biți ai codului de ieșire a convertorului.
Fiecare cuantă (mărime a intervalului) a unei astfel de divizări reprezintă o valoare a mărimii
analogice, pe care se disting nivelurile semnalului de intrare, prezentate prin două combinații de coduri învecinate.
3.2.6.2. Modulul pentru comanda ventilatoarelor
Fig.55. Modulul pentru comanda ventilatoarelor
Într-un circuit analogic, viteza motorului este controlată de nivelul tensiunii. Într-un circuit digital, avem doar două soluții:
• Folosirea unui circuit de rezistență variabilă pentru a controla tensiunea aplicată motorului (soluție complicată, care irosește energie sub formă de căldură)
• Aplicarea intermitentă a tensiunii sub forma PWM
Comanda motoarelor s-a realizat prin folosirea canalelor PWM (Pulse-Width Modulation), de pe pinii 10 și 11 ai microcontrolerului Atmega328P. Comanda cu PWM înseamnă comanda prin modificarea factorului de umplere. Este una dintre cele mai moderne metode de reglare a vitezei motoarelor de curent continuu. Comanda PWM se poate realiza în circuit deschis sau în circuit închis.
În cazul amplificatoarelor PWM, impulsurile aplicate indusului reprezintă trepte de amplitudine U și perioadă T constantă, dar lățime variabilă (t1,t2,t3….). Lățimea impulsurilor este proporțională cu tensiunea de intrare U, iar tensiunea medie de ieșire Uout este proporțională cu durata impulsului.
Astfel se obține un amplificator cu dependență liniară între Uout și U. De asemenea din studiile de până acum s-a observat apariția unui histerezis între creșterea perioadei t1 și descreșterea ei. Acest mod de aplicare a impulsurilor este arătat în fig.56a. Schema electrică pentru acționarea unui motor de curent continuu este redată în fig.56b.
b)
Fig. 56. a) Forma de undă a tensiunii cu modificarea factorului de umplere;
b) Schema electrică de comandă în impulsuri PWM a unui motor de c.c
3.2.6.3.Senzor temperatură cu LM35
Fig.57.Modul senzor temperatură 3D
Seria LM35 sunt senzori de temperatură de precizie, a căror tensiune de ieșire este liniar proporțională cu temperatura în grade Celsius. LM35 are, astfel, un avantaj față de senzori de temperatură calibrați liniar în grade ° Kelvin, că utilizatorul nu este nevoit, să scadă o mare tensiune constantă de la ieșirea sa pentru a obține o scalare Celsius convenabilă. Senzorul LM35 nu are nevoie de nici o calibrare externă sau reglare pentru a oferi precizii tipice de ± 1/4 ° C la temperatura camerei și ± 3/4 ° C în intervalul de temperatură -55 la 150 ° C. Impedanța de ieșire scăzută a lui LM35, ieșirea liniară, și calibrarea inerentă precisă îl facl foarte ușor de interfațat la citire.Poate fi utilizat cu surse de alimentare simple, sau cu surse diferențiale. Absoarbe un curent de doar 60 uA de la alimentarea sa, și are o carcasă proiectată pentru auto-încălzire foarte scăzută de, mai puțin de 0,1 ° C în atmosferă. Circuitul integrat LM35 este evaluat pentru a opera o ° -55 la 150 ° C.
3.2.6.4.Senzor de rotații
Principala sursă de lumină folosită pe post de senzor în aplicațiile de roboți pentru a detecta obiectele opace este infraroșu. Principiul de baza pentru senzorii IR e bazat pe un emițător IR și un receptor IR.
Emițătorul IR va emite un fascicul continuu de IR cât timp acesta va fi alimentat. Receptorul va recepționa fasciculul IR dacă acesta există. Când receptorul IR primește fascicul infraroșu, va genera tensiune pe pinii de ieșire. Tensiunea generată este în gama 0-5V depinzând de fasciculul infraroșu primit, tensiunea generata va fi zero daca nu se primește un fascicul infraroșu. Problema apare atunci când microcontrolerul nu recunoaște decât tensiune digitală de 0V sau 5V. Dacă fasciculul infraroșu recepționat este mai mic, receptorul va produce o tensiune de 2V sau 3V, și microcontrolerul nu va fi capabil să receptioneze aceste valori analogice.
Fig.57.Schema de principiu a unui senzor IR
3.2.6.5.Afișor LCD16x2
Aceste sisteme (module) de afisare sunt alcătuite din: un panou de afisare cu cristale lichide (Liquid Crystal Display), un circuit de comandă (driver) pentru LCD si un controler inteligent (NEC UPD44780, Hitachi HD 44780, etc.), întreg ansamblul fiind montat pe o plachetă de circuit imprimat si prevăzut cu un conector de 14 (16) pini. Controlerul este unul cu interfață paralelă (mai există si controlere si cu interfață serială).
Afisarea este organizată pe un număr de linii si caractere (de exemplu 2 linii x 16
Caractere), fiecare caracter având o structură matricială de 5×7 pixeli/puncte (de fapt o matrice
mai mare de 5×8 pixeli/puncte sau 5 x 10 pixeli/puncte).Acesta incorporează in primul rând o memorie RAM pentru datele de afisat (DD-RAM) si o memorie ROM (CG-ROM) utilizata ca „generator de caractere” predefinite. Mai există si o memorie RAM (CG-RAM) care poate fi utilizată ca generator de caractere pentru caracterele definite de utilizator. Generatorul de caractere tip ROM (CG-ROM) are 160 de caractere predefinite (alfabet european, alfabet japonez simplificat – Katakana, caractere speciale), iar cel RAM-ul (Character Generator -RAM) poate memora până la 16 caractere definite de utilizator.
Memoria de date (Display Data-RAM) are capacitatea de 80 de octeți. Panoul LCD poate fi prevăzut cu un sistem de iluminare (pentru LCD transmisiv) de tip contra-panou (backplane) utilizând o tehnologie LED sau electroluminiscentă (funcție de suprafața utilă a panoului LCD), sistem care se alimentează separat.
Controlerul poate fi interfațat (legat) paralel, cu un sistem de calcul, cu 4 sau 8 linii de
date bidirecționale, plus semnalele care asigură identificarea si sincronizarea transferului de date.
Varianta de 4 biți se foloseste în aplicații la care numărul interconexiunilor este critic.
Tabelul 4: Conexiunile exterioare ale modulului LCD
Semnalele de comandă au următoarea semnificație:
– E – validare operații scriere/citire (are semnificația unui semnal de selecție a modulului).
– R/W – defineste tipul de operație; 1 = citire, 0 = scriere.
– RS – specifică registrele ce se vor accesa:
– RS=0 -> registrul de instrucțiuni: la scrierea codului instrucțiune, la citirea flagului BUSY sau a conținutului numărătorului de adrese.
– RS=1 -> registrul de date (scriere/citire)
Modelul programator al controlerului constă in două registre de 8 biți:
– un registru de instrucțiuni (IR – Instruction Register) destinat memorării codului instrucțiunilor controlerului (de stergere, deplasare) si a informației de adresă pentru memoriile GCRAM si DDRAM.
– un registru de date (DR), destinat memorării temporare a informației ce se va scrie în GCRAM sau DDRAM.
Controlerul poate executa instrucțiuni de forma: stergere ("clear"), activare/dezactivare
("on/off"), clipire("blink") caracter, deplasare text afisat ("scrolling") stânga/dreapta, alegere tip
cursor, etc.
Observații:
1. Flagul "Busy" este necesar pt. sincronizarea accesului la controler, deoarece, după
inițializare, diferite operații au durate cuprinse între xmsec la x10msec; până finalizarea operației
curente controlerul nu poate efectua o nouă operație.
2. Există o secvență de inițializare a controllerului care trebuie respectată strict după
punerea sub tensiune (" power on reset"). Partea de început a secvenței nu poate utiliza flagul
Busy pentru sincronizarea operațiilor. Astfel trebuie respectate anumite intervale de timp
(intarzieri) între comenzile succesive (a se vedea foaia de catalog).
3. Dacă timpul de execuție nu este critic si singura operație de citire ce se efectuează
este flagul "Busy", atunci se poate renunța la conexiunea R/W. În acest caz trebuie cunoscute
(din foaia de catalog) duratele de execuție ale operaților pentru introducerea de întârzieri
corespunzătoare.
Memoria de date DDRAM are o dimensiune de 80 Octeți (caractere). Pentru un afisor de 2 linii x 16 caractere el este configurat astfel:
– "linia 1" cu caractere de la 1-16 la adresele: 80H – 8FH.
– "linia 2" cu caracterele de la 17-32 la adresele: C0H – CFH.
Memoria este adresata prin intermediul unui numărător de adrese generic AC (Address
Counter). Funcție de tipul panoului LCD utilizat, există si alte variante de organizare a afisării,
cu maxim 80 de caractere ( 2×8, 4 x16, 20×1, 20×2, 4×20, etc.).
Codurile utilizate pentru caracterele afisate (si sau memorate in DD-RAM) sunt codurile ASCII
standard, de 7 biți.
Restul memoriei poate fi utilizată la memorare unor caractere suplimentare atunci când se
foloseste facilitatea de deplasare a informației afisate sau la memorare a unei informații oarecare.
Mai multe infromații referitoare la acest LCD se găsesc în anexa cu numele PLCDC1602A atașată la
proiect.
Capitolul IV
4.1.Codul sursă implementat pe placa de dezvoltare
Meniul implementat la nivelul plăcii de dezvoltarea are ca scop prezentarea temperaturii de la nivelul etajului de putere ale driverelor de motoare pas cu pas, precum și controlul ventilatoarelor de la nivelul carcasei care conține toate componentele electronice ,cu ajutorul cărora se va realiza conducerea motoarelor de pe fiecare axă al echipamentului CNC.
Meniul prezintă două submeniuri, fiecare având încorporat alte doua elemente utilizate în controlul temperaturii , precum și controlul ventilatoarelor care realizează răcirea. Astfel meniul implementat la nivelul plăcii de dezvoltare este organizat în felul următor:
Temperatură senzori
Senzor temperatură 1
a.) Arată temperatura
b.) Modifică parametrii
Senzor temperatură 2
a.) Arată temperatura
b.) Modifică parametrii
Ventilatoare
Fan 1
a.)Arată RPM
b.)Modifică RPM
Fan 2
a.)Arată RPM
b.)Modifică RPM
Mai jos este ilustrată și grafic structura meniului:
Meniul a fost realizat utilizând librăria MENWIZ, care prezintă o serie de funcții predefinite , cu ajutorul cărora s-a putut realiza acest meniu. Librăria MENWIZ în schimb a fost realizată pentru un LCD 16X4 (un maxim de 16 caractere pe linie și 4 pe coloană), trebuie amintit și faptul că meniul a fost realizat pentru un ,, LCD Keypad Shield’’ în care fiecărui buton îi era alocat un pin de la nivelul plăcii de dezvoltare, în cazul nostru însă din dorința de a ,,economisi’’ pinii de care dispunem, acest shield a fost realizat având toate butoanele utilizate la navigarea în meniul propriu-zis , având alocat un singur pin (și anume analog pin A0). Pentru a fi recunoscute ca butoane individuale (cu funcții individuale) ,butoanele au fost realizate cu ajutorul unui divizor rezistiv de tensiune, astfel încât în momentul în care un buton este apăsat , o anumită valoare va fi citită la nivelul acestuia și va fi recunoscut ca un buton individual la nivel de program .
În cazul acestei configurări a butoanelor este necesară și implementarea unei funcții de debounce , necesară deoarece , va impune o întârziere la nivelul fiecărui buton , pentru a ne asigura că în momentul în care apăsăm la interval scurt de timp un alt buton valoarea citită la nivelul pinului să nu fie aceeași cu cea a butonului apăsat anterior.
Asemenea oricărui program implementat la nivelul unei plăci de dezvoltare trebuie mai întâi încărcate librăriile , ale căror funcții urmează a fi folosite în cadrul programului respectiv. Pasul următor îl constituie enumerarea/alocarea de valori la nivelul variabilelor pe care le vom implementa la nivelul programului respectiv , urmând apoi loop-ul (main-ul ) programului nostru.
În interiorul loop-ului trebuie declarată comunicarea serială ,, Serial.begin(19200);’’ reprezentând rata de transmisie a datelor în biți pe secundă , care este realizată de placă cu calculatorul.
Esențial în comunicarea plăcii cu elemente externe conectate la pinii acesteia , este setarea pinilor la nivelul cărora sunt conectate aceste componente, spre exemplu pentru pinul analogic la care sunt conectate butoanele, pe acesta îl vom seta în felul următor:,, digitalWrite((A0), HIGH)’’ , însemnând că acest pin va fi setat pe HIGH pe toată durata rulării programului. Pinii utilizați pentru controlul motoarelor în schimb vor fi setați ca OUTPUT deoarece trebuie să transmită comanda către motor.
În cele ce urmează se va prezenta codul utilizat pentru a crea structura meniului implementat la nivelul plăcii. În primul rând trebuie declarat tipul LCD-ului care este utilizat pentru a afișa meniul, acest lucru este necesar pentru a se asigura dispunerea corectă a caracterelor la nivelul LCD-ului .Librăriei MENWIZ trebuie să îi declarăm și numărul de butoane pe care urmează să le utilizăm pentru a naviga în interiorul meniului.
Pasul următor constituie crearea arhitecturii meniului nostru, pentru aceasta se vor utiliza exclusiv funcții de la nivelul arhitecturii MENWIZ. Trebuie deci declarați pointeri către toate sub-meniurile și elementele cuprinse în interiorul acestora , urmând apoi să fie definite fiecare în parte. Structura meniul nostru este declarată în felul următor:
r=menu.addMenu(MW_ROOT,NULL,F("Meniu Principal"));
//–––––
s1=menu.addMenu(MW_SUBMENU,r,F("Temp Senzori"));
s2=menu.addMenu(MW_SUBMENU,s1,F("Senzor temp. 1"));
s3=menu.addMenu(MW_VAR,s2,F("Arata temp."));
s3->addVar(MW_ACTION,&temp1S);
s4=menu.addMenu(MW_VAR,s2,F("Modif.parametru"));
s4->addVar(MW_AUTO_INT,&sp1,28,50,1);
s2=menu.addMenu(MW_SUBMENU,s1,F("Senzor temp. 2"));
s3=menu.addMenu(MW_VAR,s2,F("Arata temp."));
s3->addVar(MW_ACTION,&temp2S);
s3=menu.addMenu(MW_VAR,s2,F("Modif.parametru"));
s3->addVar(MW_AUTO_INT,&sp2,28,50,1);
//–––––
s1=menu.addMenu(MW_SUBMENU,r,F("Ventilatoare"));
s2=menu.addMenu(MW_SUBMENU,s1,F("FAN 1"));
s3=menu.addMenu(MW_VAR,s2,F("Arata RPM"));
s3->addVar(MW_ACTION,&rpm1);
s3=menu.addMenu(MW_VAR,s2,F("Modif.RPM"));
s3->addVar(MW_AUTO_INT,&sp3,0,12,3);
s2=menu.addMenu(MW_SUBMENU,s1,F("FAN 2"));
s5=menu.addMenu(MW_VAR,s2,F("Arata RPM"));
s5->addVar(MW_ACTION,&rotatii2);
s3=menu.addMenu(MW_VAR,s2,F("Modif.RPM"));
s3->addVar(MW_AUTO_INT,&sp4,0,12,3);
Prima linie creează un nod de tip ,,root’’ care conține toate elementele meniului nostru. În următoarea linie se creează un nod de tip ,,submenu’’ care conține 2 elemente (sau funcții ) și anume : ,,Arată temperatura ’’, care ne va arăta temperatura senzorului 1 în momentul în care este apelată din meniu, apelarea acestei funcții care afișează temperatura (care va fi detaliată mai jos ) este și ea la rândul său apelată prin intermediul unui pointer către funcția respectivă ,, &temp1S’’. Legătura dintre pointerul funcției și elementul sub-meniului este realizată prin funcția librăriei MENWIZ: ,, MW_ACTION’’ care solicită confirmarea utilizatorului de apelare a funcției respective, confirmare care este realizată prin apăsarea butonului ,,Select’’ de pe tastatură.
Al doilea element de la nivelul acestui sub-meniu este ,,Modificare parametrii’’,prin intermediul căruia se poarte modifica temperatura la care va porni ventilatorul, funcția ,, MW_AUTO_INT’’ asigură atât mediul prin intermediul căruia acest parametru poate fi modificat cât și memorarea valorii setate pe toată perioada rulării programului , ea fiind resetată la valoarea predefinită în momentul în care este oprită alimentarea . Variabila utilizată la memorarea acestei valorii la care va porni ventilatorul este ,, sp1’’.
În cazul sub-meniului denumit ,,Ventilatoare’’ ,de menționat este ramura denumită,, Modificare RPM’’, la nivelul căreia se utilizează tot funcția ,, MW_AUTO_INT’’ , diferența fiind că domeniu prezintă valori de la 0 la 12 simbolizând 0V-12V , tensiunea la care lucrează ventilatorul nostru. La nivelul acestei ramurii se implementează un control prin PWM (care va fi detaliat mai jos).
Modul de funcționare în ceea ce privește apelarea funcției de afișare a RPM este asemenea celei de afișare a temperaturii.
În continuare vom detalia fiecare funcție implementată la nivelul meniului și anume:
Funcția de control a temperaturii.
Funcția de afișare a temperaturii.
Funcția de control a ventilatoarelor.
Funcția de afișare a vitezei de rotație a ventilatoarelor (RPM)
4.1.1.Funcția de control a temperaturii
Controlul temperaturii se realizează utilizând doi senzori de temperatură LM35 (pentru două integrate ale driverelor de motoare ) , senzorii sunt conectați la pinii analogici A3 pentru senzorul unu , respectiv A4 pentru al doilea senzor. Senzorul prezintă trei pini, la nivelul pinilor laterali se realizează alimentarea senzorului, în timp ce pinul din mijlocul senzorului prezintă un voltaj analogic direct proporțional cu temperatura pe care o detectează. Valoarea acestui pin al senzorului reprezentată în milivolți va fi utilizată pentru a determina temperatura din zona în care este amplasat senzorul. Conversia acelor milivolți în grade celsius se realizează utilizând următoarea formulă (aplicabilă doar în cazul senzorilor de temperatură LM35):
temp în °C = (Vout în mV) / 10;
Iar pentru a citi valoarea utilizând placa de dezvoltare , vom folosi formula :
tempC1=(5.0*tempC1*100.0)/1024.0;
Împărțirea cu 1024 se execută deoarece placa furnizează citirea analogică pe 10 biți.
La nivelul meniului aceste formule sunt implementate în felul următor:
tempC1=analogRead(tempPin1);
tempC1=(5.0*tempC1*100.0)/1024.0;
Funcția analogRead va citi valoarea analogică pe care pinul o prezintă pentru temperatura din momentul citirii.
4.1.2.Funcția de afișare a temperaturii
Valoarea obținută în pasul anterior , este preluată și implementată la nivelul funcției ,,void temp1S ()’’ , care este funcția către care ne va dirija pointerul aflat la nivelul meniului în ramura ,,Afișare temperatură’’. Funcția ,,void tempS1’’ se va executa ori de câte ori este apelată din meniu și este structurată în felul următor:
4.1.3.Funcția de control a ventilatoarelor
Ventilatoarele sunt legate la pinii 10 și 11 ai plăcii, acești pini au fost aleși deoarece sunt printre pinii cu suport PWM al plăcii. PWM (Pulse Width Modulation) , este o tehnică de obținere a unor rezultate analogice utilizând ,,mijloace’’ digitale. Controlul digital este utilizat pentru a obține o undă dreptunghiulară , însemnând un semnal care comută între pornit și oprit.
Această comutație între pornit/oprit poate ,,simula’’ voltajul dintre complet pornit (12V în cazul nostru fiind voltajul la care operează ventilatoarele) , respectiv complet oprit (0V) prin variația timpului petrecut de semnal pornit , versus timpul petrecut de semnal oprit.
Durata timpului ,,petrecut pornit’’ este numită ,,pulse width-lățimea impulsului’’. Pentru a obține valori analogice variate , modifici sau modulezi lățimea acelui impuls. ,,Duty cicle’’ reprezintă perioada de timp reprezentată în procente în care semnalul este în poziția de pornit. Pentru codul nostru am ales patru valori crescătoare de Duty cicle : 25% , 50% , 75% ,100%, reprezentând în cazul ventilatoarelor noastre următoarele voltaje: 3V, 6V, 9V respectiv 12V (valoarea maximă). Pentru a obține aceste duty cicle-uri am folosit funcția analogWrite care va scrie o valoare analogică pe pinul care este conectat ventilatorul pe care dorim să îl controlăm , corespunzătoare unui anumit duty cicle :
analogWrite(ledPin1, 64 ) pentru un duty cicle de 25% , reprezentând 3V
analogWrite(ledPin1, 127 ) pentru un duty cicle de 50%, reprezentând 6V
analogWrite(ledPin1, 191 ) pentru un duty cicle de 75%, reprezentând 9V
analogWrite(ledPin1, 255 ) pentru un duty cicle de 100%, reprezentând 12V
Schema logică a codului este următoarea:
4.1.4.Funcția de afișare a vitezei de rotație a ventilatoarelor (RPM)
Pentru a citi viteza de rotație a ventilatoarelor am folosit un led IR amplasat pe exteriorul ventilatorului , care ,,comunică’’ cu un receptor IR.
Principiul este următorul : senzorul IR recepționează lumina transmisă de către led-ul IR , în momentul în care această ,,punte de comunicare’’ este întreruptă, senzorul transmite plăcii acest lucru,
Pentru a funcționa senzorul este legat la un pin de întrerupere prezent pe placa de dezvoltare.Placa utilizată prezintă doi astfel de pini și anume pinul D3 și pinul D2, la nivelul cărora sunt legați cei doi senzori IR. Utilizând funcția ,,attachInterupt’’ în momentul în care cele două elemente nu mai comunică între ele , adică în momentul în care o pală a ventilatorului trece prin dreptul lor , senzorul IR declanșează o întrerupere la nivelul pinului la care este conectat .În interiorul programului acestei întreruperi sunt contorizate și stocate în variabila ,,rpmcount1’’ sau ,,rpmcount2’’, în funcție de ce senzor declanșează întreruperea.
Contorizarea se face prin apelarea funcției ,,rpm_fun1’’ sau ,,rpm_fun2’’, în funcție de senzorul care o declanșează. La nivelul acestei funcții aflându-se variabila care se incrementează la fiecare apelare a funcției respective, pe care o vom utiliza în determinarea vitezei de rotație.
Calculul vitezei de rotație se realizează prin , anularea întreruperii (doar pe durata execuției calculelor), anularea întreruperii se realizează utilizând funcția ,,detachInterrupt(n)’’- unde n reprezintă pinul la nivelul căruia dorim să anulăm întreruperea ,valoarea obținută în urma calculelor fiind salvată in variabila ,,rpm1’’ . După efectuarea calculelor, întreruperea este activată din nou, astfel încât, pentru o nouă calculare a vitezei de rotație întreruperea este prezentă pe pinul respectiv.
Prin setarea modului întreruperii ca fiind ,,FALLING’’ triggerele vor trece din High în Low .
Formula utilizată pentru calculul vitezei de rotație a ventilatorului este următoarea:
rpm11 = (60/7)*1000/(millis() – timpvechi1)*rpmcount1;
Unde timpvechi1 reprezintă timpul care s-a scurs de la ultima întrerupere, valoarea acestuia trebuie scăzută din timpul actual pentru a asigura o citire curentă a valorilor, timpul obținut în urma acestei scăderii este înmulțit cu ,,(60/7)*1000’’ , aici ,,1000’’ reprezintă o secundă reprezentată în milisecunde,unitatea de măsura utilizată în reprezentarea timpului . Aceasta este înmulțită cu 60 pentru a obține un minut deoarece trebuie să determinăm RPM (Rotații pe minut) , dar este împărțită la 7 deoarece ventilatoarele prezintă 7 pale. Toate valorile calculate anterior sunt înmulțite cu numărul de întreruperi, astfel obținând-se numărul rotațiilor pe minut.
Schema logică este reprezentată mai jos:
4.1.5.Codul implementat la nivelul butoanelor
După cum am menționat și la începutul acestei prezentării butoanele utilizate pentru navigarea în meniu sunt declarate toate pe pinul analogic A0, pentru a diferenția fiecare buton a fost necesară conectarea unor rezistențe de valori diferite pentru fiecare buton, astfel încât în momentul în care un buton este apăsat să fie citită o valoare analogică distinctă pentru fiecare. La începutul meniului a fost necesară specificarea numărului de butoane utilizate , pentru ca librăria MENWIZ să aibe posibilitatea de a aloca o funcție pentru fiecare buton în parte.
Funcția la nivelul căreia sunt specificate acțiunile butoanelor este ,,void readButtons( )’’ ,această funcție trebuie declarată înaintea restul funcțiilor enumerate mai sus , deoarece în caz contrar ea poate fi blocată de una din celelalte funcții, astfel fiind imposibilă navigarea prin meniu.
În interiorul funcție ,,readButtons’’ vom determina ultimul buton alocat utilizând variabile:
,, ultimButtonApasat = buttonApasat;’’
Apoi sunt citite valorile analogice butonului apăsat utilizând:,, buttonValoare = analogRead(buttonPin);’’, urmează alocarea fiecărui buton în funcție de valoarea sa analogică:
,, if(buttonValoare >= 900)
{
buttonApasat = 0;
noButtonApasat(); // is calling an extra fucntion
}
else if(buttonValoare >= 501 & buttonValoare <= 600)
{
buttonApasat = 4;
buttonAct = 1; // set the menu flag1
}
else if(buttonValoare >= 300 & buttonValoare <=400)
{
buttonApasat = 3;
buttonAct = 1; // set the menu flag1
}
else if(buttonValoare >=700 & buttonValoare <=900)
{
buttonApasat = 2;
buttonAct = 1; // set the menu flag1
}
else if(buttonValoare >= 150 & buttonValoare <=250)
{
buttonApasat = 1;
buttonAct = 1; // set the menu flag1
}
}’’
Cunoscând valoarea aproximativă a fiecărui buton , nu ne rămâne decât să alocăm butonului pe care noi îl dorim acțiunea pe care noi dorim să o execute (UP, DOWN, ESCAPE, SELECT). Acțiunea fiecărui buton este alocată utilizând variabila ,,buttonAct’’, căreia îi vom da o valoare de la 1 la 4, care este corespunzătoare unei anumite acțiuni, variabila ,,buttonApăsat’’ este setat un flag care anunță meniul de faptul că un buton a fost apăsat.
Funcția ,,noButtonApăsat’’ are rolul de a anunța programul că nici un buton nu a fost apăsat
,, int noButtonApasat()
{
return MW_BTNULL;}’’
Urmează partea codului care asigură navigarea în meniu, pentru a prevenii apariția unor citiri false la nivelul pinului A0, este implementată la acest nivel și o funcție de debounce, care se execută în felul următor, măsoară durata de la ultima apăsare a butonului valoare utilizând funcția millis() a plăcii de dezvoltare, apoi se verifică dacă este setat flag-ul (care anunță codul ce specifică dacă a fost sau nu apăsat un buton) apoi se verifică dacă prezintă alocată o valoare (pentru a determina care buton a fost apăsat) , iar în ultimul rând se verifică dacă este setat flagul ,,stopMenu’’. Dacă sunt îndeplinite condițiile se inițializează timer-ul meniului care previne apăsarea pentru 1,5 secunde de la ultimul buton apăsat.
Se intră în funcția variabila ,,buttonApasat’’, pe baza căreia se determină cazul din ,,switch’’ căruia care corespunde butonului respectiv.
Odată determinat butonul , toate flagurile precum și timerul sunt resetate și se poate apăsa pe un alt buton. Codul la nivelul căreia au loc aceste operații este următorul:
,,long menublockTime = millis();
if (buttonAct == 1 && buttonApasat != 0 && stopMenu == 0) // we have a state were we process a menu navigation step once and block it for 2 secs
{
menuOffTime = menublockTime + 1500; //start the timer. You can change this blocking time to your convenience but do not make it lower aa 200 msecs
stopMenu = 1;
switch (buttonApasat)
{
case 1: // Up
return MW_BTU;
break;
case 2: // Select
return MW_BTC;
break;
case 3: // Down
return MW_BTD;
break;
case 4: // Escape
return MW_BTE;
break;
}
}
if (menuOffTime != 0 && menublockTime > menuOffTime) // Reset of the timer so a new menu action can be processed
{
buttonAct = 0; // resets the flag 1
buttonApasat = 0;
menuOffTime = 0; // resets timer to zero
stopMenu = 0;
//digitalWrite(led13Pin,LOW); // set timer led OFF
} }’’
Capitolul VI
6.1 Concluzii generale
După cum este precizat în titlul său, lucrarea de față și-a propus să dezvolte un echipament de tip CNC bazat pe un calculator, un program de interpretare a unui cod și o electronică de comandă a motoarelor pas cu pas.
Concluziile generale ale acestei lucrări pot fi sistematizate după cum urmează:
■ structura electronică modulară asigură simplificarea proiectării și reducerea cheltuielilor în caz de defect;
■ construcția generală este simplă, cu destul de puține piese în mișcare, asigurând o funcționare sigură, silențioasă, un număr mare de cicluri de funcționare, în condițiile reducerii greutății și volumului; prin soluția aleasă, placa electronică nu este încorporată în carcasă, alături de elementele active și structura mecanică asociată;
■ standul dezvoltat este alcătuit din trei mari componente:
-software – mediul Mathlab și Mach3@ ;
-electronic – controllerul de comandă a motoarelor și placa de dezvoltare ;
-mecanic – ansamblul propriu-zis ;
6.2 Contribuții personale
În conformitate cu obiectivele propuse, precum și în urma rezultatelor obținute pe
parcursul elaborării lucrării de diplomă, autorul consideră că în cazul acestei lucrări a adus
următoarele contribuții personale:
sinteză originală, bazată pe o bibliografie extinsă, a caracteristicilor generale, constructive
și funcționale, ale sistemelor automatizate ;
sistematizarea principalelor avantaje și dezavantaje ale utilizării echipamentelor de tip
CNC ;
argumentarea, prin analiza comparativă a unor exemple, a posibilităților de a îmbunătăți
performanțele echipamentelor ;
proiectarea unor scheme electronice de comandă ;
proiectarea și realizarea unui stand complex, destinat studiului experimental ;
6.3 Direcții viitoare de cercetare
Rezultatele teoretice și experimentale ale cercetărilor dezvoltate în prezenta lucrare de
diplomă deschid noi orizonturi de cercetare în mecatronică și în ingineria de precizie, în
special în domeniul unor noi tipuri de echipamente automatizate și a aplicațiilor lor în sisteme automatizate.
Dintre numeroasele cercetări ce pot fi abordate în viitor se pot menționa:
● dezvoltarea unor noi module din structura acestui tip de echipament;
● proiectarea, realizarea și testarea experimentală a unei CNC, pentru o anumită gamă de aplicații;
● cercetarea teoretică și experimentală a acestui tip de mașină;
● îmbunătățirea structurii mecanice ;
● diversificarea și extinderea acestor echipamente ;
● perfecționarea sistemului de comandă și control, echiparea cu senzori și comanda lor în buclă închisă ;
● echiparea motoarelor și etajelor de putere cu sisteme de răcire forțată ;
● îmbunătățirea controlului pentru standul dezvoltat ;
● dezvoltarea unor noi aplicații cu acest gen de echipament.
Acest proiect a fost dezvoltat din dorința de a studia un “robot serial” care să ușureze și să perfecționeze munca depusă de ființa umană, deoarece oamenii sunt predispuși la erori. Erorile umane sunt repetabile mai ales în industria care necesită o linie de producție deoarece există factori precum oboseala, stresul, sau neatenția. În acest caz brațul robotic poate ajuta la scăderea numărului de accidente de muncă.
Dacă privim flexibilitatea aceestui tip de robot din punct de vedere al capacității de producție putem spune că semnificația ei este abilitatea de a crește sau descrește rapid nivelul de producție pe linia de fabricație. Robotul este conceput pentru a înlocui în mare parte munca umană, aceasta asistând doar la operațiile făcute de robot și intervenind la apariția unor erori sau defectări tehnice ale robotului.
Robotul creat face parte din clasa roboților articulați care beneficiază de un grad ridicat de libertate și ușurință în mobilitate având șase grade de libertate: trei grade în plan orizontal și trei grade în plan vertical. Roboții seriali de multe ori au șase grade de libertate, deoarece este nevoie de acestea pentru a muta un obiect manipulat într-o poziție arbitrară și orientată în spațiul de lucru al robotului. Un manipulator reprezintă un pseudo-robot cu un sistem de comandă simplu printr-un program rigid, având o aplicație ridicată.
Dezavantajele robotului pot apărea la eventualele erori de programare care ar putea duce la o funcționare defectuoasă a robotului. Un dezavantaj major al acestui robot este fixarea bazei, deoarece are un spațiu limitat în zona de lucru.
Studierea acestui tip de robot mi-a amplificat dorința de a aprofunda tema aleasă, acest lucru ducând la dezvoltarea unei aplicații în cadrul căreia am realizat robotul pe care l-am studiat, cu ajutorul software-ului numit Catia. Realizând întreaga proiectare a robotului articulat de tip RRR-RRR, am reușit să înțeleg strucura mecanică a acestuia, precum și modul de funcționare.
Observând utilitățile numeroase ale acestuia, cum ar fi ca aparat de sudură, pentru a asambla diverse componente, în vopsirea automobilelor și numeroase altele, pe viitor aș dori să am ocazia să îl pot construi și pune în aplicație întreaga funcționalitate despre care am studiat.
Bibliografie
T. Barabás, T. Vesselényi, Robotică – Conducerea și programarea roboților industriali, Editura Universității din Oradea, 2004.
T. Barabás, Structuri deschise de automatizare a fabricației din cadrul hipersistemelor
CIM robotizate, Editura Universității din Oradea, 2004.
I.Bogdanov,Microprocesorul în comanda acționărilor electrice, Editura Facla,
Timișoara, 1989.
T. Borangiu, Conducerea multiprocesor în timp real a structurilor flexibile de fabricație, Editura Tehnică, București, 1989.
T. Borangiu, Sisteme educaționale în robotică, Editura Tehnică, București, 1991.
G. Cojocaru, Fr. Kovács, Roboți în acțiune. Probleme ale sintezei sistemelor de fabricație flexibilă, Editura Facla, Timișoara, 1986.
D Drăgulescu, M. Toth Tașcău. Elemente de inginerie mecanică, Vol. I-II,
Universitatea Tehnică, Timișoara, 1993.
I. Gavriluț, T. Barabás, A. Gacsádi, Bazele robotici, îndrumător de laborator, Editura Universității din Oradea, 2006.
M. Gavriș, T. Barabás, Comanda roboților – Îndrumător de laborator, Editura
Universității din Oradea, 1996.
T. Ionescu, Sisteme și echipamente pentru conducerea proceselor industriale, Editura
Didactică și Pedagogică, București, 1982.
G. Ionescu, ș.a. Traductoare pentru automatizări industriale, Vol. I. Editura Tehnică, București, 1985.
F. Kovacs, C. Rădulescu, Roboți Industriali, vol. I-II, Universitatea Tehnică Timișoara, 1992.
*** Industrial Micro Robot System RVM1 – Manual de operare Mitsubishi Electric.
[1]. Publicație virtuală, Roboți, http://www.scribd.com/doc/131814008/88582271-Roboti
[2]. Publicație virtuală, Roboți , http://www.atlantykron.org/Documents/ROBOTI.pdf. [3] Publicație virtuala, Robotică, http://www.scribd.com/doc/13355830/Cap-7-Robotica
[4] Lung-Wen Tsai “Robot Ananlist: The Mechanics of Serial and Parallel Manipulators”, Ed.
John Wiley & Sons, Hoboken,United States, 1999, p. 03 mar [5] P . Antonescu, Sinteza manipulatoarelor – note curs, 2005.
[6] Publicație virtuala, Roboți industriali, http://www.scribd.com/doc/60960755/Roboti-industriali
[7] Publicație virtuala, Robotul-clasificarea roboților http://www.scrigroup.com/tehnologie/tehnica- mecanica/Robotul-Clasificarea-robotilor12177.php
[8] Antonescu, P., Sinteza manipulatoarelor – note curs, 2005. [9] Dassault systemes, Catia V5R21, 2011, p. 04 apr.
[10] Publicație virtuala, Serial manipulator, http://en.wikipedia.org/wiki/Serial_manipulator
[11] Publicație virtuala, Studiu de caz, http://www.scribd.com/doc/26947850/studiu-de-caz-I
[12 ] Etienne Dombre, Modeling, Performance Analysis and Control of Robot Manipulators, Ed.
ISTE, London/GB, 2007, 30 Jan
[13 ] Serdar Kucuk, Serial and Parallel Robot Manipulators – Kinematics, Dynamics, Control and Optimization, Ed. Janeza Trdine 9, Rijeka, Croatia, 2012, 8 Sep
[14] Seth Hutchinson, Robot Modeling and Control, United States of America, 2005, 18 Nov
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Celula Didactica Flexibila de Fabricatie (ID: 162081)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
