Питание Arduino
- Войдите на сайт для отправки комментариев
Не могу победить. Где-то нужен фильтр, конденсатор или что-то в этом духе...
Дано: проект на Arduino, к нему подключено 2 датчика на I2C шине, реле, сервоприводы, энкодер и дисплей LCD2004 тоже на i2c.
При старте включается дисплей на пару секунд и тут же гаснет. Дальше программа работает идеально: при нажатии на энкодер - включается, читает значения с датчиков, двигает сервами...
Но это при подаче питания с USB ноутбука. При питании тем же кабелем от USB-зарядника на 1А загорается экран и Ардуино виснет. Наатие на кнопку перезагрузке приводит к нормальной работе.
При питании от 2-амперного блока питания ситуация та же. Но если подключить одновременно блок питания и USB-зарядник, блок питания воткнуть в сеть, а зарядник - нет, то в большинстве случаев стартует нормально.
Вот и вопрос: что не хватает Ардуине и, если дело вдруг в программе (может, при инициализации дисплея что-то происходит), можно ли перезагрузить плату программно?
Вот и вопрос: что не хватает Ардуине и, если дело вдруг в программе (может, при инициализации дисплея что-то происходит), можно ли перезагрузить плату программно?
Универсальный ответ: ХЗ
Отключить реле, сервоприводы, проверить. Подключить обратно реле или сервоприводы, определить что из этого мешает. Дешевое быстрое решение - диод в цепь +, после него ~2200 мкФ и сюда подключена ардуина, остальное запитывается до диода. Ну как вы просили... конденсатор и всякое такое. Проверьте как подключены питание и земля ко всем устройствам, грубо говоря все севроприводы и реле (+ его силовой транзистор) должны быть подключены одними проводами к БП, а ардуино и всякая мелочь отдельными другими.
Отключить реле, сервоприводы, проверить. Подключить обратно реле или сервоприводы, определить что из этого мешает.
Проверил. Ничего не мешает. То есть, дело либо в шине I2C (там 2 датчика и экран), либо в самом питании (есть опасение, что блок не сразу даёт нужную мощность, а "раскачивается" несколько десятых секунд, в результате чего ардуино виснет).
Отключать I2C не могу, т.к. без экрана не пойму, работает ли вообще программа.
Возможно, дело в инициализации LCD дисплея. А есть ли возможность отследить инициализацию в Setup и перезагрузить программно arduino в случае ошибки?
Отключить реле, сервоприводы, проверить. Подключить обратно реле или сервоприводы, определить что из этого мешает. Дешевое быстрое решение - диод в цепь +, после него ~2200 мкФ и сюда подключена ардуина, остальное запитывается до диода. Ну как вы просили... конденсатор и всякое такое. Проверьте как подключены питание и земля ко всем устройствам, грубо говоря все севроприводы и реле (+ его силовой транзистор) должны быть подключены одними проводами к БП, а ардуино и всякая мелочь отдельными другими.
Ну а вдруг ? )
I2C подтянуты к + резисторами ? Без работы с датчиками попробуйте, может просто дисплей глючный, I2C его родной или какой то отдельный модуль ?
Вот и вопрос: что не хватает Ардуине
Вот и ответ. Чего не хватает ардуине - ХЗ, а данному посту не хватает схем и фото всех опробованных вариантов подключения с описание как в каком случае себя вело и скетча.
Ну а вдруг ? )
Вот и вопрос: что не хватает Ардуине
Вот и ответ. Чего не хватает ардуине - ХЗ, а данному посту не хватает схем и фото всех опробованных вариантов подключения с описание как в каком случае себя вело и скетча.
Схема до смешного простая
за маленьким исключением - к ножкам А4 и А5 через резисторы 10 ком подтянута логическая единица.
Повторюсь, вдруг кто не увидел: при включении блока питания в розетку программа чаще всего не стартует, но при перезагрузке кнопкой 100% стартует.
Вот и вопрос: что не хватает Ардуине
Вот и ответ. Чего не хватает ардуине - ХЗ, а данному посту не хватает схем и фото всех опробованных вариантов подключения с описание как в каком случае себя вело и скетча.
при включении блока питания в розетку программа чаще всего не стартует, но при перезагрузке кнопкой 100% стартует.
а резисторы на 10к зачем нужны на пинах i2c?
Схема до смешного простая
А после смешного на ней нет того самого питания из-за которого вообще весь сыр-бор. Вас просили ВАШУ схему, а не левое картинко из Интернета, которое Вы где-то нашли.
Если Вас устраивают левые картинки, то могу Вам посоветовать почитать вот здесь. Там скорее всего нет решения Вашей проблемы, это я просто ссылку в Интернете нашёл.
а резисторы на 10к зачем нужны на пинах i2c?
Иначе устройство не будет знать где 1, а где 0.
Но вы натолкнули на одну мысль: а может не 10 ком, а 5, например, нужно...
Но вы натолкнули на одну мысль: а может не 10 ком, а 5, например, нужно...
Давайте я Вас натолкну на ещё одну: а может, даташит почитать? Там даже формула есть по которой считают сколько нужно!
ЕвгенийП, я и так понял, что решения или дельного совета от вас не дождёшься даже если на схеме нарисовать блок питания, подключённый к + и -
Такова ваша суть. Спасибо за участие и попрошу больше в этой теме не писать.
Спасибо за разъяснение моей сути и попрошу больше не указывать где мне писать, а где - нет. Я уже большой мальчик - сам разберусь.
И запомните, если Вам лень нарисовать схему для решения СВОЕЙ проблемы, не надейтесь, что кому-то будет не лень угадывать что там за схема для решения ЧУЖОЙ проблемы.
Проверьте как подключены питание и земля ко всем устройствам, грубо говоря все севроприводы и реле (+ его силовой транзистор) должны быть подключены одними проводами к БП, а ардуино и всякая мелочь отдельными другими.
А вот это я упустил, каюсь. У меня всё подключено в одну точку (эта точка в 3 см от бп и в нескольких мм от ардуино) и я, честно говоря, не понимаю разницы.
не понимаю разницы.
Если бы понимал - темы этой не было бы. Хочешь понять - читай книжки.
не понимаю разницы.
Если бы понимал - темы этой не было бы. Хочешь понять - читай книжки.
Это точно. Я новичок в этом, понятия не имел, что с питанием могут возникнуть проблемы. Если можете, поделитесь информацией.
Нашёл ещё совет (но это именно от помех) ставить параллельно электролитическому конденсатору на входе питания керамический на 0.1-1 uF. Смысл, опять-таки, мне непонятен. Разве что помню из курса физики, что ёмкость просуммируется, но это же получится добавление к камазу щебня ещё ведёрка, а значит, смысл там какой-то другой.
И вот ещё подумалось: а что будет, если подключить ардуино к 5-вольтовому блоку через VIN и GND, а модули питать через GND и +5V
А что тут понимать? Любые провода имеют сопротивление. По закону ома, при протекании по ним тока на них есть падение напряжения. Соответственно напряжение у потребителя всегда меньше, чем у источника питания. Чем больше тока, тем больше падение. Для цифровой техники это особенно актуально, потому что цифровые импульсы живут по законам высокочастотного перемещения тока - для них сопротивление проводов намного выше, чем для постоянного. Поэтому если все потребители тока живут на одном проводочке от блока питания, то в точке, где проводок разделяется, напряжение прыгает при всех изменениях потребления отдельными элементами. Для цифровой техники это может приводить к ложным сигналам. Поэтому делят провода питания - для силовых и сигнальных цепей и ставят фильтры.
А что тут понимать? Любые провода имеют сопротивление. По закону ома, при протекании по ним тока на них есть падение напряжения. Соответственно напряжение у потребителя всегда меньше, чем у источника питания. Чем больше тока, тем больше падение. Для цифровой техники это особенно актуально, потому что цифровые импульсы живут по законам высокочастотного перемещения тока - для них сопротивление проводов намного выше, чем для постоянного. Поэтому если все потребители тока живут на одном проводочке от блока питания, то в точке, где проводок разделяется, напряжение прыгает при всех изменениях потребления отдельными элементами. Для цифровой техники это может приводить к ложным сигналам. Поэтому делят провода питания - для силовых и сигнальных цепей и ставят фильтры.
Не знал. По моей логике сопротивлением провода 0.25 мм2 длиной 3см можно пренебречь при таких потребителях как ардуино и lcd дисплей.
Попробовал отключить подсветку на дисплее - проблема не решена, ардуино будто вообще не читает код "прошивки".
На предстоящей неделе перепробую все предложенные в теме методы. Всем спасибо.
И всё же я хотел бы понять принципиальную разницу между стартом Ардуино при подаче питания и стартом после перезагрузки.
Не знал. По моей логике сопротивлением провода 0.25 мм2 длиной 3см можно пренебречь при таких потребителях как ардуино и lcd дисплей.
При таких да. Оставьте один дисплей и i2c расширитель, с ними проблем с проводами не будет, если глючит и так - это проблема со скетчем, библиотекой или железом.
Конденсаторы разной емкости параллелят т.к. у них индуктивность/сопротивление на разных частотах разное, цифровые схемы порождают "иголки" по питанию (на осциллографе так выглядят при медленной развертке), электролиты в сотни мкФ их сгладить не способны из за своей конструкции, а вот керамика 0,1 мкФ вполне и на узкую "иглу" заряда такого конденсатора хватает, всякие моторчики или реле тоже могут вызывать броски тока и короткие просадки напряжения. Вообще увешать схему конденсаторами в точках питания модулей неплохая идея (особенно сервоприводов, драйверов моторов, на ключ реле), хуже точно не будет.
Осциллографа нет ? Встать бы на питание и посмотреть, а то напряжение то может и нормальное, а как серва повернуться захочет - хренак и 0.5 вольта нет на долю секунды, видел такое.
Не знал. По моей логике сопротивлением провода 0.25 мм2 длиной 3см можно пренебречь при таких потребителях как ардуино и lcd дисплей.
При таких да. Оставьте один дисплей и i2c расширитель, с ними проблем с проводами не будет, если глючит и так - это проблема со скетчем, библиотекой или железом.
Конденсаторы разной емкости параллелят т.к. у них индуктивность/сопротивление на разных частотах разное, цифровые схемы порождают "иголки" по питанию (на осциллографе так выглядят при медленной развертке), электролиты в сотни мкФ их сгладить не способны из за своей конструкции, а вот керамика 0,1 мкФ вполне и на узкую "иглу" заряда такого конденсатора хватает, всякие моторчики или реле тоже могут вызывать броски тока и короткие просадки напряжения. Вообще увешать схему конденсаторами в точках питания модулей неплохая идея (особенно сервоприводов, драйверов моторов, на ключ реле), хуже точно не будет.
Осциллографа нет ? Встать бы на питание и посмотреть, а то напряжение то может и нормальное, а как серва повернуться захочет - хренак и 0.5 вольта нет на долю секунды, видел такое.
Спасибо за разъяснение по конденсаторам. Думаю, именно такой стоит в телефонном заряднике, раз с ним проект запускается. Осцилографа нет. Но не сервомотор уменьшает напряжение - он сейчас отключён, да и в целом, когда серво двигается, нет проблем с работой программы.
Это точно. Я новичок в этом, понятия не имел, что с питанием могут возникнуть проблемы. Если можете, поделитесь информацией.
100% дело в блоке питания. Пробую запустить от мощной usb-зарядки, стартует легко и непринуждённо, а от этой - только после перезагрузки.
Заказал другой блок питания, а с существующим также можно победить: нужно лишь настроить BODEN/BODLEVEL. Пытаюсь найти информацию, как это сделать.
Да что это за бп от которого ардуина нормально не работает ? Его разве что как зарядку использовать.
5 вольт 2 ампера. Но я, кажется, понял причину, озвучивать тут свои догадки пока не буду. Заеду в магазин радиодеталей, а там видно будет.
Возможно у БП плавное нарастание выходного.
Ребята, спасибо всем хорошим людям за участие. Забегая вперёд, скажу, что проблема на 100% решена. Но суть не в этом.
Читая тех товарищей, что приходят в раздел для новичков самоутверждаться, поневоле возникает такой образ:
первоклассник спрашивает у старшеклассника: "а что такое проценты?" и получает ответ "в каком контексте употреблено слово процент, ты, дурак, пойми, что процент от дробного числа - это одно, а от комплексного - этого тебе вообще не понять, и вообще тебе надо пройти весь учебник второго класса по математике, освоить третий класс, сдать экзамен, и лишь затем ты сможешь ответить на свой вопрос".
или "я коснулся оголенного провода, идущего от розетки, почему же меня не убило током?" "а ты уверен, что не убило? Принеси справку о том, что не убило, и вообще, предоставь мне результаты твоего медосмотра, кардиограмму, её копию с живой печатью и анализы мочи, предоставь схему разводки до розетки, сечение кабеля и замеры сопротивления изоляции".
Ну вы понимаете, какой абсурд тут на форуме творится.
А я в свою очередь понимаю, что вот эти, самоутверждающиеся за счёт новичков, они ни разу не практики и, вероятно, блок питания ни разу в жизни к Ардуино не подключали и не сделали в жизни ни одного рабочего и нужного проекта (мигание светодиодами не в счёт).
Своё решение я тут не выкладываю, свинорылым теоретикам (никого конкретно не называю) оно не нужно, а если зелёные новички, такие как я, задумавшие сделать устройство, столкнутся с такой же проблемой, могут написать в личные сообщения.
первоклассник спрашивает у старшеклассника: "а что такое проценты?" и получает ответ "в каком контексте употреблено слово процент, ты, дурак, пойми, что процент от дробного числа - это одно, а от комплексного - этого тебе вообще не понять,
Попробуйте сами. Объясните мне, что такое процент. Потом Дракуле, Буму, странному человеку из темы с катушкой. Заходите на форум каждую неделю или день и заново объясняйте что такое процент совершенно разным людям и троллям. После этого будете иметь более объективное мнение о безумии на форуме.
Пока закинул в "Отвлеченные", но личное мнение, удалить, а автора забанить. А то еще один с оскорбленными чуйствами, мало верующих ветеранов.