Solar Rovers - trying to run Ardupilot indefinitely

I would be happy enough if somone donated an old clone pixhawk I wouldn’t want to take funding from future development.

FWIW, this is pretty reasonable testing. A comparison of another H7 autopilot against one that seems to struggle in long term use is valuable information.

2 Likes

I have been seriously considering replacing the hoverboard controllers after this recent failure. The issue is that im struggling to find replacements, the modern boards use different non stm controllers that are a pain to flash, and i cant find any old ones online, and the spare one i did have is not behaving properly.

Unfortunately it doesnt leave many options for a low cost replacement but this SIMPLEFOC controller looks interesting. It can do 2 motors at 12A for under £20 and it runs off a ESP32 so its fully programmable. I should be able to make it connect directly with mavlink.

I have ordered 3, so they should be here in a couple of weeks.

https://www.aliexpress.com/item/1005005481298844.html?

I reflashed my matek board with a STM32 programmer and it came back on like it usually does. Somone mentioned that it only happens to the early revisions of their Matek h743 board so its probably a manufacturing or design defect on my boards. so thats about £400 and a year I have wasted on 5 Defective matek boards…

Here is the process :

So basically ask for an FCU or whatever you may need like a new ESC to continue your exploration on solar rover. You need to provide the approximate cost and if possible some links.

When it is down the funding commitee will look at it and give the approval or not. We can even have some partners to step in and provide hardware.

@Yuri_Rage funding isn’t reserved for dev. It is just we rarely got non-dev proposal

1 Like

I have made a first draft of a Mavlink ESP32 SimpleFOC Dual motor controller. it takes mavlink telemetry servo outputs and converts them to velocity requests, telemetry is then sent back using some named floats. Motor control runs on Core 0, telemetry runs on Core 1.

its untested as I don’t have the hardware yet.

Something that the SimpleFOC controllers have is per motor real time phase voltage and current monitoring, so it should be possible to monitor the torque and RPM output of each wheel. With that it should be possible to make a traction control system that limits wheel slip.

In theory, it could also be possible to use the front wheels as a type of bumper by detecting current spikes. When the front wheel contacts something, the torque for that the front wheel needs will go up as it will try and lift the rover over the obstruction. the rover can then stop so it doesn’t run it over and mark where that wheel is as a proximity obstruction. Essentially using the front wheels to “feel” It’s way around.

I had issues with the ESP32 sleep timer, it would immediately wake if set for more than 30 minutes, basically it works in microseconds so a regular INT overflows if you try and set more than 30 minutes, but now its been changed to a long, it can stay asleep for up to 12 hours now. I Don’t think I can get the power consumption any lower than that.

Since the SimpleFOC motor controllers are also running ESP32 chips so I have been looking into power management for them to see if it is possible to make a fast sleep mode where it will go to sleep as soon as it stops then wakes up again when it needs to start moving, it should work as long as its starts up in under 2 seconds. This could drop its consumption down to under 1mw and would be orders of magnitude better than the hoverboard controllers that use 40W at idle and 10 seconds to power them off and on.

I have been on the look for a cheap flight controller to replace the series of defective Matek H743 boards I have been struggling for over a year with at this point and due to circumstances i have had to prioritise other things so i havent been able to fund a very expensive flight controller upgrade to one of the higher end H743 boards. so I have been looking for alternatives. I checked out a lot of the DIY linux boards but most of them are EOL due to sensors that are not made anymore, I looked at esp32 but its still experimental but then I remembered about the BeagleBone Blue and Yuris efforts to simplify the install process HERE


After some checking I realised it can still run the latest firmware and lua. I started looking to see if i could get one. Yuri offered me his but I can find them in the UK new for £18!! for that price its worth some effort to get it working.

I managed to get another hoverboard ESC working. There was a hall connector pin that got bent and wasn’t making contact so all 6 wheels are turning again. since they are working, im going to leave the hoverboard ESCs in and use them for a while until I figure out the simpleFOC controllers

I have been thinking that the idea of monitoring torque for anomalies could be adapted for boat use, propellers should use a very predicable amount of power at a specific RPM, so it should be possible to detect anomalies like something contacting the propeller or fouling building up over time or cavitation. if there was an anomaly then it could immediately stop the propeller for a set amount of time based on the boats speed so it can drift over it before it tries to restart, then it could then run some checks by rotating it very slowly to test for any resistance before restarting, if resistance is felt then it could do some anti-foul actions like reverse the propeller a few turns to try and unhook whatever caught on it.

I have designed some low friction 3d printed tyres for testing traction control on the new ESCs, printed in PLA they are very smooth. The problem is the tyres it has now are just too grippy with their chunky tread to test without resorting to extreme setups. These should let it slip much easier. I also wanted something that was a little kinder to the grass in the garden, the tread was ripping up chunks of grass when it tried to turn on the spot. They could also make good regular tyres if they are printed in a soft material.

My servo gimbal that has the Raspberry pi zero 2 running drone engage has been getting a lot of upgrades, Im replacing the sail winch servo I’m using to pan the camera gimbal, I thought the servo would be a good idea as it can travel 540 degrees but after testing it, it can do that range, but it has zero accuracy (±10 degrees), its very slow and just totally unsuitable for cameras. so plan b is a cheap stepper motor.

I have designed a version of the gimbal that takes a 28BYJ-48 geared stepper motor rather than a servo I still need to figure out a way if setting the starting position like a switch or remembering where it was when it went to sleep.

I have uploaded my ESP32 rover controller code here.

and the final version of the hoverboard adapter with automatic power control is here

I’m getting it ready to go out again with its improved power management, and hopefully working camera and lidar if it all checks out and is still ok after a few days I am going to try and get it to the park for a couple of days to do laps so I can get some proper power data now that it’s got accurate power sensors.

2 Likes