DG-TAM Oil Work & Service

ic e Se rv & or k O il W SISTEMA DE CONTROL LÓGICO PROGRAMABLE D G -T AM (Desarrollo de Hardware – Diseño de Instrumentos – Ejemplos de Aplic

1 downloads 125 Views 1MB Size

Recommend Stories


customer Service
ENG F SP Dishwasher Installation Instructions Lave-vasseille Instructions d’installation Lavavajillas Instruccionesde instalación Table of content

Extra Virgin Olive Oil
Extra Virgin Olive Oil Olive Oil Extra Virgin Olive It is made from a fine selection of Picual olives a ppreciated variety. Its unique mechanical proc

Story Transcript

ic e Se rv & or k

O

il

W

SISTEMA DE CONTROL LÓGICO PROGRAMABLE

D

G

-T

AM

(Desarrollo de Hardware – Diseño de Instrumentos – Ejemplos de Aplicación – Introducción al Software de Programación)

(2da Parte)

Proyecto realizado por:

Torres Alejandro Martin

Tec. Sup. Electromec. Orientación en automatización y control Industrial Ing. Electrónico Orientación Instrumentación y Control Industrial

(torres.electró[email protected])

1

INDICE 1. Introducción

or k

&

Se rv

ic e

Pág. 3 2. Breve repaso de algunas instrucciones del lenguaje de Programación Pág.4 3. Sensores Analógicos Pág.6 4. Lectura de entradas analógicas Pág.7 5. Sistema de números Pág.8

W

6. Visualización de cifras analógicas en display de 7 segmentos Pág.9

D

G

-T

AM

O

il

7. Ejemplos de sensores y actuadores con y para PicAXE Pág.10 8. Breve paseo por software creado por Torres Alejandro Martin de compilación Ladder-Basic / Diagrama de Flujo – Basic / Diagrama de Compuertas – Basic. Pág.21 9. Misceláneas – circuitos varios Pág.22

Torres Alejandro Martin

Tec. Sup. Electromec. Orientación en electrónica y automatización y control Industrial Ing. Electrónico Orientación Instrumentación y Control Industrial

(torres.electró[email protected])

2

INTRODUCCIÓN

G

-T

AM

O

il

W

or k

&

Se rv

ic e

Como hemos mencionado en el capitulo anterior, el sistema PICAXE, es un practico sistema para la implementación en lo que respecta la “electrónica de control”. En nuestro caso, demostramos en la primera parte la construcción de un PLC (controlador lógico programable) con dicho sistema, con todas las variantes de hardware, a su ves, se dio una breve vista por el entorno de lenguaje y tipo de programación de estos microcontroladores; y como podremos observar, este es un desarrollo sencillo y de muy bajo coste, con características practicas y de segura implementación en el ámbito industrial. Hay que tener en cuenta, que este PLC, no cuenta con filtros, y a de tener muy en cuenta donde será la localización de este, ya que es muy propenso al ruido eléctrico si este no tiene un gabinete adecuado (buscar y ver temas relacionados a protección de circuitos por medio de jaulas) u la colocación de algún filtro complementario fuera de su hardware. La idea básica del presente desarrollo, es demostrar la eficiencia del actual sistema seleccionado, no solo para la construcción de un PLC, si no que también para la fabricación de instrumentos tales como sensores y actuadores.

D

En este capitulo, veremos una breve vuelta nuevamente por el lenguaje e instrucciones de programación. Además, veremos algunos ejemplos prácticos para la realización de instrumentos varios (sensores y actuadores)... Algunos de los artículos que veremos en este capitulo son:         

TACOMETRO (Encoder) PARA CONTROL DE VELOCIDAD EN MOTORES VARIADOR DE FRECUENCIA PARA PEQUEÑOS MOTORES DE ALTERNA (control de motor paso a paso) INSTRUMENTO PARA LA MEDICION DE DISTANCIA Y O CAUDAL POR INTERMEDIO DE ULTRASONIDO PEQUEÑOS ACTUADORES “PID” (servos) INSTRUMENTOS DE TEMPERATURA “VIGIA” PARA GESTIONAR LA SEGURIDAD DE ALGUNA MAQUINARIA ELECTROMECÁNICA DATALOGER (TARJETA DE ADQUISICIÓN DE DATOS) INSTRUMENTO PARA LECTURA Y EMISIÓN DE DATOS POR INFRARROJO ENTRE OTROS

3

COUNT

La sintaxis: El PIN del count, periodo, inconstante,

- Los pin son las entradas de una variable / constante (están entradas están definidas entre 0-7) y estos, en este caso, tienen estados que están

Se rv

ic e

definidos con valores específicos de I/0 (digitales). - El estado es una variable / constante (0 o 1) qué especifica qué entrada debe leer antes de empezar la medida en mínimo de 10us unidades (con un cristal de 4MHz – el tiempo máximo de lectura, esta definido en 9999seg = 166.65min = 2,7775hrs dado que estos pulsos son registrados y guardados en la memoria flash del microprocesador osea w1,w2,b1,b2 etc. – para el caso en el que se quieran guardar los pulsos en la memoria flash, estos estarán limitados a 9999 pulsos... supongamos que queremos hacer el conteo de revoluciones de un motor que tiene una RPM de 1100, nos ocasionaría el problema de que a cada 9,09 minutos, tendríamos la memoria del microcontrolador llena. Para tal caso y para no tener dicho problema, haremos un pequeño sistema de SCAN cada 30 segundos o e tiempo que crean prudente, en el programa del microcontrolador, osea, cada 30 seg. el microcontrolador hará un conteo nuevo de pulsos).Para ser mas explicito, una ves especificada la entrada, esta comienza un recuento de pulsos entrantes en un tiempo determinado. -El periodo es un variable / constante (1-65535ms a las 4MHz) -La -variable recibe el resultado (use una palabra inconstante) (0-65535)

La función:

Cuenta los pulsos de entradas en un PIN determinado en un lapso de tiempo configurado

&

La información:

or k

El chequeo de los pin de entradas para una cuenta o suma de pulsos entrantes, se toman como referencia las transferencias de estado bajo a alto. Estas transiciones son guardadas como pulsos en un de las 13 variables del microcontrolador. Con un cristal de 4MHz , se puede verificar el PIN de entrada con una velocidad máxima de 20uSeg. , para que la frecuencia de conteo de pulsos sea mas alta se deberá utilizar un cristal de 25kHz.

Afectando la velocidad del reloj:

il

W

El valor del periodo de lectura estará 0.5ms con un cristal de 8MHz y 0.25ms con uno de 16MHz.... A 8MHz el PIN de la entrada se verifica cada 10uSeg, para que la frecuencia más alta de pulsos eso puede contarse es 50kHz, mientras presumiendo un 50% ciclo de deber . A las 16MHz el PIN de entrada se verifica cada 5us, para que la frecuencia más alta de pulsos eso puede contarse es 100kHz, mientras presumiendo un 50% ciclo de deber.

O

Ejemplo:

loop: count 1, 5000, w1 debug w1 goto loop

AM

‘ contar los pulsos del PIN1 en 5 segundos y alojarlos en w1 ‘ reflejar el valor de los pulsos contados en el display ‘ volver a loop

main:

G

D

end

count 1, 5000, w1 pause 1000 gosub encoder

-T

NOTA: no necesariamente tiene que reflejarse el valor en un display, podemos implementar los comandos IF...THEN... u otros para darle una acción a la salida... osea, un ejemplo seria que el comando COUNT registre el conteo del encoder cada 5 segundos en una variable, luego, compararíamos esta variable con alguna constante, y así daríamos según el resultado de esta comparación alguna acción_ mas o menos algo así:

encoder:

if w1 = 0 then action_1 if w1 > 255 then action_2 if w1 < 255 then action_3

return action_1: (acá iría alguna acción especifica, eso se los dejo a ustedes) return action_2: (acá iría alguna acción especifica, eso se los dejo a ustedes) return action_3: (acá iría alguna acción especifica, eso se los dejo a ustedes) return

4

pulsin

La sintaxis:

PULSIN-ESTADO del las entradas variables

or k

&

Se rv

ic e

- Los pin son las entradas de una variable / constante (están entradas están definidas entre 0-7) y estos, en este caso, tienen estados que están definidos con valores específicos de I/0 (digitales). - El estado es una variable / constante (0 o 1) qué especifica qué entrada debe leer antes de empezar la medida en mínimo de 10us unidades (con un cristal de 4MHz – el tiempo máximo de lectura, esta definido en 9999seg = 166.65min = 2,7775hrs dado que estos pulsos son registrados y guardados en la memoria flash del microprocesador – para el caso en el que se quieran guardar los pulsos en la memoria flash, estos estarán limitados a 9999 pulsos... supongamos que queremos hacer el conteo de revoluciones de un motor que tiene una RPM de 1100, nos ocasionaría el problema de que a cada 9,09 minutos, tendríamos la memoria del microcontrolador llena. Para tal caso y para no tener dicho problema, haremos un pequeño sistema de SCAN cada 30 segundos en el programa del microcontrolador, osea, cada 30 seg. el microcontrolador hará un conteo de pulsos).Para ser mas explicito, una ves especificada la entrada, esta comienza un recuento de pulsos entrantes por esta en un tiempo determinado. - La variable recibe el resultado (1-65535). Si la interrupción ocurre (0.65536s) el resultado sea 0. El comando PULSIN mide la longitud de un pulso en una entrada definida. Cuando esta en el periodo de interrupción, ningún pulso activa el cronometro, osea el resultado será 0. Use el orden de la cuenta para contar el número de pulsos con un tiempo u periodo especificado. Es normal usar una palabra inconstante con este orden. Afecte de Velocidad del Reloj Aumentada: 4MHz 10us unidad la interrupción de 0.65536s 8MHz 5us unidad la interrupción de 0.32768s 16MHz 2.5us unidad la interrupción de 0.16384s Ejemplo:

W

pulsin 3,1,w1 ‘memorizar y guardar la longitud del pulso de la entrada3 en la variable w1

AM

Syntax: ENTRADAS para un pulso de salida

O

il

pulsout

D

G

-T

EL PIN - TIME DE PULSOUT Los pin son las entradas de una variable / constante (están entradas están definidas entre 0-7) y estos, en este caso, tienen estados que están definidos con valores específicos de I/0 (digitales). Time es un variable / constante que especifica el periodo (0-65535) en 10us unidades como mínimo (con un cristal de 4MHz). La función: Esta función dará a una salida, un rendimiento, anchura o duración de un pulso cronometrado en una salida seleccionada; Osea, activaremos una salida previamente seleccionada por un tiempo determinado. En otras palabras, la orden de pulsout genera un pulso con un tiempo y longitud seleccionado. Si el rendimiento es inicialmente largo, el pulso será alto, y viceversa. Buscando efectos de aumentos en la Velocidad del Reloj para el tiempo de habilitación de una salida: 4MHz 10us unidad 8MHz 5us unidad 16MHz 2.5us unidad

loop: pulsout 4,150 pause 20 goto loop

‘ enviar un pulso de 1.50ms en la salida 4 (PIN4) ‘ generar pausa de 20 ms ‘ volver a loop

5

Sensores analógicos

&

Se rv

ic e

Los sensores analógicos miden señales continuas tales como luz, temperatura o posición. El sensor analógico provee de una señal que consiste en un voltaje variable. Este voltaje puede luego ser representado con un número del 0 al 255 (Por ejemplo muy oscuro = 0, luz muy brillante = 255)

W

or k

Ejemplos típicos de sensores analógicos son: · Fotorresistencias ó LDRs (Light Dependant Resistors - Resistencias variables con la luz ) · Termistores · Resistencias variables (potenciómetros) El tablero tutorial consta de una fotorresistencia montada en el mismo , la cual está conectada a la entrada 2 (input2).

Fotorresistencia (LDR)

D

G

-T

AM

O

il

La fotorresistencia es un componente cuya resistencia varia al variar la intensidad de luz que incide sobre la misma, es decir, su resistencia cambia según el nivel de luz. Bajo luz brillante su resistencia es baja (típicamente alrededor de 1k) mientras que en la oscuridad su resistencia es muy alta (típicamente alrededor de 1M). A continuación se muestra el símbolo y la curva típica de resistencia contra intensidad de luz para la fotorresistencia:

La fotorresistencia está conectada a la entrada 2 en configuración de divisor de voltaje.

6

Leyendo canales de entradas analógicas

O

il

W

or k

&

Se rv

ic e

El valor de una entrada analógica puede ser fácilmente copiado dentro de una variable utilizando el comando readadc. El valor de la variable (0 a 160) puede luego ser probado. El siguiente programa enciende un diodo LED si el valor es mayor que 120 y otro diodo LED si el valor es menor de 70. Si el valor está entre 70 y 120, ambos diodos LED permanecen apagados.

D

G

-T

AM

Note que el microcontrolador PICAXE-18 tiene tres canales analógicos nombrados del 0 al 2. En el tablero tutorial la fotorresistencia está conectada permanentemente al pin 2, pero los otros dos canales (0 y 1) están libres para conectar otros sensores. Frecuentemente al utilizar sensores análogos es necesario calcular el valor de “umbral” necesario para el programa (esto es, los valores 70 y 120 en el programa anterior). El comando debug permite ver fácilmente el valor en “tiempo real” de un sensor permitiendo calcular el valor umbral experimentalmente.

Al ejecutar este programa aparecerá una ventana de depuración (debug) en la pantalla del ordenador, indicando el valor de la variable b0. A medida que el sensor es probado con la variable, la ventana va indicando la lectura actual del sensor.

7

SISTEMAS DE NÚMEROS

D

G

-T

AM

O

il

W

or k

&

Se rv

ic e

Los microcontroladores operan realizando un gran número de comandos en un espacio de tiempo muy corto procesando señales electrónicas. Estas señales están codificadas en sistema binario – la señal puede ser high (1) o low (0). El sistema numérico utilizado diariamente es el sistema decimal. Este sistema numérico utiliza diez dígitos (del 0 al 9) para explicar que tan grande o pequeño es el número. Sin embargo al trabajar con microcontroladores es muchas veces más fácil trabajar en código binario; especialmente al tratar de controlar múltiples salidas al mismo tiempo. Un sólo dígito binario es conocido como un “bit” (binary digit – dígito binario). El sistema PICAXE utiliza 8 bits (1 byte), teniendo al dígito menos significativo en el extremo derecho y al dígito más significativo en el extremo izquierdo. Por consiguiente, el número binario %11001000 pone a los bits 7,6,3 en high (1) y al resto en low (0). El símbolo % indica al ordenador que está trabajando en sistema binario y no en decimal. La utilización del código binario permite controlar las ocho salidas al mismo tiempo, en vez de sólo utilizar los comandos high y low. El siguiente programa demuestra como hacer que la pantalla de siete barras del tablero tutorial cuente del 0 al 9.

Cada línea “let pins =” cambia el número de barras encendidas en la pantalla de siete segmentos. Esto es mucho más rápido que utilizar muchísimas veces los comandos high y low para hacer lo mismo.

8

Visualizando Cifras Analógicas en la Pantalla de Siete Barras

D

G

-T

AM

O

il

W

or k

&

Se rv

ic e

Este programa “lee” la cantidad de luz detectada por la fotorresistencia en la entrada 2 y luego visualiza una cifra asignada a dicha cantidad de luz en la pantalla de siete segmentos.

9

Controlando motores paso a paso

Los motores paso a paso, son motores de alta precisión comúnmente utilizados en unidades de disco, impresoras, plotters y relojes de ordenadores. A diferencia de los motores de CC, los cuales giran libremente al aplicarles potencia, los motores paso a paso requieren que su fuente de alimentación sea continuamente “impulsada” en cuatro patrones diferentes. Por cada impulso, el motor se mueve un “paso”, típicamente 7.5° (requiriendo por lo tanto 48 pasos para una revolución completa).

G

Introducción

-T

AM

O

il

W

or k

&

Se rv

ic e

Los motores paso a paso tienen algunas limitaciones. Primero, el consumo de potencia es mayor cuando el motor está detenido (debido a que todas las bobinas requieren estar energizadas). Segundo, la velocidad de operación está limitada a aproximadamente 100 “pasos” por segundo, lo cual equivale a 2 revoluciones por segundo ó 120 RPM. El motor paso a paso contiene una serie de electroimanes fijos a la armadura central y cuatro bobinas ubicadas alrededor de la carcasa del motor. Cuando corriente eléctrica pasa por estas bobinas, las mismas generan un campo magnético el cual atrae ó repele a los electroimanes permanentes en la armadura, provocando que la armadura gire un “paso” hasta que los campos magnéticos estén alineados. Luego, las bobinas son energizadas con un patrón diferente para crear un campo magnético diferente y provocar que la armadura gire otro “paso”.

D

Para hacer que la armadura gire continuamente, las cuatro bobinas internas del motor paso a paso deben ser encendidas y apagadas continuamente en cierto orden. El chip controlador ULN2003A del tablero tutorial provee del método necesario para interrelacionar a estas cuatro bobinas. El motor paso a paso debe ser conectado a los agujeros en el tablero tutorial de la siguiente manera: Cable Negro 2 + Cable Blanco 3 + Cable Amarillo 0 – Cable Rojo 1 – Cable Naranja 2 – Cable Marrón 3 – La siguiente tabla muestra los cuatro “pasos” distintos requeridos para hacer girar el motor:

Para hacer girar al motor en dirección contraria, los pasos deben ser invertidos (4-3-2-1-4-etc. en vez de 1-2-3-4-1-etc.)

10

Se rv

ic e

Nota: La configuración del alambrado de los motores paso a paso puede variar según el fabricante. Por lo tanto, puede que sea necesario reorganizar las conexiones de las bobinas para que la secuencia mostrada arriba opere correctamente. Un arreglo incorrecto de las bobinas puede causar que el motor vibre en una dirección y otra en vez de girar continuamente. La mayoría de los motores paso a paso están diseñados para trabajar a 12 V, pero generalmente pueden trabajar sin problemas (aunque con un torque reducido) a 6 V. El siguiente programa también puede utilizar un número binario para encender y apagar todas las líneas de salida al mismo tiempo. La siguiente tabla muestra el número binario de salida para cada paso:

D

G

-T

AM

O

il

W

or k

&

Intente cambiar la velocidad de giro alterando el valor del retardo (delay) en el siguiente programa

11

or k

&

Se rv

ic e

Control de temperatura / Detector de luminosidad: El diagrama electrónico que vemos a continuación, es un simple circuito que tiene la capacidad de controlar artefactos por intermedio de un termistor. Dicho componente, es el encargado de obtener la lectura de temperatura, y enviarlo al pin de entrada analógica en el microcontrolador. El presente, puede ser utilizado como protección de calderas de agua, radiadores, etc. Otras de las opciones, en ves de utilizar un termistor, podríamos colocarles una pequeña fotorresistencia, y así obtener un detector de luminosidad. Lo único que se debe hacer es setear en el programa del microcontrolador, los márgenes de trabajo, y la función que dará como resultado.

D

G

-T

AM

O

il

W

Sensor de temperatura: El DS18B20, es un excelente censor de temperatura, que no llega a tener las características de una PT1000, pero tranquilamente puede remplazar a una PT100. El diagrama aquí expuesto, es un circuito para la entrada de datos proveniente del sensor de temperatura. Estos entran en la entrada análoga del microcontrolador y según el programa y o seteo que tenga este cargado, cumplirá una función determinada. El presente, puede ser utilizado en controladores de Temperatura ambiental, control de temperatura en Liquidos u químicos de estado gaseoso o liquido. Se puede implementar en cualquier sitio en que se requiera un sensor de temperatura.

12

Sensor de Liquidos – Soluciones Acuosas – Variaciones Físicas (Presión, Temperatura, Humedad)

O

il

W

or k

&

Se rv

ic e

Bien, e aquí un instrumento diseñado para detectar la presencia , ausencia o nivel de agua y otros liquidos conductores, mediante pruebas comparativas de resistencias. La base del circuito esta echa implementando un LM1830, que es un detector de Liquidos, Soluciones Acuosas, Variables Físicas. El dispositivo se ofrece en una capsula DIP de 14 pines y opera con tensiones desde “5Vcc”(ideal para nuestro microcontrolador). La complejidad de este integrado, es que se puede utilizar en aplicaciones practicas para controlar o detectar otras variaciones Físicas tales como PRESION, TEMPERATURA Y HUMEDAD.

AM

Instrumento sensor de referencia BANDGAP

D

G

-T

La base de este instrumento, fue realizada con un LM385. Este circuito encapsulado, es una referencia de voltaje ajustable de tres terminales, que proporciona tensiones de VCC muy estables y precisas desde 1,24Volt hasta 5,3volt, con corrientes de operación desde 10mA hasta 20mA. Sus principales aplicaciones son MEDIDORES DE TENCIONES PORTÁTILES, REGULADORES DE VOLTAJES, CIRCUITOS ANÁLOGOS DE PROPÓSITO GENERAL, ETC. La referencia BANGAP, basada en un espejo de corriente, proporciona una tensión patrón del orden de los 1,24Vcc con un coeficiente térmico prácticamente igual a cero. Apartir de esta tensión, el amplificador operacional compuesto, produce la propia corriente de programación del espejo, y, mediante un sencillo divisor resistivo, permite ajustar el voltaje de salida en cualquier valor desde 1,24Vcc hasta 5,3Vcc.

13

Instrumento para la medición de distancias, y o caudal por medio de ULTRASONIDO

Se rv

ic e

En si, este proyecto es un simple sonar que con un poco de astucia en la programación del microcontrolador, le podremos dar muchas mas funciones de las que yo les he dado o estoy ahora presentando. El sonar esta compuesto por dos etapas, una formada por el transmisor de ultrasonido y otra por un receptor. El transmisor estará basado en un circuito 555 como oscilador y el receptor utilizara un preamplificador CMOS y un decodificador de tono NE567. Podrán utilizarse como transductores de ultrasonido un par transmisor / receptor UST-40 u otro de similar características. El programa del microcontrolador, emitirá un pulso de ultrasonido, y medirá el tiempo en que demora en detectarse su rebote. Con dicho tiempo se puede calcular la distancia de un objeto, la capacidad o nivel en un tanque, entre otras funciones mas...todo eso esta como mencione anteriormente, en la astucia dela persona ala hora de programar el microcontrolador. Análisis del circuito: El pin del reset del 555 actúa como habilitación del sistema de emisión. Cuando este es puesto a 1, el circuito transmite una señal de ultrasonido; al ponerlo en cero, deja de transmitir. En el receptor, las señales son amplificadas 100 veces y enviadas al decodificador de tonos NE567, el cual pone a su salida en alto cuando la frecuencia de la señal de entrada es de 40KHz.

El procedimiento de medición es el siguiente:

El programa del microcontrolador pone a 1 el pin que activa el transmisor. El receptor captara la señal transmitida y el programa del micro desactivara la salida que activa el transmisor de ultrasonido, y medirá el tiempo transcurrido entre que el receptor pone su salida a 0 y el primer eco recibido.

or k

&

El programa del microcontrolador:

‘define, renombrar la salida 7 con el nombre o la palabra transmisor ‘define, renombrar la entrada 0 con el nombre ola palabra entrada ‘define, renombra tiempo a una variable

W

Symbol transmisor = pin7 Symbol entrada = pin0 Symbol tiempo = w2

il

Setup: Let pin = 0 Output transmisor Input entrada

-T

‘pone en 1el pin transmisor y activa el transmisor ‘mide cuanto tiempo esta la entrada en 1 ‘De aquí en mas, se los dejo que sigan elaborando el programa según su ‘necesidad

D

G

Ping: Pulsout transmisor, 50 Pulsin entrada,1,time

AM

O

‘pone todos los pines a 0 ‘setea el pin como transmisor para controlar el 555 ‘setea el pin como entrada para leer la salida del NE567

14

FORWARD (adelante)

La sintaxis: El motor DELANTERO - El motor es el nombre de motor UN o B. La función: Haga un giro del rendimiento de motor adelante La información: Éste es un ‘que el orden de ' pseudo diseñó para el uso por los estudiantes más jóvenes con modelos de aula de preassembled. Es realmente equivalente a ‘alto 4: muja 5 ' (el motor Un) o ‘alto 6: muja 7 ' (B de motor). Este orden normalmente no se usa fuera el el aula.

Se rv

ic e

El ejemplo: forward A ‘ motor A avanzar wait 5 ‘ esperar 5 segundos backward A ‘ motor A retroceder wait 5 ‘ esperar 5 segundos halt A ‘ detener motor A wait 5 ‘ esperar 5 segundos goto loop ‘ volver a loop

&

BACKWARD (hacia atrás) La sintaxis:

G

-T

AM

El ejemplo: forward A ‘ motor A avanzar wait 5 ‘ esperar 5 segundos backward A ‘ motor A retroceder wait 5 ‘ esperar 5 segundos halt A ‘ detener motor A wait 5 ‘ esperar 5 segundos goto loop ‘ volver a loop

O

il

W

or k

El motor DIRIGIDO HACIA ATRÁS - El motor es el nombre de motor UN o B. La función: Haga un giro del rendimiento de motor al revés La información: Éste es un ‘que el orden de ' pseudo diseñó para el uso por los estudiantes más jóvenes con modelos de aula de preassembled. Es realmente equivalente a ‘muja 4: 5 ' altos (el motor Un) o ‘mugen 6: 7 ' altos (B de motor). Este orden normalmente no se usa fuera de el aula.

D

HALT (la parada)

La sintaxis: El motor de la PARADA - El motor es el nombre de motor UN o B. La función: Haga una parada del rendimiento de motor. La información: Éste es un ‘que el orden de ' pseudo diseñó para el uso por los estudiantes más jóvenes con modelos de aula de preassembled. Es realmente equivalente a ‘muja 4: muja 5 ' (el motor UN) o ‘mugen 6: muja 7 ' (B de motor). Este orden normalmente no se usa fuera el el aula. El ejemplo:

forward A ‘ motor A avanzar wait 5 ‘ esperar 5 segundos backward A ‘ motor A retroceder wait 5 ‘ esperar 5 segundos halt A ‘ detener motor A wait 5 ‘ esperar 5 segundos goto loop ‘ volver a loop

15

ENCODER / TACOMETRO PARA CONTROL DE VELOCIDAD EN MOTORES

D

G

-T

AM

O

il

W

or k

&

Se rv

ic e

Una de las necesidades de un sistema impulsado por un motor de corriente continua, es que su velocidad se pueda mantener constante ya que en la mayoría de las aplicaciones de servomecanismos la velocidad de giro debe ser conocida y pausible, de ser controlada desde un circuito de comando. Como esta característica no es propia de los motores de corriente continua, que cambian su velocidad según la carga mecánica que tienen aplicada, se necesita utilizar un sistema de medición cuya salida de señal, realimentada en el circuito de manejo de potencia, sea proporcional a la velocidad. Para tal efecto se utiliza un tacómetro, que es un artefacto que debe generar una señal proporcional a la velocidad real del motor con la máxima precisión posible. Si se aplica una carga mecánica al eje del motor de corriente continua y la velocidad disminuye, esta disminución se refleja en la señal del tacómetro. Como la señal es ingresada al circuito de control de velocidad del motor, con la configuración apropiada en este circuito de realimentación negativa, se reajusta la corriente alimentada al motor hasta llevar la velocidad de nuevo al valor deseado. El tacómetro puede ser un generador de VCC adosado al mismo eje del motor, y por lo general integrado en la misma carcasa de este; o bien, también puede ser un pequeño disco con ranuras o franjas alternadas de color claro y oscuro, con un sistema óptico de lectura que entrega pulsos al enfrentarse las ranuras o bandas sobre el foto sensor. Otras de las posibilidades, existen tacómetros que utilizan un sensor magnético que detecta el paso de dientes metálicos por delante de él. La señal analógica del tacómetro generador de VCC es introducida al circuito por medio de amplificadores operacionales, mientras que la señal del tacómetro de bandas o ranuras, que básicamente es un pulso, debe ser procesada digitalmente. Para nuestro diseño utilizaremos el proceso digital, dado a su simpleza y características digitales. Los tacómetros de pulsos (a los que también se llaman Encoders), si bien requieren mayor procesamiento de señal para realizar la alimentación, ofrecen la ventaja adicional de que se pueden contar digitalmente los pulsos y así saber con precisión la cantidad de vueltas y fracciones de vueltas que ha completado el sistema. Los usos de este dispositivo son diversos (hacer que el motor avance una serie de vueltas y que este no sea controlado por un tiempo especifico, controlar la velocidad del motor, etc). En cualquier caso, siempre se debe de tener en cuenta que se trabaja con una gran incertidumbre introducida por muchos factores (peso de carga variable, peso de rotor por desgastamiento, temperatura, acumulación de suciedad, entre otros factores en los en rodamientos, características de sensores, ruido eléctrico, incluso errores en las lecturas por otras causas, entre muchos otros mas) que pueden hacer que se pierda la cuenta de los pulsos. Elaboración de los sensores del encoder (circuito electromecánico): Para la construcción del encoder, utilizaremos sensores infrarrojos CNY70 y dos discos con franjas blancas y negras alternadas (en este caso decidí utilizar este sistema dado a que los sensores infrarrojos CNY70 son ideales en cuanto a relación calidad-precio para detectar cambios de blanco a negro en una distancia de milímetros, otras de las variantes seria que también podemos implementar un disco con ranuras y optocopladores como sensores. Todo esta en el criterio de uno y la implementación de tal).

16

Elaboración de los sensores del encoder (circuito electromecánico): Para la construcción del encoder, utilizaremos sensores infrarrojos CNY70 y dos discos con franjas blancas y negras alternadas (en este caso decidí utilizar este sistema dado a que los sensores infrarrojos CNY70 son ideales en cuanto a relación calidad-precio para detectar cambios de blanco a negro en una distancia de milímetros, otras de las variantes seria que también podemos implementar un disco con ranuras y optocopladores como sensores. Todo esta en el criterio de uno y la implementación de tal).

ic e

Los Discos:

D

G

-T

AM

O

il

W

or k

&

Se rv

Los discos pueden ser construidos de cualquier material que se le pueda ser pintada las franjas negras y blancas perfectamente. Verificar que el color negro este cubierto bien en todas sus zonas, ya que sino se tendría problemas de detección de color negro con los sensores. El disco que se ilustra a continuación, tiene 8 franjas, puede ser de 12 o mas. Normalmente no se habla del numero de franjas negras, sino de las totales (negras y blancas). Por tanto, el borde o perímetro del disco estará dividido en 16 partes u segmentos, respectivamente. Una ves realizados los discos y comprobado si se detectan bien los cambios de negro a blanco y viceversa, se cortaran con cuidado según el diámetro del objeto a controlar. En el caso de que sean las RPMVELOCIDAD de un motor, se tomara el diámetro del rotor de este y se colocara bien firme sobre el eje de rotor. El disco debe de estar perfectamente centrado y anclado a 90º con respecto al eje, osea, este debe de quedar paralelo ala carcaza. Los sensores se colocaran en la parte inferior de la estructura del disco, y deberán de estar firmes, aislados de vibraciones y otros factores que nos den lecturas erróneas, como este paso es dependiente de la plataforma que se esta utilizando, solo se indica como recomendación que se aproxime lo máximo posible al disco sin que entre en contacto con el para mejorar la detección durante el uso.

Una de las cosas que sugiero, es que no siempre se queden con la opinión de los demás y que experimenten con diferentes posibilidades (coherentes) que se le ocurran. Estas acciones lo ayudarían a ver si funciona o no, obviamente, después debemos de ver el por que funciono o no. Por ejemplo, yo les di el ejemplo de hacer este encoder con un disco pintado con franjas blancas y negras, y como sensor utilizar un infrarojo; Bien, que pasa si sustituimos este sensor por un simple optocoplador, y en ves del disco pintado, utilizamos un disco con ranuras. .La otra posibilidad, es la de utilizar dos sensores magnéticos y un imán pegado al disco. También esta la posibilidad de utilizar un microswitch que se accione con dientes colocados estratégicamente en el disco (esta opción no es recomendable ya que su funcionamiento es mecánico y esto nos da el problema de fallas mecánicas por desgaste al tiempo).

17

PWMOUT pin,period,duty ciclos

Los pin son las salidas de una variable / constante (están entradas están definidas entre 0-7) y estos, en este caso, tienen estados que están definidos con valores específicos de I/0 (digitales). (sólo 3 en 18X, sólo 2 en 08M, 1 o 2 está disponible en 28X/40X) El -periodo es un variable/ constant (0-255) qué juegos el periodo de PWM (el periodo es la longitud de 1 ciclo del on/off es decir los mark:space totales cronometran).

G

-T

AM

O

il

W

‘pulso pwm en la salida 2 ‘hacen una pausa 1s ‘volver a giro

2,150,100

D

El ejemplo: giro: pwmout pause1000 goto giro

or k

&

Se rv

ic e

La función: Genere un rendimiento del pwm continuo que usa el pwm interior del microcontroller el módulo La información: Este orden es diferente a más otros órdenes BÁSICOS en que el pwmout las carreras continuamente (en el fondo) hasta otro orden del pwmout se envía. Por consiguiente puede usarse, por ejemplo, para manejar un motor continuamente a variar las velocidades. Detener el pwmout envían un orden con el periodo = 0. El periodo de PWM = (el periodo + 1) x 4 x resonador velocidad (la velocidad del resonador para 4MHz = 1/4000000) El PWM deber ciclo = (el deber) la x resonador velocidad La nota que el periodo y los valores de deber se unen por las ecuaciones anteriores. Si usted desea a mantenga una 50:50 proporción del marca-espacio que aunque aumentando el periodo, usted también debe aumentar el valor de ciclo de deber apropiadamente. Un cambio en el resonador cambiará la fórmula. NB: Si usted desea saber la frecuencia, la frecuencia de PWM = 1 / (el periodo de PWM) Como los usos del orden el módulo del pwm interior del microcontroller hay ciertas restricciones a él son el uso: 1) el orden sólo trabaja en ciertos alfileres (28X/40X -1&2, 18X - 3, 08M -2) .2) ciclo de deber es un 10 valor del pedazo (0 a 1023). El valor de ciclo de deber máximo debe no se ponga mayor que 4x el periodo, como la marca ‘a tiempo ' serían entonces más mucho tiempo que el periodo de PWM total (vea las ecuaciones sobre)! Poniendo esto anteriormente el valor causará el behaviour errático. 3) el módulo del pwm usa un solo cronómetro para ambos alfileres en 28X/40X. Por consiguiente cuando usando PWMOUT en ambos alfileres el periodo serán el mismo para ambos alfileres. 4) el orden del servo no puede usarse al mismo tiempo como el pwmout ordene cuando ellos los dos el uso el mismo cronómetro. 5) el pwmout detiene durante la siesta, duerma, o después de un orden del extremo

18

el servo

&

Se rv

ic e

La sintaxis: EL PIN, PULSE DE SERVO _Los pin son las entradas de una variable / constante (están entradas están definidas entre 0-7) y estos, en este caso, tienen estados que están definidos con valores específicos de I/0 (digitales). - El pulso es el variable/ constant (75-225) qué especifica la posición del servo La función: Poner un pin de salida en alto continuamente para manejar un servo de estilo de teledirección La información: Servos, como normalmente encuentre en los juguetes de mando de radio, es un motor muy exacto / asamblea de la caja de engranajes a que puede moverse repetidamente a la misma posición debido a su sensor de posición interior. Generalmente los servos requieren un pulso de 0.75 a 2.25ms cada 20ms, y este pulso constantemente debe repetirse cada 20ms. Una vez el pulso es perdido los servo soltarán la posición. Los servo ordenan al pin de salida que pulse un estado en alto con una longitud de pulso medido en tiempo(el ms de x0.01)cada 20ms. Este orden es diferente a todos los otros órdenes BÁSICOS en que el pulsando el modo continúa hasta otro servo, el orden alto o bajo se ejecuta. Los órdenes altos y bajos dejan de pulsar inmediatamente. Las órdenes de Servo ajustan la longitud del pulso al nuevo valor del pulso, moviendo el servo. El Servo no puede usar el mismo tiempo como el pwmout cuando ellos comparten un cronómetro común. No use un valor de pulso menor de 75 o mayor que 225, ya que esto puede causar un mal funcionamiento en el servo. Debido a las tolerancias en 8 los fabricantes de servos los fabrican para que todos los valores de ellos sean aproximados o iguales y requerirá una posible afinación para la experimentación. Siempre use una fuente separada del hardware del microcontrolador, ya que como ellos generan mucho ruido eléctrico, podrían afectar al buen funcionamiento del programa en el microcontrolador.

or k

NOTA: Las orden del servo sólo funcionará correctamente a los 4MHz.

il

O

‘mueven el servo a un extremo ‘esperan 2 segundos ‘mueven el servo para centrar ‘esperan 2 segundos ‘mueven el servo a otro extremo ‘esperan 2 segundos ‘volver a loop

AM

loop: servo 4,75 pause 2000 servo 4,150 pause 2000 servo 4,225 pause 2000 goto loop

W

El ejemplo:

D

G

-T

Elaborando una servomecanismo casero: Este es un censillo servomecanismo que se puede utilizar como ejemplo y como Base de otros diseños. Como verán, utilicé un pequeño motor de continua (como los encontrados en pequeños juguetes) y adicione en la punta de su eje un pequeño Potenciómetro. Tener en cuenta que este pequeño servo, no se lo puede utilizar con el comando servo ya que no tiene sensor de posición. En el caso de querer utilizar los comandos SERVO, busque en pequeños juguetes de radio control y ahí encontraran. Bien, para la implementación de este pequeño servomecanismo casero, una ves colocado bien firme el potenciómetro en el eje del motor, haremos una serie de pruebas para saber los valores del potenciómetro según la posición del brazo. Hay que tener en cuenta que el movimiento del motor, debe de ser demasiado lenta, en mi caso, utilicé un pequeño sistema de engranajes que me dio una relación tal de 5:1. Colocaremos un multimetro en el potenciómetro, y moveremos manualmente el eje hasta la posición 0º, Tomaremos nota y seguiremos hasta ¼ del recorrido, nuevamente hacemos lo mismo que la primera ves, tomamos nota de los valores y lo reiteramos hasta llegar al otro extremo. El paso recién descripto, nos servirá para elaborar una tabla de equivalencias y así poder usar el comando READADC ,que es el comando utilizado para leer entradas analógicas... La tensión que ira al potenciómetro, será de 5Vcc como máx. De ahí en mas, esta en su ingenio para la elaboración del programa, demás esta decir que hagan un breve repaso en los comandos readadc, if...then, high, low, entre otros

19

Sensor y actuador analógico

D

G

-T

AM

O

il

W

or k

&

Se rv

ic e

Bien, el proyecto aquí presentado, puede servirnos para el movimiento de un pequeño servo o electromecanismo casero sencillo. Por un lado, tenemos un sencillo posicionador de brazo, que dependiendo de la posición de este, el CD4066 o CD4016, emitirá una señal analógica que entrara en el PICAXE. Por otro lado, tenemos una salida analógica, que emitirá una señal de salida dependiendo de la orden de posición impuesta al microcontrolador. No e dado el ejemplo de cómo hacer el servomecanismo en este caso, pero bien sabemos que estos se mueven a una posición tal, según la señal analógica entrante como consigna. El caso es que con instrumentos y actuadores tales, podemos controlar varios tipos de procesos. Por ejemplo si le agregáramos un sensor de temperatura, Podríamos controlar la temperatura de un fluido por intermedio del calentamiento con vapores. El sensor de posicionamiento entrante, serviría para informar la posición de apertura enla válvula de vapor. El sensor de temperatura seria el informante del estado del proceso (temperatura del fluido), y la salida analógica, seria el moderador para que la variable controlada vaya al punto deseado. Osea, establecemos que la variable a controlar (fluido), Tiene que estar a una temperatura de 90º, automáticamente, El sensor de temperatura lee e informa que la variable se Encuentra a 45º. Acto seguido, el microcontrolador compara el valor real con el de seteo y activa su salida abriendo la válvula de vapor que calentara el fluido. Esta está continuamente comparando el valor real con el seteado en el programa y una ves que este llegue a estar igual, el microcontrolador dará la orden de cerrar la válvula. Esta permanecerá en este estado hasta que el valor de la lectura de temperatura descienda. Obviamente, para que esta válvula no este continuamente moviéndose por la diferencia de unos grados y produciéndole así un desgaste rápido, le daremos un margen de lectura de unos 5º arriba, 5º grados abajo. El funcionamiento correcto de este no solo depende de la Capacidad del sensor y actuador, sino que también, hay que tener en cuenta la capacidad personal en elaborar un buen programa, conocimientos de la terminología, conceptos y técnicas de control de procesos (lazos abiertos-cerrados, realimentación positiva-negativa, factores que aleatorian los resultados en el control de un proceso, entre otros.) como pista o consejo para la elaboración del programa del siguiente circuito, les recomiendo que examinen los comandos “readadc, servo, if...then, high, low, entre otros” .

20

SOFTWARE DE COMPILACIÓN LADDER–BASIC / DIAGRAMA DE FLUJO–BASIC / DIAGRAMA DE COMPUERTAS-BASIC

G

-T

AM

O

il

W

or k

&

Se rv

ic e

Bien, tras una larga e inútil búsqueda por Internet y otros medios, fracase en la búsqueda de algún software que pueda compilar distintos lenguajes de programación de PLC o Lógicas de control y los traduciera en BASIC; Así que me vi inspirado en realizar un pequeño programa casero que cumpla con lo que estaba buscando. Tras romperme la cabeza horas y días (MESES PARA SER MAS EXACTO), llegue a algo que fue mas allá de lo que yo esperaba poder hacer, y hoy quería presentárselo. Es nada mas y nada menos, un simple programita que corre en MS-DOS y tiene la capacidad de compilar LADDER-BASIC, DIAGRAMA de COMPUERTAS-BASIC, DIAGRAMA DE FLUJO-BASIC... este programa, genera el código BASIC de programación para el PICAXE , apartir de la elaboración de diagramas de flujos (grafset), diagramas de compuertas OR-AND-NOT- TIMER(entre otras funciones), y el viejo sistema mas común de programación de PLC, que es el sistema LADDER(escalera) Este programa solo produce el código de programación en BASIC, y no se puede hacer lo contrario. Me hubiese gustado poderle haber agregado esta función, pero como ya les mencione, solo esta parte del programa me llevo meses poder realizarlo, mas o menos para que se den una idea, coloque 800 combinaciones diferentes por cada estilo de programación, y ya a lo ultimo, no quería saber mas nada con instrucciones y o números... El funcionamiento de este software es sencillo, Colocaremos en la cuadricula las funciones de compuertas (OR-AND-NOT- TIMER), diagrama de flujo (GRAFSET)o contactos (del sistema LADDER) y desde otra pantalla redireccionaremos las entradas y salidas de estas funciones. Una ves realizada esta accion, presionamos la tecla F6 y nos aparecera el codigo de programación BASIC para el microcontrolador. Aunque todavía es un programa aun experimental, Prometo distribuirlo gratuitamente a todos aquellos Que osen de realizar este curso.

D

NOVEDADES: Para aquellos que alguna ves quisieron incursionar en el ámbito del control de potencia por intermedio de una PC, dentro de muy poco tiempo voy a estar llegando nuevamente a ustedes con un pequeño software que no solo podremos sacar a relucir nuestras viejas PC en desuso, sino que también, podremos usar la PC como si fuera un PLC. Lo único que les puedo comentar de mi actual proyecto, es que estoy elaborando un software para automatización por intermedio de la PC. Obviamente, este software requerira de un pequeño Hardware sencillo que ira conectado al puerto Serial de nuestra PC...

21

22

-T

G

D AM O il or k

W &

Se rv

ic e

23

-T

G

D AM O il or k

W &

Se rv

ic e

D

G

-T

AM

O

il

W

or k

&

Se rv

ic e

La aplicación de los sistema PicAxe en la electrónica de control, es una herramienta práctica y de segura implementación. Como hemos visto a lo largo de este curso, no solo podemos elaborar infinidad de sensores, actuadores y PLC, sino que también, podemos realizar infinidad de proyectos. Desde la automatización hasta la robótica, el sistema picaxe nos da la libertad de experimentar y aprender aun mas de lo que sabemos, pero cabe aclarar, que este sistema no se puede utilizar con fines comerciales, ya que sus creadores, lo desarrollaron solo con fines de educación y experimentación. El software es de libre distribución y lo podemos encontrar en la pagina oficial de PICAXE, con tan solo hacer clic en el link necesario lo bajamos y listo. Gracias a PicAxe, realice infinidad de proyectos y desarrollos, entre ellos cuentan como mas importantes:  Varios modelos de PLC (con sensores y actuadores varios)  Dosificador de productos químicos en estado liquido  Mini Sistema SCADA

Quisiera agradecer a la gente del club SABER ELECTRÓNICA, pues fueron ellos quien me presentaron este novedoso y practico sistema, a toda esa gente con la compartimos e intercambiamos ideas, proyectos y hasta nos damos soluciones de algunos problemas surgidos. A mi señora que no me hecha de casa por estar largas horas frente a la computadora. Y a todas aquellas personas que me ayudaron a difundir este curso que les habla un poco mas sobre estos microcontroladores y intenta también persuadirlos para que se involucren un poco mas en el hermoso campo de la electrónica de control e instrumentación industrial. Un saludo grande a todos, y será hasta la próxima...

Torres Alejandro Martin

Tec. Sup. Electromec. Orientación en automatización y control Industrial Ing. Electrónico Orientación Instrumentación y Control Industrial

(torres.electró[email protected])

24

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.