Okay, so I tested the Arduino shield and it is working well enough for our system even with only 30V nominal. However, if it’s possible I’d like to get the 36v20 board to work.
To solve the regeneration issue, I put a DC electronic load in parallel with the supply, and it draws 150W of power when I operate the system. I do not see a spike in the voltage anymore.
I could not get the 36v20 to work, even though the wiring, assembly and code seems simple enough. I connected it as follows
Motor Side:
V+ to 30V positive
OutA to motor
OutB to motor
GND to Power supply ground
Control Side:
PWMH to Arduino pwm pin analog output
DIR to Arduino digital output pin
GND to Arduino Ground
All other connections left disconnected
My code was very simple, the DIR was held low and the PWMH was held at 255. I also tried other duty cycle values from 0 to 255, and a loop to vary the values, and I also tried adjusting the Arduino pwm frequency to higher frequencies. However none of it worked, all resulted in the following behavior. I was able to verify the PWM signal is correct using lab view and another data acquisition unit.
The driver draws 0.06A when powered on with an external power supply and the output motor disconnected, and I get a constant 6.3V output voltage reading on my multimeter regardless of the PWMH signal or DIR signal. With the motor connected it drops to 0V. Checking the fault flag indicators it appears both are high, if I reset by shorting the reset pin to GND the driver draws less amps until after I stop shorting the reset pin, but immediately both are high.
Checking the fault table with both fault flags high it appears there is an under voltage condition, but the power supply can supply 30V and 20A so this doesn’t make sense to me. I also tried another power supply. These supplies work with the other driver.
I also tried resetting the pin programmatically with the Arduino using another digital output, holding the pin output low for 5 seconds and then holding the pin high, but it does not work that way either. However on the power supply shows the drop in current draw when the reset pin is held low, indicating the reset is being correctly done.
I used both capacitors that came with the driver and thought maybe the capacitors were incorrectly wired but I double checked the polarity, and even tried removing them completely and just testing the output with a multimeter and still no luck getting the driver to output what I expect.
I checked all of the solder joints and the reset pin reads 6-7V, FF1 and FF2 read 4V usually, the 5V output reads 5V, ground is connected to the Arduino Ground and all other grounds on the board are connected, all V+ pins were connected and all read 30V when compared to ground (power supply voltage). All of it seems to be fine. I even checked the legs of the capacitor to make sure there was a voltage drop across them before removing and they were seeing the 30V. Checking the voltage drop of any V+ pin on the board against ground shows the 30V from the power supply, so an under voltage condition doesn’t make sense.
If there seems to be something obviously wrong with the setup here then please let me know, otherwise as I am approaching a deadline I will continue to use the Arduino shield driver instead, but disappointed in the 36v20 driver.
Thanks