Diferencia entre revisiones de «Proyectos:Archivo/Estacion de Muestreo de Sensores EMMA»

De Hacklab La Paz - r00thouse
(agregado diagrama esquemático básico)
Línea 23: Línea 23:
== Microcontroladores ==
== Microcontroladores ==


Usando microcontroladores (no placas de desarrollo como arduino por su
=== ATMEGA32  ===
alto costo), los microcontroladores AVR de la serie ATMEGA
(ATMEGA16/32/64) son fuertes candidatos.


=== Razones para escoger AVR ATMEGA 8/16/32/64 ===
[http://www.atmel.com/Images/2503S.pdf "Atmega32
datasheet"] Microcontrolador 8 bits 32 KiB flash.


==== Pros ====
== RTC ==


* De 8 a 64 KB flash
=== DS3231 ===
* 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 ===
[http://datasheets.maximintegrated.com/en/ds/DS3231.pdf "Datasheet"]


* Solo 8 bits de procesamiento
Se usa este reloj en tiempo real para tener registro del tiempo.
* 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 ==
== Sensores ==


=== Sensor de temperatura ===
== Módulos de memoria ==


Opciones:
* Memoria SD controlada por SPI, actualmente se usa uno como este
 
De buena respuesta:
* DS18
 
De bajo costo:
 
* LM35
 
== Módulos de memoria ==


* Memoria SD controlada por SPI


== Módulos de comunicación ==
== Módulos de comunicación ==

Revisión del 18:01 23 jul 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

EMMA bloques.png

Diagrama de bloques inicial

Descripción del diagrama

Diagrama esquemático

Obs.- Sólo para probar el módulo de targeta SD.

Hardware usado

Microcontroladores

ATMEGA32

[http://www.atmel.com/Images/2503S.pdf "Atmega32 datasheet"] Microcontrolador 8 bits 32 KiB flash.

RTC

DS3231

"Datasheet"

Se usa este reloj en tiempo real para tener registro del tiempo.

Sensores

Módulos de memoria

  • Memoria SD controlada por SPI, actualmente se usa uno como este


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

  • HopeRF12/69 Creo que la mejor relacion calidad-precio. ~4 USD, dicen que hasta 500m con ~30Kb/s http://www.hoperf.com/

Circuitos analógicos usados

Desarrollo del software

Ya puedes clonar la primera version de este proyecto en

git@gitlab.com:emma_project/emma_project.git

El link:

https://gitlab.com/emma_project/emma_project/tree/master

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

Diseño del PCB

TODO list

Observaciones

Referencias