Skip to content

Hardware Electronics

Boris Yanchev edited this page Apr 17, 2020 · 19 revisions

System Requirements

The choice of sub-modules and electronic components is determined by the product specification. As set out in the initial pitch, the system must heat up water to a desired temperature, dispense a precise amount of tea leaves and heated water, infuse the leaves and finally, dispense the tea. A diagram of the final product is shown below.

In order to facilitate testing and software integration, each sub-module has been designed separately and is discussed in detail in the following section. The schematics and PCB layouts can be found here.

Sub-modules

Water Heating

A commercially available kettle has been chosen to heat up the water. This has been done in order to bring the cost of this sub-system down, but also because of potential health and safety risks. A mains relay has been designed to turn the kettle on and off from the PI. The design offers sufficient electrical insulation between the mains side and low-voltage PI side and acts as a digital switch turning on the kettle when a logic high is given to the control input. Components and tracks with current handling capabilities above the requirements of the load and appropriate heat-sinking of crucial components guarantee reliable operation even over prolonged periods. Schematics and PCB layouts can be found here.

Finally, the whole sub-module is mounted in an earthed metal enclosure which provides physical isolation of the user and thus meets all safety requirements for a commercial product. Instead of including a fuse on the PCB, a standard fused cord will be used to power the kettle.

Note: Due to the disruptions caused by Covid-19, the sub-module could not be tested running from mains power. However, appropriate low-voltage functional testing has been carried out with simulated outputs from the PI. The operation of the module has been verified and it is ready for integration with the kettle and RPI, as shown below.

Temperature Sensor

Each tea variety requires a different water temperature for infusion. To implement the temperature control, the DS18B20 sensor has been chosen. It is a digital sensor in a waterproof package and hence requires no further interfacing circuitry to connect to the PI. Furthermore, the available library support allowed for easy integration. More on the software to interface the sensor is given in the Software section.

Dispensing

The correct amount of water or tea is dispensed via solenoid valves controlled from the PI and the valve driver board shown below. The board is easy to interface from the PI and only requires an external DC source from a wall adapter. Each solenoid valve requires only a digital high or low control signal from the PI. Schematics and PCB files can be found here. Its performance was verified with appropriate simulations and on the actual hardware.

Stepper Motor Driver

The tea dispensing mechanism is achieved via a stepper motor which rotates a slotted disk under a tea container. This is presented in more detail in the Mechanical Design section. The stepper motor driver chosen is the DRV8825. It was selected as it generates all the required voltages for the stepper motor and requires only two control signals - a digital direction signal and a PWM step signal, which simplified the testing and software development. Furthermore, the same chip and PCB design can be used to driver a more powerful stepper motor, and the chip offers internal over-current and temperature protection.

Note: An alternative stepper motor can be used provided the maximum output current is limited via the sensing resistors (R5 and R6).

RPI Hat

Finally, all sub-modules connect to the Raspberry PI via a separate PCB. All the files required for this board can be found here.