Hola amigos
.
Hace ya un tiempo diseñe mediante microcontroladores un sistema telemétrico ambiental utilizando microcontroladores y sensores.
El proyecto consistio en el diseño de un sistema que permita la adquisición de variables ambientales (Temperatura, Humedad relativa, velocidad y dirección del viento y si lo desean presión atmosférica) para posteriormente realizar la transmisión y almacenamiento por computadora en una planilla de Excel, mediante un programa diseñado en Visual Basic 2005.
con Excel y una aplicación en VB2005 almacenaremos automáticamente los datos provenientes del puerto serie en una planilla Excel y los graficaremos ya sea mediante excel o mediante la aplicación en VB 2005.
El sensor LM35 adquiere temperatura, con el HIH-5030 adquirimos humedad y de una manera artesanal mediante opto sensores CNY70 hemos construido un Anemómetro y una veleta.
Mediante el ADC del PIC16F873 se adquieren los valores de los sensores, luego este M.C.U se encarga de codificar los datos en HAMMING(7,4) (codificación de canal) esto con el fin de detectar y corregir 1 error cada 7 bits, se selecciono el código haming por ser unos de los más fáciles métodos para realizar codificación de canal. Una vez codificado los datos el M.C.U los transmite de manera serial mediante el modulo USART hacia el transmisor de radiofrecuencia TXM-xxx-LR este es un transmisor de radiofrecuencia, disponible en 315, 418, 433 Mhz, yo he seleccionado el TXM-418-LR (Linx Technologies) el cual transmite en la frecuencia de 418 Mhz con una velocidad máxima de transmisión de 10,000 Bps (ver DataSheet) con modulación ASK.
Al otro extremo se encuentra el receptor RXM-418-LR el cual enviara el dato recibido hacia el otro PIC16F873 con el que se realizara la decodificación de canal HAMMIG(7,4), si no hay error el dato será transmitido al modulo SDM-USB-QS-S (ver DataSheet), este modulo recibe datos en RS232 y los transmite en USB e inverso, lo único que se necesita para que la computadora reconozca este modulo es un pequeño driver descargable en la página de Linx Technologies
Con este driver se reconoce la conexión USB como un puerto COM virtual, en otras palabras mediante software reconoceremos al hardware como una conexión RS232 aunque físicamente sea USB.
El hardware lo pueden cambiar a su gusto ya sea utilizando PIC o AVR.
Por el puerto serie emulado la Computadora tiene que recibir una trama de la forma:
t1023h1023v1023d7x
entre t y h se encuentra un valor de 10 bits este es la lectura de temperatura (ADC = 10 bits), entre h y v se encuentra otro valor de 10 bits es la lectura de la humedad relativa, entre v y d se encuentra la velocidad del viento, entre d y x se encuentra la dirección (bastante pobre solo angulos de 45) y finalmente x un char de parada.
Mediante Visual Basic 2005 se diseña una aplicación que básicamente permita
:
* El control del puerto COMM virtual.
* Dividir el dato(t1024h1024v1024d7x) para trabajar cada variable de manera individual.
* Procesar el dato recibido para obtener el valor real de la variable.
* Almacenar los valores recibidos en una planilla de excel.
* Graficar los datos mediante la aplicación en VB 2005.
revisen el código y si les interesa ó tienen dudas, pregunten:
http://www.mediafire.com/?s48kuu70tbnhcq9
Hace ya un tiempo diseñe mediante microcontroladores un sistema telemétrico ambiental utilizando microcontroladores y sensores.
El proyecto consistio en el diseño de un sistema que permita la adquisición de variables ambientales (Temperatura, Humedad relativa, velocidad y dirección del viento y si lo desean presión atmosférica) para posteriormente realizar la transmisión y almacenamiento por computadora en una planilla de Excel, mediante un programa diseñado en Visual Basic 2005.
con Excel y una aplicación en VB2005 almacenaremos automáticamente los datos provenientes del puerto serie en una planilla Excel y los graficaremos ya sea mediante excel o mediante la aplicación en VB 2005.
El sensor LM35 adquiere temperatura, con el HIH-5030 adquirimos humedad y de una manera artesanal mediante opto sensores CNY70 hemos construido un Anemómetro y una veleta.
Mediante el ADC del PIC16F873 se adquieren los valores de los sensores, luego este M.C.U se encarga de codificar los datos en HAMMING(7,4) (codificación de canal) esto con el fin de detectar y corregir 1 error cada 7 bits, se selecciono el código haming por ser unos de los más fáciles métodos para realizar codificación de canal. Una vez codificado los datos el M.C.U los transmite de manera serial mediante el modulo USART hacia el transmisor de radiofrecuencia TXM-xxx-LR este es un transmisor de radiofrecuencia, disponible en 315, 418, 433 Mhz, yo he seleccionado el TXM-418-LR (Linx Technologies) el cual transmite en la frecuencia de 418 Mhz con una velocidad máxima de transmisión de 10,000 Bps (ver DataSheet) con modulación ASK.
Al otro extremo se encuentra el receptor RXM-418-LR el cual enviara el dato recibido hacia el otro PIC16F873 con el que se realizara la decodificación de canal HAMMIG(7,4), si no hay error el dato será transmitido al modulo SDM-USB-QS-S (ver DataSheet), este modulo recibe datos en RS232 y los transmite en USB e inverso, lo único que se necesita para que la computadora reconozca este modulo es un pequeño driver descargable en la página de Linx Technologies
Con este driver se reconoce la conexión USB como un puerto COM virtual, en otras palabras mediante software reconoceremos al hardware como una conexión RS232 aunque físicamente sea USB.
El hardware lo pueden cambiar a su gusto ya sea utilizando PIC o AVR.
Por el puerto serie emulado la Computadora tiene que recibir una trama de la forma:
t1023h1023v1023d7x
entre t y h se encuentra un valor de 10 bits este es la lectura de temperatura (ADC = 10 bits), entre h y v se encuentra otro valor de 10 bits es la lectura de la humedad relativa, entre v y d se encuentra la velocidad del viento, entre d y x se encuentra la dirección (bastante pobre solo angulos de 45) y finalmente x un char de parada.
Mediante Visual Basic 2005 se diseña una aplicación que básicamente permita
* El control del puerto COMM virtual.
* Dividir el dato(t1024h1024v1024d7x) para trabajar cada variable de manera individual.
* Procesar el dato recibido para obtener el valor real de la variable.
* Almacenar los valores recibidos en una planilla de excel.
* Graficar los datos mediante la aplicación en VB 2005.
revisen el código y si les interesa ó tienen dudas, pregunten:
http://www.mediafire.com/?s48kuu70tbnhcq9
Adjuntos
-
Screenshot-9.png110.7 KB · Visitas: 101
-
Screenshot-11.png68.9 KB · Visitas: 83
-
Screenshot-10.png66 KB · Visitas: 81
-
Screenshot-12.png55 KB · Visitas: 70
-
Screenshot-7.png70.9 KB · Visitas: 68
-
Screenshot-6.png72 KB · Visitas: 62
-
Screenshot-5.png81.2 KB · Visitas: 61
-
Screenshot-4.png73.7 KB · Visitas: 58
-
Screenshot-3.png41.6 KB · Visitas: 55
-
sta_1.png14 KB · Visitas: 55
-
sta_2.png9.7 KB · Visitas: 48
-
Screenshot-13.png141.3 KB · Visitas: 49
-
Screenshot-2i.PNG255.3 KB · Visitas: 67
-
STA.part1.rar2 MB · Visitas: 84
-
STA.part2.rar2 MB · Visitas: 78
-
STA.part3.rar1.5 MB · Visitas: 80
Última edición por un moderador: