Posts: 73
Threads: 20
Joined: Jan 2019
Reputation:
3
2019-07-21, 11:59 PM
Hello people,
I want to share my work.
I played with VNH2SP30, but 3 of 3 boards i sourced from Ebay appeared not working (every board had one of switch transistors not working).
L298N worked, with small motor, but it is too weak.
I designed my own H-bridge HAT board for Arduino for my boat. This design works well for me for year.
It is based in easy to find chip DRV8873H ($4.45 on Mouser com)
https://www.ti.com/lit/ds/symlink/drv8873-q1.pdf
It is fully protected H- bridge 5...38V and 10A Peak Current drive.
All documentation on the board including schematic, gerber files and high resolution pictures
https://github.com/partyvi/Pypilot_motor_DRV8873H
Due to difference in control signals and fact I ordered sensor inputs other way I had to make some add-on changes in the original pypilot/arduino/moror code
Code working with my board is available at [/url][url=https://github.com/partyvi/pypilot/tree/master/arduino/motor]https://github.com/partyvi/pypilot/tree/master/arduino/motor
If somebody is interesting in my solution, I have two bare boards (with no components on them).
I will send them to first two people who will ask for free.
One more feature is available in my code - magnetic encoder for rudder angle sensor.
It is not installed on the boat yet but on bench testing is very promising.
I am using AS5601 chip ( Datasheet). It gives 1024 counts on 90 degrees and it looks absolutely enough.
Main goal was to make rudder sensor working through 1/2inch of fiberglass to avoid exposing sensor circuit, wires to weather and drilling holes.
How it looks like: outside I put magnet in cylindrical enclosure with link to rudder which turns Diametrically Magnetized magnet. Sensor electronics will be mounted under the deck right under the place where magnet. It communicates to Motor board over I2C interface (you can see 4 add-on wires soldered to the Arduino nano). As soon as I2C interface pins are used already i used D9 and D10 for I2c and implemented I2C protocol software.
Let me know if you have questions.
Viktor
Posts: 2,419
Threads: 21
Joined: Jun 2016
Reputation:
76
Great work. Thanks for posting this.
Posts: 397
Threads: 37
Joined: Jul 2019
Reputation:
14
(2019-07-21, 11:59 PM)partyvi Wrote: Hello people,
I want to share my work.
I played with VNH2SP30, but 3 of 3 boards i sourced from Ebay appeared not working (every board had one of switch transistors not working).
L298N worked, with small motor, but it is too weak.
I designed my own H-bridge HAT board for Arduino for my boat. This design works well for me for year.
It is based in easy to find chip DRV8873H ($4.45 on Mouser com)
https://www.ti.com/lit/ds/symlink/drv8873-q1.pdf
It is fully protected H- bridge 5...38V and 10A Peak Current drive.
All documentation on the board including schematic, gerber files and high resolution pictures
https://github.com/partyvi/Pypilot_motor_DRV8873H
Due to difference in control signals and fact I ordered sensor inputs other way I had to make some add-on changes in the original pypilot/arduino/moror code
Code working with my board is available at [/url][url=https://github.com/partyvi/pypilot/tree/master/arduino/motor]https://github.com/partyvi/pypilot/tree/master/arduino/motor
If somebody is interesting in my solution, I have two bare boards (with no components on them).
I will send them to first two people who will ask for free.
One more feature is available in my code - magnetic encoder for rudder angle sensor.
It is not installed on the boat yet but on bench testing is very promising.
I am using AS5601 chip (Datasheet). It gives 1024 counts on 90 degrees and it looks absolutely enough.
Main goal was to make rudder sensor working through 1/2inch of fiberglass to avoid exposing sensor circuit, wires to weather and drilling holes.
How it looks like: outside I put magnet in cylindrical enclosure with link to rudder which turns Diametrically Magnetized magnet. Sensor electronics will be mounted under the deck right under the place where magnet. It communicates to Motor board over I2C interface (you can see 4 add-on wires soldered to the Arduino nano). As soon as I2C interface pins are used already i used D9 and D10 for I2c and implemented I2C protocol software.
Let me know if you have questions.
Viktor
I am interested in one of these boards. I purchased a motor controller for my AP from Sean but then decided to go with a hydraulic solution, while the controller I have just squeaks in as being able to control my motor I am concerned it will overheat in rough water.
Posts: 2,419
Threads: 21
Joined: Jun 2016
Reputation:
76
As far as I can tell there is much more resistance (more heat generated) by the mosfets of 150 milliohms vs 10 milliohms in my controllers. This driver is fine for a few amps for tillerpilots and wheel drives but I don't suggest it can drive a hydraulic pump.
Posts: 73
Threads: 20
Joined: Jan 2019
Reputation:
3
(2019-07-23, 12:01 AM)seandepagnier Wrote: As far as I can tell there is much more resistance (more heat generated) by the mosfets of 150 milliohms vs 10 milliohms in my controllers. This driver is fine for a few amps for tillerpilots and wheel drives but I don't suggest it can drive a hydraulic pump.
Thanks for comment.
I agree with you, but any design has own users. I am not trying to compete with you and for >10A yours works better.
About what heat we are talking?
On 10A (full 100% cycle) on 150mOhm MOSFETs it will be (0.150+0.150)*10 = 3W on mine and 0.2W on yours - yes difference in 15 times, but 3W is in absolute maximum mode for the design and 3W is not a huge heat.
It was easier for me to build my own, electronics design and programming is what I like to do. Ant I just share to community.
My bridge is 10A max, but for most linear actuators or ever direct drive even it is overkill.
My average pilot consumption is below 1 amp. means less than 300mW heating in bridge which is almost nothing to talk about. I never see its temperature grow more than 2-3C under any conditions.
Posts: 2,419
Threads: 21
Joined: Jun 2016
Reputation:
76
2019-07-23, 03:01 AM
(This post was last modified: 2019-07-23, 03:03 AM by seandepagnier.)
(2019-07-23, 12:48 AM)partyvi Wrote: About what heat we are talking?
On 10A (full 100% cycle) on 150mOhm MOSFETs it will be (0.150+0.150)*10 = 3W on mine and 0.2W on yours - yes difference in 15 times, but 3W is in absolute maximum mode for the design and 3W is not a huge heat.
The power dissipated is I^2 * R
So for 10 amps this is:
10*10*.150 which is 15 watts. This tiny part on the pcb cannot dissipate easily 15 watts.
For my controller:
10*10*.010 = 1 watt. This is distributed across parts which can dissipate more than this without a heat sink.
The fuse, pcb traces and other components dissipate slightly more than the mosfets do as well.
Quote:It was easier for me to build my own, electronics design and programming is what I like to do. Ant I just share to community.
My bridge is 10A max, but for most linear actuators or ever direct drive even it is overkill.
See above. It might support 10 amps stall current since it doesn't have much duration and overcurrent or over temp sensor will save the controller. But it cannot handle a motor that draws 10 amps running (and stalls at 30) like a hydraulic pump.
Quote:My average pilot consumption is below 1 amp. means less than 300mW heating in bridge which is almost nothing to talk about. I never see its temperature grow more than 2-3C under any conditions.
Yes. For smaller tiller pilots your bridge is perfectly good and it's not an issue for motors that use just a few amps. Also I think you improved a few things and I enjoy this.
Posts: 73
Threads: 20
Joined: Jan 2019
Reputation:
3
(2019-07-23, 03:01 AM)seandepagnier Wrote: (2019-07-23, 12:48 AM)partyvi Wrote: About what heat we are talking?
On 10A (full 100% cycle) on 150mOhm MOSFETs it will be (0.150+0.150)*10 = 3W on mine and 0.2W on yours - yes difference in 15 times, but 3W is in absolute maximum mode for the design and 3W is not a huge heat.
The power dissipated is I^2 * R
So for 10 amps this is:
10*10*.150 which is 15 watts. This tiny part on the pcb cannot dissipate easily 15 watts.
For my controller:
10*10*.010 = 1 watt. This is distributed across parts which can dissipate more than this without a heat sink.
The fuse, pcb traces and other components dissipate slightly more than the mosfets do as well.
Quote:It was easier for me to build my own, electronics design and programming is what I like to do. Ant I just share to community.
My bridge is 10A max, but for most linear actuators or ever direct drive even it is overkill.
See above. It might support 10 amps stall current since it doesn't have much duration and overcurrent or over temp sensor will save the controller. But it cannot handle a motor that draws 10 amps running (and stalls at 30) like a hydraulic pump.
Quote:My average pilot consumption is below 1 amp. means less than 300mW heating in bridge which is almost nothing to talk about. I never see its temperature grow more than 2-3C under any conditions.
Yes. For smaller tiller pilots your bridge is perfectly good and it's not an issue for motors that use just a few amps. Also I think you improved a few things and I enjoy this.
You absolutely right, About I^2*r my bad, you counted only one transistor channel but in 100% cycle we need to count one High and one Low side. Actual dissipation we can expect *2.
So, long time stall current will heat pretty extensively if big motor connected and internal protection could trip faster then controller cut it.
In my design board sits and thermally conducts to cast aluminum enclosure. It helps a lot.
Sure it was not developed for 10A continuous current motors. 10A in peak (read stall)
Posts: 2,419
Threads: 21
Joined: Jun 2016
Reputation:
76
Nothing wrong with your design, just wanted to point out to rastam4n that it's not for hydraulic.
Did you manage to heatsink the h bridge to the metal enclosure?
My mosfets are 2-3 milliohms so I did count all channels. Also using 500 micro ohm shunt (needs amplifier) uses little power. Also there are some losses during switching and the pcb traces themselves become significant.
The 0.05 ohm shunt plus 0.15 ohm resistance of h-bridge you used equals 0.2 ohm
So at 12 volts with a tiller pilot drawing 3 amps
3*3*.2 = 1.8 watts, 95% efficient. In reality there are other losses so its closer to 90% which is not bad, and not too much heat to dissipate either. This also means .2*3 = .6 volts drop.
So motor only sees 11.4 volts. This means the motor turns slower and operates in a range it may (or may not) be less efficient. Usually tiller pilots are more efficient with more voltage. This allows for more short faster corrections, but it also really depends, and if it has a ball screw rather than a lead screw then slower speeds are not as inefficient.
In my case, the total resistance of the basic controller 40 milliohms drops only 0.12 volts, so 98-99% efficient (arduino and drivers taking it down to 97%) hydraulic controller has 20 milliohms resistance, so half the losses and it uses a metal enclosure so it can also dissipate many times more. The efficiency varies depending on the current for each controller.
This is just an example at 3 amps. If your motor draws less power, say 1.5 amps, then on resistance is less important, and the higher resistance controller approaches better efficiency, but it's already ok even at 3 amps.
Posts: 143
Threads: 16
Joined: Jul 2019
Reputation:
9
Quote:partyvi
It is based in easy to find chip DRV8873H ($4.45 on Mouser com)
Sweet. The DRV88xx range is pretty nice. An interesting site to learn about these chips:
http://ebldc.com/?p=264
http://ebldc.com/?p=464
http://ebldc.com/?p=355
I am interested to try your driver board.
Posts: 73
Threads: 20
Joined: Jan 2019
Reputation:
3
(2019-07-24, 09:08 AM)CapnKernel Wrote: Quote:partyvi
It is based in easy to find chip DRV8873H ($4.45 on Mouser com)
Sweet. The DRV88xx range is pretty nice. An interesting site to learn about these chips:
http://ebldc.com/?p=264
http://ebldc.com/?p=464
http://ebldc.com/?p=355
I am interested to try your driver board. Thanks for article, it is about younger brothers
To be clear I will send empty board. But for free
Components you will need to source yourself.
If you want board and you are in the US, send me your address in private message, I will send you board.
|