Se afișează postările cu eticheta electronica analogica. Afișați toate postările
Se afișează postările cu eticheta electronica analogica. Afișați toate postările

sâmbătă, august 29, 2015

Controlul unui motor folosind o punte H

Salut,

In acest articol voi prezenta modul in care un motor poate fi controlat cu ajutorul unei punti H.

O punte H este un circuit construit din 4 tranzistoare care actioneaza ca niste intrerupatoare, iar pozitia acestora determina sensul de rotire al motorului.

Punte H
Punte H
 
In stanga figurii de mai sus comutatoarele A1 si A2 sunt inchise si curentul va trece prin ele iar sensul va fi prin A1-motor-A2 si motorul se va roti in sensul acelor de ceasornic.

In dreapta figurii de mai sus celelalte doua comutatoare B1 si B2 sunt inchise si curentul va trece prin ele si prin motor iar motorul se va roti in sens invers acelor de ceasornic.

In total exista 2^4=16 pozitii posibile ale comutatoarelor. In general se folosesc doar 4:
  • toate deschise --> motorul este in standby
  • A1,A2 inchise, B1,B2 deschise --> motorul se invarte in sensul acelor de ceas
  • A1,A2 deschise, B1,B2 inchise --> motorul se invarte in sens invers acelor de ceas
  • cele de sus inchise, cele de jos deschise sau invers --> motorul este franat
ATENTIE: Niciodata comutatoarele de pe o latura a puntii (A1+B1 sau A2+B2) nu trebuie inchise simultan deoarece se face scurtcircuit (curentul trece direct de la Vdd prin tranzistoare spre Gnd si se vor arde tranzistoarele).
Pentru a impiedica acest lucru, in practica se comuta tranzistoarele de pe o latura simultan (unul off si celalalt on), legand intrarile celor doua tranzistoare intre ele, de regula tranzistoarele de sus (high side) fiind PNP iar cele de jos (low side) fiind NPN. In figura de mai jos este exact invers. :)


Punte H cu tranzistoare bipolare
Punte H cu tranzistoare bipolare

Legand intrarile de pe o parte si cealalta, lucrurile se simplifica, ramanand astfel 2 pini ce trebuie comutati on-off, avand doar cele 4 combinatii descrise mai sus.

Acest design explica cel mai bine principiul de functionare al puntii H. In practica design-ul folosind componente discrete este destul de costisitor, si consuma foarte mult spatiu pe o placa PCB. De aceea se pot folosi circuite integrate specializate, ce pot oferi un curent de iesire destul de ridicat (de ordinul amperilor). Ex: L293B/D.

Punte H L293
Puntea H L293

In figura se observa ca integratul are 4 intrari (input) logice (0V sau 5V) si 4 iesiri (output) de putere (0V sau 12V).
Fiecare iesire corespunde fiecarei intrari. Astfel, daca Input_1 = 0V --> Output_1 = 0V, iar daca Input_1 = 5V --> Output_1 = 12V.

Practic se obtine o translatare a nivelului logic 0-5V in nivelul logic 0-12V. Acesta din urma poate oferi atat o tensiune mai mare (12V), cat si un curent mai mare (0.6A---1A in functie de capsula).

De asemenea, exista si doi pini de Enable (EN1 pentru Output1 si 2, EN2 pentru Output3 si 4) folositi pentru a valida cele 4 iesiri. Acesti 2 pini, impreuna cu cei 4 pini de Input se conecteaza la un microcontroller care gestioneaza actionarea acestora.

Sunt doua modalitati de folosire:

1. Pinii de ENable conectati fizic la +5V --> Iesirile sunt validate permanent si controlate doar prin cei 4 pini de input conectati la microcontroller.

2. Pinii de ENable sunt conectati la microcontroller. Avantajul este ca prin acesti 2 pini se poate comanda turatia motoarelor prin PWM (Pulse Width Modulation).
De obicei un microcontroller are un numar limitat de iesiri PWM.

Astfel, variind factorul de umplere intre 0% si 100%, putem obtine orice tensiune intre 0 si 12V.
Factor de umplere PWM
Factor de umplere PWM
In graficul de mai sus, se observa 3 cazuri, primul in care obtinem 25% din tensiunea de alimentare, adica 0.25*12V=3V. Pentru 50% obtinem 6V, pentru 75% obtinem 9V etc.

Pe langa factorul de umplere, trebuie sa folosim o frecventa care sa influenteze cat mai putin modul de lucru al motorului. De obicei, o frecventa de 25KHz este suficienta pentru un motor.
In graficul de mai sus, f=1/(Ton+Toff)=ct=25KHz, unde Ton este timpul in care EN este pe 1Logic=5V, iar Toff este timpul in care pinul de EN este pe 0Logic=0V.

Spor la controlat motoare folosind o punte H, fie cu tranzistoare discrete, fie cu circuite integrate!

vineri, iunie 19, 2015

Controlul turatiei unui motor in functie de luminozitate folosind o fotodioda si un microcontroller

         Acesta este un proiect realizat in anul IV de facultate (2013) la cererea unor colegi mai neinitiati in ale electronicii.
         Desi pe piata au aparut de ceva timp module de senzori (shield), am preferat la acel moment sa  construiesc unul propriu: preiau tensiunea captata de o fotodioda expusa luminii ambientale si o amplific cu un AO cu amplificare foarte mare (100.000).
Senzor de lumina
Senzor de luminozitate + comanda motor
         Semnalul analogic furnizat de senzor este apoi citit cu un microcontroller (PIC de la Microchip, evident https://s.yimg.com/pu/emoticon/v2/4.gif), scara de masurare fiind 0-5V folosind un ADC pe 10biti (1024 de valori intermediare intre 0-5V).
         Pentru a controla turatia motorului am folosit un semnal PWM (Pulse Width Modulation) pe 10biti generat de microcontroller. Semnalul intra in baza unui tranzistor care are drept sarcina in emitor un motor de curent continuu cu perii (brushed DC motor).
Programare PIC16f887
PIC16F887 - conexiuni
          Iesirea senzorului se conecteaza la unul din pinii GPIO analogici (RA2 de ex) iar semnalul PWM se obtine din pinul RC1 (CCP2).
          Atat semnalul analogic captat de microcontroller, cat si semnalul PWM generat sunt pe 10biti, astfel ca factorul de umplere al semnalului PWM este chiar valoarea numerica pe 10biti a semnalului analogic.

          Programul a fost scris in mikroC for PIC si este extrem de simplu. Practic se foloseste o variabila pe 10 biti in care stocam tensiunea citita de la senzor si setam factorul de umplere al semnalului PWM cu acea valoare.
          Pentru scrierea programului in microcontroller am folosit un PICkit2 (Microchip).
          Rezultat:
         
            Este un proiect simplu dar din care am invatat cateva lucruri la vremea respectiva. Acesta era si motivul pentru care ma ofeream sa ajut colegii cu diverse proiecte, partea financiara fiind doar un detaliu minor https://s.yimg.com/pu/emoticon/v2/4.gif. Cel mai important pentru mine era sa capat experienta si dexteritate.