Arduino перезагружается или зависает
- Войдите на сайт для отправки комментариев
Чт, 16/07/2015 - 18:33
Arduino UNO перезагружается или зависает как исправить срочно надо!!!!!!!!!!!!!!!!!!!!!!!!!
Arduino UNO перезагружается или зависает как исправить срочно надо!!!!!!!!!!!!!!!!!!!!!!!!!
Arduino UNO перезагружается или зависает как от внешнего питания так и от USB.
Погоди, у меня хрустальный шар под диван закатился. Сейчас достану и посмотрю, что там у тебя сломалось.
Что там может сломаться - это же раздел "программирование"! Надо код смотреть...
Что там может сломаться - это же раздел "программирование"! Надо код смотреть...
Злой модератор режет мои посты? Айяйяй!
Злой модератор режет мои посты? Айяйяй!
модератор-русофоб
А куда ОП подевался? Народ требует
кровиподробностей.ОП? Что за зверь?
ОП? Что за зверь?
Открыватель Пересуда?
Тут такая вешь: Я делаю радуоуправление машиной и подключил регулятор скорости к arduino и когда я газую ардуина перезагружается и машина движется рывками. Я замерил напряжение на выходах регулятора и оказалось там скочки напряжения , сначало 5 вольт, потом я газую и резко падает до 1, потом опять 5 и получается машина движется рывками(или может у меня мультиметр глюкнул не знаю) в любом случаи как исправить??? Регулятор
HPI SC-3SWP
Подать отдельное питание на ардуино?
Софтово - никак. Надо переходить в раздел "Аппаратные проблемы". А там где-нибудь найдете тему про UBEC или просто способы разделения питания ардуины и мощной нагрузки..
Важно что-бы от 1 аккумулятора питалось!
Значит нужен большой аккумулятор. Возьмите автомобильный - должно хватить.
Смешно(килограм ~ 20, 12 V и бог знает сколько ампер, такого ни одно устройство в ру машине не выдержет)!
Вам зачем какое-то устройство и чего оно не выдержит? Вам ардуину только питать.
У меня несколько штук от розетки обычной запитаны и ничего, живут.
Откуда нам знать что и как Вы собираете?
Радиоуправляемая машина!! Там регулятор скорости столько не выдержит , я хочу запитать всё от 1 lipo 3s аккумулятора , ток от аккумулятора идёт на серву, мотор и ардуино.
Поставь еще один для ардины и соедини GND.
Говорю надо что-бы от 1 аккумулятора питалось.
StepUp ы для вашего случая специально придумали.
http://www.ebay.com/itm/0-9V-5V-to-5V-DC-DC-Booster-Module-USB-Mobile-St...
А если не чего покупая(с деньгами сейчас проблема)? У меня есть
Понижающий DC-DC Преобразователь LM2596 для Arduino
http://iarduino.ru/shop/Istochniki-pitanija/ponizhayuschiy-dc-dc-preobra...
можно из этого что-то сделать(повышающия преобразователь)?
Можно.
На 555 таймере. С умножителем ( удвоителем) напряжения. Со стабилизатором. Но не стоит.
Дешевле купить.
Говорю надо что-бы от 1 аккумулятора питалось.
Решается.
Нужно просто программно ограничитть ток, идущий в силовую нагрузку.
Как?
Например, ШИМ'ом.
Как?
analogWrite(MotorPin, NecessaryValue);
Ты вообще имеешь представление что такое регулятор (хода) скорости?
Это Вы о чем?
Собственно, именно диапазон регулировки этого регулятора Вам и нужно ограничить сверху.
Пробовал уменьшать ШИМ пока не перестало перезагружаться, дошло до того что машина едет не 50 км/ч , а 5 км/ч. Так что этот вариант отподает.
Большим средним напряжением ( от ШИМа) вы создаёте в нагрузке такой ток что блок питания не справляется с этой нагрузкой.
И естественно срабатывает БОДЭН.
Варианты лечения:
1. Ставьте отдельный блок питания Ардуины.
2. Развяжитесь по питанию с помощью DC-DC.
3. 2000.0 х 10 Вольт на питание. Если питаетесь не от 5-ти Вольт - тогда через диод.
4. Исправьте BODEN на более низкое напряжение ( работать будет, но это для пробы и неправильно).
5. Главное гляньте где текут токи нагрузки.
6. Тут недавно партию Ардуин с сухими кондёрами забраковали....
Запитываете Дуню через диод, то-есть в разрыв плюсового провода ставите диод, катодом к Дуне, после него, параллельно питанию электролитический конденсатор, примерно на 3300-4700 мкФ, в момент подачи питания, конденсатор зарядится через диод, при резком старте двигателя напряжение на акб на мгновение просядет, в этот момент Дуня будет питаться от конденсатора, диод не даст разряжается конденсатору на двигатель, а Дуне его хватит за уши.
Пробовал уменьшать ШИМ пока не перестало перезагружаться, дошло до того что машина едет не 50 км/ч , а 5 км/ч. Так что этот вариант отподает.
Либо миритесь с 5 км/ч либо меняйте аккумулятор на более мощный.
В Вашей конструкции есть серьезная проблема: аппетиты регулятора скорости явно превосходят возможности источника питания. По сути у этой проблемы есть только два решения:
1. Поставить более мощный источник (заменить аккумулятор).
2. Умерить аппетиты регулятора скороости (те самы 5 км/ч).
Третьего, как говорится, не дано. Это - если рассматривать существо основной проблемы. Вы жа ставите вопрос по-другому - как сделать чтобы не перезагружалась Ардуина. Перезагрузка - лишь локальная проблема, являющаяся следствием глобальной. Но ее также можно пытаться лечить - локально. При этом основная проблема (нехватка питания) остается, но Ардуина перестанет перезагружаться, т.е. появляется третий вариант:
3. Питать Ардуину от независимого источника питания.
Получается, Вас ни один из трех вариантов не устраивает.
Ну, тогда остается только четвертый:
4. Поставить на машину вечный двигатель, чтобы он крутил динамомашину и от нее запитывались как электромоторы, так и Ардуино.
Теперь уже точно других вариантов нет.
Только не говорите, что и 4-й Вам не подходит.
Подтвердить данный тезис расчетами можете?
Подтвердить данный тезис расчетами можете?
А самому это сделать религия не позволяет?
Нужно чтоб дядька не только бумажку дал, но и попку подтер?
Подтвердить данный тезис расчетами можете?
А я это сделать в принципе не могу. В смысле - подтвердить.
Могу только опровергнуть.
Но, вообще-то, бремя доказывания лежит на заявителе, т.к. опровергать все бредовые идеи, какие можно встретить на форуме, не хватит ни времени, ни терпения.
А Вы не сливайтесь, сказали А, скажите и Б! Оспорьте в цифрах данное схемотехническое решение, а там посмотрим, кто из нас прав!
Ребята, давайте общаться культурнее. Gres, в принципе то сомнение, под которое поставил вашу идею andriano имеет под собой некоторые основания. У нас не так много исходных данных, что бы рассчитать, но есть за что зацепиться. Опустим всякую несущественную мелочь типа падения напряжения на диоде, или ЭПП и скорость зарядки конденсатора. При питании 5 вольт конденсатор до запуска двигателя накопит в себе 5*0.0047F = 0,0235 кулона заряда. Или же из другой формулы следует что ток 0,0235 ампер он сможет отдавать 1 секунду. Дуняшка кушает примерно 50мА, значит на запасах конденсатора плата проработает без шотдауна всего лишь 0,5 секунды. Этого хватит лишь для очень кратковременной "прогазовки".
Все верно, только проблемы происходят при старте двигателя. Модельный аккумулятор способен одномоментно отдавать ток порядка 20 емкостей своих, разные, по разному. Движки модельные кушают в номинале по 40 ампер, тоже разные есть. Проблема в пусковом токе, он в 2-8 раз превышает номинальный и именно в момент старта происходит посадка, вот на это мгновение и нужно поддержать микроконтроллер. Способов в принципе масса, я предложил самый простой.
Я правда прикрывал на максимальное потребление 328 меги в 200mA.
Легко.
Только пока нечего оспаривать - не приведено ни схемы, ни расчета, ни обоснования.
Как только это появится, обещаю найти в Ваших материалах ошибки и указать Вам на них.
Если к тому времени не уеду в отпуск. А если уеду, то обязательно сделаю это сразу по возвращении.
...При питании 5 вольт конденсатор до запуска двигателя накопит в себе 5*0.0047F = 0,0235 кулона заряда. Или же из другой формулы следует что ток 0,0235 ампер он сможет отдавать 1 секунду. Дуняшка кушает примерно 50мА, значит на запасах конденсатора плата проработает без шотдауна всего лишь 0,5 секунды. Этого хватит лишь для очень кратковременной "прогазовки".
В Ваших расчетах Вы оцениваете заряд, накопленный в конденсаторе, что неявно подразумевает, что Дуня должна сохранять работоспособность при уменьшении питающего напряжения до 0 В.
Я сильно подозреваю, что это не так.
Насколько я помню, допустимый диапазон отклонения напряжения питания цифровых схем от номинала составляет 5%. Это не точно, но для оценок приемлемо. Для 5В это составит 0.25В. Т.е. нам нужно всего лишь посчитать, в течение какого времени конденсатор емкостью 0.0047F способен отдавать по 0.05А, пока напряжение на нем не упадет на 0.25В. Если я не ошибся в подсчетах, искомое время составит 25 мс, что даже при стабильном питании для двигателя явно маловато. А при просадке напряжения время разгона сильно возрастает.
В общем, требуемую емкость для такого решения я бы оценил в 0.1-0.5F.
Насколько я помню, допустимый диапазон отклонения напряжения питания цифровых схем от номинала составляет 5%. Это не точно, но для оценок приемлемо. Для 5В это составит 0.25В. Т.е. нам нужно всего лишь посчитать, в течение какого времени конденсатор емкостью 0.0047F способен отдавать по 0.05А, пока напряжение на нем не упадет на 0.25В. Если я не ошибся в подсчетах, искомое время составит 25 мс, что даже при стабильном питании для двигателя явно маловато.
Вы бы для начала хоть даташыты изучили, а то программируете, сами не знаете что.
Вот ссылка на даташит 328 меги: http://pdf1.alldatasheet.com/datasheet-pdf/view/241077/ATMEL/ATMEGA328P.html
А вот выдержка с первой страницы датшита:
Speed Grade:
– ATmega328P: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
Научитесь сначала изучать материалы, а уж потом вступать в спор...
Цифровые микросхемы( в отличии от аналоговых) как раз были созданы для того
чтобы всякие внешние условия как:
1. Напряжение питания.
2. Подаваемые на вход сигналы
не сильно влияли на их работу.
Поэтому надо знать эти условия и просто выполнять
> ATmega328P: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
И что? Даже если задать 4MHz, то всё равно падение будет до 1,8 вольта до вырубания.
А вот выдержка с первой страницы датшита:
Speed Grade:
– ATmega328P: 0 - 4 MHz @ 1.8 - 5.5V, 0 - 10 MHz @ 2.7 - 5.5V, 0 - 20 MHz @ 4.5 - 5.5V
Научитесь сначала изучать материалы, а уж потом вступать в спор...
Изучать - мало, нужно еще уметь делать выводы.
Первый вывод, нижняя граница в 4.5 В - это больше, чем 5.0 В минус падение напряжения на одном кремниевом диоде. Конечно, на 16 МГц, вероятно, она будет работать и при 4.3 В (хотя, по приведенным Вами данным - не обязана), но запаса на просаживание напряжения более чем на 0.25 В все равно нет.
Что касается снижения частоты работы кристалла. Одно дело стабильное питание, скажем, 3.3 В и совсем другое - просаживание питания с 5 до 3.3.И если даже для самого кристалла это не приведет к сбоям, вполне вероятно, что при обмене данными с периферией где-то "0" будет прочитан как "1" или наоборот. Со всеми вытекающими последствиями, минимум - с неверным управляющим воздействием на периферию.
В общем, вывод остается прежним: предложенная Вами схема может оказаться работоспособной (а может - и нет) лишь при увеличении емкости конденсаторов более чем на порядок.
Цифровые микросхемы( в отличии от аналоговых) как раз были созданы для того
чтобы всякие внешние условия как:
1. Напряжение питания.
2. Подаваемые на вход сигналы
не сильно влияли на их работу.
Поэтому надо знать эти условия и просто выполнять
"не сильно влияли на работу" - это какая-то очень расплывчатая формулировка.
Цифровые системы позволяют избежать ухудшения параметров сигнала при передаче сигнала. Т.е. искажения один раз были внесены и в дальнейшем их уровень остается неизменным, т.е. не происходит постепенной деградации, как это имеет место в случае аналогового сигнала.
Но за все надо платить. В частности, если искажение сигнала все-таки произошло, то, как правило, это носит гораздо более драматический характер, чем в случае аналогового сигнала. Хотя и с этим явление кое-как научились бороться, хотя бы теми же кодами Рида-Соломона. Но, опять же, не бесплатно. да и внутри системы они, как правило, не используются, т.к. могут работать лишь с блоками данных.
Тяжёлый случай...