Control de Bomba de Pozo.

Anuncio
Control de Bomba de Pozo.
TITULACIÓN: E.T.I.E.I.
AUTOR: José Julián Fernández.
DIRECTOR: Xavier Maixé.
FECHA: Junio / 2007.
1
1
Índice.
2. Memoria Descriptiva...................................................................................5
2.1. Objeto del Proyecto..............................................................................................5
2.2. Tipos de Bombas..................................................................................................6
2.2.1. Importancia del Nivel Mínimo......................................................................7
2.2.2. Grupos de Presión Constante.........................................................................8
2.2.3. Instalaciones con Bombas de Pozo Profundo................................................9
2.3. Electroválvulas.............................................................................................................. 9
2.4.Tipos de Arranque. ......................................................................................................10
2.5.Detección de Niveles. ...................................................................................................11
2.5.1 Justificación de Detección con Sondas...............................................................13
2.5.2 Alimentación de las Sondas.................................................................................13
2.5.3. Resistencia Entre las Sondas..............................................................................14
2.5.4. Capacitancia de las Sondas.................................................................................16
2.5.5. Sensibilidad del Sistema......................................................................................19
2.5.6 Determinación de Estado de un Recipiente.........................................................20
2.5.7. Funcionamiento del Control de Niveles para Llenado de Aljibe
Desde Pozo (Trasvase)............................................................................... 20
2.5.8 Explicación del Circuito Detector de Nivel.........................................................21
2.5.9 Diagrama de Bloques del Detector de Nivel........................................................22
2.6. Alimentación................................................................................................................27
2
2.7. Microcontrolador........................................................................................................28
2.7.1. Intento Inicial con Integrador Clásico...............................................................28
2.7.2 Elección del PIC 16F876.....................................................................................31
2.7.3 módulos internos del 16F876 usados en el proyecto..........................................32
2.7.3.1. Módulo Timer 0. ........................................................................................33
2.7.3.2.Módulo Convertidor Analógico/Digital (A/D) ...........................................34
2.7.3.3.MODULO CCP CAPTURA / COMPARACIÓN / PWM...........................34
2.7.4 Uso de Microcontrolador en el Proyecto..............................................................36
2.8. Etapa de Potencia........................................................................................................37
3. Proceso de Diseño del Prototipo...............................................................38
4. Memoria de Cálculo..................................................................................39
4.1. Cálculos de Etapa de Potencia. ........................................................................39
4.2. Cálculos de Fuente de Alimentación. ..............................................................41
4.3. Cálculos de Detección de Nivel. .......................................................................43
5.Código Fuente. ...........................................................................................44
6. Planos..........................................................................................................57
6.1. Esquemáticos. ...................................................................................................57
6.1.1. Esquema de Fuente de Alimentación. .........................................................57
6.1.2. Esquema Detección de Nivel. ......................................................................58
6.1.3. Esquemático Microcontrolador....................................................................59
3
6.1.4. Esquemático de Etapa de Potencia. .............................................................59
6.2. Diseño de Placas de Circuito Impreso.............................................................60
6.2.1. Placa de Circuito Impreso de la Fuente de Alimentación..........................60
6.2.2.Placa de Circuito Impreso de Detección de Nivel.........................................61
6.2.3.Placa de Circuito Impreso de Microcontrolador...........................................63
6.2.4 Placa de Circuito Impreso de de Etapa de Potencia. ...................................64
6.3. Prototipo Para demostración...........................................................................65
7.Presupuesto.................................................................................................66
4
2
Memoria Descriptiva.
2.1
Objeto del Proyecto.
El objeto del presente proyecto “Control de una bomba de pozo” nace la de la
experiencia laboral del alumno en el campo de instalación y mantenimiento de grupos de
presión durante varios años.
Durante este tiempo he podido comprobar lo dificultoso que se hace para muchas
personas el poder realizar la interconexión de los distintos elementos que componen el
sistema eléctrico de control de una bomba; así como el alto coste que ésto representa.
De ello nace la idea del diseño de este producto, que simplifica y abarata de
manera notable el sistema consiguiendo que cualquier persona pueda realizar su instalación
sin tener graves problemas en lo referente a la compatibilidad de elementos tales como
relés de detección de nivel, arrancadores suaves, presostatos, detectores de nivel de boya,
programas de riego electrónicos, etc…
El objeto del presente proyecto es el de controlar el arranque y paro de una bomba
sumergible instalada en un pozo que rellena un aljibe. A fin de efectuar un arranque menos
agresivo sobre la bomba se puede arrancar de una manera lenta o en caso de ser necesario
en alguna aplicación se puede arrancar de manera brusca.
El rellenado del aljibe se hace de manera automática en función de su estado;
también se evita que la bomba trabaje en caso de que el pozo esté vacío a fin de evitar su
deterioro. La detección de los niveles del pozo y del aljibe se realiza mediante sondas;
debido a sus ventajas.
Se disponen de entradas para la activación de la bomba o por otros sistemas
(programador de riego, interruptor manual, presostato etc...)
5
Figura 1. Diagrama de bloques del proyecto.
2.2
Tipos de Bombas.
El tipo de bomba al que va dirigido el proyecto es de accionamiento eléctrico. Los
motores pueden ser tanto monofásicos como trifásicos. Los motores monofásicos son los
más representativos puesto que no se suelen requerir grandes potencias para el trasiego de
agua en el sector doméstico o agrícola; es por ello por lo que el presente proyecto va
destinado a este tipo de bombas.
Así mismo por el tipo de bomba pueden clasificarse en peristálticas, de pistón,
engranajes, de membrana, y las usadas en el sector doméstico que son las centrífugas
En cuanto al tipo de instalación de la bomba pueden ser sumergibles si la bomba
está dentro del recipiente o autoaspirantes; en caso de que la bomba esté fuera del depósito;
independientemente de que la columna de agua esté por encima o por debajo de la bomba.
6
Figura 2. Ejemplos de bombas autoaspirantes.
Las bombas sumergibles pueden ser del tipo de achique, que son empleadas para
vaciar un depósito donde se requiere un caudal grande pero no hay necesidad de presión; y
las bombas de pozo profundo que son las que se usan para abastecer de agua con cierta
presión (entre 2 y 12 kg/cm2) para usos domésticos o agrícolas.
Figura 3. Bombas sumergibles para pozo.
Figura 4. Bomba de achique en baño de
aceite (para desecación total).
2.2.1
Importancia del Nivel Mínimo.
El calor generado por el roce del rodete con la carcasa de la bomba se disipa con
el fluido a trasegar; es por ello por lo que una bomba no puede funcionar de manera
prolongada en vacío ya que al no circular líquido no se refrigera y por ello se dañará.
Las bombas autoaspirantes se refrigeran con el líquido que impulsan, mientras que
las sumergibles lo hacen al estar sumergidas bajo el nivel del líquido.
De ahí viene la importancia de evitar que la bomba trabaje sin líquido; y la
necesidad de controlar el nivel mínimo del pozo para asegurar el buen funcionamiento de
la bomba.
Una excepción a ésto son las bombas de desecación total. Estas bombas son
sumergibles y están pensadas para llegar a vaciar totalmente un recipiente; por ello en el
momento del vaciado total dejan de estar cubiertas del líquido y podrían averiarse por no
7
refrigerarse con el fluído a trasegar. Para evitar ésto este tipo de bombas están inmersas en
un baño de aceite (en el interior de la carcasa) que las refrigera constantemente; con
independencia del nivel del depósito.
2.2.2
Grupos de Presión Constante.
La manera de automatizar el arranque y el paro de una bomba en función de la
presión de la red se realiza mediante la instalación de un grupo de presión.
Constan básicamente de una bomba que aspira agua de un depósito, de un
presostato que abre o cierra unos contactos eléctricos en función de la presión de la
impulsión (red) y de los valores a los que se ajusta; y de un acumulador de agua (o
calderín) que contiene una vejiga elástica que mantiene cierto volumen de agua presionada.
Figura 5. Grupo de presión constante.
Cuando abrimos un grifo la presión desciende y el presostato hace arrancar la
bomba. Una vez la presión ha subido el presostato desconecta la bomba.
Es importante efectuar un buen ajuste de la histéresis del presostato para evitar
frecuentes arranques y paros de la bomba para evitar que sufra así como para evitar gasto
de corriente eléctrica y fluctuaciones en la presión de la red de agua.
En general se suele evitar la instalación de una bomba de pozo para alimentar un
grupo de presión; con objeto de evitar arrancarla y pararla constantemente ya que tal y
como explicará más adelante esto es especialmente perjudicial para bombas de pozo.
2.2.3
Instalaciones con Bombas de Pozo Profundo.
Estas bombas se instalan en los pozos de agua con el fin de captar el agua de las
corrientes freáticas; dependiendo del lugar donde se instalen pueden estar instaladas a más
de 250m de profundidad.
8
Estas bombas están colgadas de la propia manguera de impulsión, que suele tener
diámetros de entre 1” y hasta 12”. Para diámetros de hasta 2” se suele utilizar tubería de
polietilieno o manguera fabricada de textil, siendo esta última mucho más costosa tanto por
el precio de la manguera como por los accesorios de acoplamiento.
Para tamaños más grandes de bombas (superiores a 2”) la impulsión se realiza
mediante una tubería bridada de acero galvanizado; por ello la bomba no se mueve tanto en
las operaciones de arranque o paro. De esta manera el arranque suave se hace menos
necesario en grandes potencias.
Figura 6. Instalación típica de bomba de pozo y sondas.
Como medida de seguridad la bomba se ata una cuerda de poliéster (a fin de
prevenir su deterioro por estar inmersa en agua) con objeto de poder recuperar la bomba en
caso de rotura de la manguera de impulsión. Esta cuerda debe estar tensa, pero la
soportación de la manguera se efectúa sobre la tubería de impulsión.
Para la detección de los niveles se colocan tres sondas encintadas sobre la propia
manguera de impulsión; con el fin de que los cables no entorpezcan la maniobra de
introducir o sacar la bomba los cables también se encintan sobre la manguera.
Los cables de alimentación de la bomba deben ser de aislamiento de 1KV, debido
a la necesidad de aislamiento dentro del agua. Las bombas suelen venir con 15m de cable
por lo que suele ser necesario el hacer un empalme en este cable. Para realizar este
empalme se debe hacer uso de un kit de empalme especial que permite su inmersión en
agua.
9
Figura 7. Empalme de cable eléctrico para inmersión.
Dado que la bomba de pozo está colgada de la manguera cada vez que arranca y
para da un tirón; no sólo como consecuencia del posible golpe de ariete de la instalación
sino también por no estar fijada en ningún punto. Este tirón hace que la bomba golpee
contra las paredes del pozo en cada arranque o paro.
Además estas bombas deben suministrar la presión necesaria para la instalación
(que suele ser de unos 3Kg/cm2) y la necesaria para elevar el agua hasta la superficie, lo
que hace que se requieran mayores potencias.
También el coste de tanto de mantenimiento de las bombas de pozo es superior
debido a la necesidad de sacar y meter la bomba en el pozo; y por requerirse realizar las
reparariones por el servicio oficial de la marca por exigirse una estanqueidad perfecta cada
vez que la bomba se repara.
Por ello se suele instalar una bomba de pozo que mantenga el nivel de un aljibe y
un grupo de presión que suministre la presión a la instalación. Dado que el grupo de
presión suele ser algo compacto no se trata en este proyecto.
Figura 8. Instalación típica de bombeo de agua desde pozo profundo.
10
Así este proyecto contempla esta posibilidad, la de rellenar un aljibe controlado
por un detector de nivel así como la de la protección de la bomba de pozo en caso de falta
de nivel en el pozo. También se incluye la posibilidad de efectuar el arranque desde otros
consumidores (programador de riego, manual, etc…) de la bomba del pozo tanto de
manera progresiva, o inmediato en función de la necesidad, a efectos de aumentar su vida
útil.
En el caso de desear llenar el aljibe, una piscina o de efectuar riego por goteo es
posible usar un arranque progresivo porque la necesidad de presión no es inmediata.
Pero en el caso de que la bomba del pozo alimentara directamente a una
instalación de riego por aspersión sí que se requiere una presión inmediata debido a que tan
pronto se abre la electroválvula del sector de riego se debe asegurar una gran presión y
caudal en el mismo instante; de lo contrario el haz de agua comenzaría a regar a poca
distancia del aspersor y ésta iría aumentando progresivamente de distancia hasta llegar al
punto nominal de trabajo de la bomba; encharcando el área cercana a los aspersores.
Otro caso en el que se puede requerir un arranque inmediato es en el que la bomba
de pozo formara parte de un grupo de presión. En caso de tener un acumulador
suficientemente grande podríamos efectuar un arranque suave; pero si el volumen que se
acumula es poco será necesario el arrancar la bomba de manera rápida para mantener la
presión de la red constante; aunque esta posibilidad tal y como se ha comentado antes no es
la más adecuada se deja a elección del cliente.
2.3
Electroválvulas.
Dado que la bomba del pozo puede ser arrancada desde otros consumidores de agua
(aunque en una buena instalación no es lo deseable como se ha explicado antes) se podría
dar el caso de que la bomba arrancara a solicitud de un programador de riego; y como la
impulsión de la bomba es la misma para llenar el aljibe y para el sistema de riego el agua
solicitada para regar llenaría el aljibe hasta desbordarlo; puesto que el control de nivel del
aljibe no actuaría al no haber accionado la bomba por petición del aljibe.
Para evitar esto se propone la instalación de una electroválvula que solo permite
la entrada de agua al aljibe si éste está vacío. Obviamente el sistema de riego está
controlado por unas electroválvulas que impedirían la llegada de agua a los aspersores en
caso de que la línea de impulsión esté presionada por motivo del llenado del aljibe.
11
Una electroválvula tiene dos partes fundamentales: el solenoide y la válvula. El
solenoide convierte energía eléctrica en energía mecánica para actuar la válvula.
Existen varios tipos de electroválvulas. En algunas electroválvulas el solenoide actúa
directamente sobre la válvula proporcionando toda le energía necesaria para su
movimiento; pero lo más habitual es que el solenoide permita la entrada de la presión de
entrada a la válvula a una menbrana y que ésta abra o cierre por la presencia o ausencia de
esta presión. De esta manera el solenoide solo debe abrir u obturar un orificio de unos
2mm; por ello el mismo solenoide se puede usar con independencia del tamaño de la
electroválvula.
De manera habitual el solenoide debe estar activado y consumiendo potencia
mientras la válvula deba estar abierta.
Figura 9. Electroválvula típica riego.
Las electroválvulas que se usan en el sector de la jardinería suelen ser de
medidas de entre ¾” y 1 ½”; siendo el solenoide el mismo para todas ellas, ya que el
solenoide solo permite depresionar la cámara de entrada por un pequeño orificio,
independientemente del diámetro nominal de la electroválvula.
El solenoide más habitual es de alimentación a 24Vac y de un consumo de 300mA.
2.4
Tipos de Arranque.
Este proyecto está destinado al control de una bomba de pozo profundo. Estas
bombas no están soportadas a ningún elemento fijo, sino que simplemente están colgadas
de la propia manguera de impulsión.
Las mangueras de impulsión son flexibles hasta un tamaño de 4”. Por ello y dado
que las bombas pueden estar colgadas a una profundidad de más de 200m a la hora de
conectarlas o desconectarlas pegan un golpe sobre la pared del tubo del pozo (los
diámetros son solo de entre 200 y 500mm).
12
Por ello, si la aplicación lo permite, es preferible arrancar la bomba de manera
progresiva. De esta manera la bomba arranca y para de manera más suave evitando golpes
en la bomba contra las paredes del tubo así como reduciendo las vibraciones y golpes de
ariete en la manguera de impulsión que afectan al resto de instalación.
En alguna aplicación tal como el riego por aspersión no es posible el arranque
suave de la bomba ya que si se hiciera de esta manera el aspersor comenzaría a regar con
poca presión al inicio y por ello se encharcaría la zona cercana a él (ésto también sucede en
arranques estrella-triángulo de bombas trifásicas).
Otra aplicación donde no es posible el uso de este tipo de arranque es en el supuesto
de que la bomba de pozo alimente a un grupo de presión constante que tenga un bajo
volumen de acumulación de agua; al bajar la presión de la red por debajo del límite se
requiere suministro de presión de manera inmediata, lo cual no se consigue arrancando la
bomba de manera lenta. En el caso de que el grupo de presión tuviera un elevado pulmón
de agua se podría jugar con el ajuste de la presión para arrancar de manera lenta.
2.5
Detección de Niveles.
Esta parte es la encargada de determinar si el nivel del pozo permite el arranque de la
bomba así como el estado del aljibe.
Para ello se disponen de cuatro ramas que detectan la resistencia entre sondas; si
el valor de la resistencia es más alto de la consigna es porque el nivel no cubre la sonda, si
por el contrario la resistencia es más baja que el nivel de umbral es porque el nivel cubre la
sonda.
Estas cuatro ramas se conectan al microcontrolador que tiene implementado
un algoritmo que determina, tanto con el estado de las sondas como con el estado anterior
del recipiente el estado actual.
2.5.1
Justificación de Detección con Sondas.
La detección de niveles se puede lograr de varias maneras. Una de las maneras más
difundidas es la instalación de un interruptor de nivel que pende del propio cable de los
contactos. A poca distancia de mecanismo de conmutación se sitúa un peso que hace que
con el nivel alto el interruptor flote y se cierren los contactos de alto nivel; al llegar a faltar
nivel de líquido se produce otra conmutación y se cierran los contactos de bajo nivel.
13
Figura 10. Interruptores de nivel tipo boya.
Este tipo de detectores u otros similares están descartados en la detección de nivel
del agua en un pozo ya que para que este interruptor trabaje libremente es necesario el
contar con un espacio adecuado para que éste trabaje o para instalarlo. En los sondeos se
puede llegar a encontrar diámetros desde tan solo de 100 hasta 600mm, evidentemente con
estas medidas el interruptor de nivel quedaría atascado con la manguera de impulsión y el
cable de alimentación de la bomba.
Figura 11. Llenado de depósito desde pozo.
En el caso del aljibe sí que es posible la instalación de un interruptor de nivel de tipo
boya, pero el ajuste de los niveles superior e inferior se hace un poco complejo puesto que
se debe jugar con la posición del contrapeso del cable, y a veces no seremos capaces de
conseguir los niveles deseados (o será muy dificultoso), sino que nos deberemos ajustar a
los márgenes de los interruptores tal y como se ve en la figura 11.
Es por ello por lo que haremos uso de un sistema de detección por sondas. Estas
sondas son unos electrodos que se sitúan en el recipiente con su extremo al nivel deseado
del líquido a detectar.
14
En la figura 12 se representa la instalación de estas sondas. Las sondas están
fabricadas con un material conductor, habitualmente de inoxidable. Para su funcionamiento
se precisa que el líquido a controlar sea conductor puesto que a través de las sondas y del
líquido debe circular una corriente eléctrica hacia el circuito electrónico; por lo tanto este
sistema de detección no funciona con líquidos aislantes.
Figura 12. Instalación de sondas en recipiente.
Este tipo de detectores se puede usar tanto para el vaciado de un pozo como para
el llenado de un aljibe. El funcionamiento del circuito para el caso de un pozo es el
siguiente:
Se instala una sonda en la parte inferior del pozo, ésta es la sonda común. Otra
sonda indicará el nivel mínimo y por encima se coloca la sonda de nivel alto. En caso de
que el nivel descienda por debajo de la sonda inferior en el pozo la bomba deberá pararse;
y no podrá ponerse en funcionamiento hasta que el nivel de agua no supere la sonda
superior.
La sonda superior puede situarse, en caso de un pozo, a un metro de la sonda de
bajo nivel con el fin de garantizar una histéresis entre el paro y el arranque de la bomba.
Este sistema también puede usarse para el llenado de un aljibe, haciendo que la
sonda de nivel bajo haga arrancar la bomba para llenar el aljibe y que ésta se pare al llegar
el nivel a la sonda de nivel alto.
2.5.2
Alimentación de las Sondas.
El Reglamento Electrotécnico de Baja Tensión en el apartado 2 de la instrucción
MIEBT021 sobre contactos indirectos indica que los sistemas alimentados con una tensión
de hasta 24V no es necesario instalar sistema de protección contra contactos indirectos.
15
Si la alimentación de las sondas fuera de corriente continua se daría lugar al efecto
de electrolisis, lo que haría que se depositaran sales (calcarización) entre ellas. Esto
dificultaría la detección del nivel provocando averías.
Es por ello por lo que la alimentación de las sondas se hará mediante 24V de
corriente alterna tomados del secundario del transformador de la fuente de alimentación.
2.5.3
Resistencia Entre las Sondas
En caso de que ambas sondas estén por debajo del nivel la resistencia entre ellas
dependerá de la resistividad del líquido y de la distancia entre electrodos; así como por la
resistencia del cable que conecta las sondas.
La resistencia de los cables es despreciable, para justificarlo supondremos que se
las sondas se sitúan a 1Km del circuito, y se usa cable de cobre de 1mm2
l
Ωmm 2 1000m + 1000m
R = ρ * = 0.01754
*
= 35Ω (1)
s
m
1mm 2
Se debe tener en cuenta que las sondas se conectan a dos cables y por ello de la
longitud del cable es el doble.
Como hemos visto tenemos una resistencia de 35? , lo cual es despreciable
comparado con los valores de resistencia de los líquidos que se muestran en la tabla de
resistencias de líquidos; tengamos en cuenta que los detectores comerciales varían su valor
umbral entre los 10K? y los 200K? .
En caso de que el nivel del pozo no llegue cubrir a la sonda superior el valor de la
resistencia entre ellas sería teóricamente de infinito; pero en la práctica es muy posible que
este valor no sea infinito debido a la humedad del propio pozo.
En el caso de que la sonda esté cubierta de líquido el valor de la resistencia
dependerá de la separación entre ellas, de la superficie de contacto de la sonda con el
líquido a medir y de la propia resistividad del líquido.
Si se desea tener una idea inicial de la resistencia que puede haber entre dos
sondas no podremos hacer uso de un óhmetro puesto que la conducción es iónica; pero
16
podemos tener una idea aproximada realizando unos cálculos tomando los valores de la
tabla 1.
Si la instalación tiene 1m entre sondas, las sondas usadas son cilíndricas y con una
longitud de 100mm y un diámetro de 10mm (superficie de 10cm2) y en la que quiere
controlarse agua potable (con 5K? /cm según la tabla 1.) la resistencia entre sondas sería
de:
R = Re sistividad _ del _ fluido *
R=
cm 
dis tan cia _ entre _ sondas 
Ω * cm * 2  (2)

sup erficie _ de _ contacto 
cm 
5000 *100 
cm 
Ω * cm * 2  = 50 KΩ

10
cm 

El caso de que la sonda esté cubierta por el líquido se puede considerar una
resitencia entre sondas de 5KO.
En la tabla se muestran valores de resistividad (en ? /cm.) de ciertos líquidos a fin
de poder analizar el valor límite de detección.
Líquido y Concentración
Resistividad (? )
Acetato Sódico
15-18
Acido Acético
600- 1K3
Ácido Clorhídrico 5-40%
1-5
Acido Nítrico 5-60%
1-5
Ácido Sulfúrico 5-50%
1-10
Agua Destilada
20k-200k
Aguas Potables
2k-20k
Carbonato Potásico 5-40%
2-10
Carbonato Sódico 5-415%
10-20
Nitrato Amónico
3-20
Nitrato de Magnesio 10-17%
10-12
Nitrato de Plata 10-60%
5-20
Nitrato Potásico 10%
5-12
Sulfato de Cobre 2-17%
20-100
Sulfato Potásico 10%
12
Tabla 1. Resistividad de algunos fluídos.
17
2.5.4
Capacitancia de las Sondas.
En algunas aplicaciones el tendido de los cables puede ser muy largo, lo que al
ser alimentado con corriente alterna puede originar que entre cada par de cables exista una
capacidad parásita.
Figura 13. Capacidad en tendido de cables.
Esta capacidad origina una corriente de fuga entre las sondas aun cuando ésas no
están cubiertas por el nivel.
El problema de las capacidades parásitas puede solucionarse mediante el uso de
cables unipolares en lugar de una manguera tripolar ya que aumentamos el aislamiento
entre los conductores, incrementando de esta manera el aislamiento entre los conductores y
por ello disminuyendo la capacidad parásita. De cualquier manera las aplicaciones
habituales no suelen requerir más de 20 ó 25m de tendido de cable, lo que no suele ser
problemático.
18
2.5.5
Sensibilidad del Sistema.
La sensibilidad depende varios factores, el más importante es el de la resistencia del
fluido entre sondas; también afectan la resistencia de los cables de conexión, y la
capacidad parásita del cable.
También un pozo estrecho y húmedo puede requerir el ajuste de la sensibilidad
debido a la menor resistencia de la atmósfera húmeda.
En general para líquidos poco conductores (resistencia elevada) se deberá poner
el ajuste más alto que para líquidos más conductores (resistencia baja).
El sistema lleva un ajuste con el cual se puede regular el margen de resistencia
que se admite entre sondas. Aunque es fácil imaginar que tanto el depósito como el aljibe
contienen el mismo fluido se ha preferido colocar un sistemas de ajuste para cada
recipiente ya que en algunas aplicaciones es posible que el aljibe contenga el agua tratada
(abonos, pesticidas, cloro, medicamentos para animales etc…) y por ello la resistencia
pueda variar de un recipiente a otro.
En caso de trabajar con líquidos de gran resistividad podemos variar el montaje
instalando una segunda sonda “común” tal y como se muestra en la figura 14, de tal
manera que la columna de líquido a medir sea de unos centímetros con independencia de la
distancia entre niveles. En caso de usar un pozo entubado con un tubo de acero al carbono
es posible unir este encamisado con la sonda común, que a efectos prácticos es lo mismo.
Figura 14. Conexión sondas en líquidos de elevada resistencia.
19
Esta solución es más sencilla que otras, como por ejemplo el uso de sondas con
una mayor superficie de contacto, ya que no se requiere el uso de sondas especiales.
2.5.6
Determinación de Estado de un Recipiente.
En la instalación ideada existen dos recipientes, el pozo que puede secarse o
disminuir su nivel por debajo del nivel de la aspiración de la bomba del pozo del que mana
el agua y el aljibe que se deberá mantener con un nivel entre el bajo y el alto.
Para determinar si uno de estos dos recipientes está lleno o está vacío no solo se
mira el nivel instantáneo; si no que también se tiene que ver el estado anterior.
Así pues en caso de que el nivel descienda por debajo de la sonda de mínimo, se
determina que está vacío hasta que el nivel supera la sonda de nivel alto. Esto se hace de
esta forma para tener cierta histéresis entre un estado y otro; de manera que si se determina
que el pozo está vacío no se permita el arranque de la bomba hasta tener un cierto volumen
de agua que se pueda impulsar.
2.5.7 Funcionamiento del Control de Niveles para Llenado de Aljibe Desde
Pozo (Trasvase).
Se explica este supuesto ya que en él se usa el detector de nivel para las dos
posibles aplicaciones, control de pozo y control de depósito.
Al detectar falta de nivel bajo en el depósito se arrancará la bomba para sacar agua
del pozo y llenar el aljibe hasta que el nivel de éste llegue al máximo.
En el caso de que el pozo llegara a descender de nivel la bomba se parará para
evitar el trabajo en seco y se pondrá en marcha al llegar al nivel superior del pozo;
obligatoriamente el paro de la bomba por nivel bajo del pozo es prioritario ante cualquier
petición de arranque de la bomba.
20
Figura 15. Diagrama detección niveles con pozo y aljibe.
2.5.8
Explicación del Circuito Detector de Nivel.
Existen cuatro sondas a controlas que son los niveles alto y bajo tanto del aljibe
como del pozo; por ello existen cuatro ramas exactamente iguales. En estas ramas se
determina si la resistencia entre sondas es menor a la del valor ajustado como referencia
(sensibilidad). En caso de que una de estas ramas detecte una resistencia menor quiere
decir que el nivel del líquido cubre la sonda.
Estas cuatro ramas están conectadas directamente al microcontrolador, que tiene
que evaluar tanto el estado de las sondas como el estado anterior del recipiente para
determinar si está vacío o está lleno; tal y como se muestra en el diagrama de la máquina
sencilla de la figura 16.
21
Figura 16. Diagrama máquina sencilla.
2.5.9
Diagrama de Bloques del Detector de Nivel.
A continuación representamos el diagrama de bloques del circuito detector de nivel
que forma parte del proyecto.
Figura 17. Diagrama de bloques del detector de nivel.
22
A continuación se presenta una de las ramas de detección de nivel. Esta rama es la
misma para la detección del nivel alto o el bajo así como para de pozo o aljibe; por ello
solo se explicará el funcionamiento de una aunque en el proyecto se deben usar cuatro, una
para cada sonda.
Las sondas están situadas en los extremos de la RP (Resistencia de Pozo) y para
simular el funcionamiento se ha colocado dicha resistencia simulando la resistencia
detectada por las sondas. Esta resistencia debe estar entre 0-200K? en el caso de detectar
nivel.
Las sondas se alimentan con una tensión de 24VAC que se toma del secundario
del transformador a fin de alimentar con baja tensión; el uso de corriente alterna es
necesario a fin de prevenir el efecto de electrolisis que haría que se ensuciaran las sondas al
depositarse sales sobre las sondas.
Así pues hay un divisor de tensión formado por R2 y la resistencia entre
sondas (la del producto a medir); la tensión que hay entre sondas se introduce a un
amplificador de instrumentación de ganancia 1 formado por U7A, lo que evita problemas
de acoplamiento de impedancias y evita problemas de masas. La tensión de salida de dicho
amplificador de instrumentación se introduce a un rectificador.
Este rectificador está configurado como rectificador de precisión puesto que la
tensión de salida no se ve afectada por la caída de tensión de umbral del diodo, con el fin
de tener una tensión lo más precisa posible, debido a que trabajamos con márgenes de
tensión en los que una diferencia de 0,7V son importantes.
R5
R2
4
+12V
-
U7B
OUT
6
R6
-
11
+
71
2
D6
9
C111
22u
11
R3
2
11
680K
R111
100k 10
-
+
680K
+12V
+12V
R89
2K2
R112
R89
680
Figura 18. Rama de detección de nivel.
23
U7C
8
OUT
4
10K
680K
V-
OUT
RP
5
V+
1
V-
1n
4
+
V+
R9
V-
V1
3
V+
C10
U7A
+12V
680K
560K
R110
1k
De todas maneras este rectificador más que rectificar la señal de entrada lo usamos
para poder trabajar con el filtro RC formado por C11 y R111; ya que el motivo principal
del rectificador de precisión es que si no se colocara un diodo la tensión de salida del U7A
forzaría tanto la carga del C11 (que es lo que deseamos) como su descarga; por ello no
evitaríamos el rizado de la tensión; ya que el diodo conduce en caso de que la tensión del
C11 sea menor que la de salida del U7A, pero se queda en estado abierto en caso de que
sea mayor, por ello el rectificador facilita la carga del filtro pero impide su descarga cada
vez que la señal alterna comienza a disminuir su valor instantáneo.
Este filtro también nos evita el rizado de la señal a fin de tener una continua
totalmente estable; además como el C11 es de un tamaño considerable respecto al consumo
del U7C éste tardaría mucho tiempo en descargarse una vez se haya cargado. Esto hubiera
producido que al detectar nivel no reaccionara por no descargarse el C11. Así pues la
resistencia R111 hace que el C11 se descargue poco a poco; ralentizando los cambios
bruscos de señal. Esto será de utilidad en caso de que las sondas estén detectando falta de
nivel y una ola las moje durante un breve período de tiempo. El condensador C11 tardará
un tiempo en descargarse y por ello estabiliza el comportamiento del circuito. De manera
práctica se ha determinado que para una resistencia de 39K proporciona un retardo de 3
segundos, lo cual es un valor idóneo.
Así pues a la salida del filtro formado por R111 y C11 tenemos una señal continua
perfectamente estabilizada en función de la resistencia entre sondas.
En las simulaciones realizadas la tensión varía entre los 0.7V y los 9.8V en función
de que la resistencia entre sondas fuera de 10K? o 200K? (valores que se han fijado como
límites máximos de operación).
Esta tensión se compara con la de referencia formada por el divisor de tensión del
potenciómetro. De esta manera con el potenciómetro al mínimo la resistencia de disparo
del circuito es de 10K? que es el límite inferior de sensibilidad o bien de 200K? que
corresponde al límite superior.
La tensión en la entrada del comparador puede definirse como
Vcomp =
Rsonda
* 24V * 2
Rsonda + 680 KΩ
Así pues con los márgenes de 10k? y 200k ? . La tensión variará entre 0.6 y 8V
Dependiendo del ajuste de la sensibilidad necesaria el valor de la tensión de set
point deberá variar entre los 0.6 y los 8V. Es por ello por lo que la tensión del divisor de
debe oscilar entre los 0,6 y 8V. Usando un potenciómetro de 50K? .
24
El circuito consta de cuatro ramas, dos para las sondas del pozo y dos para las
sondas del aljibe. Para poder ajustar la sensibilidad de cada uno de ellos se han colocado
dos tensiones de referencia, por si el agua del aljibe contuviera algún tipo de aditivo
(abono, medicamento, fertilizante….) que variara su resistencia.
Así pues se dispone de un ajuste de sensibilidad independiente para el caso del
pozo o del aljibe.
Mediante el programa de simulación de Orcad se ha simulado el comportamiento de
una rama de detección (suficiente para comprobar el funcionamiento del sistema). En color
Azul se muestra la señal entre sondas (común y otra de nivel); en color rojo se muestra la
salida del amplificador de instrumentación; que es la misma que la de entrada por tener
ganancia unitaria, pero se elimina el semiciclo negativo por tener alimentación simple.
La señal en el filtro se muestra de color amarillo. Esta señal es la importante,
puesto que es la que se compara con el valor del set point. Por simplificar las gráficas y
evitar problemas de escala, no está representadas las salidas del comparador.
Se han realizado tres pruebas, una a cada límite de escala de sensibilidad del
circuito (10 y 200K? ) y otra a mitad de escala, a 100K? , de las que se adjunta las gráficas.
Como se puede ver a mayor valor de resistencia mayor es la salida de tensión en
el filtro.
Se adjunta varias gráficas en las que se ha variado la resistencia entre sondas desde
el mínimo de la escala hasta el máximo.
800mV
400mV
0V
-400mV
-800mV
0s
50ms
100ms
150ms
200ms
V(R6:1)
V(R2:1,R3:2)
V(R111:2)
250ms
300ms
350ms
Time
Figura 19. Gráficas para 10K? , límite inferior de sensibilidad.
25
400ms
450ms 500ms
8.0V
4.0V
0V
-4.0V
-8.0V
0s
50ms
100ms
150ms
200ms
V(R6:1)
V(R2:1,R3:2)
V(R111:2)
250ms
300ms
350ms
400ms
450ms 500ms
Time
Figura 20. Caso de haber una resistencia entre sondas de 100K? (mitad de escala).
10V
0V
-10V
-20V
0s
50ms
100ms
150ms
200ms
V(R6:1)
V(R2:1,R3:2)
V(R111:2)
250ms
300ms
350ms
400ms
Time
Figura 21. Resistencia entre sondas es de 200K? , que corresponde al fondo de la escala.
26
450ms 500ms
2.6
Alimentación.
La fuente de alimentación suministra dos niveles de tensión contínua distintos;
puesto que para el sistema de detección de nivel se requiere trabajar con una tensión de
12V mientras que el sistema del microcontrolador trabaja a una tensión de 5V.
El transformador empleado es de 220V/24V de una potencia mínima de 10W para
el para el suministro de energía a la parte electrónica y que además sea capaz de alimentar
a una electrovávula de 4W que es el consumo normal de una electroválvula de 24Vac. Por
ello el trafo deberá ser de un mínimo de 15W.
La tensión de 24Vac se rectifica mediante un puente de diodos integrado y se filtra
mediante un condensador electrolítico de 470uF, en paralelo a éste existen otros de
poliéster que filtran el ruido que pueda entrar a la alimentación.
1
24VAC2
U1
LM7812C
PR1
24VAC1
24VAC2
2 -
+ 4
1
IN
OUT
12V
3
+12V
3
C12
470U
+12V
1
2
D9
LED
2
2
1
GND
24VAC
C13
0
C14
100n
1n
5V
24VAC1
R70
680
+5V
1
2
0
0
OUT
3
+5V
D10
LED
2
IN
GND
U6
LM7805C
1
C37
1n
24V
C15
100n
24VAC2
24VAC1
R71
2K2
0
Figura 22. Fuente de alimentación.
A esta salida filtrada se conectan dos reguladores de tensión 7805 y 7812 capaces de
estabilizar el nivel de tensión de forma sencilla y con una corriente de salida máxima de
1A para cada salida. Estas salidas están filtradas de nuevo mediante el uso de dos
condensadores de poliéster.
El estado activo de las dos tensiones se indica mediante un led de color rojo. He
preferido colocar un led para alimentación, puesto como es lógico con el fallo de cualquier
alimentación el sistema deja de funcionar.
27
1
2
2.7
Microcontrolador.
El micro es el corazón del sistema; a él llegan las salidas de los detectores de nivel
que indican si los niveles cubren o no cada una de las sondas. También le llegan las
entradas exteriores de ENTRADA LENTA y ENTRADA RÁPIDA, que podrán ser
gobernadas por un interruptor, el presostato de un grupo de presión, o el programador de
riego que activa la bomba para dar comienzo al ciclo de riego.
La salida para la conexión de la bomba o de la electroválvula atacan a la etapa de
potencia que está optoacoplada, a fin de aislar las masas.
Mediante el uso del puerto analógico se usan dos potenciómetros (R1 y R2) para
determinar las aceleraciones de arranque y de paro de la bomba en caso de que el arranque
solicitado sea el lento.
Mediante dos leds bicolores se puede visualizar el estado del nivel de los
recipientes un color rojo indica que el nivel está por debajo de la sonda de nivel bajo, un
color ámbar que el recipiente está vacío, pero que el nivel está por encima de la sonda de
nivel bajo, es decir que el nivel se está recuperando.
Tan pronto el nivel cubra la sonda de nivel alto (es decir que se ha llenado) el color
del led cambiará a verde.
2.7.1
Intento Inicial con Integrador Clásico.
Para la generación de la rampa de aceleración o deceleración se había de manera
inicial en realizar una rampa que tenga un tiempo de subida para la aceleración y un tiempo
de bajada del tiempo que queremos de frenado. Esta rampa se compara con una onda
senoidal de manera que los pulsos resultantes fueran incrementando o decrementando de
amplit ud.
28
Figura 23. Generación rampa PWM.
Para generar la rampa se hacía uso de un integrador típico mediante un
Amplificador, pero al requerir un tiempo de rampa de entre 5 y 12 segundos se requería
unos valores de resistencia y condensador excesivamente grandes que hacían pensar que
esta solución no era la más apropiada.
Para poder simular el circuito se han colocado una serie de componentes
adicionales. Para ello se ha usado el U3A con objeto de obtener una señal cuadrada a partir
de una senoidal; que emula la señal de entrada de conexión y desconexión de la bomba. De
esta manera podemos obtener una señal que constantemente hace acelerar y frenar la
bomba.
De esta manera a la salida de la etapa formada por los transistores Q14 y Q15
tengo una señal simétrica de ±15V en función de si quiero frenar o arrancar la bomba. La
salida del integrador ataca a un optoacoplador, que en caso de que la señal del pozo fuera
de 15V (pozo vacío) impediría el arranque del la bomba.
Existe una entrada a través del D12 que permite un arranque rápido de la bomba
en caso necesario.
29
Figura 24. Generador de rampa con integrador clásico.
Se adjuntan las gráficas obtenidas de la simulación; posteriormente a esta señal se
debería comparar con una onda senoidal para obtener pulsos variables en función de la
maniobra deseada.
Figura 25. Señales de rampa integrador clásico.
Tal y como se ha explicado anteriormente este sistema se ha desechado por
requerir componentes excesivamente grandes, así como por lo problemas que podrían
conllevar las tolerancias y la falta de precisión en los tiempos genenerados.
30
Por ello y porque además permite implementar otras funciones, y existe una gran
flexibilidad a la hora de realizar modificaciones se ha optado por el uso de un
microcontrolador.
2.7.2
Elección del PIC 16F876.
Para la generación de la rampa de arranque y de frenado se ha optado por el uso de
PIC, que permiten elaborar un programa en código C que luego será grabado en un
microcontrolador. Concretamente se ha elegido hacer uso de la familia 16F8XX de la cual
se enumeran las principales características:
•
Memoria Flash que permite su programación fácilmente.
•
Juego de solo 35 instrucciones con 14 bits de longitud. Todas ellas se
ejecutan en un ciclo de instrucción, menos las de salto que tardan dos.
•
Hasta 368 Bytes de memoria de Datos RAM.
•
Hasta 256 Bytes de memoria de Datos EEPROM.
•
Hasta 14 fuentes de interrupción internas y externas.
•
Programación serie en circuito con dos pines, solo necesita 5V para
programarlo en este modo.
•
Voltaje de alimentación de 5 V.
•
Bajo consumo: < 2 mA valor para 5 V.
•
Posibilidad de programación con código C.
•
Bajo coste y fácil de encontrar en el mercado
•
Grabación sencilla, con posibilidad de grabar en la propia placa de circuito
impreso final (grabación en línea).
•
Sencillez de uso al programar en código C.
•
Gran cantidad de documentación difundida en Internet.
•
Coste bajo y encontrarlo fácilmente.
•
Posibilidad de uso de módulos PWM (no se hace uso en el proyecto por ser
la frecuencia más baja de 120Hz).
•
Posibilidad de uso de convertidor A/D.
•
Facilidad a la hora de usar temporizadores e interrupciones
•
Grabadores de bajo coste.
31
•
Software de programación, simulación y grabación con versiones libres.
El encapsulado para el 16F1876 es el típico dip de 28 patillas
Figura 26. Patillaje del PIC16F876.
Existe dentro de la familia una versión con 40 patillas, los modelos de 40 pines
disponen de 5 Puertos de Entrada / Salida: A, B, C, D y E, mientras que los de 28 solo
tienen 3 Puertos: A, B y C.
Los modelos de 40 pines tienen 8 canales de entrada al Conversor A/D, mientras
que los de 28 solo tienen 5 canales.
Para nuestra aplicación es más que suficiente con contar con tres puertos de E/S, y
solo usaremos un canal de conversión A/D por lo que usaremos el 16F876.
2.7.3
Módulos internos del 16F876 usados en el proyecto.
De los diversos módulos que incorpora el 16F876 se pueden destacar por su
importancia en la ejecución del proyecto los siguientes.
•
•
Módulo Convertidor Analógico/Digital (A/D)
Módulo CCP (Se explica aunque no es posible usarlo en el proyecto.)
32
Para la determinación del tiempo de arranque y de frenada se han usado dos
potenciómetros que hacen que se pueda establecer un tiempo de aceleración y otro tiempo
de frenado para la bomba de manera independientes, es aquí donde interviene el módulo
A/D, ya que la señal del consigna es una tensión de 0 a 5V.
Para generar la señal cuadrada PWM no se hace uso del módulo CCP1, con el
que fácilmente se puede establecer una frecuencia de trabajo un duty cicle de la señal;
debido a que la frecuencia más baja de la señal PWM con el cristal más lento (1MHz) es de
30Hz; con esta frecuencia es imposible modular la red de 50Hz. Por ello haremos la señal
PWM con retardos de tiempo.
A continuación se explica un poco sobre el funcionamiento de cada uno de ellos,
sin llegar a profundizar puesto que a la hora de programar no es necesario conocer el
funcionamiento preciso de cada uno de los bits de control de cada registro
Módulo Convertidor Analógico/Digital (A/D)
El módulo de conversión Analógico/Digital dispone de cinco entradas para los
dispositivos de 28 pines; dado que existente cinco entradas y un único módulo A/D
se debe hacer uso de un multiplexor que indique el canal con el que queremos trabajar.
Antes de trabajar con una entrada de tipo analógica deberemos definir el puerto o
la entrada como analógica.
A través de la entrada analógica se aplica la señal analógica a un condensador de
captura y retención (sample and hold) que después se introduce en el convertidor. El
convertidor de aproximaciones sucesiva da como resultado una palabra de 10 bits.
El convertidor A/D puede seleccionar como tensión de referencia la interna VDD y
masa o bien una externa, en nuestro caso el valor de la tensión es el de 5V, ya que la
aceleración del motor deberá depender del valor de un potenciómetro que varía entre 0 y
5V.
Como trabajaremos con dos canales (uno para la aceleración y otro para
deceleración), deberemos indicar siempre cual de ellos es el que tenemos intención de
medir antes de capturar el valor.
33
MODULO CCP CAPTURA / COMPARACIÓN / PWM (Modulación de Ancho
de Pulsos)
Los microcontroladores de la familia 16F87X disponen de dos módulos de
Captura / Comparación y PWM, cada modulo tiene un registro de 16 bits que
pueden trabajar como:
•
Registro de captura de 16 bit
•
Registro de comparación de 16 bits.
•
Modulación de anchura de pulsos PWM
Estos módulos son los que se usan para la generación de la señal PWM, para ello
se debe cargar el CCP1 con el valor del duty cicle, ya que el timer 1 es el encargado de
mantener el pulso alto.
Por el contrario el timer 2 es el que se encarga de generar la frecuencia de la señal,
por lo que se debe cargar con el período de la señal de salida.
En nuestro caso el valor de CCP2 (frecuencia de oscilación) será fijo para todo el
tiempo, mientras que el valor cargado de CCP1 se irá cargando con mayor o menor tiempo
cada vez en función de si queremos acelerar o frenar.
Los contadores se cargan con un valor entre 0 y 127, por ello para cargar un valor
de duty cilcle del 100% se debe cargar el CCP1 con 128, mientras que en caso de requerir
que la bomba se pare se debe cargar con un valor de 0.
Se ha fijado un tiempo máximo de aceleración o deceleración de 5 segundos, cada
uno de los dos tiempos se puede modificar mediante el uso de unos potenciómetros que
introducen un valor de tensión de entre 0 y 5V al puerto analógico del PIC.
El problema de este módulo es que está ideado para trabajar con una etapa de
potencia de corriente contínua, por ello la frecuencia más baja de la señal PWM con un
cristal de 4MHz es de 120Hz, si bajaramos la frecuencia del cristal a 1MHz podríamos
trabajar con una señal PWM de 30Hz. Dado que se trata de una frecuencia similar a la de
la red de 220V no se puede modular de manera eficaz.
34
Esto hace que no podamos usar el módulo CCP1 para este proyecto, y que nos
veamos obliagados a trabajar con contadores para tiempo de alto y tiempo de bajo.
2.7.4
Uso de Microcontrolador en el Proyecto.
SEÑAL BAJO POZO
SEÑAL ALTO POZO
SEÑAL BAJO ALJIBE
SEÑAL ALTO ALJIBE
5
4
3
2
1
ENTRADA RAPIDA
ENTRADA LENTA
15
16
17
18
SEÑAL ALTO ALJIBE
SEÑAL BAJO ALJIBE
SEÑAL ALTO POZO
SEÑAL BAJO POZO
NIVELES
23
24
RB2
RB3
PIC16F876
RA0
R2
3
2
9
+5V
J3
2
1
10
1
EXPANSION1
EXPANSION2
J5
Y1
1
+5V
R12
R13
ALJIBE LLENO
ALJIBE VACIO
BOMBA
POZO VACIO
VDD
ENTRADAS
RA1
ENTRADA LENTA
ENTRADA RAPIDA
20
2
2
OSC2
3
SEÑAL BAJO POZO
SEÑAL ALTO POZO
SEÑAL BAJO ALJIBE
SEÑAL ALTO ALJIBE
R10
R11
POZO LLENO
ELECTROVALVULA
11
12
13
14
RCO
RC1
RC2
RC3
OSC1
ENTRADA LENTA
ENTRADA RAPIDA
EXPANSION 1
EXPANSION 2
25
26
RB4
RB5
J2
3
2
1
21
22
RB0
RB1
RC4
RC5
RC6
RC7
R6
R7
R8
R9
U5
19
8
VPP
PGD
PGC
J1
VSS
VSS
1
28
27
VPP
PGD
PGC
3
+5V
R1
C43
ELECTROVALVULA
BOMBA
C42
1
2
3
ZTB
33pF
33pF
SALIDAS
ALIMENTACION
J4
3
2
1
AMPLIACIONES
+5V
EXPANSION 1
EXPANSION 2
+5V
+5V
+5V
R15
BOMBA
ELECTROVALVULA
C44
100nF
C45
100nF
ALJIBE VACIO
ALJIBE LLENO
POZO VACIO
POZO LLENO
+5V
R14
R16
R17
220
220
220
C46
100nF
VPP
PGC
PGD
2
J6
3
1
2
3
4
5
1
PROGRAMACION
D6
D2
LED
D3
D4
LED
LED
D5
LED
LED
R21
R22
220
220
Figura 27. Esquema del microcontrolador
Obviamente existe una salida de control hacia la placa de potencia para la conexión
tanto de la electroválvula como de la bomba; así como se han previsto dos pines de acceso
al PIC a fin de posibles modificaciones en un futuro; estos pines pueden ser posteriormente
usados como entrada o como salida indistintamente.
La conexión o desconexión tanto de la bomba como de la electroválvula está
indicada mediante dos leds.
Dado que el programador de Pics usado para la construcción del proyecto es del
tipo ICP, es decir el PIC puede estar alojado en el zócalo de la PCB para ser programado;
se ha dispuesto de un conector para conectar dicho programador.
35
Para seleccionar el modo de trabajo (Operación/Programación) hay un pequeño
puente que permite el cambio de modo. Una actuación incorrecta sobre dicho puente no
compromete la vida útil del PIC.
Todas las entradas son activas a nivel alto, por ello se ha dispuesto de una
resistencia de pull-down de 10KΩ para que en caso de fallo de conexión se fuerce un nivel
bajo en la entrada, a efecto de prevenir mal funcionamientos.
Para la generación de la forma de onda me he visto obligado a trabajar de manera
digital, ya que como se ha explicado antes el uso de un integrador clásico con
amplificadores operacionales ha sido totalmente imposible por los elevados valores de los
componentes.
2.8
Etapa de Potencia.
La etapa de potencia del sistema conecta tanto la bomba a tensión de red, como la
electroválvula de 24Vac en función de lo que el microcontrolador indique.
Para ello la entrada de la etapa de potencia es un optotriac MOC3040 que aísla las
masas de los circuitos como es obligado en estos casos. El MOC3040 dispone de un
detector de paso por cero que permite activar al triac solo en caso de que la señal de 220V
pase por cero; de esta manera se minimiza el riesgo de emisión de EMIs así como se hace
que los picos de corriente sean mínimos al conectar la carga puesto que la tensión en esta
situación es de cero voltios.
Recordemos que el control para la aceleración o deceleración se hace mediante el
sistema de conexión/desconexión de la carga durante unos semiciclos; por lo que es
factible el uso de un sistema con detector de paso por cero. Esto sería imposible en caso de
un sistema de control por ángulo de disparo.
Como protección para los picos de tensión de red se ha colocado un varistor que en
caso de un pico de tensión disminuye su impedancia y hace que la tensión se estabilice.
También se ha dispuesto de una red RC en paralelo con el triac que limita el
incremento de la tensión a la hora de controlar cargas inductivas.
En paralelo a la entrada de cada señal de disparo se ha colocado nuevamente otro
condensador de poliéster a fin de filtrar la señal de entrada e impedir distorsiones hacia l el
módulo del microcontrolador
36
U8 MOC3040
R42
1
6
1
2
BOMBA
1
2
220V
C42
R40
2
J2
0
4
RV1
ZERO
CROSS
CIRCUIT
Q1
TRIAC_1
C40
3
2
1
1n
SEÑALES
0
CON2
U9 MOC3040
R43
1
6
1
2
C43
ELECTROVALVULA
R45
2
0
4
RV2
ZERO
CROSS
CIRCUIT
Q2
TRIAC_1
C41
1n
J1
1
2
24VAC
Figura 28. Etapa de potencia del sistema.
En este caso para el diseño de las pistas de la placa de circuito impreso se tiene que
tener en cuenta dos cosas, por una lado la conveniencia de separar la parte de potencia de
las entradas a la placa a fin de evitar que las cargas puedan inducir ruido sobre la entrada y
que este ruido pudiera llegar a la zona del microcontrolador, lo que sería fatal. Por otro
lado puesto que la corriente de alimentación de la bomba puede ser de hasta 10A el
dimensionar adecuadamente el ancho de las pistas es fundamental.
El ancho de una pista de circuito impreso para un espesor de la placa de cobre de
35µm viene dada por la fórmula (3), por otro lado es necesario revisar que el conector
empleado sea capaz de soportar perfectamente esta corriente.
Ancho =
Im ax 3
10
(3)
En el caso del sistema la corriente máxima que debe suministrar la etapa es de 10A,
por ello el ancho mínimo de la pista será de 10mm.
3
Proceso de Diseño del Prototipo.
Inicialmente se ha diseñado la parte analógica consistente en las cuatro ramas de
detección, la fuente de alimentación la etapa de potencia. Una vez tenida la idea
37
aproximada se ha simulado mediante el programa Orcad Capture versión 9 para comprobar
el funcionamiento de los módulos de manera independiente.
Tras ello se ha elaborado el código en C del programa del PIC; este código se ha
escrito y compilado usando el programa Pic C Compiler y se ha simulado haciendo uso de
la herramienta ISIS del programa Proteus versión 6.
Una vez hecho todo esto se han diseñado las placas de circuito impreso que
configuran el sistema. El montaje se ha preferido hacerlo de manera modular, para
simplificar la ejecución del prototipo así como la comprobación de cada parte del sistema y
facilitar las posibles modificaciones en un módulo.
Las placas de circuito impreso se han diseñado con la herramienta Layout del
programa Orcad, debiendo diseñar algunos de los encapsulados de los componentes
empleados.
Una vez obtenido el fotolito las placas de circuito impreso se han fabricado en los
talleres del DEEEA
4
Memoria de Cálculo.
Se adjuntan los cálculos más relevantes de cada uno de los módulos del sistema.
4.1
Cálculos de Etapa de Potencia.
El cálculo más relevante en este módulo es del cálculo del disipador de los triacs; ya
que el resto de componentes son los indicados por el fabricante.
Por el data sheet del BT139 sabemos que Rth j-c es de 1,2ºC/W. Además, su
temperatura máxima de la unión, Tj, es de 125ºC. Este valor lo rebajaremos por seguridad
hasta los 110ºC. Como la unión con el disipador será directa con silicona termoconductora
supondremos Rth c-d de 1ºC/W. Con estos datos ya podemos calcular Rth rad.
Según las gráficas del fabricante el Triac de la bomba (Q1) a una corriente de 12A
el triac disipará una potencia de 14W; fijamos la temperatura ambiente a 30ºC.
Establecemos un símil entre:
Rth →R
W →I
38
∆Tª →∆V
De esta manera podremos hacer uso de las fórmulas de la ley de Ohm, y el circuito
se queda de la siguiente manera:
Potencia Unión
Rth j-m
Rth m-rad
Rth rad-amb
Figura 29. Símil circuito eléctrico y térmico.
Siendo Rth j-m la resistencia térmica entre unión y encapsulado.
Rth j-m la resistencia térmica de la mica aislante con pasta conductora térmica y el
disipador
Rth rad la resistencia térmica que presenta el disipador.
El total de la resistencia térmica entre el ambiente y la unión es:
Rth total = Rth j-m + Rth j-m + Rth rad
(4)
De ahí obtenemos que:
Rth rad
=
Rth total – (Rth j-m + Rth j-m ) (5)
El incremento máximo de temperatura viene dado por la temperatura máxima de la
unión y la del ambiente como
∆Tmax= Tjmax – Tª amb (6)
∆Tmax=110ºC - 30ºC= 80ºC
Usando el símil de la ley de Ohm podemos establecer que
Potencia unión= ∆Tmax / Rth totaL (7)
De ahí obtenemos
Rth total = 80ºC/14W= 5.72 ºC/W
39
Como antes se ha establecido en (5) Rth rad
=
Rth total – (Rth j-m + Rth j-m )
Rth rad =5.72 ºC/W -(1.2ºC/W +1ºC/W)
Rth rad ≤ 3.5ºC/W
Así pues para el disipador del Q1 (bomba) será necesario el usar un disipador con
una resistencia térmica menor de 3.5ºC/W, en la figura 29 se muestra uno válido de 3ºC/W.
Figura 30: Disipador TO220 de 3ºC/W
Para el cálculo del Triac de la electroválvula seguiremos el mismo procedimiento
que antes, por ello se hace ahora más abreviado. El consumo de la electroválvula es de
300mA, según las gráficas del datasheet del BT139 la disipación de potencia en la unión es
de menos de 0.5W para una corriente de 0.3A. El valor de ∆Tmax sigue siendo de 80ºC
(Tjmax – Tª amb)
Así pues seguimos los cálculos anteriores:
Según (7)
Rth total = 80ºC/0.5W= 160 ºC/W
Como en (5) se ha establecido Rth rad
=
Rth total – (Rth j-m + Rth j-m )
Rth rad =160 ºC/W -(1.2ºC/W +1ºC/W)
Rth rad ≤ 158ºC/W.
El datasheet del BT139 indica que la resistencia entre la unión y el ambiente Rth j-a
es de 60ºC/W, por ello presenta una resistencia menor a la requerida en este punto de
trabajo y por ello el uso de disipador no es necesario.
4.2
Cálculos de Fuente de Alimentación.
La fuente de alimentación debe suministrar dos tensiones, una de 12V para los
circuitos de detección de nivel y otra de 5V para la placa del microcontrolador. Para la
alimentación de 12V se debe suministrar una corriente de 150mA, mientras que la de 5V,
al tener mayor consumo por los leds se debe suministrar 400mA.
40
Con las gráficas del datasheet del LM7805 vemos que la Rth j-m es de 5ºC/W, que la
temperatura máxima de la unión es de 125ºC aunque se rebaja hasta 110ºC como
seguridad; y que para el cálculo de la potencia disipada se debe hacer
Potencia disipada = (Vi-Vo) * Io
(8)
Como el transformador usado es de 12Vac la tensión rectificada y filtrada es
cercana a los 20V, lo que es inferior al límite máximo establecido por el fabricante que se
determina en 35V.
Así pues la potencia disipada en el LM7805 es según (8) de
Potencia disipada = (Vi-Vo) * Io =(20V-5V)*60mA= 0.9W.
El incremento máximo de temperatura viene dado por la temperatura máxima de la
unión y la del ambiente como se ha visto en (6)
∆Tmax= Tjmax – Tª amb
∆Tmax=110ºC - 30ºC= 80ºC
Según el circuito de potencias y las relaciones con la ley de Ohm usadas en el punto
4.1 estableceremos con la ecuación vista en (8):
Potencia unión= ∆Tmax / Rth total
De ahí obtenemos
Rth total = 80ºC/0.9W= 88.9 ºC/W
Este valor es superior al de la Resistencia térmica entre unión y ambiente, que es de
65 ºC/W, por ello no hace falta la instalación de un disipador.
Para el cálculo del disipador del LM7812 usamos mismas fórmulas,
Así pues la potencia disipada en el LM7812 es de
Potencia disipada = (Vi-Vo) * Io =(20V-12V)*150mA= 1.2W.
El incremento máximo de temperatura viene dado por la temperatura máxima de la
unión y la del ambiente como
∆Tmax= Tjmax – Tª amb
∆Tmax=110ºC - 30ºC= 80ºC
Según el circuito de potencias y las relaciones con la ley de Ohm usadas en el punto
4.1 estableceremos que:
Potencia unión= ∆Tmax / Rth total
De ahí obtenemos
Rth total = 80ºC/1.2W= 66 ºC/W
41
Este valor es cercano al de la Resistencia térmica entre unión y ambiente, que es de
65 ºC/W, por ello estamos en el límite de uso de un disipador; como la temperatura de
unión máxima se había reducido en 10ºC no es necesario el uso de un disipador, pero para
asegurarnos totalmente usaremos un disipador pequeño, de unos 25ºC/W.
Figura 31. Disipador de 25ºC/W.
4.3
Cálculos de Detección de Nivel.
El valor de la tensión que entra al comparador U4C/U4D que compara el nivel de la
resistencia entre las sondas con el valor ajustado de sensibilidad debe ser de entre 2.4 y
9.6V en función de la sensibilidad ajustada.
Usaremos potenciómetros de 50K, por ello la corriente que circulará por P44 será de
Valor _ Maximo − Valor _ Mínimo 9.6V − 2.4V
I 44 =
= 144 µA
Valor _ Poteciómetro
50 KΩ
De esta manera obtenemos los valores para el divisor de tensión:
R 49 =
R 48 =
Tensió´n _ mímima 2.4V
=
= 16 KΩ
I 44
144 µA
Vcc − Valor _ Maximo 12V − 9.6V
=
= 16 KΩ
I 44
144µA
La potencia de ambas resistencias es de 1/4W.
R50 y R30 son para limitar la corriente por un diodo led; el led requiere una
tensión de 1.5V y de 10mA por ello:
R=
Vcc − Vled 12V − 1.5V
=
= 1200Ω
Iled
10mA
Potencia = V * I = I 2 * R = 100mA * 1200 = 8.75mW
Por ello usaremos resistencias de 1K2? y 0.25W.
42
R72 y R73 conforman otro divisor de tensión que debe reducir el valor de la salida
del comparador de 12 a 5V, ya que este es el valor de la tensión del micro.
Por ello, y fijando el valor de R73 como de 1K? , se obtiene
I 73 =
R72 =
5
V 73
5V
=
= 5mA
R73 1KΩ
Vcc − V 73 12 − 5 8V
=
=
= 1K 5Ω
I 73
5mA 5mA
Código Fuente.
El código está formado por dos archivos, uno contiene las definiciones y el otro el
programa principal.
5.1
Archivo Defines.h
#define bajo_pozo input(PIN_C7)
/*Determino las sondas del pozo
/*y del aljibe*/
#define alto_pozo input(PIN_C6)
#define bajo_aljibe input(PIN_C5)
#define alto_aljibe input(PIN_C4)
#define pin_entrada_rapida input(PIN_B2)
#define pin_entrada_lenta
input(PIN_B3)
#define abre_valvula output_high(PIN_B5) /*Determino las salidas de
/*electrovalvula y bomba*/
#define cierra_valvula output_low(PIN_B5)
#define vacio 0
#define lleno 1
#define ARRANQUE 0
#define PARO 1
5.2
Archivo main.
En la cabecera del archivo se incluyen las librerías del pic, así como que se
indica que se usa el puerto analógico con una resolución de 8 bits (valor de 00 para 0V y
FF para 5V). También se incluyen los fuses que son las indicaciones sobre la palabra de
configuración para el uso del programa de grabación.
43
Se fija una frecuencia de trabajo del oscilador de 4MHz
#include <16F876a.H>
#DEVICE
ADC=8
#include "defines.h"
#use
delay( clock = 4000000 )
/* Especifica reloj de 4 MHz */
#fuses XT,NOWDT,NOPUT,NOPROTECT,NODEBUG,NOBROWNOUT,NOLVP,NOCPD,NOWRT
char A;
int1 arrancando =0, parando=0;
int1 pozo, aljibe, trasvase, pidio_arranque_rapido,
pidio_arranque_lento, arranque_rapido, arranque_lento,
solicita_rapido,solicita_lento,entrada_lenta,
entrada_rapida;
int T=1; //periodo en decimas de segundos .
fPWM= 1/(T1)
//Por ejemplo:
// FRECUENCIA PWM T1=1 Frecuencia= 1/(0,1segundos)= 10Hz//
// TIEMPO RAMPA: cada bucle 0,1 segundo. A minimo=2.
// DC LLEGARA DESDE O HASTA 100 INCREMENTANDO A (2)
//
NUMERO BUCLES= DC MAX/ A MIN= 100/2= 50
// TIEMPO DE RAMPA MAXIMO= 50 BUCLES * 0.1 SEG= 5 SEGUNDOS.
// Experimentalmente se ha comprobado que es la frecuencia en la que
// el movimiento del voltímetro es más lineal. Con otros valores sube a
golpes.
int T1; //tiempo a 1 de la señal PWM
int T0; //tiempo a 0
int DC;
//*******ARRANQUE RAPIDO
Si se solicita el arranque rápido de la bomba lo que se hace es poner al máximo
valor el duty cicle de la señal PWM; además se ponen a cero los flags que indican que el
proceso de arranque o paro se está ejecutando.
void arrancar_bomba()
{
44
Si se pide arrancar la bomba de manera rapida lo que hacemos es poner el DC a
100, y poner a cero los flags que indican que se está realizando una rampa o bien de
aceleración o bien de frenado; por si la petición de arranque lento coincidiera con una
rampa.
DC=100;
parando=0;
arrancando=0;
}
//********PARO RAPIDO
En caso de que se deba parar la bomba de manera rápida se hace lo
mismo que en la rutina anterior, poner el duty cicle de la señal PWM al
valor mínimo, y limpiar los flags.
void parar_bomba()
{
DC=0;
parando=0;
arrancando=0;
}
//********ARRANQUE LENTO
void arrancar_lento()
{
Si se solicita un arranque lento de la bomba se pone a uno el flag
arrancando que indica que se está haciendo un arranque lento a fin de
saber en cada momento si el duty cicle se debe incrementar o decrementar.
arrancando=1;
parando=0;
Se indica al módulo convertidor A/D que se debe capturar el valor del puerto donde
se conecta el potenciómetro que indica la velocidad de arranque (recordar que el
convertidor está multiplexado); y se introduce el valor del puerto en A.
set_ADC_channel(ARRANQUE);
A=read_ADC();
45
Para evitar realizar divisiones en cada arranque se ha confeccionado una tabla con
varios escalones a fin de determinar un valor de A en función de la posición del
potenciómetro.
Esta técnica aunque implica el suprimir resolución al ponteciómetro nos evita el
realizar divisiones que son de larga duración. Dado que para el control de la bomba no va a
ser necesario una gran precisión se ha optado por esta manera de determinar el valor de los
incrementos del duty cicle.
if (a<26) A=2;
else if (A<52) A=12;
else if (A<77) A=24;
else if (A<103) A=36;
else if (A<128) A=48;
else if (A<154) A=60;
else if (A<180) A=72;
else if (A<205) A=82;
else if (A<230) A=94;
else A=100;
}
//********PARO LENTO
void parar_lento()
Esta rutina es igual a la de arrancar lento.
{
unsigned char valor;
arrancando=0;
parando=1;
set_ADC_channel(PARO);
A=read_ADC();
if (a<26) A=2;
else if (A<52) A=12;
else if (A<77) A=24;
else if (A<103) A=36;
else if (A<128) A=48;
else if (A<154) A=60;
else if (A<180) A=72;
else if (A<205) A=82;
else if (A<230) A=94;
else A=100;
46
}
void ini_analogico()
Mediante esta rutina se indica que los pines RA0, RA1 y RA3 se va a usar como
entradas analógicas. Aunque solo vamos a necesitar dos pines analógicos el modo de
configuración obliga a configurar un mínimo de tres pines.
{
setup_ADC (ADC_CLOCK_INTERNAL);
setup_adc_ports( RA0_RA1_RA3_ANALOG );
}
void led (char LED, char COLOR)
A esta rutina se la llama para hacer iluminar los leds bicolores que indican el estado
del pozo y del aljibe. Obviamente el color verde indica lleno mientras que el rojo indica
vacío.
{
#define LED_POZO 0
#define LED_ALJIBE 1
#define ROJO 0
#define VERDE 1
En caso de haber llamado a la rutina indicando que el led a iluminar es el del pozo
se entra en esta rama; a fin de poner a uno o a cero el pin necesario en función del color
requerido.
if (LED ==LED_POZO)
{
switch (COLOR)
{
case 0:
//ROJO
output_high(PIN_C3);
output_low(PIN_B4);
break;
case 1:
//VERDE
output_high(PIN_B4);
output_low(PIN_C3);
47
break;
}
}
Si el el led a controlar es el del aljibe entramos a esta rama.
if (LED ==LED_ALJIBE)
{
switch (COLOR)
{
case 0:
//ROJO
output_high(PIN_C1);
output_low(PIN_C0);
break;
case 1:
//VERDE
output_high(PIN_C0);
output_low(PIN_C1);
break;
}
}
}
void main( void )
{
Al inicio del programa se inicializan las variables, y se llama a la función que
inicializa también el puerto analógico.
ini_analogico();
pozo=0;
Indicamos que el pozo está vacío
aljibe=0; Indicamos que el aljibe está vacío
trasvase=0; Indicamos que no hay necesidad de rellenar el aljibe.
pidio_arranque_lento=0; Se indica que no hubo ninguna petición de...
pidio_arranque_rapido=0; ...arranque pendiente de parar
solicita_rapido=0; se ponen a cero las variables de petición de arranque
solicita_lento=0;
que muestran el valor de las entradas.
parar_bomba(); Llamamos a parar bomba a fin de comenzar con la bomba parada
y con las condiciones de los flags como si hubiera parado.
48
DC=0;
se pone a cero el valor del duty cicle.
while (1)
Se realiza un bucle infinito para ejecutar constamente el main.
{
Al iniciar el bucle se realiza un control del estado de las entradas. Como estas
entradas pueden estar sometidas a rebotes, es decir a cambios del estado lógico de los pines
como consecuencia de un mal contacto en el momento de la conmutación.
Para ello lo que se hace es pasar los valores de las entradas que se manejan desde un
interruptor a unas variables, efectuar un retardo de 10ms y se vuelven a comparar las
entradas hasta que se son estables. De esta namera eliminamos los rebotes.
Figura 32. Señal con rebotes.
entrada_lenta= pin_entrada_lenta;
entrada_rapida= pin_entrada_rapida;
delay_ms(10);
while(entrada_lenta!=pin_entrada_lenta)||(entrada_rapida!=pin_entrad
_rapida)
{
entrada_lenta= pin_entrada_lenta;
entrada_rapida= pin_entrada_rapida;
delay_ms(10);
}
49
/***************************************/
/*CONTROL DE NIVELES DEL POZO */
/***************************************/
Para determinar el estado de un recipiente, por ejemplo el pozo se debe ver si no se
detecta la entrada de nivel bajo; si no hay nivel bajo y el pozo está lleno se debe cambiar el
estado a vacío, y cambiar el color del led.
Pero si el pozo está vacío y se detecta que hay tanto nivel alto como bajo, se debe
cambiar el estado a lleno, y actualizar el color del led. Este algoritmo es el mismo tanto
para el pozo como para el aljibe.
if ((!bajo_pozo)&&(pozo==lleno))
{
pozo=vacio;
led(LED_POZO, ROJO);
}
else if (((bajo_pozo)&&(alto_pozo)) && (pozo==vacio))
{
pozo=lleno;
led(LED_POZO, VERDE);
}
/****************************************/
/*CONTROL DE NIVELES DE ALJIBE */
/****************************************/
Despues de determinar el estado del pozo se analiza el del aljibe de igual manera
que antes.
if ((!bajo_aljibe)&&(aljibe==lleno))
{
aljibe=vacio;
led(LED_ALJIBE,ROJO);
}
if ((bajo_aljibe && alto_aljibe) && (aljibe==vacio))
{
aljibe=lleno;
led(LED_ALJIBE, VERDE);
}
50
/********************************************************/
/* CONTROL DEL TRASVASE Y CONTROL PARA ELECTROVALVULA
*/
/********************************************************/
Aquí se determina si es necesario el llenar el aljibe con agua del pozo.
Obviamente para ello se debe cumplir que el pozo esté lleno y que el aljibe esté vacío.
Independientemente de si la bomba esté ya arrancada o no por otros consumidores, será
necesario el abrir la electroválvula para que el agua de la bomba llene el aljibe
if (!aljibe && pozo==1)
trasvase=1;
abre_valvula;
else
trasvase=0;
cierra_valvula;
El flag trasvase será usado como una condición de arranque lento posteriormente.
//**************************************************//
//
CONTROL DE LAS PETICIONES DE ARRANQUE
//
//**************************************************//
En esta rama se analizan las peticiones de arranque y se ve que tipos de arranque se
piden. Obviamente el arranque prioritario será el de arranque rápido frente al de lento o al
de trasvase.
En esta rama se usa una serie de flags:
o
pidio_arranque_rapido. Este flag está a uno si en algún momento se ha
hecho una petición de arrnque rápido y todavía no se ha solicitado que se pare. Se usará en
el momento de parar la bomba para ver que tipos de arranque se han hecho y quedan
activos y ver que tipo de paro se debe hacer.
o
solicita_rapido. Este flag está a uno mientras hay una petición de entrada
rápida activa.
o
pidio_arranque_lento. Este flag está a uno si en algún momento se ha
hecho una petición de arrnque lento bien por la entrada de arranque lento o bien por el flag
de trasvase (rellenar el aljibe), y todavía no se ha solicitado que se pare. Se usará en el
momento de paro para ver que tipos de paro están pendientes.
o
solicita_lento. Este flag está a uno mientras hay una petición de entrada
lenta activa. Así pues se puede poner a uno por activar el pin de entrada lenta o por estar la
condición trasvase activa.
51
//condiciones para arranque rapido
Para realizar una conexión rápida se debe tener el pozo lleno (seguridad para la
bomba) y la entrada rápida activa. Para evitar entradas innecesarias se incluye la condición
que no se ha arrancado la bomba de manera rápida; a fin de que solo entre una vez en el if.
Así pues solo se entra una vez y se pone activo el flag solicita_rapido y
pidio_arranque_rapido.
if (entrada_rapida && pozo && !pidio_arranque_rapido)
{
solicita_rapido=1;
pidio_arranque_rapido=1;
//las entradas piden arranque rapido
arrancar_bomba();
}
Si la entrada rapida no está activa el flag de solicita_rapido se resetea; también se
incluye una condición para entrar una sola vez en el bucle.
if (!entrada_rapida)&&(solicita_rapido)
{
solicita_rapido=0;
}
//condiciones para arranque lento
En este if se establecen las condiciones para solicitar el arranque lento de la bomab.
Para ello tiene que estar el pozo lleno, y activas o bien la entrada lenta o la condición de
trasvase. Se incluye una condición de que no se haya pedido con anterioridad un arranque
lento a fin de evitar entradas innecesarias en el bucle.
if ( ((trasvase|| entrada_lenta) && pozo) && !pidio_arranque_lento)
{
pidio_arranque_lento=1; //las entradas piden arraque lento
solicita_lento=1;
arrancar_lento();
}
Si las peticiones de entrada lenta desaparecen se resetea el flag de solicita_lento.
if (!entrada_lenta && !trasvase)
{
52
solicita_lento=0;
}
// SOLICITA_LENTO QUE ESTAN A UNO SOLO MIENTRAS LA ENTRADA ESTÉ A
// UNO EN CASO DE QUE SE DEJE DE SOLICITAR ENTRADA SOLICITA_LENTO SE
// PONE A CERO.
//
// PIDIO_LENTO SE PONE A UNO AL HACER UNA PETICION DE ARRANQUE (AUNQUE LA
// BOMBA ESTÉ ARRANCADA); Y SE PONE A CERO CUANDO EL PARO SE HA HECHO; DE
// ESTA MANERA EN EL MOMENTO DE PARAR SABREMOS QUE TIPO DE ARRANQUE SE //
DEBE HACER.
////////////CONTROL PARA EL PARO DE LA BOMBA...///
Ahora entramos en el código que resetea los flags de pidio_arranque_rapido y
pidio_arranque_lento. Estos flags se resetean si su petición de arranque (lento o rapido) ha
desaparecido pero la bomba debe estar en funcionamiento porque la otra petición (lento o
rápido) está activa.
Pongamos el caso de que la bomba arranca lento, por ello hace la rampa de
aceleración. Una vez está en marcha se pide arranque rápido. La bomba ya está arrancada
por ello no tiene que arrancar. Ahora estando las dos entradas activas se deja de pedir
arrnque lento. Al estar aún activa la entrada de rápido la bomba no tiene que parar; pero
como se ha dejado de pedir arranque lento el flag que nos indica que hay pendiente un paro
lento tiene que ponerse a cero.
De esta manera el flag que indica que tipos de paro tenemos pendientes de hacer se
pone a cero puesto que aunque la bomba no debe parar el paro ya no tendrá que hacerse
después.
if (pidio_arranque_rapido && !solicita_rapido && solicita_lento)
//hubo petición de arranque rapido pero ya no,
//pero no debe parar porque la lenta pide
{
pidio_arranque_rapido=0; //borro el flag de arrancada rapido si la
// entrada lenta es activa y la rapida no,
}
if (pidio_arranque_lento && !solicita_lento && solicita_rapido)
// solo esta activa entrada rapida
//y hubo petición lenta
53
{
pidio_arranque_lento=0; //borro el flag de arrancada rapido si
// la entrada rapida es activa y la lenta no,
}
Ahora llegamos al supuesto de que no hay ninguna petición de arrancar la bomba ni
lento ni rápido. Se establece la condición de que tiene que estar activo algún flag de
pidio_arranque_lento o rápido activo a fin de evitar entradas innecesarias.
if (!solicita_rapido && !solicita_lento) && (pidio_arranque_rapido
|| pidio_arranque_lento)
//Las peticiones se han anulado y la bomba aún no ha parado.
{
Ante el supuesto de que las dos dejaran de solicitar al mismo tiempo se establece la
prioridad al paro rápido estando en primer lugar el if que nos lleva al paro rapido.
if (pidio_arranque_rapido)
//si se pidio rapido pararé rapido.
{
pidio_arranque_rapido=0;
parar_bomba();
//LLAMO A PARO RAPIDO.
}
if (pidio_arranque_lento)
{
pidio_arranque_lento=0;
parar_lento();
//LLAMO A PARO LENTO.
}
}
//***PARO DE LA BOMBA POR FALLO DE POZO///
Una manera distinta de parar la bomba es por fallo de nivel del pozo. Es decir si el
pozo se ha vaciado se tiene que parar la bomba para impedir su rotura.
if
( !pozo
)
{
pidio_arranque_rapido=0;
pidio_arranque_lento=0;
parar_bomba();
}
54
Una vez llegados a este punto se genera la señal de PWM. Para ello se deben evaluar
los flags arrancando (se está generando la rampa de arranque) y parando (si se está
generando la rampa de parada).
if (arrancando)
{
Si se está haciendo la rampa de arrancada (el flag lo pone a uno la rutina de arranque
lento), se entra en esta rama. Aquí el valor del DC se incrementa lo que se determina en la
tabla de captura de valores del puerto analógico. Tras el incremento se hace una
comprobación para ver si el valor es superior al máximo (100), a fin de determinar cuando
se ha completado la rampa.
DC=DC+A;
if (DC>=100)
{
Una vez la rampa se ha completado
arrancando=0;
DC=100;
}
}
// PARO LENTO
else if(parando)
{
DC=DC-A;
if (DC<0)
{
parando=0;
DC=0;
}
}
//PWM
Obtenemos los valores que la señal tiene que estar en alto (t1) o en bajo (t0), en
función de los valores del periodo de la señal PWM.
T1=T*DC;
T0=(T*100-T1);
Si los valores son distintos de cero se hace un retardo del tiempo correspondiente.
Así pues la frecuencia de la señal PWM corresponde a 2*T1. La generación de la onda se
hace realizando retardos sobre el programa main; lo cual aunque ralentiza su ejecución no
55
tiene gran relevancia debido a la baja velocidad de respuesta requerida en el análisis de las
entradas.
if (T1!=0) output_high(PIN_C2);
delay_ms(T1);
if (T1!=T*100) output_low(PIN_C2);
delay_ms(T0);
}
}
56
Planos.
6.1
Esquemáticos.
6.1.1
Esquema de Fuente de Alimentación.
1
24VAC2
+ 4
1
IN
OUT
12V
3
+12V
C12
470U
+12V
1
2
D9
LED
2
2 -
C13
0
C14
100n
1n
5V
24VAC1
R70
680
+5V
1
2
0
0
U6
LM7805C
1
IN
OUT
3
+5V
D10
LED
2
24VAC1
24VAC2
GND
U1
LM7812C
PR1
2
1
GND
24VAC
3
6
C37
24V
C15
100n
1n
24VAC2
24VAC1
R71
2K2
0
Figura 33. Esquema de fuente de alimentación.
57
1
2
6.1.2
Esquema Detección de Nivel.
El proyecto consta de dos detectores de nivel, uno usado para el aljibe y el otro para
el depósito.
J5
R35
J
6
CON2
-
4
+
R33
R36
9
680K
-
2
6
680K
-
U4B
7
D57
R70
2K2
LED
D36
C31
22u
11
24VAC2
+
OUT
81
OUT
11
COMUN ALJIBE
5
V-
2
ALTO ALJIBE
SET POINT
U4C
11
680K
V-
ALJIBE
10
CON2
V+
+12V
1
OUT
V+
+
4
4
3
R39
+12V
V-
ALTO ALJIBE
BAJO ALJIBE
COMUN ALJIBE
U2A
+12V
680K
V+
560K
+12V
2
1
R32
JALJIBE
3
2
1
24VAC1
24VAC2
2
1
24VAC1
R31
39k
SEÑAL ALTO ALJIBE
R30
1k
24VAC1
Z1
4V7
R55
R52
+12V
+12V
R56
13
+
680K
-
680K
V+
U4A
1
OUT
14
1
OUT
11
24VAC2
+
U4D
2
2
D58
V-
-
3
-
R72
2K2
LED
D56
C51
22u
SEÑAL BAJO ALJIBE
11
12
V-
6
R53
SET POINT
4
7
OUT
680K
BAJO ALJIBE
COMUN ALJIBE
+12V
V+
+
4
U2B
11
5
V+
R59
V-
680K
4
560K
R51
39k
Z2
4V7
R50
1k
+12V
R48 15k
P44
J7
SET POINT
SEÑAL ALTO ALJIBE
SEÑAL BAJO ALJIBE
2
1
R49
CON2
15k
Figura 34. Esquema detector nivel de aljibe.
J5
2
1
24VAC1
R25
2
1
R22
4
+
OUT
11
COMUN POZO
-
R23
R26
9
680K
-
680K
+
U10B
OUT
81
2
6
-
7
D27
LED
D26
C21
22u
11
24VAC2
5
V-
2
SET POINT
U10C
R70
2K2
11
680K
ALTO POZO
V-
ALJIBE
10
CON2
V+
+12V
1
OUT
V+
+
4
4
3
R29
+12V
+12V
V-
ALTO POZO
BAJO POZO
COMUN POZO
U7A
+12V
680K
R21
39k
SEÑAL ALTO POZO
R20
1k
24VAC1
Z3
4V7
R25
R22
+12V
R26
13
24VAC2
680K
+
680K
U10A
V+
+
U10D
OUT
-
3
OUT
14
1
2
2
-
1
D28
V-
-
SET POINT
4
12
V-
6
R23
11
COMUN POZO
7
OUT
680K
BAJO POZO
+12V
V+
+
4
U7B
V-
5
V+
R29
LED
D26
C21
22u
R21
39k
R50
+12V
R28 15k
J7
SET POINT
2
1
R29
CON2
15k
Figura 35. Esquema detector nivel de pozo.
58
SEÑAL BAJO POZO
Z4
1k
P24
R72
2K2
11
+12V
680K
4
560K
11
3
2
1
560K
V+
JALJIBE
24VAC1
24VAC2
J6
CON2
SEÑAL ALTO POZO
SEÑAL BAJO POZO
4V7
6.1.3
Esquemático Microcontrolador.
SEÑAL BAJO POZO
SEÑAL ALTO POZO
SEÑAL BAJO ALJIBE
SEÑAL ALTO ALJIBE
5
4
3
2
1
23
24
ENTRADA RAPIDA
ENTRADA LENTA
NIVELES
RB2
RB3
RC4
RC5
RC6
RC7
19
8
PIC16F876
3
1
3
2
9
+5V
J3
R12
R13
ALJIBE LLENO
ALJIBE VACIO
BOMBA
POZO VACIO
EXPANSION1
EXPANSION2
J5
Y1
1
+5V
2
1
ENTRADA LENTA
ENTRADA RAPIDA
VDD
RA0
R2
R10
R11
POZO LLENO
ELECTROVALVULA
11
12
13
14
SEÑAL BAJO POZO
SEÑAL ALTO POZO
SEÑAL BAJO ALJIBE
SEÑAL ALTO ALJIBE
20
2
ENTRADAS
OSC2
RA1
2
10
3
2
1
EXPANSION 1
EXPANSION 2
25
26
RCO
RC1
RC2
RC3
OSC1
ENTRADA LENTA
ENTRADA RAPIDA
21
22
RB4
RB5
J2
R6
R7
R8
R9
U5
RB0
RB1
15
16
17
18
SEÑAL ALTO ALJIBE
SEÑAL BAJO ALJIBE
SEÑAL ALTO POZO
SEÑAL BAJO POZO
VPP
PGD
PGC
J1
VSS
VSS
1
28
27
VPP
PGD
PGC
3
+5V
R1
C43
ELECTROVALVULA
BOMBA
C42
1
2
3
ZTB
33pF
33pF
SALIDAS
ALIMENTACION
J4
+5V
EXPANSION 1
EXPANSION 2
3
2
1
AMPLIACIONES
+5V
+5V
+5V
R15
BOMBA
ELECTROVALVULA
C44
100nF
C45
100nF
C46
100nF
ALJIBE VACIO
ALJIBE LLENO
POZO VACIO
POZO LLENO
+5V
R14
R16
R17
220
220
220
2
J6
3
1
2
3
4
5
1
VPP
PGC
PGD
PROGRAMACION
D6
D2
LED
D3
D4
LED
LED
D5
LED
LED
R21
R22
220
220
Figura 36. Esquema PIC.
6.1.4
Esquemático de Etapa de Potencia.
U8 MOC3040
R42
1
6
1
2
BOMBA
1
2
220V
C42
R40
2
J2
0
4
RV1
ZERO
CROSS
CIRCUIT
Q1
TRIAC_1
C40
3
2
1
1n
SEÑALES
CON2
0
U9 MOC3040
1
R43
6
1
2
C43
ELECTROVALVULA
R45
2
4
ZERO
CROSS
CIRCUIT
RV2
Q2
TRIAC_1
C41
0
1n
J1
1
2
Figura 37. Esquema de etapa de potencia.
59
24VAC
6.2
Diseño de Placas de Circuito Impreso.
Se adjuntan los planos de las caras inferior, superior y de componentes.
6.2.1
Placa de Circuito Impreso de la Fuente de Alimentación
Figura 38. Cara de Componentes de Fuente de Alimentación.
Figura 39. Cara de Pistas Inferior de Fuente de Alimentación.
60
6.2.2
Placa de Circuito Impreso de Detección de Nivel.
Figura 40. Cara de Componentes de Detección de Nivel.
61
Figura 41. Cara de Pistas Inferior de Detección de Nivel.
Figura 42. Cara de Pistas Superior de Detección de Nivel.
62
6.2.3
Placa de Circuito Impreso de Microcontrolador.
Figura 43. Cara de Componentes de PIC.
Figura 44. Cara de Pistas Inferior de PIC.
63
Figura 45. Cara de Pistas Superior de PIC.
6.2.4
Placa de Circuito Impreso de de Etapa de Potencia.
Figura 46. Cara de Componentes de Potencia.
64
Figura 47. Cara de Pistas Inferior de Potencia.
6.3
Prototipo Para demostración.
Para la demostración del sistema se ha construido un prototipo montado sobre una
placa de baquelita de 8mm.Conjunto montado.
Figura 48. Prototipo Montado.
65
7
Presupuesto.
7.1
Presupuesto fabricación de prototipo.
Material
Cantidad
Precio
Precio
Unitario
Total
Resistencias carbón 1/4W
serie E12 5%
45
0,08
3,6
12
0,42
5,04
2 pines
5
0,6
3
Varistor 250V 7mm
2
1,04
2,08
Potenciómetro eje 10mm
4
1,2
4,8
Macarrón termoretráctil 5mm
1
1
1
Leds color rojo 5mm
6
0,35
2,1
Leds bicolor 5mm
2
0,35
0,7
Leds color verde 5mm
9
0,74
6,66
Zócalo para panel led 5mm
5
0,32
1,6
Baquelita de 150x150 para isolar
6
8,05
48,3
Zócalo para CI de 14 pines
4
0,5
2
Zócalo para CI de 6 pines
2
0,2
0,4
Zócalo para CI de 28 pines
1
0,95
0,95
Condensador poliéster 100nF
6
0,1
0,6
Condensador de 22pF
2
0,08
0,16
PIC 16F876
1
10,2
10,2
Operacional cuádruple LM324
4
0,31
1,24
Regulador de tensión LM7805
1
0,53
0,53
Regulador de tensión LM7812
1
0,53
0,53
Puente rectificador 1A
1
0,7
0,7
Diodo 1N4007
2
0,09
0,18
Optotriac MOC3040
2
0,63
1,26
Triac BT139
2
1,4
2,8
Regleta de conexión paso 5mm
3 pines
Regleta de conexión paso 5mm
66
Radiador para TO220 25ºC/W
1
1,09
1,09
Radiador para TO220 6.5ºC/W
1
6,9
6,9
2
2
4
0,37A.
1
11
11
Enchufe para red
1
2,4
2,4
Cable de 3 X 1,5
2
1,2
2,4
Suministro de sondas para prototipo
2
30
60
Pasamuros para las sondas
2
0,08
0,16
2
0,95
1,9
1
0,65
0,65
22uF/25V
2
0,2
0,4
Cable silicona rojo 0.75mm2 750V
25
0,15
3,75
Bridas tipo unex 60x3mm
20
0,09
1,8
Conjunto mica
aislante+silicona+tornillería
Transformador 220V/12+12V
Interruptores para panel 5mm
220V/8A
Condensador electrolítico
470uF/25V
Condensador electrolítico
Total de materiales IVA no
incluido
196,88 €
Horas de fabricación de PCBs,
motaje de las PCBs,
y comprobaciones.
12
30
360
Total Horas construcción
IVA no incluido
360,00 €
67
68
Descargar