Librería de módulos de pulsos en Tools40 para PLCs basados en Arduino
11 diciembre, 2018 por
Librería de módulos de pulsos en Tools40 para PLCs basados en Arduino
Alejandro Jabalquinto

Introducción

En este post se muestra cómo utilizar el módulo de pulsos en Tools40 para el PLC basado en Arduino.


Requisitos

Ethernet o 20 I/Os PLC:      Ethernet PLC             20 I/Os PLC     

Placas de Industrial Shields:   Placas de Industrial Shields:   

Librería Tools40 :  Tools40 


Descripción

La librería del módulo Pulses es una librería dentro de Tools40hacen que los desarrolladores de Industrial shields utilicen pulsos o formas de onda cuadradas (SQW) en los pines PWM de  Equipos de Industrial Shields. 

La función startPulses(Pin, Frequency, Precision) inicia el tren de pulsos a la frecuencia y precisión especificadas. La frecuencia por defecto es 1kHz y la precisión por defecto es 3.

pinMode(3, OUTPUT);
startPulses(3, 2000, 3);

The stopPulses the function stops the train of pulses.

stopPulses(3);

Ardbox Analógico HF                  

En ARDBOX Analog es posible utilizar estas funciones en las salidas:

  • TIMER0: Q0.1 and Q0.6

  • TIMER1: Q0.2 and Q0.3

  • TIMER3: Q0.5

M-Duino                  

En MDUINO-21, MDUINO-42 y MDUINO-58 es posible utilizar estas funciones en las salidas:

  • TIMER0: Q0.5 and Q2.6

  • TIMER1: Q2.5 – TIMER2: Q1.5 (Multiply the frequency x2)

  • TIMER3: PIN2, PIN3 and Q0.6

  • TIMER4: Q0.7, Q1.6 and Q1.7

  • TIMER5: Q1.3, Q1.4 and Q2.0

IMPORTANTE: No es posible tener diferentes frecuencias entre los mismos pines del temporizador. Algunas salidas comparten el mismo temporizador, por lo que trabajan a la misma frecuencia.

 ¡¡¡ATENCIÓN!!! Cuando se utilizan los pines de Timer0, todas las funciones de tiempo cambian su funcionalidad como 
delay()millis(),micros(),delayMicroseconds() y otras.

A continuación se muestra la precisión recomendada entre las diferentes frecuencias:

  • Precision = 1: from 30Hz to 150Hz

  • Precision = 2: from 150Hz to 500Hz

  • Precision = 3: from 500Hz to 4kHz

  • Precision = 4: from 4kHz to 32kHz

  • Precision = 5: from 32kHz to 4MHz

Para tener una precisión ALTA en la frecuencia deseada, se recomienda utilizar la precisión más cercana a los valores de la tabla anterior.

Ejemplo

// Pulses library example
//by Industrial Shields

#include <Pulses.h>

//Output pin
//Only pins which an associated timer can be used
//IMPORTANT: when using TIMER0 pins, time related functions (millis, delay...)
//lose their time reference and don't work properly
const int pin=3;

//Frequency in Hz
//Default value: 1000
//NOTE: Use "unsigned long" and "UL" suffix for higher frequencies
const unsigned long frequency = 500UL; //500Hz

//Frequency precision
//Default value: 3
//Recommended usage
//precision=1 from 30Hz to 150Hz
//precision=2 from 150Hz to 500Hz
//precision=3 from 500Hz to 4KHz
//precision=4 from 4KHz to 32KHz
// precision = 5: from 32kHz to 4MHz const int precision = 4;

/////////////////////////////////////////////////////////////
void setup {
    //Set pin as OUTPUT
pinMode(pin, OUTPUT);

//Start train pulses
startPulses(pin, frequency, precision);
}

/////////////////////////////////////////////////////////////
void loop {
}

/////////////////////////////////////////////////////////////

Librería de módulos de pulsos en Tools40 para PLCs basados en Arduino
Alejandro Jabalquinto
11 diciembre, 2018
Compartir
Archivar

¿Buscas tu controlador lógico programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Comparación PLC industrial>>>

¿Quieres más información?

¡Rellena el formulario!

¡Cuéntame más!