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.

0 comentarii:

Trimiteți un comentariu