Diferencia entre revisiones de «Proyectos:Archivo/Estacion de Muestreo de Sensores EMMA»
(agreagado repositorio gitorious) |
|||
Línea 90: | Línea 90: | ||
= Desarrollo del software = | = Desarrollo del software = | ||
Sitio del repositorio y código fuente: | |||
https://gitorious.org/emma_project/emma_project | |||
Ya puedes clonar la primera version de este proyecto en | Ya puedes clonar la primera version de este proyecto en |
Revisión del 12:06 27 feb 2015
Una estación de muestreo automática para registrar fenómenos físicos. El objetivo es construir y diseñar un dispositivo fiable, de bajo costo, fácil manejo e instalación y escalable para diversos sensores e interfaces de comunicación.
Diagrama de bloques
Diagrama de bloques inicial
Descripción del diagrama
Hardware usado
Microcontroladores
Usando microcontroladores (no placas de desarrollo como arduino por su alto costo), los microcontroladores AVR de la serie ATMEGA (ATMEGA16/32/64) son fuertes candidatos.
Razones para escoger AVR ATMEGA 8/16/32/64
Pros
- De 8 a 64 KB flash
- Al 8 pines ADC (Analog digital converter)
- 1 a 2 UARTs
- SPI, I2C [http://www.atmel.com/Images/2503S.pdf "Atmega32
datasheet"]
- Hasta 53 pines entrada/salida
- Empaquetado DIP (ATMEGA8/16/32) (ATMEGA64 TQFP puede adaptarse a
DIP)
Cons
- Solo 8 bits de procesamiento
- Hasta 16 MIPS
Razones para escoger LPCxx ARM Cortex based
Pros
- 32 bits procesamiento
- MIPS superior
- desde 8 KB flash
- al menos 2 UARTS
- Hasta 8 ADC
- Hasta 8 KB RAM
Cons
- Dificil conseguir en empaquetado DIP
- Menos pines entrada/salida.
Sensores
Sensor de temperatura
Opciones:
De buena respuesta:
- DS18
De bajo costo:
- LM35
Módulos de memoria
- Memoria SD controlada por SPI
Módulos de comunicación
Opciones:
- Transmisor y receptor 433Mhz (barato pero propenso a errores de
comunicación) link.- http://rurandom.org/justintime/index.php?title=Cheapest_ever_433_Mhz_transceiver_for_PCs
- Transmisor y receptor NRF24L01 2.4Ghz (controlado por SPI, fiable y
de buen alcance) link.- http://www.geeetech.com/wiki/index.php/2.4Ghz_nRF24L01_RF_Transceiver_Module
Circuitos analógicos usados
Desarrollo del software
Sitio del repositorio y código fuente:
https://gitorious.org/emma_project/emma_project
Ya puedes clonar la primera version de este proyecto en
git@gitorious.org:emma_project/emma_project.git
Qué se necesita
- El compilador para AVR llamado avr-toolchain y se compone de:
- avr-libc
- binutils-avr
- avrdude
- avr-gcc
- La herramienta gnumake
Algo más de info sobre estas herremientas http://chwnku.tuxfamily.org/cont/HerrSoft.html
Construir el programa
Una vez descargado el proyecto hay que hacer:
en el directorio del principal del proyecto: cd src/Build # como se tiene instalada la herramienta gnumake basta con:
# para generar el archivo .hex que debe ir al microcontrolador make all # para borrar todo archivo binario make clean
Asi cada que se modifique el programa al hace make all este se volverá a construir y los binarios a actualizar.
Grabar el programa el microcontrolador
Guia rapida http://chwnku.tuxfamily.org/cont/HerrSoft.html#AVRDUDESS
Adicionalmente se puede grabar el programa una vez se tenga instalado avrdude y un grabador para avr como http://chwnku.tuxfamily.org/cont/HerrHard.html#GrabUSBASP
1. cd hasta el directorio src/Build del directorio principal donde esta el proyecto
2. ejecutar el comando:
sudo avrdude -c usbasp -p m16 -u -U flash:w:main.hex
Actualmente el proyecto viene siendo construido en el atmega16 para el atmega32 por ejemplo el comando es
sudo avrdude -c usbasp -p m32 -u -U flash:w:main.hex