TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: ArKSePhIrOtH en 23 de Mayo de 2006, 03:31:37
-
Quisera una ayuda con un programa en pic basic pro.
lo que pasa es esto
tengo un sensor de peso de 30 kg que da mv entre ams peso mas mv, los mv pasan a travez de un OPAMP, que los convierte directamente a volts, 1mv = 1v.
lo que deseo hacer es pasar este voltaje analogico a mi pic 16f877, pero no se bien las funciones de Adcon1, por eso necesito ayuda, lo que quiero es pesar algo y cuando pese lo suficiente quiero mandar un pulso a un relay.
si alguien me podria ayudar por favor.
Quieor que me detecte voltaje respecto al peso y esto pasarlo al display como una opcion de
LCDOut "Peso Completo"
Cuando se alcanze el voltaje suficiente que seria 5 volts, este mandara un pulso que activara un relay.
-
Quisera una ayuda con un programa en pic basic pro.
lo que pasa es esto
tengo un sensor de peso de 30 kg que da mv entre ams peso mas mv, los mv pasan a travez de un OPAMP, que los convierte directamente a volts, 1mv = 1v.
lo que deseo hacer es pasar este voltaje analogico a mi pic 16f877, pero no se bien las funciones de Adcon1, por eso necesito ayuda, lo que quiero es pesar algo y cuando pese lo suficiente quiero mandar un pulso a un relay.
si alguien me podria ayudar por favor.
Quieor que me detecte voltaje respecto al peso y esto pasarlo al display como una opcion de
LCDOut "Peso Completo"
Cuando se alcanze el voltaje suficiente que seria 5 volts, este mandara un pulso que activara un relay.
Segun entiendo, quieres que cuando el PIC reciba 5 V., salga ese mensaje y se active un Relé ?. O quieres que por el LCD te indique tambien el peso y que según un peso que determinas en el mismo PIC, active ese rele ?.
Cual es la tensión máxima ? 5 V.?
-
si asi es quiero que cuando, este, de el peso necesario mande un pulso y active un relay
y si, la maxima tension es 5vcd
-
si asi es quiero que cuando, este, de el peso necesario mande un pulso y active un relay
y si, la maxima tension es 5vcd
Si solo quieres hacer eso no es necesario usar el ADC del Pic. Usa un Comparador con un OAMP ajustado a 5V, y que a su salida de un "1" lógico. Le inyectas la señal por alguna entrada digital del Pic, y lo programas para que en el momento de tener ese Pin en Alto te lo visualice en el LCD y active el Relé. Esa es una manera sencilla sin tener que usar el ADC.
Para el ajuste de ADCON1 lo tienes especificado en el Datasheet del Pic que estas usando. Aún así, seguro que hay muchos mensajes en el Foro con la respuesta resuelta. Quizás buscando por "convertir tensiones", ó "ADCON1" encuentres hasta parte del código que podrías usar.
Un saludo
-
hola puedes usar el comando ADCIN su sintaxis es:
ADCIN pin de entrada, variable que guarda valores
el adcin si no me equivoco detecta con precision de 8bits segun configures la justificacion pero para no hacerte bolas aqui el ejemplo de MCS
ADCIN Channel,Var
Read the on-chip analog to digital converter channel and store the result in the variable Var. While the ADC registers can be accessed directly, ADCIN makes the process a little easier.
Before ADCIN can be used, the appropriate TRIS register must be set to make the desired pins inputs. ADCON1 also needs to be set to assign the desired pins to analog inputs and in some cases to set the result format and clock source. See the Microchip data sheets for more information on these registers and how to set them for the specific device. Several DEFINEs may also be used:
Example
DEFINE ADC_BITS 8 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds
TRISA = 255 ' Set PORTA to all input
ADCON1 = 2 ' PORTA is analog
ADCIN 0, B0 ' Read channel 0 to B0
con adcin tienes la opcion de ejecutar lo k kieras dependiendo el valor de tu variable la cual puede tener 256
valores para que no limites a un solo estado. 0 o 1
si solo quieres detectar los 5V o el 1 logico no necesitas un adc recuerda que el uno del pic va de 2 a 5V (si estoy mal corrijanme please)
-
hola puedes usar el comando ADCIN su sintaxis es:
ADCIN pin de entrada, variable que guarda valores
el adcin si no me equivoco detecta con precision de 8bits segun configures la justificacion pero para no hacerte bolas aqui el ejemplo de MCS
ADCIN Channel,Var
Read the on-chip analog to digital converter channel and store the result in the variable Var. While the ADC registers can be accessed directly, ADCIN makes the process a little easier.
Before ADCIN can be used, the appropriate TRIS register must be set to make the desired pins inputs. ADCON1 also needs to be set to assign the desired pins to analog inputs and in some cases to set the result format and clock source. See the Microchip data sheets for more information on these registers and how to set them for the specific device. Several DEFINEs may also be used:
Example
DEFINE ADC_BITS 8 ' Set number of bits in result
DEFINE ADC_CLOCK 3 ' Set clock source (rc = 3)
DEFINE ADC_SAMPLEUS 50 ' Set sampling time in microseconds
TRISA = 255 ' Set PORTA to all input
ADCON1 = 2 ' PORTA is analog
ADCIN 0, B0 ' Read channel 0 to B0
con adcin tienes la opcion de ejecutar lo k kieras dependiendo el valor de tu variable la cual puede tener 256
valores para que no limites a un solo estado. 0 o 1
si solo quieres detectar los 5V o el 1 logico no necesitas un adc recuerda que el uno del pic va de 2 a 5V (si estoy mal corrijanme please)
lo de los 2 a 5V, depende del PIC que uses, incluso entre mismos PICS pueden darse valores diferentes.
Un saludo.