ARDUINO Наливатор. Обсуждение проекта

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
у меня на 224 под 3 рюмки . площадки датчиков 15х15 мм (всё очень близко друг к другу)-вроде норма, только звонящий телефон с полуметра ловят -светомузыка с танцами гусака., а так всё гут. (y)
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@станислав9, странно, что так на телефон реагирует. Я вот проверил, такого глюка нет даже если телефон прям возле датчиков
 

norem

★✩✩✩✩✩✩
22 Фев 2020
12
14
Добрый вечер.Залил вашу прошивку все супер,только вот что-то с серво непонятное,он сначало бьет об стенку а потом едет в нужную сторону и градусы выставить не могу тоесть выставляю градус серва немного недоезжает со старта а если едет от последней или предпоследней стопки то тоже недоезжает но уже в другом направлении.Как это побороть а так скетч класный.
у вас носик на серво приуводе находится не в нулевой позиции. Открутите носик, включите наливатор, сервопривод встанет в нулевое положение, после чего прикрутите носик на серву
 

kostyaskv

★✩✩✩✩✩✩
18 Ноя 2019
68
25
ох долго же я мучился с TTP229 в новом наливаторе. Решил в этот раз светодиоды вставить в "сенсоры", просверлив в них отверстия. К тому же и сами площадки сделал в этот раз меньше - 32х32мм. Это была очень плохая идея. Вообще на старой прошивке всё в принципе работало так же хорошо, но я решил, что мало мне цветов всяких :D и добавил динамическую подсветку во время налива и после. Как только светодиоды начинали изменять цвета, сенсоры сбрасывались кратковременно, все моргали. В общем наводок было достаточно. Пришлось переделывать. В итоге расположение площадок и светодиодов как в прошлом наливаторе оказалось оптимальным. Площадь пластин так же увеличил немного и в итоге теперь всё работает отлично и с динамической подсветкой)
Посмотреть вложение 12162Посмотреть вложение 12163
Я вот тоже мучаю TTR229( На Вашей прошивке). Очень не стабильно работает Правда площадки 20 х 20.
 

Soni666

✩✩✩✩✩✩✩
30 Ноя 2019
24
4
Харьков
у вас носик на серво приуводе находится не в нулевой позиции. Открутите носик, включите наливатор, сервопривод встанет в нулевое положение, после чего прикрутите носик на серву
Я так и делал.Даже когда снимаю носик видно что серво дергагаеться к стенке а потом крутиться правильно.
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@kostyaskv, попробуйте побольше площадки поставить. У меня сейчас 40х40, работает очень стабильно.
 

norem

★✩✩✩✩✩✩
22 Фев 2020
12
14
Я так и делал.Даже когда снимаю носик видно что серво дергагаеться к стенке а потом крутиться правильно.
Вот смотрите в скетче есть следующие строчки
#define HOME_POS 5 //номер рюмки для домашней позиции
#define PUMPING_SHOT 4 //номер рюмки для прокачки
const byte shotPos[] = {163, 128, 102, 71, 40, 0};
---------------------------------------0------1-------2-----3---4--5------
HOME_POS эта домашняя позиция и в shotPos она соответствует 0
а PUMPING_SHOT эта позиция для прокачки помпы она соответствует углу поворота сервопривода на 40
проверьте у вас в настройках значение домашней позиции, возможно в качестве ее используется место не нулевого угла
 

Soni666

✩✩✩✩✩✩✩
30 Ноя 2019
24
4
Харьков
Вот смотрите в скетче есть следующие строчки
#define HOME_POS 5 //номер рюмки для домашней позиции
#define PUMPING_SHOT 4 //номер рюмки для прокачки
const byte shotPos[] = {163, 128, 102, 71, 40, 0};
---------------------------------------0------1-------2-----3---4--5------
HOME_POS эта домашняя позиция и в shotPos она соответствует 0
а PUMPING_SHOT эта позиция для прокачки помпы она соответствует углу поворота сервопривода на 40
проверьте у вас в настройках значение домашней позиции, возможно в качестве ее используется место не нулевого угла
#define HOME_POS 5 //номер рюмки для домашней позиции
#define PUMPING_SHOT 0 //номер рюмки для прокачки
#define KEEP_POWER 0 //1 - система поддержания питания ПБ, чтобы он не спал
#define DEBUG_UART 0 //включения сообщений в порт отладки

//позиция стопок -> 0 1 2 3 4 5 требуется для указания домашней позиции и позиции прокачки !!!
const byte shotPos[] = {30, 56, 84, 111, 138, 0}; //положение серво над центрами рюмок
//const byte shotPos[] = {30, 56, 84, 111, 138, 0};

у мене вот так.
 

Soni666

✩✩✩✩✩✩✩
30 Ноя 2019
24
4
Харьков
@Soni666, это сразу после включения такое поведение, или во время работы тоже?
При старте и при начале движения к рюмке.Ну это ладно а вот с градусами непонятно недоезжает с старта а если едет от последней рюмки то тоже недоежает.уже и серво менял хз что делать
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@Soni666, странное поведение и то, что на нескольких прошивках так себя ведёт. Вы какие-нибудь изменения в прошивку вносили кроме углов над рюмками? Если нет тогда я склоняюсь к неисправности серво.
На моей прошивке такая же проблема?
 

Soni666

✩✩✩✩✩✩✩
30 Ноя 2019
24
4
Харьков
До этого стояла прошивка от Алекса там все норм было.Серво пробывал другое результат тот же.В прошивке кроме углов еще менял скорость выставил на 20.И еще вопрос к знатокам должны подьехать электроклапана 5в можно запитать его от помпы?Что бы не капало.
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
Я тут дописал свои версии прошивок для серво и шагового двигателя. Сейчас вроде всё стабильно
- основанно на версии 1.3 by AlexGyver
- возможность установить угол парковочной позиции PARKING_POS
- в автоматическом режиме краник остаётся над последней налитой рюмкой (в ручном возвращается в домашнее положение)
- инверсия серво
- прокачка над любой рюмкой. Прокачка проводится только в ручном режиме и только при наличии рюмки
- шаг изменения объёма 1мл
- вывод налитого объёма в реальном времени. Так же и во время прокачки (сброс после снятия рюмки)
- сохранение последнего выбранного объёма сразу после изменения
- убраны буквы для отображения режима (если автоматический - горит двоеточие)
- объём на дисплее отображается по центру
- плавный цветовой переход во время налива (от ORANGE до AQUA)
- динамическая подсветка налитых рюмок
- анимация приветствия
- после выхода из сервис режима, калибровка объёма сохраняется в постоянной памяти
- основанно на версии 1.5 by AlexGyver
- шаговый двигатель с драйвером типа StepStick вместо серво
- возможность работы как с концевым датчиком для нулевой позиции двигателя (для этого укажите пин STEPPER_ENDSTOP)
так и без него, установив нулевую позицию вручную (закоментируйте STEPPER_ENDSTOP)
- компенсация люфта шагового двигателя в градусах STEPER_BACKLASH
- возможность установить парковочную позицию PARKING_POS
- прокачка над любой рюмкой. Прокачка проводится только в ручном режиме и только при наличии рюмки
- шаг изменения объёма 1мл
- вывод налитого объёма в реальном времени. Так же и во время прокачки (сброс после снятия рюмки)
- убраны буквы для отображения режима (если автоматический - горит двоеточие)
- объём на дисплее отображается по центру
- плавный цветовой переход во время налива (от ORANGE до AQUA)
- динамическая подсветка налитых рюмок
- анимация приветствия
- дополнительный светодиод в башне. При движении мотора горит оранжевым, при остановке - белым.
После налития всех рюмок "дышит" бирюзовым, во время простоя - белым. Подключается к светодиоду последней рюмки
- после выхода из сервис режима, калибровка объёма сохраняется в постоянной памяти

скачать можно на GitHub
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@станислав9, да, всё верно. Последнее время на дисплее перед выходом из сервисного режима сохраняется в памяти и подгружается из неё при каждом старте устройства. В следующей версии постараюсь ещё ввести сохранение углов серво в память
 

TimicH

★★✩✩✩✩✩
9 Фев 2020
127
60
63
Новосибирск
VICLER
В последней модификации скэтча виснет энкодер, налив рюмок идет :confused:
Изменил только градусы налива и домашнюю позицию.
encUniversalMinim.h Заменил (копирование) от предыдущей версии, всё заработало.
 

станислав9

✩✩✩✩✩✩✩
7 Мар 2020
18
5
Последнее время на дисплее перед выходом из сервисного режима сохраняется в памяти и подгружается из неё при каждом старте устройства. В следующей версии постараюсь ещё ввести сохранение углов серво в память
вооот это правильно
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
@TimicH, это странно. Я вроде не изменял encUniversalMinim.h.У себя такой проблемы не наблюдаю. Но нашёл и исправил уже одну ошибку. Если после прошивки не заходить в сервис режим, то отображение текущего объёма не работало. Просто если меняете прошивку и уже знаете сколько time50ml, то можно прописать сразу перед первой прошивкой в #define TIME_50ML.
 

TimicH

★★✩✩✩✩✩
9 Фев 2020
127
60
63
Новосибирск
Здесь не чат. Сообщения можно редактировать
Да, к стати и режим отображения объема налива не работает

Прописал - #define TIME_50ML 7000 :( заранее
Перепрошился на прежнюю версию - всё отлично

К стати, для будущих модификаций - отображение , допустим, 5 Мл., визуально некоректно - отображается 05, может быть убрать "0"?
 

VICLER

★★★★★★✩
9 Дек 2019
801
658
Hamburg
К стати, для будущих модификаций - отображение , допустим, 5 Мл., визуально некоректно - отображается 05, может быть убрать "0"?
замените функцию void dispNum(uint16_t num) на эту:
c_func.ino:
void dispNum(uint16_t num) {
  if (num < 100) {
    disp.displayByte(0, 0x00);
    if(num < 10) disp.displayByte(1, 0x00);
    else disp.display(1, num / 10);
    disp.display(2, num % 10);
    disp.displayByte(3, 0x00);
  }
  else {
    disp.display(0, num / 100);
    disp.display(1, (num % 100) / 10);
    disp.display(2, num % 10);
    disp.displayByte(3, 0x00);
  }
}
 
Изменено:

TimicH

★★✩✩✩✩✩
9 Фев 2020
127
60
63
Новосибирск
замените функцию void dispNum(uint16_t num) на эту:
c_func.ino:
void dispNum(uint16_t num) {
  if (num < 100) {
    disp.displayByte(0, 0x00);
    if(num >= 10) disp.display(1, num / 10);
    else disp.displayByte(1, 0x00);
    disp.display(2, num % 10);
    disp.displayByte(3, 0x00);
  }
  else {
    disp.display(0, num / 100);
    disp.display(1, (num % 100) / 10);
    disp.display(2, num % 10);
    disp.displayByte(3, 0x00);
  }
}
Отлично, спасибо! :)(y)
 
  • Лойс +1
Реакции: VICLER

Konder885

★✩✩✩✩✩✩
23 Ноя 2019
81
16
ох долго же я мучился с TTP229 в новом наливаторе. Решил в этот раз светодиоды вставить в "сенсоры", просверлив в них отверстия. К тому же и сами площадки сделал в этот раз меньше - 32х32мм. Это была очень плохая идея. Вообще на старой прошивке всё в принципе работало так же хорошо, но я решил, что мало мне цветов всяких :D и добавил динамическую подсветку во время налива и после. Как только светодиоды начинали изменять цвета, сенсоры сбрасывались кратковременно, все моргали. В общем наводок было достаточно. Пришлось переделывать. В итоге расположение площадок и светодиодов как в прошлом наливаторе оказалось оптимальным. Площадь пластин так же увеличил немного и в итоге теперь всё работает отлично и с динамической подсветкой)
Посмотреть вложение 12162Посмотреть вложение 12163
Тоже также мучился с ТРР224, нужны "массивные" рюмки, плюнул, приклеил магниты на рюмки и поставил датчики Холла. Наливатор в чемодане, так что рюмки свои всегда с собой.