ericmgf
Published © CC BY-NC-SA

Syringe drive

Syringe Drive for Infusion/Withdraw

IntermediateWork in progress1,296
Syringe drive

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
5V Stepper Motor and Uln2003 Driver Board 28Byj 48 5VDC
×1

Software apps and online services

Arduino IDE
Arduino IDE

Hand tools and fabrication machines

3D Printer (generic)
3D Printer (generic)
Syringe 1ml without needle

Story

Read more

Code

Stepper Motor Code

Arduino
This code enables to set the number of steps and speed
// Controle de Motor de Passo com Potenciometro 
// Blog Eletrogate - https://blog.eletrogate.com/guia-completo-do-motor-de-passo-28byj-48-driver-uln2003
// Baseado em http://www.airspayce.com/mikem/arduino/AccelStepper/ProportionalControl_8pde-example.html
// Motor 28BYJ48/5V com Modulo ULN20023 - Arduino UNO / IDE 1.8.5
// Uma volta no eixo = 4075 pulsos 
// Gustavo Murta 02/jago/2018

#include <AccelStepper.h>                                          // biblioteca AccelStepper
#include <Chrono.h>

#define ANALOG_PIN A0                                              // pino A0 para leitura da tenso do Potenciometro

AccelStepper motorPasso (AccelStepper::FULL4WIRE, 8, 10, 9, 11);   // Passo completo 4 fios 

void setup()
{ 
  Serial.begin(9600);
  motorPasso.setMaxSpeed(500);                                    // maxima velocidade = 500 pulsos por segundo 
}

void loop()
{
//  int analog_in = analogRead(ANALOG_PIN);                       // lendo a tenso do pino A0 do Arduino
//  Positive: Withdraw 
//  Negative: Infuse
//  Approx. 5172 steps to fill the 1mL of syringe then same to infuse all
  Serial.print("Time: ");
  motorPasso.moveTo(-5172);                                      // gira o eixo do motor X pulsos (0 a 1023 pulsos) 
  motorPasso.setSpeed(10);                                      // velocidade = 100 pulsos por segundo
  motorPasso.runSpeedToPosition();                              // gira o eixo para a posio definida
//  motorPasso.moveTo(-2038);                                    // gira o eixo do motor X pulsos (0 a 1023 pulsos) 
//  motorPasso.setSpeed(100);
//  motorPasso.runSpeedToPosition();                            
}

Credits

ericmgf
0 projects • 0 followers

Comments