Motor Control

Pretty much finished a project I’ve been working on for a good couple of months, except one last detail: Output.

It is an autonomous boat, and will require two pwm controlled motors to propel it.

All good except I have never ventured into the field of motors and motor controllers. The boat will be a typical model size boat, about the size of 4 or so Panda FEZ boards, and not weigh very much at all.

How do I go about selecting appropriate components? What kind of power would I require for my motor? (Never bought a motor before so no clue how powerful the different wattages are) Anyone got any components they have used before and would recommend for this project?

I was thinking of either using high power MOSFETS to create a H&N bridge, or using some of these: HTTP 301 This page has been moved ← recommended by a friend.

If the link above seems like a good idea, could someone please help me decifer the datasheet? I’m really struggling with it, main thing I’m concerned about is will it run straight off a Panda, or would I need to amplify / voltage shift the signals along the way?

Looking forward to any suggestions, thanks guys :slight_smile:

It seems to me that you are talking about a small boat. “about the size of 4 or so Panda FEZ boards” (it never occurred to me that FEZ Panda is the new unit of measure).
For such a small boat you must first figure out;
[ulist]What is my target speed

What is my target run time

What is my maximum battery capacity
[/ulist]
When you know these things you can look around for a motor / propeller combination that will give you the optimal solution.
You also state that your controlling this with two motors. First off you need identical propellers that turns opposite directions. Getting the exact RPM on both propellers can be a pain if you’re not adding some sort of encoder. So if you can go for a single propeller and a rudder the alignment would be much easier.

I don’t know the L6384 but you could probably use any old MOSFET to run the motors as long as you do not need to go backwards.

They do indeed need to go backwards - Thats why I’m struggling. All this theory about capacitance across diodes and MOSFETS, switching times etc is killing me. I’ve been trying to read up on it, but trying to pick the right MOSFETS is a nightmare.

The difference in RPM between the two motors shouldn’t be a problem. I’m using a PID controller - The integral part should sort out any differences.

And yes indeed, 4 fez pandas is now a unit, and a pretty good one indeed - I’ve spend so much time staring at my panda now begging for it to work, that I can visualise it pretty well :slight_smile:

Have you looked at these drivers?
PWM Dual - 4.5-13.5V Pololu - TB6612FNG Dual Motor Driver Carrier
PWM Dual - 5 - 28V http://www.pololu.com/catalog/product/1213

Pololu has others with more power if you need. These look simple and pwm speed pins and direction pins. What kind of motors you need for this project?

Well, there are several motor control shields out there you could have a look at instead of building something of your own.
Still you havent said anything about what speed your aiming for and the runtime?

Well, I really don’t know that specifically - never thought about it. Its an autonomous GPS navigated boat, which is going to be first tested in a 25m swimming pool. I would say 10 seconds to cross the pool is a reasonable time, so I’m looking for 2-3 m/s… 10km/h or so.

Batteries is another thing I haven’t considered - This project started as a proof of concept, me trying to work with GPS, making an autonomous project, interfacing with compasses and gps modules, not about making a boat and making it “actually” move. For the prototype I guess if it works for 15 minutes I’d be more than happy - that gives me time to test it. If I’m ever to build another version, with everything polished up (considering porting netmf and building my own system from scratch) then I’m sure I’ll pay attention to getting the right battries etc.

Thats the reason I’m so vague and clueless about the propulsion system - Also, I’m coming here from a physics/software programmers background :slight_smile:

EDIT: Those drivers look great, thanks - What kinds of motors would go with it?

EDIT 2: Those drivers are better than great, that just saved me a huge headache!

I assume your looking for control over speed? Many boats are brushless for all out speed. But brushless not good at low speed or in stall conditions. So brushed should be fine for this. If you need brushless, then posted controllers not work. Not sure what kind of gearing you would need. I would try to match something existing by looking around RC boat sites.

Why not just buy a cheap boat and hook into the servo controls with your panda? At to dial in your GPS work, which I assume is primary focus.

Yes, I’m turning the boat by control the speed of each channel. Right now in my code I’ve got that theoretically set up as a % between -100 and +100, corresponding to the required speed. That could easily be translated to a pwm duty cycle, which was my intended design - except that I intended on using MOSFETS, which now seems more of a job than I originally thought.

http://proto-pic.co.uk/products/Pololu-Jrk-12v12-USB-Motor-Controller-with-Feedback.html <---- oooofffttt I want this! Shame its about 6 times as much as I intended to spend. I was hoping to fit under £75 ($120) for the whole motors + motor control bit.

You should look to the hobby RC boat market. They will have many motor speed controller and prop solutions that are commercially available. They should be able to be driven by a servo PWM signal from the FEZ product. If there is a hobby shop in your area they should be able to get you going.

One problem you might encounter is the accuracy of the GPS. Many of the hobby ones cant guarantee an accuracy of more than +/- 10m (or +/- 5m at best) and if your swimming pool is inside a building you could get lots of interference.
I have done some work on something similar http://letsmakerobots.com/node/21098 Im currently in the process of changing out the Arduinos and replacing them with a FEZ Panda Tinkerer Kit.

The GPS I’ve purchased is on the datasheet accurate to under 2.5 metres, I’ve tested it out, and it pinpoints my window to within about a metre, metre and a half - the pool is outdoor, so what Im hoping to get it doing, is going up and down the swimming pool. And local RC shop - I was thinking to do that if I redo this project, for now I just want something to show it works… Ill look into it anyway if it doesnt cost too much. Boat itself wise for now I was just going to vaccum form one :). At the end of the day for this version, if it can do lengths of the swimming pool, im happy.

Ahh and that boat of yours Geir looks really cool. This is a school project though so I dont have time to make anything that fancy :slight_smile: I need everything finished in about 2 months from now. And do about 50 pages of paperwork :frowning:

PS: Geir - since you’ve done this before… Did you find that you needed to keep the motors a certain distance from your magnetometres? If so how far? I’m just trying to work out how big of a boat I’m likely to need.

Wow :o Great work! You must have a lot of fun with this project. Amazing.

Yes I had great fun (and frustrations) working on this boat. This summer it will get even better as Im replacing the control system with FEZ and will have a handheld control box based on a Tinkerer Kit so I can communicate with the boat and get updates on progress. The way it was earlier you let the boat go and hoped it came back some hours later. Amazingly it did !

Post removed

10km/h ? What kind of motors will you use? I would suggest to buy on of the pololu boards, they work very well. I am very satisfied with them.

@ Xarren
I have sent you an email. You should probably remove your address from your post now. :slight_smile:

Got your email

The motors are indeed what I’m looking for advice on, I have no clue what size motors I will need.

For ship of size of 4 pandas wich will have 2 motors I would go with these 2 “beasts” [url]http://www3.towerhobbies.com/cgi-bin/wti0001p?&I=LXWK50&P=0[/url] :wink: