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

De Hacklab La Paz - r00thouse
Línea 61: Línea 61:
= Desarrollo del software =
= Desarrollo del software =


Ya puedes clonar la primera version de este proyecto en
Ya puedes clonar el desarrollo de este proyecto en


<pre>
<pre>
git@gitlab.com:emma_project/emma_project.git
git@notabug.org:strysg/emma.git
</pre>
</pre>


El link:
El link:


https://gitlab.com/emma_project/emma_project/tree/master
https://notabug.org/strysg/EMMA


== Qué se necesita ==
== Qué se necesita ==
Línea 81: Línea 81:
* La herramienta '''gnumake'''
* La herramienta '''gnumake'''


Algo más de info sobre estas herremientas http://chwnku.tuxfamily.org/cont/HerrSoft.html
Algo más de info sobre estas herremientas  
http://chwnku.tuxfamily.org/cont/HerrSoft.html


== Construir el programa ==
== Construir el programa ==
Línea 87: Línea 88:
Una vez descargado el proyecto hay que hacer:
Una vez descargado el proyecto hay que hacer:


  en el directorio del principal del proyecto:
En el directorio del principal del proyecto:
   cd src/Build
   cd src/Build
 
como se tiene instalada la herramienta gnumake basta con:
  # como se tiene instalada la herramienta gnumake basta con:
 
  # para generar el archivo .hex que debe ir al microcontrolador
   make all
   make all
 
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
volverá a construir y los binarios (ejecutables para el microcontrolador) a actualizar.


Asi cada que se modifique el programa al hace ''make all'' este se volverá a construir y los binarios a actualizar.
== Grabar el programa en el microcontrolador ==


== Grabar el programa el microcontrolador ==  
=== Con AVRDUDE ===


Guia rapida http://chwnku.tuxfamily.org/cont/HerrSoft.html#AVRDUDESS
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


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


 
# cd hasta el directorio '''src/Build''' del directorio principal donde esta el proyecto
1. cd hasta el directorio '''src/Build''' del directorio principal donde esta el proyecto
# ejecutar el comando:
 
2. ejecutar el comando:
<source lang="bash">
<source lang="bash">
sudo avrdude -c usbasp -p m16 -u -U flash:w:main.hex
sudo avrdude -c usbasp -p m32 -u -U flash:w:main.hex
</source>
</source>


Actualmente el proyecto viene siendo construido en el atmega16 para el atmega32 por ejemplo el comando es
=== Usando make ===


El Makefile en la carpeta src/Build contiene una regla para programar le atmega32 usando el grabador USBasp
# cd hasta el directorio '''src/Build''' del directorio principal donde esta el proyecto
# ejecutar el comando:
<source lang="bash">
<source lang="bash">
sudo avrdude -c usbasp -p m32 -u -U flash:w:main.hex
sudo make program_usbasp
</source>
</source>



Revisión del 18:15 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 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 hace 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

TODO list

Observaciones

Referencias