I have the Pololu 18v25CS driver which I cannot get to work at all so any advice would be appreciated. I am moderately experienced with programming Arduino’s or PICs. I set up the 18v25CS for testing (wearing my ESD wrist strap) using my Rigol DP832 power supply and an Array 3711A electronic load. I know this is a resistive load but for basic testing of my code I thought this would be the safest method while limiting current to the 18v25CS driver to just a few hundred milliamps.
I double checked and the electrolytic cap is correct in polarity.
On the 18v25CS I have the RESET pin pulled high with 20k to my Rigol 5vdc supply.
I have the second Rigol supply set for 12v, current limited to 0.5 A and this is connected to the large V+ and GND on the 18v25CS. My Array 3711A load is connected to OUTA and OUTB and set to limit current to 0.2 A. I did not tie the large pad GND to the opposite side digital grounds as I first checked on the bare 18v25CS board and these appeared isolated from each other.
I am not interested in braking just coasting so based on the Truth Table provided I have pins PWMH and PWML tied together and connected to one of the Arduino PWM pins.
I have two momentary buttons connected on one end to the Arduino (pulled low with 10K resistor to GND) and on the other end to 5vdc supply. (All are debounced in code). One button turns on the Arduino PWM pin while the other button controls an Arduino digital pin to pull the 18v25CS DIR pin high.
The basic Arduino code uses a fixed PWM freqency of about 980Hz and I set the duty cycle initially to 50%. I have verified my Arduino code and the outputs of the Arduino pins with my oscilloscope that show a nice clean PWM signal applied to both 18V25CS pins PWMH and PWML.
With both PWMH and PWML both receiving the Arduino 50% duty PWM signal - nothing on the OUTA OUTB outputs. I checked FF1 and FF2 with my scope and both are LOW. I changed duty cycle all the way to 100% and still nothing (confirmed with a voltmeter on OUTA and OUTB as well).
Also what seems odd is reading the CS pin with my scope. I have the Rigol 5v supply connected to Vcs (NOT the 18v25CS 5Vout) and my scope shows CS at +2.5 vdc not zero. It remains at +2.5V with the Rigol 12v supply on or off.
Do I have a bad 18v25CS board??
I am sorry you are having problems using your high-power motor driver. The CS pin output is centered at 2.5V and will go above or below it depending on the direction of the current flow. You can read more about this in the “Connections” section under the “Description” tab on the High-Power Motor Driver 18v25 CS product page.
The RESET pin is pulled high by default, so please leave that pin disconnected for now.
It is not clear from your description if you have a common ground between the motor driver and Arduino. If you do not, could you add a common ground and see if that fixes the issue. Note that all of the grounds on the board are internally connected, so if you are not measuring continuity between the logic ground connection and the power ground connection, you probably have a bad solder joint on one of those pins. I think this is the first thing you should check for.
If you cannot find a problem with your grounds, please post pictures of your setup. Could you also post close-up photos of both sides of the motor driver board?
Sorry, the logic ground and power ground (large GND pad) ARE continuous on the board. I connected several ground points from the Arduino to the 18v25CS.
To keep things simple I set the Arduino PWM duty cycle to 100%. With NO load power applied whatsoever and only the +5V logic supply, by turning on the Arduino PWM output to PWMH and PWML (these are tied together) I find 4.6vdc on the OUTA and OUTB pins (+ or - 4.6 depending on the DIR pin being HI or LO). With no load supply, the Arduino and 18v25CS are drawing almost 0.6A from the +5vdc supply. Seems high, is this normal?
I removed the +5v pull up resistor from the RESET pin but no change.
With the Rigol programmable power supply connected to the large pads V+ and GND and NO LOAD connected to OUTA/OUTB but only a voltmeter to OUTA and OUTB there appears to be a short when I turn on the Rigol load supply. I start by having the supply set to current limit of 0.1A but , the supply only provides 4vdc and .1A. As I slowly raise the current limit, the supply provides exactly that amount of current but nevers gets to 12v. I briefly tried this up to 1.0A and the OUTA/B seem to suck that up. I stopped as I was afraid that I would damage my Agilent DMM.
I can send pictures late tonight if you are around tomorrow to look at them. It seems that there must be a short across a MOSFET pair. I can try to check for that later tonight as well. As I said in my first post, I am neurotically careful about ESD on my workbench and use an ESD mat and wrist strap all the time.
Any advice where to go would be appreciated. If you agree this sounds defective, how do I arrange for a replacement?
thanks and Merry Christmas/Happy Holidays
Jeremy - more info.
My setup - Moteino (RF Arduino) with two momentary puhbuttons and the 18v25CS on a breadboard. I wasnt sure how my programmable electronic would handle the PWM output so i used instead a 50W 20 ohm resistor as a fixed load and set the Moteino for 50% duty (default frequency ~1 kHz).
At first I got the same results but then I fiddled with my breadboard jumpers and a small Christmas miracle everything works as it should !!
I guess the lesson is that the cheapo breadboards are not always reliable… I have nothing else obvious pointing to what else could have been the problem.
Works fine so I am happy.
Does it make any sense to have any type of isolation between the digital supply and load supply since the grounds are shared? If the 18v25CS driver were to fail would it likely take out the Arduino and /or supply? I will next play with the current sensor and was planning to also have beside ther usualk hard fuse on the load lines, a relay switch on the high side V+ supply before the driver board based on the 18v25CS current sensor. Any advice appreciated. I am using this to drive a 7A (15A stalled) very slow speed / high torque 12vdc motor.
BTW, I tried to upload a jpg picture and it rejected the image. What formats are acceptable to upload as an attachement?
I am glad you got it working. I know how frustrating it can be when breadboards fail.
If you are really concerned about isolating your logic system from the motor power system, you could implement something yourself (e.g., with optoisolators), but this is probably not necessary; we have not heard of an incident where failure of the motor driver carrier caused the microcontroller connected to it to break. A relay for connecting the load supply would probably be a good idea to controlling the power to the board. If you post a diagram of your proposed connections, I would be happy to take a look at it.
You should be able to upload .jpg files. Your photo might have been rejected if it was too large (above 1 MB). If you still want to post it, you could try compressing the photo to under 1 MB and try uploading it again. Alternatively, you could try uploading them on image-hosting sites like Photobucket or ImageShack and then use the “IMG” tags to post them.