Vorpal Robotics Wiki
Log in

BriteHand

From Vorpal Robotics Wiki
Revision as of 14:50, 9 June 2020 by Vorpalwiki (talk | contribs) (Wiring)

DRAFT

This page is a draft. As such, it is incomplete and not final. Don't use it yet. It should be complete by mid-June 2020.

Introduction

BriteHand is an open source, 3d-printed, no-touch sanitizer dispenser (it can also dispense liquid soap). It uses Arduino Nano and other off-the-shelf technologies. This project is actually in use in my wife's dental office (two are deployed there) and has proven to be robust under commercial use conditions. Here are some of its features:

  • BriteHand uses two infrared detectors to sense when a hand is under the dispenser nozzle, then pumps the dispenser about once per second. The double-detector strategy makes "false positives" extremely rare.
  • There are also strategies implemented in the code to detect situations where false positives may be occurring for further safety.
  • The unit is powered from a wall adapter so doesn't require batteries or recharging, which is also important in an office environment.
  • BriteHand can be wall mounted using two holes sized for 1/4" bolts, or can be set on a table top.
  • BriteHand can use a wide variety of 16 ounce (half liter) pump bottles that are commonly available. The pump bottle needs to be between about 8 and 8.5 inches tall (about 200mm).
  • Because this project is open source and all source files are public, you can easily adapt the design for different sized bottles if desired. For example you could easily make an adapter to fit Purel pump bottles or other off the shelf commercial bottles.
  • The total cost of parts is less than comparable commercial products.

Although there are many commercial no-touch dispensers available, because of the recent Covid pandemic they were literally all on back-order. My wife needed to open her dental office and ADA guidelines suggested no-touch sanitizer dispensers for patients to use. So, I developed this open source project.

Bill of Materials (BOM)

Electronics

  • 1 x MG958 high torque servo. It is possible to substitute similarly sized servos standard torque servos such as the MG995 or MG996. However, for a commercial deployment I wanted to make sure the servo was over-powered for what it would be called on to do so that it will last a very long time.
  • 2 x KY-032 infrared proximity sensors. These are cheap and available from many sources.
  • 1 x Arduino Nano
  • 2 x 3A 5v BEC or other similar voltage regulator. Two are needed to isolate the nano and sensors from the servo power supply to avoid brown-outs.
  • 1 x passive Buzzer module
  • 1 x 9x13mm on/off switch
  • 20cm F-F and M-F jumper wires as needed to form circuits
  • Shrink tube for insulating solder connections
  • 1 x wall power adapter with approximate output of 12 volts DC at 1 amp. You could use a wide range of "Wall Wort" adapters here, many adapters from old equipment would work here (I have a big box of old adapters from dead appliances in my basement for this kind of project). Don't go under 1 amp, and keep the voltage between 8 and 15, and make sure the output is DC. You can buy adapters from places like Jameco or Electronics Express or even Amazon for just a few dollars.

Fasteners

10 x #6-32 1/2" button head cap screws 4 x screw inserts for #6-32 threads. These are heat-inserted into the plastic to form strong threads and are necessary to make this project suitable for commercial deployment. 2 x #6-32 1" button head cap screws 1 x #6-32 1.5" button head cap screw

Miscellaneous

  • About half a kilogram of 3d printer filament. PLA, ABS, and PETG would all be suitable.
  • 1 x soap dispenser pump style bottle, 16 ounces capacity, between 8.00 and 8.5 inches tall. Plastic is suggested (rather than glass) for safety.

3D Printing the Parts

The parts can be found in this public dropbox folder: Vorpal File Archive under the STL/BrightHand subfolder.

The Base and Cap parts require supports and is a long print. I would suggest making the supports about 10mm resolution, there is no need to make them finer than that. All of the supports are detached from the inside of the model that will be covered by the BACK part, so there is no cosmetic affect of the supports.

I print at 0.38mm layer height for speed but it should work fine at thinner layer heights.

Flashing the Nano

The current stable release of the code is here: Vorpal Files Archive under the SOFTWARE-BRITEHAND subfolder. The current development release is also on Github.

Wiring

One BEC feeds the servo, the other BEC feeds all the other electronics components (nano, buzzer, two sensors). The reason this is necessary is because the servo will draw a ton of current when it activates and I found that could sometimes draw down the voltage low enough to brown out the nano and/or cause the sensors to go haywire. We want to avoid false positive events (which would cause sanitizer to be sprayed out without someone's hand being present!) so we have to keep the nano and sensors fully powered.

Here's the writing diagram:


BriteHand-Electrical-System.png


Here are the Nano connections:


BriteHand-Nano-Connections.png


Tuning the IR Sensors

These sensors are cheap and reliable, but a bit finicky to get tuned at the beginning. You will need to put some shrink tube over the big clear LED to avoid IR coming out the sides and false-triggering the IR detector. Holding the sensor as shown here:

Turn the right pot wheel so the slot in it is horizontal as shown, and the left wheel so the slot is almost fully clockwise and vertical. Power the sensor off the BEC output and now carefully move your hand toward it until the red light glows, showing that it is detecting your hand. You want the light to trigger at about 4 inches (100mm) plus or minus an inch or so (25mm or so). You may need to slightly adjust the left wheel, or adjust how much shrink tube you put over the IR transmitter LED, to get it tuned correctly.

Once both are tuned, insert them into the Base slots and make sure they still detect at a reasonable distance. Screw them in place using the access holes. Don't over-tighten the screws or you might crack the board or strip the plastic. As soon as the board is snug, stop turning the screw.