Datalogger con pic18f4550, memoria sd y labview

Hola amigos del foro, estoy en un proyecto de un datalogger con memoria SD y comunicacion USB con la PC.
Con respecto a la memoria, lo unico que me falta es la parte de leer el archivo y enviar la informacion a traves del PIC a la PC, ya que almacena la informacion en forma correcta y puedo extraerla y leerla con la PC . Utilizo las librerias de Suky, pero la funcion OpenFile no se bien como utilizarla ni que me tiene que entregar.

Con respecto a la otra parte del proyecto (la comunicacion USB) queria saber si es mas facil usar un conversor RS232 a USB, o realizar la conexion USB.
Si utilizo el conversor, en el programa del PIC envio los datos con printf directamente como si la comunicacion fuese RS232 pura??
 
Hola amigos del foro, estoy en un proyecto de un datalogger con memoria SD y comunicacion USB con la PC.
Con respecto a la memoria, lo unico que me falta es la parte de leer el archivo y enviar la informacion a traves del PIC a la PC, ya que almacena la informacion en forma correcta y puedo extraerla y leerla con la PC . Utilizo las librerias de Suky, pero la funcion OpenFile no se bien como utilizarla ni que me tiene que entregar.

Si usas CCS, podrías probar la FAT que te da el fabricante. En cambio si usas C18 podrías usar la librería de Microchip o portar alguna librería para AVR que están bastante desarrolladas y funcionan OK.

Con respecto al USB depende ...las librerías de CCS ya no me convencen ..tienen una funcionamiento bastante errático, podrías probar de usar un conversor USB serie o usar las librerías de C18 que funcionan al 100% y un montón de ejemplos y documentación de uso tanto de Suky como de microchip.

Una consulta ..es necesario usar PIC ? Quizás si tu programa no es muy complejo podrías usar Arduino..es una sugerencia.
 
El proyecto ya esta muy avanzado con el PIC, ademas nos pidieron que fuera asi.
De usar un conversor, tengo uno con un FT232BL, tengo que trabajar como si fuera transmision RS232 o tengo que tener en cuenta algo mas?
 
El proyecto ya esta muy avanzado con el PIC, ademas nos pidieron que fuera asi.

Ok, por eso lo de Arduino era una recomendación, quizás tenías libertad de tecnología.

De usar un conversor, tengo uno con un FT232BL, tengo que trabajar como si fuera transmision RS232 o tengo que tener en cuenta algo mas?

Trabajas como si fuera una comunicación RS232, no hace falta tener parámetros especiales.

Saludos !
 
Buenos dias, estoy trabajando sobre un data logger, para pic 18f4550, donde grabara datos a la micro sd.

Estoy trabajando en el compilador MPLAB XC8 . agradezco su colaboración.

funciona en simulación, pero en montaje no hace nada.
 

Adjuntos

  • DATA LOGGER .rar
    4 MB · Visitas: 48
Como siempre pasa cuando usan el PIC18F4550, deben ser los fuses.
Como no adjuntas el archivo .hex no lo pude comprobar.
No sé por qué optaste por usar MPLABX, siendo que PCWHD de CCS es muy bueno y sin tanto rollo para crear un proyecto y compilar.
Tampoco entiendo por qué adjuntaste tantas librerías si no se usa ninguna.

En el archivo que adjunto únicamente coloqué lo que hacía falta para compilar con PCWHD, más la configuración correcta para un cristal de 20 MHz.
No sé si funcione físicamente porque tampoco sé cómo debe funcionar en la simulación. (Ni pienso averiguarlo)
Prueba el .hex adjunto y si piensas seguir usando MPLABX, agrega la palabra de configuración o nada te va a funcionar físicamente.
 

Adjuntos

  • 18F4550 Data Logger.rar
    59.6 KB · Visitas: 14
Gracias por la información, pero solo aprendí en mplab.
Es que eso no es lógico si estás escribiendo el programa en C para PIC C Compiler.
Si estuviera escrito en C para el compilador XC8, ese argumento sería válido.
El archivo hex está en las carpetas que deje.
En ninguna de las carpetas se encuentra el archivo .hex
Búsqueda.jpg
El mismo Proteus lo confirma:
Hex Not Found.jpg
Dejo el link donde me guié para las librerías
Pues sí, pero no se está usando ninguna, si así fuera, al no incluirlas en el archivo que compilé, se producirían varios errores.
 
Bien, en ese ejecutable los fuses están correctos.
Como ahora usas RS-232 ya deberías poder ver algo por el puerto serial.
Sube el esquema del montaje en físico que estás realizando.
 
Algo anda mal. Si ahora estás usando RS-232, la pantalla para ese código no sirve de nada.
Se supone que estás enviando esto por vía serial...
printf("INICIANDO\r\n");
...
printf("MEMORIA INICIADA\r\n");
...
printf("ARCHIVO CREADO\r\n

Así que eso lo debes ver en un terminal serial, no en un display.
Anteriormente sí usabas código para un display, pero nunca lo inicializabas.
 
el problema no es ese serial. el serial no lo estoy usando. El problema es que no guarda nada de datos. es lo que quiero hacer. que guarde datos en un archivo txt.
 
Depurar usando RS-232 es una buena opción.
En la carpeta de instalación de PIC C Compiler hay un ejemplo que sí funciona. "ex_fat.c"
 
No dije que hubiera problemas con la simulación, tú mismo mencionaste que eso "funcionaba" pero físicamente no.
Lo que te estoy recomendando es un programa que sí funciona.
 
Atrás
Arriba