Overview

Our dispensing accessory consists of four main components: a user interface comprising of an LCD and a keypad/keyboard, a sample dispenser with a vibration motor attached to it, a stepper motor to control tilt and an Arduino UNO which controls the various devices. The dispensing accessory will be connected to the analytical balance through a serial data port. Powered by a 5V power bank, our automated solid dispensing accessory is capable of precisely dispensing solid powder by vibrations of varying strength and tilting at different angles. All of the components are securely fitted onto an adjustable frame made of aluminum linear profile rails. Check out our video to see how our product works!

Picture showing all components of the automated solid dispensing accessory

Alternative view of automated solid dispensing accessory

With a 10 – 200 mg specification, our dispenser is able to achieve the desired weight with a tolerance of ± ~5 mg. It is also able to weigh a wide range of different types of solid powder samples without any washing, by folding a piece of weighing paper and placing it in the sample dispenser. The total cost price was calculated to around $45 per accessory, making it cheaper than current solutions and within our goal of <$100. Unlike most analytical balance accessories, it is not restricted to one brand of analytical balance. Most analytical balances come standard with a RS232 serial port which the accessory connects to,* and the aluminum frame is adjustable to fit the size of different analytical balances. As such, our accessory is compatible with most analytical balances. By changing the size of the sample dispenser, it can also be upscaled to weigh at higher masses. It is also simple to use, as seen in the video demonstration.

Cost price breakdown of the dispensing accessory

Interface

The interface consists of the LCD screen and the keypad, which are connected to the Arduino UNO. On startup, the interface displays the words “Rectify tilt”, where the tilt of the sample dispenser can be calibrated using the directional keys.

Once the sample dispenser is level with the weighing paper in the analytical balance, the user can press the Enter key, which would prompt the Arduino to display the words “Set Weight”. The user can now input the desired weight using the keypad, using the left and right keys to traverse through the 6 selectable digits and the up and down buttons to increase/decrease the weight. Once the desired weight has been inputted on the screen, the user can once again press the Enter key and the dispensing accessory will transition into its weighing mode.

If the user wishes to abort the weighing, they can press and hold any of the directional keys. Once weighing is done, the machine will reset the sample dispenser to the starting position and a the buzzer will alert the user that the process is completed.

Sample dispenser

Below are pictures of the sample dispenser and the docking station for the sample dispenser. The vibration motor is attached to the bottom of the sample dispenser and screwed on. The vibration motor vibrates the sample dispenser, which causes the substrate powder to be agitated and gradually slide out of the small opening in the sample dispenser.

Left and middle: View of sample dispenser at different angles. Right: Docking station for sample dispenser

Before installing the sample dispenser, a piece of weighing paper is rolled up and placed inside the sample dispenser, as show in the photos below. This allows for samples to be weighed without being contaminated. When switching to weigh a new substrate, the weighing paper can be swapped out with a new one. This allows the sample dispenser to weigh different types of substrates without washing.

Left: Sample dispenser without weighing paper. Right: Sample dispenser with weighing paper

The sample dispenser can be attached to the docking station by aligning the male pins on the vibration motor and the female connectors on the docking station and then pressing down.

Left: Docked sample dispenser without weighing paper. Right: Docked sample dispenser with weighing paper.

 

Stepper motor and shaft

The stepper motor was bolted onto a 3D printed holder, which was attached to an aluminum linear profile rail. A shaft was attached to the stepper motor, and the docking station was integrated into the shaft. The stepper motor is able to rotate the shaft, which would result in changes in the tilt of the sample dispenser.

 
Left: Stepper motor with shaft connected holding the sample dispenser. Right: Another alternative view of the stepper motor

 

Arduino and Algorithm

Arduino UNO board

The Arduino UNO board is the main processing unit of our product. To facilitate easy connection of our Arduino UNO to the various devices (e.g stepper motor, LCD screen etc), we designed a custom Arduino shield printed circuit board (PCB) which was printed and attached to the Arduino UNO. We soldered JST connectors onto the board, such that we could connect the Arduino UNO to the various devices via JST wires.

Left: Arduino shield PCB with JST connectors soldered on. Right: Arduino shield PCB attached to Arduino UNO. Arduino UNO is below the shield.

We then housed the Arduino UNO with its shield inside a 3D printed box with the connection ports exposed, allowing for ease of assembly and disassembly. As seen in the circuit diagram below, the Arduino UNO is connected to the RS232 port on the analytical balance and receives and sends serial data from this port. The data transfer includes receiving the current weight on the analytical balance and also sending commands to the weighing balance. The Arduino UNO also receives input from and controls the other devices. For example, the Arduino UNO can signal the vibration motor to vibrate, and at different intensities. It can also turn the stepper motor to different precise angles to adjust the tilt of the sample dispenser.

Circuit Diagram of the automated solid dispensing accessory

Algorithm

The dispensing accessory works by utilising the feedback obtained from the analytical balance and adjusting the dispensing rate accordingly. This is done by implementing an algorithm that takes into account the current weight of the compound, the change in weight since the previous dispensing action and the difference in the current weight and the target weight of the compound. These variables are taken and fed into the algorithm which will determine the response of the machine. To put it simply, there are three modes: fast, medium and slow, which is determined based on how far the current weight is from the dispensing weight, as seen in the picture below. Fast mode is the most aggressive, dispensing the substrate quickly, while slow mode is more careful and slower. Before starting, the algorithm determines which mode it should be in. The algorithm stops when the current weight more than the desired weight minus 1 mg. For example, if the desired weight is 50 mg, the algorithm stops if the current weight is more than 49 mg.

Details of fast, medium and slow mode

Subsequently, the algorithm pulses the vibration motor a set number of times (depending on the mode) which vibrates the sample dispenser a set number of times, after which it calculates the weight change. If after several pulse cycles, the weight change each time is insufficient, the algorithm will prompt the vibration motor to vibrate at a higher intensity, or increase the tilt of the sample dispenser. If the weight change each time is too high, the reverse takes place, as seen in the flow chart below. As the weight passes the various thresholds, it will transition to the corresponding modes.

Simplified overview of algorithm

The sequence of change in vibration strength and tilt is shown in the flowchart below.

Sequence of change in vibration strength and tilt when mass change is insufficient. If there the change in mass is too large, the reverse will take place

Using the weight change as a gauge, the algorithm is able to determine the most appropriate vibration strength and tilt to ensure that weighing is quick while not compromising accuracy. In addition, there is a “de-clumping” mode, which is activated when there is no weight change despite the sample dispenser tilting to the maximum allowed angle and increasing the vibration to the maximum. Once these conditions have been met, sample dispenser would be slightly tilted back and vibrated at maximum strength 20 times, unclogging the small hole on the sample dispenser.

 

*However, the software has to be adjusted slightly to be able to receive and send serial data to and from different weighing balances.