Mejor opción control salida de potencia 12V a 1,5 A

Hola, deseo hacer un conjunto de arduino con 20 salidas con PWM a 12V cada una puede llegar a 1,5 A. (Control de secuencia e intensidad de luces).
Mis dudas preguntas de hardward:
1º La mejor forma que se produce a la salida del arduino para tener los 20 canales PWM?
a-Módulo de Driver-I2C PCA9685, 16 canales,
b-Otra placa arduino como esclava de la primera
c-cualquier idea que se os ocurra
2º ¿Para el control de salida de potencia PWM a 12 VDC-1,5A?
a- IRF520 potencia MOS PWM
b-cualquier idea que se os ocurra
gracias por vuestros aportes

1º La mejor forma que se produce a la salida del arduino para tener los 20 canales PWM?
a-Módulo de Driver-I2C PCA9685, 16 canales,

Correcto, la opción a) usando otra extra para llegar a los 20 canales o usar los PWM del Arduino ya que estos 16 seran por I2C
En lo personal yo haria todo con drivers PCA9685 para uniformizar salidas y código.

2º ¿Para el control de salida de potencia PWM a 12 VDC-1,5A?
a- IRF520 potencia MOS PWM

Usaría si consigues el IRL520 de 9.2A pero también un IRL510 de 5.6A es suficiente.
Ambos estan optimizados para obtener el máximo de corriente para 5V por lo que no debes comprar de mas como pasa con el IRF520 que eliges un MOSFET de mas corriente porque a 5V de Vgs entrega menos corriente.

Gracias Surbite por tu pronta respuesta.
Como no soy ducho en en hacer códigos en arduino (soy de la epoca de fortran) tengo el código casi terminado, pero tipo pica piedra con comandos básicos y funciona bien pero evidentemente hay muchas repeticiones de comandos similares, para las distintas líneas a controlar.
Puedo publicarlo para que alguien me ayude a optimizarlo o es un abuso.?
Gracias nuevamente

El abuso es pedir que te lo hagan, pero pedir que le demos una mirada para ayudarte no es abuso.

Mira como se postean los códigos, debes usar etiquetas, observa otros hilos y lee las normas del foro al respecto. Basicamente click en </> e inmediatamente posteas el codigo.

Esta bien explicado en las normas.

¡¡ QUE BONITO ERA EL FORTRAN!!

Tu publica el código y te ayudamos un poco entre todos

Mira este tutorial, es sumamente simple usar el PCA9685

#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>

Adafruit_PWMServoDriver pwm1 = Adafruit_PWMServoDriver(0x40);    // crea un objeto en la placa 1
Adafruit_PWMServoDriver pwm2 = Adafruit_PWMServoDriver(0x41);    // crea un objeto en la placa 2

Luego un simple barrido de a 10 facilita las cosas

 for (int i=0 ; i<=10; i++) {  // Ciclo a través de 10 servos por placa 10 + 10 = 20

    for (int pulseLength = servoMin ; pulseLength <= servoMax ; pulseLength++)   {
      pwm1.setPWM(i, 0, pulseLength);           // Fija el ancho de pulso en la placa 1 servo i
      pwm2.setPWM(i, 0, pulseLength);           //  Fija el ancho de pulso en la placa 2 servo i
      delay(1);
    }

entonces mira que fácil, en un simple loop actualizas todos los servos

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.