Week 3

Week 3

This week was our first week in the lab. With our idea finally in mind, we went to the lab to speak to Jeremy and order most of our components. Jeremy told us to research Marlin firmware, which is what we did first. 

Marlin refers to an open-source firmware widely used in 3D printing and Computer Numerical Control (CNC) systems for precise movement control. It is able to interpret G-code commands, which specify the movement paths, speeds, and steps needed to complete a task. Thus, we would be able to use Marlin to control the pipetting system’s motors, guiding the arm along the X, Y, and Z axes and performing the additional motions for ejecting the pipette tip and pushing the plunger. Marlin’s versatility would then allow it to be configured with our specific pressing and moving dimensions to handle the pattern of motion of our pipetting system. This gave us the head start we needed to start researching other components we would need.  After discussion, we purchased 1 Arduino Mega 2560, 3 Ramps 1.6 shields, a box of 10 stepper motors, 3 stepper motor drivers, and a pack of jumpers.  

As per our understanding, the firmware of our pipetting system will comprise an Arduino Mega 2560 with an attached RAMPS 1.6 shield and Marlin firmware. The Arduino Mega 2560 is a microcontroller board with input/output pins. It would serve as the main controller of the system to run the Marlin firmware and manage the various signals to the stepper motors. The Mega 2560 in specific comprises a high number of input/output pins, enough memory, and a high amount of processing power to control our motors and interpret complex instructions for coordinated movement in the x, y, and z axes. The stepper motors themselves are motors that move in discrete steps, allowing for precise positioning, and are controlled by motor drivers. Our motor drivers are small modules that control the direction and speed of stepper motors by translating signals from the Arduino into electrical pulses that the motors can interpret. Thus, these drivers act as intermediaries, receiving commands from the RAMPS shield and powering the motors with the correct voltage and current. By controlling the direction and step size, the motor drivers ensure that each stepper motor moves with the precision required for pipetting. The RAMPS 1.6 shield is a shield designed to expand the Arduino Mega, and seamlessly integrate it with our stepper motors and motor drivers. This would allow the Arduino to control multiple stepper motors through dedicated connections for motor drivers. It would also support higher voltages than the Arduino alone, as the motors often require more power than the microcontroller can directly supply. Additionally, the shield makes wiring simpler and more organized, making connecting and managing each motor driver and stepper motor easier.

Thus, for our final set-up, we plan to attach 5 motor drivers to our RAMPS 1.6 shield, with 3 jumpers attached per motor. Each motor driver will be attached to a stepper motor. These 5 stepper motors will correspond to the X, Y, and Z axes of movement, as well as the two additional axes of movement required for the pushing mechanism for the ejector button and plunger of our micropipette. Our stepper motor and jumpers will allow for 1/16 jumping and hence 1/80 mm steps, which will be necessary for the precise movements needed to pick up the narrow tips and eject liquid into small 50 ml beakers. Additionally, we ordered a 10 ml pipette with pipette tips, and 50 ml beakers. Lastly, we ordered 6 PWM speed controllers, 6 cooling fans, 6 neodymium magnets, and 6 stirbars. PWM speed controllers are devices that regulate the speed of DC motors , or, in this case fans, by rapidly switching the motor on and off at different intervals. This effectively controls the fan speed without reducing torque. Then our cooling fans will act as the base of a magnetic stirrer, where the magnet will be attached to the top of the fan. When the fan rotates, it will spin the attached magnet at its center, and interact with our stirbars. Our stirbars are magnetized bars, coated in chemically inert Teflon. Thus, the rotation of the magnet will generate a magnetic field that causes our stir bars (placed in each beaker) to spin by pulling the stir bar in the corresponding beaker to stir the solution, thus mixing the contents thoroughly. The fans will be set up beneath each beaker, each connected to its PWM speed controller to regulate stirring speed independently. The 6 PWM speed controllers will be connected in parallel- one for each beaker-stir bar set. The Arduino mega will be connected to the cooling fans, with neodymium magnets in the center. Additionally, we managed to go into the lab and set up our Ender-3 frame with Jeremy’s help.

Skip to toolbar