2019-10-11
Reóstato digital
Los generadores síncronos necesitan de una fuente de corriente continua que alimente el campo del estator para poder generar la tensión alterna. Para ello, los generadores suelen poseer una dinamo o excitatriz acoplada en el mismo eje que será la encargada de generar la corriente continua necesaria.
Para controlar la excitación se usa un reóstato (resistencia variable) que al cambiar su resistencia se consigue variar la tensión de excitación. El reóstato es un sistema manual, al igual que un potenciómetro y hace necesario la presencia de un operario que lo controle.
¿Por qué es necesario poder controlar la tensión de la excitatriz? En un principio por dos motivos. En el arranque del generador la excitatriz permite regular la tensión de salida del generador, permitiendo igualar esta a la red para después poder "acoplarse" a la red.
El segundo motivo es la energía reactiva.. Todo generador acoplado a una red produce dicha energía debido a las cargas y al funcionamiento de dicho generador. En un generador asíncrono es necesario usar baterías de condensadores para compensar esta energía, mientras que en uno síncrono tan solo hemos de modificar la tensión de excitación.
Funcionamiento de la excitatriz.
En una máquina de corriente continua existen dos partes diferenciadas: el inducido y el inductor, que son dos bobinas conectadas en el interior de la dinamos.
Cuando hacemos girar el inducido, se produce una pequeña corriente en él debido a la imanación remanente del generador. Cuando esta corriente pasa a través del inductor hace que el campo magnético aumente y por lo tanto la tensión también aumenta. Al inductor se le llama también devanado paralelo
La corriente generada en el devanado paralelo la podemos controlar mediante una resistencia variable que se denomina reóstato de campo.
Existen cuatro tipos básicos de excitación:
- Independiente: Es necesario una corriente externa en el inductor para que este genere el campo magnético suficiente en el inducido.
- Serie: El bobinado inductor se conecta en serie con el inducido.
- Paralelo: El bobinado inductor se conecta en paralelo con el inducido, esta configuración también se le conoce como shunt.
- Compuesta: En esta configuración se utiliza un devanado serie y otro devanado en paralelo, también se le conoce como compound.
He aquí el esquema de un excitatriz de tipo shunt:
En este esquema podemos observar que la excitatriz se compone de dos ramas: por un lado tenemos el rotor que es un conjunto de bobinas al que queremos alimentar para que nos genere tensión el generador y por otro lado una rama en paralelo que controla la tensión de la excitatriz.
En la rama de los anillos del rotor se usa una resistencia shunt para poder conectar un amperímetro y también se coloca un voltímetro para leer la salida del circuito.
En la rama de la excitación vemos el reóstato que se encarga de variar la tensión. Tenemos un interruptor de campo (ANSI 41) cuya misión es impedir que se genere tensión a pocas revoluciones de la máquina; en nuestro caso esta excitatriz empieza a funciona sobre las 360 r.p.m. Y por último, el devanado paralelo.
Cuando el interruptor de campo se cierra, debido al magnetismo residual de las bobinas empieza a circular una pequeña corriente I1, por lo que debemos bajar la resistencia del reóstato para que la corriente aumente. Al hacerlo, la corriente aumentará con lo que gradualmente deberemos ir subiendo la resistencia para impedir que la tensión aumente mucho.
La corriente I2 es proporcional a la corriente I1 y mucho más grande. Mientras que la corriente del devanado paralelo suele rondar los 2A como mucho, en los anillos del rotor podemos llegar fácilmente a los 20A.
No debemos confundir una resistencia shunt, que básicamente es un mecanismo para leer corriente y el tipo de excitación shunt.
El objetivo a conseguir es sustituir el reóstato manual por un sistema que permita el control digital de la tensión/corriente de la excitatriz de manera remota y en un principio poder controlar la energía reactiva del generador.
El regulador serie
Como hemos visto básicamente hemos de controlar la tensión/corriente que
circula a través del devanado paralelo. Esto nos hace pensar en un regulador
de voltaje, siendo el más fácil de entender el regulador serie
Este circuito se basa en el principio de que en la salida la tensión será la misma tensión que el diodo Zener y la caída de tensión en base-emisor del transistor.
La salida es independiente de la carga RL. Si tuvieras en vez de una resistencia fija una resistencia variable la tensión se mantendría y sería la corriente IL la que variará.
La tensión no regulada es absorbida por el transistor haciendo que su tensión colector-emisor (VCE) aumente o disminuya según sea la tensión de alimentación +V. Aquí se presenta el problema de que toda esa energía será disipada en forma de calor, siendo necesario el uso de disipadores. La potencia absorbida total del transistor será: VCE * IL.
El problema de este circuito es que si usamos un diodo Zener la tensión se mantendrá estable a la salida y no podremos controlarla. Así que la primera idea que se nos viene es sustituir el diodo por un potenciómetro.
En este circuito hemos sustituido el Zener por un potenciómetro P y una resistencia R2, dicha resistencia impide que si el potenciómetro tiene un valor de 0 ohms la tensión a la salida sea también cero y deje a la excitatriz sin excitar.
Uno de los mayores problemas que tiene una máquina de corriente continua es que pierda la excitación, ya que pierde todas sus propiedades magnéticas y hay que proceder al cebado de la excitación.
Si la tensión de alimentación del circuito +V fuese estable en la salida habría la tensión VX que forma el divisor de resistencias formado por R1, P y R2.
Problema: En nuestro caso +V no es fija, sino que será un valor muy bajo al principio, con lo cual hay que aumentar el valor de P mucho al principio para que Vout se haga más grande, pero como +V depende de Vout conforme esta crezca la tensión +V también lo hará así que hay que bajar el valor del potenciómetro para bajar la tensión de salida.
El resultado de modificar la excitación será el siguiente:
Potenciómetro digital
Ya sabemos como funciona el sistema de excitación, ahora hay que buscar un potenciómetro para que podamos controlar digitalmente.
En el mercado existen potenciómetros digitales que se pueden controlar mediante bus SPI o mediante conexión I2C, por ejemplo, el MCP4131. El mayor problema de estos chips es que no suelen soportar ni corriente (suelen soportar del orden de miliamperios), ni tensión (típicamente de 5v a 15v). Además de que han de tener conexión directa con el microcontrolador y una fuente de tensión que los alimente.
La mayor limitación es la tensión que pueden llegar a soportar, siendo en nuestro circuito del orden de varias decenas de voltios, por lo que cualquier potenciómetro digital que conectemos automáticamente arderá.
Tendremos que recurrir a una escalera de resistencias de 2R y a una serie de interruptores tal y como se muestra en el siguiente circuito:
Si analizamos el circuito veremos que cuando todos los interruptores estén abiertos la resistencia resultante será la suma de todas las resistencias. Cuando todos los interruptores estén cerrados la corriente circulara a través de los contactos del interruptor y la resistencia será 0.
Si a un interruptor abierto le damos el valor "0", y a un interruptor cerrado le damos un valor "1" podemos crear la tabla de valores y su resistencia asociada.
| SW4 | SW3 | SW2 | SW1 | ||
|---|---|---|---|---|---|
| BINARIO | 8R | 4R | 2R | R | RTOTAL |
| 0 | 0 | 0 | 0 | 0 | 15R |
| 1 | 0 | 0 | 0 | 1 | 14R |
| 2 | 0 | 0 | 1 | 0 | 13R |
| 3 | 0 | 0 | 1 | 1 | 12R |
| 4 | 0 | 1 | 0 | 0 | 11R |
| 5 | 0 | 1 | 0 | 1 | 10R |
| 6 | 0 | 1 | 1 | 0 | 9R |
| 7 | 0 | 1 | 1 | 1 | 8R |
| 8 | 1 | 0 | 0 | 0 | 7R |
| 9 | 1 | 0 | 0 | 1 | 6R |
| 10 | 1 | 0 | 1 | 0 | 5R |
| 11 | 1 | 0 | 1 | 1 | 4R |
| 12 | 1 | 1 | 0 | 0 | 3R |
| 13 | 1 | 1 | 0 | 1 | 2R |
| 14 | 1 | 1 | 1 | 0 | R |
| 15 | 1 | 1 | 1 | 1 | 0 |
Como podemos observar tenemos que el valor de resistencia se corresponde con el valor binario invertido bit a bit. Por ejemplo, para el valor 3 (0011b) si lo negamos bit a bit obtendremos 12 (1100b) cuyo valor de resistencia es 3R.
Con este circuito hemos conseguido un potenciómetro digital de 4 bits cuya resistencia máxima será 15R.
El valor de cada resistencia se ha colocado a adrede usando siempre el doble de la anterior para poder conseguir el efecto deseado. Si quisiéramos añadir mas bits, deberíamos seguir la secuencia multiplicando por 2 el valor anterior, así para añadir un bit mas a este potenciómetro tan solo hay que añadir el interruptor y una resistencia de valor 16R. Otro bit 32R, 64R, 128R, etc.
Mencionar que debido al estándar de fabricación de resistencias no tendremos valores que cumplan a raja tabla que sean el valor X*R. Tendremos que recurrir a asociación de resistencias en serie o paralelo para obtener el valor deseado de resistencias.
Obviamente, hacerlo mediante interruptores no es un opción puesto que habría que hacer de forma manual. Por suerte, tenemos el componente ideal para esta función: el relé.
El circuito del reóstato digital.
Fuente y microcontrolador.
El microcontrolador escogido será el atMega328p-20pu, el mismo que lleva el Arduino Uno.
El RESET del microcontrolador se ha mejorado con respecto a un Uno comercial, el conjunto de componentes R22, D10 yC11 hacen que en dicho pin sea más estable en entornos ruidosos.
El conector J13 es un IDC6 y sirve para poder conectar un módulo RS485 opto acoplado que dotará al circuito de comunicación ModBus.
La alimentación del circuito será de +12V a través del conector J6. Se ha protegido contra polaridad inversa mediante el diodo D1 y contra posibles ruidos en la entrada mediante el diodo TVS D8 de 18V.
El conjunto C5-R3-C6 es un filtro RC. C5 se encarga de reducir el posible rizado de la tensión mientras que R3-C6 forman un filtro paso bajo que reduce los posibles ruidos de alta frecuencia.
El regulador U3 es un 7805 encargado de reducir la tensión de alimentación de 12V a los 5V necesarios para el atMega. El diodo D3 se encarga de proteger al regulador de corrientes inversas.
En el circuito habrá dos diodos led de información. D9 conectado al pin D9 del atMega es un diodo de actividad que parpadeará mientras el programa esté corriendo; mientras que el diodo D3 es un testigo de que el circuito está alimentado.
Circuito a transistores.
Con un simple transistor no podremos controlar la tensión/corriente procedente de la excitatriz, por ello se ha utilizado un par Darlington formado por el transistor BD139 Q1, que suministrará la tensión de base a un conjunto de transistores 2N3055.
Se han utilizado varios 2N3055 en paralelo para que la corriente que fluye hacia el devanado paralelo se divida y circule menor corriente por cada transistor. Esto hará que los transistores se calienten menos al disipar menos energía en ellos.
No es necesario usar los cuatro transistores externos aunque en el circuito se han puesto hasta cuatro. Dependerá de la potencia disipada en cada uno, por ejemplo para la excitatriz de la máquina grande con tres bastará, mientras que para la máquina pequeña conviene usar los cuatro ya que tiene mas tensión de excitación y por lo tanto la caída colector-emisor será mayor.
Como los transistores no tendrán la misma ganancia, no pasará la misma corriente a través de ellos así que para lograr un poco de estabilidad en el sistema se usan las resistencia R19 a R22. El valor de estas resistencias debe ser pequeño, pero tampoco mucho. Un valor "alto" (por encima de los 0.4Ohms) dará una mayor estabilidad a costa de una mayor perdida de energía en ellas. Un valor "bajo" (de 0.1 a 0.15 Ohms) consumirá menos energía pero el sistema será menos estable y puede que algún transistor se queme. Así que lo mejor es optar por un termino medio y usaremos un valor 0.3 Ohms.
El divisor de resistencias está formado por las resistencias R14 y R15, la resistencia R16 y el potenciómetro y las resistencias R17 y R18. Se han puesto en grupo de dos; en la resistencias superiores (R14 y R15) por si necesitamos conseguir una resistencia equivalente en paralelo e igualmente con las resistencias inferiores (R17 y R18), El caso de la resistencia R16 es el mismo, aunque sirve también para reducir el valor del potenciómetro.
La entrada de corriente se protege mediante un potenciómetro FU1 y unos diodos UF4003 para impedir que la corriente circule al revés.
Se han usado tres diodos UF4003 dado que la corriente que va a circular superará los 2A y cada diodo es capaz de superar solo 1A.
Durante las pruebas del prototipo se descubrió que la tensión remanente inicial generada en la excitatriz era insuficiente para hacer que los transistores empezaran a conducir, dado que se necesitaba una tensión superior a los cuatro voltios para que el circuito funcionará. Por eso, en el montaje final se uso un conector extra para conectar una fuente externa que ayudará durante el arranque, protegida mediante el diodo D6.
Por último, comentar que en los pines J7 y J8 se hará la conexión del potenciómetro digital.
Potenciómetro digital.
Por último tenemos el potenciómetro en sí. Este será formado por la escalera de resistencias R5 a R11. Recordar que queremos formar potencias de dos, por lo tanto una será el doble de la anterior; también hay que recordar que las resistencias no las vamos a encontrar con el valor que exacto por lo tanto tenemos que hacer asociaciones de resistencias o poner un valor cercano al deseado.
Los relés son los TQ2-5V, que son relés de alta frecuencia, es decir, son capaces de cambiar a gran velocidad. Estos relés conmutan en 3ms mientras los relés convencionales conmutan en tiempos superiores a los 30ms. Siendo rápidos nos aseguramos que la excitatriz no se enterará cuando cambiemos el valor del potenciómetro.
Se ha optado por un total de 7 relés, obteniendo un potenciómetro digital de 128 posiciones, además si podemos usar un driver de relés como el ULN2003A que solo dispone salidas para 7 relés.
Por último se ha colocado un conector J3 que no permite añadir pulsadores para subir y bajar el valor del potenciómetro. Asociados a los pines D7 y D8 del microcontrolador se usa una resistencia PULL-DOWN y sendos condensadores para reducir el efecto de rebote de los pulsadores.
Un pulsador no se abre ni se cierra inmediatamente, sino que se producen una serie de rebotes que da la sensación de que hemos apretado varias veces el pulsador, se conoce como debounce en inglés (o rebote).
Código fuente
El código fuente hace uso de la librería button para manejar el estado de los pulsadores.
El reóstato dispone de un puerto de comunicaciones rs485 usando el protocolo ModBus. Para ello hacer uso del puerto serie y de un pin de habilitación de dirección del chip de comunicaciones (MAX485). Para el programa se ha utilizado la librería SimpleModbusSlave.
Se han definido las siguientes direcciones de registros HOLDING de ModBus:
| 0 | Valor del potenciómetro. |
| 1 | Comando |
Cuando escribimos en el registro 0x0001 con la función 0x03 de ModBus estaremos dando una orden al potenciómetro. Un valor 1 incrementa el valor de resistencia, un valor 2 lo decrementa. Con un valor 0 no hará nada.
Este mecánicos es el que permite controlar la reactiva generada por el generador. Cuando el programa de control lee el medidor de potencia, si existe energía reactiva negativa ordenará subir la resistencia del reóstato y hará lo contrario cuando la energía reactiva sea positiva.
Se ha utilizado la habilidad de watchdog (perro guardián) del microcontrolador. Este watchdog se encarga de reiniciar el temporizador en caso de que este quede "colgado". Para evitar que se reinicie el microcontrolador hemos de llamar a la función wdt_reset antes de 8 segundos.
//*****************************************************************************
//*** REOSTATO DIGITAL ***
//*****************************************************************************
// ATMEL ATMEGA328P PINOUT / CONEXIONES.
//
// +-\/-+
// RESET 1| |28 A5 1
// RX D 0 2| |27 A4 2
// TX D 1 3| |26 A3 3
// EPIN D 2 4| |25 A2 4
// NC D 3 5| |24 A1 5
// NC D 4 6| |23 A0 6
// VCC 7| |22 GND
// GND 8| |21 AREF
// X1 9| |20 AVCC
// X2 10| |19 D 13 7
// NC D 5 11| |18 D 12 NC
// NC D 6 12| |17 D 11 NC
// up B1 D 7 13| |16 D 10 NC
// dn B2 D 8 14| |15 D 9 NC
// +----+
#include <SimpleModbusSlave.h>
#include <buttons.h>
#include <avr/wdt.h>
#include "PotDigRelay.h"
// Grupo 2: 10
// Grupo 1: 13
#define MODBUS_SLAVE_ID 13
#define MODBUS_TX_ENABLE_PIN 2
#define COMMAND_NONE 0
#define COMMAND_UP 1
#define COMMAND_DOWN 2
#define BLINK_LED 9
enum
{
POT_VALUE,
POT_COMMAND,
HOLDING_REGS_SIZE
};
unsigned int holdingRegs[HOLDING_REGS_SIZE];
PotDigRelay reostat(0,13,A0,A1,A2,A3,A4,A5);
Button up;
Button down;
uint32_t blink_timer;
void setup() {
// Deshabilitar perro guardian.
wdt_disable();
// Iniciar MODBUS.
modbus_configure(&Serial,
9600,
SERIAL_8N2,
MODBUS_SLAVE_ID,
MODBUS_TX_ENABLE_PIN,
HOLDING_REGS_SIZE,
holdingRegs);
// Iniciar los botones.
up.setMode(OneShotTimer);
up.assign(7);
up.turnOffPullUp();
up.setTimer(1500);
up.setRefresh(500);
down.setMode(OneShotTimer);
down.assign(8);
down.turnOffPullUp();
down.setTimer(1500);
down.setRefresh(500);
// Los pines no usados se ponen como salidas con un
// valor HIGH. Esto evita posibles ruidos producidos
// por el efecto antena.
pinMode(3, OUTPUT); digitalWrite(3, HIGH);
pinMode(4, OUTPUT); digitalWrite(4, HIGH);
pinMode(5, OUTPUT); digitalWrite(5, HIGH);
pinMode(6, OUTPUT); digitalWrite(6, HIGH);
pinMode(9, OUTPUT); digitalWrite(9, HIGH);
pinMode(10, OUTPUT); digitalWrite(10, HIGH);
pinMode(11, OUTPUT); digitalWrite(11, HIGH);
pinMode(12, OUTPUT); digitalWrite(12, HIGH);
pinMode(9,OUTPUT);
wdt_enable(WDTO_8S);
}
void loop() {
// Actualización modbus.
modbus_update();
// Hacemos parpadear el pin 9.
if ( millis()-blink_timer > 1000 )
{
digitalWrite(9, !digitalRead(9));
blink_timer = millis();
}
// Comprobamos si hay un comando de modbus y lo ejecutamos.
switch ( holdingRegs[POT_COMMAND] )
{
case COMMAND_NONE: break;
case COMMAND_UP: reostat.inc(); break;
case COMMAND_DOWN: reostat.dec(); break;
}
// Eliminamos el comando, y obtenemos el valor del reóstato colocandolo
// en la posición modbus.
holdingRegs[POT_COMMAND]=COMMAND_NONE;
holdingRegs[POT_VALUE] = reostat.getValue();
// Si pulso el boton subir, aumento la resistencia.
switch ( up.check() )
{
case ON: reostat.inc(); break;
case Hold: reostat.inc(); break;
default: break;
}
// Si pulsamos el botón de bajar, disminuyo la resistencia.
switch ( down.check() )
{
case ON: reostat.dec(); break;
case Hold: reostat.dec(); break;
default: break;
}
// Si no se ha bloqueado, reinicio el timer del perro
wdt_reset();
}
El potenciómetro se ha encapsulado en un objeto y colocado en una librería a parte del programa principal. En la cabecera definimos la clase PotDigRelay y un método constructor que le indicamos que pines controlan el potenciómetro.
#ifndef _PotDigRelay_h_
#define _PotDigRealy_h_
#include "Arduino.h"
class PotDigRelay
{
private:
int value;
int pin[7];
public:
PotDigRelay(int b6, int b5, int b4, int b3, int b2, int b1, int b0);
PotDigRelay(int initvalue,int b6, int b5, int b4, int b3, int b2, int b1, int b0);
int setValue(int val);
int getValue();
int inc();
int dec();
};
#endif
En el cuerpo, crearemos el cuerpo de todas las funciones/métodos del potenciómetro:
#include "PotDigRelay.h"
PotDigRelay::PotDigRelay(int b6, int b5, int b4, int b3, int b2, int b1, int b0)
{
// Asigno los bits a los pines.
pin[0]=b0;
pin[1]=b1;
pin[2]=b2;
pin[3]=b3;
pin[4]=b4;
pin[5]=b5;
pin[6]=b6;
// Pongo los pines en modo salida.
for (int i=0; i<; i++) pinMode(pin[i], OUTPUT);
// Valor inicial.
value = 0;
// Pongo el valor en los relés.
for (int i=0; i<; i++) digitalWrite(pin[i], !bitRead(value, i));
}
PotDigRelay::PotDigRelay(int initvalue,int b6, int b5, int b4, int b3, int b2, int b1, int b0)
{
// Asigno los bits a los pines.
pin[0]=b0;
pin[1]=b1;
pin[2]=b2;
pin[3]=b3;
pin[4]=b4;
pin[5]=b5;
pin[6]=b6;
// Pongo los pines en modo salida.
for (int i=0; i<7; i++) pinMode(pin[i], OUTPUT);
// Valor inicial.
value = initvalue;
// Pongo el valor en los relés.
for (int i=0; i<7; i++) digitalWrite(pin[i], !bitRead(value, i));
}
int
PotDigRelay::setValue(int val)
{
// Solo si el valor es valido (0..127) se hace el cambio.
if ( value>=0 && value<128 )
{
value = val;
// Activar los relés.
for (int i=0; i<7; i++) digitalWrite(pin[i], !bitRead(value,i));
return 1;
}
// No ha pasado por el código y no se ha ejecutado.
return 0;
}
int
PotDigRelay::getValue()
{
return value;
}
int
PotDigRelay::inc()
{
value++;
if ( value > 127 ) value = 127;
for (int i=0; i<7; i++) digitalWrite(pin[i], !bitRead(value,i));
return value;
}
int
PotDigRelay::dec()
{
value--;
if ( value < 0 ) value = 0;
for (int i=0; i<7; i++) digitalWrite(pin[i], !bitRead(value,i));
return value;
}
Conexión del reostato digital
He aquí el diagrama de conexionado del reostato digital a la excitatriz.
Lo primero es localizar los puntos donde estaba conectado el reostato analógico y llevar los pines COL a la posición positivo. El otro extremo del reostato irá al conector EMI, este debería ir al interruptor de campo. Por último necesitamos un voltaje de referencia, es decir un GND, lo podremos sacar del voltímetro de excitación.
Lo siguiente es alimentar con una tensión de 12 la entrada auxiliar del reostato, la que aporta tensión en el arranque. En esta fuente conectaremos un ventilador que "refrescará" los transistores y que se ubicará cerca del disipador de estos.
Los botones son fáciles de cablear, tan solo basta con llevar el primer contacto del conector a ambos pulsadores; el siguiente contacto será "subir" la tensión de excitación y el último "bajar" la tensión.
Los transistores deberán ir montados en disipador. Debemos unir los colectores y la bases y llevarla a la entrada correspondiente mientras que los emisores irán por separado a cada una de sus entradas. Dependiendo de la tensión y la corriente podemos usar 3 o 4 transistores.
El circuito instalado en una máquina:
El mismo circuito instalado en la otra máquina:
Defectos encontrados en el diseño.
El circuito consume mucha energía. Al usar los contactos abiertos del relé si queremos obtener un valor bajo de resistencia hemos de activar todos los relés prácticamente a la vez. Esto hace que el consumo suba mucho haciendo que el regulador se caliente más de lo necesario.
De igual forma, al estar los relés siempre activados ¿qué ocurre si por algún ruido se reinicia? Teóricamente se abrirán todos los contactos haciendo que la resistencia del potenciómetro sea más alta y por tanto la tensión de excitación subirá todo lo que se pueda.
Los diodos de la entrada del colector que impiden que la tensión circule de manera contraria funcionan; pero con el tiempo la PCB se va como "quemando". Quizás haya que colocar diodos que sean capaz de disipar una potencia superior al Watio.
Un diodo no está exacto de la ley de Joule, si la caída de tensión es de 0.8V en conducción y lo atraviesa una corriente de 1A se calentará ya que está "absorbiendo" una potencia de 0.8W.
La entrada de los botones está unida directamente a la tensión de alimentación del microcontrolador. En sí no es un problema, si no más bien el hecho de que los botones al estar colocados externamente el cable puede hacer de antena y provocar efectos indeseados.
No tenemos información sobre la posición en la que se encuentra el potenciómetro digital, solo la que obtenemos por ModBus, quizás sea conveniente poder colocar un display/pantalla para poder ver la información.
En ambos máquinas el recorrido que se hace para controlar la tensión es corto, de unas pocas posiciones, habría que modificar y hacer los cálculos de los valores que conforman el divisor resistivo para ampliar el funcionamiento del potenciómetro.
En cuanto al software el mayor defecto son las librerías usadas button y SimpleModbusSlave.
La primera de ellas no tiene encuentra el debounce del botón y aunque se usa un condensador cerámico que reduce este efecto se puede mejorar el resultado por software.En cuanto la librería de ModBus, esta funciona correctamente aunque tiene limitaciones. La primera limitación es que nos limita a usar un puerto serie hardware, lo cual en el caso del reostato digital no es de suma importancia. La segunda limitación es cuando queremos enviar un comando. Quizás esto no es un defecto de la librería si no mas bien el funcionamiento normal del protocolo ModBus. Cuando enviamos un comando lo único que hacemos es escribir un registro lo que obliga a comprobar si el registro tiene un valor determinado, actuar en consecuencia y borrar el registro.
Averías notables.
El reostato digital ha estado en funcionamiento durante mucho tiempo sin dar problemas y se comporta bastante bien frente a los ruidos eléctricos. Solo cabe destacar dos averías producidas igualmente por la caída de un rayo en la línea eléctrica.
La primera de ella resultó dañando el transistor BD139 que ataca la base de los transistores y daño también los transistores 2N3055.
La segunda de ella daño la fuente auxiliar y el transistor BD139 de base.
En ambos casos los microcontroladores se colgaron en el momento de la avería, pero después del reinicio manual siguieron funcionando correctamente. Tan solo se tuvo que cambiar los componentes averiados.
Ambas averías ocurrieron en la máquina pequeña y no ocurrió nada en la máquina grande.
Referencias
Tabla de valores obtenidos en la medición del reostato.
| Resistencia Reostato. | 40 Ohmios |
| Resistencia asociada al reostato(1). | 30 Ohmios |
| Resistencia devanado paralelo(2). | 19-20 Ohmios. |
| Resistencia anillos del rotor (2). | 3.8 Ohmios |
| Tensión extremos reostato (trabajando). | 33-36V |
| Corriente del reostato(3). | 1.5 a 2.5A |
| Tensión anillos del rotor. | 70V |
(1) La máquina pequeña tiene una resistencia asociada en serie con el reostato.
(2) El valor es aproximado debido a la poca precisión del polímetro a la hora de medir valores pequeños de resistencia.
(3) La corriente medida se ha medido variando la energía reactiva producida por la máquina.