controlador autom

27
Controlador automco de acuarios Con este montaje pretendemos automatizar todos los elementos instalados en el acuario a modo de acuario dom o. Conseguiremos ahorrarnos algo de trabajo en el mantenimiento del tanque y ademtendremos un "vecino virtual" que nos lo cuide en vacaciones. El conjunto consta principalmente de una serie de m os que monitorizan los diferentes partros del acuario (temperatura, Ph, etc...) y de un m o de control que es el encargado de tomar las decisiones oportunas para el mantenimiento de las condiciones mas. Ademtenemos un m o de configuraciinformaci em> que, como su nombre indica, permite tanto variar las condiciones del tanque como obtener informaci ctualizada de e. En la figura anterior podemos ver como se interconectan los diferentes m os con el controlador principal y la conexi esde el exterior con un navegador WEB o con una conexi erie RS232. Aunque en un primer momento se consider se los diferentes m os de forma separada (con su propio microcontrolador), la capacidad del PIC16F874A nos da la posibilidad de controlarlo todo con un solo microcontrolador. Los m os desarrollados son los siguientes:

Upload: raiverfx

Post on 10-Jul-2015

119 views

Category:

Education


1 download

TRANSCRIPT

Page 1: Controlador autom

Controlador automᴩco de acuarios

Con este montaje pretendemos automatizar todos los elementos instalados en el acuario

a modo de acuario dom�o. Conseguiremos ahorrarnos algo de trabajo en el

mantenimiento del tanque y adem᳠tendremos un "vecino virtual" que nos lo cuide en

vacaciones.

El conjunto consta principalmente de una serie de m o᳠s que monitorizan los diferentes

par᳠tros del acuario (temperatura, Ph, etc...) y de un m�o de control que es el

encargado de tomar las decisiones oportunas para el mantenimiento de las condiciones

m᳠as. Adem᳠tenemos un m�o de configuraci� informaci�em> que, como su nombre

indica, permite tanto variar las condiciones del tanque como obtener

informaci�ctualizada de 鳴e.

En la figura anterior podemos ver como se interconectan los diferentes m�os con el

controlador principal y la conexi�esde el exterior con un navegador WEB o con una

conexi�erie RS232. Aunque en un primer momento se consider�se�los diferentes

m�os de forma separada (con su propio microcontrolador), la capacidad del

PIC16F874A nos da la posibilidad de controlarlo todo con un solo microcontrolador.

Los m�os desarrollados son los siguientes:

Page 2: Controlador autom

M�o de control: Es el m�o principal del sistema, recoge la

informaci�uministrada por los sensores y medidores y act? consecuencia.

Tambi鮠se encarga de realizar las tareas peri�as del acuario como encender

y apagar las luces y dar de comer a los peces.

M�o de configuraci� informaci�EB (acuaweb) y RS232: Se trata de un m�o

puramente software que permite la visualizaci�e datos a trav鳠de una interfaz

web o a trav鳠de un puerto serie. Adem�podemos configurar los par�tros del

acuario (temperatura, iluminacion, comidas, etc...) y realizar actuaciones

puntuales con alguno de ellos.

M�o de temperatura: Consiste en una serie de sensores de temperatura

encapsulados para poder sumergirlos y de unos actuadores para controlar los

diferentes calefactores.

M�o medidor de Ph: Mide el Ph del agua con un sensor estandar y convierte la

se�para que el m�o de control la pueda procesar. Tambi鮠tiene actuadores

para activar los controladores de Ph.

M�o medidor de nivel: Informa al m�o de control del nivel de agua existente

en el acuario.

M�o actuador de luces: Se encarga de alimentar los tubos de iluminaci�

M�o actuador de alimentaci�/a> Ser�l que introduzca comida en el agua

cuando el m�o de control lo considere necesario.

M�o generador de oleaje: Este m�o se encargar�e activar las bombas

generadoras de olas en el orden correcto.

M�o de control

El m�o de control es el encargado de obtener datos de todos los sensores del sistema y

de manejar los actuadores que mantienen el acuario en su estado �mo.

El encargado de todo esto es un microcontrolador, en concreto el PIC16F874A de

Microchip. Es un microcontrolador RISC con 35 instrucciones diferentes que se

ejecutan en cuatro ciclos de reloj, puede funcionar hasta a 20Mhz y tiene 4096

posiciones de memoria de 14 bits para el programa, 192 bytes de ram y 128 bytes de

memoria EEPROM para poder guardar datos permanentemente. Tiene treinta y tres

pines programables como entradas o salidas independientes, dos cron�ros/alarmas de

8 bits o uno de 16, puerto serie (USART) y ocho convertidores A/D de diez bits.

Page 3: Controlador autom

En la p�na de Microchip tenemos modelos m�peque�como el PIC12C509 de solo 8

pines y otros m�grandes y con m�prestaciones como el PIC18F8722 con 128 Kbytes

de memoria, 54 pines programables, convertidores A/D, USART. etc. Pr�icamente

todos los microcontroladores PIC son compatibles entre s튉 y podros poner cualquiera

de ellos con solo "recablear" los pines del integrado.

Para comunicarnos con el PIC16F874A utilizaremos el puerto serie USART integrado

en 鬮 Como los niveles del microcontrolador son TTL (0 y 5V para el "0" y el "1"

respectivamente) utilizaremos un adaptador de se�para convertirlos a niveles RS232

(12 para el "0" y -12V para el "1"). El adaptador elegido es el MAX233A de

dallas/maxim. Este integrado es capaz de manejar dos canales de comunicaci� no

necesita ning?mponente externo.

M�o controlador de temperatura

ɳte m�o contiene tanto los sensores de temperatura como los actuadores que manejan

los calefactores. Consiste en una serie de sensores de temperatura DS18S20 de

dallas/maxim y los rel鳠que actuar�sobre los calefactores del acuario.

El DS18S20 es un term�ro digital de 9 bits que se conecta a trav鳠de un bus 1-wire.

Tiene una precisi�e ±0.5?C en el rango de -10?C a +85?C y cada uno de ellos dispone

de un identificador ? de 64 bits, lo que permite que puedan coexistir varios sensores en

un ? bus 1-wire. El bus 1-wire puede ser de hasta 100 metros de largo por lo que la

colocaci�e los sensores respecto del m�o no deberser un problema.

Page 4: Controlador autom

El DS18S20 es un integrado con forma de transistor, tiene tres pines de los cuales dos

sirven de alimentaci� (GND y Vdd) y el otro (DQ) es el que se conecta al bus. Este

sensor puede funcionar tambi鮠sin alimentaci�con lo que se conoce como

alimentaci�ar�ta. En este modo de funcionamiento la alimentaci�a saca directamente

de la linea DQ por lo que solo se necesitan dos cables (DQ y GND).

Para proteger el sensor del agua lo montaremos dentro de una ampolla de vidrio o

pl�ico rellena de silicona. Es importate que no entre humedad en el sensor para que no

haya posibilidad de cortocircuito o de que se oxiden los pines.

El bus 1-wire es capaz de manejar varios dispositivos conectados a 鬠por lo que con un

bus es suficiente, este bus lo manejaremos por el pin RA4. Por el conector 1-wire

concectaremos los sensores de temperatura DS18S20 y podemos colocar tantos como

queramos repartidos por el acuario, en nuestro caso pondremos uno en el recipiente

del sif� otro en el filtro biol�o.

Para controlar la temperatura utilizaremos dos calefactores tcos de acuario conectados

a T1 que se activar�cuando la temperatura del acuario baje del nivel preestablecido.

Estos calefactores disponen de un termostato que los enciende y apaga cuando es

necesario, pero como el control de temperatura lo realizaremos nosotros,

configuraremos los calefactores a una temperatura un poco mayor de la que

necesitemos para que en caso de mal funcionamiento del controlador no suba la

temperatura excesivamente. El hecho de usar dos calefactores nos asegura que la

temperatura del tanque sea la �ma a? el caso de que uno de ellos deje de funcionar.

Habitualmente nunca necesitamos enfriar el agua ya que la temperatura ambiente suele

ser menor que la necesaria para el acuario, si necesitaramos manejar un enfriador lo

conectaros a la borna marcada como T2 que se acciona cuando la temperatura supera

el nivel configurado. Debemos tener en cuenta que cuantos mas

calefactores/enfriadores conectemos al rel頭�potencia necesita soportar por lo que

tendremos que instalar uno adecuado a nuestras necesidades o conectar varios en

paralelo.

M�o controlador de pH

Este m�o se encargar�e obtener el pH del agua y de manejar los actuadores de

control. El montaje est�asado (mas bien copiado) en el medidor de pH para acuarios

de Jos頍anuel Garc en su p�na podr�encontrar una explicaci�etallada del circuito y

otras muchas cosas interesantes.

A grandes rasgos diremos que la salida del circuito nos da una tension de 0 a 999mV

que corresponden a un pH de entre 0 y 9.99. Esta salida la conectaremos directamente

Page 5: Controlador autom

a uno de los conversores A/D del PIC16F874A. En un principio ?mente usaremos un

sensor y en caso de necesitar otro m�tendremos que duplicar el circuito anterior.

Usaremos una sonda de pH est�ar que suministra una tensi�nversamente

proporcional al pH del agua. Esta sonda proporciona 0V con pH neutro (ph 7) y

varaproximadamente 60mV por grado de pH. En la siguiente imagen tenemos una

gr�ca con el comportamiento de una sonda de este tipo.

Los sensores de pH se conectan al PIC16F874A por las entradas an�gicas de los

pines RA1, RA2 y RA3. Colocaremos uno en el recipiente del sif� ahorraremos espacio

en el acuario. Con uno es suficiente porque el pH cambia muy lentamente y la

circulaci�e agua es lo suficientemente r�da para que sea uniforme en todo el sistema.

Adem�son bastante caros (alrededor de 60 euros).

Al igual que en el caso de la temperatura, tenemos dos conectores para el control del

pH: PH1 y PH2. PH1 se activa cuando el nivel de pH del acuario baja del nivel

configurado y PH2 cuando se eleva por encima del nivel mḩmo.

M�o controlador del nivel del agua

La forma m�sencilla de controlar el nivel de agua del acuario es por medio de una

boya instalada en su interior. Esta boya accionar�nos contactos que nos indicar�que

Page 6: Controlador autom

el agua est�or encima o por debajo de un determinado nivel. Este m鴯do es

completamente v�do pero hemos previsto que en un futuro podamos conectar un

sensor de nivel que nos indique exactamente la cantidad de agua del acuario, las

entradas del PIC16F874A a las que conectaremos los sensores son conversores A/D

por lo que simplemente con un sensor que nos proporcione una salida proporcional al

nivel de agua tendremos un control mucho m�preciso.

Necesitaremos controlar el nivel de agua en varios puntos del sistema: en el acuario, en

el filtro, en el dep�o de agua osmotizada y en el dep�o de cambio de agua. En el caso

del acuario es necesario saber si el agua baja de determinado nivel para a�rle m� en

el filtro biol�o es necesario para asegurarnos de que la bomba no trabaja en vac Los

otros dos sensores se encargan de controlar que no se acabe el agua del dep�o de

llenado y de que no se llene el dep�o de desag?

Disponemos de dos actuadores para controlar el nivel de agua, uno para introducir

agua en el acuario y otro para sacarla. Con esto podemos mantener constante el nivel

de agua del acuario simplemente a�endo un poco cuando baje el nivel.

Adem�podremos hacer los cambios peri�os de agua autom�camente siempre que

dispongamos de un desag?e un dep�o de agua osmotizada.

M�o controlador de la iluminaci�h2>

El control de la iluminaci�onsiste b�camente en

encender y apagar las luces a unas horas determinadas.

Con este montaje podemos hacer algo mas complicado y

manejar varias luces, por ejemplo unos tubos haciendo

de luz solar y una peque�ombilla a modo de luna.

Adem� con la posibilidad de conectar un ordenador por

el puerto serie al controlador, podemos hacer ciclos de

varias luces, por ejemplo podriamos emular las horas de

luz y la fase de la luna con la fecha actual, simular dias

nublados encendiendo menos luces, etc.

Para poder controlar varias luces tenemos cuatro

conectores diferentes: L1, L2, L3 y L4.

M�o de alimentaci�h2>

Para automatizar la alimentaci�e los peces hemos

previsto varios actuadores con el fin de poder accionar

diferentes alimentadores autom�cos. Este m�o consiste

Page 7: Controlador autom

en uno o varios dep�os de comida colocados encima del

acuario con un dispensador que proporciona la dosis

adecuada. Los conectores C1 y C2 accionan los

dispensadores.

M�o de oleaje

Este m�o es el encargado de simular oleaje en el

acuario. El oleaje se consigue activando unas bombas

distribuidas por el acuario de forma ordenada.

Montaje del sistema

Montaremos cinco placas diferentes: dos de

alimentaci�una para el controlador y otra para la sonda

de pH), otra con el circuito acondicionador de se�para

la sonda de pH, la placa con el PIC16F874A y por ?o la

placa de rel鳮 La placa con el LCD y las seis teclas es

opcional si tenemos conectado un ordenador al

controlador.

Page 8: Controlador autom

Lo primero que haremos ser�l circuito que

proporcionar�a alimentaci�ecesaria para el resto de

Page 9: Controlador autom

placas. Suministra +5V por el conector cuatro para

alimentar el PIC16F874A, los dos ULN2801A, el

MAX233A, los rel鳠y el LCD. Adem�podremos conectar

por el conector correspondiente una baterrecargable

(1.5V x 4 = 6V) que nos proporcionar�a tensi�e

alimentaci�n caso de fallo de suministro el飴rico. Esta

placa la tendremos que alimentar con 18V AC. A

continuaci�enemos el listado de componentes de esta

placa:

Fuente de alimentaci�th>

Componente Descripci�th> Valor

U1 Puente rectificador

U2 Estabilizador de tensi 1᳠2V LM7812

R1 Resistencia limitadora para la baterrecargable 33Ω

R2 Resistencia de carga para el led indicador de

alimentaci t᳠d>

560Ω

C1 Condensador estabilizador del regulador 0.33µF

C2 Condensador estabilizador del regulador 0.1µF

D1 Diodo rectificador 1N4007

D2 Diodo led indicador de alimentaci t᳠d> Rojo de

5mm

D3 Diodo zener 5.1V 1W

Page 10: Controlador autom

Para alimentar el acondicionador de se�de la sonda de

pH necesitamos tres voltajes: dos de +5V y uno de -5V Es

importante que la alimentaci�el circuito acondicionador

est頳eparada de la de alimentaci�e componentes para

evitar interferencias. Jos頍anuel Garcexplica todo esto

en su p�na del medidor de pH para acuarios. El

potenci�ro P1 nos servir�ara ajustar la tensi�e salida a

+5V exactos (la placa es exactamente igual a la de

Jos頍anuel y podros eliminar la placa de

alimentaci�nterior ya que 鳴a tambi鮠proporciona los

+5V necesarios para elimentar los elementos). Los

componentes necesarios los tenemos en la tabla

siguiente:

Fuente de alimentaci�el m�o sensor de pH

Componente Descripci�th> Valor

U1 Regulador de tensi j᳠ustable l200

U2 Estabilizador de tensi 5᳠V LM7805

U3 Estabilizador de tensi 5᳠V LM7905

R1 Resistencia de ajuste de tensi t᳠d> 0.33Ω

R2 Resistencia de ajuste de tensi t᳠d> 820Ω

R3 Resistencia de ajuste de tensi t᳠d> 330Ω

R4-R6 Resistencias de carga para los leds indicadores de

alimentaci t᳠d>

560Ω

C1 Condensador de filtrado 4700µF

C2 Condensador de filtrado 220nF

C3 Condensador de filtrado 1µF

C4-C6 Condensadores de filtrado 1000µF

C7,C8 Condensadores de filtrado 220nF

C9,C10 Condensadores de filtrado 1µF

C11,C12 Condensadores de filtrado 10µF

D1-D3 Diodos rectificadores 1N4007

D4-D6 Diodos led indicadores de funcionamiento Rojos de

5mm

Page 11: Controlador autom

P1 Potenci r᳠o multivuelta 470Ω

Una vez montadas la placas de alimentaci�montaremos

el m�o de control donde tenemos el PIC16F874A que es

el encargado de la adquisici�e datos de todos sensores

de temperatura y de activar y desactivar los actuadores.

El pulsador S1 provoca el reset hardware del

PIC16F874A. RC7 es el pin de recepci�e datos por el

puerto serie y RC6 es el de transmisi�adem�tenemos la

posibilidad de conectar un LCD de cuatro lineas y veinte

caracteres por linea por los pines RA0, RB2, RB3, RB4,

RB5, RB6 y RB7. Este LCD mostrar�nformaci�el

sistema en todo momento, aunque no es necesario para

el funcionamiento del controlador. Adem�de controlar

el LCD, en los pines RA0, RB2, RB3, RB4, RB5 y RB7

conectaremos seis teclas para poder navegar por el men?

esta forma implementaremos un terminal que nos

permitir�rogramar el controlador sin necesidad de

conectarlo a un ordenador.

Con el LM336 podremos ajustar la tensi�e referencia

del conversor A/D. Deberemos ajustar el potenci�ro P3

para que la tensi�ntre el pin RA3 y masa (sin tener

Page 12: Controlador autom

conectado el PIC16F874A) sea de 2.56V. Con esto y el

conversor A/D configurado en 8 bits nos dar�n cambio

cada 10mV.

Para poder accionar los actuadores usaremos dos

integrados ULN2801A. Constan de ocho drivers de 0.5A

cada uno y los usaremos para suministrar la corriente

necesaria a los rel鳠ya que el PIC16F874A no es capaz

de suministrar tanta corriente por los pines de salida. En

cada uno de los drivers conectaremos un rel頱ue ser�l

que realmente active y desactive los actuadores. Los

rel鳠los tendremos en una placa diferente ya que

necesitamos tener 220V en el circuito para activar los

elementos de control.

En las siguiente tabla tenemos los componentes

necesarios para la construcci�anto de la placa de

control como de la placa del terminal:

M�o de control

Componente Descripci�th> Valor

U1 Microcontrolador PIC16F874A

U2 Acondicionador de se /᳠td> MAX233A

U3 Generador de tensi e᳠ referencia ajustable LM336

U4,U5 Drivers para los actuadores ULN2801A

R1 Resistencia de carga para el reset hardware. 10kΩ

R2 Resistencia de carga para el regulador. 2K5

R3 Resistencia de pull-up para el bus 1-Wire. 4K7

R4-R21 Resistencias de carga para los leds indicadores de

actividad

560Ω

C1,C2 Condensadores estabilizadores del reloj 15-33pF

D1,D2 Diodos de se /᳠td> 1N4148

Page 13: Controlador autom

D3-D6 Diodos led indicadores de actuaci n᳠ iluminaci t᳠d> Rojos de

3mm

D7,D8 Diodos led indicadores de actuaci n᳠ temperatura Rojos de

3mm

D9,D10 Diodos led indicadores de actuaci n᳠ pH Rojos de

3mm

D11,D12 Diodos led indicadores de actuaci n᳠ Nivel Rojos de

3mm

D13-D16 Diodos led indicadores de actividad de las bombas de

oleaje.

Rojos de

3mm

D17,D18 Diodos led indicadores de actuaci n᳠ alimentaci t᳠d> Rojos de

3mm

D19,D20 Diodos led indicadores de comunicaci e᳠rie (Tx,Rx) Rojos de

3mm

D21-D26 Diodos de se /᳠td> 1N4007

XT1 Cristal 4Mhz

P1 Potenci r᳠o multivuelta para ajustar la tension de

referencia

10KΩ

P2 Control de contraste del LCD 10KΩ

P3 Control de iluminaci e᳠l LCD 10Ω

LCD LCD de 2x16 HD44780U

SW1 Pulsador de reset hardware

SW2-SW7 Teclado del terminal

El circuito acondicionador de se�lo tendremos montado

en una placa diferente para poder aislarlo de cualquier

interferencia tal y como explica Jos頍anuel Garc/a> en

Page 14: Controlador autom

su p�na. Los componentes necesarios para esta placa

los tenemos a continuaci�

Acondiciondor de se�del sensor de pH

Componente Descripci�th> Valor

U1 Amplificador operacional de entrada JFET LF356M

U2 Amplificador operacional de entrada JFET TL084

R1 150KΩ

R2 10KΩ

R3 4K7

R4-R7 22KΩ

R8,R9 100KΩ

R10 15KΩ

R11 1K5

C1 150pF

C2 3.3pF

C3 5.6pF

C4,C5 220nF

P1 Potenci r᳠o de ajuste pH=7.0 10KΩ

P2 Potenci r᳠o de ajuste pH=4.0 2KΩ

Configuraci� funcionamiento del controlador

Para poner en marcha el controlador ?mente tendremos

que conectarlo a un transformador que nos proporcione

entre 18 y 24 voltios de corriente alterna. Una vez puesto

en marcha tendremos una pantalla con la hora actual en

Page 15: Controlador autom

la primera linea y con las medidas correspondientes a la

temperatura y al pH en la segunda. Estas medidas son la

media de todas las lecturas proporcionadas por los

sensores que tengamos conectados al sistema. La hora

estar�nicializada a las 00:00:00 por lo que deberemos

ajustarla a la hora actual. Las dos lineas inferiores

sirven para mostrar las diferentes acciones que va

realizando el controlador: encender y apagar luces,

activar cebadores, mostrar las alarmas de temperatura y

pH, etc.

Pulsando la tecla MENU en el teclado del terminal

aparecer�a pantalla de la izquierda. En el men?

podremos mover entre las diferentes opciones con las

teclas de ARRIBA y ABAJO. Para seleccionar una

opci�ulsaremos la tecla DERECHA y para salir del

men?tecla IZQUIERDA. El men?ajustes sirve para

configurar todos los par�tros del controlador. Podremos

poner la hora actual, introducir la temperatura y el pH

deseados, etc. El men?acciones nos sirve para activar o

desactivar alguno de los elementos puntualmente.

Para ajustar la hora del reloj pulsaremos la tecla men?>,

seleccionaremos la entrada Hora posicionando el cursor

sobre ella y pulsando la tecla DERECHA. Nos

aparecer� entonces una pantalla como la que tenemos a

Page 16: Controlador autom

la derecha. En ella nos podremos mover entre la hora,

minutos y segundos con las teclas de DERECHA e

IZQUIERDA, para aumentar o disminuir el valor

usaremos las teclas de ARRIBA y ABAJO. Una vez

tengamos la hora ajustada pulsaremos la tecla

IZQUIERDA hasta salir al men?ncipal.

El men?ajuste de temperatura nos permite introducir en

el controlador la temperatura deseada en nuestro

acuario. Seleccionaremos la opci�em>temperatura del

men?ncipal y pulsaremos la tecla DERECHA.

Tendremos una pantalla en la que podremos variar la

temperatura mma y mḩma del acuario en pasos de

0.5?C. Con las teclas DERECHA e IZQUIERDA

seleccionaremos la temperatura mḩma o mma y con

ARRIBA y ABAJO iremos vari�ola hasta el valor �mo

deseado. Para salir pulsaremos la tecla IZQUIERDA.

Con este men?emos variar el nivel de pH necesario para

el acuario. El procedimiento para cambiar los valores de

pH es id鮴ico al del men?ajuste de temperaturas.

Seleccionaremos la opci�em>pH del men?ncipal y

pulsaremos la tecla DERECHA. Tendremos una

pantalla en la que podremos variar el pH mmo y

mḩmo del acuario en pasos de 0.1. Con las teclas

DERECHA e IZQUIERDA seleccionaremos el pH

Page 17: Controlador autom

mḩmo o mmo y con ARRIBA y ABAJO iremos

vari�ola hasta el valor �mo deseado. Para salir

pulsaremos la tecla IZQUIERDA.

Para controlar la iluminaci�el acuario disponemos de

cuatro controles para luces, 鳴os los configuraremos

con el men?>iluminacion. Una vez tengamos

seleccionado el submen? de control de luces podremos

variar las horas de encendido y apagado de las cuatro

luces movi鮤onos arriba y abajo para seleccionar L1,

L2, L3 o L4. Una vez seleccionada la luz que queremos

configurar pulsaremos la tecla DERECHA hasta

posicionarnos en el valor a modificar. Con las teclas

ARRIBA y ABAJO modificaremos este valor y

saldremos pulsando IZQUIERDA hasta salir a la

seleccion de luz.

La primera hora del men?la hora de encendido y la

segunda la de apagado. En la pantalla de la derecha

tenemos que la luz n? uno se enciende a las 8:30 y se

apaga a las 22:00, la luz dos se enciende a las 8:40 (un

poco m�tarde que la primera) y se apaga a las 21:50

(un poco antes que la anterior) y la luz tres se enciende

por la noche de 21:00 a 9:00 simulando la luna. La luz

cuatro aparece debajo de la luz tres en el men?ara que

no haga nada debe estar configurada como hora de

encendido las 00:00 y hora de apagado las 00:00.

Page 18: Controlador autom

El control de la alimentaci�s muy similar al de la

iluminaci�olo que en este caso tenemos ?mente dos

controles. En cada uno de 鳴os podemos programar

dos horas de cebado. La hora 00:00 es especial y la

usaremos para indicar que no hay cebado. En el

ejemplo de la derecha podemos ver que el cebador uno

se activa dos veces al dia, una a las 9:00 y otra a las

21:00, el cebador dos se activa una vez al dia a las

13:00. Para configurar las horas usaremos las teclas

ARRIBA y ABAJO para seleccionar el cebador y una

vez seleccionado con DERECHA e IZQUIERDA nos

movemos por las horas y con ARRIBA y ABAJO las

modificamos. Para salir de la selecci�saremos la tecla

IZQUIERDA.

Con este men?figuraremos todo lo relacionado a la

generaci�e olas en el acuario. Podemos configurar tres

periodos de oleaje (O1, O2 y O3) con hora de comienzo

y hora de finalizaci� y adem�podemos configurar la

frecuencia de las olas para cada uno de ellos. En la

pantalla de ejemplo tenemos configurados los tres

periodos, el primero de 8:00 a 13:00 con una frecuencia

de un segundo, es decir, las bombas se activan

alternativamente cada segundo, el segundo perioido es

de 13:00 a 22:00 con un periodo de tres segundos, lo

Page 19: Controlador autom

que quiere decir que las olas son m�suaves. El ?o

periodo comprende toda la noche de 22:00 a 8:00 con

un periodo de diez segundos. Al igual que en el resto de

configuraciones, la configuracion de inicio 00:00 y de

finalizaci�0:00 indica que no hay acci�

Una vez lo tengamos todo configurado tendremos que

volver a la pantalla inicial en la que tenemos la hora, la

temperatura y el pH. Como hemos visto anteriormente,

las dos lineas de abajo est�libres y las usaremos para

mostrar informaci�e todas las acciones que va

tomando el controlador. A la izquierda vemos que el

controlador encendi� luz dos a las 08:40 (la linea de

activacion del oleaje a las 08:00 y de la luz uno a las

08:30 desaparecen) y que activ� cebador uno a las

09:00. Conforme pase el tiempo el controlador

ir�oniendo en la linea de abajo la ?a acci�ue se ha

realizado.

Protocolo de comunicaciones RS232

El m�o de control estar�ontinuamente obteniendo

lecturas de temperatura, de pH y de nivel de agua de

los sensores, esperando �nes del m�o principal y

accionando los actuadores necesarios en cada

momento.

El puerto RS232 deber�star configurado a 9600 8N1.

Page 20: Controlador autom

Todas las ordenes comienzan con STX (0x02) y acaban

con ETX (0x03). Las �nes aceptadas son las de la tabla

siguiente:

Comando Respuesta Descripci�th>

Reboot STX 0x00

ETX

STX 0x00

ETX

Reinicia el m o᳠.

Status STX 0x01

ETX

STX

estado

ETX

Indica el estado del

controlador (ver

tabla de estados).

SetTime STX 0x02

HHMMSS

ETX

STX

estado

ETX

Programa el m o᳠

con la hora

indicada.

GetTime STX 0x03

ETX

STX

HHMMSS

ETX

Pregunta al m o᳠ la

hora actual.

GetTemperatureAll STX 0x10

ETX

STX S1 S2

S3 ... ETX

Pregunta al m o᳠

las lecturas de

temperatura de

todos los sensores

que tiene

conectados.

GetTemperature STX 0x11

n ETX

STX Sn

ETX

Pregunta al m o᳠ la

lectura de

temperatura del

sensor n.

ResetTemperatureAll STX 0x12

ETX

STX OK

ETX

Inicializa todos los

sensores de

temperatura.

ResetTemperature STX 0x13

n ETX

STX OK

ETX

Inicializa el sensor

n.

SetTemperatureAllPeriod STX 0x14

periodo

ETX

STX

estado

ETX

Programa el m o᳠

para tomar las

temperaturas de

todos lo sensores

con el periodo

especificado.

SetTemperaturePeriod STX 0x15

n periodo

ETX

STX

estado

ETX

Programa el m o᳠

para tomar las

temperaturas del

sensor n con el

periodo

especificado.

SetMaxTemperature STX 0x16 STX Programa el lte

Page 21: Controlador autom

max ETX estado

ETX

superior de

temperatura para el

acuario (en ?C).

SetMinTemperature STX 0x17

min ETX

STX

estado

ETX

Programa el lte

inferior de

temperatura para el

acuario (en ?C).

GetPhAll STX 0x20

ETX

STX S1 S2

S3 ... ETX

Pregunta al m o᳠

las lecturas de pH

de todos los

sensores que tiene

conectados.

GetPh STX 0x21

n ETX

STX Sn

ETX

Pregunta al m o᳠ la

lectura de pH del

sensor n.

ResetPhAll STX 0x22

ETX

STX OK

ETX

Inicializa todos los

sensores de pH.

ResetPh STX 0x23

n ETX

STX OK

ETX

Inicializa el sensor

n.

SetPhAllPeriod STX 0x24

periodo

ETX

STX

estado

ETX

Programa el m o᳠

para tomar el pH

de todos lo

sensores con el

periodo

especificado.

SetPhPeriod STX 0x25

n periodo

ETX

STX

estado

ETX

Programa el m o᳠

para tomar el pH

del sensor n con el

periodo

especificado.

SetMaxPh STX 0x26

max ETX

STX

estado

ETX

Programa el lte

superior de pH

para el acuario.

SetMinPh STX 0x27

min ETX

STX

estado

ETX

Programa el lte

inferior de pH para

el acuario.

GetWaterLevelAll STX 0x30

ETX

STX S1 S2

S3 ... ETX

Pregunta al m o᳠

las lecturas de

nivel de agua de

todos los sensores

que tiene

conectados.

GetWaterLevel STX 0x31

n ETX

STX Sn

ETX

Pregunta al m o᳠ la

lectura de nivel de

agua del sensor n.

Page 22: Controlador autom

ResetWaterLevelAll STX 0x32

ETX

STX OK

ETX

Inicializa todos los

sensores de nivel.

ResetWaterLevel STX 0x33

n ETX

STX OK

ETX

Inicializa el sensor

n.

SetWaterLevelAllPeriod STX 0x34

periodo

ETX

STX

estado

ETX

Programa el m o᳠

para tomar el nivel

de agua de todos lo

sensores con el

periodo

especificado.

SetWaterLevelPeriod STX 0x35

n periodo

ETX

STX

estado

ETX

Programa el m o᳠

para tomar el nivel

de agua del sensor

n con el periodo

especificado.

GetLightAll STX 0x40

ETX

STX S1 S2

S3 ... ETX

Pregunta al m o᳠ el

estado de todas las

luces que tiene

conectadas.

GetLight STX 0x41

n ETX

STX Sn

ETX

Pregunta al m o᳠ el

estado de la luz n.

SetLightAllOn STX 0x42

brillo ETX

STX

estado

ETX

Enciende todas las

luces con el nivel

de brillo

especificado.

SetLightAllOff STX 0x43

ETX

STX

estado

ETX

Apaga todas la

luces.

SetLightOn STX 0x44

brillo n

ETX

STX

estado

ETX

Enciende la luz n

con el nivel de

brillo especificado.

SetLightOff STX 0x45

n ETX

STX

estado

ETX

Apaga la luz n.

SetLightTimeAllOn STX 0x42

hora ETX

STX

estado

ETX

Programa el m o᳠

para encender

todas las luces a la

hora indicada.

SetLightTimeAllOff STX 0x43

hora ETX

STX

estado

ETX

Programa el m o᳠

para apagar todas

las luces a la hora

indicada.

SetLightTimeOn STX 0x44

n hora

ETX

STX

estado

ETX

Programa el m o᳠

para encender la

luz n a la hora

Page 23: Controlador autom

indicada.

SetLightTimeOff STX 0x45

n hora

ETX

STX

estado

ETX

Programa el m o᳠

para apagar la luz n

a la hora indicada.

SetFeedingAll STX 0x50

m hora

ETX

STX

estado

ETX

Programa la hora

de cebado m de los

peces de todos los

m o᳠s.

SetFeeding STX 0x51

m n hora

ETX

STX

estado

ETX

Programa la hora

de cebado m de los

peces en el m o᳠ n.

GetWavesAll STX 0x40

ETX

STX S1 S2

S3 ... ETX

Pregunta al m o᳠ el

estado de las

bombas

generadoras de

olas.

GetWaves STX 0x41

n ETX

STX Sn

ETX

Pregunta al m o᳠ el

estado de la bomba

n.

SetWavesAllOn STX 0x42

ETX

STX

estado

ETX

Conecta todas las

bombas.

SetWavesAllOff STX 0x43

ETX

STX

estado

ETX

Desconecta todas

las bombas.

SetWavesOn STX 0x44

n ETX

STX

estado

ETX

Conecta la bomba

n.

SetWavesOff STX 0x45

n ETX

STX

estado

ETX

Desconecta la

bomba n.

SetWavesPeriodAll STX 0x42

periodo

ETX

STX

estado

ETX

Programa el m o᳠

para conectar todas

las bombas con el

periodo indicado

(en segundos).

SetWavesPeriod STX 0x44

n periodo

ETX

STX

estado

ETX

Programa el

periodo de

conexi e᳠ la bomba

n.

Page 24: Controlador autom

Estado Descripci�th>

0x00 Correcto

0x01 Error

0x11 Temperatura por encima del nivel establecido

0x12 Temperatura por debajo del nivel establecido

0x21 pH por encima del nivel establecido

0x22 pH por debajo del nivel establecido

Costes del controlador

En la siguiente tabla tenemos el coste aproximado de

los componentes, este coste depende mucho del sitio

donde los compremos asue no est� de m�comparar

varios sitios. La mayorde los precios de la tabla son de

la tienda donde habitualmente compro los

componentes, los dem�est�sacados de tiendas online

que son bastante m�caras.

Componente Cantidad Precio unitario (?) Total (?)

Puente rectificador 1 0.24 0.24

Regulador +12V LM7812 1 0.29 0.29

Regulador +5V LM7805 1 0.29 0.29

Regulador -5V LM7905 1 0.32 0.32

Regulador ajustable L200 1 1.56 1.56

Generador de tensi M᳠336 1 0.42 0.42

Microcontrolador P16F874 1 8.80 8.80

Acondicionador MAX233 1 6.80 6.80

Drivers ULN2803 2 0.56 1.12

Amplificador operacional LF356M 1 0.48 0.48

Amplificador operacional TL084 1 0.4 0.4

Resistencias 0.25W 5% 36 0.009 0.324

Resistencias 0.25W 1% 4 0.016 0.064

Condensador electrolco 4700µF 1 0.95 0.95

Condensadores poliester 220nF 5 0.168 0.84

Condensadores electrolcos 1µF 3 0.048 0.144

Condensadores electrolcos 1000µF 3 0.164 0.492

Page 25: Controlador autom

Condensadores electrolcos 10µF 2 0.016 0.032

Condensadores 22pF 2 0.03 0.06

Condensador cer᳠co 0.33µF 1 0.144 0.144

Condensador cer᳠co 0.1µF 1 0.034 0.034

Condensador cer᳠co 150pF 1 0.03 0.03

Condensador cer᳠co 3.3pF 1 0.03 0.03

Condensador cer᳠co 5.6pF 1 0.03 0.03

Diodo zener 5.1V 1 0.084 0.084

Diodos rectificadores 1N4007 10 0.021 0.21

Diodos de se 1᳠N4148 2 0.024 0.048

Leds rojos 5mm 4 0.05 0.05

Leds rojos 3mm 18 0.063 1.134

Potenci r᳠os multivuelta 4 0.722 2.89

Potenci r᳠os horizontales 2 0.23 0.46

Cristal 20Mhz 1 0.84 0.84

LCD 20x4 1 21.0 21.0

Switchs 7 0.144 1.008

Placa fotosensible positiva 200x300mm 1 12.74 12.74

Rel鳠6V 16 2.0 32.0

Z o᳠ 8 pines 1 0.1443 0.1443

Z o᳠ 14 pines 1 0.1682 0.1682

Z o᳠s 18 pines 2 0.2380 0.4760

Z o᳠ 20 pines 1 0.28 0.28

Z o᳠ 40 pines 1 0.7212 0.7212

Disipadores 4 0.2280 0.9120

Tornillos para los disipadores 4 0.01 0.04

Tuercas para los disipadores 4 0.0088 0.0352

Tira de pines macho 1 0.1836 0.1836

Tira de pines hembra 1 0.5580 0.5580

Sonda de pH 1 60.0 60.0

Sensor de temperatura DS1820 1 2.0 2.0

Total: 162.02?

Podemos ver en la tabla que los rel鳬 el LCD y el

sensor de pH se llevan aproximadamente el 70% del

presupuesto total por lo que podemos limitar el n? de

Page 26: Controlador autom

rel鳠a los que realmente necesitemos. El LCD lo

pondremos ?mente si no vamos a usar un ordenador

para configurar el controlador.

Modificaciones y mejoras

Estas son algunas de las posibles mejoras a efectuar en

el controlador:

Luces: Control de las luces con PWM para

simular el amanecer y el ocaso. Esto se puede

hacer con el microcontrolador o con

circuiterexterna. En este ?o caso no serposible

configurar los tiempos de encendido y apagado

progresivo desde el terminal o desde el

ordenador.

Terminal de control: Posibilidad de conectar un

LCD de 2x16 en lugar de uno de 4x20 ya que

normalmente s�necesitamos la hora y los datos

de temperatura y pH.

Comunicaciones: Conexi�on el exterior por red.

Desarrollar un mini servidor de p�nas web que

permita todo el manejo del controlador a

trav鳠de 鬮

Sensores: A�r sensores de carbonatos (KH),

dureza (GH), amoniaco, nitratos y nitritos

(?conductividad?).

Fotos del controlador

Page 27: Controlador autom

640x480 800x600 1280x960 1600x1280

640x480 800x600 1280x960 1600x128

0 640x480 800x600 1280x960 1600x1280

640x480 800x600 1280x960 1600x1280

640x480 800x600 1280x960 1600x128

0