Close

Final thoughts

A project log for Lawm mowing robot with STM32 blue pill and Zephyr

Simple partly 3d printed lawm mowing robot with stm32 blue pill and Zephyr RTOS

pauli-salmenrinnePauli Salmenrinne 06/14/2020 at 13:160 Comments

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:

  1. Its not detecting the stone path with the lawn-detect-capasitance sensor 2) The hard spike wheels have zero friction on the stone path
  2. The bumby ground causes robot to loose heading time to time

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:

  1. Corners (90-deg in): the robot just dont handle them in any sensible way. It would need some finer logic and detection for these
  2. Borders: the current implementation drives until bumber hit, which is fine, but there will be always minor border with long grass, and its not looking nice.
  3. The cutting edge rotation is not fast enough (3000rmp) for grass-cut trimmer naylon wire. And i am little bit too afraid to install metal blades there - since the 3000 rpm and 1y and 4y old kids does not sound like good combo.

Minor issues:

  1.  Back support: i decided to do as simple as possible and used the slide-support (no rotation). Its ok, but its actually quite easily building some dirt to make block, that makes the wheels stress
  2. Wheel attachment to the motors D-shaped axis: its just not working. The metal mounts i have - that are thightened with two tiny screws tend to get loose over time. Its not issue now, but it would be in long run (as the D-shape would slowly come O shape).

So as there are too many issues and too much else to do, i call this project done.

As final some comments:

  1. The 12V in the end seems to be issue for all the motor -- maybe 24V would be better, or 18V. My 12V came from the Makita 1234 battery.
  2. Zephyr seemed really good and worked fine. The documentation is somewhat sucky and the number of examples is quite low at this point of time, causing me usually grepping on the kernel source.
  3. The STM32 Blue pill is amazing piece of HW with few dollars. With STM32 programmer its very good. Unfortunately at least on my case the few-dollar programmer did not have reset wire properly done. I was able to get the programming done without playing with reset by setting the stm32 to bootloader mode from UART.
  4. Bluetooth/wireless uart/channel is must. It just works and makes life better.
  5. Next time i wont do 'dead bug' style circuit board. Ever. I burned one board (shorting 5V and 12V) and ended up quite much wire mess in the end. Just do proto-board. And start with schematics, not with soldering.

Discussions