Oggi presentiamo un regolatore o dimmer per motori / lampade in bassa tensione (12V o 24V). Cuore del circuito è il PIC12F683 equipaggiato di un modulo CPP e un convertitore ADC 8/10 bit. Di seguito il collegamento al datasheet:
http://ww1.microchip.com/downloads/en/devicedoc/41211d_.pdf
http://ww1.microchip.com/downloads/en/devicedoc/41211d_.pdf
Mediante il partitore di tensione formato dal potenziometro lineare da 5K portiamo in ingresso del convertitore ADC (PIN 3) una tensione variabile da 0 a 5V. Il valore letto a 8 bit viene passato come 'duty cycle' al modulo CPP per la generazione dell'onda quadra sul pin di uscita (PIN 5).
Di seguito parte del codice in linguaggio PBP.
Di seguito parte del codice in linguaggio PBP.
Define ADC_BITS 8 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
ANSEL = 111000 ' Set AN3 analog, rest digital
CMCON0 = 7 ' Analog comparators off
...
mainloop:
ADCIN 3, adval
hPWM 1, adval, 30000
Goto mainloop
Se viene effettuata la conversione a 10 bit (Define ADC_BITS 10); all'istruzione HPWM occorre passare il valore ottenuto da ADCIN diviso per 4 (adval/4) ottenedo cosi un numero ad 8 bit.
L'onda quadra è poi inviata al MOSFET LOGIC (triggerabile da basse tensioni). Il circuito è equipaggiato da connettore ICSP per la programmazione 'in circuit' mediante il programmatore PICKIT3 di Microchip Link a PICKIT3 su Microchip
Di seguito lo stesso circuito alimentato a 24V collegato a un motore crouzet con riduttore.
Nessun commento:
Posta un commento