К знатокам Mega 2560

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#1

Сообщение slava-fierwolf » 19.06.2017{, 00:24}

Здравствуйте. Вчера я озвучивал проблему, но все подсказки ее решению не помогли. опишу более точно:

Имеем:
1.Китайская Mega 2560.
2. 8 канальный блок твердотельных реле (симисторы)
3. Дисплей на чипе 44780
4. 8 кнопок на пульте
5. 7 концевых датчиков.
6. Питаю мегу от USB зарядки от айфона 5V 1А.

Проблема: Заливаю скетч размером 13830 байт. В нем я использую 13 блоков дисплеев на чипе 44780. По вчерашним советам оставить только два дисплея тоже особо не помогли. Когда запускаю с кнопки выполнение программы (это станок автоматический) - то на 8 канальном блоке реле, светодиод который показывает какой канал работает - моргает с высокой частотой. Это видно глазом. Я меряю мультиметром напряжение, оно близко 3В. Я продолжаю дорабатывать скетч, там много довольно условий в логике и чем больше становится скетч - тем больше просадка  при проверке работы скетча. И когда он почти закончен он уже весит 15226 байт то просадка на выходах напряжение близко нулю. Особенно резкое падение когда в скетче строю блок меню из трех пунктов. Светодиоды на блоке реле еле еле видны. Нюанс в том что этот скетч как бы условно состоит из двух циклов работы механических узлов, которые лишь не много друг от друга последовательностью операций отличаются. И когда начинается второй условный цикл, то просадки на выходах практически нет и светодиоды индикаторы на блоке реле очень ярко светят как и положено. Я прикреплю изначальный файл со скетчем с кучей дисплеев. Запускается программа при нажатии кнопки старт. Я пробовал постепенно "подрезать" скетч снизу вверх, т. е. удалять группы блоков для какого то конкретного механизма и чем выше я поднимался, тем ярче становились светодиоды на блоке реле. Я уже думал может процессор в меге очень много напряжения тянет при выполнении такой задачи что ему не хватает для выходов? Может я не то Ардуино выбрал для своей задачи? В скетче есть один пользовательский блок, мне здесь на форуме его делали. Помогите пожалуйста. сам не разгребу.
Вложения
_3.flp
(1.09 МБ) 84 скачивания
save people Donbass

Аватара пользователя
DerAlex
Лейтенант
Сообщения: 405
Зарегистрирован: 06.09.2015{, 08:39}
Репутация: 4
Откуда: Новосибирск

К знатокам Mega 2560

#2

Сообщение DerAlex » 19.06.2017{, 08:25}

Поменяйте блок питания . Может он не вытягивает .
аврора

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#3

Сообщение slava-fierwolf » 19.06.2017{, 13:10}

DerAlex писал(а):Поменяйте блок питания . Может он не вытягивает .
На сколько мощнее ставить питание? Питаю оригинальной зарядкой от iphone там честных 5.1В 1.1А
save people Donbass

starshoy81
Лейтенант
Сообщения: 524
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

К знатокам Mega 2560

#4

Сообщение starshoy81 » 19.06.2017{, 15:11}

slava-fierwolf, запитайте всю периферию НЕ через мегу. Отдельной линией, только минус питания объедините.

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#5

Сообщение slava-fierwolf » 19.06.2017{, 15:13}

starshoy81 писал(а):запитайте всю периферию НЕ через мегу. Отдельной линией, только минус питания объедините.
Т. е. дисплей и блок с реле от отдельного блока питания?
save people Donbass

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

К знатокам Mega 2560

#6

Сообщение pan » 19.06.2017{, 15:30}

так как у вас 2 цикла, может стОит разбить хотя бы на 2 платы(на каждой по циклу) и включить выполнение платы по выбранному циклу?

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#7

Сообщение slava-fierwolf » 19.06.2017{, 15:58}

pan писал(а):так как у вас 2 цикла, может стОит разбить хотя бы на 2 платы(на каждой по циклу) и включить выполнение платы по выбранному циклу?
Сейчас так и делаю сижу. Разбил на две платы. Соединил переменной конец первого цикла и начало второго. Что еще нужно сделать, указать, чтоб заработала нужная плата? Просто какой параметр мне удобнее: выполнять по условию или Выполнять в цикле пока. Я так понял нужно создать переменную Boolean чтоб в нужном месте программы эта плата включилась? Я так думаю что выполнять по условию нужно.
Последний раз редактировалось slava-fierwolf 19.06.2017{, 16:05}, всего редактировалось 1 раз.
save people Donbass

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

К знатокам Mega 2560

#8

Сообщение pan » 19.06.2017{, 16:05}

переменную можно любую.
выполнять по условию- это при наличии заданного условия включить плату в обработку.
а выполнять в цикле- выполнять только эту плату (остальные не будут работать) пока есть заданное условие. чтоб выйти из цикла нужно будет в этой плате изменить переменную по которой она выполняется
Последний раз редактировалось pan 19.06.2017{, 16:10}, всего редактировалось 1 раз.

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#9

Сообщение slava-fierwolf » 19.06.2017{, 16:06}

pan писал(а):щелкнуть по названию платы и выбрать нужное условие привязав к переменной
Понял . Спасибо!
save people Donbass

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

К знатокам Mega 2560

#10

Сообщение pan » 19.06.2017{, 16:12}

выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#11

Сообщение slava-fierwolf » 19.06.2017{, 16:23}

pan писал(а):выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
Буду эксперементировать
save people Donbass

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#12

Сообщение slava-fierwolf » 19.06.2017{, 16:54}

slava-fierwolf писал(а):выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
Господин pan, Можете глянуть проект? Два цикла. Каждый на отдельной плате. Первый цикл я запускаю с кнопки старт.  Второй цикл на второй плате запускается переменной "старт ц В".  Когда закончится цикл В - он через переменную "цикл" запускать должен цикл А на первой плате. Но он не запускает.

Дополнено. Все пока разобрался с этим. Сейчас пробую меню с дисплеями на третью плату ставить.
Вложения
4804591.flp
(590.31 КБ) 57 скачиваний
Последний раз редактировалось slava-fierwolf 19.06.2017{, 18:20}, всего редактировалось 1 раз.
save people Donbass

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

К знатокам Mega 2560

#13

Сообщение pan » 19.06.2017{, 18:25}

условие примерно вот так
Вложения
0638811.flp
(593.98 КБ) 58 скачиваний

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#14

Сообщение slava-fierwolf » 19.06.2017{, 18:31}

pan писал(а):условие примерно вот так
pan, Спасибо) ПРобую). А втретьей плте я же могу сделать дисплеи и меню? Третья плата всегда же должна быть активна тогда?
save people Donbass

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

К знатокам Mega 2560

#15

Сообщение pan » 19.06.2017{, 18:32}

в любой можете. ну если дисплеи всегда должны быть активны, то и плата соответсвенно

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#16

Сообщение slava-fierwolf » 19.06.2017{, 18:33}

pan писал(а):в любой можете. ну если дисплеи всегда должны быть активны, то и плата соответсвенно
pan, значит тогда плате с дисплеями условий никаких ставить не нужно? Все оставить как есть?
save people Donbass

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

К знатокам Mega 2560

#17

Сообщение pan » 19.06.2017{, 18:38}

угу.
 только переменные с платы которая не активна, обновляться не будут!
Последний раз редактировалось pan 19.06.2017{, 18:40}, всего редактировалось 1 раз.

injener
Сержант
Сообщения: 105
Зарегистрирован: 23.10.2016{, 09:42}
Репутация: 2

К знатокам Mega 2560

#18

Сообщение injener » 19.06.2017{, 19:47}

pan писал(а):только переменные с платы которая не активна, обновляться не будут!
А можно реверсировать вход и пока переменная активна условие не действует... Я иногда так от великой лени поступаю...

starshoy81
Лейтенант
Сообщения: 524
Зарегистрирован: 05.04.2016{, 23:30}
Репутация: 29
Откуда: Санкт-Петербург
Имя: Илья

К знатокам Mega 2560

#19

Сообщение starshoy81 » 19.06.2017{, 20:39}

slava-fierwolf писал(а):Т. е. дисплей и блок с реле от отдельного блока питания?
Можно с этого же, только отдельно от меги. На мегу одна линия, на всё остальное параллельная. Через мегу пускать не надо, у нее стабилизатор может не вытянуть всех потребителей.

slava-fierwolf
Рядовой
Сообщения: 39
Зарегистрирован: 16.06.2017{, 15:30}
Репутация: 0
Откуда: Донецк

К знатокам Mega 2560

#20

Сообщение slava-fierwolf » 19.06.2017{, 20:46}

pan писал(а):угу. только переменные с платы которая не активна, обновляться не будут!
 pan, Можете разкоммутировать две платы для корректной работы? Каждый цикл на отдельной плате. Дисплеи и меню на третьей плате активны всегда. С скетчем в таком виде та же история что и с предидущем. Первый цикл на выходах пинах выдает с бооооольшой просадкой, второй работает нормально, просадки нет.
Вложения
6235819.flp
(802.73 КБ) 50 скачиваний
save people Donbass

Ответить

Вернуться в «ATmega32u4,2560»