7 days ago •
One of the outstanding features of autoCut is the ultrasonic positioning system. Since no other (lawn mower) robot I heard of has this feature it's a tough one. I posted a sketch on how this could work and I set out to make a proof of concept.
After some tinkering it works very well, here's a demo:
This is how it works:
The signal on top is the one fed into the ultrasonic transmitter. It is 40KHz as long as data is transmitted, and on every 1 there is a phaseshift of half a period (waves get inverted). On the oscillating receiver this causes the amplitude to drop to 0 and then start rising again. So 1es are where the amplitude is zero (blue dots) and 0 are where the amplitude remains high (red dots).
In this case the data stream is 01100011, written in correct binary: 0b11000110 (least significant bit gets transferred first).
The signal of the receiver gets amplified, one-way rectified and buffered by a capacitor. This creates a signal the represents the amplitude of the received signal.
With the help of a small phaseshift (caused by resistor+capacitor) comparator creates a digital signal which indicates when a signal starts rising or falling. Now when the amplitude is ~0 and starts rising again, the digital signal switches from low to high. Under friendly conditions this is enough already to decode the data stream.
To make sure that the switches from low to high are valid 1es (amplitude must be near zero) another comparator is used to create a signal representing the level of the amplitude. To receive a valid 1 the flank from low to high must occur AND the level of the amplitude must be zero. As you can see I also introduced a small XOR-checksum, which will be extended to 4 bit due to occasional false data (2 bit: 25% chance that checksum of corrupted data stream happens to be right).
So far I'm pretty satisfied with the results. Improvements I'm working on:
- use MAX232 as amplifier for the transmitter
- use better receiver/transmitter capsules
- use a better operation amplifier for the received signal (CA3140 so far which can't do rail-to-rail -> 2-3V max output on 5V power supply)
- Get bidirectional data transmission and distance measurement working
- work out a way to spread the sound into all directions
7 days ago •
Already some time ago I built this prototype of a battery pack:
It can hold two 14.8V 5Ah LiPo batteries wired in parallel. I did some tests with one battery earlier and estimated from that this should be enough to mow at least 1.5h non stop.
Apart from connector orientation the design is mirrored. The front face with the two connectors will sit on the robot with the left connector providing the amps and the right one reporting individual cell voltages. The connectors on the other side (facing upwards when battery pack is mounted on robot) do exactly the same. The idea is that the battery changing station can grab the pack and connect to it in one step. The changing station will be a big disk that can rotate, move up/downwards and hold up to 3 battery packs (see sketch on system design)
The biggest problem on a mechanical point of view is how to craft the docking mechanism. The problem is that this has to be very accurate to work smoothly, but my most advanced tool is a cordless drill... Fine adjustment must be possible via screws with washers in bigger holes or something.
This are the electronics inside the battery pack. There are two of these simple boards in one battery pack:
As you can see rather simple, simply a bunch of connectors and solder pads to join everything in parallel and provide mounting options. The PCB is homemade via toner transfer (probably should do a video on my selfmade laminator and etching machine..)
I also purchased the mowing plates and hood that will be laser cut from aluminium:
As you can see blades of different sizes and two or four blades per plate can be mounted.
All in all it's 65€ and the parts will arrive ~ 10. Oct. I purchased at http://cutworks.de/ an their website/tools are really great, will see how the parts turn out.
a month ago •
As you might have read I claim the ultimate goal of the robot to be to navigate through the garden with an ultrasonic positioning system. I thought about navigation and positioning since the beginning of the build, but just recently something came up my mind that I think of as an realistic solution: sound
Sound moves rather slow compared to the speed a microcontroller can process data, thus making precise distance measurement easy. There's a great chance you actually used one of these at some point:
This is a HC-SR04, a cheap (~5€) ultrasonic distance sensor widely used by hobbyists. The principle is fairly simple: One of the round thingies is an ultrasonic speaker, that transmits a short ultrasonic burst into the world. Eventually this sound reaches an object and gets reflected on its surface (echo). The other round thingy listens for that echo. The delay between transmit and the receive is what the module sends to your microcontroller which can then easily calculate the distance from that.
Now I want do take this principle one step further:
Read more »