Итак, создал отдельную тему, т.к. прошел весь путь от задумки до реализации перистальтики на шаговом движке
буду размещать информацию постепенно
Что хотел получить
Перистальтический насос с широким диапазоном изменения скоростей, высокой мощностью, высокой стабильностью
Ну и конечно универсальный и удобный в применении
Почему на шаговом двигателе:
Использование обычного DC двигателя хоть и проще конструктивно, но имеет следующие явные минусы:
1. Мощность сильно падает при уменьшении оборотов
2. Весьма приблизительно можно регулировать скорость
Шаговый двигатель этих недостатков лишен, мощность у него меньше на высоких оборотах
Еще одна причина как раз кроется в малых оборотах, т.к. очень хочется вместо клапана отбора использовать ту же перистальтику на низких скоростях
Вариант подключения к скетчу 0.98
В любом случае лучше проверить соответствие пинов в скетче, в разных версиях были отличия
Скетч обновил под 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
ШИМ управление оказалось никому не интересно, скетч удалил, схему поправлю на вариант с аналоговым управлением
Перистальтический насос на шаговом двигателе и ардуино в качестве мозгов
mak
Модератор
Екатеринбург
6.3K 1.8K
04 Сент. 14, 12:05
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.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. Корпус - все что угодно подойдет, хоть из массива вырезать можно, лишь бы влезло и не сильно бренчало
Прикидка следующая
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
Модератор
Екатеринбург
6.3K 1.8K
Отв.2 04 Сент. 14, 12:06, через 1 мин
Фотографии отдельных узлов
вот 304я головка
Пробная сборка
а это собираю в корпусе от бесперебойника
После установки кнопок, окончательная сборка этой модели
Ну вот собрал все в кучку наконец-то
А вот немного в работе
Вторая версия насоса
вот 304я головка
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.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, вернутся к допиливанию на ардуино пока не планирую)
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
Модератор
Екатеринбург
6.3K 1.8K
Отв.4 04 Сент. 14, 12:14, через 8 мин
сообщения удалены (4)
VladPP
Доцент
Новосибирск
1K 385
Отв.5 05 Сент. 14, 15:25
mak ежли уж для управления двигателем используешь арудину, можно ли предусмотреть (не сейчас конечно а постепенно) датчик давления, два термометра ( лучше три), группу безопасности, динамик - получилась бы классная автоматика на НБК, а то сидеть караулить ну совсем некамельфо.
VladPP
Доцент
Новосибирск
1K 385
Отв.6 05 Сент. 14, 15:27, через 2 мин
забыл, еще измеритель уровня жидкости, и клапан
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.7 05 Сент. 14, 15:36, через 10 мин
Я хотел разделить автоматику и насос, именно из-за того что эта ардуина подлянская в плане ШИМ коряво сделана
адруина насосная более половины времени будет сидеть в обработчиках прерываний и дрыгать ногой на шаги движка, выходы будут заняты LCD (8 ног), движок (3 ноги), кнопки (4-5 ног)
а автоматике хорошо бы по какому-то стандартному интерфейсу просто отдавать значение RPM насосу и все, ну может считывать состояние, и не заморачиваться
тем более мелкие ардуины копейки стоят
адруина насосная более половины времени будет сидеть в обработчиках прерываний и дрыгать ногой на шаги движка, выходы будут заняты LCD (8 ног), движок (3 ноги), кнопки (4-5 ног)
а автоматике хорошо бы по какому-то стандартному интерфейсу просто отдавать значение RPM насосу и все, ну может считывать состояние, и не заморачиваться
тем более мелкие ардуины копейки стоят
VladPP
Доцент
Новосибирск
1K 385
Отв.8 05 Сент. 14, 15:43, через 8 мин
а автоматике хорошо бы по какому-то стандартному интерфейсу просто отдавать значение RPM насосу и все, ну может считывать состояние, и не заморачиватьсяmak, 05 Сент. 14, 15:36например в автоматику от msg31 воткнуть кусок управления НБК, которая будет управлять насосом, так?
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.9 05 Сент. 14, 15:49, через 6 мин
Да, конечно, отправить пару байт и считать состояние не составит большого труда
тем более таким образом можно управлять штатно и другими насосами к примеру на DC двигателе
нужно то всего мелкую ардуину для них, а напряжением управлять шим
тут счетчик оборотов будет еще и стабилизировать
тем более таким образом можно управлять штатно и другими насосами к примеру на DC двигателе
нужно то всего мелкую ардуину для них, а напряжением управлять шим
тут счетчик оборотов будет еще и стабилизировать
VladPP
Доцент
Новосибирск
1K 385
Отв.10 05 Сент. 14, 16:00, через 12 мин
так ты возьмешься за написание этого куска программы (для управления НБК) в автоматику от msg31? - как будет время
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.11 05 Сент. 14, 16:06, через 6 мин
процедуру передачи данных между контроллерами я тут опишу как руки дойдут, есть несколько задумок уже
надо допилить то что есть в нормальный вид
скетчи оттестирую тоже выложу
надо допилить то что есть в нормальный вид
скетчи оттестирую тоже выложу
сообщение удалено
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.12 08 Сент. 14, 07:59
Пока обмен данными предполагаю делать все же по 1wire, где насос будет прикидываться slave устройством
slony
Магистр
Сочи
246 63
Отв.13 08 Сент. 14, 09:40
Mak, добрый день, головки WM313B и WM304B никак не гуглятся, подскажи где их можно найти ?
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.14 08 Сент. 14, 10:00, через 21 мин
Watson Marlow 313 (B или D - это тип присоединения механического к валу)
Вот к примеру:
http://www.alibaba.com/...247998.html?s=p
Либо на ebay искать
Вот к примеру:
http://www.alibaba.com/...247998.html?s=p
Либо на ebay искать
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.15 14 Сент. 14, 14:51
Обкатываю конструкцию, все хорошо работает
заметил момент, связанный с уменьшением количества жидкости в емкости с брагой
С понижением уровня высота подъема увеличивается а итоговый объем подачи немного уменьшается, в пределах наверное 10%
Автоматика это легко компенсирует по температуре барды, а если автономно использовать насос то можно и опционально добавить прирост оборотов в час к примеру
заметил момент, связанный с уменьшением количества жидкости в емкости с брагой
С понижением уровня высота подъема увеличивается а итоговый объем подачи немного уменьшается, в пределах наверное 10%
Автоматика это легко компенсирует по температуре барды, а если автономно использовать насос то можно и опционально добавить прирост оборотов в час к примеру
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.16 15 Сент. 14, 13:38
Так окончательно и не решил какие кнопки использовать в окончательном варианте
И портов не так много свободных, и врезать в корпус какой-то колхоз не очень хочется
Пока рабочих вариантов два
вариант 1
Занимает всего 1 порт на ардуинке, стоит в пределах 100р плюс минус, смотря где брать
вариант 2
Поставить пленочную клавиатуру
И портов не так много свободных, и врезать в корпус какой-то колхоз не очень хочется
Пока рабочих вариантов два
вариант 1
Занимает всего 1 порт на ардуинке, стоит в пределах 100р плюс минус, смотря где брать
вариант 2
Поставить пленочную клавиатуру
us_ov
Магистр
Ярославль
260 54
Отв.17 15 Сент. 14, 14:02, через 25 мин
А где приобрести комплект ИК пультика не подскажешь?
mak
Модератор
Екатеринбург
6.3K 1.8K
Отв.18 15 Сент. 14, 14:27, через 25 мин
я в другом месте покупал, но если не сильно копаться вот тут к примеру есть:
ССЫЛКА
ССЫЛКА
VladPP
Доцент
Новосибирск
1K 385
Отв.19 15 Сент. 14, 14:32, через 6 мин
а если автономно использовать насос то можно и опционально добавить прирост оборотов в час к примеруmak, 14 Сент. 14, 14:51я не знаю как у тебя организован контроль за количеством прокаченной жидкости, может попробовать проточный датчик в этой конструкции, стоит не дорого а все вопросы со стабильностью снимутся