Sursa de Alimentare Digitala Programabila de Laborator cu Interfata Rs232
SURSĂ DE ALIMENTARE DIGITALĂ PROGRAMABILĂ DE LABORATOR
CU INTERFATĂ RS232
CUPRINS
INTRODUCERE
Capitolul 1. LABORATORUL DE DEPANARE
1.1 Structura unui laborator de depanare și de test care cuprinde și sursa de alimentare reglabilă
Capitolul 2. SURSELE PROGRAMABILE
2.1 Surse de alimentare
2.2 Componentele sursei programabile de laborator
2.2.1 Iterfața serială RS232
2.2.2 Generalități RS-232
2.2.3. Structura interfeței RS-232
Capitolul 3. PĂRȚI COMPONENTE ALE SURSEI DIGITALE
3.1 Transformatorul toroidal
3.1.1 Dezavantajele folosirii unui transformator clasic
3.1.2 Avantajele folosirii unui transformator classic
3.2 Filtrarea
3.3 Puncte de legătură cu microcontrolerul
3.4 Interfața cu tastatura și LCD-ul
3.5 Interfața cu portul serial
3.6. Interfața IEEE 1394
3.7 Microcontrolerul
3.8 Interfața între partea de comandă si partea de execuție
3.9 Protoclul punctului de legătură și conectarea cu un hiperterminal
3.10 Punctul de programare al microcontrolerului
3.11 Blocul de disipație termică
Capitolul 4. DESCRIEREA ȘI FUNCȚIONAREA SURSEI DIGITALE
4.1 Reglarea clasică analogică
4.2 Valori prescrise de microcontroler
Capitolul 5. MEDIUL DE PROIECTARE ȘI DEZVOLTARE
5.1 Suita de proiectare hardware OrCAD
5.2 Etapele creării unui proiect
Capitolul 6. INTERFAȚA SOFTWARE
BIBLIOGRAFIE
ANEXE
INTRODUCERE
Motivație
Lucrând ca si electronist în partea de depanare la o firmă care produce echipamente electronice de ultimă generație în domeniul industriei electronice, am avut posibilitatea să lucrez cu diferite instrumente de măsură și control de la o complexitate medie pâna la aparate super complexe (analizoare, osciloscoape digitale, etc vezi Fig.1).
În orice aplicație hardware cunoscută, avem nevoie de o sursă de alimentare. De asemenea, în toate firmele producătoare de echipamente electronice PCB-uri, cu diferite tipuri de aplicații în cele mai diverse domenii, există centre de service și reparație a plăcilor defecte.
Este logic și firesc să existe pentru fiecare tip de aplicație, gama fiind nesfirșită, diferite nivele ale tensiunilor de alimentare, dar totusi putem găsi o plajă în care să putem acoperi o largă gamă de nivele de tensiune.
Putem spune că este necesar să ne folosim de un alimentator reglabil într-o anumită plajă de tensiune pentru a ne genera tensiunea necesară alimentării anumitor montaje sau blocuri componente ale unor dispozitive electronice pe care dorim să le reparăm sau sa le testăm. Alimentatoarele cu tensiune reglabilă le putem vedea în toate aceste firme sau laboratoare specializate, fiind un accesoriu obligatoriu pe masa unui electronist profesionist.
Sursele de alimentare de laborator există în mai multe feluri de prezentare de la foarte simplu până la foarte inteligent.
Paleta se extinde de la surse de alimentare lineare care lucrează pur analog cu reglare de tensiune, până la surse de alimentare cu reglarea curentului și a tensiunii cu ajutorul unui microcontroler care efectuează și execută comenzi ale unor semnale în baza unui program și în același timp efectuează diverse funcții de supraveghere și comandă cu o interfață IEEE.
Capitolul 1
STRUCTURA UNUI LABORATOR DE DEPANARE SI DE TEST CARE CUPRINDE ȘI SURSA DE ALIMENTARE REGLABILĂ
Pentru a putea fi depanate unele păci electronice produse industrial, un sistem de test trebuie să cuprindă: surse de tensiune(AC și DC), sarcini, un modul de măsură, o imprimantă pe care se imprimă rezultatele testelor. T Unele din aceste echipamente sunt independente, altele comandate de către un PC ceea ce presupune existența în cadrul sistemului de test și a unei interfețe software, precum și a driver-elor IEEE corespunzătoare. De asemenea un sistem de test trebuie să aibă și conectica necesară pentru a lega interfața specifică fiecărui produs.
Sursa de alimentare clasică Surse digitale de mare putere
Fig .1
În figura 1 este imaginea unui laborator profesional de testare și depanare a plăcilor electronice produse industrial. Acesta face parte din linia de producție și cuprinde, în alcătuirea sa ca și post de lucru, diferite instrumente de măsură și control pe lânga osciloscop multimetre digitale, generatoare de semnal și binecunoscutele surse de alimentare clasice și mai nou cele digitale.
S-a propus realizarea în baza unei interfețe grafice existente la locul de muncă o sursă digitală de laborator de dimensiuni mai mici care să satisfacă nevoile personale în depanarea anumitor plăci electronice acasa. Din acest motiv s-a ales ca proiect acest tip de dispozitiv electronic din anumite puncte de vedere evoluat față de clasicele regulatoare de tensiune.
În dotarea de bază a fiecărui laborator de electronică se gasește și o sursă de alimentare reglabila eficientă.
În circuitul de reglaj ale modelelului descris în prezentul proiect un microcontroler supraveghează valorile prescrise și actuale de curent și tensiune si concomitent poate comunica printr-o interfață seriala RS232 cu un hiperterminal al orcărui calculator putând fi acționată și monitorizată de la distanță.
Acum se pot găsi o mulțime de aplicații practice cu microcontrolere, acest tip de componente electronice putând fi incluse în cadrul multor alte sisteme de automatizări și nu numai.
Acest proiect se poate utiliza și ca model didactic îmbinînd partea de soft cu cea de hard dintr-un mod cât se poate de vizibil.Acest tip de surse de alimentare cu reglare a curentului și a tensiunii cu ajutorul unui microcontroler efectuează prelucrare de semnale programate și în același timp efectuează diverse funcții de supraveghere și comandă cu o interfață IEEE.
Prin portul serial atașat la acest dispozitiv se poate comanda de la distanță cu ajutorul unui hiperterminal funcționarea alimentatorului cât și afișarea și monitorizarea rezultatelor comandate.
Capitolul 2
SURSELE PROGRAMABILE
2.1 Surse de alimentare
Sursele de alimentare de laborator există în mai multe feluri de prezentare de la foarte simplu până la foarte inteligent.
Sursele de alimentare programabile sunt dispozitive electronice dotate cu inteligență artificială alcatuită în întregime dintr-o ramură soft, aplicată într-un mod particularizat pentru un ansamblu de circuite electronice realizate pe o placă de circuit imprimat cu ajutorul componentelor electronice active și pasive, parte ce constituie ramura hard a aparatului.
Sursele de alimentare sunt utilizate în măsurările electrice ca surse etalon de tensiune, surse de activare pentru măsurarea mărimilor pasive din punctul de vedere metrologic și surse pentru alimentarea montajelor electronice în curent continuu și determinarea punctului static de functionare[2]
Paleta se extinde de la surse de alimentare lineare care lucrează pur analogic cu reglare de tensiune până la surse de alimentare cu reglarea curentului și a tensiunii cu ajutorul unui microcontroler care efectuează diverse funcții de supraveghere și comandă dupa un program prestabilit.
Trebuie știut că ramura soft nu poate exista fără partea hard corespunzătoare, deoarece în ansamblul acesteia din urmă, printre multitudinea de componente electronice, există și suportul de stocare al programului, și anume: o memorie de orice tip – FLASH, PROM, EPROM, EEPROM etc.
Spre deosebire de partea de soft a unui dispozitiv complet, patrea de hard poate exista și fără ramura soft, dar fără nici un fel de folos. Un PCB(placă de circuit imprimat) dotată cu un nucleu de inteligență artificială nu poate face absolut nimic atâta timp cât nu i se spune ce are de facut adică să primească niște instructiuni.
În componența surselor programabile întâlnim, așa cum am menționat mai sus, ambele ramuri importante din industria electronică inteligentă. Acestea sunt combinate într-o așa manieră încât una să lucreze în folosul celeilalte, rezultând astfel un ansamblu robust, stabil, cu un scop bine definit.
Putem spune că putem realiza mult mai simplu aceasta aplicație folosind câteva tranzistoare, diode și câteva componente pasive și un potențiometru sau mai multe pentru reglaj.
De ce avem nevoie de o sursă programabilă care, pe lângă proiectarea schemei electronice și realizarea fizică a circuitului imprimat, mai are nevoie și de programare?
Această întrebare era fondată cu ani în urmă, când nici nu visam să avem la dispoziție un circuit inteligent. La acea vreme, tot ceea ce dispuneam erau circuitele logice, tranzistoarele, amplificatoarele operaționale,oscilatoare, filtre, temporizatoare și multe altele, care ar fi trebuit combinate pentru a obține o sursa reglabila cu performante ridicate.
Astăzi putem beneficia de avantajele unui microcontroler care poate conține în interiorul său o memorie pe care putem să inscripționăm un program care să fie executat și rezultatele vor fi semnificativ îmbunătățite față de clasica metodă menționată anterior.
Putem vorbi și de precizia în reglaj mult mai mare, reglajul facându-se digital din unitate în unitate.
Componenta hard a unuei surse programabile constă în:
Transformator alimentare AC;
Redresare și filtrare;
Porturi de intrare:
Digitale;
Porturi de ieșire:
Digitale;
ConvertorA-D
Interfațe cu tastatură și LCD
Buffer
Interfață pentru port serial
Bloc de putere
Comutator analogic
Porturi de comunicație:
Serială;
Dispozitive de afișare:
Numerică: LCD;
Unitatea centrală de comandă și control:
Microcontroler cu memorii încorporate (RAM, ROM etc.) sau;
Nucleu dotat cu unitate aritmetică și logică;
Ne rămâne astfel, după clasificarea enunțată mai sus, să înțelegem că rolul componentei soft este de a se folosi de resursele puse la dispoziție în componenta hard și de a crea o legătură în funcție de condițiile de intrare, iar în urma prelucrării acestora să emită un răspuns pe care îl va transmite resurselor de ieșire.
Sunt persoane reticiente la probleme care nu sunt vizibile în sensul că „unde e potențiometrul de reglare a tensiunii? unde e potențiometrul de reglare a curentului?” și care vor spune că pot realiza același lucru cu un potențiometru și un regulator serie în 30 minute.
Este adevărat, se poate face același lucru cu un potențiometru și un regulator serie, însă în sursa de alimentare reglabilă există posibilitatea să intre umezeala din mediul înconjurător care în timp vor oxida potențiometrul și îl vor deteriora, acesta fiind singurul mod de acționare directă asupra valorilor de ieșire ale sursei.
Cum se va putea regla tensiunea sau curentul atunci? Ca să nu mai vorbim de finețea reglajului. Cei care acceptă acest progres tehnologic știu cum: folosind tastele și citind valorile de referință pe un ecran LCD sau chiar pe monitorul calculatorului.
Putând chiar face ajustări ale valorilor de ieșire în timp util și chiar de la distanță în cazul în care optăm să folosim această sursă pentru diferite aplicații în care o putem încorpora.
Flexibilitatea, fiabilitatea, robustețea ți facilitățile oferite precum miniaturizarea și costul de fabricație redus, fac ca aceste dispozitive sursele programabile să fie întâlnite din ce în ce mai des în laboratoarele industriale și în laboratoarele mici, laboratoare de service din prezent.
Voi încerca prin intermediul proiectului de față să pun în evidență cele menționate mai sus și să contrazic, dacă este posibil, mentalitatea „ce este clasic și simplu, poate fi și bun astăzi’’
2.2 Componentele sursei programabile de laborator
2.2.1 Interfața serială RS232
Acest tip de legatură este folosită pentru a lega între ele calculatoare, imprimante și aparate de măsură. Semnalele sunt transmise la distanță pe linii telefonice prin intermediul modemurilor. Interfața RS232 a fost standardizată în anul 1960 sub denumirea de RS-232 (Recommended Standard 232) de catre EIA (Electronics Industry Association). Acest standard a fost revizuit în 1969 (RS-232-C), apoi în 1978 (RS-232-D) ultima variantă fiind în anul 1991, denumirea completă fiind EIA/TIA-232-E (TIA fiind Telecommunication Industry Association).
Viteza maximă care se chiar de la distanță în cazul în care optăm să folosim această sursă pentru diferite aplicații în care o putem încorpora.
Flexibilitatea, fiabilitatea, robustețea ți facilitățile oferite precum miniaturizarea și costul de fabricație redus, fac ca aceste dispozitive sursele programabile să fie întâlnite din ce în ce mai des în laboratoarele industriale și în laboratoarele mici, laboratoare de service din prezent.
Voi încerca prin intermediul proiectului de față să pun în evidență cele menționate mai sus și să contrazic, dacă este posibil, mentalitatea „ce este clasic și simplu, poate fi și bun astăzi’’
2.2 Componentele sursei programabile de laborator
2.2.1 Interfața serială RS232
Acest tip de legatură este folosită pentru a lega între ele calculatoare, imprimante și aparate de măsură. Semnalele sunt transmise la distanță pe linii telefonice prin intermediul modemurilor. Interfața RS232 a fost standardizată în anul 1960 sub denumirea de RS-232 (Recommended Standard 232) de catre EIA (Electronics Industry Association). Acest standard a fost revizuit în 1969 (RS-232-C), apoi în 1978 (RS-232-D) ultima variantă fiind în anul 1991, denumirea completă fiind EIA/TIA-232-E (TIA fiind Telecommunication Industry Association).
Viteza maximă care se poate atinge este 20 kbps, chiar dacă se cunosc un număr mare de aplicații la care viteza ajunge la 116kbps. Versiunea C definește lungimea maximă a cablului la 15m. Versiunea D și E definesc mai corect lungimea liniei în termeni de sarcină capacitivă. Capacitatea maximă este de 2000pF, iar distanța este între 15 și 20 de metri.
2.2.2 Generalități RS-232
Protocolul de transmisie RS232 a fost dezvoltat original pentru transmisia de date pe linia telefonică. A fost definit ca bytii de date 8-bit sunt transmisi. În plus, la început un bit de start este trimis care marcheaza începutul unui byte de date. La sfârsitul byte-ului este trimis un bit de stop, în plus. Asta înseamnă că în total sunt trimiși 10 biti. Nivelul de tensiune al unui bit de start și al unuia de stop este de asemenea definit, de acees bitii trimisi de user sunt cu siguranță detectați. Pentru transmiterea datelor de la user a fost definit codul ASCII (American Standard Code of Information Interchange) astfel ca informația să fie universală și independentă de tipul teminalelor de date. Interfața este realizată pentru manevrarea și utilizarea modemurilor (Modulator / Demodulator) și conține niște semnale speciale în acest scop. Totuși, aplicații de genul celor de testare a automobilelor care folosesc de asemenea o interfața RS232, nu necesită aceste semnale specifice modemurilor. Pentru acest echipament este suficientă utilizarea semnalelor RD, TD si GND (Masa). Aceste semnale sunt explicate aici in detaliu.[5]
Pentru a transmite serial caractere care într-un calculator se formează din 7 sau 8 biți simultan, aceștia sunt serializați cu ajutorul unui registru cu decalaj, paralel – serie condus de un generator de bauds, adică de un tact specific. La sosire, un alt registru cu deplasare serie – paralel va reconstitui același cuvânt de 7 sau 8 biți.
Transmiterea biților serial se poate realiza utilizând doar două fire. O legâtură bidirecțională are nevoie de un fir în plus. Dacă se dorește controlul fluxului de date este nevoie de 4 sau 10 fire. Dar instalarea unei legături seriale rămâne mult mai puțin costisitoare decât una paralelă și în plus prezintă o imunitate mai ridicată la interferențele dintre fire, deci ea autorizează realizarea unor legături pe distanțe de mai multe zeci de metri, depășind chiar 100 de metrii, dacă luăm unele precauțiuni.
Numărul de bauds este frecvența transmisiei, exprimată în tranziții pe secundă. În practică se utilizează legături ce funcționează pe 300, 1200, 2400, 4800, 9600, 19200 bauds. Transmiterea unui caracter necesită pe langă cei 7 sau 8 biți de cod, un bit de start, unul sau doi biți de stop, la care se adaugă adesea un bit de control ceea ce face un total între 8 și11 biți pentru a obține un caracter transmis.
2.2.3. Structura interfeței RS-232
Norma RS-232 clasifică aparatele pe două categorii:
-DTE (Data Terminal Equipment), în principal calculatoare cu ecran și tastatură
-DCE = Echipament de Comunicații de Date (Data Communications Equipment). Aceasta este o alta denumire pentru modem.
Ieșirea informației utile de la DTE se face ( în cazul unui conector DB25 standard) prin pinul 2 al conectorului, și citirea datelor de către DCE se face la pinul doi al conectorului propriu, toate semnalele având ca referință pinul 7 atat pentru DCE cat și pentru DTE.
Pentru a recepționa date de la un modem se folosește o altă linie pentru legătura inversă.Astfel DCE emite pe pinul 3 și DTE recepționează tot pe pinul 3.
Dacă se urmărește conectarea a două calculatoare DTE sau un calculator și o imprimantă DTE se folosește cablarea de tip ,,modem nul “. Astfel se poate realiza o legătură bidirecțională folosind doar trei fire.
Nivelele logice utilizate de norma RS-232 sunt nivele bipolare. Interpretarea lor este însă diferită. Astfel pe liniile de date interpretarea se face in logică negativă, iar pe cele de control în logică pozitivă.
În concluzie nivelul de tensiune ridicat este între 5V și 25V, iar cel de tensiune coborât între –25V și –5V. Între –5V și 5V se întinde o plajă interzisă pentru semnaleler de ieșire, plajă redusă la intervalul –3V la 3V pentru intrări. Rezultă astfel o margine de cel puțin 2V între nivelul minim de emisie și sensibilitatea utilă la recepție.[12]
Capitolul 3
PĂRȚI COMPONENTE ALE SURSEI DIGITALE
3.1 Transformatorul toroidal
Partea de alimentare contine un transformator toroidal coborâtor de tensiune, punte redresoare de putere și tranzistoare de putere Darlington.
Pentru alimentarea sursei reglabile cu microcontroller vom utiliza ca parte de adaptare a tensiunii de intrare un transformator toroidal.
Acest tip de transformatoare folosit în gama de joasă tensiune și frecvența sunt construite în general în gama de tensiuni de intrare cuprinsă între 200v și 400 v și pot avea în secundar una sau mai multe tensiuni.
O principală funcție a transformatorului, aceeași ca și în cazul transformatoarelor toroidale, este modificarea valorilor energiei electrice astfel încât să putem asigura unui consumator în condiții optime tensiunea și curentul alternativ necesar.
Trebuie să spunem de ce am ales un transformator toroidal și nu unul clasic E+I.
Transformatoarele toroidale au cîmpul magnetic de dispersie aproape de 10 ori mai mic decât transformatoarele clasice. Acest lucru se datorează constructiei miezului, realizat dintr-o bandă continuă de tablă și faptului că înfășurările acoperă tot miezul asemeni unui scut și astfel cîmpul magnetic este menținut în interiorul transformatorului. Astfel poate fi eliminată nevoia unor ecrane speciale de protecție – transformatoarele toroidale fiind foarte potrivite pentru a fi utilizate în aplicații electronice sensibile, precum: amplificatoare, echipamente medicale, etc.[11]
3.1.1 Dezavantajele folosirii unui transformator clasic
De-a lungul timpului s-au realizat diferite variante constructive ale miezului ferromagnetic (E+I).
Acest tip de tole sunt realizate din tablă silicoasă și au un nivel de pierderi constante indiferent de directia fluxului magnetic.
Această soluție tehnică este actual învechită din mai multe motive:
-Transformatorul clasic conține un număr mare de spire, ceea ce duce la creșterea pierderilor rezistive.
-Dimensiuni mari și randament scăzut din cauza pierderilor feromagnetice.
-Randamentul transformatorului se micșoreaza din cauza fluxului magnetic de dispersie din afara miezului, care crește odată cu mărirea inducției magnetice.
3.1.2 Avantajele folosirii unui transformator toroidal
Transformatoarele toroidale au anumite avantaje de care trebuie să ținem cont.
Aceste avantaje sunt:
dimensiuni reduse la aceeași putere,
diametru și înălțime reduse
silențioase (zgomot redus)
pierderi reduse la mersul în gol
Câmp magnetic de dispersie redus
Montare simplă prin flanșă într-un singur punct
Transformatoarele electrice pot fi de mai multe tipuri între care reamintesc:
ridicătoare de tensiune,
coborâtoare de tensiune,
de impedanță,
de curent.
Transformatorul în cazul nostru este coborâtor de tensiune, de la tensiunea rețelei de 220v la un necesar de 25v pe intrarea sursei.
Se pot vedea în figura 2. detalii constructive ale unui transformator toroidal
Fig.2 [10]
Realizarea unui transformator bun este de fapt găsirea unei soluții constructive ce minimizează pierderile și totodată și gabaritul fizic al acestuia. Zgomotul produs de un transformator de tip toroidal este foarte mic de aceea acesta se pretează a fi introdus în aplicații audio – video cât și în multe alte domenii.
Trebuie să se țină seama nu numai de o proiectare atentă și îngrijită, dar și de întrebuințarea unor materiale din industria electrotehnică care pot conduce în final la obținerea unor pierderi minime.
3.2 Filtrarea
Pentru netezirea formei de undă a curentului avem nevoie de filtre de netezire sau cu alte cuvinte circuite de filtrare. Proiectarea filtrelor trebuie să țină cont de rezistența internă a sursei.Valoarea rezistenței interne a sursei se poate determina din valoarea curentului de scurt circuit. Filtrul utilizat de noi este caracterizat de valorile condesatoarelor montate după puntea redresoare C1 siC1’ și trebuie să fie potrivit pentru un curent maxim de sarcină.
Deasemenea pentru partea de logică a cărei alimentare este separată s-au folosit 3 condensatori de filtrare C 3,C 20 și C 23.
3.3 Puncte de legătură cu microcontrolerul
Microcontrolerul este dotat cu mai multe puncte de legătură. "Keyboard"-ul este conectat prin circuitul integrat IC5 care este interfața cu tastatura. Afișajul LCD este conectat prin interfața cu afisajul LCD și anume circuitul integrat IC6. Aici este vorba despre un registru 8-Bit (74HC164) cu intrări în serie și ieșiri paralele. De la controler sunt încărcate în mod continuu în registru prin pinii B5 (date) și B6 (tact) valori digitale. La IC6, acestea sunt comenzi de dirijare și numerice, care sunt preluate de la un semnal Strobe de la pinul B7 de către modulul LCD cu mod de funcționare de 8-Bit. La IC5 sunt mostre Bit, cu care controlerul identifică clar un buton apăsat prin P4.
P3 este potențiometrul uzual pentru reglarea contrastului afișajului. Dacă cursorul stă spre masă, este reglat de regulă un unghi de privire de 10º … 20º din verticală. Acest reglaj se recomandă dacă aparatul va fi utilizat pe o masă de laborator.
Pinii de control B0, B2 și B3 reprezintă un port RS232. Tensiunile de semnal sunt amplificate prin cunoscutele MAX232 pe +/- 10 V în partea RS232, respectiv micșorate în partea controlerului la nivel TTL. Pe lângă legăturile obișnuite (RxD și TxD), și firul CTS (clear to send) este conectat.
Punctul de legătură cu interfața RS232 permite atât afișarea rezultatelor la distanță cât și modul de lucru la distanță prin portul serial de la (telecomandă).
Reprogramarea microcontrolerului în cazul in care se optează pentru alte facilități soft se va face prin intermediul conectorului K2 legat direct la pinii microcontrolerului.
3.4 Interfața cu tastatura și LCD-ul.
Interfațta cu tastatura se face cu ajutorul unor circuite integrate specializate registre de deplasare pe 8 biti (74HC164).
Circuitul folosit 74HC164 este un circuit avansat CMOS de mare viteză produs după tehnologia CMOS și poate atinge viteze mari de operare similare cu Bipolar Shotky TTL, dar cu avantajul disipării mici de putere caracteristice CMOS.
Este un circuit în care datele seriale de intrare sunt introduse prin două porți sincrone AND. Aceste porți sunt sincronizate cu frecvența clockului facind tranzitia Low High, iar la ieșire vom găsi datele în configurație paralelă. Acest circuit mai dispune de un pin de reset Master Reset care poate curăța regiștrii punând ieșirile pe 0 indiferent de clock.
Intrările acestui circuit de interfațare sunt protejate intern, pentru a putea aplica fără probleme pe intrări semnale cu un nivel de tensiune cuprins între 1 V și 7 V. El poate fi folosit pentru interfațarea a două sisteme de alimentare de 5V și 3V, cum ar fi un battery backup.
In cazul sursei mele de alimentare, acest tip de integrat a fost utilizat pentru interfată cu tastatura pe shema IC5, iar cu IC6 am realizat interfața cu partea de afișare a măsurătorilor folosind display-ul LCD.
Pentru aceasta, se folosesc semnalele data de pe pinii B5 și clock de pe B6 ai microcontrolerului PIC16F84. Semnalul Strobe pentru LCD este dat prin B7 tot de la pinii microcontrolerului.
Potențiometrul semireglabil P3 este folosit pentru ajustarea contrastului LCD-ului. Funcție de nivelul contrastului de pe LCD se poate mări vizibilitatea displaiului din diferite unghiuri.
In Figura 3 avem semnificatia pinilor și notațiile acestora.
Fig.3
Acest circuit integrat este încapsulat într-o carcasă de plastic de tip PDIP.
Datorita faptului ca la realizarea sursei nu s-au folosit componente de tip SMD și toate componentele au fost de tip THD (Thrue Hole Device) cu trecere prin placa și acest circuit a fost ales cu acest tip de încapsulare.
Fig.4 Dispunerea pinilor
3.5 Interfața cu portul serial
MAX232 (sau orice alt IC echivalent) este nelipsit din orice circuit care trebuie să comunice prin interfața serială. MAX232 convertește semnalele de la un port serial RS232 în semnale TTL utilizabile în circuitele logice.
Ce este RS232?
RS232 reprezintă o serie de standarde pentru semnale seriale de control între un echipament de terminal de date (DTE = Data Terminal Equipment) și un echipament de circuit de date (DCE = Data Circuit-terminating Equipment). Standardul definește caracteristicile electrice și coordonarea semnalelor, înțelesul lor, cât și dimensiunea și pinii conectorilor fizici. In standardul RS232, tensiunea semnalul transmis are o valoare de -15..-3V pentru nivel logic 1 (H) și de 3.15V pentru nivelul logic 0 (L). Pentru a transforma nivelurile de tensiune RS232 în niveluri de logica TTL standard, vom folosi un MAX232. [8]
Circuitul MAX232 a fost conceput pentru a fi alimentat la 5V care conține un dublor și un invertor de tensiune ce folosește condensatoare comutate pentru a obține o tensiune de +10V și una de -10V, necesare pentru compatibilitatea cu semnalele standard RS232.[8]
In figura 5 avem dispunerea pinilor într-o capsulă PDIP.
Fig.5
Pinii RxD, TxD ai procesorului se conectează la pinii R1IN si T1OUT ai convertorului de nivel realizat cu circuitul MAX232. Rolul acestuia este să convertească nivelurile TTL (0.5V) în niveluri RS232, și viceversa.[8]
Fig.6 Vedere asupra unui conector mamă RS232 DB9 cu 9 pini
și tabelul cu semnificația pinilor [10]
Se pot folosi diferite tipuri de adaptoare de cablu pentru interconectarea cu interfața RS232. Asignarea pinilor din acest tabel poate fi folosită ca și schema de legare a firelor pentru un adaptor între două tipuri de conectoare.
În funcție de specificul aplicației solicitate, sursele programabile pot avea nivele de complexitate pe un interval destul de larg.
Toate aceste echipamente sunt capabile să comunice prin intermediul unor magistrale realizate pe baza standardelor ANSI/IEEE 488.2 sau RS232.
3.6. Interfața IEEE 1394
Este o interfață serială de mare viteză care se poate utiliza pentru conectarea la computer a dispozitivelor periferice precum camere digitale, imprimante, scanere, HDD-uri externe, interfețe video sau audio digitale, etc. Aceasta interfață este cunoscuta si sub numele de FireWire (Apple),
i. Link (SONY) sau Lynx (Texas Instruments).[7]
Combină tehnologia portului RS232 cu facilitațile protocolului SCSI luând din fiecare ce este mai bun. Este asemănătoare ca aspect cu conexiunea USB, deși USB și IEEE 1394 nu au nimic în comun.
Astfel de dispozitive, caracterizate ca fiind simple, pun la dispoziția utilizatorului (în acest caz inginerul proiectant al unui ansamblu compact) un număr redus de resurse hard și soft.
3.7 Microcontrolerul
Se înțelege printr-un număr redus de resurse hard, un număr limitat, mic de porturi de intrare și/sau ieșire, o diversitate redusă a porturilor (doar digitale, doar de semnal mic etc.), spațiu mic de stocare a programului și a memoriei RAM, ceea ce duce astfel la imposibilitatea introducerii unor programe complexe cu o putere de calcul ridicată și reducerea implicită a resurselor soft, existența dispozitivelor de afișare și monitorizare a parametrilor fiind totuși strict necesară.
Porturile digitale bidirecționale sunt conectate direct la microcontroler și nu pot asigura nici un fel de protecție pentru acesta. Acestea au fost concepute astfel încât să asigure, dacă este necesar, un trafic de date ridicat pe partea de comunicare, cât și pentru a comanda de exemplu un ecran LCD.
Microcontroller-ul PIC16F84 stă la baza funcționării proiectului de fața și a întregului dispozitiv. Acesta, prin soft-ul corespunzător, este capabil să monitorizeze toate porturile și interfețele de mai sus și să coreleze evenimente care intervin la porturile de intrare cu răspunsuri precise și bine definite, capabile să comande elemente de putere prin intermediul porturilor de ieșire.
O astfel de componentă compactă oferă o multitudine de facilități și avantaje, dar totodata conferă fiabilitate proiectului în care este inclusă. De asemenea, această componentă poate reduce prin complexitatea sa timpii alocați designului circuitului electronic.
Așadar prin intermediul portului serial RS232 putem avea o comunicație cu orice calculator pentru modificarea valorilor de tensiune și curent dorite cât și vizualizarea în timp util a valorilor de ieșire.
Prin intermediul unui conector aflat pe dispozitiv deasemenea acesta fiind un port de intrare putem interveni pentru stergerea programului încărcat și scrierea altui program în memoria microcontrolerului.
Alimentatorul reglabil conține pe lânga partea de logică și partea de putere comandată prin intermediul circuitelor intermediare.
Microcontrolerele sunt utilizate în robotică și în general în tot ce înseamnă automatizarea procesului de fabricație ( automate programabile etc.) unde sarcinile specifice pot fi distribuite la un mare număr de microcontrolere integrate[4]
Printre multele domenii unde utilizarea microcontrolerului lor este practic un standard industrial se pot menționa: realizarea de mijloace moderne de măsurare – instrumentație (senzori și traductoare inteligente, aparate de măsură), în industria de automobile (controlul aprinderii motorului, climatizare, diagnoză, sisteme de alarmă, etc), electronică de consum (sisteme audio-video, televizoare, telefonie mobilă, cuptoare cu microunde, etc.), controlul mediului (sere, locuințe, hale industriale), industria aerospațială.[4]
Orientarea spre aplicații concrete, prin îndepărtarea de conceptul de microprocessor “bun-la-toate” este și astăzi o prioritate a constructorilor de microcontrolere, gama produselor și aplicațiilor lor lărgindu-se mereu.[4]
Am ales pentru aceasta aplicatie microcontrolerul PIC16F84
Microcontroller-ul de față dispune de o memorie internă de tip FLASH în care se stochează întreaga aplicație logică a automatului programabil proiectat.
Memoria program conținută de microcontroler fiind produsă în tehnologia FLASH poate fi programată și ștearsă de mai multe ori, fapt care face acest microcontroler potrivit pentru dezvoltarea de componentă.
Aplicații :
PIC16F84 se potrivește perfect în multe folosințe, de la industriile auto și aplicațiile de control casnice la instrumentele industriale, senzori la distanță, mânere electrice de uși și dispozitivele de securitate. Este de asemenea ideal pentru cardurile smart ca și pentru aparatele alimentate de baterie din cauza consumului lui mic.[3]
Memoria EEPROM face mai ușoară aplicarea microcontrolerelor la aparate unde se cere memorarea permanentă a diferiților parametri (coduri pentru transmițătoare, viteza motorului, frecvențele receptorului, etc.). Costul scăzut, consumul scăzut, mânuirea ușoară și flexibilitatea fac PIC16F84 aplicabil chiar și în domenii unde microcontrolerele nu au fost prevăzute înainte (exemple: funcții de timer, înlocuirea interfeței în sistemele mari, aplicațiile coprocesor, etc.).[3]
Programabilitatea sistemului acestui cip (împreună cu folosirea a doar doi pini în transferul de date) face posibilă flexibilitatea produsului, după ce asamblarea și testarea au fost terminate. Această capabilitate poate fi folosită pentru a crea producție pe linie de asamblare, de a înmagazina date de calibrare disponibile doar după testarea finală, sau poate fi folosit pentru a îmbunătăți programele la produsele finite. [3]
Porturile digitale bidirecționale sunt conectate direct la microcontroler fără să asigure nici un fel de protecție pentru acesta. Acestea au fost concepute astfel încât să asigure, dacă este necesar, un trafic de date ridicat, pentru comanda ecranului LCD.
Situația porturilor digitale de ieșire de semnal mare este ușor diferită. Acestea nu pot funcționa dacă nu beneficiază de o alimentare separată. Acest mod de lucru a fost implementat pentru a asigura o izolare electrică a semnalelor mici de cele mari în cazul comandării unor dispozitive de putere.
Interfața serială RS-232 este construită pe baza unui circuit adaptor de nivel specializat și conferă o compatibilitate perfectă cu portul serial de 9 pini al calculatorului PC. Configurarea comunicației seriale a sursei de alimentare prezentate se face o dată cu introducerea componentei soft în memoria microcontroler-ului.
Microcontroller-ul proiectului de față stă la baza funcționării întregului ansamblu. Acesta, prin soft-ul corespunzător, este capabil să monitorizeze toate porturile și interfețele de mai sus și să coreleze evenimente provenite de la porturile de intrare cu răspunsuri clare și bine definite, capabile să comande elemente de putere prin intermediul porturilor de ieșire.
Microcontroller-ul de față dispune de o memorie internă de tip FLASH în care se stochează întreaga aplicație logică a automatului programabil proiectat. Componenta mai dispune de memorie RAM volatilă necesară pentru stocarea variabilelor de calcul și de prelucrare a informațiilor în timpul rulării programului, cât și de memorie EEPROM nevolatilă în care se pot stoca variabile de sistem, informații de calibrare (dacă este cazul) sau orice alte date particulare și ocazional variabile, de care alimentatorul programabil trebuie să dispună la imediata punere sub tensiune.
Se va prezenta în continuare schema bloc simplă cât și detailată a microcontrolerului PIC16F84 componenta principală în alcatuirea sursei programabile. Acesta aparține unei clase de microcontrolere de 8 biți cu arhitectură RISC.[3]
Structura lui generală este arătată în schița următoare reprezentând blocurile de bază.
Fig.7 Schița microcontrolerului PIC16F84
Fig.8 Schema bloc mai detailata amicrocontrolerului PIC16F84
Memoria program (FLASH) – pentru memorarea unui program scris.
Pentru că memoria ce este făcută în tehnologia FLASH poate fi programată și ștearsă mai mult decât odată, aceasta face microcontrolerul potrivit pentru dezvoltarea de componentă.
EEPROM-memorie de date ce trebuie să fie salvată când nu mai este alimentare.
Este în mod uzual folosită pentru memorarea de date importante ce nu trebuie pierdute dacă sursa de alimentare se întrerupe dintr-o dată. De exemplu, o astfel de dată este o temperatură prestabilită în regulatoarele de temperatură. Dacă în timpul întreruperii alimentării această dată se pierde, va trebui să facem ajustarea încă o dată la revenirea alimentării. Astfel componenta noastră pierde în privința auto-menținerii. Memorie destinată memorării unui număr limitat de parametrii care eventual trebuie modificați periodic.[3]
RAM-memorie de date folosită de un program în timpul executării sale.
În RAM sunt memorate toate rezultatele intermediare sau datele temporare ce nu sunt cruciale la întreruperea sursei de alimentare.
PORTUL A și PORTUL B sunt conexiuni fizice între microcontroler și lumea de afară. Portul A are 5 pini, iar portul B are 8 pini.
TIMER-UL LIBER (FREE-RUN) este un registru de 8 biți în interiorul microcontrolerului ce lucrează independent de program. La fiecare al patrulea impuls de ceas al oscilatorului își încrementează valoarea lui până ce atinge maximul (255), și apoi începe să numere tot din nou de la zero. După cum știm timpul exact dintre fiecare două incrementări ale conținutului timer-ului, poate fi folosit pentru măsurarea timpului ce este foarte util la unele componente.
UNITATEA DE PROCESARE CENTRALĂ are rolul unui element de conectivitate între celelalte blocuri ale microcontrolerului. Coordonează lucrul altor blocuri și execută programul utilizatorului.
Clock-ul /ciclul instrucțiune
Clock-ul sau ceasul este starter-ul principal al microcontrolerului, și este obținut dintr-o componentă de memorie externă numită "oscilator". Dacă ar fi să comparăm un microcontroler cu un ceas de timp, "clock-ul" nostru ar fi un ticăit pe care l-am auzi de la ceasul de timp. În acest caz, oscilatorul ar putea fi comparat cu arcul ce este răsucit astfel ca ceasul de timp să meargă. De asemenea, forța folosită pentru a întoarce ceasul poate fi comparată cu o sursă electrică.
Clock-ul de la oscilator intră într-un microcontroler prin pinul OSC1 unde circuitul intern al microcontrolerului divide clock-ul în 4 clock-uri egale Q1, Q2, Q3 și Q4 ce nu se suprapun. Aceste 4 clock-uri constituie un ciclu de o singură instrucțiune (numit de asemenea ciclu mașină) în timpul căreia instrucțiunea este executată. [3]
Executarea instrucțiunii începe prin apelarea unei instrucțiuni care este următoarea în linie. Instrucțiunea este apelată din memoria program la fiecare Q1 și este scrisă în registrul de instrucțiuni la Q4. Decodarea și executarea instrucțiunii sunt făcute între următoarele cicluri Q1 și Q4. În următoarea diagramă putem vedea relația dintre ciclul instrucțiunii și clock-ul oscilatorului (OSC1) ca și aceea a clock-urilor interne Q1-Q4. Contorul de program (PC) reține informația despre adresa următoarei instrucțiuni. [3]
Ciclurile de instrucțiuni -Pipelining
Ciclul instrucțiune constă din ciclurile Q1, Q2, Q3 și Q4. Ciclurile de instrucțiuni de apelare și executare sunt conectate într-un așa fel încât pentru a face o apelare, este necesar un ciclu cu o instrucțiune, și mai este nevoie de încă unul pentru decodare și executare. Totuși, datorită pipelining-ului (folosirea unei pipeline-conductă, și este aducerea unei instrucțiuni din memorie în timp ce se execută alta), fiecare instrucțiune este executată efectiv într-un singur ciclu. Dacă instrucțiunea cauzează o schimbare în contorul programului, și PC-ul nu direcționează spre următoarea ci spre alte adrese (poate fi cazul cu subprogramele jumps sau calling), 2 cicluri sunt necesare pentru executarea unei instrucțiuni. Aceasta este pentru că instrucțiunea trebuie procesată din nou, dar de data aceasta de la adresa corectă. Ciclul începe cu clock-ul Q1, prin scrierea în registrul instruction register (IR). Decodarea și executarea începe cu clock-urile Q2, Q3 și Q4.
[3]
TYC0 citește instrucțiunea MOVLW 55h (nu are importanță pentru noi ce instrucțiune a fost executată, ce explică de ce nu este un dreptunghi desenat în partea de jos).
TCYI execută instrucțiunea MOVLW 55h și citește MOVWF PORTB.
TCY2 execută MOVWF PORTB și citește CALL SUB_1.
TCY3 execută o apelare a subprogramului CALL SUB_1, și citește instrucțiunea BSF PORTA, BIT3. Pentru că instrucțiunea aceasta nu este aceea de care avem nevoie, sau nu este prima instrucțiune a subprogramului SUB_1 a cărei execuție este următoarea în ordine, instrucțiunea trebuie citită din nou. Acesta este un bun exemplu a unei instrucțiuni având nevoie de mai mult de un ciclu.
TCY4 ciclul instrucțiunii este total folosit pentru citirea primei instrucțiuni din subprogram la adresa SUB_1.
TCY5 execută prima instrucțiune din subprogram SUB_1 și citește următoarea.
Semnificația pinilor :
PIC16F84 are un număr total de 18 pini. Cel mai adesea se găsește într-o capsulă de tip DIP18 dar se poate găsi de asemenea și într-o capsulă SMD care este mai mică ca cea DIP. DIP este prescurtarea de la Dual In Package. SMD este prescurtarea de la Surface Mount Devices sugerând că găurile pentru pini unde să intre aceștia, nu sunt necesare în lipirea acestui tip de componentă. In cayul meu am folosit numai componente de tip THD, deci și microcontrolerul este de acest tip. Am folosit pentru o eventuală schimbare a acestuia un soclu cu 18 pini.
Fig.9
Pinii microcontrolerului PIC16F84 au următoarea semnificație ca in Fig.9:
Pin nr.1 RA2 Al doilea pin la portul A. Nu are funcție adițională.
Pin nr.2 RA3 Al treilea pin la portul A. Nu are funcție adițională.
Pin nr.3 RA4 Al patrulea pin la portul A. TOCK1 care funcționează ca timer se găsește de asemenea la acest pin.
Pin nr.4 MCLR Resetează intrarea și tensiunea de programare Vpp a microcontrolerului.
Pin nr.5 VSS Alimentare, masă.
Pin nr.6 RB0 Pin de zero la portul B. Intrarea Întrerupere este o funcție adițională.
Pin nr.7 RB1 Primul pin la portul B. Nu are funcție adițională.
Pin nr.8 RB2 Al doilea pin la portul B. Nu are funcție adițională.
Pin nr.9 RB3 Al treilea pin la portul B. Nu are funcție adițională.
Pin nr.10 RB4 Al patrulea pin la portul B. Nu are funcție adițională.
Pin nr.11 RB5 Al cincilea pin la portul B. Nu are funcție adițională.
Pin nr.12 RB6 Al șaselea pin la portul B. Linia de 'Clock' în mod programare.
Pin nr.13 RB7 Al șaptelea pin la portul B. Linia 'Data' în mod programare.
Pin nr.14 Vdd Polul pozitiv al sursei.
Pin nr.15 OSC2 Pin desemnat pentru conectarea la un oscilator.
Pin nr.16 OSC1 Pin desemnat pentru conectarea la un oscilator.
Pin nr.17 RA2 Al doilea pin la portul A. Nu are funcție adițională.
Pin nr.18 RA1 Primul pin la portul A. Nu are funcție adițională.
Oscilatorul sau Generatorul de ceas
Circuitul oscilator este folosit pentru a da microcontrolerului un ceas-clock. Ceasul este necesar pentru ca microcontrolerul să execute programul sau instrucțiunile din program.
Tipuri de oscilatoare
PIC16F84 poate lucra cu patru configurații diferite de oscilator. Pentru că configurațiile cu oscilator cu cristal și rezistor-condensator (RC) sunt cele utilizate cel mai frecvent, doar pe ele le vom menționa aici. Tipul de microcontroler cu oscilator cu cristal este desemnat ca XT, iar microcontrolerul cu perechea rezistor-condensator are desemnarea RC. Aceasta este important pentru că trebuie să numiți tipul de oscilator când cumpărați un microcontroler.[3]
Oscilatorul XT
Pentru partea de clock am folosit un cristal cu valoarea de 4 MHz. Oscilatorul cu cristal este o componenta electronică care se identifică de obicei dupa modul de încapsulare într-o carcasă metalică inscriptionata cu frecvența la care cristalul oscilează, două terminale pentru conectarea pe placă. Mai sunt necesari doi condensatori ceramici de 30pF cu celălalt capăt la masă pentru a fi conectați la fiecare pin a microcontrolerului. Ca și încapsulare oscilatorul și condensatorii pot fi grupați în aceiași capsulă cu trei teminale. Un asemenea dispozitiv se numește rezonator ceramic, și este reprezentat în scheme ca cel de mai jos. Pinii centrali ai elementului sunt masa, iar pinii terminali sunt conectați la pinii OSC1 și OSC2 ai microcontrolerului. Când se proiectează un aparat, regula este să plasați oscilatorul cât mai aproape de microcontroler, pentru a elimina orice interferență de pe liniile pe care microcontrolerul primește tactul de ceas.[3]
3.8 Interfata între partea de comandă și partea de execuție
Partea de comandă și de fapt creierul desfașurării tuturor măsurătorilor, rezultatul acestora tensiunea și curentul generat la bornele de ieșire, cât și afișarea lor pe display și implicit pe monitorul PC-ului dacă se optează pentru supravegherea prin RS232 în cazul acestui dispozitiv, este microcontrolerul care realizează reglarea clasică analogică acționînd asupra părtii de forța realizată cu tranzistoare Darlington. Interfața dintre microcontroler și partea de citire a informațiilor de pe ieșire cât și compararea și trimiterea către microcontroler a informațiilor transpuse în nivele de tensiue a fost realizată modern cu un circuit de tip LT1491. La acest IC este vorba de un amplificator operațional Qamp Rail-to-Rail la intrări și la ieșiri. Acest circuit reprezintă de fapt interfața între partea de comandă (microcontrolerul) și partea de execuție (partea de putere).
3.9 Protocolul punctului de legătură si conectarea cu un hiperterminal
Conectarea hiperteminalului cu sursa se va face printr-un conector DB9-DB9 mamă tată. Conectorul de programare se conectează cu placa electronică a aplicației dezvoltate și permite astfel transferul de date dintre aceasta și calculator.
Fig.10 Cablu de comanda DB9
Pachetul de date care este trimis de către sursa de alimentare prin punctul de legătură este construit ca și Duuuuuiiiii┘
Întâi se trimite un D, după care valorile de câte 5 cifre pentru tensiune și curent și sfârșit un semn Carriage-Return. Ultima cifră a valorii de tensiune corespunde a 10 mV, iar cea de curent a 1 mA. Deci, ambele valori sunt cu rezoluție multiplicată cu factorul 10 decât în afișaj.
Prima cifră a valorii de tensiune și curent este întotdeauna 0.
3.10 Punctul de programare al microcontrolerului
Pentru programarea microcontrolerului avem nevoie nu numai de softul adecvat, dar și de o interfața dedicată care se poate găsi în mai multe fome de prezentare funcție de producător. In acest caz am folosit o interfață folosită la programarea Pic-urilor de la locul de muncă.
Prin conectorul K2 amplasat pe partea superioara a PCB-ului se pot transmite microcontrolerului datele unui nou program. Ștergerea programului actual și inscripționarea unui nou program.
3.11 Blocul de disipatie termica
Pentru disiparea căldurii generate de tranzistoarele de putere am folosit radiatoare de aluminiu precum și un circuit electronic de stabilizare și adaptare a tensiunii de intrare la tensiunea nominala de functionare a unui miniventilator cu eficienta maxima folosit si in altfel de aplicații similare (ex. sursele de calculator,sursele de alimentare pentru circuite de routare telecom).
Ventilatorul de dimensiuni reduse are un rol important in transferul de caldura emanată de radiatoare și mediul inconjurator .
La pornirea alimentării Circuitele integrate stabilizatoare care alimenteaza ventilarorul preiau tensiunea direct de pe puntea redresoare principala (intrarea de putere),o adapteaza și astfel se produce ventilarea radiatorului imediat dupa pornirea sursei.
Capitolul 4
DESCRIEREA ȘI FUNCȚIONAREA SURSEI DIGITALE
Aeasta sursa este realizată cu PIC16F84 ce ruleaza un program scris în PICBASIC1.3 care poate controla un regulator analogic realizat cu LT1491, un circuit integrat amplificator operational cu patru operaționale intr-o singură capsulă -un fel de LM324 dar cu caracteristici mult mai bune. În mod curent aceeași schema analogică analizează tensiunea de ieșire și o compară cu o referință, rezultatul fiind un semnal de eroare care este aplicat unui regulator.
Sursa noastră de alimentare pentru laborator este exact în clasa de mijloc. Aceasta cuprinde – în funcție de clasa de eficiență – un domeniu de tensiune de la 0.3V la 25 V la cel mult 2,5 A sau de la 0 … 20 V la cel mult 1 A. Valorile de curent și de tensiune pot fi setate digital cu ajutorul celor patru taste (două pentru ajustarea grosieră și două pentru ajustarea fină). Aici se atinge o rezoluție de 100 mV la tensiune și de 10 mA la curent. Valorile prescrise și cele actuale sunt afișate într-un afișaj LCD iluminat.
Printr-o interfață RS232 integrată, aparatul poate fi comandat de la distanță; mai mult de atât cu această interfață se pot afișa în mod continuu valorile de curent și de tensiune măsurate precum și valorile de tensiune și curent setate în mod on line.
Comunicația are loc cu ajutorul semnalelor ASCII, astfel încât în cel mai simplu caz, hiperterminalul poate fi utilizat pentru afișarea valorilor și pentru modificarea setărilor.
Programul interfeței grafice este un program folosit în mai multe tipuri de aplicații similare și este utilizat în mai multe laboratoare de teste și depanare. Acest program este scris in Visual-Basic-6.
Pentru ca acest program scris în Visual-Basic-6 să poată fi potrivit și cerințelor noastre avem nevoie de un program care să fie inscriptionat în memoria microcontrolerului care să comunice prin interfața RS232 cu terminalul și totodată să execute instrucțiunile date de la distantă.
În comanda sursei de alimentare lucrează un Controler Microchip PIC16F84 al cărui program de control a fost scris în PIC-BASIC-1.3.
Pentru acesta vem nevoie de un cod sursă, în limbaj de ansamblare hexa.
Datele pe scurt ale sursei digitale de alimentare:
4.1 Reglarea clasică analogică
In cazul acestui dispozitiv reglarea clasică analogică a fost realizată modern cu un circuit de tip LT1491. La acest IC este vorba de un amplificator operațional Qamp Rail-to-Rail la intrări și la ieșiri, care prezintă aceleași conexiuni de legătură și aproape aceleași (sau mai bune) ca și legendarul LM324.
Acest circuit reprezintă de fapt interfața între partea de comanda (microcontrolerul) și partea de execuție (partea de putere).
Tabelul 1 prezintă câteva valori față de cele două IC-uri. LT1491 își are dreptul de existență în această conectare în ciuda prețului său mai ridicat. Împreună cu rezistențele de peliculă metalică cu toleranță redusa, amplificatoarele operationale lucrează atât de exact, încât sunt necesare doar puține puncte de comparație. Avem totusi nevoie de un punct de referință și ulterior calibrare.
In tabelul următor putem vedea câteva date importante comparative:
Tabel I. LM324 vs LT1491
La reglarea clasică analogică a unei surse de alimentare conform conectării din fig. 1. sunt măsurate tensiunea și curentul de ieșire și sunt comparate încontinuu prin comparatoare cu valorile prescrise.
Aici se stabilește tensiunea de ieșire direct la bornele de ieșire (astfel se evită erorile induse din cauza rezistențelor conductorilor și de treceri) și este divizat cu ajutorul unui divizor de tensiune în domeniul de tensiune al comparatorului.
Ceva mai complicată este măsurarea curentului, deoarece de regulă în circuit trebuie inclus și un Shunt.
Shunt-ul ar trebui să fie cât se poate de mic pentru a nu limita prea mult domeniul de intrare și pentru a păstra pierderile cât mai mici, pe de altă parte tensiunea trebuie să fie destul de mare și de exactă pentru ca la comparator să fie depistabilă scăderea de tensiune masurata aferentă curentului pe sarcina. Zgomotul de fond sau alte imperfecțiuni ale circuitului electronic.
Tensiunea Shunt constă în cazul nostru din 10 rezistente de 1 Ώ legate în conexiune paralel, rezistențele de 1 Ώ (R24 … R33) legate paralel. Acest lucru este considerabil mai ieftin decât o rezistență de 0,1 Ώ cu o toleranță de 1%, iar devierea de la valoarea prescrisă de tensiune este considerabil mai mică. Layout-ul este astfel construit încât la masurare să se ia în calcul cât mai puțin din pierderile de pe cabluri.
La un curent de ieșire (sarcină) de 2,5 A căderea de tensiune pe rezistența Shunt este de 0,25 V. Amplificatorul operational IC1 amplifică această tensiune cu factorul de 20 la versiunea de 2,5 A și de 40 la versiunea de 1 A. Tensiunea amplificată este măsurată și trimisă către comparator prin R14.
Fluxul de curent însă are influență și asupra măsurării tensiunii: Amplificatorul operational IC1 împarte căderea de tensiune pe Shunt la patru și inversează semnul (-0,0625 V). Dacă la bornele de ieșire (sarcină) este o tensiune de 25 V, la borna plus de ieșire rezultă o tensiune de 25,25 V față de masa de conectare. Divizorul de tensiune R7/R8 și R15 au în total o valoare de 50 kΏ. La divizorul de tensiune sunt 25,25 V + 0,0625 V = 25,3125 V. De aici cad 4/5 pe R7/R8 și 1/5 pe R15. Astfel, pe R15 cad 5,0625 V. La ieșirea de tensiune (între R8 și R15) sunt deci exact 5 V față de masa de conectare. Tensiunea la ieșirea din divizorul de tensiune (față de masă) arată din acest motiv exact tensiunea de ieșire indiferent cât curent trece prin rezistența Shunt. Fără compensarea măsurării devierii de tensiune, tensiunea pe rezistența Shunt (până la 0,25 V) ar fi inclusă în măsurarea tensiunii de ieșire.
Pentru ca operaționalele să și poată prelucra tensiunea negativă față de masă, este necesară o tensiune auxiliară negativă, care este obținută din tensiunea de intrare cu ajutorul diodei D1. Tensiunile de măsurare divizate amplificate și compensate ajung prin R9 și R14 la intrările de inversare ale operationalului IC1.A și IC1.D. Amplificatorul operational IC1D conectat ca și comparator compară tensiunea actuală (la intrarea inversată) cu valoarea prescrisă. IC1.A face același lucru pentru curent.
Valorile prescrise provin din Microcontroler-ul PIC16F84 (IC3), care datorită componentelor RC R11/C9 și R12/C8 pot pune la dispoziție două tensiuni analogice exacte.
Tensiunile sunt generate prin modulație de amplitudine de puls la bornele microcontrolerului. Ambii convertori D/A prezintă o rezoluție de 8 Bit.
Ambii comparatori sunt prevăzuți cu un filtru de trece jos prin C6 și C7. Ieșirile lucrează ca prin D5 și D6 "legate" în baza ale tranzistorilor de putere.
Dacă o valoare actuală depășește valoarea prescrisă, linia de bază este pusala masă (și sub) și se blocheaza tranzistorii de putere. Dacă nici curentul și nici tensiunea prescrisă nu sunt atinse, sursa constantă de curent T1 livrează independent de tensiunea de ieșire un curent de bază de 2 mA la sursa de alimentare de 2,5 A sau de 360 μA la cea de 1 A.
Un curent de bază atât de mic este posibil doar dacă sunt utilizați tranzistori de putere de tip Darlington (T2 … T4). La versiunea de 2,5 A sunt trei tranzistori Darlington (TIP142). Pentru ca curentul să se împartă bine între tranzistori, sunt prevăzute rezistențe de echilibrare pe Emiter de 0,51 Ώ.
Dacă la doar unul din cele trei rezistențe crește tensiunea peste 0,65 V (de ex. la 1,3 A) unul dintre tranzistorii T5 … T7 sunt deschiși și astfel tranzistorilor Darlington le este oprit curentul de bază.
Acesta este o protecție efectivă împotriva impulsurilor de curent care apar la bornele de ieșire la scurtcircuit și care ar putea distruge tranzistorii de putere. La sursa de alimentare de 1 A este utilizat doar un tranzistor Darlington de acest tip.
Din acest motiv, aici se poate renunța la rezistențe de Emitter și conectări de protecție. Pentru sursa de alimentare de 2,5 A se utilizează un radiator cu un indice de 0,6 K/W.
Astfel, la sarcina maximă, deci la scurtcircuit și curent maxim, se stabilește o temperatură de 80ºC. Ambele variante de sursă de alimentare sunt deci (fără aerisire activă) potrivite din punct de vedere termic pentru orice sarcină continuă.
4.2 Valori prescrise de microcontroler
Veriga de legătură dintre partea analogică și cea digitală este microcontrolerul PIC16F84 IC3. Pentru a putea măsura exact și prelucra tensiunile, acesta necesită desigur o tensiune de referință stabilă, dedusă din tensiunea de alimentare. Pentru acest lucru, stabilizarea de tensiune a fost îmbunătățită cu IC9 (prestabilizare la 12 V) și regulatorul de tensiune fixă IC7+ 5V cu câteva componente. Din tensiunea prestabilizată de + 12 V este alimentat doar IC2.
Cu IC7 se stabilește tensiunea la ieșirea din regulator teoretic la 5,12 V (în realitate 5,14 … 5,16 V). R3 (facultativa) reprezintă o sarcină de bază, astfel încât întotdeauna trece un curent de cel puțin 33 mA prin stabilizator. Acest curent este ales aproximativ de zece ori mai mare decât curentul care trece prin legătura de măsură al regulatorului de tensiune. Fluctuațiile în funcție de sarcină al acestui curent de punct de bază au astfel doar efecte minore. Datorită sarcinii de bază mari curentul de sarcină oricum fluctuează mai puțin.
Tensiunea de referință este datorită acestor măsuri foarte stabilă și se modifică în mod normal doar datorită procesului normal de îmbătrânire ale componenților. Din acest motiv, ca la orice alt aparat de măsură electronic, se recomandă o recalibrare în interval de câțiva ani.
Partea logica se alimentează prin 7805 dintr-o tensiune prestabilizată cu un circuit stabilizator parametric. Referința de tensiune este folosită de convertorul A/D realizat în jurul microcontrolerului cu componente puține însă de precizie cu toleranță (1%).
Calibrarea sepoate face cu ajutorul potențiometrului P2.
Principiul de conversie se poate realiza cu un circuit de conversie A/D de rezoluție mare cu investiție minoră, care livrează valori de măsurare foarte exacte datorită utilizării de toleranțe mici ale componentelor. La transformarea Analog/Digitală lucrează în mod evident și microcontrolerul. Procesul de transformare decurge în detaliu astfel:
În poziția inițială, Pin-ul A2 ontroller (legat ca și intrare) este de impedanță mare și pin A3 (ieșire) este pe 0 V. La intrarea neinversoare de la IC2.B este citită tensiunea care trebuie măsurată, și pentru că operaționalul este legat ca și transformator de impedanță la ieșirea acestuia să presupunem că este vorba de exact 1,28 V. Astfel ieșirea integratului IC2A este aproape la nivelul tensiunii pozitive de alimentare. Controller-Pin-ul A2 interpretează acest lucru ca și semnal H. Dacă trebuie efectuată doar o singură măsurătoare, controlerul modifică starea pinului A3 de la Low la High (= 5,12 V) și așteaptă până când tensiunea la A2 se schimbă la Low.
Din acest moment, controlerul menține prin togging al pinului A3 ieșirea integratorului în plutire. Acest semnal plutitor de la circuitul integrat IC2 este interpretat de către microcontroler ori ca și Low orica si High. Acum este măsurat raportul de tastare a ieșirii integratorului. Se vede că pinul A# trebuie să rămână de trei ori mai mult pe High decât pe Low, pentru a genera o tensiune la intrarea de invertor al integratorului, care în medie este exact de aceeași mărime ca și tensiunea la intrarea neinversată, și anume de 2,56 V.
Comparația cu P2 este necesară deoarece acest tip de transformator A/D nu funcționează cu tensiuni negative și controlerul s-ar bloca. Deci, pe lângă compensarea toleranțelor componentelor, P2 servește și pentru a genera o tensiune ușor pozitivă. Pentru IC2 s-a ales un circuit TLC272 cu intrări MOS, pentru că transformatorul A/D lucrează corect doar când curenții de intrare sunt considerabil mai mici decât la circuitele integrate bipolare. Tensiunile de offset relativ mari au fost folosite aici ca un avantaj unde acestea oricum trebuie comparate, acest lucru neavind efecte negative.
IC4 este un comutator analogic care obține informația de tensiune la Pin 11 (măsurarea de tensiune) sau informația de curent la Pin 8 (măsurarea de curent) de la transformatorul de impedanță IC1.B.
Mai apoi aceste informatii sunt transmise catre microcontroler prin intermediul lui IC2 B la intrarea neinversoare pinul 5.
Capitolul 5
MEDIUL DE PROIECTARE ȘI DEZVOLTARE
5.1 Suita de proiectare hardware OrCAD
OrCAD este un mediu de proiectare și design pentru realizarea de circuite imprimate (PCB) complex, care pune la dispoziția inginerului proiectant instrumentele necesare dezvoltării unei aplicații hardware de ultimă generație.
OrCAD pune la dispoziția utilizatorului următoarele instrumente de dezvoltare:
Capture CIS option (Component Information System) – pentru gestionarea informațiilor despre componentele electronice
Captură Schematică pentru proectarea shemelor electrice și electronice;
PSpice A/D – pentru analiza și simularea circuitelor electronice;
Design PLD (Programmable Logic Design – Design de Logică Programabilă);
OrCAD PCB Editor – pentru proiectarea plăcilor cu circuite imprimate (PCB);
SPECCTRA – Auto-rutare PCB interactivă a plăcilor cu circuite imprimate;
OrCAD Signal Explorer – pentru analiza integrității semnalelor înainte și după rutare.
În figura 11 este redată o imagine orientativă a mediului de lucru din. OrCAD cu un document nou creat.
Mediul de proiectare OrCAD dispune de librării de unde se pot importa materialele dorite.
Atât proiectele, cât și bibliotecile de capsule realizate cu OrCAD Layout, pot fi importate în OrCAD PCB Editor și utilizate în continuare.
Fig. 11
5.2 Etapele creării unui proiect
Se vor enunța mai jos etapele creării unui proiect Schema și PCB-ul:
1. Lansare Capture
2. Crearea unui proiect sau deschiderea unui proiect (*.OBJ)
3. Realizare schemă (Capture)
4. Plasarea componentelor
5. Plasarea alimentărilor
6. Plasarea legăturilor (firelor)
7. Modificarea referințelor, a valorilor componentelor
8. Identificarea legăturilor prin Label
9. Atribuirea numelui unei amprente
10. Salvare schemă
11. Verificarea regulilor electrice
12. Generarea listei de componente
13. Generarea unui fișier netlist(lista de legaturi)
14. Lansare Layout
15. Crearea proiectului cablajului imprimat (Layout)
16. Pregătire
17. Alegerea unui proiect de tehnologie (*.TCH) sau cablaj (*.TPL)
18. Chemarea unui fișier netlist (*.MNL)
19. Propunerea unui nume pentru proiect cablaj(*.MAX)
20. Desenul conturului circuitului imprimat
21. Plasarea componentelor
22. Plasarea componentelor suplimentare
23. Rutaj manual
14. Rutaj automat
25. Plasarea planului de masă
26. Plasare text
27. Salvare
28. Imprimare schemă cablaj
29. Imprimarea fețelor utile pentru realizare cablaj
Cu Tools Library Manager putem accesa diferite librării cu componentă. OrCAD are o multitudine de amprente disponibile într-o vastă bază de date pe care să o poți utiliza în proiectul tău. ca și la simbolurile din scheme trebuie verificate și amprentele componentelor folosite pentru a putea corespunde înainte de a le utiliza. Sunt disponibile pentru acest scop mai multe librării cu componente. Multe din documente furnizează inginerului proiectant și informațiile mecanice necesare pentru a realiza o amprentă corectă.
De exemplu la realizarea amprentei pentru butoanele sursei am ținut cont de dimensiunile acestora din informațiile datelor tehnice obținute de la producător.
Bineînțeles inginerul proiectant va alege pentru designul sau modelul potrivit de încapsulare astfel putând obține dimensiuni cât mai mici și un aspect al montajului realizat plăcut.
Aspect de lucru cu Tools Library Manager:
Designer-ul de PCB (Printed Circuit Board – Placă de Circuit Imprimat)
OrCAD PCB Editor -Designer-ul de PCB din OrCAD este un instrument puternic care vă permite să creați, să editați și să verificați Circuitul Imprimat sau Circuitele Imprimate ale proiectului sau ale proiectelor dumneavoastră. Tot cu ajutorul editorului de amenajare a PCB-ului se generează și fișierele necesare pentru producerea circuitului imprimat, fișiere care sunt compatibile cu mașinile de prelucrare automate. În figura 3.1 este redată o imagine orientativă a Designeru-lui de PCB lucru din OrCAD cu o imagine a cablajului sursei de alimentare
Detalii constructive ale sursei de alimentare
Proiectarea sursei digitale de alimentare necesită atenție deosebită, deoarece atât partea mecanica cât și design-ul și partea electronică trebuie să răspundă cerințelor profesionale.
Pentru sursa de alimentare de 2,5 A se utilizează o carcasă din metal cu dimensiunile de 200 x 180 x 100 mm (lățime, lungime, înălțime) și un transformator toroidal cu miez inelar (24 V / 80 VA). Toate componentele carcasei trebuie conectate bine cu firul de protecție de împământare pentru prevenirea electrocutării în cazul unei scurgeri accidentale de electricitate.
Pe lângă acest lucru, trebuie utilizat un filtru de rețea montat pe cablul de alimentare pentru a evita ca și controlerul să efectueze un reset la fiecare interferență provenită de la un deranjament de rețea. Placa (PCB-ul ) este fixată cu ajutorul unuor adaptoare de plastic pentru fixarea de placa frontală, pe podea este montat doar transformatorul și eventual filtrul de rețea. În partea din spate a PCB-u-lui se află corpul de răcire atașat de cei 3 tranzistori de putere și pe lateral un conector mamă RS232, o intrare de cablu de alimentare cu 24V AC. Pe placă se află și un soclu pentru siguranță în cazul în care consumul ar crește nepermis și siguranța arsș ar trebui înlocuită.
Opțional pe intrare se poate monta un filtru de rețea pe cablul de alimentare după cum am menționat mai devreme.
Placa goală poate fi utilizată ca și șablon pentru găurire pentru placa frontală.
Pe partea din spate a plăcii frontale se vor strânge piulițe plate pe șuruburi cât se poate de tare. Pentru că piulițele nu mai trebuie deșurubate niciodată (fără deteriorarea foliei) este bine să fie fixate după strângere cu puțin lipici instant. Filetul trebuie să stea în afară câțiva milimetri pentru ca șuruburile de susținere să stea bine. Orificiile de fixare pentru ambele borne de furnizare a tensiunii trebuie găurite în funcție de materialul utilizat. Dacă placa frontală eloxată arată bine după prelucrare (fără zgârieturi sau alte deteriorări) se pot aplica simbolurile după care se poate aplica un strat de lac protector. Alternativ se va realiza o folie frontală care să corespundă modelului tastaturii.
Capitolul 6
INTERFAȚA SOFTWARE
Softul-Sofware
Sursa digitală de alimentare este controlată de către un microcontroler programat în PIC-BASIC, iar pentru câmpurile de comandă de pe monitorul de calculator este responsabil un program scris in Visual-Basic.
Programul cu care a fost inscriptionat microcontrolerul PIC16F84 este un program scris in PICBASIC 1.3 în continuare pașii executării acestuia fiind prezentați în diagrama de flux din anexa 1.
Dupa cum este prezentat în diagrama de flux al programului de microcontroler.
După pornire are loc o scurtă inițializare. Astfel sunt setate valorile prescrise la zero și sunt reglați câțiva pini de control. Următorul pas, măsurarea valorilor actuale de tensiune și de curent face deja parte din demersul principal al acestui program. Toți ceilalți pași din program au loc în această ordine una după cealaltă. O ramificare există doar la tastare. Tastarea cum este prezentată în diagrama de flux nu este altfel decât este în realitate; aceasta nu putea fi reprezentată altfel. În principiu se tastează o tastă după cealaltă și dacă una este apăsată, controlerul memorează numărul tastei. Jos de tot, la tasta apăsat, se stabilește dacă a fost apăsată vreo tastă. Dacă da, se ramifică într-o parte de program, care cu respectarea valorilor maximale și minimale crește sau scade valoarea prescrisă corespunzătoare. Valoarea prescrisă nouă va fi afișată. După aceasta urmează o pauză de jumătate de secundă înainte ca tastele să fie scanate din nou. Astfel este creată o funcție de repeat. Dacă nu este apăsată nici o tastă, programul se ramifică înapoi în demersul principal pentru măsurarea tensiunii și a curentului.
Pentru programarea microcontrolerului avem nevoie nu numai de softul adecvat dar si de o interfata dedicata care se poate gasi in mai multe fome de preyentare functie de producator.
In acest caz am folosit o interfața folosita la programarea PIC-urilor de la locul de muncă.
Aspect al mediului de programare PIC BASIC
În cele ce urmează se vor descrie pașii realizării programului pentru PIC16F84.
PIC-BASIC-1.3-Cod sursa
Declararea variabilelor:
VarB Lh1, Lh2, Lh3, Lh5, Lh6, Lh7, Uvaloare, Ivaloare, y
VarBNumarbuton, Flag, Contorafișare, TiparBit
VarW Masuraretensiune, Masurarecurent
'––––––––––––––––––-
'Program principal
Init:
CV valoareU, 'valoareaU la "0" la fiecare pornire
Inc valoareI 'valoareI la "10mA" la fiecare pornire
'Inc valoareI 'Rândul pentru 1A (se omite la 2,5A)
Low A3 'Ieșirea ADW setat la "0"
High B2 'CTS: nu este pregătit pentru recepție
Start:
'Măsurare tensiune și curent
Low A4 'Mux pe U
ADW A2, 5380, 0, Tensiune măsurată 'Măsurare tensiune
Tensiune măsurată = Tensiune măsurată Shr 1 'corespunde: valoare / 2
High A4 'Mux pe I
ADW A2, 5380, 0, Curent măsurat 'Măsurare curent
Curent măsurat = Curent măsurat Shr 1 'corespunde: valoare / 2
'Curent măsurat = Curent măsurat Shr 2 'corespunde / 4 'Rând pentru versiunea 1A
'Formatare valori măsurate
Call Format
'Afișarea valorilor măsurate pe LCD
LCD B5, " ", Lh1, Lh2, ",", Lh3, "V ", Lh5, ",", Lh6, Lh7, "A "
'Trimiterea valorilor măsurate prin RS232
SerOut B3, 9600, "D", #Tensiune măsurată, #Curent măsurat, 13
'Dacă există, recepționarea valorilor prescrise noi prin RS232
Call RS232E
'emisia valorilor prescrise prin DAW
PWM A1, valoareU, 64 'Reglați tensiunea (250 = 25V)
PWM A0, Iwert, 64 'Reglați curentul (250 = 2,5A resp. 200 = 1A pentru versiunea 1A)
'Scanare taste
Intrare:
Flag = %00010000 'doar Bit 4 pe "H" (se resetează la tasta apăsată)
CV Contor afișare, Număr tastă 'setare variabilă pe"0"
Call ButtonScan
Call ButtonScan
Call ButtonScan
Call ButtonScan
Call ButtonScan
Call ButtonScan
Call ButtonScan
Call ButtonScan
Branch Număs tastă, Start, S2, S3, S4, S5, S6, S7, S8, S9 'dacă nu este apăsată nici o tastă
'sare la eticheta "Start"
S2:
If valoareU > 240 Then Skip
'If valoareU > 190 Then Skip 'Rând pentru versiune 1A
valoareU = valoareU + 10
GoTo afișare valoareU
S3:
If valoareU < 10 Then Skip
valoareU = valoareU – 10
GoTo afișare valoareU
S4:
If valoareU > 249 Then Skip
'If valoareU > 199 Then Skip 'Rând pentru versiunea 1A
Inc valoareU
GoTo afișare valoareU
S5:
If valoareU < 1 Then Skip
Dec valoareU
GoTo afișare valoareU
S6:
If valoareI > 240 Then Skip
'If valoareI > 190 Then Skip 'Rând pentru versiunea 1A
valoareI = valoareI + 10
GoTo afișare valoareI
S7:
If valoareI < 10 Then Skip
valoareI = valoareI – 10
GoTo afișare valoareI
S8:
If valoareI > 249 Then Skip
'If valoareI > 198 Then Skip 2 'Rând pentru versiunea 1A
Inc valoareI
'Inc valoareI 'Rând pentru 1A (la 2,5A se omite)
GoTo afișare valoareI
S9:
If valoareI < 1 Then Skip
'If valosareI < 2 Then Skip 2 'Rând pentru versiunea 1A
Dec valoareI
'Dec valoareI 'Rând pentru 1A (la 2,5A s e omite)
Afișare valoareI:
'y = valoareI Shr 1 'corespunde / 2 'Rând pentru 1A (la 2,5A se omite)
LCD B5, " ", #valoare, "0mA"
'LCD B5, " ", #y, "0mA" 'Rând pentru versiunea für 1A
Pauză 500
GoTo Intrare
Afișare valoareU:
LCD B5, " ", #valoareU, "00mV"
Pauză 500
GoTo intrare
'––––––––––––––––––-
'Subrutine
'"ButtonScan" împinge în funcție de valoarea din "contor de afișare", unul dintre cele opt
'tipare Bit către pin-urile HC164. Doar tasta pinului unde este zero
'poate trage PB4 pe "L". Cu PB4 se poate stabili dacă a fost apăsată o tastă.
Variabila "Contor afișare" informează care tastă a fost apăsată.
Sub ButtonScan
LookUp Contor afișare, %11111110, %11111101, %11111011, %11110111, %11101111, %11011111, %10111111, %01111111, Tipar Bit
Expo B5, Tipar Bit, 0 'Această comandă utilizează aceiași pin-uri de controler
'ca și LCD. Prin valoare "0" "tiparul Bit" este trecut pe lângă LCD.
Inc Contor afișare
PBI %00010000 = Flag 'se citește doar Bit 4 de la Port B
If Flag <> 0 Then Skip 'sare peste următoarea comandă dacă nu este apăsată nici o tastă
Număr tastă = Contor afișare 'Memorează numărul de tastă
EndSub
'Următorul subprogram Basic "Citire" este deschis doar din subprogramul Assembler "RS232E"
Sub citire
SerIn B0, 9600, #valoareU, #valoareI
valoareU = valoareU Min 250 'limitat la 25 Volt 'Rând pentru 2,5A
'valoareU = valoareU Min 200 'limitat la 20 Volt 'Rând pentru versiunea 1A
valoareI = valoareI Min 250 'limitat la 2,5 Ampere 'Rând pentru 2,5A
'valoareI = valoareI Min 200 'limitat la 1 Ampere 'Rând pentru versiunea 1A
Y = 1 'Părăsiți imediat bucla
EndSub
'Subprogramul Assembler "Format" utilizează resursele existente de la PB. Ocupă registrele de cifre Lh1…Lh8 cu semnele
'ASCII pentru cifrele 0…9 corespunzător valorilor din
'Variabelele "Tensiune măsurată" și "Curent măsurat".
'Sugprogramul auxiiar "Packer" servește doar la economisirea memoriei de program de 8 Byte. Pentru acets lucru primește rândurile de progrma care în rest se repetă.
'Subprogramul de mașină SOSS° deschis de "Packer" este întotdeauna în compilat PB
'dacă au fost utilizate comenzile "SerOut…#WordVar" sau "LCD…#WordVar".
Aceasta redă valorile decimale ale unei variabile Variablen.
'Precizează valoarea primită din HWERT2/R21 cu ajutorul valorii din tabelul de sărituri SOTT° (existent. Valoarea (!) în FSR trebuie să fie valoarea ADD din tabelul de sărituri (locul 5 = 0, 4 = 2, 3 = 4, 2 = 6, 1 = restul în R21).
'LWERT1 conține codul Ascii (semnele 0…9) ca și rezultat.
Ass Format
;Formatarea tensiunii
MOVF 24,W
MOVWF HWERT2
MOVF 23,W
MOVWF 21
MOVLW 2
Call Packer
MOVWF 27
MOVLW 4
Call Packer
MOVWF 28
MOVLW 6
Call Packer
MOVWF 29
;Formatarea curentului
MOVF 26,W
MOVWF HWERT2
MOVF 25,W
MOVWF 21
MOVLW 2
Call Packer
MOVWF 30
MOVLW 4
Call Packer
MOVWF 31
MOVLW 6
Call Packer
MOVWF 32
Return
Packer: ;economisește repetarea rândurilor, în total memorie de program de 8 Byte
MOVWF FSR
CALL SOSS°
MOVF LWERT1,W
EndAss
'"RS232E" reglementează recepția de date la interfață. La fiecare afișare pe firul CTS se pune pe "H" pentru 1,5ms. Dacă în acest interval vine un semnal prin RxT sursa de alimentare intră în modul de recepție, adică
'Se deschide sub "Citire". Acum trebuie să sosească 2 valori cu CR de terminare Nun müssen 2 Werte mit abschließendem CR la interfață; abia acum poate controlerul că părăsească subprogramul din nou.
Ass RS232E
CLRF 35 ; Clrf Y (= R35)
RS232:
BCF PB,2 ; CTS: pregătit de recepție
BTFSS PB,0 ; RxT Pintest
Call citire ; deschiderea subprogramului Basic
DECFSZ 35,F ;
GOTO RS232 ; parcurge bucla de 255 ori (ca și interval)
BSF PB,2 ; CTS: nu ets pregătit de recepție
EndAss
Bibliografie
Dinca, Mihai P. ()"Electronica – Manualul studentului", vol. I, Surse de Tensiune si surse de Curent , Editura Universitatii din Bucuresti
Catalog de echivalențe internaționale de componente electronice, Tipărită și distribuită de SC General Partner SRL
Option Manual Basic Stick Feeder, Assembleon Aprilie 2002
Conf.Dr.Ing. Sanda Vasii Rosculet, Conf.Dr.Ing. N. Gojinetchi, S.l. Dr.Ing. C. Andronic, S.l.Dr.Ing. M. Selariu, S.l.Dr.Ing. N. Gherghel “Proiectarea dispozitivelor”
Curs Tehnologie de ramură, prof.dr.ing.ec. Dumitru Mnerie
Masurari electrice- Prof. Dr .Ing Ioan Dumitrescu
PIC16F84 www.scritube.com
Aplicatii ale microcontroleruluiPIC16F84-Bistriceanu Ionut www.robotics.ucv.ro
www.electronicgelager.de
www.aggsoft.com
1394-www.techspy.ro
Florin Sirbu-automat programabil cu interfata RS232 – Proiect de diplomă
www.tehnium azi.ro
Tehnium azi-Proiectarea și construcția transformatoarelor toroidale apr 09 2009 06
www.petra.toroid.ro
MAX232-http://bookofalice.wordpress.com
LT1491 www.alldatasheet.com
http://www.datasheetcatalog.org/datasheet/maxim/MAX232.
http://ww1.microchip.com/downloads/en/DeviceDoc/39631E.pdf
Slavici T., Groza I., Gubencu D., Mnerie A.V., Mnerie G.V., Han A., Dorneanu L., Bivolaru V., Korosi A. – Fundamentele utilizarii calculatoarelor, Editura Eurostampa, Timisoara, 2007, ISBN: 978-973-687-625-7
Slavici T., Reviczcy/Levay A., Gubencu D., Mnerie A. / Comanda si controlul sistemelor tehnologice cu calculatorul.
Bibliografie
Dinca, Mihai P. ()"Electronica – Manualul studentului", vol. I, Surse de Tensiune si surse de Curent , Editura Universitatii din Bucuresti
Catalog de echivalențe internaționale de componente electronice, Tipărită și distribuită de SC General Partner SRL
Option Manual Basic Stick Feeder, Assembleon Aprilie 2002
Conf.Dr.Ing. Sanda Vasii Rosculet, Conf.Dr.Ing. N. Gojinetchi, S.l. Dr.Ing. C. Andronic, S.l.Dr.Ing. M. Selariu, S.l.Dr.Ing. N. Gherghel “Proiectarea dispozitivelor”
Curs Tehnologie de ramură, prof.dr.ing.ec. Dumitru Mnerie
Masurari electrice- Prof. Dr .Ing Ioan Dumitrescu
PIC16F84 www.scritube.com
Aplicatii ale microcontroleruluiPIC16F84-Bistriceanu Ionut www.robotics.ucv.ro
www.electronicgelager.de
www.aggsoft.com
1394-www.techspy.ro
Florin Sirbu-automat programabil cu interfata RS232 – Proiect de diplomă
www.tehnium azi.ro
Tehnium azi-Proiectarea și construcția transformatoarelor toroidale apr 09 2009 06
www.petra.toroid.ro
MAX232-http://bookofalice.wordpress.com
LT1491 www.alldatasheet.com
http://www.datasheetcatalog.org/datasheet/maxim/MAX232.
http://ww1.microchip.com/downloads/en/DeviceDoc/39631E.pdf
Slavici T., Groza I., Gubencu D., Mnerie A.V., Mnerie G.V., Han A., Dorneanu L., Bivolaru V., Korosi A. – Fundamentele utilizarii calculatoarelor, Editura Eurostampa, Timisoara, 2007, ISBN: 978-973-687-625-7
Slavici T., Reviczcy/Levay A., Gubencu D., Mnerie A. / Comanda si controlul sistemelor tehnologice cu calculatorul.
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: Sursa de Alimentare Digitala Programabila de Laborator cu Interfata Rs232 (ID: 163882)
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.
