Aplicatii cu microcontrollere

Tehnologie

Programele pentru microcontrollere sunt realizate folosind limbajul C astfel incat sa poata fi compilate cu usurinta pe diferite board-uri cu diferite microcontrollere, sa poata fi usor de modificat dupa specificatiile clientilor. De exemplu, am realizat yale electronice folosim doua tipuri de board-uri: AVR200 produs de Jed Microprocessors (Australia) cu microcontroller ATmega32 sau AVR-MT128 produs de Olimex (Bulgaria) cu afisaj LCD si microcontroller ATmega128. Medii de dezvoltare utilizate : CVAVR cu AVR Studio (Atmel) pentru depanare si programare controllere sau, mai recent, Eclipse cu AVR Toolchain integrat.

Pentru PIC16F84 am utilizat MPLAB IDE(Microchip) cu compilatorul CC5X.

Pentru interfata intre anumiti senzori si intrarile digitale sau analogice disponibile pe microcontrollere uneori este nevoie de amplificare. Pentru a realiza amplificatoare cu diverse functii: factor de amplificare constant, integrare, derivare, etc am realizat amplificatoare operationale pe board-uri universale realizate de Texas Instruments(OPAMPEVM). Calculul valorilor componentelor si asamblarea pe cablaj s-a realizat in atelierul firmei.

Pentru a pune in practica proiectul dvs. va stam la dispozitie cu propuneri si solutii tehnice bazate pe o experienta de peste 15 ani.
Click aici pentru a cere gratuit o cotatie de pret.

1) Yala electronica cu chei ibuton dallas

Se compune dintr-o yala electromagnetica , un board cu microprocesor in care este incorporat programul, o sursa de alimentare si un acumulator tampon. Cheia electronica ibuton dallas este un dispozitiv electronic tip memorie care poate comunica conform unui protocol printr-un singur fir cu microcontrollerul. Programul implementat in microcontroller testeaza daca pe cititorul de ibutoane(firul de comunicatie) exista prezent un ibuton, daca exista citeste codul unic de identificare al acestuia, verifica in lista din memoria controllerului daca acesta exista (are acces pe acea cale ) si daca este indeplinita aceasta conditie pune tensiune pe bobina yalei electromagnetice pentru deschidere. Board-ul cu microcontroller este dotat cu un ceas de timp real cu sursa proprie de alimentare pentru a nu se deregla in cazul lipsei alimentarii dispozitivului. Programul implementat in microcontroller inregistreaza intr-o memorie 1024 evenimente impreuna cu data si timpul la care s-au produs: acces permis, deschidere sau inchidere usa (citeste un contact digital), pornire sau oprire dispozitiv si 512 erori (defectiuni) ale microcontrollerului sau circuitelor aferente. Programul are implementat un protocol pe port serial prin care poate returna la cerere inregistrari evenimente sau erori. Lista de erori este importanta pentru a putea analiza intr-un interval de timp buna functionare a echipamentului sau pentru depanare.

Yala a fost implementata pe board-uri: AVR200 produs de Jed Microprocessors (Australia) cu microcontroller ATmega32, sau AVR-MT128 produs de Olimex (Bulgaria) cu afisaj LCD si microcontroller ATmega128.

2) Modul I/O

Modulul I/O este realizat pe un board cu microcontroller. Pe portul serial modulul primeste un pachet de date care contine pe cativa octeti starea logica stabilita a iesirilor digitale. Modulul raspunde cu un pachet care contine starea intrarilor digitale, a intrarilor analogice si a iesirilor digitale dupa efectuarea setarii starii logice a iesirilor conform comenzii primite in pachetul comanda.

Acest modul a fost utilizat ca dispozitiv de intrare iesire pe aplicatii cu calculatoare industriale.

Modulul a fost implementat pe board-uri: AVR200 produs de Jed Microprocessors (Australia) cu microcontroller ATmega32, sau AVR-MT128 produs de Olimex (Bulgaria) cu afisaj LCD si microcontroller ATmega128.

3) Cantar pentru banda transportoare cu senzor ultrasonic

Cantarul pentru benzi transportoare a fost conceput pentru a masura debitul volumetric ,volumul de material care trece pe o banda transportoare fara contact si fara a fi influentat de vibratii si perturbatii mecanice (cantare cu celule de sarcina) sau praf, ceata(cantare cu scannere laser) si se compune dintr-un senzor ultrasonic care returneaza in 4-20 mA inaltimea stratului de material de pe banda , un board cu microcontroller care pe o intrare analogica preia informatia de la senzor ,pe o intrare digitala preia informatia cu privire la starea benzii pornita sau oprita, softul implementat in microcontroller calculeaza marimile pentru iesire debite, volume si returneaza aceste valori la cerere sau periodic printr-un pachet de date pe port serial. Daca board-ul cu microcontroller este prevazut cu LCD afiseaza pe acesta marimile finale: viteza benzii, debit volumetric material, volum de material transportat.

Cantarul a fost implementat pe board-uri: AVR200 produs de Jed Microprocessors (Australia) cu microcontroller ATmega32, sau AVR-MT128 produs de Olimex (Bulgaria) cu afisaj LCD si microcontroller ATmega128.

4) Radar Doppler

Radarul Doppler a fost initial realizat pentru a masura viteza unei benzi transportoare fara contact cu banda in vederea utilizarii ca detector de patinare.

Radarul se compune dintr-un device Doppler cu dioda de emisie si dioda de mixaj. Semnalul de la dioda de mixaj este amplificat de un amplificator operational realizat pe cablaj imprimat productie Texas Instruments dupa care este preluat pe o placa cu microcontroller, softul implementat in microcontroller calculeaza viteza pe care o returneaza intr-un pachet de date pe portul serial si o afiseaza pe un afisor LCD daca placa cu microcontroller este prevazuta cu asa ceva.

Radarul a fost implementat pe board-ul AVR-MT128 produs de Olimex (Bulgaria) cu afisaj LCD si microcontroller ATmega128.

5) Dispozitiv control actionare poarta

A fost realizat la cererea unui client pe o placa cu microcontroller PIC16F84 si realiza urmatoarele functii: prelua comanda de punere in miscare (inchidere sau deschidere) de la o telecomanda si mentinea motorul de actionare in miscare pana cand primea confirmare de la un contact limitator de cursa sau un timer de verificare startat odata cu pornirea motorului depasea un timp prescris (interpretat ca actionarea este blocata sau limitatorul de cursa nu functioneaza pentru protectia motorului).

6) Dispozitiv masura distanta brat excavator - obstacol

Dispozitivul a fost creat cu scopul de a masura la excavatoarele de mare capacitate cu rotor distanta intre bratul rotii si taluz pe partea opusa cabinei operatorului pentru a preveni tamponarea rotii sau a bratului de obstacole (taluz). Distanta de la brat la taluz este masurata in patru puncte critice de patru senzori ultrasonici care o returneaza in 4-20 mA catre un dispozitiv cu microcontroller instalat in cabina operatorului. Dispozitivul este prevazut cu patru leduri corespunzand celor patru distante masurate si un buzzer. Se seteaza pentru fiecare senzor o distanta de prealarma si o distanta de alarma. Cand una din distante atinge pragul de prealarma ledul corespunzator sclipeste si buzzerul da semnale intermitente. Cand una din distante atinge pragul de alarma, ledul corespunzator sta aprins, buzzerul da semnal continuu,iar dispozitivul prin intermediul unui releu blocheaza comanda de miscare a bratului pe directia obstacolului.

Dispozitivul de protectie a fost implementat pe board-ul AVR200 produs de Jed Microprocessors (Australia) cu microcontroller ATmega32.

7) Datalogger - in lucru

Datalogger-ul este un dispozitiv conceput sa logheze datele preluate de la un anemometru pe un card SD sau MMC (capacitate mare ~ GB). Datalogger-ul este dezvoltat pe un board AVR-USB-STK produs de Olimex dotat cu microcontroller AT90USB162.

Datele pot fi descarcate ulterior pe port serial sau USB.

In final va deveni datalogger universal configurabil pentru intrari digitale sau analogice.

Pentru a pune in practica proiectul dvs. va stam la dispozitie cu propuneri si solutii tehnice bazate pe o experienta de peste 15 ani.
Click aici pentru a cere gratuit o cotatie de pret.

Aplicatii pentru PC

Tehnologie

Pentru aplicatiile mai vechi sau care ruleaza pe platforma Win32 am folosit ca mediu de dezvoltare Visual Basic 6.0 , apoi Visual C++ 6.0, Visual C++ 2005.

In general am creat aplicatii care trebuie sa functioneze in medii industriale dure (utilaje miniere sau energetica) unde se pun probleme de gabarit si conditii de lucru pentru echipamente .Din aceasta cauza am optat de multe ori sa utilizam computere SBC tip PC104 fara ventilator pe radiatorul microprocesorului(se defecteaza in praf). SBC-urile tip PC104 au resurse mai limitate, nu se pot instala programe si antivirusi avand in vedere ca lucreaza in retea. De aceea la ultimele proiecte am folosit mediul de dezvoltate si libraria QT (Digia) cu compilator GCC instalat pe Windows XP si pe Linux Fedora 19, dezvoltarea desfasurandu-se alternativ si pe un sistem si pe celalalt , cu depanare si compilare pe ambele pentru a instala pe calculatoarele industriale sisteme de operare Linux si nu Windows deoarece Linux nu necesita antivirus si este mult mai flexibil la configurare.

Proiectele Qt cu compilator GCC le-am integrat in mediul Eclipse Kepler pe care il utilizam si pentru limbajul C pentru microcontrollere, dar este mai greu de configurat acelasi proiect si pe Linux si pe Windows asa cum merge Qt Creator.

Interfetele grafice sunt la fel de usor de creat grafic (asemanator Microsoft Visual C++) folosind Qt Designer .Dupa ce au fost create, Qt Creator sau Eclipse le preia fara probleme.

1) Program comanda instalatie fabricatie furaje naturale concentrate

Aplicatia a fost implementata pe un PC prevazut cu un board PCI cu intrari , iesiri digitale si intrari analogice capabile sa preia semnale de tensiuni in gama microvoltilor de la celulele de sarcina ale instalatiei. Programul implementat pe calculator asigura functionarea complet automata a instalatiei : operatorul inregistreaza o reteta (componente, cantitati) sau doar selecteaza o reteta existenta, alege numarul de sarje dupa care da start, calculatorul executand toate operatiile necesare pentru fabricarea retetei si inregistrarea productiei in baza de date. Interfata cu operatorul este grafica cu schema instalatiei, leduri, butoane de comanda.

Aceasta aplicatie a fost dezvoltata cu Visual Basic 6.0.

2) Program descarcare date si erori yala electronica

Programul a fost realizat pentru a descarca prin intermediul unui port serial datele si erorile inregistrate in memoria EEPROM din yala electromagnetica. Aceasta aplicatie a fost dezvoltata cu Visual Basic 6.0.

3) Program transfer date din baza date Microsoft Access in baza date MySQL

Programul a fost realizat la cererea unui client la care firma a instalat un sistem de control al rondului care inregistra datele intr-o baza de date Microsoft Access. La cererea clientului am executat acest program care verifica bazele de date Access si MySQL si transfera datele netransferate de la ultima verificare.

Aceasta aplicatie a fost dezvoltata cu Visual Basic 6.0.

4) Cantar banda cu scanner laser

Cantarul se compune din: scanner laser, calculator industrial PC104 , adaptor USB-RS485, dispozitiv I/ O cu microcontroller, surse de alimentare. Scannerul laser este montat deasupra benzii transportoare si masoara intr-un plan perpendicular pe axa de miscare a benzii intr-un sector de cerc in care se afla covorul benzii coordonatele polare ale punctelor care descriu conturul materialului de pe banda. Datele de la scanner sunt preluate, prin intermediul unui port RS485 de mare viteza, de la adaptorul USB-RS485 (500kbps) de un program ce calculeaza debitul volumele transportate.

Aceste date sunt preluate de o aplicatie SCADA realizata in firma, care preia datele de la aplicatia scannerului, preia date de la dispozitivul I/O cu privire la starea de miscare a benzii, trimite programului scannerului viteza benzii, si poate afisa direct sau trimite datele aceluiasi program SCADA ,prin port serial sau ethernet , care ruleaza pe alt calculator si afiseaza debitul pe un instrument cu ac indicator, grafic cu debitele pe ultimele 24 de ore, volum total de la inceputul unei perioade de referinta (inceput de luna).

Exemplu de instalare : cantarul cu calculatorul lui sunt instalate pe banda2 a unui excavator de mare capacitate iar programul care afiseaza preia datele prin retea WiFi si ruleaza pe un calculator in cabina operatorului. De asemenea programul inregistreaza periodic volumele si debitele medii pe intervalul intre doua inregistrari intr-o baza de date Microsoft Access.

Aceasta aplicatie a fost dezvoltata cu Visual Basic 6.0.

5) Cantar instalatie incarcare carbune in vagoane

Instalatia de incarcare in vagoane a carbunelui este compusa dintr-o banda transportoare fixa care aduce carbunele pe care il varsa intr-un buncar care se bifurca in doua conducte. Carbunele este dirijat de un clapet pe una sau cealalalta conducta astfel incat incarcarea se face din mers si cand spatiul dintre vagoane ajunge in dreptul conductei prin care se varsa carbunele clapetul comuta debitul pe cealalalta in urmatorul vagon gol. Cantarul este asezat pe banda si este similar cu cel de la aplicatia 4. Aplicatia SCADA realizata preia informatii si de la senzori de pozitie clapet si pozitie vagoane si poate calcula cat carbune este incarcat instantaneu pe fiecare vagon.

Interfata cu operatorul este grafica, operatorul vede schema instalatiei, pozitia clapetului desenat pe pozitia corespunzatoare, vagoanele in curs de incarcare cu tonajul instantaneu afisat pe ele.

Aceasta aplicatie a fost dezvoltata cu Visual C++ 2005.

6) Aplicatie SCADA pentru cantar de banda cu celule de sarcina

Pentru un cantar de banda cu celule de sarcina am realizat o aplicatie care printr-o linie seriala RS485, protocol modbus , preia date de la cantar, transmite configuratia de lucru, informatii legate de defecte ale echipamentului, afiseaza pe un ceas cu ac indicator debitul masic, afiseaza pe un ceas cu ac indicator viteza benzii, ceas grafic ora exacta, afiseaza pe leduri cu diverse culori starea echipamentelor, indexul masa totala, inregistreaza intr-o baza de date pe un server MySQL datele si erorile sistemului.

Programul a fost creat utilizand libraria QT versiunea 4.8.5, proiectul si sursele in C++ fiind create cu mediul de dezvoltare Qt Creator si foloseste compilatorul GCC. Qt Creator si libraria Qt sunt create sa functioneze pe mai multe platforme, astfel incat proiectul a fost dezvoltat lucrand alternativ pe un laptop cu Qt instalat pe Windows XP si pe un calculator cu Qt instalat pe Linux Fedora 19. A fost compilat si verificat pe ambele sisteme de operare la client urmand sa functioneze pe un PC SBC PFM540I (producator AAEON) cu Fedora 10.

Pentru a pune in practica proiectul dvs. va stam la dispozitie cu propuneri si solutii tehnice bazate pe o experienta de peste 15 ani.
Click aici pentru a cere gratuit o cotatie de pret.
Vonrep ©1994-2017
Telefon: 0253 214 251 sau Cere GRATUIT o Cotatie de Pret