Notifications
Clear all

Trouble with boat thruster build

114 Posts
7 Users
28 Likes
2,767 Views
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 4001
 

@headingholder Attached is the circuit concept for a bi-directional motor controller. You will need to read the details here in order to understand.

I am maybe more confused than normally, I thought the project was about building an MCU or maybe MPU to sense stern swing and to compensate by telling the stern thruster(s) how much thrust to produce to compensate. If that is correct, you are talking about logic level signals, not Power Mosfets. The Mosfets are in the motor already, you are simply replacing the hand on the throttle. Am I confused?

Screen Shot 2022 08 26 at 13.18.39

 

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
Inq reacted
ReplyQuote
HeadingHolder
(@headingholder)
Active Member
Joined: 7 months ago
Posts: 14
 

@zander @Ron,

Hi, Yes, PWM is how to control the speed. Here is actually a page from a trolling motor manufacturer describing it:

https://newportvessels.zendesk.com/hc/en-us/articles/360056225814-PWM-Pulse-Width-Modulation-Overview

I did do a little looking into MOSFET characteristics, and satisfied myself that the MOSFET will switch fast enough to pass the PWM signal, I don't think it is something to be concerned about.  Here is a good page that talks about how to calculate the switching time:

https://www.gammon.com.au/motors

(Search for "Switching Time"). 

I found that it may be a bigger issue if the 3.3 logic level of the ESP8266 output doesn't fully switch the MOSFET (because it is close to the threshold voltage), and therefore spends more time in the high current period, causing excess heat buildup (and inefficiency).


   
Inq reacted
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 10 months ago
Posts: 982
 
Posted by: @headingholder

Maybe this is the MOSFET @Ron was referring to,

(Pack of 5) IRLB8721PBF TO-220(TO-220AB) MOSFET 30V 62A Power N-Channel Transistor Marking IRLB8721

and if so, I believe "Gate-Source Threshold voltage" is the relevant spec, and it is listed as between 1 - 2.5V   I think that means it should work.

 

image

I think I still have some of the ones, I screwed up with... I'll dig them up and see what their "Gate-Source Threshold Voltage" is.  I bet you're right... I probably saw some tutorial when I was first learning about them, gut reflex bought them before noting the project was running on an Arduino 5V logic and wasn't fully engaged.

Thanks!

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 10 months ago
Posts: 982
 
Posted by: @headingholder

I found that it may be a bigger issue if the 3.3 logic level of the ESP8266 output doesn't fully switch the MOSFET (because it is close to the threshold voltage), and therefore spends more time in the high current period, causing excess heat buildup (and inefficiency).

YEAH!  I can confirm... HEAT from personal experience! 🤣 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
HeadingHolder
(@headingholder)
Active Member
Joined: 7 months ago
Posts: 14
 
Posted by: @zander

@headingholder Attached is the circuit concept for a bi-directional motor controller. You will need to read the details here in order to understand.

I am maybe more confused than normally, I thought the project was about building an MCU or maybe MPU to sense stern swing and to compensate by telling the stern thruster(s) how much thrust to produce to compensate. If that is correct, you are talking about logic level signals, not Power Mosfets. The Mosfets are in the motor already, you are simply replacing the hand on the throttle. Am I confused?

Screen Shot 2022 08 26 at 13.18.39

 

Hi @Ron,

Yes, your understanding of the project is correct (@Inq described it even more simply in his post a page or so back). 

The way it is done in the existing motor is that instead of a positive and negative rail, a switch swaps the 2 motor leads, swapping positive and ground.  So I'll do something similar, but I'll start with a $20 ESC as I have had good reports of that working well for this application, and will be simpler than wiring up the MOSFETs for my first microcontroller project in a long while (managing technical risk :-))  In the case of using an ESC, it has a boolean input for motor direction.

The MOSFETs are just being used to amplify the PWM signal from the ESP8266 and supply the 17 Amps / 200Watts of power that the motor will draw.

There aren't already MOSFETs in the motor.  The motor has two switches, for High/Low speed, and Forward/Off/Reverse.  Here is a diagram, sorry for the foreign language, but you get the picture:

image

It's not just replacing the tiller handle.  It is adding a control system to keep the boat on the specified heading (the heading it's on when the button is pressed).  So the error is calculated by comparing the actual heading with the setpoint heading, and the controller trys to get it back there by thrusting stern or starboard at the rear of the boat (loosely pivoting around the bow).

 

 

 

This post was modified 5 months ago by HeadingHolder

   
ReplyQuote
robotBuilder
(@robotbuilder)
Noble Member
Joined: 4 years ago
Posts: 1654
 

@headingholder 

I am not an expert in electronics being self taught, I only know enough to be able to follow and understand most of what experts say when they explain how a circuit works.

Looking at the picture I would want to know more about that switch for speed control. Is it just using resistors or something to do with selecting the windings in the motor?

I hate to give thoughts about something based on insufficient or missing but critical information.

On an old robot base I had which used 24 volt motors I simply bought two motor speed controllers shown here.
https://www.siliconchip.com.au/Issue/2021/July/20A+DC+Motor+Speed+Controller

Although not all the article is there you can print or enlarge the image on the right and move it about with the mouse to get some idea of the issues involved in designing such circuits.  I controlled the direction of the motors using two relays for each motor.

Here is a h-bridge I also used so I didn't need the relays and its circuit. However I don't know how robust the design is for your purpose.

To enlarge an image, right mouse click the image and choose Open link in new window.

hbridge
hbridgeSchematic

 

This post was modified 5 months ago by robotBuilder

   
ReplyQuote
HeadingHolder
(@headingholder)
Active Member
Joined: 7 months ago
Posts: 14
 

@robotbuilder Thank-you - That magazine article was helpful.  That ESC looks very similar to the one I have on the way now.

Regarding the switch, I have sent off that question to the manufacturer, and if not will pull out the meter.  I have read that some older motors drop the power with resistors as you suggest, so one guy just connected to the "high" setting with the ESC to bypass the resistors (it was a different trolling motor).  I'll post back when I figure that out.


   
ReplyQuote
DaveE
(@davee)
Noble Member
Joined: 2 years ago
Posts: 796
 

Hi @inq et al,

  Sorry I don't know anything about the motor you are intending to drive, so all I can do is point to a couple of general points for you to check out.

It is true that MOSFET gates have virtually infinite DC resistance to the drain-source channel ... figures I have seen range from Giga Ohms up to around 1 TeraOhm, so, in contrast to bipolar junction transistors, that is not going to be a major thing to worry about. But that does not mean you get a totally free lunch, in which an Arduino can drive any MOSFET in the catalogue without issues.

----------------

The first point is to support the above discussion. Digital circuit designers often like to pretend their devices only have two states, which may be expressed in ways such as  ... on or off ... 0 or 1 .... high or low ... conducting current or not conducting current ... 0V or 5V

However, in the main, digital circuits are built from devices such as MOSFETs, which have a (practically) infinite number of possible states between 'On' or 'Off'

In the case of a MOSFET, the 'digital' states for the resistance between drain and  source is either an 'on' minimum, often referred to as Rds(on), which is typically Ohms for a small, low current device and milliOhms  for a higher current (say 20A) device, or an 'off' maximum, often MegaOhms or more.

To create these states for a 'typical' n-channel device, the gate to source voltage must be several volts for the low resistance state and zero volts for the high resistance state. (The exact voltages required depend upon the design of the device, and is largely a case of the device designer picking the best 'compromise' for the intended device application.)

For switching applications, such as a room light switch, in which the switching action is only an occasional event, a suitable device will dissipate little heat. Remember, for a resistive element, the heat genarated is the product of the voltage across the device and the current flowing through the device. 

Thus for a 'well-chosen' and 'well-driven' device, in the 'on'  state, the drain-source resistance is very low, and hence the voltage across the device is low, and in the 'off' state, the drain-source resistance is very high, and the current is very low, so in both cases the product is also low.

When the gate-source voltage is intermediate between these values, the resistance will also be intermediate. The device is acting in a 'linear' mode, where both voltage drop and current flow can be appreciable, resulting in the generation of heat.

This can occur as a 'steady state', such as when the drive voltage is too low, and also, every time the switch state changes, which is typically more significant for PWM 'dimming/variable power control' and switch mode power supplies.

---------------------

In addition ...

MOSFET gates exhibit considerable capacitance to both drain and source, which means a considerable transient current flow every time the gate voltage is switched. To get fast switching, you need a driver that can supply enough peak current to charge or discharge these capacitances. In addition, depending upon the circuit, the effective capacitance can be considerably increased by the change of drain and source voltages as the switching action occurs, by an effect known as Miller capacitance.

Not surprisingly, these effects tend to increase in magnitude as the device current and voltage handling specifications increase. So whilst a low current output from an Arduino (say) may be sufficient for a small low current device, it is likely to struggle with a higher current and/or higher voltage device.

In some circumstances, typically when the switching only happens occasionally ... say once every few seconds or more ... then the capacitance effects may not be important. Typically, if the device driving the gate has only low current drive capability, then it will take longer for the capacitances to charge/discharge, but the gate voltage change will still happen, eventually. A closer look would reveal the gate-source voltage slowly transitions from one state to the other, and the result is the drain-source is in the linear transition phase for longer, which results in heat dissipation ... but if it only happens occasionally, the thermal capacity of the device may be sufficient to limit the junction temperature rise to an acceptable value, and this heat may be dissipated by the time the next switching event occurs. 

Similarly, from the point of view of the load, if its supply is only switched occasionally, the slow transition may not be readily apparent to an observer of the required function ... e.g. switching on or off the power to a room light might be achieved in  10 microseconds or 100 milliseconds, but a human observer would probably not observe a significant difference.

.......

Of course, if the same light was being controlled by PWM based dimmer, then the switching would need to occur at a relatively high frequency, say at least 10kHz to avoid flicker, implying a switching action every 50 microseconds. This implies the switching time needs to be less than about 50 microseconds to achieve the dimming effect, and very much less than 50 microseconds if the heating effect of passing current through the FET when the drain-source resistance is higher in the transition phase is to be minimised.

This charging and discharging of the inherent MOSFET capacitance also results in power dissipation ... in power supply design discusssions, it is often suggested the amount of power dissipated by this mechanism is more than by the main power flow through the drain-source resistance.

----------------------------

It is also worth mentioning that the logical implication of the above is to employ a 'powerful' gate drive ... to an extent that is true ... but remember the insulation between the gate and the conduction channel is very thin ... 'overdriving' the gate could result in the gate-source voltage exceeding the limit, and punching a hole in the insulation, with inevitable device failure. Driving capacitive loads always results in voltage overshoots and so on, so it is very easy to exceed the limits.

---------------------------

Some MOSFETs are described with terms like 'logic level compatible' ... this often means that the MOSFET can be driven to a 'reasonably' low on resistance with a max Vgs of (say) 2.5V, whilst other devices may need 4.5V or more. In (almost) all cases, increasing the Vgs drive will achieve a lower Rds(on), and still be within the max drive voltage, but for many applications, the higher Rds(on) value may be 'good enough'.

As the voltage and current capability of the MOSFET increases, it becomes harder to find devices which can be considered 'logic level compatible' .. in which case an intermediate amplifier device is probably required. This could be a single transistor stage or a specialised driver chip, depending upon requirements.

--------------------------

I repeat, the above is only a background read as to some of the pitfalls and issues to be on the lookout for .. each circuit, etc. is different and it is generally acknowledged there is significant 'art' to designing the best circuits. Such art is probably only discovered at the sharp end of a project!

Good luck and enjoy the challenge. Dave


   
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 10 months ago
Posts: 982
 

@headingholder - I see you were not the O.P... did you just happen to want to do the exact same thing and take up the calling?  Anyway... are you using the standard boat attachment of the trolling motor are are you rigging up something clever?  Just wondering how are you going to lock it in transverse on the transom.  Or are you planning on using it standard like also?  Would really like to see pictures once you get it in the water and first prize fish!  😉 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 10 months ago
Posts: 982
 

@headingholder - I was really hoping if I plug in some user's handles, we'd get some expert help.  I'm also glad you went with the ESC!  @zander's came in with some great drawings, I'd not seen before that are the perfect description of what I had imagined was possible.  And I knew if @davee took up the opportunity, he'd deliver the details that give us real insight in a way we mere cookbook guys can understand.  I bookmark all his stuff in my OneNote notes. 

Hmm... just had a horrid thought.  What if the forum goes belly up?  What if my Internet is down (which happens all the damn time)?  I need to just copy/paste his treaties into my OneNote so I can have them off-line.

@davee - Thank you again! 

I'm always sure I'm going to screw these Mosfets up.  Questions like these cross my mind... which wire is the Gate, Source, Drain?  Are they left to right, from the front or the back?  Which one connects to the motor, the battery, the ESP8266?  Is it PNP, NPN and what do I do different either way?  Some you can not mount on a common cooling plate because of some reason, some you can?  All very confusing... and why I always buy more than the project demands! 😆 Smoke comes out... swap the wires.  Anyway...

Posted by: @davee

This charging and discharging of the inherent MOSFET capacitance also results in power dissipation ... in power supply design discusssions, it is often suggested the amount of power dissipated by this mechanism is more than by the main power flow through the drain-source resistance.

I've never registered this before your comment here.  I'm sure in the ten bazillion graphs on the Mosfet datasheet, it said this.  I chose not to listen to the datasheet. 🤣 

Am I understanding correctly...

  1. That if the "Gate-Source Threshold voltage" is say 2.5V, it can be fully energized by a 3.3V ESP8266.
  2. There is a significant part of time while it is going from near zero resistance to near infinite resistance during which it obviously is converting a lot of electricity to heat.
  3. That the faster the PWM frequency, the more of these periods happen, thus making it less efficient AND producing more heat.  
  4. That the larger the motor, thus more current/voltage required, causes that transition to stretch out due to this capacitance and make things even worse.  
  5. So the theoretical and the reality are more like:
  6. image
  7. And because the ESP8266 miniscule pin current, it takes even longer... wasting more power?

Long time ago (2014) before Tesla, et al really took off, I was thinking of building a real lightweight vehicle.  Something like the Aptera coming out now.  For fun... not for sale.  I found this big DC motor cheap... I think something like 24 volts, 100+ amps.  The motor controllers were as much as the motor and I thought I'd do it with Mosfets in parallel.  I got as far as studying the vehicle dynamics and purchasing the spring/shock towers, wheels and brakes.  I finally shelved the idea... imagining being next to a Chevy Suburban... then being under a Chevy Suburban. 🙄   

VBR,

Inq

 

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 4001
 

@inq I am fairly sure you are messing with us a little at least. Figuring out the pins is simple, just check a datasheet. You keep speaking of fully on, but a logic pin in human terms is either on or off although I do know there is some miniscule amount of time needed to transition from 0 to 3.3V. As far as current from the 8266 logic pin, it is in the micro range maybe, this is a voltage driven phenomenon. As far as heat, in my applications so far I have NO heat but I am aware from reading some other descriptions that these devices get used where they switch on and off at very high rates and do generate heat.

In almost all power switching scenarios, the MOSFET goes in the negative side and uses an N channel. I recently found a circuit that was in the positive side and used a P chan but I forget where. I just did a quick search and found the following, I think it will help. It's from this

Screen Shot 2022 08 27 at 08.16.37

 

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
ReplyQuote
Inq
 Inq
(@inq)
Noble Member
Joined: 10 months ago
Posts: 982
 
Posted by: @zander

@inq I am fairly sure you are messing with us a little at least.

Just a little.  😉  I claim literary license.  🤣 

But, I believe @davee is describing that the Mosfet doesn't respond instantly to the pin's state change.  And that it has a significant enough transient resistance that it is burning off power.  That it gets worse as the Mosfet is being asked to switch higher power.  That we need to add some more circuitry between the Mosfet and 3.3V pin to supply more current (than an ESP8266 pin can deliver) just so that it rams the Mosfet home faster.  Yet can be too much and "blow holes" in it. 😳 

At least... that is what I think I understand @davee is teaching us.

3 lines of code = InqPortal = Complete IoT, App, Web Server w/ GUI Admin Client, Access Point Manager, Drag & Drop File Manager, OTA, Performance Metrics, Web Socket Comms, Easy App API, All running on ESP8266...
Even usable on ESP-01S - Quickest Start Guide


   
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 4001
 

@inq What pin of the MOSFET is connected to an ESP8266 that is pulling any current? None that I have used, only the gate and that has no current to speak of, it's a voltage needed to produce the 'field' in a Field Effect Transistor like a Metal Oxide Semiconductor Field Effect Transistor or MOSFET. Am I misunderstanding?

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
ReplyQuote
Ron
 Ron
(@zander)
Famed Member
Joined: 2 years ago
Posts: 4001
 

@inq Something to remember is the way that MOSFET's are used. You may recall that in Bill's recent PICO UNO video, the VBUS (USB) pin was used as the gate to a P channel MOSFET to  switch OFF the MOSFET so we don't back feed the external power into the USB. (that's where I saw the use of P chan)

Using MOSFETS as electronic switches is one family of use while using them as part of a buck converter is another. The buck use requires rapid on off and does indeed get hot.

For switches the rise time is of no concern, while in a high frequency converter it is a key design parameter. I and most of us here are building things that need switches, very few are building our own buck converters but Dave as always gave us a uni 101 level explainer that covers both usage scenarios. 

Let me address the heat sink/ground issue as well. Since the majority of use cases are N chan (turn ON)and the heat sink is always attached to the Source it is ok to ground by attaching to chassis for an N chan. For a P chan the heat sink is still Source but now source is positive so must be isolated from the chassis.

Arduino says and I agree, in general, the const keyword is preferred for defining constants and should be used instead of #define
"Never wrestle with a pig....the pig loves it and you end up covered in mud..." anon
My experience hours are >75,000 and I stopped counting in 2004.
Major Languages - 360 Macro Assembler, Intel Assembler, PLI/1, Pascal, C plus numerous job control and scripting


   
Inq reacted
ReplyQuote
HeadingHolder
(@headingholder)
Active Member
Joined: 7 months ago
Posts: 14
 
Posted by: @inq

@headingholder - I see you were not the O.P... did you just happen to want to do the exact same thing and take up the calling?  Anyway... are you using the standard boat attachment of the trolling motor are are you rigging up something clever?  Just wondering how are you going to lock it in transverse on the transom.  Or are you planning on using it standard like also?  Would really like to see pictures once you get it in the water and first prize fish!  😉 

Hi @inq, yes, exactly right, isn't the internet great in that when you want to do something you can usually find someone else who has already worked on that exact same problem?!?  This one has been sitting in my head for a few years as something I wanted to do!

Yes, I'm planning on using the existing transom mount, I am expecting to mount it right beside an outboard on the transom (with the outboard tilted up).  It has a steering tension adjustment, so I expect to point it abeam, then crank up the tension to fix it there.

I took it apart the other day, the OEM control head comes off the round vertical tube (motor shaft) with just one screw, and the motor leads are all just spade connectors, so I'm thinking I will be able to just make an alternate control box with a flange fitting that will mount on the end of the tube to replace the OEM head.  It looks nice and easy that part.

For sure I will put up some pictures once I have it together, and I sure appreciate the help!  🙂

 


   
ReplyQuote
Page 7 / 8