Разработки ecoins

ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Выкладываю простой тест ввода с регистра B и вывода считанного значения в регистр А.
Библиотека не менялась, в блоке добавлено описание и сделаны более понятные названия пользовательских переменных.
Кроме приложенной библиотеки и пользовательского блока (в проекте) никаких нестандартных дополнений не требуется.
[spoiler title=Простой тест ввода.вывода на MCP23017]
К 801_Простой тест MCP23017.JPG
[/spoiler]
0801_Простой тест mcp_210719.flp
RT_05_HW_MCP23017_v1.2.zip
Основной цикл программы 13мкс. Каждые 50мкс такт на 350 мкс - идет обмен по i2c.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

p.s. В предыдущем посте уточнил картинку проекту - прикрепил обновленную - точно соответствующую прикрепленному файлу.
zhulen820
Сержант
Сообщения: 194
Зарегистрирован: 29 авг 2016, 22:44
Откуда: Серпухов
Имя: Александр

Разработки ecoins

Сообщение zhulen820 »

Вот теперь понятно. А еще узнать хочется подробнее про вход addr (почему именно 32)
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

Это базовый адрес микросхемы mcp23017 на шине i2c. Ecли установить перемычки A0-A2, будет другой адрес. Лучше всего установить адрес сканером шины i2c - адрес на входе в десятичном формате.
zhulen820
Сержант
Сообщения: 194
Зарегистрирован: 29 авг 2016, 22:44
Откуда: Серпухов
Имя: Александр

Разработки ecoins

Сообщение zhulen820 »

понятно. Теперь буду тестить
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

Разработки ecoins

Сообщение RedSky »

ecoins писал(а): 18 июл 2019, 10:33 Относительно стирания - строки. Такая возможность предусмотрена - при настройке параметров укажите длину строки=0, и при выводе параметра строка будет полностью стерта, начиная с указанной в параметрах колонки.
Результат будет отображаться между заданной колонкой и концом строки с форматами - влево - по умолчанию, по центру, вправо.
Неясно с возможностью убрать ранее выведенный текст, вход EN просто останавливает обновление. Это хорошо для демонстрации, но затрудняет практическое применение. Так же хотелось бы иметь управление подсветкой по I2C.
zhulen820
Сержант
Сообщения: 194
Зарегистрирован: 29 авг 2016, 22:44
Откуда: Серпухов
Имя: Александр

Разработки ecoins

Сообщение zhulen820 »

ecoins писал(а): 21 июл 2019, 22:13 Это базовый адрес микросхемы mcp23017 на шине i2c. Ecли установить перемычки A0-A2, будет другой адрес. Лучше всего установить адрес сканером шины i2c - адрес на входе в десятичном формате.
Все работает. Я абсолютно счастлив. Сколько было мытарств. Теперь буду тестить на надежность. Спасибо!!
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

zhulen820 писал(а): 22 июл 2019, 00:00 #248 Все работает. Я абсолютно счастлив. Сколько было мытарств. Теперь буду тестить на надежность. Спасибо!!
Рад за Вас. Успехов.
Хочу обратить внимание на свойство блока. Если произойдет обрыв i2c, программа самыми короткими по времени транзакциями будет пытаться восстановить с ним связь - первый раз через 100мс, потом через 200мс, и так далее до 5сек. С этим периодом (5 сек) программа будет продолжать искать контроллер с заданным адресом.
Указанное свойство:
1. разгружает шину i2c от не нужных транзакций;
2. позволяет переподключать mcp23017 во время работы.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

RedSky писал(а): 21 июл 2019, 23:05 Неясно с возможностью убрать ранее выведенный текст, вход EN просто останавливает обновление. Это хорошо для демонстрации, но затрудняет практическое применение. Так же хотелось бы иметь управление подсветкой по I2C.
Подумаем, что-нибудь предложим.

Отправлено спустя 32 минуты 28 секунд:
Требуется уточнение Вашего вопроса.
Мы никогда не использовали блок управления яркости Lcd из FLProg. Функционально этот блок устанавливает/отключает опцию подсветки Lcd.
Управлять яркостью через эту опцию не получается, только мерцание экрана. Выключать подсветку - да, это работает и может быть использовано с нашей библиотекой. При этом надо иметь ввиду, что этот блок непрерывно посылает транзакции в шину i2c и потому цикл loop() даже на простом тесте с одной записью более 20мс.
[spoiler title=Схема проекта]
Схема теста яркости lcd.JPG
[/spoiler]
Снимок с регулировкой яркости.JPG
линия 1 - цикл loop(), линии 2,3 загрузка шины i2c.
К сожалению стандартные библиотеки i2c при работе "тормозят" - они написаны без учета аппаратных прерываний.
Вопрос: как ВЫ сейчас управляете яркостью?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
RedSky
Лейтенант
Сообщения: 576
Зарегистрирован: 19 дек 2016, 20:07
Откуда: Днепропетровск
Имя: Алексей
Поблагодарили: 1 раз

Разработки ecoins

Сообщение RedSky »

[ref]ecoins[/ref], не имел ввиду регулировку яркости, хотел именно вкл./выкл. А что бы вход EN работал подобно штатным блокам. К примеру EN снимается, дисплей очищается и в следующем цикле заново отрисовывается без ненужного блока.
А частота обновления показаний я так понял ограничена снизу 200мс независимо от установленной в параметрах блока?
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

RedSky писал(а): 22 июл 2019, 12:06 [ref]ecoins[/ref], не имел ввиду регулировку яркости, хотел именно вкл./выкл. А что бы вход EN работал подобно штатным блокам. К примеру EN снимается, дисплей очищается и в следующем цикле заново отрисовывается без ненужного блока.
А частота обновления показаний я так понял ограничена снизу 200мс независимо от установленной в параметрах блока?
По включению/выключению дисплея. Можете пока спокойно пользоваться стандартным блоком. только надо вызывать его на отдельной плате по событиям (однократный импульс). - Свой чуть позже сделаем.
В библиотеке ограничили минимальное время частоты обновления =200мс. Чтобы детишки в Академии не баловались нулевыми значениями - проекты будут тормозиться. При необходимости можем сделать настройку этого ограничения в блоке lcd.begin().
Не сделали это сразу - оперативную память экономии. Обращаю внимание, что блоки lcd от ecoins относительно стандартного блока FLProg потребляют больше памяти. Для средних проектов на Arduino Nano это ощущается, на Mega2560 уже нет.
Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08 сен 2017, 19:47
Откуда: Тверь
Имя: Вадим

Разработки ecoins

Сообщение olddolin »

[ref]ecoins[/ref], Добрый день! А могли бы вы проверить то что я наваял, я скетч выложу сюда. У меня есть блок управления светом пятиканальный на базе ESP8266_07 и MCP23017+каскада. В принципе он работает достаточно хорошо, но как только добавил обратную связь чтобы контролировать удалённые комнаты включен или выключен свет. То сразу начинаются тормоза, вот я и подумал, что ваш блок, как вы пишите работает шустрее. На сколько я разобрался во всём на столько и нарисовал скетч, проверить пока нет возможности, а вы сразу увидите что не так. Короче на моем примере покажите людям как правильно.
Думаю многим будет интересно увидеть на живом примере как всё это работает, всю жизнь с промышленной электроникой, программированием занимались поверхностно многие здесь обитающие.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

olddolin писал(а): 22 июл 2019, 16:27 [ref]ecoins[/ref], Добрый день! А могли бы вы проверить то что я наваял, я скетч выложу сюда. У меня есть блок управления светом пятиканальный на базе ESP8266_07 и MCP23017+каскада. В принципе он работает достаточно хорошо, но как только добавил обратную связь чтобы контролировать удалённые комнаты включен или выключен свет. То сразу начинаются тормоза, вот я и подумал, что ваш блок, как вы пишите работает шустрее. На сколько я разобрался во всём на столько и нарисовал скетч, проверить пока нет возможности, а вы сразу увидите что не так. Короче на моем примере покажите людям как правильно.
Думаю многим будет интересно увидеть на живом примере как всё это работает, всю жизнь с промышленной электроникой, программированием занимались поверхностно многие здесь обитающие.
Да, конечно. Выкладывайте проект на FLProg и KaScada. И предварительные вопросы: в KaScade вы при настройке устройства связи устанавливаете паузу? Она обязательная и лучше установить её не менее 50мс.
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

olddolin писал(а): 22 июл 2019, 16:46 Ну смотрите, страшно даже выкладывать.
Страшнее бездействие - оно незаметно останавливает развитие, а потом наклонная плоскость направляет кого-куда: пространные рассуждение, мракобесие и т.п.
-----------------------
О Вашем проекте. Мне кажется Вы не тот файл прикрепили - там KaScada (Modbus) не прописаны.
Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08 сен 2017, 19:47
Откуда: Тверь
Имя: Вадим

Разработки ecoins

Сообщение olddolin »

А это уже из области туп-туп:) Ну вот видите бывает, удалить бы предыдущий пост
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.
com
Капитан
Сообщения: 832
Зарегистрирован: 31 май 2018, 22:12
Откуда: Санкт-Петербург
Имя: Ринат

Разработки ecoins

Сообщение com »

[ref]olddolin[/ref], нет файла каскады
ecoins
Полковник
Сообщения: 4010
Зарегистрирован: 12 фев 2016, 11:40
Откуда: Шатура
Имя: Энвер
Благодарил (а): 137 раз
Поблагодарили: 155 раз

Разработки ecoins

Сообщение ecoins »

viewtopic.php?p=73429#p73429
Сразу - у Вас стоит адрес 0 на MCP23017 - надо устанавливать физический адрес, который определяется сканированием шины i2c. Базовый адрес, который скорее всего надо установить 32. Когда проверял Вашу программу - выявилась ошибка, которую я поправлю попозже - если нет устройства с эти адресом - все плохо. :smile37: Очень сожалею - вызывает неудобства, некрасиво, поправим.
Еще регистры KaScada надо начинать с 10 - у Вас 0 и 1.
Программу без KaScada проверил - без тормозов, основной цикл 25mcs, 1 раз в 100мс(так работает мультивибратор + RTrig) еще 400 мкс.
Когда подключите KaScada - еще 1мс 1раз в 50мс(если такую паузу установите в KaScada).
RT_svet_8266_mcp_v2.flp
Проект, на котором проверял. Не забудьте.подтягивать резисторы + питания sda,scl.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08 сен 2017, 19:47
Откуда: Тверь
Имя: Вадим

Разработки ecoins

Сообщение olddolin »

ecoins писал(а): 22 июл 2019, 19:35 viewtopic.php?p=73429#p73429
Сразу - у Вас стоит адрес 0 на MCP23017 - надо устанавливать физический адрес, который определяется сканированием шины i2c. Базовый адрес, который скорее всего надо установить 32. Когда проверял Вашу программу - выявилась ошибка, которую я поправлю попозже - если нет устройства с эти адресом - все плохо. :smile37: Очень сожалею - вызывает неудобства, некрасиво, поправим.
Еще регистры KaScada надо начинать с 10 - у Вас 0 и 1.
Программу без KaScada проверил - без тормозов, основной цикл 25mcs, 1 раз в 100мс(так работает мультивибратор + RTrig) еще 400 мкс.
Когда подключите KaScada - еще 1мс 1раз в 50мс(если такую паузу установите в KaScada).
RT_svet_8266_mcp_v2.flp
Проект, на котором проверял. Не забудьте.подтягивать резисторы + питания sda,scl.
На счёт адреса каскады, это прописаны адреса в есп, а уже в каскаде я их куда хочу, туда и пропишу, главное адрес
устройства 9й в каскаде прописать. Хорошо конечно ориентироваться там 10 и там 10, но я уже как-то привык,в ПР200 вообще с 512 начинаются пользовательские, в каскаде таких нет, 200 максимум. В остальном я полностью удовлетворён, тобишь всё правильно сделал. Ну тогда как только появится возможность буду тестить на светодиодиках. Спасибо на добром слове, но думаю, что не окончена тема, просто быстро всё не могу делать, стройка, сезон, дожди.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.
Аватара пользователя
Rovki
Полковник
Сообщения: 5727
Зарегистрирован: 22 апр 2016, 17:25
Откуда: Чехов
Имя: Анатолий
Благодарил (а): 68 раз
Поблагодарили: 222 раза
Контактная информация:

Разработки ecoins

Сообщение Rovki »

[/quote]На счёт адреса каскады, это прописаны адреса в есп, а уже в каскаде я их куда хочу, туда и пропишу, главное адрес
устройства 9й в каскаде прописать. Хорошо конечно ориентироваться там 10 и там 10, но я уже как-то привык,в ПР200 вообще с 512 начинаются пользовательские, в каскаде таких нет, 200 максимум
[/quote]
Про адреса правильно говорите ,с нуля это в конроллере ...199- максимум :D в каскаде
Электронщик до мозга костей и не только
Аватара пользователя
olddolin
Сержант
Сообщения: 245
Зарегистрирован: 08 сен 2017, 19:47
Откуда: Тверь
Имя: Вадим

Разработки ecoins

Сообщение olddolin »

[ref]ecoins[/ref], Посмотрел внимательнее ваш вариант, на сколько я понял первая плата для замера цикла используется и только-то?
В флпрог на есп строго прописаны пины на i2c (0,2) Могу я вашими средствами поменять их? Блок в первых постах я скачал.
Электронщик как врач, ему нужно постоянно учиться чтобы соответствовать времени.
Закрыто

Вернуться в «Команда ecoins»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя