This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

Documentation

Hector 9000 is a cocktail machine that can pour drinks from 12 different ingredients. Hector 9000 was created at the beginning of 2018 as the successor to Uncle Hector, a pure Gin-Tonic machine. During the development we tried to make as many parts as possible by 3D printing without support. Unlike many other barbots, peristaltic pumps are not used, which makes it possible to pump carbonated drinks. The liquids are conveyed by a slight overpressure in the bottles, at the same time the conveyed quantity is determined by a balance. If enough of a liquid has been dosed, the silicone tubes belonging to the liquid are squeezed off. The drinks do not come into contact with moving parts. When a cocktail is finished, Hector activates its bell.
The core of Hector 9000 is a Raspberry Pi 3B. The Pi takes over the process control and displays the UI on a 7" touch screen. The software is written in Python 3, Kivy is used to provide the graphical user interface.

1 - Mechanik

Mechanics

Scale

To measure the poured quantities of the ingredients, a load cell in conjunction with a HX711 is used. Before assembling the printed plastic parts, the overflow pipe must be glued into the scale pan. The balance is bolted on from above through the table top. The length of the spacer and the overflow pipe must be adjusted according to the thickness of the table top, a gap of about 1 mm should be visible between the table top and the scale pan. For the electrical connection we used a CAT5e cable. On the bottom of the housing, it is possible to connect a hose with 10 mm inner diameter for the overflow. The following sequence has proven useful for the assembly of the scale:

  1. Screw the cable gland into the housing,

  2. Position housing and load cell under the table top,

  3. Screw the load cell from the top,

  4. Secure spacers and scale pan,

  5. Solder cables,

  6. Screw on the lid.

Scale with glass

Bottom of the scale

Pump

To create the overpressure in the bottles, we use an air pump for fish tanks. Since the complete electronics operate with max. 12 VDC, we opted for a 12 V pump from Schego. The selection of the pump is relatively uncritical since the required pressure and the flow rate are low. It should only be ensured that the pump works oil-free. Because the pump has only one hole for mounting, a bracket has been designed. The following sequence during assembly has proven itself:

  1. Screw on 2 nuts at each end of the threaded rods and counter. A nut should be flush with the threaded rod, the key surfaces of the nuts must be in alignment.

  2. Insert threaded rods in the holes of the bracket,

  3. Screw the bracket into the housing,

  4. Insert pump and clamp with the U-profiles (optionally with foam rubber strips under the U-profiles),

  5. Counter the nuts (or glue with Loctite).

Airpump

Valves

In order to realize the dosing of the fluids, pinch valves were designed for our cocktail machine which simultaneously open and close both hoses (i. e. air and liquid) for an ingredient.
The required plastic parts for the valves can be printed without support. The (optional) cover was cut out of transparent PMMA with a CO~2~ laser. Make sure the servos are original TowerPro MG996R. There are servos with the same name of no-name vendors. These servos may differ in the outer dimensions, in some cases significantly different from the original servos. The round servo arms supplied with the servos must be adapted to the inner diameter of the cams. Special care is necessary: If the servo arms are eccentric in the cam, the valve will not close properly. Our servo arms were machined on a CNC milling machine with a very sharp wood cutter. The mounting holes for the servo arms are best drilled using the cam as a template. The screws for connecting cam and servo arm are secured with Loctite. Make sure the tongues are made of a material with good sliding properties. Our tongues were printed from Iglidur I150. The tongues in the valves of Uncle Hector have been through a few hundred cycles and still work flawlessly. Alternatively, the tongues could be printed from PET, but this has not been tested yet. For the valves to sit flush with the rear wall, cutouts for the servos must be made (Fig. 4). For fastening the valves, captive nuts have been proven.

Valves

Valves (rear view)

Arm

In order to make the filling process more comfortable, the arm with the dosing head is retracted in the idle state (Fig. [arm_front_in]). When the dosing process is started, the arm moves forward. All required plastic parts can be printed without support. The gliding insert should be made of a material with good sliding properties. Our gliding insert was printed from Iglidur I150. Alternatively, the slide insert could be printed from PET, but this has not been tested yet. The boom consists of an aluminum profile with 15.5 mm edge length. Such profiles can be found in almost every German DIY store. The pinion is pressed onto the shaft of the motor and needs no further securing. To attach the rack to the boom, M3 blind rivet nuts were inserted into the profile. The dosing head is secured with a self-tapping screw in the profile. The trigger is glued to the boom. The trigger has a hole through which a cable was routed to power an optional all-round light on the arm.
When mounting the arm, make sure that the bottom bolt is passed through the hole from the rear and screwed down with a regular nut. The upper bolts are inserted from the front through the rear wall. The drip catcher can now be mounted on the lower screw with a knurled nut (Fig. [drip]).

Arm (rear view)

Bell

When building the mechanism for the bell, make sure that the center of the bell is 100 mm away from the rotational axis of the arm. A bracket is provided for attaching the bell (Fig. 6). To drill the necessary holes in the bell, the bracket is used as a drilling jig. The mounting of the finger on the back wall is actually self-explanatory. To attach the motor bracket (Bell_servo-bracket.stl) to the rear panel, it is advisable to use captive nuts or threaded inserts, so the finger can be easily adjusted later (Fig. 8).

Mounting of the bell

Bell

Finger with bracket

Hoses

To transport liquids and air, silicone hoses with an outer diameter of 6 mm and 4 mm inside diameter are used. In any case, care must be taken that the hoses are intended for use with food. To guide the hoses through the housing, the valves and the dosing head, it has been proven to cut off one end at an acute angle. For each ingredient, two hoses are passed through a valve. One hose directs the liquids from the bottle to the dosing head, the other hose connects the air pump and the bottle. When guiding the hoses through the housing, care must be taken that the hoses do not tangle with the arm. We just used cable ties (Fig. 9).

Guiding the hoses

Plugs

The plugs consist of a 3D printed core and a conical seal. The seal makes it possible to connect different beverage bottles with one kind of plug. The seals can be purchased from catering supplies. When printing the cores, food grade filament should be used. On one side of the plug are the hoses leading to the valves (do not confuse air and beverage hoses!) connected. On the other side of the plug is a piece of silicone tubing connected which reaches to the bottom of the bottle.

Plugs

Flushing funnel

As it takes a lot of water and time to rinse the hoses, it is not much fun to stand next to Hector and empty full glasses during the wash program. We have therefore constructed a flushing funnel that transports the wastewater directly into a bucket or spout. The flushing funnel can be printed without support. The hose nozzle is designed for a silicone hose with an internal diameter of 10 mm.

Flushing funnel

Housing

The housing consists of 25 mm aluminum profiles that have been covered with aluminum sheets and PMMA sheets. The metal sheet on which the scale was attached, as well as the sheet metal which carries the valves, were additionally glued to an MDF board. Before bonding, captive nuts were placed into the MDF panels to later screw on the DIN rails and pump. The PMMA plates and most of the other plates were fixed with 4 mm blind rivets. The rear wall is fixed by M4 screws. Blind rivet nuts were used in the profiles as a counterpart to the screws. It is strongly recommended to use special sheet metal drills for machining the sheets and profiles, otherwise problems may occur when inserting the rivets. The case is not included in the bill of materials, here everyone should let their creativity run free[^1].

Hector 9000

Display

For the selection of drinks we have opted for a 7" display with touch function via USB. The USB version is necessary because the GPIOs are used for other functions. The display is attached to a extruded profile of the housing. For transport the display can be turned into the housing (Fig. [display_half_in]). In the printed housing for the display are 3 holes for mounting it to the frame. Only two holes are needed for the attachment: the middle hole and an outer one. The display is screwed to the frame by means of blind rivet nuts and knurled screws. To turn the display, remove the outer screw and loosen the center screw.

2 - Elektronik

General

We decided to realize the power supply of Hector 9000 with a PC power supply. It is recommended to place the voltage outputs of the power supply unit on terminal blocks and to carry out the cable routing in wiring channels. We have fused the supply voltage of the LED strips, also on terminal blocks. It is also useful to make the connections between the modules by crimped connectors.

Power supply

Backpanel removed

Wiring

The interconnection of the individual components (Fig. 15) is relatively simple. We recommend placing the HX711 board as close as possible to the Raspberry Pi in order to keep the I2C lines short. For the illumination two WS2812B LED strips were connected in parallel to the GPIO of the RPi. There are 15 LEDs in the lower compartment (bottles) per line and 30 LEDs in the upper compartment of the housing. The pinout of the Raspberry Pi can be seen in Fig. 16. The optional all-round light must be switched via a transistor (Fig. 17).

Wiring overview

GPIO connections

Connecting the all-round light

3 - BOM

BOM

The BOM only lists components that are necessary to manufacture the individual assemblies. Cables, plugs, DIN rails, wiring channels, [material for mounting the modules in the housing]{.underline}, etc. must be put together individually depending on your housing. In the column Source is listed where we got the parts; these sources are not an advertisement or recommendation for certain sellers or platforms, but are merely intended to indicate where the material could be sourced.

BOM Scale

Qty. Title Decription Source
1 Overflow grid Scale_overflow_grid.stl 3D printed
1 Overflow pipe Scale_overflow_pipe.stl 3D printed
1 Scale pan Scale_pan.stl 3D printed
1 Spacer Scale_spacer.stl 3D printed
1 Case Scale_cover.stl 3D printed
1 Lid Scale_lid.stl 3D printed
1 Cable gland M10 eBay
4 Screw for thermoplasts 3x10 Wegertseder
1 Load cell 1 kg with HX711 board Amazon

BOM Pump

Qty. Title Description Source
1 Mounting base Schego_830_mount.stl 3D printed
1 Schego 830 membrane pump Amazon
2 Foam rubber strips 13 mm x 70 mm DIY Store
2 Aluminium U-profile 13 mm x 8 mm x 105 mm DIY Store
4 Threaded rod M3x65 DIY Store
12 DIN 934 Nut M3 Wegertseder

BOM Valves

Qty. Title Description Source
12 Valve body Valve_body.stl 3D printed
12 Cam Valve_cam.stl 3D printed
24 Tongue Valve_tongue.stl 3D printed
12 Cover PMMA Valve_cover.stl CNC/Laser
12 TowerPro MG996R servo only genuine Hobbyking
24 DIN 965 Bolt M3x8 Wegertseder
48 ISO 7380 Bolt M3x10 Wegertseder
24 DIN 933 Bolt M3x35 Wegertseder
72 DIN 934 Nut M3 Wegertseder
24 DIN 466 Knurled nut M3 Wegertseder

BOM Arm

Qty. Title Description Source
1 Mounting bracket Arm_mount.stl 3D printed
1 Slide insert Arm_sliding_element.stl 3D printed
1 Rack Arm_rack.stl 3D printed
1 Pinion Arm_pinion.stl 3D printed
1 Trigger Arm_trigger.stl 3D printed
1 Dosing head Arm_pourer.stl 3D printed
1 Drip catcher Arm_drip_pan.stl 3D printed
1 Optical endstop Amazon
1 Pololu A4988 Amazon
1 NEMA 17 Stepper Amazon
1 Aluminium square tube 15.5x15.5 Lenght depends on your housing DIY Store
1 DIN 7981 Self tapping screw 2.9x6.5 Wegertseder
4 ISO 7380 Bolt M3x6 Wegertseder
4 ISO 7380 Bolt M3x10 Wegertseder
6 DIN 125 Washer 3.2 Wegertseder
2 DIN 934 Nut M3 Wegertseder
3 DIN 934 Nut M4 Wegertseder
1 DIN 466 Knurled nut M4 Wegertseder
6 DIN 125 Washer 3.2 Wegertseder
2 Blind rivet nut M3x10 flat Wegertseder

BOM Bell

Qty. Title Description Source
1 Bracket for the bell Bell_base.stl 3D printed
1 Bracket for the motor Bell_servo-bracket.stl 3D printed
1 Finger Bell_finger.stl 3D printed
1 TowerPro MG996R servo only genuine HobbyKing
1 Bell Amazon
7 ISO 7380 Bolt M3x10 Wegertseder
7 ISO 7380 Bolt M3x12 Wegertseder
11 DIN 934 Nut M3 Wegertseder

BOM Display

Qty. Title Description Source
12 Core for the plugs Rubberplug_core.stl 3D printed
12 Long-Life Corky 0.7 l-1.0 l METRO

: BOM Plugs

Qty. Title Description Source
1 Cover Display_lid.stl 3D printed
1 Base Display_base.stl 3D printed
1 Clamp Display_clamp.stl 3D printed
1 7" Touch display Touch function via USB! Amazon
4 Distance bolt M3 x 10 male-female Amazon
2 Screw for thermoplasts 3x10 Wegertseder
4 ISO 7380 Bolt M3x16 Wegertseder
4 DIN 934 Nut M3 Wegertseder

BOM Misc

Qty. Title Description Source
1 Adafruit PCA9685 Servo driver Amazon
1 Raspberry Pi 3B Amazon
1 PC-PSU Reichelt
ca. 1.5 m WS2812B LED Strips 12 VDC version! Amazon
ca. 30 m Silicone hose 6 mm x 4 mm food-safe;do not buy the cheapest one! Amazon
1 Flush funnel version A or B Flush-funnel-XY.stl 3D printed

4 - Software

Later versions of this document will contain a description of the software. At the moment you will find information about the software only on https://github.com/H3c702/Hector9000

5 - Installation

The video shows how the Hector9000 image is written to an SD card and how the initial setup must be carried out.

The most important points:

  • When setting up the user, the name should be “pi”. Since the RPI image no longer comes with a default user, this must be selected during the first boot process.
  • Ensure that I2C is set up. -> Call up RPI Config in the console and set it up there.
  • The two scripts can then be executed.
    • Hector9000 (/home/pi/Hector9000/start.sh)
    • Hector9000WebUI (/home/pi/Hector9000WebUI/start.sh)

The Hector should then run and be ready for operation if everything is connected correctly.

Have fun :-)