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

s1uggard

★✩✩✩✩✩✩
15 Сен 2020
48
13
@VICLER на GitHub PR не принимаете? Для начала закинул правку по Readme - но было проигнорировано.

В дальнейшем планирую вникнуть в код и возможно будут правки (кстати со вчерашней утренней версией - Arduino 1.8.13 (Windows) отказалось компилировать из-за #elif в Config.h на уровне с комментарием, при переносе на новую строку всё отлично).

1602748330797.png
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@s1uggard, извиняюсь, pr не заметил. Спасибо за содействие!
насчёт #elif заметил вчера ещё, но забыл обновить. Уже перезалил

п.с. добавил ещё несколько рамок для дисплеев 0.96", 1.3", 1.54"

IMG_20201015_142139.jpgIMG_20201015_142015.jpgIMG_20201015_143413.jpg

кстати, я всегда беру дисплеи белого цвета, так как их легко можно покрасить в любой другой при помощи разноцветных прозрачных плёнок (светофильтров). Вот пара примеров:
IMG_20201015_144705.jpgIMG_20201015_145027.jpgIMG_20201015_143107.jpgIMG_20201015_152616.jpgIMG_20201015_153639.jpg
на жёлтом приклеил каптоновый скотч одним слоем. В два слоя получается ещё немного насыщеннее
 
Изменено:

s1uggard

★✩✩✩✩✩✩
15 Сен 2020
48
13
Господа, нужна консультация по макетированию.
1. Смена "кнопки" с A7 на D6/D7 критична? По идее там ведь аналовый сигнал.
2. Что я не учёл, и что возможно стоит добавить на схему (схема с минимальным обвесом, без аккумулятора):
1602784788446.png

1602784734953.png

1602784746735.png
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
Обновил прошивку v5.8
- исправил некоторые косяки и оптимизировал код


1. Смена "кнопки" с A7 на D6/D7 критична? По идее там ведь аналовый сигнал.
чтение состояния кнопки производится функцией digitalRead(), которая не работает на аналоговых пинах A6 и A7, так что придётся править библиотеку buttonMinim. analogRead() требует больше ресурсов и выполняется медленнее, поэтому я бы лучше переразвёл дорожку(можете провести её между А6 и А7 и потом с обратной стороны до D7).
  • 5V лучше подключить к VIN ардуино, так шина 5В ардуино должна быть стабильнее
  • землю от помпы и от серво очень желательно провести отдельно(проведите до - на драйвере), так как она грязная(ещё и проходит почти через всю плату покругу)
 
Изменено:

s1uggard

★✩✩✩✩✩✩
15 Сен 2020
48
13
чтение состояния кнопки производится функцией digitalRead(), которая не работает на аналоговых пинах A6 и A7, так что придётся править библиотеку buttonMinim. analogRead() требует больше ресурсов и выполняется медленнее, поэтому я бы лучше переразвёл дорожку(можете провести её между А6 и А7 и потом с обратной стороны до D7).

  • 5V лучше подключить к VIN ардуино, так шина 5В ардуино должна быть стабильнее
  • землю от помпы и от серво очень желательно провести отдельно(проведите до - на драйвере), так как она грязная(ещё и проходит почти через всю плату покругу)
1602789800972.png
Так лучше? Первый раз просто разводку платы делаю
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,266
1,303
Москва
На сколько я помню А7 только аналоговый сигнал. И его не получиться использовать с digitalRead
Что бы ускорить чтение аналогового сигнала нужен быстрый опрос.
C++:
void SuperFastADC(byte n)
{
  ADCSRA = ADCSRA & B11111000;
  ADCSRA = ADCSRA | n;
}
SuperFastADC(7) это стандартный режим
SuperFastADC(2) - опрос будет в 20 раз быстрее.
SuperFastADC(1) - опрос будет в 30 раз быстрее.
Но точность теряется. Для цифрового пофиг.
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@s1uggard, ещё землю от LED уберите с "грязной" линии, её можно было оставить подключенной к земле сенсоров, дисплея и кнопки.
На сколько я помню А7 только аналоговый сигнал
похоже @s1uggard ошибся и имел ввиду D7, кнопка изначально подключенна к нему.
 

s1uggard

★✩✩✩✩✩✩
15 Сен 2020
48
13
@s1uggard, ещё землю от LED уберите с "грязной" линии, её можно было оставить подключенной к земле сенсоров, дисплея и кнопки.

похоже @s1uggard ошибся и имел ввиду D7, кнопка изначально подключенна к нему.
Ну я имел ввиду перенос с D7 на A6/A7 (так как кнопка больше туда просится из-за "небольшого" функционала) (но написал таки не правильно).
Чтоб D7 оставить на что-то более полезное в будущем.
 
Изменено:

laser

✩✩✩✩✩✩✩
5 Янв 2020
23
4
Заливал V5.7 - дисплей работает нормально, V5.8 - слева на дисплее помехи проскакивают в виде вертикальных полосок, и после выключения питания дисплей не запускается. Опять версия V5.7 - дисплей работает нормально, V5.8 - тоже что и было, и так по кругу. Изменение частоты дисплея ничего не дало. OLED_SSD1306.
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
слева на дисплее помехи проскакивают в виде вертикальных полосок
такое может быть из-за неправильно выбранного типа дисплея. Попробуйте поменять параметр OLED в Config.h на другой

после выключения питания дисплей не запускается
не понял. Вообще так и должно быть, питания ведь нет :D
или не запускается после повторного включения?

Честно говоря вообще не заметил разницы между 5.6 и 5.8
изменения почти не заметны) в основном оптимизация прорисовки некоторых деталей

В версии 5.9:
  • ускорена анимация
  • иконка ждущего режима теперь располагается по центру
  • последний выбранный объём сохраняется сразу после успешно налитой рюмки (раньше ещё после входа в режим ожидания, но я подумал в этом нет смысла)
 
Изменено:

laser

✩✩✩✩✩✩✩
5 Янв 2020
23
4
Дисплей выбран правильно. На более ранних версиях проблем не было. Ну и макет наливатора один и тот же. После выключения питания и последующего его включения дисплей в версии 5.8 не светился. В версии 5.9 все пришло в норму.
Серва как то странно стартует, делает небольшой рывок в сторону, потом поворачивается на установленную позицию.
Завтра попробую более детально покрутить.
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@laser, странно, возможно при скачивании или распаковке v5.8 были какие-то проблемы. У кого-то тут были похожие симптомы, а после повторного скачивания всё прошло.

Серва как то странно стартует, делает небольшой рывок в сторону
Стартует с парковочной позиции или при каждом движении? Раньше замечали такое? Какой сервопривод?


Обновил прошивку v6.0

случайно наткнулся на один интересный эффект на OLED дисплее. Немного изменил библиотеку SSD1306Ascii. Теперь стало возможным убавить яркость дисплея ещё больше. А интересно то, что при маленьких значениях яркости (сейчас поставил 20) на тексте появляется тень, благодаря которой производится впечатление, будто текст немного выступает над фоном.
Так же перерисовал иконки режима ожидания и батареи
IMG_20201017_010107__01.jpgIMG_20201017_005952__01.jpgIMG_20201017_010758__01.jpgIMG_20201017_014439.jpg
 
Изменено:

laser

✩✩✩✩✩✩✩
5 Янв 2020
23
4
В прошивке 6.0 при загрузке нано опять появились вертикальные полоски слева экрана, притом верхняя полоска теперь висит постоянно. При перепрошивке на 5.9 этих полос нет. Домовой что ли завелся.
По поводу серво. Накопал тут 8 штук:
1. Tower Pro MG90S (шестерни метал) - дергается с парковочной позиции, между позициями рюмок, и после налива последней рюмки (то есть перед уходом в парковочную позицию), только дергается в другую сторону. (Проверено на 2-х серво).
2. Tower Pro MG92R (шестерни метал) - так же. (Проверено на 2-х серво).
3. DIGI HI TORQUE SG92R (вроде метал-плохо видно) - дергается с парковочной позиции и после налива последней рюмки, между позициями движется нормально. (Проверено на 2-х серво).
4. Micro Servo 9g SG90 (шестерни нейлон) - с парковочной позиции и между позициями не дергается, перед уходом в парковочную позицию практически тоже нормально. (Проверено на 2-х серво).
5. Tower Pro MG995 (шестерни метал) - как и первый вариант. (Проверено на 1-й серво).

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

Димьян

✩✩✩✩✩✩✩
9 Мар 2020
67
9
@laser, странно, возможно при скачивании или распаковке v5.8 были какие-то проблемы. У кого-то тут были похожие симптомы, а после повторного скачивания всё прошло.


Стартует с парковочной позиции или при каждом движении? Раньше замечали такое? Какой сервопривод?


Обновил прошивку v6.0

случайно наткнулся на один интересный эффект на OLED дисплее. Немного изменил библиотеку SSD1306Ascii. Теперь стало возможным убавить яркость дисплея ещё больше. А интересно то, что при маленьких значениях яркости (сейчас поставил 20) на тексте появляется тень, благодаря которой производится впечатление, будто текст немного выступает над фоном.
Так же перерисовал иконки режима ожидания и батареи
Посмотреть вложение 17196Посмотреть вложение 17195Посмотреть вложение 17197Посмотреть вложение 17199
Доброго времени суток. Заметил вот такой маленький косячек в левом верхнем углу появляется черточка. Один раз и на главном экране отображалась.
 

Вложения

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
вертикальные полоски слева экрана
покажите, как они выглядят. Проверьте ещё с OLED 1
насчёт серво. Скорость изменяли? Попробуйте ещё библиотеку Ticoservo. Для активации в GyverDrink_VICLER_MOD.ino раскомментируйте #define USE_TICOSERVO и подключите серво на пин 9.
Вообще это похоже на то, что серво перелетает целевую позицию каким-то образом на пару градусов (если при старте движения дёргается назад)

upd. Проверил сейчас на 6 серводвигателях (мини и микро) от разных производителей и все отрабатывают идеально без рывков и дёрганий. Правда тестирую я без драйвера. Надо проверить с драйвером.

У кого-нибудь ещё есть такие проблемы с сервофвигателем?
 
Изменено:

laser

✩✩✩✩✩✩✩
5 Янв 2020
23
4
VICLER "СОРИ", с черточками я накосячил, не поставил "0" вместо "1", сбило что в других прошивках работало и не нужно было менять это значение.
Серво без драйвера работает хорошо, поставил SG90. Pin D4 я так понимаю подает напряжение 5V на драйвер, а Pin D5 команду на сколько нужно повернуть. Очевидно что подача напряжения с Pin D4 (питание драйвера) запаздывает, от этого и рывки. Если с Pin D4 провод драйвера перебросить на постоянные 5V, то дерганье пропадает. Нужен ли в схеме этот драйвер, прямое подключение лучше работает.
 

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@laser, думаю, если источник питания и сервопривод хороший, то и драйвер на серво не нужен. У меня на первом наливаторе стоит большой, стандартного размера сервопривод. Работает без драйвера прекрасно, без всяких дёрганий и рывков.
 

andrew811

✩✩✩✩✩✩✩
17 Мар 2020
21
5
Всех приветствую!
Как-то собрал наливатор в чемоданчике. Все красиво и т.д., но не понравилось следующее
1. Не влез аккумулятор, т.е. потерял мобильность)
2. Собрал на механических микриках, т.е. страшны пролития жидкости.

Поэтому захотелось собрать с нуля новый наливотор.
Может кто поделится чертежами (планирую пилить вручную из фанеры)?
А то не могу найти подходящий в Интернете. Нужно чтобы удовлетворял следующим условиям:
1. Столешницу (ну там где располагаются рюмки) буду покрывать оргстеклом.
2. Рюмок 5-6.
3. Датчики буду использовать ИК, либо сенсорные.

Заранее спасибо, если у кого такой чертеж будет, договоримся)
 

andrew811

✩✩✩✩✩✩✩
17 Мар 2020
21
5
И еще вопросик...
В прошивке от VICLER, в самом коде написано, что схемы подключения находятся в файле Config.h, не совсем понял как открыть эти схемы?
 
  • Лойс +1
Реакции: zwezdo4ot

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@andrew811, скачайте прошивку, там будет файл Config.h. в секции соединения этого файла (открывайте в Arduino IDE например)есть схема подключения в текстовом формате, т.е. написанно какой пин определённого девайса(помпы, серво, энкодеоа) подключить к определённому пину Arduino Nano.
 
  • Красота! +2
Реакции: andrew811

laser

✩✩✩✩✩✩✩
5 Янв 2020
23
4
andrew811 ..............чертежи есть на "reНаливатор" VER.5.0 FINAL на канале reALM, там выложено три вида, я год назад собирал самый первый, все отлично прорисовано. Только вручную пилить я думаю сложновато будет, руками так размеры не выдержишь, хотя напильник никто не отменял.
Но это все время. Ищи лазерную резку. Более толковых чертежей я не встречал, хотя может у кого и есть.
Схемы все лежат в файле "schemes", в Config.h по ходу их нет, пока никто не додумался их туда совать.
 
  • Красота! +2
Реакции: andrew811

VICLER

★★★★★★✩
9 Дек 2019
801
662
Hamburg
@laser, здесь обсуждается совсем другой проект. В Config.h как раз находятся все настройки и схема со всеми пояснениями к каждому соединению на русском. Единственное требование к успешной сборке - умение читать.
 
  • Лойс +1
Реакции: Хирург