Diseño Sistemade Riego

9
Diseño 3: sistema de riego Enunciado: Se necesita diseñar un sistema de riego para un predio que tiene 4 tipos de cultivo. El sistema debe proveer las señales necesarias para abrir las diferentes válvulas, durante el tiempo requerido. El riego se debe realizar mínimo 4 veces al día, con hora y duración pre programada. Esta rutina diaria se debe ingresar desde un computador a través del puerto RS 232. El riego nunca se hace al mismo tiempo en dos o más cultivos. Si en la programación del día aparece la misma hora para dos o más cultivos, estos se deben realizar en secuencia. Comunicación: La entrada (EN entrada) se dará a partir del puerto serial: RS232. Éste Es un puerto de comunicación que transmite los datos de forma serial, es decir que posee dos niveles lógicos de voltaje. Nivel lógico alto (1) -3 V a -15 V Nivel lógico bajo (0) +3V a +15 V Para la adquisición de datos se debe tener en cuenta donde comienza y donde termina cada bit en la señal recibida. Además de conocer el inicio y el final. La velocidad en la que son transmitidos los bits esta expresada en bits por segundo o Baudios. (Se escogieron 9600 baudios para nuestro sistema) La transmisión de los bits se efectúa de forma asíncrona, debido a que no existe reloj para la transmisión La frecuencia de la señal asíncrona con la que se muestran los bits es mucho mayor que la frecuencia de la señal en la cual se encuentran los bits que se desean transmitir Bit de inicio: Se mantendrá un “1” lógico mientras no exista transmisión de los bits. Pero cuando se va a iniciar la transmisión se cambia a un “0” lógico durante un tiempo de bit, y después de este cero, empieza la transmisión de los bits, sean 1´s o 0´s, que en nuestro caso serán 8 bits. (Se envía primero el bit menos significativo) el bit de final es un”1”. Para recibir los datos, es necesario que en el receptor exista un reloj con la misma frecuencia del transmisor. Además de que reconozca el patrón para el ingreso del primer bit. También es necesario el uso de un adaptador que convierte los voltajes del computador en voltajes lógicos, para esto se recomienda el adaptador MAX232. RECOMENDACIONES A TENER EN CUENTA PARA EL MANEJO DE LA SEÑAL DE ENTRADA Lo más recomendable es tomar los bits en la mitad del pulso que se trasmite, para de esta manera asegurar que no se tome en un flanco de subida o de bajada.

Transcript of Diseño Sistemade Riego

Page 1: Diseño  Sistemade Riego

Diseño 3: sistema de riego

Enunciado: Se necesita diseñar un sistema de riego para un predio que tiene 4 tipos de

cultivo. El sistema debe proveer las señales necesarias para abrir las diferentes válvulas,

durante el tiempo requerido.

El riego se debe realizar mínimo 4 veces al día, con hora y duración pre programada. Esta

rutina diaria se debe ingresar desde un computador a través del puerto RS 232.

El riego nunca se hace al mismo tiempo en dos o más cultivos. Si en la programación del

día aparece la misma hora para dos o más cultivos, estos se deben realizar en secuencia.

Comunicación: La entrada (EN entrada) se dará a partir del puerto serial: RS232. Éste Es

un puerto de comunicación que transmite los datos de forma serial, es decir que posee dos

niveles lógicos de voltaje.

Nivel lógico alto (1) -3 V a -15 V

Nivel lógico bajo (0) +3V a +15 V

Para la adquisición de datos se debe tener en cuenta donde comienza y donde termina

cada bit en la señal recibida. Además de conocer el inicio y el final.

La velocidad en la que son transmitidos los bits esta expresada en bits por segundo o

Baudios. (Se escogieron 9600 baudios para nuestro sistema)

La transmisión de los bits se efectúa de forma asíncrona, debido a que no existe reloj para

la transmisión

La frecuencia de la señal asíncrona con la que se muestran los bits es mucho mayor que la

frecuencia de la señal en la cual se encuentran los bits que se desean transmitir

Bit de inicio:

Se mantendrá un “1” lógico mientras no exista transmisión de los bits. Pero cuando se va a

iniciar la transmisión se cambia a un “0” lógico durante un tiempo de bit, y después de este

cero, empieza la transmisión de los bits, sean 1´s o 0´s, que en nuestro caso serán 8 bits.

(Se envía primero el bit menos significativo) el bit de final es un”1”.

Para recibir los datos, es necesario que en el receptor exista un reloj con la misma

frecuencia del transmisor. Además de que reconozca el patrón para el ingreso del primer

bit.

También es necesario el uso de un adaptador que convierte los voltajes del computador en

voltajes lógicos, para esto se recomienda el adaptador MAX232.

RECOMENDACIONES A TENER EN CUENTA PARA EL MANEJO DE LA SEÑAL DE

ENTRADA

Lo más recomendable es tomar los bits en la mitad del pulso que se trasmite, para de esta

manera asegurar que no se tome en un flanco de subida o de bajada.

Page 2: Diseño  Sistemade Riego

Se recomienda trabajar con la frecuencia de 9600 bauidos que suministra el puerto RS232.

1

9600= 104µ

Con esta frecuencia, se tiene que el ancho de un pulso es de 104 𝜇𝑠. Con la frecuencia del

reloj de la tarjeta se obtiene que el ancho de un pulso de reloj es de 20 ns.

Con estos valores, podemos sacar una relación de la duración de los pulsos.

104 𝜇

20 𝑛𝑠= 5200

Es decir que hay 5200 pulsos de reloj en un pulso del puerto RS232.

Sabemos que la señal siempre está en 1 si no se está transmitiendo ningún dato, entonces

cuando cambie a cero indica que este es el bit de inicio. Para distinguir este bit de inicio, se

realiza un contador hasta 2600 pulso de reloj, porque es solamente hasta la mitad de un

pulso del puerto RS232.

Después de distinguir el bit de inicio, realizamos un contador de 5200 pulsos de reloj para

asegurar que los datos se tomen en la mitad del pulso. Esto se debe realizar 8 veces para

tomar los 8 bits de cada carácter. Cuando finalice el contador de 8 bits, se reinicia la toma

de datos, y se queda esperando nuevamente a que la señal del puerto RS232 cambie de

alto a bajo para tomar los bits del siguiente carácter.

Protocolo de comunicación:

Se debe tener en cuenta que el sistema capturará los datos enviados desde el computador

y los guardara en un registro, de la siguiente forma: cada vez que el usuario procede a

digitar una tecla en el computador esta es generada en código ASCII y envía su

equivalencia en binario a través del puerto. ( se anexa nuestra tabla de equivalencias

entre ascii y binario ).

Page 3: Diseño  Sistemade Riego

ASCII Binario cultivos

A 0-1000001 cultivo1

B 0-1000010 cultivo2

C 0-1000011 cultivo3

D 0-1000100 cultivo4

tabla horas binario

0 0-0110000

1 0-0110001

2 0-0110010

3 0-0110011

4 0-0110100

5 0-0110101

6 0-0110110

7 0-0110111

8 0-0111000

9 0-0111001

e 0-1100101

f 0-1100110

g 0-1100111

h 0-1101000

i 0-1101001

j 0-1101010

Page 4: Diseño  Sistemade Riego

k 0-1101011

l 0-1101100

m 0-1101101

n 0-1101110

o 0-1101111

p 0-1110000

q 0-1110001

r 0-1110010

s 0-1110011

t 0-1110100

duración binario

t 0-

1110100

u 0-

1110101

v 0-

1110110

TABLA DE EQUIVALENCIAS:

HORA EQUIVALENCIA EN EL SISTEMA

1 HORA 3 SEGUNDOS

24 HORAS 72 SEGUNDOS

DIAGRAMA DE BLOQUES ACTUALIZADO:

Page 5: Diseño  Sistemade Riego

EXPLICACIÓN DE LAS SEÑALES DE ENTRADA Y SALIDA DE LOS BLOQUES:

Control_conting: Es la señal encargada de indicar si ya ingresaron los 32 bits

correspondientes a los cuatro tipos de cultivo que maneja el sistema, donde para cada

cultivo vienen asignados 8 bits, cuando esto ocurre, en el bloque contador ingreso se

procede a realizar un conteo. Posteriormente el conteo en este bloque vuelve a aumentar

con el ingreso de los 32 bits correspondientes a la hora. Finalmente ocurre un aumento más

cuando ingresan los 32 bits correspondientes a las duraciones asignadas para cada cultivo.

Conting_control: Esta señal controla los 96 bits que ingresan al registro serie paralelo.

También controla el conteo del bloque contador ingreso y este bloque le avisa a control

cuando se completa el ingreso de los 96 bits.

Guardar: Es la señal encargada de controlar el paso de serie a paralelo de los datos

correspondientes a la rutina en el registro serie paralelo.

Selección: Es la señal que determina que rutina se está llevando a cabo, pues para la

rutina número 1 se procede con la selección de los 8 bits correspondientes a un tipo de

cultivo particular. Para la rutina número dos se proceden a escoger los 8 bits asociados a

la hora y finalmente para la rutina número 3 se escogen los 8 bits asociados a la duración

de un cultivo particular.

Horainicio_comparador: Esta señal permite que sólo se habilite la hora de interés (en la

que se encuentra el sistema) para proceder con la comparación de los bits correspondientes

a la hora de inicio para el riego de un cultivo en particular.

Control_hora: Es la señal encargada de reiniciar el sistema una vez pasan las 24 horas o

recién se programa la tarjeta.

Page 6: Diseño  Sistemade Riego

Control_cultivoactual: Es la señal que permite la visualización del cultivo de interés

mediante el uso de un led.

Control-Contadorled: Es la señal que se encarga de controlar cuanto tiempo dura el led

prendido

Fin_cultivo: Es la señal que se encarga de avisar al bloque de control que el conteo de

duración para el cultivo de interés ya ha finalizado.

Horain: Es la señal que se encarga de habilitar el ingreso de los 8 bits correspondientes a

la hora de inicio asociada para un cultivo particular.

RegistroSP_RegistroRC: Es la señal que habilita el paso de los 96 bits ya organizados en

paralelo al bloque de registro de rutina de cultivos.

DCG_CultivoActual : Es un vector de 4 bits que permite identificar el cultivo de interés

sobre el cual se está realizando el riego en una hora particular.

Codificador_comparador: Es la señal que permite la comparación entre la hora en la que

se encuentra el sistema y la hora dispuesta para el riego de un cultivo particular ya

codificada.

BLOQUES DEL SISTEMA:

Bloque de control: Es uno de los bloques más importantes del sistema, pues recibe la

señal EN entrada Y partir de ésta autoriza el ingreso de datos en serie (la señal entrada

rutina de 72 bits). Este bloque es el encargado de autorizar el almacenamiento y paso de

la información de los cultivos que va entrando en serie a paralelo mediante la señal guardar,

y así disponer de los bits asociados al tipo de cultivo , hora y duración para su posterior

comparación y conteo. (Este proceso se detalla en la explicación del funcionamiento

del sistema). Además de lo anterior, este bloque controla el almacenamiento de los bits

que dan información sobre el tipo de cultivo y su duración en el bloque de duración cultivo

guardar y así permite la comunicación con el led de duración y el led de cultivo.

Registro serie – paralelo: Este bloque recibe la entrada rutina de 72 bits, correspondientes

a un cultivo con sus 4 horas y sus 4 duraciones asociadas. Este bloque se comunica

directamente con el bloque de control pues en un momento dado procede al

almacenamiento en paralelo una vez hayan ingresado la totalidad de datos, es decir los 4

Page 7: Diseño  Sistemade Riego

cultivos, además que la lectura de los datos que recibe está regida por la señal de EN

entrada.

Registro rutina cultivos: Este bloque es el gran registro donde todos los datos

correspondientes a cada cultivo están organizados en paralelo y dispuestos a comparación

para saber si se procede con el riego de un cultivo en particular o no y cuál va a ser la

duración de este riego.

Comparador : Este bloque recibe los 8 bits correspondientes a una hora específica para

un cultivo determinado ( se tiene en cuenta que son 4 horas posibles para cada cultivo

, lo que sucede es que no se reciben los 32 bits al tiempo para comparación ) , apenas

encuentra una coincidencia entre la hora ingresada por el usuario y la hora dada por el reloj

del sistema , deja de seguir comparando y se activa , generando así señales de activación

para el contador de duración de riego del cultivo y para el led que indica que tipo de cultivo

es , entre los 4 posibles.

Contador led: Es un contador representado por un led que recibe los 8 bits

correspondientes a la duración de un cultivo y dura prendido ese tiempo. Sólo se activa

cuando comparador es igual a 1, es decir cuando se ha encontrado coincidencia entre las

horas.

Led cultivo: Este led indica que tipo de cultivo es el que se está regando, su activación

depende de la activación del comparador y de los 8 bits correspondientes al tipo de cultivo.

Inicio-hora: Este bloque es el reloj del sistema, su activación se da cuando han ingresado

la totalidad de datos al sistema, es decir los 4 cultivos. Lo anterior se verifica mediante el

contador ingreso, pues cuando éste es igual a cuatro este bloque se activa. El conteo en

este bloque viene dado en formato militar, es decir desde las cero horas hasta las 24 horas.

Contador ingreso: Este contador es el que verifica que entren la totalidad de datos al

bloque de registro serie paralelo, y avisa a control sobre eso, pues si contador no es igual

a 4 no se activa el reloj del sistema y por tanto es imposible iniciar la comparación.

Duración cultivo guardar: Este bloque se comunica directamente con el led de duración

y con el led de tipo de cultivo, una vez se encuentra coincidencia entre las horas en el

bloque de comparación.

EXPLICACIÓN DEL FUNCIONAMIENTO GENERAL DE NUESTRO SISTEMA

Primero se tiene la señal enable (EN) entrada (explicada previamente en la parte de

comunicación), que entra al bloque de control. Desde este bloque se avala la lectura de

datos, así a nuestro primer bloque (registro serie paralelo), entran en serie 72 bits (señal

rutina en nuestro diagrama de bloques) que están asignados de la siguiente manera: 8

bits correspondientes al cultivo, 32 bits correspondientes a la hora y 32 bits

correspondientes a la duración. En este orden de ideas, cada 24 bits se tiene la información

de un cultivo con su respectiva hora de riego y duración. Cabe resaltar que la entrada de

datos debe ser de esta manera; primero los 8 bits correspondientes al cultivo,

posteriormente los 32 bits correspondientes a las 4 horas posibles para el riego del cultivo,

y seguido a esto los 32 bits correspondientes a la duración de riego del cultivo (en nuestro

sistema la duración está en horas, para ello es necesario referirse a nuestra tabla de

Page 8: Diseño  Sistemade Riego

equivalencias). Así se cumple a cabalidad con la condición de realizar el riego mínimo 4

veces al día. A continuación se despliega la demostración grafica para el ingreso de datos:

C,h0,h1,h2,h3,d1,d2,d3,d4 , donde C , corresponde al cultivo y es de 8 bits , h0,h1,h2,h3

son las 4 horas posibles para el riego y son de 8 bits cada una . Finalmente d1, d2, d3, d4

corresponden a las duraciones y son de 8 bits cada una. Después del ingreso de datos , en

nuestro sistema se procede a revisar el bloque contador, en este bloque , el conteo será

igual a 1 cada vez que pasen 72 bits , es decir cada vez que se tenga la información

completa de un cultivo con sus 4 horas de riego posibles y sus 4 duraciones ingresadas.

Cuando el conteo es igual a 4 (es decir se han recibido los datos correspondientes a

los 4 cultivos), desde el bloque de control va una señal dirigida al bloque de registro serie

paralelo llamada guardar que autoriza que toda la información recibida en serie sea

almacenada en paralelo. Este gran registro nuevo es el que tiene por nombre: registro rutina

cultivos. Aquí se encuentran almacenados separadamente cada uno de los cultivos, con

sus respectivas 4 horas posibles de riego y sus 4 duraciones. Cabe resaltar que en el bloque

contador cuando el conteo es igual a 4 (cont=4), el reloj de nuestro sistema inicia (se

maneja hora militar, yendo de 0 a 24). Posterior a esto se procede con la comparación,

para ello desde el bloque de control salen 3 señales: cultivo, duración y hora; las cuales

permiten obtener los 8 bits correspondientes a cultivo, los 8 bits asociados a una hora

definida para este cultivo (se tienen 4 posibles horas), y los 8 bits asociados a la duración

de ese cultivo particular (se tienen cuatro posibles duraciones). De aquí salen los 8 bits

correspondientes a una hora particular para un determinado cultivo hacia el bloque

comparación (con esto se debe tener en cuenta que no pueden haber dos horas

iguales para el riego de dos cultivos distintos en pro de facilitar el funcionamiento

general de nuestro sistema). Cuando el comparador encuentra coincidencia entre la hora

actual (de acuerdo al reloj del sistema) y la hora definida para el riego del cultivo, toma el

valor de 1 y ya se sabe de antemano a que cultivo corresponde y que duración tiene.

También , cuando comparador es igual a 1 , se activa un contador que se podrá visualizar

con un led , el cual arroja información sobre el tiempo que dura el riego (duración) , por

tanto ese contador recibe la información encontrada para la duración del cultivo

correspondiente (los 8 bits de duración). Lo anterior proviene de la interacción entre el

bloque de duración y cultivo y los contadores representados por led´s tanto para duración

del cultivo como para el cultivo que corresponde. Así, el led cultivo y el contador led (en

el diagrama de bloques), sólo cuentan o se activan cuando comparador es igual a 1, es

decir cuando la comparación de hora si coincide y por tanto se puede identificar un cultivo

particular de los ingresados al sistema. Cuando el led de duración se apaga envía una

señal a control indicando que se proceda con una nueva comparación de hora, finalmente

nuestro sistema se reinicia una vez pasen las 24 horas (en nuestra tabla de equivalencias

se explica a que equivalen 24 horas).

Restricciones del sistema:

El Sistema de riego contará con un reloj interno en el que 1 hora equivale a 3 segundos, el

cual se realizara con hora militar iniciando en 0 hasta 24, SOLO horas en punto.

Los caracteres que se pueden utilizar serán SOLO los especificados en la tabla ascii –

binario mencionada anteriormente

Page 9: Diseño  Sistemade Riego

La duración de riego será entre 1 y 3 segundos lo cual equivale a entre 20 minutos y una

hora

Para ingresar los datos se ingresaran cultivo, 4 – horas y 4 duraciones las cuales se

relacionan uno a uno (hora y duración) esto se realiza 4 veces.

No se pueden ingresar 2 horas de riego iguales para ningún cultivo

Si alguno de estos parámetros no se cumple el sistema no va a funcionar y por lo tanto

obligatoriamente se debe reiniciar el sistema