Sistemele DE Automatizare CU Microcontroller

Cuprins

1. INTRODUCERE

Automatizările reprezintă o ramură vastă a tehnicii, a cărui scop este ca instalațiile și mașinile să poată lucra independent, fără a fi necesară intervenția umană.

În acest scop sunt folosite automatele programabile, acestea fiind sisteme de calcul special proiectate pentru controlul proceselor. Denumite și Programmable Logic Controllers (PLCs), ele fac parte din familia sistemelor de control distribuite, fiind sisteme de control în timp real.

Toate sistemele automatizate cuprind două părți:

Parte operativa (PO), ce constă din elementele care acționează asupra procesului;

Parte de comandă (PC), ce coordonează acțiunile părții operative.

Prezenta lucrare de diplomă își propune realizarea unui sistem de automatizare cu microcontroller, folosind o platformă cu microcontroler de tip Arduino Mega 2560, fiind o platformă de tip open source, având în vedere controlul unei stații modulare Festo Didactic.

Acest proiect este structurat pe 6 capitole, o scurtă descriere a acestora fiind prezentată în continuare.

Primul capitol este cel de față, unde se prezintă pe scurt conținutul prezentului proiect, fiind urmat de cel de al doilea capitol, intitulat “Stadiul actual al cercetărilor și realizărilor privind sistemele de automatizare cu microcontroller”. Acest capitol descrie câteva tipuri de automate programabile utilizate frecvent în cadrul automatizărilor simple și a celor industriale.

Cel de al treilea capitol, “Considerații teoretice privind sistemele de automatizare cu microcontroller”, prezintă structura generală a unui automat programabil și a unui sistem automatizat și descrie, în detaliu, elementele componente:

Subsistemul mecanic: tipuri de elemente de preacționare, tipuri de elemente de acționare;

Subsistemul electronic: microcontroller-e, senzori, interfețe utilizator, surse de curent;

Subsistemul software: funcții logice,

Capitolul al patrulea, denumit “Proiectarea automatului programabil”, reprezintă cel mai important capitol din cadrul proiectului. În cadrul acestui capitol au fost concepute: subsistemul hardware ce are în componență sursa de curent și placa de dezvoltare Arduino Mega împreuna cu optocuploare și relee; subsistemul electronic pentru protejarea intrărilor și a ieșirilor din cadrul automatului programabil și interfațarea utilizator(fizică), subsistemul software ce cuprinde programele de funcționare pentru sistemul cu microcontroller și comunicația Arduino- LabView.

În capitolul 5, “Realizarea automatului programabil”, este descrisă realizarea pas cu pas a sistemului, precum și modul de utilizare al acestuia.

Proiectul se încheie cu concluziile finale, contribuții personale și perspective de dezvoltare.

2. STADIUL ACTUAL AL CERCETĂRILOR ȘI REALIZĂRILOR PRIVIND SISTEMELE DE AUTOMATIZARE CU MICROCONTROLLER

În cadrul proceselor industriale o importanță deosebită o are automatizarea acestor procese, adică realizarea acestora fără participarea în mod direct a omului.

Introducerea pe scară largă a automatizării în procesele tehnologice deschide largi perspective în ceea ce privește aspectul cantitativ si calitativ al producției.

Necesitatea introducerii automatizărilor constă în avantajele substanțiale pe care acestea le oferă:

Creșterea vitezei de lucru a utilajelor și, implicit creșterea apreciabilă a producției și a productivității muncii; procesele de producție se desfășoară fluent, fără timpi morți sau timpi de odihnă

Înlocuirea operatorilor umani în sarcini care se desfășoară la un grad ridicat de pericol

Capacitatea de execuție a unor sarcini care pot depăși posibilitățile umane în materie de viteză de calcul, volum, greutate etc.

Eliberarea omului de la conducerea directă a proceselor tehnologice, cu posibilitatea relocării acestora pentru alte scopuri lucrative

Îmbunătățirea economică; investițiile făcute în automatizări sunt recuperate într-un timp foarte scurt prin eficientizarea proceselor.

Controlerele programabile logice (PLC) sunt automate de comandă și reglare folosite pentru mașini si procese industriale. Ingineria controlată a evoluat foarte mult de-a lungul timpului, dezvoltarea tehnologiei și implicit a calculatoarelor a ducând la apariția revoluționară a acestor PLC-urilor.

Odată cu apariția microprocesoarelor și utilizarea acestora în construcția PLC-urilor s-a ajuns la dezvoltarea funcționalității. Astfel, prețul de cost al acestora a scăzut, ducând la îmbunătățirea gabaritului și a consumului de energie necesar.

Cele mai cunoscute firme producătoare de automate programabile sunt Mitsubishi Electric, Siemens, Schneider, Telemecanique , Omron, General Electric, Moeller.

În continuare vom prezenta unele dintre cele mai avansate, dar și cele mai utilizate sisteme de automatizare cu microcontroller la nivel internațional.

2.1 Automatul programabil SIMATIC S7-300

Automatul programabil SIMATIC S7 300, produs în cadrul companiei Siemens, face parte din clasa de mini automate programabile destinate aplicațiilor industriale de mică și de medie anvergură.

Acest tip de automat este potrivit pentru realizarea funcțiilor de automatizare ale unui utilaj tehnologic complex sau pentru cele ale unei linii tehnologice formate din mai multe utilaje.

Această familie de automate programabile cuprinde unități centrale de procesare numerică cu grade diferite de complexitate, distribuite în două clase distincte:

Unități centrale de prelucrare de tip compact, care pe lângă porturile de comunicație conțin și canale de achiziție a semnalelor numerice și analogice și canale de elaborare a comenzilor numerice și analogice

Unități centrale de prelucrare de tip standard, care conțin numai procesorul și porturile de comunicație. Acestui tip de unități centrale de prelucrare li se pot atașa module de extensie de tip SM, CP, IM sau FM pentru achiziție și control, dar și pentru realizarea unor funcții speciale.

În ceea ce privește modulele de extensie, acestea sunt prevăzute cu conectoare frontale, care pot fi detașate. Amplasarea acestor module se face în sertare tipizate și este impusă astfel: în partea stângă a unității centrale se amplasează sursa de alimentare (PS). În primul slot din dreapta unității centrale se amplasează modulul procesor de comunicație (CP).

Dacă pentru automatizare este necesar un număr mai mare de intrări/ieșiri în sertarul principal se pot pune un număr de module de intrări de semnal intrări/ieșiri numerice/analogice. Numărul maxim de module amplasate într-un astfel de sertar este de opt, incluzând unitatea centrală.

În cazul în care nici acest număr de intrări/ieșiri nu satisfac nevoile automatizării acest sistem mai poate fi extins cu un număr de maxim trei sertare separate prin atașarea la unitatea centrală de prelucrare din sertarul principal a unei interfețe de tip IM de emisie și a uneia de tip IM în fiecare din sertarele de extensie.

Aceasta interfață de tip IM aflată în sertarul principal are rolul de a coordona comunicația cu sertarele individuale ce conțin modulul IM de recepție.

Automatul programabil S7 300 poate funcționa în sistem ierarhic distribuit ca “slave” pe magistrala de comunicație de tip PROFIBUS.

Din punct de vedere constructiv automatul programabil SIMATIC S7 300 se prezintă sub forma unui panou cu modulele asamblate pe o șină standard. Conexiunile la traductoare, elemente de execuție se realizează la conectorii de pe panoul frontal al modulelor de extensie.

2.2 Automatul programabil SIMATIC S7-400

Automatul programabil SIMATIC S7-400, produs în cadrul companiei Siemens, face parte din cadrul unei clase superioare și performante a automatelor programabile, acestea având ca destinație aplicațiile industriale de mare anvergură.

Aceste echipamente sunt formate din module de funcționare distincte care se asamblează în, tr-o structură compactă cu ajutorul unor module de tip sertar, în funcție de cerințele de calcul/procesare, numărul de intrări/ieșiri pentru semnalele analogice/numerice, sau pentru asigurarea unor funcții speciale pentru traductoare sau actuatoare speciale.

Automatele programabile SIMATIC S7-400 cuprind:

Unități centrale de prelucrare numerică (CPU) cu diferite grade de complexitate caracterizate prin viteze de procesare, memorii de stocare a programelor si a datelor, numărul de porturi de comunicație

Module procesor de comunicație

Module de interconexiune între sertare pentru extinderea numărului acestora conduse de o singura unitate centrală

Module de semnal de tip numeric sau analogic, având canale de intrare sau de ieșire sau module cu funcții specifice, module de alimentare

Configurația automatului programabil se realizează în funcție de numărul de intrări/ieșiri necesare pentru automatizare. În primul sertar se poate amplasa un număr de maxim opt module, incluzând unitatea centrală. Numărul de module de intrări de semnal intrări/ieșiri este determinat de cerințele procesului.

La fel ca în cazul automatului programabil SIMATIC S7-300, prezentat anterior, sistemul poate fi extins prin atașarea la sertarul principal, ce conține unitatea centrală de prelucrare a unei interfețe de tip IM de emisie si a unei interfețe de tip IM de transfer la fiecare din sertarele de extensie.

Echipamentul tehnologic de tip automat programabil SIMATIX S7-400 poate oferi:

Modularitate prin asigurarea unor sertare tipizate ce au diferite funcții

Viteză ridicată de procesare

Performante notabile în ceea ce privește comunicația de date

Posibilitatea schimbării configurației

Se poate menționa ca memoria disponibilă în cadrul acestui automat programabil are volume diferite, în funcție de tipul de unitate centrală de prelucrare, aceasta poate să ajungă până la 30 MB pentru cea mai performantă unitate centrală de prelucrare, CPU 417. Cardul de memorie externă poate sa aibă capacitatea de stocare de maxim 64 MB.

2.3 Automatul programabil TWIDO

Automatele programabile TWIDO, produse de compania Schneider, fac parte din clasa aplicațiilor de mică amploare, fiind folosite în general pentru automatizări ale unor utilaje tehnologice cu funcții restrânse.

Aceste tipuri de automate programabile cuprind:

Unități centrale de prelucrare (CPU), ce conțin intrări/ieșiri incorporate

Module analogice ( convertoare de tip analog/digital, respectiv digital/analog)

Module de memorie

Module de extensie a numărului de intrări/ ieșiri digitale

Dispozitive de conectare a modulelor de extensie

În cadrul automatelor programabile, unitățile centrale au în componență un port serial pentru a realiza comunicația în timp real.

Automatele TWIDO au următoarele magistrale:

RS 232

Ethernet

CANopen

AS

Automatele programabile TWIDO de tip compact nu permit atașarea modulelor de extensie, motiv pentru care există automate TWIDO modulare, care permit acest lucru.

sw

Fig.4 Panouri frontale pentru modulele de extensie TWIDO

Sunt disponibile ca module de extensie pentru automatele TWIDO următoarele:

-8 intrări digitale cu bloc terminal

-16 intrări digitale cu bloc terminal

-32 intrări digitale cu conector

În cazul în care este necesară o extindere a capabilităților de comunicație automatele modulare TWIDO permit atașarea unui modul de extensie de interfață RS 232 sau RS 485. De asemenea se poate atașa un modul adaptor de comunicație opțional pentru ca aceste PLC-uri să poată comunica cu dispozitive de afișare.

2.4 Automatul programabil CONTROLLINO

Controllinno este un automat programabil creat pentru automatizarea proceselor industriale, dar și pentru uzul privat, costul acestuia fiind relativ redus față de automatele programabile menționate anterior.

Acesta este construit în jurul unui microcontroller Atmel ATmega 328 sau ATmega 2560, și este compatibil cu platforma cu microcontroller Arduino.

Este perfect pentru aplicații industriale, automatizarea locuinței personale sau poate fi folosit în scopuri educaționale.

Automatul programabil Controllino vine în trei variante:

Controllino Mini

Controllino Maxi

Controllino Mega

Caracteristicile generale alnerale ale PLC-ului Controllino Mini sunt:

Microcontroller: ATmega 328

Frecvența de ceas: 16MHz

RTC

6 x Ieșiri cu relee

8 x Intrări Analogice/ Digitale

8 x Iesiri Analogice/ Digitale

Automatul programabil Controllino Maxi are următoarele caracteristici:

Microcontroller: ATmega 2560

Frecvența de ceas: 16MHz

RTC

Conector Ethernet

Interfață de comunicație RS 485

10 x Ieșiri cu relee

12 x Intrări Analogice/ Digitale

12 x Iesiri Analogice/ Digitale

Caracteristicile generale ale PLC-ului Controllino Mega sunt:

Microcontroller: ATmega 2560

Frecvența de ceas: 16MHz

RTC

Conector Ethernet

Interfață de comunicație RS 485

16 x Ieșiri cu relee

24 x Intrări Analogice/ Digitale

24 x Iesiri Analogice/ Digitale

2.5 Concluzii, motivul abordării temei și obiectivele proiectului

În urma analizei stadiului actual asupra cercetărilor și realizărilor privind sistemele de automatizare cu microcontroller se desprind următoarele concluzii:

Sistemele de acest tip sunt destinate atât mediului industrial cât și mediului academic;

Caracteristicile sistemelor de automatizare performante sunt:

Existența unor calculatoare de proces sau a unor echipamente cu automate programabile cu posibilitatea configurării acestora în funcție de automatizarea necesara procesului tehnologic

Numărul de module intrări/ieșiri

Existența unor echipamente de comunicație cu protocoale standard (Profibus, Profinet, TCP/IP) ce realizează schimbul rapid de date cu alte sisteme

Existența unei interfețe HMI, o interfață om-mașină, ce are rolul de a aduna, combina și structura informațiile din cadrul automatului programabil, fiind un terminal pentru utilizator

Îmbunătățirea economică datorată eficientizării proceselor, amortizând astfel investițiile în automatizări

Scopul acestui proiect este realizarea unui sistem de automatizare cu microcontroller, destinat controlului proceselor cu funcții restrânse, dar și pentru automatizări de o anvergura medie. Hardware-ul sistemului cu microcontroller trebuie să asigure cerințele procesului de automatizare prin viteza de procesare, numărul de module de intrări/ ieșiri, asigurarea comunicației cu un calculator personal (PC), avându-se în vedere și realizarea unei interfețe HMI (Human-machine interface; interfață om-mașina) ca viitoare direcție de dezvoltare a acestui proiect.

Obiectivele proiectului vor avea în vedere:

Proiectarea și realizarea părții electronice pentru comanda și controlul sistemului

Proiectarea și realizarea software-ului de comandă și control

Testarea întregului sistem cu microcontroller pe o stație modulara Festo Didactic

Testarea comunicației între sistemul cu microcontroller și un calculator personal prin trimiterea unor comenzi din cadrul PC-ului către o stație modulară Festo Didactic

Considerații teoretice privind sistemele de automatizare cu microcontroller

Inițial automatizările erau realizate cu elemente electromecanice, electronice sau pneumatice în logică cablată, ulterior acestea fiind înlocuite cu așa numitele automate programabile ce asigură o mare flexibilitate, siguranță mărită în funcționare, o structura compactă și de un gabarit redus, dar și o programare rapidă și ușoară.

În continuare se vor prezenta cele doua componente ale sistemelor automatizate:

Subsistemul HARDWARE

Subsistemul SOFTWARE

3.1 SUBSISTEMUL HARDWARE

Un sistem automatizat, din punct de vedere hardware este format din:

Parte operativă, conține elementele ce acționează asupra procesului

Parte de comandă, care coordonează acțiunile părții operative

Partea operativă, după cum se menționează mai sus, este partea ce acționează asupra procesului și conține elemente de acționare cum ar fi motoare, relee, pistoane hidraulice etc.

Partea de comandă este cea care emite comenzi către partea operativă și primește informații de la proces. (Calculatoare de proces, automate programabile etc.)

3.1.1 Structura unui automat programabil

Un automat programabil este compus din următoarele elemente:

Sursa de tensiune

Unitatea centrală de prelucrare

Interfața cu procesul

Sursa are rolul de a converti tensiunea în 24V DC. Unitatea centrală de prelucrare, dar și modulele de intrare/ieșire se vor conecta și alimenta la această sursă de curent continuu.

Unitatea centrală de prelucrare conține procesorul, memoria, dar și interfețe de comunicație cu sistemul de programare. Uneori este necesar sa fie urmăriți mai mulți parametri din cadrul procesului tehnologic, motiv pentru care unitatea centrală poate să aibă în componență și o interfață de comunicație cu alte automate programabile.

În ceea ce privește zona de memorie a unui automat programabil, aceasta se împarte în:

Zone de memorie de încărcare: conțin programul complet scris de către utilizator, acesta fiind disponibil în blocurile de compilare-executare. Tot în memoria de încărcare se află fișierul de configurare hardware, ce conține informații despre tipul de CPU folosit. La unele PLC-uri simbolurile, listele de alocare sau comentariile se pot stoca în această zonă.

Zone de memorie de lucru: această memorie este una RAM integrată. În cadrul acestei zone se execută doar componentele relevante ale programului realizat de utilizator. Datele sunt copiate în cadrul memoriei de lucru din memoria de încărcare de către unitatea centrală de prelucrare.

Zone de memorie de sistem: este o memorie de RAM ce conține elemente cum ar fi intrările sistemului, imaginea ieșirilor sistemului, numărătoare, temporizatoare, biții de memorie.

Conexiunile prin intermediul cărora se face schimbul de date între modulele componente ale automatului programabil se află în cadrul magistralei interne, și este structurată în:

Magistrala de date: pe care circulă datele înspre și dinspre unitatea centrală

Magistrala de adrese: pe care unitatea centrală depune adresele perifericelor cu care comunică

Magistrala de comanda și control: pe care circulă semnalele de comandă și control

Interfața cu procesul este compusă din module de intrări și ieșiri logice, de tip numeric sau analogic. Cu ajutorul acestor intrări și ieșiri automatul programabil comunică cu procesul automatizat. Modulele de intrare preiau semnale de la senzori, semnale care apoi sunt convertite în unele logice, urmând să fie prelucrate de către unitatea centrală. Modulele de ieșire au rolul de a realiza conversia semnalelor de la unitatea centrală în semnale de comanda ce au scopul de a acționa diferite echipamente prin intermediul actuatorilor.

Clasificarea automatelor programabile

Din punct de vedere al structurii se pot distinge două tipuri de automate programabile (AP):

Automate programabile cu structură monobloc, constituite dintr-o singură unitate. În acest caz elementele ce intră în componența automatului se află într-o carcasă, dimensiunile variind în funcție de numărul de intrări și ieșiri.

Automate programabile modulare, această structură fiind specifică PLC-urilor complexe ce cuprind o unitate dotată cu sursă de alimentare și acces la o magistrală comună, ce au posibilitatea cuplării diverselor module pentru realizarea configurației dorite.

În funcție de numărul de intrări/ ieșiri există:

AP micro, ce au un număr de 32 intrări/ieșiri. Numărul cel mai întâlnit este de 20.

AP mici, ce au un număr de 128 de intrări/ieșiri. Acestea sunt echipamente destinate să înlocuiască circuitele cu contacte și relee.

AP medii, cu un număr de 1024 de intrări/ieșiri. Aceste automate se realizează cu procesoare de 16 biți și pot fi programate în limbaje de programare evoluate.

AP mari, cu un număr de terminale de intrare și ieșire de maxim 4096.

AP foarte mari, având un număr de 8192 terminale de intrare/ieșire, această valoare însă nu este una limită având în vedere evoluția foarte rapidă a automatelor programabile.

După dimensiunea magistralei de date avem:

AP cu prelucrare la nivel de bit, prelucrarea realizându-se asupra unor operanzi de tip bit, magistrala având 1 bit.

AP cu prelucrare la nivel de cuvânt (word), unde prelucrarea se efectuează asupra unor operanzi de n biți.

AP mixte, ce conțin două unități aritmetico-logice pentru lucrul cu operanzi de tip bit sau de tip word.

3.1.2 Elemente de intrare în cadrul sistemelor automatizate

Semnalele digitale sunt cel mai des folosite în tehnică, având la bază două valori logice, 0 și 1, sau putem spune ca au două stări: pornit și oprit. Printre modulele de intrare se pot menționa unii senzori, butoane, acestea fiind dispozitive ce au ca răspuns un semnal digital.

Pentru ca un automat programabil să citească valoarea unui astfel de dispozitiv, acesta trebuie să primească un semnal de la senzor printr-un canal de intrare digital. În interiorul acestui modul de intrare se află, în mod obișnuit, o diodă emițătoare de lumină (LED) ce va aprinsă în momentul în care dispozitivul a cărui valoare trebuie citită va fi pornit. Lumina creată de LED va ajunge pe un dispozitiv fotosensibil ca un fototranzistor, în interiorul modulului, care într-un final va activa un bit în interiorul automatului programabil.

Acest transfer al semnalului electric între cele doua circuite, cel al dispozitivului de intrare și cel al automatului programabil, împiedica tensiunile înalte sau așa numitele “spike-uri” de tensiune ce pot duce la anumite deteriorări.

Senzorii sunt dispozitive ce generează semnale electrice în funcție de anumite semnale sau stimuli. În funcție de factorul sensibil, senzorii pot fi:

Mecanici (ex. senzori de capăt de cursă, de greutate);

Chimici (ex. senzori de fum, de alcool);

Electrici (ex. senzori de curent, tensiune, rezistență electrică);

Magnetici (ex. senzori inductivi);

Termici (ex. senzori de temperatură);

Radiativi (ex. senzori de lumină, ultrasonici)

În cazul sistemelor de automatizări cei mai utilizați dintre senzori sunt capacitivi, inductivi, magnetici, de presiune, senzori de capăt de cursă, principiul de funcționare a unora dintre aceștia găsindu-se mai jos.

3.1.2.1 Senzori inductivi

Senzorii de proximitate de tip inductiv constau dintr-o bobină înfășurată în jurul unui miez de ferită în capul de sesizare. Aplicând o frecvență înaltă, este generat un câmp magnetic în jurul capului senzorului. Un circuit intern va monitoriza câmpul magnetic, iar atunci când un obiect metalic va ajunge în dreptul câmpului magnetic, acesta va induce un curent electric în obiectul aflat în dreptul senzorului.

Atunci când obiectul se apropie de senzor valoarea curentului indus crește și cauzează un efect de transformator. Oscilația din bobină începe să scadă, iar atunci când circuitul interior al senzorului observă că oscilația a încetat va comuta ieșirea.

3.1.2.2 Senzori capacitivi

Principiul de funcționare al senzorilor de proximitate capacitivi nu diferă foarte mult de funcționarea celor inductivi. În locul bobinei se află un electrod de forma unei plăci cilindrice. Atunci când senzorul funcționează ia naștere un câmp capacitiv între senzor și pământ. În momentul în care în dreptul senzorului nu se găsește nici un obiect câmpul format este stabil.

Când un obiect se află în apropierea senzorului capacitiv, sarcina negativă și cea pozitivă a obiectului se separă. Sarcinile pozitive ale electrodului atrag cele negative ale obiectului de detectat, iar sarcinile pozitive ale obiectului sunt atrase de către pământ. Cum sarcinile negative sunt mai aproape de electrod crește capacitatea electrostatică a electrodului.

3.1.2.3 Senzori cu fibră optică

Senzorii cu fibră optică constau din două părți principale, amplificatorul și capul de detecție.

Amplificatorul cuprinde unitatea de emisie (sursa de lumină), dar și cea de recepție, inclusiv electronica aferentă, iar lumina este transmisă la capul de detecție prin fibra optică.

Sursa de lumină emite raza luminoasă, urmând ca aceasta să fie transmisă prin fibra optică, fiind reflectată de mai multe ori între miezul și mantaua cablului. La ieșire din fibra optică lumina va avea o anumită dispersie.

Raza de lumină formată este similară cu cea ieșită dintr-un senzor normal, exceptând faptul că este de mărime mai mică. Suprafața mai mică a lentilei, dar și sursa de lumină mi redusă duc la o distanță, respectiv suprafață de detecție mai mică.

Capetele cu fibră optică pot fi divizate în două grupuri principale: cele cu emițător-receptor (de tip barieră optică), respectiv cele cu difuziune.

3.1.2.4 Senzori magnetici

Senzorii magnetici de proximitate sunt perfecți pentru mediile de lucru dure, ei fiind insensibili la praf, vibrații sau căldură. Senzorii magnetici sunt folosiți în cazul în care alți senzori au atins limitele tehnologice.

Printre beneficiile unor astfel de dispozitive de intrare se numără:

Ideal pentru detecția obiectelor metalice în zone cu temperatura foarte mare

Detecția magneților permanenți prin materiale non-magnetice (inox, plastic, lemn, aluminiu etc.)

Distanța de sesizare mare

3.1.2.5 Senzori ultrasonici

Senzorul cu ultrasunete funcționează prin transmiterea undelor sonore de înaltă frecvență, care scanează obiectele aflate în jur și emit senzorului informațiile din mediu, bazându-se astfel pe fenomenul de ecolocație.

În anumite cazuri, senzorii ultrasonici pot integra doar generatorul de impulsuri și detectorul acestora. Măsurarea timpului de întoarcere și deducerea distanței fiind realizate în cadrul microcontroller-ului.

Modelul undelor reflectate este perturbat în momentul în care cel puțin un obiect se află în câmpul de acțiune al senzorului și în acel moment senzorul va fi activat.

Senzorul de mișcare cu ultrasunete emite unde sonore de frecvențe înalte ce nu sunt percepute de auzul uman.

3.1.2.6 Senzori optici de tip retro-reflexivi

Senzorii retro-reflexivi au emițătorul și receptorul în aceeași carcasă, spre deosebire de senzorii de tip barieră optică.

Raza de lumină este emisă de către emițător și ajunge în unitatea de recepție cu ajutorul unui reflector. Se poate spune ca atât senzorii de tip barieră optică, cât și cei retro-reflexivi detectează obiectul prin întreruperea luminii de către acesta.

3.1.3 Elemente de ieșire în cadrul sistemelor automatizate

În ceea ce privește semnalele de ieșire digitale din cadrul unui automat programabil, acestea pot avea două valori distincte, 0 sau 1 logic, la fel ca și în cazul intrărilor digitale. Printre elementele de ieșire din cadrul sistemului automatizat putem menționa: motoare electrice, pistoane hidraulice și pneumatice, electrovalve, relee, rezistențe de încălzire etc.

Interfața de ieșiri digitale este similară cu cea a intrărilor descrise în subcapitolul anterior. Unitatea centrală de prelucrare transmite un semnal către o diodă emițătoare de lumină (LED), iar lumina creată de aceasta ajunge pe un element fotosensibil, în general un fototranzistor. Dacă tensiunea existentă între colector și emitor scade sub 0.7V, dispozitivul atașat ieșirii automatului programabil va primi un 0 logic, iar daca tensiunea este mai mare de această valoare dispozitivul va primi un 1 logic.

Fig.20 Schema electrică pentru izolarea ieșirilor digitale ale unui automat programabil

În general fototranzistorul nu este conectat direct la dispozitivul de ieșire. Între aceste doua elemente se află de obicei un releu sau un tranzistor mai puternic capabil sa întrerupă semnalele mari.

Ieșirile din cadrul unui automat programabil pot fi atât de tip digital, cât și analogic. Ieșirile digitale se comporta ca un comutator, conectează sau deconectează dispozitivul de ieșire. Cele analogice sunt folosite pentru generarea unui semnal analogic, de exemplu în cazul în care este necesar controlul vitezei unui motor de către o tensiune ce va corespunde vitezei dorite.

3.1.3.1 Relee

Releele pot fi privite ca fiind comutatoare acționate electric. Ele reprezintă o categorie de o importanță mare în cadrul unor instalații de protecție și comandă automată.

Acestea sunt utilizate pentru comutarea unei valori de tensiune mai mari cu ajutorul unei valori mici de tensiune. Un releu este format dintr-o bobină, un mecanism cu arc și unul sau mai multe contacte. Atunci când bobina este alimentată curentul electric se propagă, creând un câmp magnetic. Pârghia este antrenată și poziția contactelor se schimbă. În momentul în care tensiunea cade mecanismul cu arc va asigura revenirea contactelor în poziția inițială.

Fig.21 Structura generala a unui releu

Există o multitudine de materiale din care pot fi realizate contactele releelor:

Ag: are o conductivitate electrică și termică înaltă față de toate metalele, având și o rezistență scăzută de contact.

AgCu: are o rezistență mare la uzură și o tendință de topire mică, dar are o rezistență la contact mare.

AgCdO: are o rezistență la uzură și proprietăți de stingere a arcului electric și o rezistență la topire ridicată.

AgW: rezistența la arc electric este mare, duritatea și punctul de topire ridicat, dar necesită o forță de apăsare mare și are o rezistență slabă la coroziune.

Cele mai utilizate în cadrul automatizărilor industriale sunt relee Solid State (SSR). Aceste tipuri se utilizează atunci când prezintă interes o viteză mare de comutare și o durată de funcționare ridicată.

Fig.22 Releu Solid State

Releele Solid State nu conțin piese mecanice în mișcare, elementul de execuție fiind realizat cu ajutorul tranzistoarelor, tiristoarelor sau triacelor. Sunt folosite pentru realizarea izolării galvanice între circuitul de comandă și circuitul de comutare. Supratensiunile sunt reduse din cauza principiului de funcționare. Acestea au un consum de energie redus și pot fi cuplate cu circuite integrate.

Fig.22 Izolare galvanică între un circuit de comandă și circuit de comutare cu releu Solid State

Realizând o comparație între releele statice și cele electromecanice se poate spune ca durata de viața a celor statice este mult mai mare datorită faptului că în timpul funcționării lor nu apar arcuri electrice, ca în cazul releelor electromecanice. Faptul ca aceste arcuri electrice sunt inexistente nu mai apar probleme de interferență cu alte instalații vecine.

Atunci când se are în vedere alegerea unui tip de releu pentru o anumită aplicație este necesar să se țină cont de anumiți factori, printre care:

Numărul și tipul contactelor (normal închis, normal deschis)

Curentul maxim de lucru

Tensiunea comutată

Tensiunea control

Modul de comutare

Timpul de comutare

Temperatura de lucru

Mărimea releului

3.1.3.2 Optocuploare

Optocuplorul, denumit și optoizolator sau fotocuplor, este o componentă electronică ce are rolul de a transmite un semnal electric între două circuite izolate prin utilizarea luminii. Aceste dispozitive electronice împiedică tensiunile înalte să afecteze sistemul ce primește semnalul.

Cel mai comun tip de izolator optic conțin o diodă electroluminescentă (LED) și un fototranzistor, incorporate în aceeași capsulă. Deși sunt folosite pentru transmiterea semnalelor digitale, există unele tehnici ce permit utilizarea lor pentru semnale analogice, proporționale.

Fig.23 Structura schematică a unui optocuplor

Având în vedere ca optocuplorul conține o sursă de lumină, aceasta realizează conversia semnalului electric de intrare în lumina. Ulterior acest semnal trece printr-un canal optic închis, numit si canal dielectric, urmând să ajungă la un fotosenzor, ce detectează lumina și generează energie electrică. Fotosenzorii pot fi: un fotorezistor, o fotodiodă, un fototranzistor sau un triac.

Există optocuploare de tip releu ce conțin o fotodiodă optoizolatoare ce conduce un comutator de putere, uzual acesta fiind o pereche complementară de MOSFET-uri.

Fig.24 Optocuplor produs de compania Rundfunk- und Fernmelde-Technik

Până în acest punct au fost menționați numai optoizolatori uni-direcționali, canalul optic funcționând întotdeauna într-o singură direcție. De la sursa de lumină către fotodetector. Acești fotodetectori nu pot emite lumina, dar LED-urile sunt capabile să detecteze lumina primită, lucru ce face posibilă construirea unui optocuplor bidirecțional, plecând de la o pereche de LED-uri.

Cel mai simplu izolator optic bidirecțional constă din două LED-uri puse față în față, ținute împreuna cu tuburi termocontractibile. În funcție de necesitate distanța dintre cele doua fotodiode poate fi prelungită cu p inserție de fibră de sticlă.

3.1.3.2 Motoare electrice

Motoarele electrice sunt dispozitive electromecanice ce transformă energia electrică în energie mecanică. În general motoarele electrice funcționează pe baza forțelor electromagnetice ce acționează asupra unui conductor parcurs de curent electric aflat în câmp magnetic.

Motoarele electrice de curent continuu cu perii sunt foarte ușor de folosit, găsindu-se într-o gamă foarte largă de dimensiuni.

Aceste tipuri de motoare au în componență următoarele:

Stator: este fixat de carcasă și conține magneți permanenți ce vor genera un câmp magnetic staționar.

Rotor: se află în centrul motorului și este alcătuit din una sau mai multe înfășurări

Perii

Colector

Când înfășurările rotorului sunt alimentate se generează un câmp magnetic ce interacționează cu câmpul magnetic staționar. Polii magnetici ai rotorului sunt atrași de polii opuși ai statorului și încep să se rotească. Atunci când polii sunt aliniați, colectorul schimbă sensul curentului din înfășurarea rotorului. Polaritatea acestuia se inversează și va continua să se rotească până la următoarea aliniere a polilor. Alimentarea colectorilor se face prin intermediul periilor ce au rolul de a asigura un bun contact electric în timpul rotirii acestuia. Reglarea turației se realizează variind tensiunea de alimentare iar sensul schimbând polarizarea rotorului.

Motoarele pas cu pas sunt dispozitive electromecanice ce realizează conversia impulsurilor electrice în mișcări mecanice discrete.

Axul motorului va executa pas cu pas o mișcare de rotație incrementală când este aplicată în secvența corectă o comandă electrică. Rotația motorului este legată de caracteristicile impulsurilor electrice, astfel direcția de rotație a motorului este legată de secvența în care sunt aplicate pulsurile electrice, de asemenea și viteza de rotație este dependentă de frecvența impulsurilor electrice și deplasarea unghiulara de numărul de pulsuri electrice aplicate.

În funcție de modul de alimentare al înfășurărilor există mai multe tipuri de control al motoarelor pas cu pas, anume:

Comandă simplă – înfășurările sunt alimentate pe rând în următoarea ordine: A, B, C, D

Comandă dublă – înfășurările sunt alimentate câte două: AB, BC, CD, DA

Comandă mixtă – A, AB, B, BC, C, CD, D, DA

Micropășire – înfășurările nu mai sunt alimentate digital ci analog permițând poziționarea rotorului oriunde între înfășurări

Fig.25 Structura unui motor pas cu pas

Printre avantajele motoarelor pas cu pas se numără:

Poziționare precisă, cu o eroare de maxim 5% la un pas, dar care nu se cumulează de la un pas la altul

Răspuns rapid la pornit/oprit/schimbare direcție de rotație

Fiabilitate mare deoarece nu există perii de contact la motor, deci curate de viață depinde de rulment

Există și unele dezavantaje în cazul utilizării motoarelor pas cu pas:

Controlul greoi la viteze foarte mari

La turații ridicate cuplu dezvoltat scade semnificativ

Greutate ridicată

3.2 SUBSISTEMUL SOFTWARE

3.2.1 Funcționarea automatelor programabile

În cazul calculatoarelor de proces programul de funcționare este activat de către sistemul de operare și se execută în regim monotasking sau multitasking, la automatele programabile se execută în regim monotasking un ciclu infinit format din trei faze:

Faza de citire a intrărilor (Process Image Input Tabel- PIIT)

Faza de tratare (Processing the Program- PP)

Faza de actualizare a ieșirilor (Process Image Output Table- PIOT)

Fig.26 Ciclu de funcționare al unui automat programabil

Prima fază constă din scanarea intrărilor din cadrul automatului programabil și se încarcă în zona de memorie rezervată variabilelor de intrare.

Cea de a doua faza constă din execuția instrucțiunilor încărcate într-o zonă de memorie rezervată programelor de funcționare.

Ultima faza, cea de actualizare a ieșirilor, realizează transferul spre ieșirile automatului programabil a unei zone de memorie care conține imaginile acestora în memoria automatului.

Pentru ca timpul de răspuns al unui automat programabil să fie cât mai mic este necesar ca ciclul să fie cât mai scurt posibil. Lungimea acestui ciclu este dependentă de numărul de intrări și ieșiri, dar și de numărul de instrucțiuni scrise de utilizator în cadrul programului.

Timpul scurs între două lansări ale aceleași părți de program poartă numele de durată a ciclului. Cunoașterea acestui timp este importantă pentru a putea preciza modul de răspuns al unui automat la informațiile din proces.

Timpul de răspuns reprezintă timpul scurs de la schimbarea semnalului de intrare până la schimbarea corespunzătoare a ieșirilor.

După cum s-a menționat anterior preluarea stării intrărilor se face la începutul ciclului, la fel și actualizarea variabilelor interne (imaginile din memorie ale intrărilor). Orice schimbare a stării unei intrări nu poate fi sesizată în cazul în care ea are loc într-o altă perioadă a ciclului de funcționare, având în vedere că în faza de tratare automatul lucrează cu imaginile din memorie ale intrărilor.

Fig.27 Reflectarea intrărilor de diferite lățimi în memoria automatelor programabile

În figura de mai sus se poate observa că orice intrare care își schimbă starea și revine în stare inițială în timpul perioadei de tratare și a celei de actualizare a ieșirilor nu este sesizată de către automat. Pentru a putea fi sesizată o intrare trebuie să fie în aceeași stare o durată de timp egală cu timpul ciclului plus timpul rezervat scanării intrărilor.

Pentru rezolvarea acestei probleme există două soluții:

Lățirea impulsului pentru ca semnalul să fie prelungit până când se realizează partea din ciclu în care sunt scanate intrările;

Preluarea intrărilor pe întreruperi generate de frontul crescător al intrării.

3.2.2 Logica binară

În matematică algebra booleană sau logica binară reprezintă o componentă a algebrei în care valorile variabilelor pot avea două valori adevărat sau fals, 0 sau 1 logic.

Operațiile de bază folosite în cadrul logicii binare sunt ȘI (AND), SAU (OR), NEGAȚIE (NOT).

Funcția logică ȘI

Dacă două variabile sunt combinate folosind funcția logică AND, rezultatul se poate exprima cu relația:

X= A∙B

Simbolul “ ∙” semnifică operația booleană de multiplicare logică, motiv pentru care funcția ȘI se mai numește și produsul logic.

Fig.28 Funcția logica ȘI

Tabelul de adevăr este prezentat mai jos:

Tabelul 1- Tabel de adevăr al funcției logice ȘI

Funcția logică SAU

Dacă A și B sunt variabilele de intrare, atunci expresia variabilei de ieșire atunci când se realizează funcția logica SAU are forma:

X=A+B

Simbolul “+” nu are semnificația tradițională a adunării, ci a operației logice SAU.

Fig.29 Funcția logică SAU

Tabelul de adevăr este prezentat mai jos:

Tabelul 2- Tabel de adevăr al funcției logice SAU

Funcția logică NU

Spre deosebire de operațiile binare prezentate anterior, funcția NU poate fi aplicată unei singure variabile. Dacă se aplică această operație pentru variabila A, rezultatul x al acesteia va fi de forma:

X=

Bara aflată deasupra lui A simbolizează operația NU sau operația de negare.

Fig.30 Funcția logică NU

Tabelul de adevăr este prezentat mai jos:

Tabelul 3- Tabel de adevăr al funcției logice NU

3.2.3 Limbaje de programare

Pentru programarea automatelor programabile Comisia Electrotehnică Internațională (IEC) a dezvoltat și publicat standarde. Aceste standarde recomandă producătorilor de AP să ofere același set de instrucțiuni. Normele acestui standard definesc SFC (Sequential Function Chart) ca fiind un mijloc pentru structurarea și organizarea unui program.

În cadrul acestor norme există două limbaje literale și doua limbaje grafice.

Limbajele literale sunt:

Instruction List sau Statement List, acestea având o structură asemănătoare cu limbajele de asamblare ale microprocesoarelor

Structured Text, în cadrul căruia se folosesc instrucțiuni de atribuire, de selecție și de control a subprogramelor, având o structură asemănătoare cu limbajele de nivel înalt.

Limbajele grafice sunt:

Ladder Diagram, iar acest limbaj permite programarea aplicațiilor într-un mod asemănător cu proiectarea unui circuit cu contacte și relee.

Function Block Diagram, acesta fiind o extensie a limbajului Ladder Diagram ce conține blocuri complexe.

În cadrul automatelor programabile identificarea datelor se face utilizând adrese absolute sau simbolice. In cazul adresării absolute, aceasta folosește denumirea zonei de memorie pentru identificarea adresei. Denumirile acestor zone de memorie pot avea diverse prefixe cum ar fi:

I – pentru intrări

O – pentru ieșiri

M – pentru variabile interne

Cel de al doilea prefix poate fi:

x.y pentru variabilele de tip boolean; x-octetul, y-bitul

B pentru octet (Byte)

W pentru cuvânt (Word)

D pentru dublu cuvânt (Double Word)

Adresarea indirectă se face prin utilizarea unei tabele de simboluri prin care se face legătura dintre adresa absolută și cea indirectă, acest tip de adresare folosind identificatorii, adică șiruri de caractere alfanumerice.

Cel mai utilizat limbaj de programare al PLC-urilor este în prezent Ladder Diagram. Având în vedere că în trecut controlul sistemelor automatizate era bazat pe relee electrice, ce permiteau întreruperea sau furnizarea energiei fără a folosi întrerupătoare mecanice, realizând funcții logice din punct de vedere hardware, structura unui limbaj de programare Ladder este asemănător cu logica din spatele releelor.

Un program scris în limbajul Ladder este alcătuit din rețele, ce utilizează simboluri grafice, denumite obiecte. Rețeaua este formată din două linii verticale, desemnând sursa de putere și linii orizontale ce reprezintă circuitele de control.

O linie în limbajul Ladder reprezintă o regulă. Aceste reguli sunt executate secvențial, într-o buclă continuă. Execuția programului începe cu prima linie de sus, din partea stângă, denumită și “top rung”, urmând să fie parcurse toate liniile de sus în jos, de la stânga la dreapta, până în momentul în care se ajunge la ultima linie, cunoscută sub numele de “bottom rung” unde se încheie secvența de program.

Timpul în care un automat programabil parcurge toate liniile de program este dependent de frecvența procesorului, timpul unui ciclu și de numărul liniilor de program.

Fiecare astfel de rețea este necesar să conțină o intrare și să se încheie cu o ieșire.

Fig.34 Obiectele limbajului Ladder Diagram

Din figura de mai sus se pot observa tipurile de obiecte ce se găsesc în cadrul limbajului de programare Ladder Diagram:

Contact direct

Contact inversat

Contact cu sesizare a frontului crescător

Contact cu sesizare a frontului descrescător

Bobină directa

Bobina inversată

Bobina cu setare

Bobina cu resetare

Un alt limbaj folosit frecvent pentru programarea automatelor programabile este limbajul literal Statement List, prescurtat STL. Acesta permite rezolvarea unor sarcini de comandă utilizând instrucțiuni simple ce descriu operațiile de execuție ale controlerului.

În cadrul acestui limbaj se găsesc așa numiții operanzi ce sunt identificatori pentru intrări, ieșiri, temporizatoare, numărătoare, flag-uri etc. Operanzii pot fi de tip multibit (8 biți, 16biți) sau de un bit.

Operatorii sunt simboluri utilizate în programarea Statement List ce modifică sau folosesc valoarea numerică sau logică a operanzilor. Printre aceștia se numără: +,-,*,/,<,>,=,<=,>= etc.

Programele de funcționare scrise în Statement List rulează în pași, începând cu prima linie de cod de sus în jos.

Structura ierarhică a unui program în acest limbaj de programare este următoarea:

PROGRAM

PAS (STEP)

PROPOZIȚIE

PARTE CONDIȚIONALĂ

PARTE EXECUTIVĂ

Propoziția reprezintă elementul de bază al organizării programului. Partea condițională servește la declararea unei condiții care urmează să fie evaluată ca fiind adevărată sau falsă, în general fiind evaluate elementele de intrare. În cadrul părții executive sunt activate elementele de ieșire dacă partea condițională a fost evaluată ca fiind adevărată.

Fig.35 Reguli de execuție în limbajul de programare Statement List

Un element de tip “STEP” poate să conțină mai multe propoziții, trecerea la pasul următor făcându-se numai dacă ultima propoziție din cadrul acestuia este adevărată.

4. Proiectarea sistemului de automatizare cu microcontroller

4.1 Structura sistemului

După cum a fost menționat și în capitolele anterioare, în cadrul sistemelor automatizate sunt folosite în general așa numitele automate programabile.

Prezentul proiect de diplomă își propune realizarea unui sistem de automatizare cu microcontroller, destinat controlului proceselor cu funcții restrânse, dar și pentru automatizări de o anvergura medie.

Hardware-ul sistemului cu microcontroller trebuie să asigure cerințele procesului de automatizare prin viteza de procesare, numărul de module de intrări/ ieșiri, asigurarea comunicației cu un calculator personal (PC), avându-se în vedere și realizarea unei interfețe HMI (Human-machine interface; interfață om-mașina) în cadrul PC-ului, ca viitoare direcție de dezvoltare a acestui proiect.

În general automatele programabile se pot achiziționa la un preț destul de mare, deși investiția inițială se poate amortiza în timp prin automatizarea proceselor, moment în care producția crește într-un timp scurt. Motiv pentru care un alt scop important în realizarea proiectului îl reprezintă construcția sistemului de automatizare cu microcontroller la un cost foarte mic, dorindu-se ca acesta să poată fi accesibil oricărei persoane.

Ca orice sistem mecatronic, sistemul de automatizare cu microcontroller este structurat în două părți:

Subsistem HARDWARE

Subsistem SOFTWARE

4.2 Subsistemul HARDWARE

În proiectarea sistemului cu microcontroller s-a urmărit folosirea unei platforme cu microcontroller ce poate asigura un număr suficient de intrări și ieșiri, proiectarea subsistemului electronic, astfel încât să se poată realiza izolarea canalelor de IO, dar și asigurarea tensiunilor de lucru necesare elementelor de lucru.

4.2.1 Placa de dezvoltare ARDUINO MEGA 2560

Operațiunile de comandă și control din cadrul unui sistem automatizat sunt realizate de unitatea centrală de prelucrare. Soluția aleasă a fost utilizarea unui microcontroller, acesta fiind un circuit integrat capabil să primească și să genereze semnale electrice.

Alegerea unui microcontroller a fost făcută în funcție de anumite caracteristici, cum ar fi:

Numărul de intrări/ieșiri digitale;

Numărul de intrări analogice, rezoluția convertorului analog-digital;

Numărul și rezoluția ieșirilor PWM;

Numărul și tipul interfețelor de comunicație;

Tensiunea de lucru;

Frecvența procesorului;

Numărul de întreruperi;

Numărul și rezoluția temporizatoarelor și numărătoarelor (timer, counter);

Capacitatea memoriei Flash – folosită pentru stocarea programelor de funcționare;

Capacitatea memoriei RAM;

Capacitatea memoriei EEPROM – folosită pentru stocarea permanentă a unor variabile.

Realizându-se o analiză critică a acestor circuite integrate s-a ajuns la concluzia că este benefic să se aleagă o platformă de dezvoltare cu microcontroller, deoarece nu mai este nevoie de elemente de circuit suplimentare care să asigure funcționalitatea microcontroller-ului.

Plăcile de dezvoltare cu microcontroller asigură o soluție completă de comandă și control, ușor de implementat în orice proiect.

Platforma Arduino Mega 2560 este cea care asigură comanda și controlul sistemului de automatizare.

Aceasta se bazează pe un microcontroller ATmega 2560, iar printre caracteristicile acestuia se pot aminti:

54 linii intrare/ieșire;

16 intrări analogice;

256Kb memorie flash;

8 Kb memorie SRAM și 4 Kb memorie EEPROM;

Frecvență de ceas: 16Mhz;

Limitele tensiunii de alimentare: 6-20V;

Tensiunea de lucru: 5V;

Stabilizator suplimentar pentru 3.3V până la 50mA;

4 porturi seriale UART.

4.2.2 Sursa de tensiune

4.2.3 Subsistemul electronic

4.3 Subsistemul SOFTWARE

Bla bla despre asigurarea functionalitatii plcului si comunicatia cu un pc

4.3.1 Noțiuni introductive despre programarea în Arduino

Un program în Arduino este structurat în două funcții de bază:

Void setup() – La pornirea platformei secvențele de cod scrise în această zona vor rula o singură dată. Aici se vor stabili intrările și ieșirile, dar și tipul acestora.

Void loop() – Secvențele de cod scrise în această zona rulează linie cu linie în mod continuu.

Fig.32 Anatomia unui program în Arduino

În concluzie în rutina "setup" vom pune de obicei un cod de inițializare, iar in rutina "loop" vom scrie partea principală a programului.

Arduino conține o serie de funcții specifice în cadrul programului, ele sunt:

pinMode(nr pin, tip) – este folosit pentru stabilirea tipului de intrare/ieșire. Nr pin reprezintă numărul înscris pe platforma în dreptul pinului, iar tipul poate fi INPUT sau OUTPUT. Se folosește doar în cazul pinilor I/O sau PWM;

digitalWrite(nr pin, stare) – este folosit pentru setarea pinilor digitali. Starea acestora poate fi 1 logic (1 sau HIGH) sau 0 logic (0 sau LOW);

digitalRead(nr pin) – citește valoarea digitală a intrării (0 sau 1);

analogWrite(nr pin, valoare) – este folosit pentru comanda PWM a ieșirilor compatibile. Valoarea este cuprinsă între 0 – 255;

analogRead(nr pin) – returnează valoarea analogică a intrării (0 – 1023);

Serial.begin(viteză) – este folosit pentru inițializarea comunicațiilor seriale folosind viteze cuprinse între 300 și 115200 biți/secundă. Cea mai des utilizată rată de transfer este de 9600 biți/secundă. Arduino Mega are 3 porturi seriale iar pentru apelarea lor se folosește Serial1,Serial2 sau Serial3;

Serial.print(“text”) – trimite pe portul serial textul sau valoarea variabilei aflată între paranteze;

Serial.println(“text”) – este similară celei anterioare doar că la sfârșit lasă rând liber;

Serial.available() – este o funcție ce returnează adevărat în momentul în care au sosit informații pe serială;

Serial.read() – returnează octetul primit pe serială;

Serial.parseInt() – returnează primul număr de tip întreg sosit pe serială. Exemplu: dacă se trimite informația “viteza23m”, funcția returnează numărul întreg 23;

Serial.parseFloat() – returnează primul număr de tip real sosit pe serială. Exemplu: dacă se trimite informația “dreapta5.92s”, funcția returnează numărul real 5,92;

delay(timp) – oprește rularea programului o perioadă de timp(milisecunde);

millis() – returnează timpul trecut, în milisecunde, de la pornirea platformei. Pentru salvarea sa se folosesc variabile de tipul unsigned long.

Tipurile de variabile folosite:

boolean – suportă doar două valori: 1 sau 0, adevărat sau fals; cu toate acestea ocupă 8biți de memorie;

byte – numere întregi, pozitive; ocupă 8 biți de memorie și au valori cuprinse între 0 și 28 (0…255);

int – numere întregi; ocupă 16biți de memorie și au valori cuprinse între -215 și 215 (-32767…32767);

unsigned int – numere întregi, pozitive; ocupă 16 biți de memorie și au valori cuprinse între 0 și 216 -1 (0 …65535);

long – numere întregi; ocupă 32 biți și au valori cuprinse între -231 și 231;

unsigned long – numere întregi, pozitive; ocupă 32 biți și au valori cuprinse între 0 și 232;

float – numere reale; ocupă 32 biți de memorie.

4.3.2 Noțiuni introductive despre programare în LabView

Software-ul LabView (Laboratory Virtual Instrumentation Engineering Workbench) este o platformă și un mediu de dezvoltare pentru un limbaj de programare vizual. Este creat de firma National Instrument și se bazează pe instrumente virtuale.

Instrumentele virtuale se referă la instrumente de măsură sau de automatizarea simulate printr-un program. Denumirea aceasta provine de la faptul că inițial LabView a fost strict folosit pentru realizarea unor programe de monitorizare a proceselor.

Instrumentul virtual definește un modul software, ce constă dintr-un panou frontal (interfața cu utilizatorul) și un program de tip schemă bloc.

Panoul frontal, după cum a fost menționat anterior este interfața cu utilizatorul a instrumentului virtual. Cu ajutorul acestui panou se realizează introducerea sau extragerea datelor în și din mediul de programare.

Controalele și indicatoarele sunt elemente de comandă și afișare grafică. Controalele reprezintă intrările în instrumentul virtual, cele cu ajutorul cărora se introduc date, iar indicatoarele reprezintă ieșirile, cele care comunică utilizatorului datele rezultate din proces.

Controalele au diferite aspecte, printre care: butoane, întrerupătoare, comutatoare, cursoare, cadrane.

Fig.35 Exemple de controale în LabView

Structurile de date ce pot fi tratate în LabView pot fi de la cele mai simple, până la foarte complexe, valori numerice, grafice, șiruri de text, valori booleene etc. În cazul indicatoarelor, aceste structuri de date gestionate de program își stabilesc singure forma optimă a reprezentării datelor pe care le primesc.

Diagrama bloc însoțește panoul frontal și se poate spune că aceasta reprezintă codul sursă. Componentele diagramei sunt nodurile programului, precum structurile de decizie, operatorii matematici, funcțiile de prelucrare logice etc. Între toate aceste componente legăturile se realizează prin fire care descriu fluxul de date în interiorul instrumentului virtual.

Fig.36 Exemplu de diagrama bloc în LabView

Algoritmul după care aplicația va efectua calculele și raționamentele sunt de fapt reprezentate în cadrul diagramei bloc.

Este necesar să se menționeze că atunci când în cadrul panoului frontal sunt introduse controale sau indicatoare, în diagrama bloc sunt inserate automat simboluri specifice numite terminale, ce vor reprezenta elementele respective în cadrul fluxului de date. Fiind un limbaj de programare vizual, terminalele elementelor se diferențiază prin culori, în funcție de tipul mărimii scalare (portocaliu- valori numerice reale, roz- valori aflanumerice, verde- valori booleene)

Fig.36 Exemple de terminale

Atunci când se lucrează în cadrul panoului frontal se poate accesa paleta de controale, ce conține subpalete cu elemente de control și indicatoare de numeroase tipuri: Numeric, Boolean, String&Path, Array&Cluster, List&Table, Graph etc.

Fig.37 Paleta de controale

Dispunerea unui element de control sau indicator pe panou începe cu selectarea elementului dorit din paleta de controale, apoi se deplasează cursorul mouse-ului până în poziția de pe panou în care se dorește dispunerea, iar elementul primește o etichetă implicită. Textul afișat de etichetă poate fi modificat imediat pentru a fi mai sugestiv.

Paleta de unelte este o fereastră ce conține instrumente utilizate pentru: modificarea valorilor unor elemente de control, selectare, editare a textelor, conectare, afișare a meniurilor proprii etc.

Paleta de funcții este o fereastră ce apare doar în cadrul diagramei bloc și conține o serie de subpalete cu diverse categorii de funcții, proceduri sau structuri specifice de programare.

Fig.37 Paleta de funcții

Afișarea paletei de funcții se poate face în două moduri: apăsând butonul din dreapta al mouse-ului atunci când cursorul acestuia este într-o zonă liberă a diagramei, sau selectând din meniul Windows comanda Show Functions Palette.

4.3.3

5. REALIZAREA SISTEMULUI DE AUTOMATIZARE CU MICROCONTROLLER

6. Concluzii finale, contribuții și perspective

Bibliografie

REZUMAT

Sistemele mobile autonome sunt sisteme mecatronice inteligente cu rolul de a ușura munca omului, capabile să ia singure decizii în scopul efectuării unor anumite sarcini. Acestea sunt folosite pentru explorare, transport, cercetare, mentenanță, reparații sau chiar divertisment.

Sistemele mobile tip line follower sunt sisteme autonome create special pentru a urmării trasee marcate cu o culoare diferită față de teren. Acestea au o importantă aplicabilitate în industrie, pentru transportarea diferitelor componente. La nivel academic se organizează competiții ce au în vedere proiectarea și realizarea sistemelor performante de acest tip.

Prezentul proiect de diplomă își propune realizarea unui sistem mobil autonom de tip line follower, în vederea selecției pentru participarea la Olimpiada Națională de Mecatronica 2013, secțiunea Roboți Mobili. În proiectarea acestuia s-a urmărit stabilirea unei baze hardware flexibile și obținerea performanțelor printr-un software specializat.

ANEXE

Similar Posts