Machine Design

Group assignment:

Automation of our machine

As stated in week11, for the two machines week, we want to make a Syringe pump end-effector for the 4xiDraw.

The objective of this week is to automate the full process of spherification, controlling all degrees of freedom of our machine: * X and Y axis position, speed and acceleration control of the needle * Z position control of the needle * syringe movement control (injection)

The questions that arise are:

The different points we want to investigate are:

4xiDraw Automation

The configuration of the Arduino UNO and the ARD-CNC shield used to control the X and Y movement is basically the same as last year Fabacademy project.

Control of limit switches has been added.

Syringe pump control

The main adaptation is the addition of a syringe pump, and in order to have it functional in a short time deadline, we decided to control the injection pump through a separate microcontroller from the CNC shield that will move the injection pump when the needle is in the correct Z-position for plotting.

Therefore, Axel decided to connect the microcontroller to the CoolEn (coolant enable) output of the CNC shield. So it will enable/disable the extruder as it would do for a coolant control.

The original G-code of any drawing is then adapted in this way:

This has been done with some modifications of the Path to G-code module in mods

Control of limit switches has also been added.


This setup is illustrated below:



Here is our video demonstrating the functioning of our machine:

We used silicone oil and ethanol as documented during the mechanical design week. The tests were not totally satisfying on the physics side, but allowed to demonstrate the machine. Hopefully, we believe that with a little bit of fine-tuning and with adequate fluids, we could obtain good results for specification. More, as noted in the machine design week, it could also be used for eatable spherification, or to make robots as the octobot:

Future developments: Regulation of the injection

In a first instance, the injection control has been done manually. In a second instance, we would use the external Arduino/Micropython board to calculate the speed of the needle in real time and control the injection speed accordingly.

Choice of the microcontroller

We need a microcontroller fast enough to compute the real time movements of the needle, which implies measurements and mathematical operations, and to control the injection pump accordingly.

A first glance, we would need a microcontroller running faster than the Arduino UNO running the CNC shield and driving the 4xis end effector movements.

Alex has a MicroPython pyboard lite v1.0 on hands.... This board is based on a STM32F411RE microcontroller, with a Cortex M4F CPU running at a maximum frequency of 96MHz, which sounds nice for the job we want to do…