Перистальтический насос на шаговом двигателе и ардуино в качестве мозгов

Форум самогонщиков, пивоваров, виноделов Оборудование Приборы и электр(он)ика
1 2 3 4 ... 51 1
mak Модератор Екатеринбург 6099 1648
04 Сент. 14, 12:05
Итак, создал отдельную тему, т.к. прошел весь путь от задумки до реализации перистальтики на шаговом движке
буду размещать информацию постепенно

Что хотел получить
Перистальтический насос с широким диапазоном изменения скоростей, высокой мощностью, высокой стабильностью
Ну и конечно универсальный и удобный в применении

Почему на шаговом двигателе:

Использование обычного DC двигателя хоть и проще конструктивно, но имеет следующие явные минусы:
1. Мощность сильно падает при уменьшении оборотов
2. Весьма приблизительно можно регулировать скорость
Шаговый двигатель этих недостатков лишен, мощность  у него меньше на высоких оборотах

Еще одна причина как раз кроется в малых оборотах, т.к. очень хочется вместо клапана отбора использовать ту же перистальтику на низких скоростях

Вариант подключения к скетчу 0.98

peristaltic_98.png

В любом случае лучше проверить соответствие пинов в скетче, в разных версиях были отличия

Скетч обновил под IDE 1.6.5
Сделал единый скетч под обе клавиатуры, настраивается в самом скетче

Во вложении еще один тестовый скетч для простого тестирования вращения двигателя. Разгон до 100 RPM, вращение

upd
Выложил тестовый скетч с внешним управлением. Немного вроде протестирован. Версия IDE 1.6.7
Подтяжки резисторами 10КОм
пин 13 - тумблер включения внешнего управления, подключайте с подтяжкой к 0
пин А5 - на него 0..5В
добавил
пин А4 - вход дополнительного сигнала работа/стоп, необходима подтяжка к 0
upd
Выложил тестовый скетч с вариантом реализации переключения на внешнее управление обычной кнопкой
для этого нужно изменить параметр
#define KEY_C_MODE 1
upd
Выложил скетч с внешним ШИМ управлением, период 1 сек, IDE 1.8.3
Начало измерения - переход на низкий уровень, окончание - на высокий
Изменена распиновка, схема выше
upd
ШИМ управление оказалось никому не интересно, скетч удалил, схему поправлю на вариант с аналоговым управлением
Peristaltic_TEST.ino (1Кб - загружено 997 раз)
Peristaltic_v0.92.ino (7Кб - загружено 786 раз)
Peristaltic_v0.96t.ino (10Кб - загружено 679 раз)
Peristaltic_v0.97.ino (11Кб - загружено 613 раз)
mak Модератор Екатеринбург 6099 1648
Отв.1  04 Сент. 14, 12:06, через 1 мин
Перечень деталей:
Прикидка следующая
1. Двигатель шаговый Nema 23 с удерживающим моментом от 15кг/см
Можно такой
http://ru.aliexpress.com/...1210685365.html
2. Драйвер ШД на микросхеме TB6600HQ
http://ru.aliexpress.com/...2270284465.html
3. Блок питания 12В-36В (если более 12В то необходимо DC-DC понижающий для питания ардуины, либо отдельный БП для нее)
Либо компьютерный (на барахолках по знакомым и т.п.) можно брать от питания светодиодных ламп, они на 12В и 24В бывают
должно хватить и 100Вт
К нему нужен будет DC-DC понижающий преобразователь для питания ардуины
http://ru.aliexpress.com/...2222427113.html
4. Ардуино на Atmega328 (годятся все, прекрасно работает на самой мелкой даже)
http://ru.aliexpress.com/...2035011839.html
5. Алфавитно-цифровой дисплей 16x2 типа такого
http://ru.aliexpress.com/...1823419245.html
6. Кнопки 4 шт (тут на вкус и цвет, есть даже на шлейфе клеящиеся)
7. Головка насоса, я использую WM313B и WM304B, можно самодельную собрать или что-то китайское привезти
долларов за 100
8. Муфта для передачи крутящего момента на головку, либо переход на отвертку
5-10$
9. Болты, гайки, граверы, прочие шайбы, 4 куска трубки металлической (сталь либо алюминий)
10. Корпус - все что угодно подойдет, хоть из массива вырезать можно, лишь бы влезло и не сильно бренчало
mak Модератор Екатеринбург 6099 1648
Отв.2  04 Сент. 14, 12:06, через 1 мин
Фотографии отдельных узлов
вот 304я головка
foto_2.jpg
foto_3.jpg
foto_4.jpg
Пробная сборка
nasos_p1.jpg
psn-1.jpg
а это собираю в корпусе от бесперебойника
sborka2-1.jpg
sborka-2-2.jpg
После установки кнопок, окончательная сборка этой модели
sborka1.jpg
sborka2.jpg
sborka3.jpg
sborka4.jpg
sborka5.jpg
Ну вот собрал все в кучку наконец-то
ps-1.jpg
ps-2.jpg
ps-3.jpg
ps-4.jpg
ps-5.jpg
А вот немного в работе
image.1.jpg
image.6.jpg
Вторая версия насоса
img_0565.jpg
img_0574.jpg
mak Модератор Екатеринбург 6099 1648
Отв.3  04 Сент. 14, 12:06, через 1 мин
Особенности использования Arduino

Cвязка шагового двигателя и ардуины работает нормально.

Нам необходимо независимо ни от чего стабильно дрыгать ножкой с частотой до нескольких килогерц, читать кнопки, пересчитывать RPM в Л/Ч и в интервалы, писать в LCD

Опционально - счетчик оборотов шпинделя для того, чтобы отслеживать аварийную ситуацию (блокировку шпинделя) и автоматом корректировать рабочую скорость и перезапускать процедуру разгона (еще не делал, но было бы не плохо)

Еще одна опция важная это взаимодействие двух контроллеров, когда контроллер автоматики сообщает контроллеру насоса скорость вращения (отбора)
(Скорее всего не выйдет прикрутить работу по 1wire, из-за того что при реализации этого протокола есть места где запрещены прерывания, на данный момент rs485 и CAN)

Скорость регулируется с точностью до 0,1 об/м (на низких скоростях до 0,01 об/м)

На практике выяснилось что для управления вполне хватает 4-х кнопок

Итак что нужно по-минимуму:
√ 1. Опрос кнопок
√ 2. Разгон
√ 3. Вращение
√ 4. Торможение
√ 5. Отображение информации об оборотах на дисплее
√ 6. Смена направления вращения
√ 7. Простое внешнее управление
p.s. минимальный функционал реализован и выложен в скетче в шапке темы

В расширенной версии нужно чтобы работал этот функционал:
√ 1. Раздельные режимы отбора и подачи с разным шагом регулирования скорости
√ 1a.Режим периодического отбора, для голов и дожима хвостов.
√ 2. Сохранение данных в EEPROM
√ 3. Тарирование
√ 4. Углевание/Проточная мацерация
√ 5. Розлив по бутылками
√ 6. Меню c настройками
  7. Отслеживание аварийных состояний
->8. Прием/передача данных с основного контроллера
(расширенная версия на данный момент не реализована полностью на arduino, вернутся к допиливанию на ардуино пока не планирую)

mak Модератор Екатеринбург 6099 1648
Отв.4  04 Сент. 14, 12:14, через 8 мин
Видео в работе

Первая видяшка
Добавил видяшку с
тестовой прошивкой
Еще одно видео
меню тарирования
Функция розлива
по бутылкам
Функция
углевания
сообщения удалены (4)
VladPP Доктор наук Новосибирск 788 280
Отв.5  05 Сент. 14, 15:25
mak ежли уж для управления двигателем используешь арудину, можно ли предусмотреть (не сейчас конечно а постепенно) датчик давления, два термометра ( лучше три), группу безопасности, динамик - получилась бы классная автоматика на НБК, а то сидеть караулить ну совсем некамельфо.   
VladPP Доктор наук Новосибирск 788 280
Отв.6  05 Сент. 14, 15:27, через 2 мин
забыл, еще измеритель уровня жидкости, и клапан  Улыбающийся
mak Модератор Екатеринбург 6099 1648
Отв.7  05 Сент. 14, 15:36, через 10 мин
Я хотел разделить автоматику и насос, именно из-за того что эта ардуина подлянская в плане ШИМ коряво сделана
адруина насосная более половины времени будет сидеть в обработчиках прерываний и дрыгать ногой на шаги движка, выходы будут заняты LCD (8 ног), движок (3 ноги), кнопки (4-5 ног)
а автоматике хорошо бы по какому-то стандартному интерфейсу просто отдавать значение RPM насосу и все, ну может считывать состояние, и не заморачиваться
тем более мелкие ардуины копейки стоят


VladPP Доктор наук Новосибирск 788 280
Отв.8  05 Сент. 14, 15:43, через 8 мин
а автоматике хорошо бы по какому-то стандартному интерфейсу просто отдавать значение RPM насосу и все, ну может считывать состояние, и не заморачиватьсяmak, 05 Сент. 14, 15:36
например в автоматику от msg31 воткнуть кусок управления НБК, которая будет управлять насосом, так?
mak Модератор Екатеринбург 6099 1648
Отв.9  05 Сент. 14, 15:49, через 6 мин
Да, конечно, отправить пару байт и считать состояние не составит большого труда
тем более таким образом можно управлять штатно и другими насосами к примеру на DC двигателе
нужно то всего мелкую ардуину для них, а напряжением управлять шим
тут счетчик оборотов будет еще и стабилизировать
VladPP Доктор наук Новосибирск 788 280
Отв.10  05 Сент. 14, 16:00, через 12 мин
так ты возьмешься за написание этого куска программы (для управления НБК) в автоматику от msg31? - как будет время
mak Модератор Екатеринбург 6099 1648
Отв.11  05 Сент. 14, 16:06, через 6 мин
процедуру передачи данных между контроллерами я тут опишу как руки дойдут, есть несколько задумок уже
надо допилить то что есть в нормальный вид
скетчи оттестирую тоже выложу
сообщение удалено
mak Модератор Екатеринбург 6099 1648
Отв.12  08 Сент. 14, 07:59
Пока обмен данными предполагаю делать все же по 1wire, где насос будет прикидываться slave устройством
slony Магистр Сочи 243 56
Отв.13  08 Сент. 14, 09:40
Mak, добрый день, головки WM313B и WM304B никак не гуглятся, подскажи где их можно найти ?
mak Модератор Екатеринбург 6099 1648
Отв.14  08 Сент. 14, 10:00, через 21 мин
Watson Marlow 313 (B или D - это тип присоединения механического к валу)
Вот к примеру:
http://www.alibaba.com/...247998.html?s=p
Либо на ebay искать
mak Модератор Екатеринбург 6099 1648
Отв.15  14 Сент. 14, 14:51
Обкатываю конструкцию, все хорошо работает
заметил момент, связанный с уменьшением количества жидкости в емкости с брагой
С понижением уровня высота подъема увеличивается а итоговый объем подачи немного уменьшается, в пределах наверное 10%
Автоматика это легко компенсирует по температуре барды, а если автономно использовать насос то можно и опционально добавить прирост оборотов в час к примеру
mak Модератор Екатеринбург 6099 1648
Отв.16  15 Сент. 14, 13:38
Так окончательно и не решил какие кнопки использовать в окончательном варианте
И портов не так много свободных, и врезать в корпус какой-то колхоз не очень хочется
Пока рабочих вариантов два
вариант 1
irpult.jpg
Занимает всего 1 порт на ардуинке, стоит в пределах 100р плюс минус, смотря где брать
вариант 2
Поставить пленочную клавиатуру
us_ov Магистр Ярославль 229 47
Отв.17  15 Сент. 14, 14:02, через 25 мин
А где приобрести комплект ИК пультика не подскажешь?
mak Модератор Екатеринбург 6099 1648
Отв.18  15 Сент. 14, 14:27, через 25 мин
я в другом месте покупал, но если не сильно копаться вот тут к примеру есть:
ССЫЛКА
VladPP Доктор наук Новосибирск 788 280
Отв.19  15 Сент. 14, 14:32, через 6 мин
а если автономно использовать насос то можно и опционально добавить прирост оборотов в час к примеруmak, 14 Сент. 14, 14:51
я не знаю как у тебя организован контроль за количеством прокаченной жидкости, может попробовать проточный датчик в этой конструкции, стоит не дорого а  все вопросы со стабильностью снимутся