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.
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 ).
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
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:
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.
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
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
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
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
Top Related