Energy dump / overvoltage protection

Discuss hardware related to the VESC such as the NRF nunchuk.
arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Energy dump / overvoltage protection

Postby arvidb » 09 Feb 2017, 13:35

To protect the VESC and the power supply from overvoltage conditions while running "on the bench" (not powered by batteries), an energy dump circuit is needed. This has been discussed a bit in but I thought it would be a good idea to create a separate thread for this topic.

rew suggested this circuit (a modification of ):
suppy_protector.png
suppy_protector.png (3.97 KiB) Viewed 3846 times


I'm at home with a cold and spent some time digging around among old components. I managed to find some power resistors (two 50 Ω ones) and a large NPN transistor (2SC3281 - note: these are obsolete since many years; if you buy one online today it's most likely a fake!). I wrote an octave script to do some calculations:
performance.png
performance.png (7.87 KiB) Viewed 3846 times

SOA_plot.png
SOA_plot.png (12.84 KiB) Viewed 3846 times


This is using a 25 Ω power resistor, the 2SC3281 transistor, a 220 Ω base resistor, and 36 V zener. (Continued in next post due to attachment limit...)

arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby arvidb » 09 Feb 2017, 13:50

A problem with this circuit is that the base resistor power dissipation is large (almost 2.5 W at 60 V bus voltage) while there's still a lot of headroom before we violate the safe operating area of the transistor. So I added another transistor from my stash to increase the gain (this topology is apparently called a ""):
Edit: This won't work, I "kindof" forgot the base resistor here. See a corrected version in a later post.
energy-dump.png
energy-dump.png (15.83 KiB) Viewed 3849 times

(As you can see I also added a series diode for additional PSU protection; this is a 6 A capable one that was also lying around in my component stash :)).

This reduces the base resistor power dissipation to about 65 mW, apparently without much change to the circuit performance. This would also let me use, say, 5 Ω power resistors, if I had them, for much better performance:
SOA_plot_Sziklai_5R.png
SOA_plot_Sziklai_5R.png (13.08 KiB) Viewed 3849 times

performance_Sziklai_5R.png
performance_Sziklai_5R.png (8.11 KiB) Viewed 3849 times
Last edited by arvidb on 09 Feb 2017, 14:01, edited 1 time in total.

arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby arvidb » 09 Feb 2017, 13:53


arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby arvidb » 09 Feb 2017, 14:03

A "slightly better" (i.e., has a chance of working) version with the base resistor in the right place:
energy-dump-2.png
energy-dump-2.png (15.13 KiB) Viewed 3849 times

rew
Posts: 943
Joined: 25 Mar 2016, 12:29
Location: Delft, Netherlands.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby rew » 10 Feb 2017, 09:00

Once the Q2 transistor turns on GOOD, the current into the base of the other one is unlimited. This is not good. I'd put another base resistor between the two transistors.

By using the NPN transistor construct with the zener to the powerline as I suggested, but with the current limiting resistor in the emitter instead of in the base, then you've built a voltage-controlled current source. This means that the current is quite controlled and depends on the amount of overvoltage. This should help stabilize things.

Your SOA plots worry me a bit. Apparently we can come close to the SOA line of the transistor. I don't like that. I'd like more margin. Also... with this construct, under some circumstances, the transistor gets hot, while under other conditions, the resistor is the biggest power-dump. This means two components that need cooling. If I'd need this myself, I'd try to play with the values a bit more to see if I can get "less power in the transistor". Resistors are nice components. You can easily exceed their rating by a factor of five if it is not for too long. And they don't break if they end up becoming 300C.... So I'd try and get more power into the resistor and less in the transistor.

arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby arvidb » 10 Feb 2017, 11:37


arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby arvidb » 10 Feb 2017, 13:00

Attachments
edump_both_performance.png
edump_both_performance.png (17.44 KiB) Viewed 3821 times
edump_both_SOA_plot.png
edump_both_SOA_plot.png (17.92 KiB) Viewed 3821 times
edump_both_comp_dissipation.png
edump_both_comp_dissipation.png (14.92 KiB) Viewed 3821 times

rew
Posts: 943
Joined: 25 Mar 2016, 12:29
Location: Delft, Netherlands.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby rew » 11 Feb 2017, 09:04

Attachments
suppy_protector.png
suppy_protector.png (4.43 KiB) Viewed 3806 times

lizardmech
Posts: 171
Joined: 19 Jan 2016, 10:54
Location: Australia
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby lizardmech » 11 Feb 2017, 13:26

What about using mosfets as an ideal diode? Below overvoltage levels they're on, when OV is tripped mosfets get turned off forcing current through a large power resistor. You could use it so vehicles relying on regen don't overcharge batteries, adding current sense could enable battery regen over current protection without sacrificing the ability to use braking.
Attachments
brake.png
brake.png (13.83 KiB) Viewed 3802 times

arvidb
Posts: 234
Joined: 26 Dec 2015, 14:38
Location: Sweden, Stockholm
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: Energy dump / overvoltage protection

Postby arvidb » 11 Feb 2017, 18:15

Attachments
energy-dump-BDX33C.png
energy-dump-BDX33C.png (10.74 KiB) Viewed 3799 times


[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Return to “Related Hardware”

Who is online

Users browsing this forum: No registered users and 2 guests