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.
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.
I use the AUX OUT pins on the carrier board, instead of the MAIN OUT’s
I set MOT_PWM_TYPE = 3 for “BrushedWithRelay”
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.
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.
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’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.
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.
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.
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.