User: alciro    User
 

microPLC para arduino

Share |
 Descargas microPLC

2.5. Entradas analógicas

El microcontrolador AVR mega 328 del arduino dispone de 6 entradas analógicas mediante un convertidor ADC de 10 bits de resolución, lo que supone un valor digital entre 0 y 1023. Por defecto el ADC tiene una tensión de referencia de 5V por lo que la señal de entrada tiene su rango entre 0 y 5V para el fondo de escala.

El objeto de entrada Analog del microPLC toma una muestra de la entrada analógica especificada (0 a 5). Entrega el valor digital entre 0y 1023 por la salida Out() y el valor escalado en número real (float coma flotante) por la salida Out_e().

Entradas analógicas para el microPLC arduino

Funciones del objeto Analog

aiX.En() Activa el convertidor y toma una muestra.

Mientras la entrada aiX.En() se encuente a true el objeto realiza una muestra por cada cicloScan del controlador microPLC. Cuando la entrada se encuentre a estado bajo false, se dejaran de tomar muestras, en este estado las salidas aiX.Out() y aiX.Out_e() mantendrán los valores del la última muestra. El tiempo de ejecutarse esta función viene determinado por el tiempo de conversión del ACD, unos 100uS.

aiX.In(char) Establece la entrada analógica con la que se trabajará. El valor ha de ser un número comprendido entre 0 y 5, si se entrega un valor incorrecto se establece la entrada por defecto, la 0.

Este parámetro se suele indicar en la declaración del objeto.

aiX.Min(float) Se establece el valor mínimo para el escalado. Este puede ser un valor negativo o positivo, por defecto es 0.

Este parámetro se suele indicar en la declaración del objeto.

aiX.Max(float) Se establece el valor máximo para el escalado. Este puede ser un valor negativo o positivo, por defecto es 100.

Este parámetro se suele indicar en la declaración del objeto.

int aiX.Out() Retorna el valor del convertidor en número entero. El valor estará comprendido entre 0 y 1023, correspondiendo a la tensión de referencia 0 a 5V.

float aiX.Out_e() Retorna el valor escalado del convertidor en número real. El valor estará comprendido entre aiX.Min(float) y aiX.Max(float), correspondiendo a la entrada 0, 5V respectivamente.


Declaración de una entrada analógica

Analog ai1(1, -10, 100);	// Iniciamos la entrada analogica 1 con escalado de -10 a 100


Utilización básica

// Entrada analógica siempre activada
ai1.En(true);
// Leemos el valor escalado de la entrada
var_X=ai1.Out_e();
Loading

copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |