How to check what is damaged in Arduino or Servos

Hello,

Need help to figure out with problem

I’ve used this code with pin 9 and 11, for a month:

#include <Servo.h>
Servo servo1;
Servo servo2;
int val;

void setup() {
    Serial.begin(9600);
    servo1.attach(9);
    servo2.attach(11);
}

void loop() { 
  val = Serial.parseInt();
  if(val == 9){
    servo1.write(Serial.parseInt());
  }
  else if(val == 11){
    servo2.write(Serial.parseInt());
  }
}

With C# desktop control application:

 myport.WriteLine("9"); 
 myport.WriteLine(trackBar1.Value.ToString());

It was fine for all this time

My wiring is 5V and GDN from Arduino controller to breadboard (+) and (-), servo connection

Servo1:

Black wire: (-)
Red wire: (+)
White wire: (signal) pin (9)

Servo2:

Black wire: (-)
Red wire: (+)
White wire: (signal) pin (11)

Powering with 9V adapter or directly with 5V in case of 1-2 servos.

Yesterday, I was checking two different things, one is a Control of servos with Arduino and 16-Channel 12-bit PWM/Servo drive discussed in this topic without result, and another is checking of servo E-flite 7.6g Sub-Micro Digital Tail Servo JST which is different, because it is helicopter servo, problem described and discussed here Servo wiers connection layout E-flite Sub-Micro Digital Tail Servo , but both now is secondary.

After all this actions, it seems like something is damaged, and I can’t figure out what

Problem description:

1. Arduino Uno controller loads my sketch, which was working all this time with “COM3” serial port. It was worked with other loaded code, without external command from desktop.
2. 13 pin led, TX, RX and Power indicates connection, load and sending of command from C# with RX as it was before
3. Servos does not move anymore.
4. Makes noise when connected as it was usually, but now one of servos makes some kind of whistling noise

What I did to check:

  1. First of all, I’ve checked different code, including shown in this topic but it seems like the code has nothing to do with it, besides, the code that I’ve used worked perfectly all this time.

  2. I’ve checked other pins.

  3. I have checked breadboard with different (+)(-) side, and I have checked another breadboard, which unlike the first has segmented power rails to strips. Same result, so it looks like that the controller is damaged,

  4. Then I have checked Arduino Due, which was worked with same code fine, in this case with using of “COM6” serial port. And what is more important, Arduino Due was not participated in any testing yesterday.

So if is not controller, remains only the motors, but how it can be damaged, if I’m not using them in testing yesterday, I’ve used only E-flite 7.6g Sub-Micro Digital Tail Servo JST as described here Servo wiers connection layout E-flite Sub-Micro Digital Tail Servo

The only thing I also did yesterday that goes beyond the above, is a checking of V+ instead VCC from Arduino 5V on servo driver, and it provoked some kind of signal. If it could damage the controller somehow, how could it affect the Arduino Due controller, which did not participate in the test, but it just doesn’t moves the motors today.

Maybe it damaged the motors which was located on servo driver board, but in this moment, there was only one, then why both motors does not moves today with breadboard connection

Any advice, guide or example would be very helpful

Can you show a photo of your setup?
My guess is that the voltage regulator on your Arduino Uno/Due is not powerful enough to power the 2 servos.

aive:
one of servos makes some kind of whistling noise

Sounds bad.

Get a known-good servo, connect that to your Arduino, see if it moves. If it does, connect your suspect servo. See what happens.

By the way, the best way to test whether upload works is good old blink. Just make it blink the built-in LED. That tells you there and then whether the upload works.

And of course you can't power servos off the Arduino's built-in regulator. That's just a bad idea. Power them off your 9V supply if they can handle the voltage, or another 5-6V supply.

Most hobby rc servos can't handle 9V, you'll even kill them instantly when doing so.

E40racer:
Can you show a photo of your setup?
My guess is that the voltage regulator on your Arduino Uno/Due is not powerful enough to power the 2 servos.

I don’t know I’m completely done with this problem

Even if power regulator is not enough for 2 servos, when same setup was absolutely working before until yesterday, I have checked it with 1 micro servo also, but this is the smallest thing i have done today

Problem seems to me unsolvable and inexplicable for now, because my check is

1.

In testing with servo driver I have used onlu Arduino Uno, and two mini servo motors, with same C# desktop control code and loaded code, which I have used for last period a lot, is is impossible to look for a reason of problem in code part, as well as in breadboard wearing for 2 motors 5V and GND from controller to to servo (+) and (-) with pin 9 for signal wire, powered with USB or 9V adapter, both way was well

2.

Arduino Uno uploads code indicates with L 13 pin led and TX and RX, and receives message with RX indication fwhen I’m moving trackBar1 from desktop control application

3.

breadboard work because I have checked with another breadboard. Breadboard excluded to be reason of problem.

4.

Seems 5V and GND arrived at the device, because motors make noise, crackling if you put ear to the motor

5.

I have checked with other wires from motor to breadboard and signal to pin. Wires excluded.

E40racer:
Most hobby rc servos can’t handle 9V, you’ll even kill them instantly when doing so.

6.

I did two things yesterday, checking of new servo, which behaved very strange as described in linked topic above, and checking of Servo Driver board, with incorrect attachment V+ instead VCC from Arduino 5V on Servo Driver, which provoked some kind of signal, but that was not the moment after what motors stops to work as usual. Anyway, if it could damage the controller somehow, or maybe it was damaged the servo motors. I’m not really sure if it was one or two on board at this moment, and I’ve bought another new working mini servo motor today, which for sure not was participated in driver checking. But, same result, servos does not moves.

So, motors are also excluded. Based on all this, it remains to think, that something with Arduino Uno controller and PWM or anything else…

But the nightmare begins here and I don’t see a way out!

wvmarle:
Sounds bad.

Get a known-good servo, connect that to your Arduino, see if it moves. If it does, connect your suspect servo. See what happens.

By the way, the best way to test whether upload works is good old blink. Just make it blink the built-in LED. That tells you there and then whether the upload works.

And of course you can’t power servos off the Arduino’s built-in regulator. That’s just a bad idea. Power them off your 9V supply if they can handle the voltage, or another 5-6V supply.

7.

As I’ve said, I have Arduino Due controller as well, which did not participate in the test. I have used same setup for both controllers with same uploaded and control application code, with only difference “COM3” for Uno and “COM4” for Due automatically pontificated from my desktop, and board/port setting in Arduino IDE, and different USB wire, of course. Both controllers, setups worked absolutely same way, successfully.

Arduino Due receiving of message with RX and TX is indicated, but it is same problem with it now, and I don’t know if I have something to catch, it does not moves motors =(

I’ve checked all USB inputs on my PC also.

The only sign that I see right now, which appears not all time with connecting controller with PC, when servos starts buzzing, sometimes one of servos makes short signal, which was not previously observed, but it happens one of ten times, while I’m trying to figure it out. Anyway it does not seem to be related to the problem, but honestly I lost the connection where I could look for the reason

Seems that the controller is also excluded

I don’t understand how to figure out =(

You exclude everything BUT the servos. That leaves the servo(s) as the problem.

Did you already try with a known good (new, unused) servo?

And why do you say power "seems" to arrive at the servo? Why don't you just measure this with your multimeter?

wvmarle:
You exclude everything BUT the servos. That leaves the servo(s) as the problem.

Did you already try with a known good (new, unused) servo?

And why do you say power "seems" to arrive at the servo? Why don't you just measure this with your multimeter?

Hello, well even if I have destroyed my motors, how could this impact disconnected Arduino Due controller and new servo bought today. I've noticed it above in paragraph 6 as well as other controller please check paragraph 7

Nothing of yesterday's actions could affect Arduino Due, which was completely disconnected from everything at this moment or new servo bought today

I'm completely done with this problem, I don't understand how to figure out =(

Can it be some kind of virus from this Servo Drive, I really don't know what to think

You give so much information of things that are not it, that I’m also getting lost.

Go back to basics. I’m assuming you have an appropriate power supply and correct wiring.

  1. make sure sketch upload works (e.g. Blink).
  2. upload a simple servo example sketch such as sweep. See whether that works with your known-good servo.
    That should narrow it down pretty well.

[/quote]

wvmarle:
You give so much information of things that are not it, that I'm also getting lost.

Go back to basics. I'm assuming you have an appropriate power supply and correct wiring.

  1. make sure sketch upload works (e.g. Blink).
  2. upload a simple servo example sketch such as sweep. See whether that works with your known-good servo.
    That should narrow it down pretty well.

As I have said, all this time I have used only 2 mini servos, without servos separately powering, but I know in case of number of motors, I have to use 5V 2Amp adapter. My powering all this time is a USB 5V and GND to motors on breadboard basic connection, nothing extraordinary:

So as you've advised, upload a simple servo example sketch such as sweep behaves now same way as my code or anything else, sketch successfully loaded to controller, and L, TX, RX led indicates load. Nothing with motors. Motor produces usual noise

Try another pin - if it still doesn't work, most likely servo is broken. Or if you want to be sure about the Arduino, grab a new, known-good board to try it.

All in all the strategy remains the same. Start with a known good configuration, and start swapping out parts.

Simple explanation might be the gears in the servo wore down which increased drag which increased current draw which blew your voltage regulators.

So you have a bad servo thats killing whatever you connect to it and a bad ardruino…

Guess you could call that a “Servo Virus”…