Go Down

Topic: Modeling the Arduino as a load (Read 716 times) previous topic - next topic

ross83

Nov 22, 2017, 11:20 am Last Edit: Nov 22, 2017, 11:36 am by ross83
Hi Guys,

This is my first post on here so please be patient if I miss any etiquettes. :)

I am currently in the process of making a quadcopter with an Arduino Uno as the flight controller.
I have a 3S, 3 cell 11.1v LiPo battery powering my ESC's and Arduino.

The ESC: Racerstar RS20Ax4 20A 4 in 1 Blheli_S Opto

The Motors: BR2205 2300V Brushless motors.

My problem occurs when I force my motors to 80% power (Limited from 100% to save their lives) in less than a second. This causes a transient that has ended up frying the Arduino Uno which is controlling the receiver, ESC's, ect. Luckily everything else was undamaged. I replaced the Arduino and everything was good again.

Under all other conditions I have tested so far, everything works fine, and the arduino ticks over normally. :)

My question; How do I go about modeling an Arduino Uno as a load to see how the current and voltage affect the Arduino Uno when it is subjected to this condition.

I have the arduino in parallel with the ESC's powered by the LiPo. This is because the Arduino can comfortably operate with 11.1V and ESC's at 11.1V. (I am using the 9V plug thingy to power the Arduino)

The below is an LTSpice model I have made to model the ESC's, but I am having problems on modeling the Arduino.

Has anyone done this? Does any one know how I could go about this?

Ps. I have looked and found that UBEC's can arrest this problem, but I like modeling everything myself :)

Thank you in advance for any comments :)

MarkT

You don't need to model, you add protection circuitry to prevent it happening.  With hard motor braking
you are pushing current back into the battery which is causing a voltage spike - normally a LiPo
pack should absorb that easily, so something else is happening I think - bad wiring or something,
leading to the supply rail jumping a lot.  Perhaps the LiPo over-charge prevention circuit is tripping?

To prevent the supply rail jumping too high, a clamp circuit is needed to limit the voltage and dissipate
the energy harmlessly.

See this page and search for "with transistor buffer": https://www.electronics-notes.com/articles/analogue_circuits/power-supply-electronics/over-voltage-protection.php

The transistor should be a power transistor able to absorb some energy without immediately frying, so
TO220 package or similar.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

MorganS

Quote
because the Arduino can comfortably operate with 11.1V
Not true.

Under the right circumstances, you can operate an UNO at 11.1V. However as soon as there are inductive loads like motors in the circuit, you can't rely on that 11.1V staying within the limits of the Arduino.

Get another voltage regulator between the battery and the UNO. You should find that it's not hard to find them with input ratings up to 36V. Go direct to 5V, bypassing the Arduino's regulator. Follow the regulator's recommendations for input and output capacitors.

For fun, take one of your brushless motors that's not connected to anything and try to spin the shaft. It should be easy to spin. Now grab all the wires coming out of the motor and twist the bare ends together. Try to spin it again. It is surprising how much difference this makes. Now imagine the rotor spinning at a few thousand RPM and think about how much energy is stored in that rotational inertia, coming back down the wires to your Arduino.
"The problem is in the code you didn't post."

TomGeorge

Hi,

Have you got your ESC power leads each connected DIRECTLY to the battery in a Star configuration?

Was your Arduino connected by its own power leads to the battery.

How big is your Lipo?

Describe what you mean by "frying" your UNO.

Motor specs
Quote
Description:
Brand: Racerstar
Item name: BR2205 2300KV Brushless Motor
RPM/V: 2300KV
Height: 31.5mm
Width: 27.9mm
Shaft diameter: M5
Motor mount hole size: M3
Weight: 28 grams
Voltage: 2-4S
Battery: 2-4S lipo battery
Max.current: 27.6A
Max.power: 950W
Internal resistance: Ω
Usage: for 250 260 280 Multirotor Frame Kit
Tom... :)
Everything runs on smoke, let the smoke out, it stops running....

ross83

#4
Nov 26, 2017, 05:38 am Last Edit: Nov 26, 2017, 05:49 am by ross83 Reason: Image was too large
Hi,

Thank you for your replies guys :)

TomGeorge, I am using a 4in1 ESC so na it is not in a Star Configuration. And No, its on the same power leads as the ESC with no protection circuitry.

When this happened, the smell of smoke came from the Arduino. Im pretty sure there was a voltage spike through the arduino and just killed it.

MoragnS Yes I agree, but this will not occur when there are no sharp changed in the power drawn from the motors. right? Im an Electrical Engineer with one year to go till I graduate, so I beleive I have a half decent idea whats happening.

I have attached the physical setup of what i am talking about.

sorry I couldnt find a way to tag you guys.

Thanks

ross83

Please correct me if I am wrong, at this point I have no idea what im doing and any help would be massively appreciated :)
I am keen to learn what's happening with my quad so I can solve this issue :)

Thanks

MorganS

The battery is the source of power. The wires between the battery and other things have inductance and resistance. And no, the motors aren't drawing constant power - they can even be feeding power back to the battery. So the battery is the most stable element of the system. Delicate electronics should have their own wire from the battery.

If you don't tell us the details of the "4in1" or any other components, then we can't help.

Only one week from "half decent idea" to "no idea"? You're learning.
"The problem is in the code you didn't post."

TomGeorge

Everything runs on smoke, let the smoke out, it stops running....

MarkT

You should not be powering the Arduino direct from the traction battery.  That's never a good idea.

Have you considered either a separate pack or a an isolated DC-DC converter with a wide input voltage range.

Both of these approaches will lose the obvious large ground loop you have in that photo...

You can also add protection to the Arduino->ESC cable.
[ I will NOT respond to personal messages, I WILL delete them, use the forum please ]

Go Up