This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Motor controler board design on DRV8873 with magnetic rudder sensor
#1
Lightbulb 
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.

[Image: Real%20view%20without%20arduino%201.jpg][Image: Real%20view%20with%20arduino.jpg]

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.  
[Image: 1.jpg]

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
Reply
#2
Great work. Thanks for posting this.
Reply
#3
(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.

[Image: Real%20view%20without%20arduino%201.jpg][Image: Real%20view%20with%20arduino.jpg]

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.  
[Image: 1.jpg]

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. 
Reply
#4
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.
Reply
#5
(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. Wink I never see its temperature grow more than 2-3C  under any conditions.
Reply
#6
(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. Wink 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.
Reply
#7
(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. Wink 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. Cool


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)
Reply
#8
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.
Reply
#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.
Reply
#10
(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  Wink

To be clear I will send empty board. But for free  Tongue
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.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)