Anth's Computer Cave

Stirling vacuum, electronics

15th November, 2018

Updated 30th January, 2018


In the previous article we introduced our next robotic project, Stirling.

In this article we'll delve further into the existing electronics in the vacuum cleaner, and how we'll modify or replace these components to get our new smart robot working.

We'll update the article regularly as we get our heads around everything.

Use the buttons above to read all of the Stirling Robot tutorials.

A Stirling robotic vacuum cleaner with added sensors and a new head. Picture: Anthony Hartup.
Stirling in its current form with its new head

Drive motor units

The drive motors from a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

As mentioned in the previous article, Striling uses self-contained units with gearboxes and drop-sensors built in. We've since opened one of these to see what's inside.

A rotary encoder and motor from a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.
A rotary encoder and motor from a Stirling robotic vacuum cleaner.

As we suspected there is a rotary encoder attached to the back of the motor.

The black dome pictured above has 18 slots around its edge to give 20 degree increments. You can see the infrared (IR) receiver to the left of the dome.

It would usually takes some effort to figure the connections for this circuit board, but here we're in luck.

A rotary encoder and motor from a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

The 10-pin plugs connecting the drive units to the main board are clearly labeled!

Eight of the wires are in use. The two motor wires are m+ and m-, and the ground is obvious enough.

A rotary encoder and motor from a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

The A on one edge of the plug will be anode (+) for the IR encoder. I'm hoping this powers both the transmiter and receiver.

C generally stands for cathode (-), and in this case I suspect it may be the output (Emitter) from the encoder, because there doesn't seem to be any other output pin, K1 and K2 are the in/out for the drop-sensor.

Phase One

We're building Stirling in several phases. Phase one is purely to test our movement interfaces and GUI's.

A rotary encoder and motor from a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

For now all we've done is cut the wires from the m+ and m- tabs and extended them to my motor-controller.

The other pins from the motor unit are still plugged into the old main board, and the vacuum's old brain has no idea anything has changed. The LCD shows no errors. I did say it was stupid.

An L298 motor-controller connected to a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

The power comes from the battery via the power switch/charging board on the side of the vacuum.

The Raspberry Pi power connection from a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

Wired like this, the power switches on the motor-controller when I flick the main switch on the side. It will also switch on and stay on while the charger is plugged in.

The old brain's power-monitoring functions are still working, and it will power everything off if the battery gets too low. The LCD displays a three-bar battery status so we can see when it's getting low.

Unfortunately some clown put a giant head over the LCD, but that's okay. I'm only using it like this while I build a new power system. After that I'll ditch the main board altogether. This was just a safe way to get phase one going without smoking batteries, but it has it's drawbacks.

The vacuum cleaner's old brain must be powered on anytime the motor_controller is running. This is obviously using a lot of unnecessary battery power, and all it's really doing is displaying the battery status (which I can't see).

In phase two we'll connect directly to the battery with our own power switch instead. During normal operation the vacuum's own main board will be powered off, and it will only switch on while charging.

A Raspberry Pi controlling a Stirling robotic vacuum cleaner. Picture: Anthony Hartup.

You can see the new brain above. So far there is just a Raspberry Pi and a seven-way power splitter for the sensors.

The Pi is powered by a 10,000mA USB battery that lasts at-least 24 hours.

As well as holding the brain, the head will act as the platform to attach hat-like tools and accessory boards we'll make later.

The head holds three distance-sensors for now, with three more coming soon. I want one more for the back and one on each front corner. The front sensor doesn't see things on the flanks. At the moment I've fixed that by having the robot look 20 degrees left and right to measure the flanks before it moves ahead each time, but that makes it a lot busier.

The PIR movent sensors in the front corners will tell the robot when people are near and detect their approximate position. They are not connected yet, I don't really need them until I build the Nerf gun hat.

The next brain component to come is a gyroscope/accelerometer. This will sit in the center next to the Pi.

After that we'll move onto the built-in sensors, starting with the motor-encoders.

That's all for today, check back soon.

Cheers

Anth

_____________________________________________


Comments

Leave a comment on this article