Простое меню на энкодере, дисплей 2004 по I2C с русификацией

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#21

Сообщение ingener » 30.11.2018{, 15:41}

av писал(а):
30.11.2018{, 00:33}
Вот бы еще глянуть осцилом какие там пачки на выходе получаются
av, там предел переменной t не 255, а тысяч 30 с шагом 100. Причем регулируется ШИМ циклично, т.е. каждый шаг меняет ширину импульса непредсказуемо (к примеру, при 600 шип почти полный, при 700 снова уже меньше и так по кругу).
Видимо, надо с диапазоном и шагом t немного подшамнить просто.
Удобно было бы на дисплее задавать диапазон прямо в секундах (значения от 0 до 10)

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#22

Сообщение ingener » 30.11.2018{, 20:31}

av писал(а):
30.11.2018{, 17:31}
Попробуйте его может этот будет работать более корректно
av, этот последний проект вообще не работает. Т.е. никак не реагирует на подачу напряжения в пределах 0...5в на пин А1.
Зато ваш проект "Тест меню v2" после перемены местами V и t работает прекрасно, четко выполняя все необходимые функции.
Немного поменял диапазоны и шаги регулировок параметров меню, а также кое-какие наблюдения по аналоговому входу и параметру U (все комментарии в проекте на плате 4 и на картинке ниже)
Что хотелось бы теперь - это сделать меню с реальными цифрами, а не "обезличенными"
Например,
время t чтобы задавалось не 1000...10000, а 1...10 в реальных секундах
скорость (ШИМ) задавалась не 50...255, а, к примеру, просто коэффициентом 1...10 (хватит вполне 10 шагов)
напряжение входное U задавалось не 250...1200, а примерно 7...20 (это реальное входное напряжение до делителя в Вольтах) - но тут требуется шаг 0,1 (т.е. требуется запятая на дисплее.... :smile37: )
PS - в курсе наличия блоков масштабирования, но куда именно их поместить....а насчет запятой на дисплее так это вообще :smile37:
Вложения
av22.JPG
av22.JPG (23.34 КБ) 835 просмотров
Тест_меню_v2_edit1_301118_1.flp
(548.96 КБ) 69 скачиваний
Последний раз редактировалось ingener 30.11.2018{, 21:04}, всего редактировалось 1 раз.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#23

Сообщение ingener » 30.11.2018{, 20:41}

Кстати, только заметил, моя версия FLprog - 4.0.0
Это может на что-то влиять?

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#24

Сообщение ingener » 30.11.2018{, 21:33}

av, вопросы масштабирования параметров на дисплее и наличия запятой сейчас самые актуальные :smile37: ....так-то проект работает уже как надо :smile9:

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#25

Сообщение ingener » 01.12.2018{, 18:31}

av писал(а):
01.12.2018{, 05:52}
есть сомнения что он работает как надо
Если бы не работал, начал бы приставать снова, не сомневайтесь))
Видимо, Протеус все же не 100% учитывает все.
Новый проект пока проверить нет возможности, командировка(
Четкий и линейно меняющийся ШИМ на частоте 490 Гц. И задержка, и компаратор - все работает.
Тут появляются новые хотелки, насчет параметра напряжения U
нельзя ли убрать его из меню задаваемых параметров, а вместо этого на второй аналоговый вход компаратора будет подаваться напряжение с внешнего потенциометра, а на дисплее должно просто индицироваться оно с маштабированием? Т.е. фактически цифровой вольтметр? Но нужно все же с одним знаком после запятой.... :smile37:

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#26

Сообщение ingener » 01.12.2018{, 19:57}

оказывается, есть блок Вольтметр
https://flprog.ru/downloads/usersblocks/voltmetr/

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#27

Сообщение ingener » 03.12.2018{, 08:48}

av писал(а):
02.12.2018{, 00:40}
спасает энкодер
av, что-то про энкодер вообще мысль не возникла :smile37:
а ведь это было бы просто шикарное решение! :like: Можно ведь его кнопку тоже как-то использовать
по сравнению с громоздким Keypad конечно это рациональнее
Также с индикацией, есть мысль, что параметр "U" (напряжение), который самый часто изменяемый будет, поместить один в центре верхней строки, а "V" (скорость, или ШИМ) переименовать в маленькую "s" (т.к. на дисплее "U" и "V" слишком похожи) и вместе с "t" поместить на второй строке.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#28

Сообщение ingener » 03.12.2018{, 12:18}

да можно обычный дисплей 1602.
как раз и выпаяю его с кейпад шилда :)

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#29

Сообщение ingener » 03.12.2018{, 20:26}

av, выпаял дисплей с шилда, подключил к Уно. Тестовые скетчи от IDE работают нормально. Ваш скетч что-то вызывает хаотичное мигание и перемещение по всем клеткам белых квадратов вперемежку с какими-то иероглифическими буквами :shok:
PS - энкодер и входной делитель не подключены, но по идее и без них должна быть нормальная индикация?

Отправлено спустя 8 минут 4 секунды:
av23.JPG

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#30

Сообщение ingener » 03.12.2018{, 21:29}

av писал(а):
03.12.2018{, 21:19}
Но и так видно что не правильное подключение
Подключение по одной из схем в интернете. И ведь с тестовыми IDE скетчами работает.
Думал, что по умолчанию такие настройки во всех проектах.
Сделал переподключение дисплея по данным в блоках, все работает, спасибо! Даже единицы прописаны (sec, volt) :smile9:

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#31

Сообщение ingener » 03.12.2018{, 22:21}

av, подключил энкодер, благо нашелся один уже готовый на платке с резисторами и конденсаторами. Все работает. :smile9: Меню очень удобное, из главного регулируется напряжение напрямую (что и нужно), а для нечастой смены других параметров входишь в меню нажатием кнопки энкодера. :victory:

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#32

Сообщение ingener » 03.12.2018{, 23:04}

av, до полного проекта еще далеко. Но для меня самое трудное было меню и дисплей. Теперь кое-чего подшлифовать. Пока поменял индикацию с вида "15,0volts" на "15,0 V" Ну и так кое-что по мелочи. Предел сделал 7...25В, но он работает только в подменю (а на главном экране напряжение можно крутить хоть больше 100 (до конца так и не докрутил)) Ну разберусь наверное с этим)

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#33

Сообщение ingener » 06.12.2018{, 20:14}

av, сложно ли сделать некоторые изменения в алгоритме работы меню?
Не требуется доступ к регулировке U прямо в главном меню, раз его сложно ограничить пределами. Пусть это можно делать только в подменю. но чтобы оно автоматом через 15 сек не выходило в главное: :smile37: а только по длительному нажатию кнопки энкодера

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#34

Сообщение ingener » 07.12.2018{, 10:10}

av писал(а):
07.12.2018{, 00:47}
постоянной памяти есть свой ресурс записи, который может при частых изменениях быстро иссякнуть
Вот об этом не подумал даже :smile37:
Тогда действительно, стоит оставить все как есть, пробуя ограничить диапазон установки U на главном экране с помощью счетчика версии 4.2.

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#35

Сообщение ingener » 07.12.2018{, 13:51}

av писал(а):
07.12.2018{, 11:21}
скиньте проект я его доделаю
конечного сейчас под рукой нет, но там небольшие изменения (ограничен диапазон вместо 0...50 (так много не нужно) сделано 7...25 + кое-какие косметические правки по меню).
Можно откорректировать оригинал -
viewtopic.php?p=59545&sid=5d02ebb9841db ... aca#p59545
спасибо!

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#36

Сообщение ingener » 07.12.2018{, 20:16}

av, проект максимально соответствует запросам сейчас.
Ограничение вниз 7В тоже работает.
Дело в том, что источник сигнала будет специализированный сварочный аппарат, а напряжения дуги менее 7В практически не бывает. Поэтому возможность выставлять от нуля будет восприниматься как некая недоработка системы.
теперь дальнейшее развитие :)
хочется развязать гальванически вход Уно от источника сигнала.
До этого момента долго мучился с оптопарой, хотя она и высоколинейная специальная, но все равно уплывает.
Теперь попробую использовать замечательный блок нелинейного масштабирования.
В правильном месте воткнул его?
Вложения
lin.JPG

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#37

Сообщение ingener » 07.12.2018{, 22:12}

av, все, что касается т.н. дискретной электроники, для меня никаких вопросов не вызывает :buhnut:
конечно, выход оптопары будет не более 5В. Для этого ее придется питать от 9 или 12. Ну это уже дело техники. А дальше увлекательная работа по рисованию кривой нелинейности блока масштабирования :senile:

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

LCD Keypad для задания аналоговых параметров

#38

Сообщение ingener » 08.12.2018{, 14:32}

av писал(а):
07.12.2018{, 22:36}
Желаю удачи !
хотел самостоятельно дальше дошлифовать конфигурацию, но что-то :smile37:
в имеющейся схеме ШИМ срабатывает по достижению заданного значения U или выше (верхняя картинка)
Окончательно же нужно, чтобы ШИМ срабатывал и при напряжении ниже заданного с "окошком", или гистерезисом, около 0,02В (нижняя картинка)
В итоге до входного делителя это даст точность срабатывания около 0,1В (что и требуется)
пытался достичь этого коррекцией на плате 6 (блоки обведены красным)
но в итоге работает как-то странно, гистерезис получается более вольта и задаваемое значение U на порог срабатывания никак не влияет :(
Вложения
131.JPG
OK071218editcomparator1.flp
(5.1 МБ) 66 скачиваний
132.JPG

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#39

Сообщение ingener » 08.12.2018{, 16:32}

av, вот на блок-схемах с пояснениями попытался все изложить иаксимально полно :smile37:
Вложения
171.JPG
172.JPG

Аватара пользователя
ingener
Лейтенант
Сообщения: 556
Зарегистрирован: 14.10.2018{, 00:26}
Репутация: 20
Имя: Андрей

Проект с меню на 1602 и энкодере

#40

Сообщение ingener » 08.12.2018{, 19:10}

av, при достижении на входе 0,9В включается ШИМ, но "мертвой зоны" нет, работает постоянно во всем диапазоне входного сигнала выше 0,9В независимо от значения U

Ответить

Вернуться в «Помогите, а то я "нимагу"»