Este circuito es una placa de adquisición de datos analógicos por puerto serial bajo norma RS232.
El mismo lo que hace es tomar los niveles de tensión de sus canales análogos y enviarlos por serie a la pc, de esta forma se pueden armar tablas temporales que permiten generar estadísticas sobre las mediciones tomadas.
El funcionamiento es en base al micro-controlador PIC16F876A (se podría usar otro que tenga ADC) el mismo toma los valores a medir en cada uno de sus 5 canales ADC luego los procesa para enviarlos por el puerto serial, en el circuito se incluye el conversor TTL/232 para la correcta comunicación con el ordenador.
Con cualquier programa receptor de 232 se pueden extraer los datos de la placa.
La configuración RS232 de esta placa es: 9600-8-N-1-H
A continuación se dejara el circuito, pcb y programa.
#include <16f876a .h="">16f876a>
#device adc=10
#FUSES XT,NOWDT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
#define LED0 PIN_C0
void main(){
int16 q,r,j,a,c;
float p,o,k,b,d;
setup_adc_ports(all_analog);
setup_adc(ADC_CLOCK_DIV_2);
while(TRUE){
set_adc_channel(0);
delay_us(10);
q=read_adc();
p=5.0*q/1024.0;
if(q==1)
p=0;
set_adc_channel(1);
delay_us(10);
r=read_adc();
o=5.0*r/1024.0;
if(r==1)
o=0;
set_adc_channel(2);
delay_us(10);
j=read_adc();
k=5.0*j/1024.0;
if(j==1)
k=0;
set_adc_channel(3);
delay_us(10);
a=read_adc();
b=5.0*a/1024.0;
if(a==1)
b=0;
set_adc_channel(4);
delay_us(10);
c=read_adc();
d=5.0*c/1024.0;
if(c==1)
d=0;
printf("V1: %02.3f - V2: %02.3f - V3: %02.3f - V4: %02.3f - V5: %02.3f \r", p,o,k,b,d);
delay_ms(20);
output_toggle(LED0);
}
}
El mismo lo que hace es tomar los niveles de tensión de sus canales análogos y enviarlos por serie a la pc, de esta forma se pueden armar tablas temporales que permiten generar estadísticas sobre las mediciones tomadas.
El funcionamiento es en base al micro-controlador PIC16F876A (se podría usar otro que tenga ADC) el mismo toma los valores a medir en cada uno de sus 5 canales ADC luego los procesa para enviarlos por el puerto serial, en el circuito se incluye el conversor TTL/232 para la correcta comunicación con el ordenador.
Con cualquier programa receptor de 232 se pueden extraer los datos de la placa.
La configuración RS232 de esta placa es: 9600-8-N-1-H
A continuación se dejara el circuito, pcb y programa.
#device adc=10
#FUSES XT,NOWDT
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=pin_c6, rcv=pin_c7, bits=8, parity=N)
#define LED0 PIN_C0
void main(){
int16 q,r,j,a,c;
float p,o,k,b,d;
setup_adc_ports(all_analog);
setup_adc(ADC_CLOCK_DIV_2);
while(TRUE){
set_adc_channel(0);
delay_us(10);
q=read_adc();
p=5.0*q/1024.0;
if(q==1)
p=0;
set_adc_channel(1);
delay_us(10);
r=read_adc();
o=5.0*r/1024.0;
if(r==1)
o=0;
set_adc_channel(2);
delay_us(10);
j=read_adc();
k=5.0*j/1024.0;
if(j==1)
k=0;
set_adc_channel(3);
delay_us(10);
a=read_adc();
b=5.0*a/1024.0;
if(a==1)
b=0;
set_adc_channel(4);
delay_us(10);
c=read_adc();
d=5.0*c/1024.0;
if(c==1)
d=0;
printf("V1: %02.3f - V2: %02.3f - V3: %02.3f - V4: %02.3f - V5: %02.3f \r", p,o,k,b,d);
delay_ms(20);
output_toggle(LED0);
}
}