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

De Hacklab La Paz - r00thouse
(actualizando)
Línea 23: Línea 23:


= Hardware usado =
= Hardware usado =
[[Archivo:EMMA sch.png]]


== Microcontroladores ==
== Microcontroladores ==
Línea 30: Línea 28:
=== ATMEGA32  ===
=== ATMEGA32  ===


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


== RTC ==
== RTC ==
Línea 37: Línea 36:
=== DS3231 ===
=== DS3231 ===


[http://datasheets.maximintegrated.com/en/ds/DS3231.pdf "Datasheet"]
http://datasheets.maximintegrated.com/en/ds/DS3231.pdf


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


== Sensores ==
== Sensores ==
=== dht11 ===
http://www.robotshop.com/media/files/pdf/dht11.pdf


== Módulos de memoria ==
== Módulos de memoria ==
Línea 143: Línea 146:
= Observaciones =
= Observaciones =


* Los archivos se graban con extesión ..l debería ser .l solamente
* Crear carpeta independiente para sensores en src/ para tener el códgo más ordenado, para eso hay que modificar el Makefile para hacer la construcción recursivamente o usar Makefiles independientes para cada nueva carpeta de código fuente

Revisión del 04:49 21 sep 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

atmega32 DIP

EMMA m32 dip.png

Obs.- Los componentes fijos están definidos, (RTC, adpatador de memoria SD, conexión serial). Esta versión plantea que se puedan conectar varios sensores y deja pines libres para ser usados por otros dispositivos. Es necesario escribir drivers para nuevos dispositivos usando los pines libres mostrados arriba como terminales libres.

Hardware usado

Microcontroladores

ATMEGA32

http://www.atmel.com/Images/2503S.pdf

Microcontrolador 8 bits 32 KiB flash.

RTC

DS3231

http://datasheets.maximintegrated.com/en/ds/DS3231.pdf

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

Sensores

dht11

http://www.robotshop.com/media/files/pdf/dht11.pdf

Módulos de memoria

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

http://www.ebay.com/itm/2PCS-SD-Card-Module-Slot-Socket-Reader-For-Arduino-ARM-MCU-Read-And-Write-/170895501953?pt=LH_DefaultDomain_0&hash=item27ca2a6a81

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 el desarrollo de este proyecto en

git@notabug.org:strysg/emma.git

El link:

https://notabug.org/strysg/EMMA

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:

 make all

para borrar todo archivo binario

 make clean

Asi cada que se modifique el programa al hacer make all este se volverá a construir y los binarios (ejecutables para el microcontrolador) a actualizar.

Grabar el programa en el microcontrolador

Con AVRDUDE

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 m32 -u -U flash:w:main.hex

Usando make

El Makefile en la carpeta src/Build contiene una regla para programar le atmega32 usando el grabador USBasp

  1. cd hasta el directorio src/Build del directorio principal donde esta el proyecto
  2. ejecutar el comando:
sudo make program_usbasp

Diseño del PCB

Aún no se tiene una placa definida.

TODO list

  • Agregar sensores al sistema
  • Implementar la interfaz para configurar el logeo via puerto serial
  • Analizar agregación de módulo ethernet.
  • Realizar pruebas

Observaciones

  • Crear carpeta independiente para sensores en src/ para tener el códgo más ordenado, para eso hay que modificar el Makefile para hacer la construcción recursivamente o usar Makefiles independientes para cada nueva carpeta de código fuente