FLProg
Вход на сайт
Логин:
Пароль:
Поиск
...
Статистика
Четверг, 14.12.2017, 12:59
Приветствую Вас Гость | RSS
Главная | Регистрация | Вход

Поиск по сайту


Форум
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 41234»
Модератор форума: support, Сергей, Anydy, Олег 
Форум » Основной » Железо - контроллеры, шилды, датчики и др. » Контроллеры » К знатокам Mega 2560 (Просадка напряжения на цифровых выходах.)
К знатокам Mega 2560
slava-fierwolf Дата: Понедельник, 19.06.2017, 00:24 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Здравствуйте. Вчера я озвучивал проблему, но все подсказки ее решению не помогли. опишу более точно:

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

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


save people Donbass
 
DerAlex Дата: Понедельник, 19.06.2017, 08:25 | Сообщение # 2
Полковник
Группа: Проверенные
Сообщений: 390
Награды: 4
Репутация: 7
Статус: Offline
Поменяйте блок питания . Может он не вытягивает .

аврора
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 13:10 | Сообщение # 3
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата DerAlex ()
Поменяйте блок питания . Может он не вытягивает .
На сколько мощнее ставить питание? Питаю оригинальной зарядкой от iphone там честных 5.1В 1.1А


save people Donbass
 
starshoy81 Дата: Понедельник, 19.06.2017, 15:11 | Сообщение # 4
Подполковник
Группа: Проверенные
Сообщений: 238
Награды: 1
Репутация: 0
Статус: Offline
slava-fierwolf, запитайте всю периферию НЕ через мегу. Отдельной линией, только минус питания объедините.
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 15:13 | Сообщение # 5
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата starshoy81 ()
запитайте всю периферию НЕ через мегу. Отдельной линией, только минус питания объедините.
Т. е. дисплей и блок с реле от отдельного блока питания?


save people Donbass
 
pan Дата: Понедельник, 19.06.2017, 15:30 | Сообщение # 6
Генерал-полковник
Группа: Проверенные
Сообщений: 1241
Награды: 41
Репутация: 38
Статус: Offline
так как у вас 2 цикла, может стОит разбить хотя бы на 2 платы(на каждой по циклу) и включить выполнение платы по выбранному циклу?
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 15:58 | Сообщение # 7
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
так как у вас 2 цикла, может стОит разбить хотя бы на 2 платы(на каждой по циклу) и включить выполнение платы по выбранному циклу?
Сейчас так и делаю сижу. Разбил на две платы. Соединил переменной конец первого цикла и начало второго. Что еще нужно сделать, указать, чтоб заработала нужная плата? Просто какой параметр мне удобнее: выполнять по условию или Выполнять в цикле пока. Я так понял нужно создать переменную Boolean чтоб в нужном месте программы эта плата включилась? Я так думаю что выполнять по условию нужно.


save people Donbass

Сообщение отредактировал slava-fierwolf - Понедельник, 19.06.2017, 16:05
 
pan Дата: Понедельник, 19.06.2017, 16:05 | Сообщение # 8
Генерал-полковник
Группа: Проверенные
Сообщений: 1241
Награды: 41
Репутация: 38
Статус: Offline
переменную можно любую.
выполнять по условию- это при наличии заданного условия включить плату в обработку.
а выполнять в цикле- выполнять только эту плату (остальные не будут работать) пока есть заданное условие. чтоб выйти из цикла нужно будет в этой плате изменить переменную по которой она выполняется


Сообщение отредактировал pan - Понедельник, 19.06.2017, 16:10
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 16:06 | Сообщение # 9
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
щелкнуть по названию платы и выбрать нужное условие привязав к переменной
Понял . Спасибо!


save people Donbass
 
pan Дата: Понедельник, 19.06.2017, 16:12 | Сообщение # 10
Генерал-полковник
Группа: Проверенные
Сообщений: 1241
Награды: 41
Репутация: 38
Статус: Offline
выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 16:23 | Сообщение # 11
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
Буду эксперементировать


save people Donbass
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 16:54 | Сообщение # 12
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата slava-fierwolf ()
выбрать условие или цикл это вам виднее. смотря как нужно выполнять циклы. я честно говоря не вникал в логику работы вашего проекта)
Господин pan, Можете глянуть проект? Два цикла. Каждый на отдельной плате. Первый цикл я запускаю с кнопки старт.  Второй цикл на второй плате запускается переменной "старт ц В".  Когда закончится цикл В - он через переменную "цикл" запускать должен цикл А на первой плате. Но он не запускает.

Дополнено. Все пока разобрался с этим. Сейчас пробую меню с дисплеями на третью плату ставить.
Прикрепления: 4804591.flp(590Kb)


save people Donbass

Сообщение отредактировал slava-fierwolf - Понедельник, 19.06.2017, 18:20
 
pan Дата: Понедельник, 19.06.2017, 18:25 | Сообщение # 13
Генерал-полковник
Группа: Проверенные
Сообщений: 1241
Награды: 41
Репутация: 38
Статус: Offline
условие примерно вот так
Прикрепления: 0638811.flp(594Kb)
 
slava-fierwolf Дата: Понедельник, 19.06.2017, 18:31 | Сообщение # 14
Сержант
Группа: Проверенные
Сообщений: 39
Награды: 0
Репутация: 0
Статус: Offline
Цитата pan ()
условие примерно вот так

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


save people Donbass
 
pan Дата: Понедельник, 19.06.2017, 18:32 | Сообщение # 15
Генерал-полковник
Группа: Проверенные
Сообщений: 1241
Награды: 41
Репутация: 38
Статус: Offline
в любой можете. ну если дисплеи всегда должны быть активны, то и плата соответсвенно
 
Форум » Основной » Железо - контроллеры, шилды, датчики и др. » Контроллеры » К знатокам Mega 2560 (Просадка напряжения на цифровых выходах.)
Страница 1 из 41234»
Поиск:

FLProg © 2017
Яндекс.Метрика