Печатаем насос — часть вторая

Очень долго пришлось повозиться собратом первого, маленького насоса. То шаговик не тянет, то хочется больше и быстрее. Но все в природе взаимосвязано. Хочешь быстрее, бери более шустрый и более «сильный» двигатель, и нечего пытаться обмануть законы физики. Но все это лирика, и так — вашему внимаю следующий шаг в «насосном» направлении.

VXTgfYh

Или «в живую»:

dqnF4zs

Почему шаговый двигатель? Ну, во-первых, он у меня был, а во-вторых теперь можно задавать необходимый объем прокачиваемой жидкости. Правда надо предварительно его откалибровать.

Помимо пластика и шаговика, пригодился экранчик, ранее описанный тут, контроллер ШД (например вот такой, у меня другой, но это не важно, какой был такой использовал), кнопка и переменный резистор. Вначале подумал прикрутить цифровую клавиатуру, но резистор и проще и меньше пинов требует.

В качестве шлангов — капельница. Для нее специально и ниппель тонким делал (а это еще и чуть снизило скорость прокачки). В результате в сборке это выглядит так:

 

r2dBDA8

Далее все просто: задаем объем в мл. и жмем большую желтую кнопку.

Есть несколько недоработок: 1. Подтравливает воздух (поправимо более плотным обжимом трубки самого насоса, ну или в последствии полностью переделаю сами ниппель); 2. Известная «болезнь» ШД греется при простое, а нам его удерживать не надо, можно смело добавить реле на размыкание цепи питания ШД; 3. Нет крепления для всей конструкции (а оно в этой тестовой модели и не нужно).

Так что — можно брать и использовать таков как есть. Файлы для печати в архиве тут.

Скетч ниже (вот только не надо критики — кому что не нравится — переделывайте на свой цвет и вкус):

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define OLED_MOSI   9
#define OLED_CLK   10
#define OLED_DC   11
#define OLED_CS   12
#define OLED_RESET 13
#define START 8
#define pot A0
Adafruit_SSD1306 display(OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);
int ob = 0;
int del_start = 5;
int stp = 2;
int dir = 4;
int a = 0, x = 0;
int Z = 0, OS=0;
void setup()
{
pinMode(pot, INPUT);
pinMode(START, INPUT);
pinMode(stp, OUTPUT);
pinMode(dir, OUTPUT);
//---------------------------------
digitalWrite(dir,LOW);
//---------------------------------
display.begin(SSD1306_SWITCHCAPVCC);
// text display
//display.clearDisplay();
//display.setTextSize(2);
display.setTextColor(WHITE);
}
void loop()
{
x = analogRead(pot) / 4;
//--- введем градации объема
if (x<=50) x=20;
if (x>50&&x<=85) x=40;
if (x>85&&x<=100) x=80;
if (x>100&&x<=125) x=120;
if (x>125&&x<=165) x=160;
if (x>165&&x<=188) x=180;
if (x>185&&x<=225) x=220;
if (x>220) x=250;
//--- введем градации объема
display.setTextSize(2);
display.setCursor(50,20);
display.print(x);
display.display();
display.clearDisplay();
if (digitalRead(START))
{
display.setTextSize(2);
display.setCursor(50,20);
display.print("START");
display.display();
display.clearDisplay();
delay (600);
display.setCursor(50,20);
display.print(x);
display.display();
display.clearDisplay();
do
{
Z=x;
//---- не большая калибровка
if (Z<=40) OS = 240;
if (Z>40 && Z<=70) OS = 260;
if (Z>70) OS = 280;
//---- не большая калибровка
for (int i=0; i <= OS; i++)
{
digitalWrite(stp, HIGH);
delayMicroseconds(1000);
digitalWrite(stp, LOW);
delayMicroseconds(1000);
}
ob++;
}
while (ob<=Z);
display.setTextSize(2);
display.setCursor(50,20);
display.print("STOP");
display.display();
display.clearDisplay();
delay (6000);
ob=0;
}
}

У китайских друзей, это вот вам обойдется в 5 т.р. без пересылки.;) Мой вариант пусть и без корпуса и слегка неказист (но это прототип) с учетом стоимости всех комплектующих и стоимости пластика для печати как минимум в двое дешевле:)

 

Железо для проекта приобретено на Али:

  1. Arduino UNO   вполне можно заменить на Arduino Nano  
  2. Драйвер для шагового двигателя  A4988
  3. Сам шаговый двигатель — Nema17
  4. Экранчик — можно такой

 

И последнее — это был ЧАЙ и ничего более:)

Посмотрите так же...
2 комментария
  1. MyHabar:

    Хотелось бы взглянуть на схемку. А то как то сложно все воспринимается.

    • Vlad:

      Не поверишь! Очень лень рисовать! Пинов-то всего 7 штук. Не уж-то так сложно?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *