Picture yourself at your local grocery store. Our grocery store has two kinds of shopping carts: the big one that I grab for loading up 24 packs of Mountain Dew, and the small one I use when the Missus asks me to get a gallon of milk and some cans of soup. The small cart is half the length of the big one.
Which of these two carts is easier to navigate through the store? Or worded more technically, which one has a smaller turning radius? I think you can see where I’m going with this.
All else being equal, a smaller wheel base and foot print is going to be easier to control using our differential drive system. A longer mower is going to swing through a larger radius, and is going to be more difficult to control and position accurately. For a given amount of drive wheel rotation, you will get more angular travel at the front of the mower with a longer wheel base than a smaller one.
It turns out that there are other considerations that impact whether one cutting blade is the best choice for our mower design. A single blade mower allows for the most simple blade drive system. But as you can see from the table above, the single blade design is almost 9in longer than either of the other two designs.
The extra length tradeoff needs to be weighed against the simplicity gained by the cutting blade system. There is also a tradeoff between number of blades and cutting width. By going with a single blade design, you lose at least 5in of cutting width compared to a two or three blade design.
Long story short, of the three designs, the single blade is pretty inefficient by some measures. It is the longest of the three, has the smallest cutting width, and requires the most material to fabricate. If I’m going to be successful with the robot lawn mower build, these are serious considerations that need to be taken into account.
As I mentioned previously, I need to find a motor manufacturer that posts more than a picture of their product on an electric bike. I need torque curves and CAD models. I am surprised at how few of these manufacturers exist, or at least have websites that I can find. Maybe I just don’t know how to search for them.
Part of the problem is that I’m looking for a motor that has power output on the level of a small riding lawn mower. Finding smaller BLDC motors has been pretty easy, but finding something that operates efficiently at lawn mower speeds while still outputting decent torque has been challenging. Also, it has to cost no more than a few hundred dollars, because I’m cheap and I need some money left over for an RTK GPS module down the road.
So I’m starting out from behind the 8-ball to begin with. I wasn’t sure such a motor existed until I found the folks at Golden Motor. These guys are a little sketchy, and they need to hire a web designer from the 21st century. But they appear to have a wide selection of motors in some pretty epic sizes, with fairly comprehensive performance data, too.
But before we go looking at individual motors, let’s review our requirements.
At the moment I am leaning toward a single mower blade design. I’ve learned the hard way that complexity is not your friend, and simple designs are generally more robust.
To maximize the deck width, I am considering a 30in long blade. A 30in blade needs to rotate no faster than 2400RPM to be safe. Riding mowers with one single 30in cutting blade are equipped with engines that output about 10ft-lbf of torque.
The plan currently is to have four 12V 35Ah sealed lead acid batteries wired in series to power the motor. So it must be rated for 48V.
Evaluating the BLDC-108 Motor
This is a 1500W motor that Golden Motor makes. It’s also the only one that doesn’t have a nice chart for all the relevant performance parameters, but they did give an excel spreadsheet with several data points. I graphed the data and here’s what it looks like.
The efficiency of the motor is greater than 85% between 1 to 3.5ft-lbf torque with a maximum efficiency of 88% at 3325RPM and 2.6ft-lbf torque. The motor consumes about 40A of current at the torque shown on the chart.
To achieve the maximum safe blade rotation speed of 2400RPM, we need to use two pulleys of different diameters on the motor shaft and the blade spindle. Taking the maximum speed the motor operates at of 4072RPM and dividing it by 2400RPM gives us the pulley ratio we’ll need, which in this case is 1.7.
If we use the motor with a pulley ratio of 1.7, we could obtain 5.9ft-lbf of torque at 1800RPM. Reducing the speed increases the torque.
I like that the current draw is only 40A. With four 35Ah batteries, you could in theory get 3.5 hours of operating time, neglecting current consumption from other electronics and motors. I like that number.
The picture on the website is nothing like the CAD model you can download. So that’s something I’ll need to investigate if this is the motor I choose.
The motor is priced at $142 with $60 for shipping. BLDC motors require a separate motor controller, so that will be another $95 with $30 for shipping. So a system built around this motor will cost a total of $327. Not horrible. I wish I knew why the shipping was so high…
I’ve had some more time to think about our mower blade and the system that will be required to power it. To summarize what we discovered last time:
A 21in blade is the maximum size we can use.
A larger mower will be more efficient in general because a smaller portion of the mower width will be used to overlap the previous pass.
Typical brushed DC motors are probably not a great way to power the blades.
Two Cutting Blades or One?
I think I need to retract statement (1) above. It turns out there are larger blades out there, the only caveat is that they have to be rotated at a slower angular velocity to maintain a blade tip speed of less than 19,000ft/min.
Using the math I outlined previously, a 30in blade needs to be rotated at just over 2,400RPM to achieve a blade tip speed of 19,000ft/min. This turns out to be a good thing too, because this slower speed can be achieved by using different sized pulleys on the drive motor and spindle, which will allow us to trade higher RPMs for more torque, which will be needed with a larger blade.
I was really hoping to avoid a mower with two blades for a few reasons:
Complexity: two blades means two spindles, some idler pulleys, and more moving parts.
Blade interference: the travel paths of the two blades need to overlap a little so you don’t miss any grass, forcing us to make sure the blades don’t get out of sync and crash into each other
Vibration: I imagine two blades will result in more vibration, but this is speculation.
Real estate: the mower deck needs to also house (4) 12V 35Ah batteries and a bunch of control boxes. Two spindles and a large belt with idler pulleys eat this space up really quick.
Robustness: More parts means more opportunities for failure.
Cost: More parts means more cost.
So seeing as we can use one blade while still achieving a cut width of about 30in, I think this is the preferable solution. There are mowers out there that use 30in blades, but the torque required for such a blade size is pretty high. This mower is equipped with a Briggs and Stratton engine that outputs 10.5ft-lbf of torque at 2,400RPM.
Keep in mind that’s engine torque output, not torque at the rotating blade, but that still means our electric motor needs to output at least 5.25ft-lbf at 4,800 RPM (see the pulley ratio math below). I’m guessing that will be a difficult number to achieve.
Regarding (3) above, I think a brushless DC motor may be the way to go. I found this motor on an electric scooter parts store which seems promising, but I need to see a torque to RPM curve to be sure. Coincidentally, that motor is rated for 4800RPM, which results in a pulley ratio of about 2:1. Not bad.
On the down side though, most of those motors are designed to be used with sprockets and chain, which isn’t a great idea for mowers. There’s a reason mowers use pulleys and V belts. I suspect it is because they allow for a more fluid transmission of torque to the blade and also slippage if the blade hits something rigid, resulting in less strain on the drive motor or engine.
This will mean I’ll probably need to fabricate a custom drive pulley to adapt to the motor shaft and accommodate the V belt required by the blade spindle.
What Do The Other Engineers Think?
This is the 21st century. Has anybody designed an electric mower with similar parameters to the ones we’re looking at here? Turns out the answer is yes. The specs for the Ryobi RY48110 riding mower:
Looks like they’re using a few 12V 25Ah lead acid batteries for power.
They use two BLDC motors directly connected to the cutting blade.
Deck width is 38in which would imply a ~19in blade length.
Funny story, if you pull up the parts list and google their replacement motor part, you come up with this motor rated at 48V, 32A, 1800W, 4500RPM. So we’re at least in the neighborhood.
A few comments about this mower:
They’re using this motor to drive a ~19in blade. We’re looking at using a motor that is actually rated at 1600W to drive a blade that’s more than 50% larger. Not good.
Direct drive is interesting, it’s definitely simpler. I would be interested to see what kind of connection hardware they use.
A 19in blade implies a maximum blade tip speed of 3800RPM. The motor is rated for 4500RPM. I wonder if the mass of the blade results in a equilibrium rotation speed of about 3800RPM. If not, the mower isn’t in compliance with ANSI B71.1-1990.
How do the two motors stay in sync? I wonder if the blade paths overlap or if there is some kind of chain or belt between them to maintain their angular offset.
Being BLDC motors, I also wonder what the controller looks like. I imagine it shoots for a fixed rotation speed. I would be interested to know what that rotation speed is.
The Cadillac version of this electric riding mower only offers 100Ah of charge at 48V. That’s only 4.8kWh of energy. Our system with four 12V 35Ah batteries can store up to 6.72kWh of energy. This is interesting because not only does the riding mower need to cut grass, but it also has a possible 250lb person it’s driving around too. So I think we’re on the right track as far as power requirements go.
I need to get some torque speed curves for these motors. Otherwise we’re just guessing about motor capability here.
I think our power system is appropriately sized based on the RY48110 specifications.
Torque output is still the big unknown here. The RY48110 gives us a baseline to work from though.
It looks like BLDC motors are going to be the device that powers our blade, seeing as the folks at Ryobi arrived at the same conclusion we did.
One of my goals for this winter is to design the prototype autonomous lawn mower. The rover V2 is coming along nicely, and while I have a few systems left to work on, the big ones are already implemented and working. So I spent some time this week thinking about the thing that makes a mower a mower: the cutting blade.
A few months ago I purchased a small electric push mower off Craigslist. It had a DC motor and a 12in cutting blade that I disassembled for the mower project. I figured the “cutting grass” problem is essentially already solved and that there’s no sense in reinventing the wheel. But now that I’ve done some thinking, I’m not sure this problem is as simple as it seems.
Choosing the Right Sized Blade
Eventually I will attempt to integrate an RTK GPS system on the mower. Depending on who you ask, you’ll find that RTK GPS systems are accurate to about +/-1in. For the rest of this post I will be talking in terms of accuracy relative to the base receiver. Absolute positioning with any degree of accuracy is another can of worms altogether.
What +/-1in means is that at any given time, the mower could be 1in to the right, or 1in to the left of its reported position. Let’s say it’s 1in to the right while it’s mowing a row in your lawn. That +/-1in means when it doubles back for the next pass, it could be off by 1in in the other direction. Basically, +/-1in means there could be up to a 2in gap between passes.
So we will need to overlap passes by some amount. You would normally do this anyway if you were mowing your lawn manually. I overlap passes with my push mower by about 4in when I’m mowing my lawn to make sure I don’t miss anything, and we’ll want the robot mower to do this too to maintain a quality lawn cut. So we’ll need at least 6in of overlap: 2in to account for RTK GPS drift and 4in to account for normal overlap.
The issue I’m trying to highlight here is that the narrower your mower, the more critical it will be that it is positioned accurately. You can’t tolerate much drift because you’ll start missing passes if you’re mislocated by any amount. And to overlap such that you don’t miss passes requires overlap equal to 50% of your blade width, which is very inefficient.
This is why (in my opinion) RTK GPS works pretty seamlessly on big agricultural equipment. Those tractors and combines are a whole order of magnitude larger than our mower. They’re also out in big open fields with great GPS reception, but that’s a rabbit hole for another post.
So Pick the Biggest Blade Size, right?
Well, sort of. If you do much searching, you’ll find that the biggest blade you can get your hands on is about 21in. There’s a good reason for this: mowers cut best when the blade rotates at near-ballistic speeds, and if you make a blade much larger than 21in and then rotate it at 3600RPM, anything it hits turns into a piece of shrapnel. Not to mention what could happen if the blade itself shatters. Go look up some lawn mowing accident videos to see what I mean.
In my reading, I found that our friends at the American National Standards Institute (ANSI B71.1-1990) did some testing and recommended manufacturers keep the blade tip speed below 19,000ft/min, or 216mph. That’s linear velocity, not angular velocity. Remember that angular velocity is equal to linear velocity divided by the radius through which it rotates.
So How Fast Should We Spin the Blade?
So knowing that we want a big blade size and that we want to achieve a blade tip speed of just shy of 19,000ft/min, we can calculate the required angular velocity.
Knowing the angular velocity, we can now calculate the required power if we know the torque the mower blade will experience spinning through thick grass. Unfortunately, that’s a very difficult figure to arrive at. So instead of doing some convoluted math to estimate the torque to cut through grass, we’ll just take the gross torque ratings listed by the folks out at Briggs and Stratton, as their mowers generally cut through grass with no problem.
This engine is one of their lower end models. Briggs and Stratton advertises gross torque at 2600RPM, so for this engine it would be 4.5ft-lbf of torque. If we take 5ft-lbf of torque as the required torque to cut through grass, we can estimate the power we’ll need for an angular velocity of 3450RPM.
Does the Craigslist Motor Cut It?
Electric motors aren’t like gasoline engines. Their torque to RPM curves are much simpler. With no load attached to the armature, the motor will spin very fast while outputting very little torque. If you apply a small load to the motor, the angular velocity will decrease slightly and torque will increase slightly. If you keep doing that until the motor stops turning, you’ll arrive at the stall torque. This is the maximum torque the motor can output.
So electric motor torque to RPM curves are linear. To draw them, you only need three pieces of information: the angular velocity and torque at a given point on the curve and the no load angular velocity. Using that information, you can draw a line for the torque curve.
The table here indicates the no load speed is 4300RPM and gives an operating point of 0.96ft-lbf (1.3N-m) of torque at 3700RPM. From this information you can find the stall torque and the maximum power the motor can output.
The manufacturer says that the rated power for the motor is 500W, but from my calculations I’m not sure that’s true. However, I am very surprised that the calculated power is this low. It’s very possible I have no clue what I’m doing here with these calculations. If that is the case, please call me out on it.
A motor that gets even close to the power levels we need would have to be a 2500W motor. We have a 24V power system, and we need the motor to spin at 3600RPM minimum. Doing a brief web search for those terms doesn’t come up with many promising alternatives. I’m not sure motors with those parameters are practical or even exist, at least in the PMDC variety.
So What Have We Learned?
I can think of a few things:
If RTK GPS is our positioning technology, we’re going to want to make the mower as wide as we reasonably can.
To keep our mower safe, the blade tip speed needs to be no faster than 19,000ft/min.
Mower blades don’t come much larger than 21in long, so if we want a deck bigger than that we’ll be adding complexity to our design.
We’re going to need a boat load of power to spin that 21in blade at power levels generated by gasoline engines.
A permanent magnet DC motor may not be the way to go given these constraints.
I hope these musings about the mower make sense. I am always open to opinions and criticism about the evidence above, and what conclusions should be drawn from them.
This weekend I had some time to install my emergency stop switch. At first I thought I would keep things simple and just mount the emergency stop switch on top of the control enclosure and route one of the battery wires straight through the safety switch. Sounds simple, right? This method, however, presents two big issues:
Hitting the emergency stop switch shuts power off to the entire rover.
A high current carrying wire has to run through the control enclosure.
The first item above is an issue because we want to be able to communicate an emergency shut down state to the ground control laptop. If all the power is shut off to the rover, a power failure and an emergency shut down will appear identical from the ground control’s perspective.
The second item is an issue because it defeats the purpose of separating the power and control electronics. The constraint here is that the emergency stop switch has to be mounted on top of the control enclosure so it is visible, accessible, and in a safe location, but we can’t have a high power wire running through it. We want to keep those noisy high current wires away from sensitive electronics.
The solution? A relay! Or more specifically, a set of relays. We’ll have the emergency switch trigger a relay that cuts power to the drive motors only in an emergency state. We’ll also keep all the high current wires contained to the power enclosure.
The FIT0156 emergency stop switch has two integral switches triggered by the big red button. One is NC and the other is NO. Our system uses the NC switch. When the button is pressed, the switch opens and prevents 5V from flowing to the CH1 and CH2 pins on the relay module. This opens the motor circuit, immobilizing the rover.
The IM120525001 2 channel relay was only $3, but I wasn’t sure if it would be large enough to conduct the current needed by the motors. I decided to take a gamble, and I’m glad I did. The module works very well. The spec sheets say it can conduct up to 30A at 24VDC. The only drawback is that the screw terminals on the module aren’t big enough for 14 gage wire. I had to use 16 gage wire instead.
I measured current flow between the 5V output on the Mauch BEC and VCC on the IM120525001 module and my ammeter said it consumes 170mA, a little bit high for my liking, but manageable. The Mauch BEC is rated for 3A, so it shouldn’t be a big issue.
I oversized both enclosures knowing there would be additional things I add later, and I am glad that I did. The emergency stop switch and relay module both fit nicely in my enclosures.
I used one of my remaining 8 pins on the DB15 breakout board to route the emergency stop switch down to the power box. This wire goes to both the CH1 and Ch2 pins on the relay module. When you hit the button both motor circuits are opened.
So the total cost of our emergency system:
Emergency stop switch, $6
Relay module, $3
Emergency stop sticker, $2
Miscellaneous wire, $1
Tack on a few dollars for shipping and sales tax for those items and you’re still easily under $20. Not too shabby.
Eventually the rover will have a spinning blade of death on it. Before we get to that point we need to include some safety mechanisms. Let’s be real: these features aren’t just for innocent bystanders. You’re the one tinkering with this thing. Do yourself a favor and invest in some simple safety features. They don’t have to be expensive or complicated.
The goal of a safety system is to ensure that at all times the rover is in a safe state. What is a safe state, you ask? Well, that depends. Say the spinning blade of death is barreling toward a small kitten. A safe state would be one in which it stops barreling toward that kitten. So tell the motors to stop spinning, right?
Well, maybe. But what if the rover is on an incline, and could start rolling backward? That’s certainly not safe. Well, then put the brakes on, you may say. Sure, that might work. But what if you already hit the kitten and the poor thing is stuck under the spinning blade of death already? Now what?
The above scenario may seem preposterous, and it is unlikely. But it illustrates an important point: you need to be proactive about identifying safetyrisks.
Safety system design is a whole discipline in itself, but there’s one thing we can all agree on: a safe state is one in which the spinning blade of death stops spinning. So let’s add a simple emergency stop switch to shut off the spinning blade of death.
Right now our rover isn’t equipped with such a feature, but we can wire it into the drive motors so that when you hit the emergency stop switch, the rover stops moving. Down the road we’ll also wire it into the motor powering the mower blade.
So what goes into an E-Stop?
I don’t need an emergency stop switch. I have an on off switch and I’m smart enough to know how to use it.
-Me, before the rover slams into my shin
For an emergency stop switch to do any good, it needs to be identifiable. Think you’re on off switch is good enough? It may be for you, but can a person who has never seen your rover before identify it? Possibly, but we can’t assume that. Our emergency stop switch needs to be a big red button with a giant label by it saying Emergency Shut Off Switch or something of that nature. This way your grandma could easily figure out that this button will turn off the spinning blade of death.
Your E-stop also needs to be accessible. This means that it can be easily pressed by anyone. It’s not on the back side of your rover near the bottom. It’s front and center, located in an area where a person could quickly press the button if your rover were coming right at them. Set it at a height that your 4 year old niece could reach if your rover is of any significant size. What good is an E-stop if it can’t be reached?
Related to making your E-stop accessible, be sure to put it in a safe location. I know, that sounds awfully obvious, but be cognizant of what’s around your button. Is there a hot surface near it? Bad place for your E-stop. Is it near your spinning wheels? Also a bad place. Use common sense.
Lastly, your E-stop should put the rover into a safe state. What that looks like depends uniquely on your situation. In this case, it means the motors are de-energized.
Next time I’ll show what this kind of system looks like for the rover V2.
Get the rover tuned properly, and see if there is any strange autonomous behavior like weaving, jerking, etc.
Familiarize myself with planning autonomous missions in Mission Planner. I was specifically interested in seeing how to autogenerate waypoints.
See how well the GPS blending reports position. I was interested in both absolute and relative accuracy, but really just wanted to get a feel for things at this point.
To start, I took the rover V2 out in my backyard and got it to run autonomously, but my backyard isn’t very big. I have lots of tall trees in my neighborhood, too, so GPS signal reception wasn’t great either.
I would estimate position accuracy relative to the satellite map data was +/-3m. Not horrible, but not great, either. Throughout the afternoon position would drift slightly, I would estimate +/-1m.
I had the rover run an autonomous mission of 20 waypoints positioned in a circle several times to test repeatability. I did this close to 10 times over the course of an hour, and each time the rover took a slightly different path, as evidenced by the track marks in the grass. Sometimes the rover would go on the left side of my sprinkler well, other times to the right. Not very repeatable, but this was a somewhat challenging GPS environment.
So knowing that things were at least configured somewhat correctly I decided to take the rover V2 out to a large parking lot with a good view of the sky. In Kansas, those aren’t too hard to find. I chose a parking lot way out of town, with newly painted stripes that showed up on the satellite imagery so that I could have a good measure of relative accuracy.
The rover weighs something close to 100lb, so I had to take the batteries off of the chassis and remove both of the control boxes. I brought my tool box with me to help reassemble the rover and I also made sure my laptop was charged, but I forgot to bring a few things. If you’re ever out field testing, a checklist is a really good idea. Here’s mine for the next time I go out:
Cell phone with cellular data
AA batteries for the RC transmitter
Make sure rover batteries are sufficiently charged
The toolbox with hex wrenches, adjustable wrench, and screwdrivers
Laptop with a good battery charge
Telemetry radio for the laptop
SD card, installed in the Pixhawk
I asked my very supportive wife to go with me, thinking she would bring her phone and that I could use it as a wireless hotspot to download Mission Planner map data. I forgot to explicitly ask her to bring it, which was a huge mistake because this was the one time she decided to leave her phone at home. And I’m too cheap to have a data plan, so I was depending on her. We had a good laugh about it when we realized she’d left it at home.
So while I was able to do some autonomous missions, I was unable to compare the position data to the parking stripes on the satellite map. I could zoom in, but the ~300 car parking lot was reduced to 6 pixels in Mission Planner.
So without any good imagery, I took the rover manually around the parking lot perimeter to demarcate the edges and then planned some missions. The first ones were circular, and then I did some square ones, and some random ones.
Overall, I felt like the rover was tuned perfectly. I had a few odd shimmies here and there, but I didn’t spend too much time trying to find the cause. They weren’t debilitating, just noticeable. Seeing the rover run autonomously without toilet bowling was very satisfying given my rover V1 experience.
So field testing was only a partial success. I felt like the rover was tuned really well with just the default settings, so that was a win. But I wasn’t able to get a good feel for GPS positioning accuracy or repeatability. I did get to spend some time familiarizing myself with Mission Planner.
An observation about field testing that may be specific to Kansas: Wind stinks. The laptop almost blew off the hood of my car while I was in the parking lot. I set up shop in the trunk of my car where I was sheltered from the wind a little, but I noticed this affected my radio range somewhat. I had the rover more than 500ft from my car at some points, and much past that things got spotty. In the future I’ll choose a calmer day for field testing.
Another observation: Kansas is flat. Very flat. When the rover got more than 200ft or so away from me distance to obstacles becomes very difficult to judge (especially with no satellite map). I hopped a few curbs in manual mode, but the rover V2 handled it like a champ.
Overall I’d say it was a 1.5 out of 3. We’ll bring a good cell phone and choose a calmer day next time.