К знатокам Mega 2560
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
Здравствуйте. Вчера я озвучивал проблему, но все подсказки ее решению не помогли. опишу более точно:
Имеем:
1.Китайская Mega 2560.
2. 8 канальный блок твердотельных реле (симисторы)
3. Дисплей на чипе 44780
4. 8 кнопок на пульте
5. 7 концевых датчиков.
6. Питаю мегу от USB зарядки от айфона 5V 1А.
Проблема: Заливаю скетч размером 13830 байт. В нем я использую 13 блоков дисплеев на чипе 44780. По вчерашним советам оставить только два дисплея тоже особо не помогли. Когда запускаю с кнопки выполнение программы (это станок автоматический) - то на 8 канальном блоке реле, светодиод который показывает какой канал работает - моргает с высокой частотой. Это видно глазом. Я меряю мультиметром напряжение, оно близко 3В. Я продолжаю дорабатывать скетч, там много довольно условий в логике и чем больше становится скетч - тем больше просадка при проверке работы скетча. И когда он почти закончен он уже весит 15226 байт то просадка на выходах напряжение близко нулю. Особенно резкое падение когда в скетче строю блок меню из трех пунктов. Светодиоды на блоке реле еле еле видны. Нюанс в том что этот скетч как бы условно состоит из двух циклов работы механических узлов, которые лишь не много друг от друга последовательностью операций отличаются. И когда начинается второй условный цикл, то просадки на выходах практически нет и светодиоды индикаторы на блоке реле очень ярко светят как и положено. Я прикреплю изначальный файл со скетчем с кучей дисплеев. Запускается программа при нажатии кнопки старт. Я пробовал постепенно "подрезать" скетч снизу вверх, т. е. удалять группы блоков для какого то конкретного механизма и чем выше я поднимался, тем ярче становились светодиоды на блоке реле. Я уже думал может процессор в меге очень много напряжения тянет при выполнении такой задачи что ему не хватает для выходов? Может я не то Ардуино выбрал для своей задачи? В скетче есть один пользовательский блок, мне здесь на форуме его делали. Помогите пожалуйста. сам не разгребу.
Имеем:
1.Китайская Mega 2560.
2. 8 канальный блок твердотельных реле (симисторы)
3. Дисплей на чипе 44780
4. 8 кнопок на пульте
5. 7 концевых датчиков.
6. Питаю мегу от USB зарядки от айфона 5V 1А.
Проблема: Заливаю скетч размером 13830 байт. В нем я использую 13 блоков дисплеев на чипе 44780. По вчерашним советам оставить только два дисплея тоже особо не помогли. Когда запускаю с кнопки выполнение программы (это станок автоматический) - то на 8 канальном блоке реле, светодиод который показывает какой канал работает - моргает с высокой частотой. Это видно глазом. Я меряю мультиметром напряжение, оно близко 3В. Я продолжаю дорабатывать скетч, там много довольно условий в логике и чем больше становится скетч - тем больше просадка при проверке работы скетча. И когда он почти закончен он уже весит 15226 байт то просадка на выходах напряжение близко нулю. Особенно резкое падение когда в скетче строю блок меню из трех пунктов. Светодиоды на блоке реле еле еле видны. Нюанс в том что этот скетч как бы условно состоит из двух циклов работы механических узлов, которые лишь не много друг от друга последовательностью операций отличаются. И когда начинается второй условный цикл, то просадки на выходах практически нет и светодиоды индикаторы на блоке реле очень ярко светят как и положено. Я прикреплю изначальный файл со скетчем с кучей дисплеев. Запускается программа при нажатии кнопки старт. Я пробовал постепенно "подрезать" скетч снизу вверх, т. е. удалять группы блоков для какого то конкретного механизма и чем выше я поднимался, тем ярче становились светодиоды на блоке реле. Я уже думал может процессор в меге очень много напряжения тянет при выполнении такой задачи что ему не хватает для выходов? Может я не то Ардуино выбрал для своей задачи? В скетче есть один пользовательский блок, мне здесь на форуме его делали. Помогите пожалуйста. сам не разгребу.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
save people Donbass
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
На сколько мощнее ставить питание? Питаю оригинальной зарядкой от iphone там честных 5.1В 1.1АDerAlex писал(а):Поменяйте блок питания . Может он не вытягивает .
save people Donbass
-
- Лейтенант
- Сообщения: 530
- Зарегистрирован: 05 апр 2016, 23:30
- Откуда: Санкт-Петербург
- Имя: Илья
К знатокам Mega 2560
slava-fierwolf, запитайте всю периферию НЕ через мегу. Отдельной линией, только минус питания объедините.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
Т. е. дисплей и блок с реле от отдельного блока питания?starshoy81 писал(а):запитайте всю периферию НЕ через мегу. Отдельной линией, только минус питания объедините.
save people Donbass
К знатокам Mega 2560
так как у вас 2 цикла, может стОит разбить хотя бы на 2 платы(на каждой по циклу) и включить выполнение платы по выбранному циклу?
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
Сейчас так и делаю сижу. Разбил на две платы. Соединил переменной конец первого цикла и начало второго. Что еще нужно сделать, указать, чтоб заработала нужная плата? Просто какой параметр мне удобнее: выполнять по условию или Выполнять в цикле пока. Я так понял нужно создать переменную Boolean чтоб в нужном месте программы эта плата включилась? Я так думаю что выполнять по условию нужно.pan писал(а):так как у вас 2 цикла, может стОит разбить хотя бы на 2 платы(на каждой по циклу) и включить выполнение платы по выбранному циклу?
Последний раз редактировалось slava-fierwolf 19 июн 2017, 16:05, всего редактировалось 1 раз.
save people Donbass
К знатокам Mega 2560
переменную можно любую.
выполнять по условию- это при наличии заданного условия включить плату в обработку.
а выполнять в цикле- выполнять только эту плату (остальные не будут работать) пока есть заданное условие. чтоб выйти из цикла нужно будет в этой плате изменить переменную по которой она выполняется
выполнять по условию- это при наличии заданного условия включить плату в обработку.
а выполнять в цикле- выполнять только эту плату (остальные не будут работать) пока есть заданное условие. чтоб выйти из цикла нужно будет в этой плате изменить переменную по которой она выполняется
Последний раз редактировалось pan 19 июн 2017, 16:10, всего редактировалось 1 раз.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
Понял . Спасибо!pan писал(а):щелкнуть по названию платы и выбрать нужное условие привязав к переменной
save people Donbass
К знатокам Mega 2560
выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
Буду эксперементироватьpan писал(а):выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
save people Donbass
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
Господин pan, Можете глянуть проект? Два цикла. Каждый на отдельной плате. Первый цикл я запускаю с кнопки старт. Второй цикл на второй плате запускается переменной "старт ц В". Когда закончится цикл В - он через переменную "цикл" запускать должен цикл А на первой плате. Но он не запускает.slava-fierwolf писал(а):выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
Дополнено. Все пока разобрался с этим. Сейчас пробую меню с дисплеями на третью плату ставить.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Последний раз редактировалось slava-fierwolf 19 июн 2017, 18:20, всего редактировалось 1 раз.
save people Donbass
К знатокам Mega 2560
условие примерно вот так
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
pan, Спасибо) ПРобую). А втретьей плте я же могу сделать дисплеи и меню? Третья плата всегда же должна быть активна тогда?pan писал(а):условие примерно вот так
save people Donbass
К знатокам Mega 2560
в любой можете. ну если дисплеи всегда должны быть активны, то и плата соответсвенно
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
pan, значит тогда плате с дисплеями условий никаких ставить не нужно? Все оставить как есть?pan писал(а):в любой можете. ну если дисплеи всегда должны быть активны, то и плата соответсвенно
save people Donbass
К знатокам Mega 2560
угу.
только переменные с платы которая не активна, обновляться не будут!
только переменные с платы которая не активна, обновляться не будут!
Последний раз редактировалось pan 19 июн 2017, 18:40, всего редактировалось 1 раз.
К знатокам Mega 2560
А можно реверсировать вход и пока переменная активна условие не действует... Я иногда так от великой лени поступаю...pan писал(а):только переменные с платы которая не активна, обновляться не будут!
-
- Лейтенант
- Сообщения: 530
- Зарегистрирован: 05 апр 2016, 23:30
- Откуда: Санкт-Петербург
- Имя: Илья
К знатокам Mega 2560
Можно с этого же, только отдельно от меги. На мегу одна линия, на всё остальное параллельная. Через мегу пускать не надо, у нее стабилизатор может не вытянуть всех потребителей.slava-fierwolf писал(а):Т. е. дисплей и блок с реле от отдельного блока питания?
-
- Рядовой
- Сообщения: 39
- Зарегистрирован: 16 июн 2017, 15:30
- Откуда: Донецк
К знатокам Mega 2560
pan, Можете разкоммутировать две платы для корректной работы? Каждый цикл на отдельной плате. Дисплеи и меню на третьей плате активны всегда. С скетчем в таком виде та же история что и с предидущем. Первый цикл на выходах пинах выдает с бооооольшой просадкой, второй работает нормально, просадки нет.pan писал(а):угу. только переменные с платы которая не активна, обновляться не будут!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
save people Donbass
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость