Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Имеем:
1.Китайская Mega 2560.
2. 8 канальный блок твердотельных реле (симисторы)
3. Дисплей на чипе 44780
4. 8 кнопок на пульте
5. 7 концевых датчиков.
6. Питаю мегу от USB зарядки от айфона 5V 1А.
Проблема: Заливаю скетч размером 13830 байт. В нем я использую 13 блоков дисплеев на чипе 44780. Когда запускаю с кнопки выполнение программы (это станок автоматический) - то на 8 канальном блоке реле, светодиод который показывает какой канал работает - моргает с высокой частотой. Это видно глазом.
Дальше я дорабатываю скетч ставлю внутри еще 9 блоков дисплеев, размер скетча при этом становится 15226 байт. Заливаю скетч в мегу. Запускаю выполнение скетча и на 8 канальном блоке реле, светодиод который показывает какое в данный момент реле активно - вобще еле еле тлеет еле заметно. Замыкается ли реле при этом не знаю не замерял. Еще в скетче использую не сложное меню из 6 пунктов, значение 3х из которых я записываю в EEPROM.
Дело в том что когда простейший скетч заливаю размером 1644 байта в эту же мегу что бы одной кнопкой включать все 8 каналов реле, в любой последовательности и в любом варианте то все работает и все светодиоды ярко светятся.
И на последок когда в большой скетч размером 15226 просто добавляю отдельную кнопку которая замыкает эти все каналы реле то до запуска автоматической логики станка при нажатии на эту кнопку все светодиоды блока реле светятся ярко и без морганий. Когда нажму старт, т. е. автоматическое выполнение логики то при нажатии этой отдельной кнопки все светодиоды на блоке реле включаются ярко но уже с некоторым морганием высокой частоты. Друзья, в чем проблема куда копать?
1.Китайская Mega 2560.
2. 8 канальный блок твердотельных реле (симисторы)
3. Дисплей на чипе 44780
4. 8 кнопок на пульте
5. 7 концевых датчиков.
6. Питаю мегу от USB зарядки от айфона 5V 1А.
Проблема: Заливаю скетч размером 13830 байт. В нем я использую 13 блоков дисплеев на чипе 44780. Когда запускаю с кнопки выполнение программы (это станок автоматический) - то на 8 канальном блоке реле, светодиод который показывает какой канал работает - моргает с высокой частотой. Это видно глазом.
Дальше я дорабатываю скетч ставлю внутри еще 9 блоков дисплеев, размер скетча при этом становится 15226 байт. Заливаю скетч в мегу. Запускаю выполнение скетча и на 8 канальном блоке реле, светодиод который показывает какое в данный момент реле активно - вобще еле еле тлеет еле заметно. Замыкается ли реле при этом не знаю не замерял. Еще в скетче использую не сложное меню из 6 пунктов, значение 3х из которых я записываю в EEPROM.
Дело в том что когда простейший скетч заливаю размером 1644 байта в эту же мегу что бы одной кнопкой включать все 8 каналов реле, в любой последовательности и в любом варианте то все работает и все светодиоды ярко светятся.
И на последок когда в большой скетч размером 15226 просто добавляю отдельную кнопку которая замыкает эти все каналы реле то до запуска автоматической логики станка при нажатии на эту кнопку все светодиоды блока реле светятся ярко и без морганий. Когда нажму старт, т. е. автоматическое выполнение логики то при нажатии этой отдельной кнопки все светодиоды на блоке реле включаются ярко но уже с некоторым морганием высокой частоты. Друзья, в чем проблема куда копать?
Последний раз редактировалось slava-fierwolf 18 июн 2017, 16:01, всего редактировалось 1 раз.
save people Donbass
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
.
Последний раз редактировалось Nikan 23 мар 2023, 17:40, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
22 блока дисплея. Не физических. Проект довольно не простой. Я пытаюсь понять связь в такой не корректной работе выходов с увеличением физического размера скетчаNikan писал(а):у Вас 22 физических дисплея или блоков?
save people Donbass
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Дело не в размере скетча. 22 блока дисплея не корректно. Каждый цикл обрабатывается каждый. Сведите все к одному. Переключайте вход по условию.
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
.
Последний раз редактировалось Nikan 23 мар 2023, 17:39, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
А сколько же Мега 2560 может обрабатывать блоков дисплеев? Они все работают в разной последовательности. Выводят информацию в разных областях экрана. Что то константа, что то выводит показания счетчика, некоторые показывают какой агрегат в данный момент активен.Vitez писал(а):Дело не в размере скетча. 22 блока дисплея не корректно. Каждый цикл обрабатывается каждый. Сведите все к одному. Переключайте вход по условию.
Добавлено (18.06.2017, 16:10)
---------------------------------------------
если вы подумали что какие то значения выводимые на дисплей активны одновременно, то нет. Все блоки дисплея включаются во время выполнении какой то операции и выключаются когда операция выполнена.Nikan писал(а):ваша проблема не в размере проги, а в не корректном ее исполнении.задачи во время выполнения налезают одна на другую.
Добавлено (18.06.2017, 16:15)
---------------------------------------------
Буду пытаться сократить количество отображаемой информации. Не думал что Мега в этом плане такая дохлая. Специально выбирал Мегу чтоб с запасом возможностей.
save people Donbass
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
.
Последний раз редактировалось Nikan 23 мар 2023, 17:38, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Сделал девять дисплеев. В скетче два цикла которые друг за другом повторяются. Во втором цикле нормализовалась работа реле, в первом все по старому.Nikan писал(а):еше раз повторюсь - блоков должно быть ровно столько сколько строк в дисплее
save people Donbass
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
.
Последний раз редактировалось Nikan 23 мар 2023, 17:38, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
о спасибо. попробую так.Nikan писал(а):трудно жить без пистолета, если у соседа пулемет...
save people Donbass
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Про пистолет порвало!
Дисплеев реальных у вас один, а виртуальных можно наляпать хоть сотню!
Дисплеев реальных у вас один, а виртуальных можно наляпать хоть сотню!
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Мужики хватит ржать. Проблема не решена.
save people Donbass
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
.
Последний раз редактировалось Nikan 23 мар 2023, 17:38, всего редактировалось 2 раза.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Загрузил вашу версию. Спасибо. Но результат тот же черт возьми. Много триггеров? RTrigом выделяю только импульс. RSTrigerом включаю следующий узел в станке когда останавливается пред идущий и этим же триггером сигналом из концевика выключаю. Там есть пользовательский блок, господин pan мне его любезно сделал, за что ему спасибо. Он отслеживает появление единицы и изменение её на ноль. Т.е он видит что двигатель заработал и остановился и года это произошло - он дает сигнал след двигателю. Я двое суток уже просидел за компом. И так пробовал и так.. Почему сюда и пишу к знатокам.)Nikan писал(а):вот путь куда двигаться с дисплееми то что на моей картинке.
и еще - подключите дисплей по 4-х битной шине.
i2c очень медленная((
и на кой черт там столько триггеров?
Прикрепления: _3_v1.flp(992Kb)
Добавлено (19.06.2017, 02:29)
---------------------------------------------
ткните носом в статью где можно увидеть как это делать???Nikan писал(а):подключите дисплей по 4-х битной шине.
save people Donbass
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Опишите пожалуйста точно алгоритм. А то честно говоря у Вас в проекте какой то бред. Почему Вы в пределах одного цикла два раза пишете в один и тот же выход (мотор2нож, мотор3стола и т. д.). При такой схеме поведение вообще не предсказуемое. Я так подозреваю дисплеи тут ни при чём. Просто с логикой не всё в порядке.
Так быть не должно. Он должен или гореть или не гореть (выхода цифровые а не ШИМ). Если мигает, значит проблемы в программе.slava-fierwolf писал(а):светодиод который показывает какой канал работает - моргает с высокой частотой. Это видно глазом.
Длительность цикла немного увеличилась, и соответственно выход стал больше времени выключен чем включён.slava-fierwolf писал(а):Дальше я дорабатываю скетч ставлю внутри еще 9 блоков дисплеев, размер скетча при этом становится 15226 байт. Заливаю скетч в мегу. Запускаю выполнение скетча и на 8 канальном блоке реле, светодиод который показывает какое в данный момент реле активно - вобще еле еле тлеет еле заметно.
Автор программы FLProg.
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Блок дергает передачу данных только в случае если он в данный момент активен (еденичка на входе EN), если он не активен, то он просто пропускается.Nikan писал(а):каждый блок дергает передачу данных не дисплей, дисплей медленный, и пока передача не закончена Мк ничего другого не делает
Автор программы FLProg.
- support
- Супермодератор
- Сообщения: 1902
- Зарегистрирован: 03 янв 2018, 11:45
- Откуда: Астрахань
- Имя: Сергей
- Контактная информация:
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Как я понял Ваш алгоритм:
1.По кнопке ПУСК станок запускается Мотор 1 и наматывает витки. Каждый виток - одно замыкание конечника 1.
2. При намотке заданного в меню количества витков мотор 1 останавливается и запускается Мотор2 (нож) (я только не понял зачем везде понаставленны задержки на полторы секунды).
3. По срабатыванию конечника 2 останавливается Мотор 2 и запускается Мотор 3 (стол).
4. По срабатыванию конечника 3 останавливается Мотор 3 и запускается Мотор 5 (захват).
5. По срабатыванию конечника 6 останавливается Мотор 5
А вот дальше пошла полная каша и я ничего не понял))))
Когда должен включаться Мотор 4 (сгиб). Останавливаться он должен как я понимаю по конечнику 5
1.По кнопке ПУСК станок запускается Мотор 1 и наматывает витки. Каждый виток - одно замыкание конечника 1.
2. При намотке заданного в меню количества витков мотор 1 останавливается и запускается Мотор2 (нож) (я только не понял зачем везде понаставленны задержки на полторы секунды).
3. По срабатыванию конечника 2 останавливается Мотор 2 и запускается Мотор 3 (стол).
4. По срабатыванию конечника 3 останавливается Мотор 3 и запускается Мотор 5 (захват).
5. По срабатыванию конечника 6 останавливается Мотор 5
А вот дальше пошла полная каша и я ничего не понял))))
Когда должен включаться Мотор 4 (сгиб). Останавливаться он должен как я понимаю по конечнику 5
Автор программы FLProg.
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
У вас не дисплеи, у вас блоки матеряться.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
Проблемы с Mega 2560 после заливки крупного скетча. Help!?!?
Начало «Под цикл А»support писал(а):Опишите пожалуйста точно алгоритм. А то честно говоря у Вас в проекте какой то бред. Почему Вы в пределах одного цикла два раза пишете в один и тот же выход (мотор2нож, мотор3стола и т. д.). При такой схеме поведение вообще не предсказуемое. Я так подозреваю дисплеи тут ни при чём. Просто с логикой не всё в порядке.
1) Нажимаем СТАРТ
2)Запускается двигатель М1
3) Двигатель М1 выполняет заданное количество оборотов редуктора (на пример 30)
4)Датчик Д1 считает количество оборотов редуктора и При достижении
нужного количества витков (на пример 30) - останавливает двигатель М1.
5) Запускается двигатель М2 (двигатель ножниц)
6)Двигатель М2 выполняет поворот редуктора на360°
7)ДатчикД2 считав что двигатель Д2 выполнил поворот редуктора на 360° - отключает
двигатель М2
8)Запускается двигатель М3 (перемещение стола)
9) ДатчикД3 считав что двигатель М3 выполнил поворот редуктора на 180° - отключает
двигатель М3
10) Запускается двигатель М5 (перевод захватов
сетки)
11) Двигатель М5 выполняет поворот
редуктора на 180°
12) Датчик Д6 считывает что двигатель М5 повернул редуктор на 180° - отключает двигатель М5 Конец «Под цикл А»
Начало «Под цикл В»
13) Запускается двигатель М1
14) Двигатель М1 выполняет заданное количество оборотов редуктора (на пример 31)
15) Датчик Д1 считает количество оборотов редуктора и при При
достижении нужного количества витков (на
пример 31) - останавливает мотор 1
16) Запускается двигатель М2 (двигатель ножниц)
17) Двигатель М2 выполняет поворот редуктора на 360°
18) Датчик Д2 считав что двигатель Д2 выполнил поворот редуктора на 360° - отключает двигатель М2
19) Запускается двигатель М5 (перевод захватов сетки)
20) Двигатель М5 выполняет поворот редуктора на 180°
21) Датчик Д7 считывает что двигатель М5 повернул редуктор на 180° -
отключает двигатель М5
22) Включается двигатель М3 и М4 одновременно (хотя можно сделать М4 чуть с задержкой чтоб
снизить нагрузку на электросеть при запуске двух двигателей одновременно)
23) Датчик Д4 считав что двигатель М3 выполнил поворот редуктора на 180° - отключает двигатель М3
24) Двигатель М4 выполняет поворот редуктора на 360°
25) Датчик Д5 считав что двигатель М4 выполнил поворот редуктора на 360° - отключает двигатель М4 Конец «Под цикл В»
Добавлено (19.06.2017, 12:44)
---------------------------------------------
Да там стоит для конечника условие что бы он давал сигнал только тогда когда мотор уже рабоатет и стоит RTRIG потому как в пред идущей работе двигатель может остановиться на концевике и этот сигнал не должен учитываться при следующем запуке двигателя. Сгиб работает только один раз чтоб согнуть края двух сплетенных ячеек. Может показаться кашей, но в этом скетче как бы два под цикла в которых последовательность одних и тех же физических узлов станка не много отличается с целью избежать конфликта узлов станка. Задержки стоят на всякий случай, для гашения возможной инерции узлов. На двигателе 1 точно будет инренцияsupport писал(а):А вот дальше пошла полная каша и я ничего не понял))))Когда должен включаться Мотор 4 (сгиб). Останавливаться он должен как я понимаю по конечнику 5
Последний раз редактировалось slava-fierwolf 19 июн 2017, 14:05, всего редактировалось 1 раз.
save people Donbass
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей