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

De Hacklab La Paz - r00thouse
(corrigiendo)
Línea 97: Línea 97:
para borrar todo archivo binario
para borrar todo archivo binario
   make clean
   make clean
Asi cada que se modifique el programa al hace ''make all'' este se  
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.
volverá a construir y los binarios (ejecutables para el microcontrolador) a actualizar.


Línea 128: Línea 128:


= Diseño del PCB =
= Diseño del PCB =
Aún no se tiene una placa definida.


= TODO list =
= 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 =
= Observaciones =


= Referencias =
* Los archivos se graban con extesión ..l debería ser .l solamente

Revisión del 11:22 27 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

EMMA sch.png

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:

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

  • Los archivos se graban con extesión ..l debería ser .l solamente