Перистальтический насос на 3D принтере
him2020
Студент
HH
35 3
Отв.280 22 Мая 20, 17:00
Подскажите пожалуйста. внешнее управление шим - это как? Какой сигнал подавать и что он будет обозначать? Ткните куда посмотреть. Очень нужно внешее управление насосом.
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 497
Отв.281 22 Мая 20, 20:32
ШИМ: период 1 сек, скважность 0-99%
him2020
Студент
HH
35 3
Отв.282 23 Мая 20, 06:27
ШИМ: период 1 сек, скважность 0-99%gol_avto, 22 Мая 20, 20:32Если я задаю эту скважность 50%. от чего считается 50%- от максимальных оборотов? Этот шим сигнал нужно постоянно передавать или только при изменении оборотов?
gol_avto
Доцент
Москва-Серпухов-Анапа
1.4K 497
Отв.283 23 Мая 20, 08:52
Фактическая скважность 50% не соответствует 50% максимальных оборотов, по крайней мере у меня так, на автоматике HelloDistiller. ШИМ надо подавать всегда, при отсутствии сигнала мотор останавлмвается (только что проверил). Phizik еще говорил, что управлять оборотами можно не только скважностью, но и частотой ШИМа (периодом сигнала). Я не проверял.
bumbon4ik
Новичок
Великий Новгород
3 1
Отв.284 02 Июня 20, 12:29
На гитхабе код не соответствует схеме.
Энкодер на схеме 5-clk, 6-dt, 7-sw. а по коду (строка 93)
const uint8_t pinEncoderButton = 5; это SW
const uint8_t pinEncoderA = 6; это CLK
const uint8_t pinEncoderB = 7; это DT
и при инициализации дисплея (строка 274) не хватает lcd.init
и прописать количество строк и столбцов в lcd.begin
lcd.init();
lcd.begin(LCD_WIDTH, LCD_HEIGHT);
ссорян если было, не вчитывался в форум. но на гитхабе лучше поправить для работоспособности и соответствия схеме
PS для lcd это может из-за версии библиотеки
Добавлено через 43мин.:
вся конструкция потребляет порядка 40 миллиампер и при питании 13 вольт простая 5 вольтовая кренка не греется вообще) собрано аналогично вашей схеме
Энкодер на схеме 5-clk, 6-dt, 7-sw. а по коду (строка 93)
const uint8_t pinEncoderButton = 5; это SW
const uint8_t pinEncoderA = 6; это CLK
const uint8_t pinEncoderB = 7; это DT
и при инициализации дисплея (строка 274) не хватает lcd.init
и прописать количество строк и столбцов в lcd.begin
lcd.init();
lcd.begin(LCD_WIDTH, LCD_HEIGHT);
ссорян если было, не вчитывался в форум. но на гитхабе лучше поправить для работоспособности и соответствия схеме
PS для lcd это может из-за версии библиотеки
Добавлено через 43мин.:
DC-DC стоит, чтобы грелось меньше и большую свободу по входному напряжению иметь. Реально ардуинка и драйвер потребляют мало пусть (10мА на 2 светодиода), а вот экран судя по datasheet - до 160мА. Ну, вот и считаем например для 24В: P = (24-5)*0.17 = 3.2Вт, т.е. потянет только в корпусе TO220 и только с радиатором.Phisik, 12 Мая 20, 21:12
вся конструкция потребляет порядка 40 миллиампер и при питании 13 вольт простая 5 вольтовая кренка не греется вообще) собрано аналогично вашей схеме
Phisik
Куратор
Екатеринбург
694 1.5K
Отв.285 02 Июня 20, 13:35
Если есть возможность, лучше от 24В запитывать. Момент будет медленнее падать.
bumbon4ik
Новичок
Великий Новгород
3 1
Отв.286 02 Июня 20, 23:05
Если есть возможность, лучше от 24В запитывать.Phisik, 02 Июня 20, 13:35Вот это наглядный график) вот спасибо)) а я то думал наоборот много нельзя подавать) вот почему у меня и часто затыкается мотор на 450 оборотах
Не работал ещё с шаговыми моторами, и не хватает времени изучить всю мат.часть
Phisik
Куратор
Екатеринбург
694 1.5K
Отв.287 03 Июня 20, 07:20
часто затыкается моторbumbon4ik, 02 Июня 20, 23:05Нужно как минимум ток драйвера отрегулировать
limon
Доцент
Липецк
1K 944
Отв.288 04 Июня 20, 13:55
Phisik просвети по насосу. Если его использовать с автоматикой HD вместо клапана 12V DC. Ориентировочно какие CHIM Otbor SR Rectif и Beg % CHIM Otbor SR ставить?
сообщение удалено
Phisik
Куратор
Екатеринбург
694 1.5K
Отв.289 08 Июня 20, 09:34
Ориентировочно какие CHIM Otbor SR Rectif и Beg % CHIM Otbor SR ставитьlimon, 04 Июня 20, 13:55Это от скорости отбора зависит. Там вычисляется так:
targetRpm = extCtrlDirection*extCtrlPwmFactor * maxRpm * extPwmDutyCycle;Т.е. надо 5 литров в час отбирать - ставишь трубку 3*5мм, максимальная подача становится 70*(3/6)^2 ~ 17.5л час. Задаешь тогда extCtrlPwmFactor = 0.3. И будет при 100% ШИМе ~ 5.25 л/час и шагом регулировки 5.25/125 = 42 мл/ч
Aligator
Студент
Челябинск
41 16
Отв.290 19 Июня 20, 19:24
promcoat
Студент
Нижний Новгород
38 7
Отв.291 19 Июня 20, 19:40, через 17 мин
Добрый день!Вот и я присоединился к этому топику.Распечатал голову,собрал плату по простому варианту без внешнего управления,все работает!Корпус не делал еще,т.к. пошел искать подшипники и нашел по цене 250 рублей за штуку(конечно же не купил).На али заказывать было в лом (долго ждать),теперь понял,только али...
Спасибо Phisik за конструкцию!
А как качать заданное колличество жидкости?
Спасибо Phisik за конструкцию!
А как качать заданное колличество жидкости?
Phisik
Куратор
Екатеринбург
694 1.5K
Отв.292 19 Июня 20, 20:02, через 22 мин
на гитхабе есть инструкция, в режиме бутилирования двойным кликом
U-M
Магистр
MSK
210 39
Отв.293 05 Авг. 20, 21:17
Здравствуйте.
Потихоньку ковыряюсь в железе и софте. Есть пара вопросов:
1. В скетче, при отказе от использования меню наполнения бутылок (#define ENABLE_MODE_BOTTLING 0), вываливаются в секции bottlingMenu () ошибки о том, что не объявлены переменные bottlingRpm и bottlingIncrementFactor. Грубым методом поправил скетч, так чтобы эти две переменные были объявлены всегда. Такой вариант применим или где-то вылезет неявный косяк?
2. При желании выводить мл/мин (#define DISPLAY_LITRES_PER_HOUR 0), вываливается ошибка о том, что переменная factor не объявлена. Я пробовал "глобально" ее объявить, ошибка пропадает, но при вращении энкодера, в меню, где отображаются мл/мин значения не меняются (хотя по оборотам, двигатель свою скорость меняет). Можно-ли как-то поправить скетч, чтобы верно работало отображение в мл/мин и скетч компилировался без ошибки?
По второму вопросу - в скетче версии 2.4, после строки 577 (#else) добавил строку
float factor = (currentRpm > 0) ? revolution2millilitreCw : revolution2millilitreCcw;
ошибка компиляции пропала. Насколько смог понять, отображение в мл/мин теперь корректное и вроде совпадает с отображением л/час. Калибровку пока еще не делал.
Если не трудно - подскажите, верное решение ошибок?
-----------------
В качестве рацпредложения - в режиме External control по долгому нажатию на энкодер, предусмотреть переход в меню настроек только для режима управления дискретными входами (EXT_CTRL_VIA_PIN_PRESET), чтобы была возможность настроить скорость потока (ну пускай в литрах в час) для каждого отдельного входа. То есть, настраивать пресеты rpmPresetValue не в скетче, а с энкодера, естественно с сохранением изменений в EEPROM.
-----------------
Cо скетчем относительно разобрался. Немного поправил отображение (..%) в режиме внешнего управления для режима EXT_CTRL_VIA_ANALOG и EXT_CTRL_VIA_PIN_PRESET, а то всегда показывало величину (0%).
Отвечая на свои вопросы 1 и 2 - проблемы поборол. То есть на коленке все работает адекватно, сбоев, зависаний, неадекватного поведения нет. Осталось откалиброваться в баночку и провести натурные испытания.
Потихоньку ковыряюсь в железе и софте. Есть пара вопросов:
1. В скетче, при отказе от использования меню наполнения бутылок (#define ENABLE_MODE_BOTTLING 0), вываливаются в секции bottlingMenu () ошибки о том, что не объявлены переменные bottlingRpm и bottlingIncrementFactor. Грубым методом поправил скетч, так чтобы эти две переменные были объявлены всегда. Такой вариант применим или где-то вылезет неявный косяк?
2. При желании выводить мл/мин (#define DISPLAY_LITRES_PER_HOUR 0), вываливается ошибка о том, что переменная factor не объявлена. Я пробовал "глобально" ее объявить, ошибка пропадает, но при вращении энкодера, в меню, где отображаются мл/мин значения не меняются (хотя по оборотам, двигатель свою скорость меняет). Можно-ли как-то поправить скетч, чтобы верно работало отображение в мл/мин и скетч компилировался без ошибки?
По второму вопросу - в скетче версии 2.4, после строки 577 (#else) добавил строку
float factor = (currentRpm > 0) ? revolution2millilitreCw : revolution2millilitreCcw;
ошибка компиляции пропала. Насколько смог понять, отображение в мл/мин теперь корректное и вроде совпадает с отображением л/час. Калибровку пока еще не делал.
Если не трудно - подскажите, верное решение ошибок?
-----------------
В качестве рацпредложения - в режиме External control по долгому нажатию на энкодер, предусмотреть переход в меню настроек только для режима управления дискретными входами (EXT_CTRL_VIA_PIN_PRESET), чтобы была возможность настроить скорость потока (ну пускай в литрах в час) для каждого отдельного входа. То есть, настраивать пресеты rpmPresetValue не в скетче, а с энкодера, естественно с сохранением изменений в EEPROM.
-----------------
Cо скетчем относительно разобрался. Немного поправил отображение (..%) в режиме внешнего управления для режима EXT_CTRL_VIA_ANALOG и EXT_CTRL_VIA_PIN_PRESET, а то всегда показывало величину (0%).
Отвечая на свои вопросы 1 и 2 - проблемы поборол. То есть на коленке все работает адекватно, сбоев, зависаний, неадекватного поведения нет. Осталось откалиброваться в баночку и провести натурные испытания.
efim
Студент
Иркутск
42 11
Отв.294 28 Авг. 20, 09:28
Добрый день!
У меня что то пошло не так. Собрал насос, все работает кроме внешнего управления.
В режиме External control по долгому нажатию на энкодер не появляется меню настроек.
При внешнем управлении насосом с автоматики HD в режиме НБК скорость регулируется задом на перед. То есть при значении SP 125 скорость на насосе 0, при значении SP 0 скорость на насосе 25%.
Кто нибудь подскажет в чем дело?
Автоматика собрана на платах roslav, прошивка последняя от Phisik.
У меня что то пошло не так. Собрал насос, все работает кроме внешнего управления.
В режиме External control по долгому нажатию на энкодер не появляется меню настроек.
При внешнем управлении насосом с автоматики HD в режиме НБК скорость регулируется задом на перед. То есть при значении SP 125 скорость на насосе 0, при значении SP 0 скорость на насосе 25%.
Кто нибудь подскажет в чем дело?
Автоматика собрана на платах roslav, прошивка последняя от Phisik.
U-M
Магистр
MSK
210 39
Отв.295 28 Авг. 20, 11:07
Долгое нажатие на энкодер пока что не реализовано, насколько я понял.
А скороксть не имеет тенденции самопроизвольно скакать в каких-то пределах?
А скороксть не имеет тенденции самопроизвольно скакать в каких-то пределах?
efim
Студент
Иркутск
42 11
Отв.296 28 Авг. 20, 11:29, через 23 мин
Без подключения к автоматике в режиме External control есть такое дело, живет своей жизнью. При подключении к автоматике сразу останавливается. И скорость да, плавает немного.
Phisik
Куратор
Екатеринбург
694 1.5K
Отв.297 29 Авг. 20, 12:48
При внешнем управлении насосом с автоматики HD в режиме НБК скорость регулируется задом на перед.efim, 28 Авг. 20, 09:28Значит на вход идет инверсный сигнал с автоматики или подтяжка у оптопары не туда. По схеме надо эмиттер к земле подтянуть, чтобы сигнал не инвертировался.
Можно программно инвертировать
targetRpm = maxRpm * extPwmDutyCycle; ---> targetRpm = maxRpm * (1-extPwmDutyCycle);
Без подключения к автоматике в режиме External control есть такое дело, живет своей жизнью.efim, 28 Авг. 20, 11:29этого быть не должно, пин должен быть подтянут к земле и на нем всегда 0.
И скорость да, плавает немного.efim, 28 Авг. 20, 11:29можно увеличить extCtrlCheckPeriod , там импульсы идут с автоматики раз в секунду, иногда не попадает в такт.
PS Если есть желание и интерес, могу выложить демо версию коммерческой прошивки. Но прошивать ардуинку придется программатором. Зато на выходе русский язык, менюшки и все настраивается с крутилки.
efim
Студент
Иркутск
42 11
Отв.298 03 Сент. 20, 06:32
Паял на монтажке и случайно зацепил ногу оптопары на землю вместо 5 вольт. Переделал, не помогло ( оптопара еще и сгорела оказывается после предыдущих испытаний). Подключил управляющий сигнал в обход оптопары к pin 2 с подтяжкой к земле, заработало но криво, просто стояла скорость 40% без всяких реакций на регулировку. Вспомнил про землю, объединил автоматику и насос, и вот тут заработало как надо. У меня насос на 24 вольта, автоматика 12v, то есть насос работает всегда от внутреннего ИП. Сейчас у меня три провода от внешнего управления- сигнал, +5 v, и земля. Не знаю на сколько это правильно, самое главное работает. Оптопару заменил, все отлично работает. Спасибо!
Добавлено через 4мин.:
Добавлено через 4мин.:
PS Если есть желание и интерес, могу выложить демо версию коммерческой прошивки. Но прошивать ардуинку придется программатором. Зато на выходе русский язык, менюшки и все настраивается с крутилки.Phisik, 29 Авг. 20, 12:48Интерес и желание есть. Pro mini шью через программатор.
Индиго
Новичок
Нижнекаск
7 2
Отв.299 10 Сент. 20, 23:24
Доброй ночи. Подскажите что печатать на фото ? Так как сам не печатаю .
Добавлено через 5мин.:
Пытался сам открыть проект на компьютере и разобраться что печатать . Так он взбесился, какой то dil ему не хватает . Пытался установить и не удача . Надо винду сносить .
Добавлено через 4мин.:
И к стати есть ли у кого макет на nemo 23
Добавлено через 5мин.:
Пытался сам открыть проект на компьютере и разобраться что печатать . Так он взбесился, какой то dil ему не хватает . Пытался установить и не удача . Надо винду сносить .
Добавлено через 4мин.:
И к стати есть ли у кого макет на nemo 23