- RECIBIR datos desde el PIC y volcarlos directamente a una planilla de cálculo.ENVIAR un dato de 8 bits al PIC.
- PROCESAR la información obtenida.
- GRAFICAR las curvas que surgen de la información (y en algun caso en tiempo real).
El sistema de adquisición de datos fue creado como una Macro de Excel, es decir, como una aplicación que trabaja sobre, y en la planilla de cálculo, con el fin de utilizar toda la potencia de ésta herramienta tan versátil, en especial en lo que se refiere a la creación sencilla de curvas y gráficos.
En particular, ésta Macro fue creada como una aplicación del trabajo desarrollado para la comunicación PIC-PC dentro de lo que es el Control de Velocidad, pero fácilmente, con conocimientos mínimos de Excel, puede ser adaptado para otra aplicación.
¿Qué es lo que hace ésta Macro?
Puntualmente hablando, recibe una cadena tres datos ( DATO = 8 bits, un bit de parada, sin paridad probado a 9600 baudios) y los coloca expresado en valores decimales en columnas separadas, es decir, el primer dato que recibe, lo coloca en la primera columna, el segundo en la segunda, y el tercero en la tercera, y así va apilando las cadenas que va recibiendo desde el PIC.
Sigue el siguiente protocolo:
El primer dato que se envía (en éste caso el valor del Duty que se encuentra almacenado en el registro CCPR1L del PIC) debe ir seguido del carácter que representa la coma (ver código ASCII de la coma) y luego sí, seguida a ésta coma...
el segundo dato: (en éste caso el valor de la conversion A/D el cual se encuentra en el registro ADRESH del PIC) y entonces enviar...
el tercer dato de la cadena (en nuestro caso el valor de la variable SPEED que es el valor de la velocidad de referencia o velocidad "deseada").
Esto fue a manera de determinar un mini protocolo en cuanto al orden para la interpretación correcta de la comunicación con la Macro.
Luego, automáticamente, grafica las tres columnas (DUTY, Velocidad, y Velocidad de Referencia, expresado en decimal) sobre el mismo gráfico en la primera hoja de manera de hacer una comparativa de las curvas.
En particular, ésta Macro fue creada como una aplicación del trabajo desarrollado para la comunicación PIC-PC dentro de lo que es el Control de Velocidad, pero fácilmente, con conocimientos mínimos de Excel, puede ser adaptado para otra aplicación.
¿Qué es lo que hace ésta Macro?
Puntualmente hablando, recibe una cadena tres datos ( DATO = 8 bits, un bit de parada, sin paridad probado a 9600 baudios) y los coloca expresado en valores decimales en columnas separadas, es decir, el primer dato que recibe, lo coloca en la primera columna, el segundo en la segunda, y el tercero en la tercera, y así va apilando las cadenas que va recibiendo desde el PIC.
Sigue el siguiente protocolo:
El primer dato que se envía (en éste caso el valor del Duty que se encuentra almacenado en el registro CCPR1L del PIC) debe ir seguido del carácter que representa la coma (ver código ASCII de la coma) y luego sí, seguida a ésta coma...
el segundo dato: (en éste caso el valor de la conversion A/D el cual se encuentra en el registro ADRESH del PIC) y entonces enviar...
el tercer dato de la cadena (en nuestro caso el valor de la variable SPEED que es el valor de la velocidad de referencia o velocidad "deseada").
Esto fue a manera de determinar un mini protocolo en cuanto al orden para la interpretación correcta de la comunicación con la Macro.
Luego, automáticamente, grafica las tres columnas (DUTY, Velocidad, y Velocidad de Referencia, expresado en decimal) sobre el mismo gráfico en la primera hoja de manera de hacer una comparativa de las curvas.
Esto, con la posibilidad de seleccionar (dentro de las 3700 muestras capaces de obtener) el intervalo de muestras que se quiera graficar, seleccionando en los campos de MUESTRAS y allí incluir en "Desde" y "Hasta" el intervalo de muestras deseado.
En una hoja aparte graficará unicamente el primer dato obtenido (Duty en valores porcentuales es decir, opera en Excel dividiendo sobre 256 el valor recibido y multiplicando por 100)
En la hoja siguiente: el segundo y tercer dato recibidos (Velocidad de Referencia y Velocidad deseada en r.p.m pues multiplica en el Excel el valor decimal recibido por la ctte K obtenida del estudio y por 0.0195 V que es la resolución del conversor)
En una quinta hoja se habilita la posibilidad de experimentar con solamente el segundo dato recibido (es decir la Velocidad Real o lo que es lo mismo el valor de la conversion A/D) y sólo recibir y graficar esa variable. Para ello debemos tildar la opción "Una columna" de la Macro.
Esto con el fin de trabajar con una sola variable y así no sobrecargar al procesador de la PC y poder entonces llegar a observar en tiempo real la "historia" de la velocidad real obetenida (el sistema funcionó super bien con una Dual Core de AMD)
En una hoja aparte graficará unicamente el primer dato obtenido (Duty en valores porcentuales es decir, opera en Excel dividiendo sobre 256 el valor recibido y multiplicando por 100)
En la hoja siguiente: el segundo y tercer dato recibidos (Velocidad de Referencia y Velocidad deseada en r.p.m pues multiplica en el Excel el valor decimal recibido por la ctte K obtenida del estudio y por 0.0195 V que es la resolución del conversor)
En una quinta hoja se habilita la posibilidad de experimentar con solamente el segundo dato recibido (es decir la Velocidad Real o lo que es lo mismo el valor de la conversion A/D) y sólo recibir y graficar esa variable. Para ello debemos tildar la opción "Una columna" de la Macro.
Esto con el fin de trabajar con una sola variable y así no sobrecargar al procesador de la PC y poder entonces llegar a observar en tiempo real la "historia" de la velocidad real obetenida (el sistema funcionó super bien con una Dual Core de AMD)
Y como broche de oro se habiltó la posibilidad de enviar un dato (0 a 255) por el puerto al PIC (en nuestro caso el dato recibido modifica el valor anterior de la variable SPEED interna del PIC, en definitiva, modifica el valor de referencia deseado, aumentando así, o disminuyendo la velocidad del motor principal).
IR A DOWNLOADS PARA DESCARGARLO YA



















14 comentarios:
Wooow,vaya trabajo, tengo una consulta, este sistema solo funciona para entrada por pueto serial??
Estoy desarrollando un proyecto y me interesa un sistema como este pero la entrada es por puerto paralelo.
Saludos
era justo lo q buscaba..muchas gracias..yo estaba buscando la forma de adquirir datos pero solo encontraba hacerlo con una tarjeta de adquisicion de datos pero es costosa. mi pregunta es hacer lo mismo pero en labview ya q con este sofware estoy empezando a trabajar..muchas gracias te pasastes!!!..
no funciona el link :(
rapid shared esta caido :( lo pueden cambiar a otro server?
Hola! Descargue la aplicación, pero cuando la ejecuto siguiendo los pasos, me genera el error: Error al abrir el puerto COM; Error detectado por viasul basic: Se requiere un objeto.
Alguna idea de que puede estar faltando?
Gracias.
Saludos.
Me gustaría el código completo tanto el microcontrolador como el de la macro, pues es una muy buena herramienta pero yo la utilizaría para casos muy puntuales, donde puedo ver esto?
Anonimo te recomiendo que leas ésta entrada para que estés al tanto de esos detalles...
http://fanaticodeelectronica.blogspot.com/2009/01/proximamente-proyecto-con-pic.html
muchas gracias por poner informacion de forma altruista para que la gente pueda aprender y compartir vuestros conocimientos
pues interesante , son un desarrollador de gama pic alta, trabajo con protocolos USB de estos pics seria, posible que me mandaras los codigos de tu proyecto y contribuir en hacer mas oerativo el mismo con esta comunidad
hola, muchas gracias esto pinta muy bien; ahora mis preguntas son, porque no anda en office 2010, y sera ue puedo utilizar este codigo (que no pueodo ver en nigun lado) para trabajar con un electrocardiografo, lo estoy necesitando
gracias
Si saber programar en VBasic podrás hacer lo que quieras, fijate que en la parte de Macros de Excel puedes editar el código...
Esimados
Descargue el archivo ADQ.rar pero solo hay 3 archivos:
- el xls
- el txt
- y un icono
pero nada mas.. donde descargo el programita para abrir e puerto?
tk, Abriendo el XLS y con CTRL+M deberías abrir la Macro de comunicacion. Lee el txt. Un saludo.
Hola, estoy trabajando con un Pic18f2550 conectado al USB (como una placa pinguino) y me interesa adquirir los datos desde EXCEL.
Con Arduino pude usando NetComm, pero la placa Pinguino (Pic18f2550) no crea un puerto COM.
Como puedo hacerlo?? gracias!!!
Publicar un comentario en la entrada