Simple partly 3d printed lawm mowing robot with stm32 blue pill and Zephyr RTOS
To make the experience fit your profile, pick a username and tell us what interests you.
We found and based on your interests.
VID_20200614_153653.m4vVideo of cutting the grassM4v - 30.86 MB - 06/14/2020 at 13:00 |
|
|
VID_20200614_153704.m4vVideo of cutting the grassM4v - 19.77 MB - 06/14/2020 at 13:00 |
|
|
schematics.pdfSchematics from my hand drawingsAdobe Portable Document Format - 68.33 kB - 06/10/2020 at 11:57 |
|
|
This is probably my final update on the project, unless i get some new ideas. The final outcome is that the robot is not able to do the lawn without supervising.
Major issues:
The stone path detection is issue, since without it i cannot use "random walk" type of thing that seems to be the way most of the commercial versions do the 'navigation'. I could add a perimeter wire (similar to ardumower) but that would be no fun.
Some cutting quality issues:
Minor issues:
So as there are too many issues and too much else to do, i call this project done.
As final some comments:
I ended up buying new motors for the robot, as the old ones (JGY-370) seemed getting stuck too easily. The new ones are JGB-37 (aliexpress). They seems to be strong to move around without any trouble. I ordered them with 12V / 18.5RPM.
The another good thing is that the area of support for robot weight is larger - as they are mounted in different manner than the old ones.
I also did work with lawn detect sensor. The idea came from ardumower. I was able to get it working so that it was able to detect my hand pretty far away (with sensor being smoothie bottle cap, radius around 40mm). But when mounted to the real electronics the measurements were not too good. I used 75OHM tv-cable with shielding to reduce the noise but no luck. It still detects if the grass touches the sensor, but its not able to differentiate stone tiling from short grass. Which makes it pretty much useless in my scenario.
New version pushed to master, this one has support for ADC monitoring of the battery voltage and current sensor (with ACS712).
I also added new photos with full covers - 3d printed in 5 parts and hot glued together :D
The static back support radius and size got bigger as the robot got stuck constantly on my un-even yard. This new larger one made quite much better, but it still gets stuck. I ordered larger motors. Another option could be to make code somewhat handle the 'getting stuck' by trying to reverse, rotate, and retry or similar. But lets see how it goes with new motors --if-- when they arrive from China.
The mower blades got upgrade from "cutted from plastic food package" to steel bend-wire -- turns out that the food plastic package does not withstand 3000rpm with grass. Go figure.
I am also thinking of updating the drive logic - that currently tries to relay on nice 90deg turns and keeping 'almost perfect' track with wheels - to simpler and similar to what i observed on youtube. A 'grass detector' would be good but i think i could go with keeping x,y location tracking based on wheel rotation.
I also made driver for MPU9250 to zephyr (https://github.com/zephyrproject-rtos/zephyr/pull/24705) but i have not integrated it to the mower. Basically it could be used to eliminate some of the wheel tracking error, but its not that simple i am afraid.
Create an account to leave a comment. Already have an account? Log In.
Sorry i missed your comment! The work is still ongoing, but the 'basic' functionality is there -- it drives and cuts some grass.
The Zephyr has been wild ride - it has very very much potential, and one gets 'in the package' much of stuff that i have been forced to re-write in work-life projects too many times -- like shell, logging, drivers for xyz.
What currently maybe the issue (or to me) - the number of samples and quality of the documentation. I still constantly end up reading the kernel code to figure out how something should be working. But maybe that's just me.
Anyway i would definitely give it a go, and would take it as serious option for my next project.
Become a member to follow this project and never miss any updates
By using our website and services, you expressly agree to the placement of our performance, functionality, and advertising cookies. Learn More
From the photos it looks like you either finished or made quite a bit of progress on this project. I'm currently exploring Zephyr RTOS and I'd love to hear more about your experience with it.