Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Adafruit Ethernet, Motor, Proto, Wave, Datalogger, GPS Shields - etc!

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

No luck for me pressing the Arduino reset button. I do see the sketch start back up again but unfortunately no movement from the servo.

Here is what I see on the serial monitor by the way:

16 channel Servo test!
Estimated pre-scale: 100.73
Final pre-scale: 101
0
1
2
3
... etc.

Walker

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit_support_bill »

Running out of ideas here :?

One more thing: Can you take a photo of the solder side of the board from an angle as in the photo below. In the straight-on view your solder joints look good. I just want to see what they look like in profile:

Image

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

Here's a photo of the second board. I actually think I did better on the first one... but they both look okay to me.
Attachments
Solder joints on the PWM board
Solder joints on the PWM board
mux_solder.jpg (56.8 KiB) Viewed 1353 times

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

I'm running out of things to try as well. This project I'm working on needs the Arduino to be able to talk to my Raspberry Pi, and I thought I would be doing that via i2c since I would already have a bus for it. Maybe I'll try getting that connection up and working just to see if the problem surfaces there as well.

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

I don't suppose it matters that my Uno is Rev 3 does it? I noticed that it has separate i2c pins. I tried them but still got the same results.

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit_support_bill »

Your solder looks excellent. And the Uno R3 is not a problem. The extra I2C pins are directly connected to A4 & A5, so it should work with either wiring. While you check out the I2C bus, I'll get someone else to take a look. If we can't spot a problem we'll replace the boards.

adafruit
 
Posts: 12151
Joined: Thu Apr 06, 2006 4:21 pm

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit »

it just doesn't seem likely that its the boards - 2 that dont work identically (and we test all the boards here) :/
you could try running this off the raspberry pi?

also, worth asking - the green LED on board DOES light up solid right?

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

I agree. It seems a stretch to think both of these boards are defective. There certainly are no visible defects on them and the finish and layout is quite nice. I still hope to identify something on my end causing this issue. I'm noting that several others have had similar experiences in these forums.

I plan on getting i2c working between the Rpi and Uno first just to validate that I can get a good connection. Then I'll attach the PWM drivers to the Rpi to see what I get from them.

Another question... I've also tried testing the board with an LED. I thought I had read to attach the LED at V+ (positive lead) and PWM (negative lead). Is that correct. When I do that the LED is unlit when I attach the V+ power supply, but then goes on solid when I attach USB power to the Arduino. If there's not supposed to be a signal then I would expect the LED to stay off. Did I get the pin connections wrong?

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

Oh, and yes... the PWM board LED goes on solid as soon as the Arduino is plugged in.

FYI... I've had trouble in the past driving two servos with the USB power and the Adafruit motor shield. So just in case the USB power was an issue I tried running the sketch with a 9v (1amp) power supply plugged into the arduino (no USB plugged in.) I got the same inactivity. I may try it with both the USB and 9v power supply plugged in just because I noticed the serial monitor output always starts at the beginning no matter how long the Uno has been plugged in. Those serial commands are blocking are they? (Sorry, a noob questions I know. I don't think they are supposed to be blocking commands.)

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit_support_bill »

The PWM signal is a fairly low duty cycle, so most of the time it is low. Of you connect the led the other way (anode to the PWM and cathode to GND) you 'might' see a faint glow if there is a signal. I'd have to verify that.

USB can only supply 500mA, but even if that were a problem, I'd expect to get at least some movement from the servo.

Connecting the serial monitor causes the Arduino to reset. That is why the output always starts at the beginning. To speed up your test cycles, you might want to modify the sketch to just work on one channel (or drive all of them simultaneously).

And no, in earlier versions of the Arduino, the serial output was blocking, but it is interrupt driven now.

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit_support_bill »

Update - yes, connecting a led as described in my last post, it will visibly illuminate with a PWM signal.

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

That explains the serial monitor behavior... thanks!

The LED during the test is pretty bright... as bright as it is when driven straight from the Uno PWM ports (with an appropriate resistor.) (Well, that's based on a visual which I know can't totally be relied on here.) But it isn't dim.

Actually, for my project I probably won't be driving servos with these boards... I'll be driving LEDs. (And not even directly... I will probably need some transistors to allow me to use higher voltage for some very bright SMD LEDs.) But I was just testing with a servo to validate my assembly.

I agree that we should get some movement from the servos. The other power problem I had caused resets on the arduino so it didn't seem like the same kind of behavior... but I wanted to try full power just to rule it out.

Still scratching my head but I'd have to bet the problem is in the i2c connection.

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit_support_bill »

OK, so you have some output from the PWM pin. :D If you attach it to some port other than 0, when you remove power from VCC, it should go out and stay out until the sketch gets around to that port.

It is actually brighter than I expected. It is a low duty cycle, but at 5v it is overdriving the led by quite a bit.

Now the mystery still remains: Why no servo movement?

User avatar
walker
 
Posts: 77
Joined: Sat Aug 04, 2012 8:40 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by walker »

I was all excited to try moving the LED to a higher port this evening. Unfortunately I didn't get the results I had hoped for. I moved the LED to port 14. Unfortunately as soon as I plug in the power to the arduino it lights. (Not when I plug in the V+ power mind you... nothing lights when I do that... but when I plug in the arduino it lights and stays lit until I unplug the arduino.) I see no change in the brightness of the LED even after the sketch cycles through port 14.

However, if I unplug the 5v pin (VCC) from the Uno 5v port the power LED goes off on the PWM board but the LED on port 14 stays lit.

If I unplug the V+ power the LED dims out slowly (I assume residual power draining from the caps in the power supply.)

I have video if you want to see it. Is it allowed to post video on this forum?

So, am I understanding this right? There is no signal on the PWM pin so the pull-down resistors are drawing the V+ current through the LED. Seeing the LED dim would be an indication that the signal went live on the PWM pin, right?

My Rpi SD card image seems to be corrupted so I need to rebuild that tonight before I can get the i2c tools on it.

User avatar
adafruit_support_bill
 
Posts: 88093
Joined: Sat Feb 07, 2009 10:11 am

Re: Adafruit 16-Channel 12-bit PWM/Servo Driver not driving servos

Post by adafruit_support_bill »

If I unplug the V+ power the LED dims out slowly (I assume residual power draining from the caps in the power supply.)
I don't think you are connecting that correctly. The V+ power bus should not be involved in this test at all.

Connect the anode (long leg) to the PWM pin and the cathode (short leg) to the GND pin.

Locked
Please be positive and constructive with your questions and comments.

Return to “Arduino Shields from Adafruit”