Buenas Tardes a todos.
ayer que me puse un poco en como hacer para controlar la temperatura interna de una cpu, le quiero poner entre 4 a 5 ventiladoras
, me puse a programar con un pic16f887 y un lm35 pero me di cuenta de algo muy extraño y que me paso con dos pic16f887, y es que al convertir todo y que me mostrara la temp por puerto serial me salia 15°c cuando en realidad estaba entre 29 y 30°c el ambiente eso usando el pin an0 y an1, ahora cuando utilizaba el pic an11 en adelante sii me daba entre 30 y 31°c, tengo varios pic16f887 y probe con dos y me salia lo mismo...utilizo el pic a 10MHz, programo en CCS pero en MPLABX. por cierto tambien lo simule en proteus y me sale lo mismo.
no se si a alguien le ha pasado?
de ante mano gracias por su ayuda.
aqui adjunto el codigo.
#include <16F887.h>
#device ADC=8
#fuses HS,NOWDT,NOPROTECT,NOLVP,NOBROWNOUT,NOPUT
#use delay(clock=10000000)
#use RS232(BAUD=9600, BITS=8, PARITY=N, XMIT=PIN_C6, RCV=PIN_C7)
// VARIABLES GLOBALES
float medicion, temper;
// FUNCIONES
// PRINCIPAL
void main() {
set_tris_a(0x01);
output_a(0x00);
setup_adc_ports(sAN0);
setup_adc(ADC_CLOCK_INTERNAL);
printf("\fTest de Temperatura con LM35\n\r");
while (TRUE) {
set_adc_channel(0);
delay_us(20);
medicion = read_adc();
temper = (medicion * 0.0196078314) / 0.01;
printf("Temp: %f °C\n\r", temper);
delay_ms(100);
}
}
PD:
Ahora testeando todos los pines AN me di cuenta que los pines del AN0 al AN4 no funcionan bien...seguire en la prueba con otro pic
Modificado:
Bueno haciendo las pruebas con 7 PIC18F887 me di cuenta que 5 tienen malo los pines de AN0 al AN4 y solo un PIC tiene todos los pines buenos
haa y otro que se me quemo por ponerlo mal en la proto
probare con el 45k22