I have a project where I need to drive a 24V 30A DC motor following a minute long sequence triggered a kind of remote control. I have 4-5 different sequences, for example 100% forward for 1s, 40% forward for 20s, 100% backward for 500ms, stop.
I've used bought a 720W DC power supply, an Arduino Leonardo, a BTS7960 based motor driver, a TLP281-based optocoupler board and a Wii Nunchuk. I use the Arduino PWM output to control the motor driver, and the Nunchuk on the I²C bus to select a sequence (with the analog stick) and trigger it (with a button). I have a big cap (4700µF) between the PSU and the motor driver, nothing between the motor driver and the motor. I also have relatively strong 2.2kOhm pullups on the I²C.
I've had several iterations before that, with a 12V power supply and a Monster Moto Shield, which worked for a few minutes in the middle of winter when the motor was cold, but the load is too heavy and I need the full 24V. However since I switched to 24V, I have disconnections on the I²C bus when the PWM goes beyond 15-20% duty cycle, and I need to power cycle everything to reset the problem. I borrowed a scope to have a look and when the motor is running there is a lot of noise on the I²C line.
So first, is that normal or did I do something wrong? Is there something I can do to reduce emitted noise from the power side? Is there a more robust alternative to I²C I could use?
I've used bought a 720W DC power supply, an Arduino Leonardo, a BTS7960 based motor driver, a TLP281-based optocoupler board and a Wii Nunchuk. I use the Arduino PWM output to control the motor driver, and the Nunchuk on the I²C bus to select a sequence (with the analog stick) and trigger it (with a button). I have a big cap (4700µF) between the PSU and the motor driver, nothing between the motor driver and the motor. I also have relatively strong 2.2kOhm pullups on the I²C.
I've had several iterations before that, with a 12V power supply and a Monster Moto Shield, which worked for a few minutes in the middle of winter when the motor was cold, but the load is too heavy and I need the full 24V. However since I switched to 24V, I have disconnections on the I²C bus when the PWM goes beyond 15-20% duty cycle, and I need to power cycle everything to reset the problem. I borrowed a scope to have a look and when the motor is running there is a lot of noise on the I²C line.
So first, is that normal or did I do something wrong? Is there something I can do to reduce emitted noise from the power side? Is there a more robust alternative to I²C I could use?