Automatización de Dispositivo porta lingoteras

Hola a todos los del foro, trato de desarrollar un proyecto el cual involucra el control de un motor trifasico, bueno el caso es que ya tengo un vareador de frecuencia ABB de la serie ASC150 el cual ya lo hice funcionar por medio de sus entradas y salidas, ahora tengo que generar las señales por lo cual pensé que arduino junto con unos reveladores seria la mejor opción, el caso es que nunca he trabajado con arduino si ustedes me pudiesen asesorar a desarrollar el código que necesito lo agradecería mucho, para esto también ocupare sensores inductivos, colocados en sonas estrategicas para que mediante sus señales desactive el motor un corto tiempo en la posicion que deseo, el proceso seria el siguiente:
1.Activar el motor trifasico
2.Cuando el sensor detecte la primer lingotera que se desactive el motor
3.- que espere unos 20 segundos
4. Vuelva avanzar y detecte la segunda lingotera, que espere 20 seg de nuevo y asi sucesivamente 7 veces
5. cuando haya contado 7 veces, ocea un ciclo,ya no necesitare la señal del sensor por lo cual que gire un tiempo determinado (5min)
6. Despues transcurrido ese tiempo que el sensor vuelva a detectar a las lingoteras y asi se velvan a posicionar en el lugar especificado y relicen el ciclo del paso 2 al 4

Gracias por su atencion, les adjunto una imagen para que aprecien mejor el proceso :slight_smile:

Hola,

Por casualidades de la vida, yo estoy haciendo algo que te podría ayudar....Estoy trabajando en ello y publicaré todo cuando termine. Pero esto no será inmediato.

Parte de lo que estoy haciendo, es control de un motor mediante un variador con Arduino (tengo 3 tipos de variadores diferentes...). El control del variador lo hago mediante su entrada analógica (target de velocidad) y su los puertos digitales para el sentido de la velocidad (fwd/rwd/stop).
En el motor, se tiene un sensor HALL para el feedback de la velocidad (y porque se necesita contar el número de vueltas para una de las funciones que tiene que hacer).

Utilizo un Arduino Mega (Atmega 2560), la entrada es un sensor HALL que da un pulso por vuelta y la salida del control PI de velocidad es un DAC de 12 bits de resolución (MCP4725).

He programado un control PI genérico en Arduino, el cual permite configurar:

  • Tabla feedforward (open loop) guardada en memoria de programa (rpm Vs voltage).
  • Constantes Kp e Ki
  • Margen de rpm para que la parte integral empiece a actuar (windup) y un delay cuanto tiempo tiene que estar dentro de dicho margen.
  • Glitch detection (para el sensor Hall).

Todos los parámetros son configurables mediante puerto serie. He creado comandos para controlar todo. Esto se hace mediante sentencias tipo SET y GET. Por ejemplo, GET ERROR me devuelve el error actual ó SET SP 1200 cambia el setpoint a 1200 rpm, etc
Para tunear el control, se puede habilitar una rutina que hace oscilar entre dos velocidades y saca los datos serie para monitorizar usando el Stamp Plot Lite por serie... Adjunto unas capturas de ejemplo (saca la velocidad medida del Hall, el error, la término feedforward, el término proporcional e integral).

Pero hasta dentro de 2 meses o así no estará disponible... :astonished:
Seguramente podrías reutilizar parte del código,aunque tu control es de posición si no he entendido mal....pero si lo necesitas ya, lo único que puedo contarte de momento es el HW que utilizo....
Para el sentido, lo controlaré con relés, porque en mi aplicación no se cambia el sentido rápido.

Tendrás que mirar el tema de optoacoplar siempre que puedas. Yo probé a generar la señal de control de velocidad mediante PWM + filtro paso bajo, pero no tenía buena resolución para mi aplicación. Así que opté por el DAC externo controlado por I2C (el SPI lo quiero para el controlador CAN bus externo).

Ánimo,

Igor R.

Que tal Igor R se ve que sabes bastante del tema, y una disculpa por no contestar inmediatamente, tu proceso se parece mucho al mio, no se si tu me podrías asesorar a desarrollar mi proyecto?