Autonomous Lawn Mower Parts List - Please comment

I should mention that XBee is far from the only direct transmission option for RTCM3. You can use LoRa, WiFi, ESPNow, or any number of other means, so long as the endpoint input and output are serial data.

It’s also possible to use a microcontroller and H Bridge to roll your own motor controller, but that may prove more frustrating than useful.

I bought 2 Cytron ESC’s for motor control, but their wiring terminology confuses me. Their 3 outputs to the flight controller are labelled: DIR, PWM and GRD
whereas the Hex Cube Orange carrier board has them labelled as: Signal, Power & Ground

I assume GRD is the same as Gound, but my question is, how do the other 2 Cytron outputs match up to the Cube inputs ? Thanks in advance.

EDIT: See my next post below for the solution to the problem at hand.

I found this datasheet for a Cytron controller with those inputs.

The DIR pin is a logic high/low input for selecting motor direction. Our autopilots do not typically provide a compatible output when configured for ESC output.

The PWM pin expects a duty-cycle based PWM signal.

This is a common source of confusion. When we talk “PWM” with respect to autopilot servo/ESC output, we are speaking specifically about a hobby/RC servo PWM signal that encodes position information by varying pulsewidth across a very narrow band. That servo PWM signal does not have enough duty cycle variation to be useful as a duty cycle bound PWM output like these types of motor controllers expect.

I hope that makes sense!

But wait, there’s more!

It appears that ArduPilot supports these controllers using a “brushed with relay” parameter set.

I stumbled upon this documentation just now.

Brushed Motors — Rover documentation (ardupilot.org)

Yuri, your help is priceless. I just spent the last hour looking for another motor controller, ready to throw these in the garbage, I don’t really know what to look for anymore. I’ll have a look at the documentation you found - can’t say I’ll understand it, but I’ll have a look. Thanks ever so much for the time you put into responding to me. Without you, I might have given up by now, even though I’ve sunk over $1,000 into this already.

1 Like

So if I read the documentation correctly

  1. I use the AUX OUT pins on the carrier board, instead of the MAIN OUT’s
  2. I set MOT_PWM_TYPE = 3 for “BrushedWithRelay”
  3. I connect ESC ground to carrier board ground; and connect ESC DIR to carrier board “S” pin
    Does that mean I connect the remaining pin, the ESC PMW to the +pin of the carrier board ?

You would connect the DIR pin to the relay “S” pin and the PWM pin to the “servo” output “S” pin, per the documentation (two separate outputs). Ground goes to ground. Nothing need be connected to the “+” rail.

Your confusion and frustration are all too common! I wrote a quick synopsis today to hopefully alleviate some of the confusion for others.

PWM Confusion Explained - Hardware / Other Hardware - ArduPilot Discourse

Got my lawnmower built now (lots of trials and tribulations), and I have all the parts except GPS. I’m about to wire it up and get it working with the RC transmitter, first. Question: do you recommend powering the Hex Cube Orange/carrier board (through the “power brick”) by a separate LiPo battery, or could I power it from my main drive-wheel batteries (24V, 2 of these in series: APTX12 Power Sport Sealed AGM Battery - UPG42040 - 46053 | batteryspecialist.ca) ?

The “power brick” says it will take up to 8S 30A, which I believe is 3.7v x 8 = 29.6v, so that’s why I wonder if the 24v batteries will work.
I’ll also have a small 12v battery on board that powers the lawnmower electric start motor. So I could take the carrier board power off that, if you think that’s a better idea.

Thanks

I’m a noob building a lawn mower like rick was.
I am working my way through all the guides and trying to come up with a parts list so I can concentrate on learning how what I have now works together.

What I have so far:

1- Jazzy select elite wheelchair base.
2- Makita 36V lawnmower.
3- Cytron Motor Driver [link](https://www.cytron.io/p-30amp-7v-35v-smartdrive-dc-motor-driver-2-
channels)

4- SparkFun GPS-RTK-SMA Kit https://www.sparkfun.com/products/18292
5- Pixhawk 4, V2.4.8
6- Pair of X-bee pro radio modems >300ft range, 57,600 max baud.
7- Public RTk station ~3 miles away. provides RTCM via Internet Protocol (Ntrip) and Transmission Control Protocol/Internet Protocol (TCP/IP). https://iowadot.gov/rtn

What I’d like to do is use a Raspberry pi to connect to the internet via Ethernet and broadcast the public base information via x-bee radio to the rover. I would also like to use another Raspberry pi 4 on the rover that I have on hand instead of A Pixhawk Cube Orange.
Is this workable? Is there anything I’m missing? What budget RC Tranmitter/Reciever should I get?
Thanks.
-Craig

You could snag 24V by tapping a single battery and supply the stock brick that way or perhaps consider a PDB like those from Mauch if you’d like a more robust solution. There’s likely no need for a separate, discrete battery for your autopilot.

1 Like

A Raspberry Pi and XBee radio for RTCM3 corrections will work just fine, but you cannot replace a Cube Orange (or similar) with an onboard Linux computer without a significant amount of effort that is likely not worthwhile. A Raspberry Pi does not contain any IMU hardware, and the robotics “hats” that are available are probably not worth your time if you want to use ArduPilot as your firmware. It is possible to use a BeagleBone Blue as a Linux powered autopilot, but my experience with them has proven quite frustrating, and an STM32 H743 based autopilot like the Cube Orange is FAR superior.

The QioTek ZealotH743 is roughly equivalent to a Cube Orange at 1/3 the price, and a MatekH743-Wing has similar processor/flash/RAM specs without the heated/isolated IMUs and requiring some DIY soldering at 1/4 the price of a Cube Orange.

I recommend a Radiomaster TX16S with an ExpressLRS module and accompanying receiver for a very full featured budget RC rig.

Thank you very much Yuri for the quick response. Those are some great suggestions.

I have an opportunity to purchase a used cube black for $75. would that be a better alternative to the QioTek ZealotH743 or the MatekH743-Wing?
I have enough in the project for now, but will probably upgrade to Cube orange at a later date.

-Craig

I’m considering using a few DC-DC buck converters (Adjustable 5A CC/CV Step down Charge LED Panel Voltmeter Ammeter Display Module | eBay) to power the Pixhawk + cube and 3.3V for the X-bees. The one I linked to maxes out at 5A but there are others that go up to 20.

Recommend the H743 options over the Cube Black, which is a bit limiting in my opinion with less flash and an older processor.

I doubt you need more than 5A for autopilot power distribution unless you intend to power motors or headlights from the same source.

I’ll go with that, thanks. I use a bunch of the converters to power pixels for my X-Mas light display :wink:

I use an RPi on my mower with a Verizon USB dongle for internet access. Then I run mavproxy on the RPi and use the ntrip MAVProxy module to source RTK corrections from the internet and forward them to Pixhawk. Rpi connected to Pixhawk via USB.

One wrinkle with this setup is that the verizon USB dongle doesn’t provide the RPi with a dedicated public IP address. Not having a public IP doesn’t affect outbound connections (e.g. MAVProxy’s ntrip module connecting to the internet to source RTK corrections), but, you can’t make inbound connections from your PC to the RPi (for example, to connect Mission Planner). I solved that by setting up a VPN (OpenVPN) running on the RPi and on my PC (and on a “helper” computer in the cloud). I run MissionPlanner on my PC and connect to MAVProxy (using the TCP connection method). I log on to the RPi using putty or RemoteDesktop, which is handy; I found much of the testing and tuning to be easiest from an interactive MAVproxy command-line prompt.

I have my own local RTK correction source which is another RPI connected to a Sparkfun board which streams the corrections to rtkgo.com via ser2ser. It’s the “SandySpringMD” source at http://new.rtk2go.com:2101/ All of my mowers use that source.

I use FrSky X8R receiver and Taranis Q transmitter they work fine.

Build log here https://photos.app.goo.gl/axCZTsVE3VwirdBdA

I have a MatekH743-Wing on another (flying) model; some of the DIY soldering is tiny! The 0.1 inch headers are the easy part…

1 Like

Data sheet for the X-bee radio modem. https://www.sparkfun.com/datasheets/Wireless/Zigbee/XBee-Datasheet.pdf

Hi Chris - What coordinate reference system is SandySpringMD using for the coordinates that it is broadcasting?

I just did a 24 hour survey in and used the average. Kind of like described on this page https://learn.sparkfun.com/tutorials/setting-up-a-rover-base-rtk-system/all. Does that answer your question?

Yeah, I researched the components that you listed after I posted that and found ITRF2014 somewhere in the documentation, which equates to WGS84(G1762). Not important in an application such as yours since all of the coordinates used are relative to the base in the same reference system, but a whole different game when pulling survey points based on NTRIP coordinates into GIS and converting them to other coordinate systems. Thanks for following up.

1 Like