Hola,
Estoy probando un programa que utiliza el VRef del pic, consegui uno que utiliza esta funcion, este ejemplo esta configurado para el PIC16F877A funciona correctamente en flowcode y en el hardware; configure el programa para el PIC18F4620 pero cuando comienza el programa se detiene en la instruccion "C", cabe comentar que en flowcode el programa funciona correctamente, pero en el hardware no; lamentablemente para mi, no entiendo el lenguaje "C", es por eso que uso flowcode; creo que el problema esta en la configuracion del block que tiene la instruccion en "C". El programa esta excelente si tienes un sensor que te entregue por decir 1.5 volt maximo, ajustas el VRef con un pot de 10k a ese mismo voltaje, de esta forma vas a ajustar de 0 a 1.5 volt el rango o sea de 0 a 255 (byte) quedando mas exacta la medicion realizada por el sensor. El VRef es conectado en el puerto A3 por medio del pot de 10k (4.5 volt max) y la señal del sensor al puerto A0.
Envio el programa para el PIC18F877A y para el PIC18F4620.
Podria alguien ayudarme en esto ?
Saludos y gracias
Voltaje Referencia
Moderator: Benj
-
- Posts: 323
- Joined: Sat Jan 12, 2008 2:08 am
- Has thanked: 106 times
- Been thanked: 48 times
Voltaje Referencia
- Attachments
-
- Vref18F4620.fcf
- PROGRAMA
- (9 KiB) Downloaded 452 times
-
- Vref16F877A.fcf
- PROGRAMA
- (12.5 KiB) Downloaded 434 times
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: Voltaje Referencia
Hola,
Para el 18F4620 el comienzo ADC bits de conversión es de 1 bit en vez de 2 bits por lo que el código para iniciar y esperar a que la conversión debe tener este aspecto.
Puede haber otras diferencias también, lo cual significa que se escribe en los registros ADCON0 y ADCON1 puede no ser del todo correcto. La hoja de datos del dispositivo 18F4620 explica completamente los registros de ADC en el artículo 19.
¿Por lo menos necesita el bloque de código C en su programa? El ADC se lea como función de bytes se utiliza la configuración de las propiedades de los componentes primordiales de ADC de todas formas los valores que se ponen en el ADCON registra.
Hello,
For the 18F4620 the ADC start conversion bit is bit 1 rather then bit 2 so the code to start and wait for the conversion should look like this.
There may be other differences too which means that your writes to the adcon0 and adcon1 registers may not be quite correct. The 18F4620 device datasheet fully explains the ADC registers in section 19.
Do you even need the C code block in your program? The ADC read as byte function will use the settings from the ADC component properties anyway overriding the values you are putting into the adcon registers.
Para el 18F4620 el comienzo ADC bits de conversión es de 1 bit en vez de 2 bits por lo que el código para iniciar y esperar a que la conversión debe tener este aspecto.
Code: Select all
adcon0 = adcon0 | 0x02;
while (adcon0 & 0x02) ;
¿Por lo menos necesita el bloque de código C en su programa? El ADC se lea como función de bytes se utiliza la configuración de las propiedades de los componentes primordiales de ADC de todas formas los valores que se ponen en el ADCON registra.
Hello,
For the 18F4620 the ADC start conversion bit is bit 1 rather then bit 2 so the code to start and wait for the conversion should look like this.
Code: Select all
adcon0 = adcon0 | 0x02;
while (adcon0 & 0x02) ;
Do you even need the C code block in your program? The ADC read as byte function will use the settings from the ADC component properties anyway overriding the values you are putting into the adcon registers.
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
-
- Posts: 323
- Joined: Sat Jan 12, 2008 2:08 am
- Has thanked: 106 times
- Been thanked: 48 times
Re: Voltaje Referencia
hize una prueba anteriormente eliminanado el codigo "C" pero no funciono; tendran un ejemplo de como usar el VRef del pic ? o que cambio le podria hacer al programa Vref18f4620 para no utilizar el codigo C.
- Benj
- Matrix Staff
- Posts: 15312
- Joined: Mon Oct 16, 2006 10:48 am
- Location: Matrix TS Ltd
- Has thanked: 4803 times
- Been thanked: 4314 times
- Contact:
Re: Voltaje Referencia
Hola,
Debe ser capaz de seleccionar el componente ADC en el panel. Haga clic en el componente en el panel y seleccione Propiedades EXT. A continuación, establezca la opción de Vref a VREF +.
Hello,
You should be able to select the ADC component on the panel. Right click the component on the panel and select EXT properties. Then set the Vref option to VREF+.
Debe ser capaz de seleccionar el componente ADC en el panel. Haga clic en el componente en el panel y seleccione Propiedades EXT. A continuación, establezca la opción de Vref a VREF +.
Hello,
You should be able to select the ADC component on the panel. Right click the component on the panel and select EXT properties. Then set the Vref option to VREF+.
- Attachments
-
- ADCprops.JPG (32.75 KiB) Viewed 7125 times
Regards Ben Rowland - MatrixTSL
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
Flowcode Product Page - Flowcode Help Wiki - Flowcode Examples - Flowcode Blog - Flowcode Course - My YouTube Channel
-
- Posts: 323
- Joined: Sat Jan 12, 2008 2:08 am
- Has thanked: 106 times
- Been thanked: 48 times
Re: Voltaje Referencia
Seleccione adc(0) y adc(1) con los puertos A0 y A3; A3 lo seleccione en propiedades ext.
Vref+ y A0 seleccione prop. ext. Vdd. Ajusto VRef a 2.5 volt, y cuando activo el sensor al llegar a 2.5 volt deberia marcar 255(byte) pero marca 100
Vref+ y A0 seleccione prop. ext. Vdd. Ajusto VRef a 2.5 volt, y cuando activo el sensor al llegar a 2.5 volt deberia marcar 255(byte) pero marca 100
- Attachments
-
- Vref18F4620.fcf
- programa
- (9.5 KiB) Downloaded 461 times
-
- Posts: 323
- Joined: Sat Jan 12, 2008 2:08 am
- Has thanked: 106 times
- Been thanked: 48 times
Re: Voltaje Referencia
He tratado muchas opciones para que funcione correctamente el VRef en el PIC18F4620
(llevo varios dias haciendo pruebas). Elimine el bloque C del programa, en el PIC16F877A funciono correctamente en el hardware, pero al configurar el chip 18f4620 este no trabaja.
Agradeceria si es posible que chequen el programa en el hardware, para verificar en donde esta el problema.
(llevo varios dias haciendo pruebas). Elimine el bloque C del programa, en el PIC16F877A funciono correctamente en el hardware, pero al configurar el chip 18f4620 este no trabaja.
Agradeceria si es posible que chequen el programa en el hardware, para verificar en donde esta el problema.
-
- Posts: 323
- Joined: Sat Jan 12, 2008 2:08 am
- Has thanked: 106 times
- Been thanked: 48 times
Re: Voltaje Referencia
Parece ser que la funcion VRef no funciona con Flow 5, con Flow 4 si funciona.