Выносливость Arduino UNO во время работы 24/7 и умеренных колебаний мощности

Я разрабатываю систему автоматизации для своего исследовательского проекта и планирую использовать Arduino Uno для того же самого. Программа предназначена для выполнения простых инструкций, основанных на небольшом количестве входных параметров, и не требует больших вычислительных мощностей. Предполагается, что для запуска программы потребуется 26 минут (26-минутный цикл*), и ожидается, что для завершения проекта потребуется от 3 недель до 2 месяцев (1160-3300 циклов до перезагрузки).

Мой вопрос заключается в следующем:

  1. Способен ли Arduino Uno пережить длительный срок службы и правильно выполнить программу?
  2. Каково влияние малых колебаний напряжения на выносливость электроники на плате?
  3. Необходим ли радиатор для этого приложения? Как определить потребляемую мощность, чтобы выбрать размер теплоотвода?
  4. Есть ли оценка усталости при циклическом выполнении программы?

Я планирую питать всю систему через регулируемый 12V 600-ваттный аккумулятор, и этот банк будет периодически подзаряжаться.

*Под длительностью цикла я имею в виду реальное время, необходимое для завершения одной партии. Предполагается, что для проведения исследования потребуется выполнить 1160-3300 циклов/партий

, 👍3

Обсуждение

Может ли ваше приложение выдержать сброс микроконтроллера с помощью сторожевого таймера?, @Sacha


3 ответа


Лучший ответ:

3

Способен ли Arduino Uno пережить длительный срок службы и правильно выполнить программу?

Да, это так. Хотя ваша программа и проводка должны быть стабильными и правильными.

Каково влияние малых колебаний напряжения на выносливость электроники на плате?

Все зависит от того, что вы называете малым. Пока вы не входите в область отключения (где напряжение настолько низкое, что Arduino переходит в режим сброса для безопасности) или не даете ему слишком высокое напряжение (см. спецификации для этого), вы должны быть в порядке.

Нужен ли теплоотвод для этого приложения? Как определить потребляемую мощность для выбора размера теплоотвода?

Потребляемая мощность Arduino зависит от того, что вы с ним делаете. Лучше всего было бы просто измерить ток вашего приложения. Затем вы получаете мощность, умножая ток и напряжение. Обычно вам не нужен радиатор с Arduino. Единственная деталь, которая может нагреться, - это линейный регулятор напряжения. В зависимости от того, что вы взаимодействуете с Arduino, вам может понадобиться поставить на него небольшой радиатор (12 В-это немного выше входного напряжения регулятора. Он будет рассеивать избыток 7В в виде тепла, поэтому 7В умножается на использованный ток). Микроконтроллер на Arduino не будет нагреваться (если только вы не делаете что-то ужасно неправильное).

И вы должны убедиться, что ток для дополнительных периферийных устройств в вашем проекте не течет через Arduino, так как это создаст дополнительную нагрузку на регулятор напряжения. Он должен протекать мимо него (это означает, что вы подключаете их параллельно источнику напряжения).

Существует ли какая-либо оценка усталости при циклическом выполнении программы?

Нет, не совсем. Я думаю, что флэш-память (где хранится программа) имеет частоту сбоев хранения данных менее 1ppm (частей на миллион) в течение 20 лет. Так что программа не пропадет, пока вы не планируете запускать свое приложение сто лет. Кроме того, во флэш-памяти нет ограничения на чтение, есть только ограничение на запись.

,

Поскольку сам Arduino использует линейный регулятор, операционная система может получить почти в два раза больше работы от своей батареи 12 В с переключающимся источником питания (даже если только снизить напряжение до 6 или 7 В для питания входной стороны линейного регулятора, не обходя его с помощью переключателя 5 В). Я предполагаю, что Arduino потребляет достаточно тока, чтобы сделать возможным эффективное SMPS, а линейному регулятору требуется всего один или два вольта диапазона отсева., @Peter Cordes

Теоретически было бы неплохо подключить их батареи параллельно, а не последовательно, чтобы сформировать банк 6 В с емкостью в два раза больше мАч, но только если они не опускаются намного ниже 6 В при разряде. (Я не знаю, какой линейный регулятор с низким уровнем отсева использует Arduino Uno.) Если геометрия батареи позволяет это, 9 В или 8 В, которые могут опуститься до 6 В, вероятно, было бы хорошо., @Peter Cordes

Вы правы в своем первом комментарии, хотя я не говорил об этом в своем ответе, так как ОП не спрашивал о регуляторе или источнике питания. Для второго комментария: Это правильно, но мы не знаем, использует ли OP отдельные батареи, которые могли бы сформировать банк 6 В. Он не уточнил, какой блок питания он использует. Только то, что его 12 В, @chrisl

Да, я упомянул об этом только в том случае, если это было возможно. Подумал, что вы, возможно, захотите упомянуть что-то в своем ответе о выборе микросхемы преобразователя постоянного тока - >постоянного тока, чтобы избежать потери половины энергии в ваших батареях, если это того стоит, и каков минимальный отсев для линейного регулятора arduino, но если нет, то, по крайней мере, это в комментариях., @Peter Cordes


0

Я не вижу в этом никаких проблем. Учитывая, что программа, которую вы пишете, стабильна и корректна, Arduino UNO наверняка будет работать без каких-либо проблем в течение нескольких месяцев. Он имеет встроенный регулятор напряжения, так что вы можете подключить непосредственно батарею 12 В, и она автоматически регулирует изменения напряжения. Процессор и/или флэш-память не имеют никаких проблем "усталости", пока программа только читается или выполняется. Программа flash имеет ограниченное количество циклов записи, но это также далеко за пределами того места, где вы столкнетесь с проблемами.

Где я действительно вижу проблему, так это в вашем случае использования. Вы, кажется, делаете довольно сложную математику с довольно большим количеством данных, когда один цикл занимает 26 минут. У вас может не хватить оперативной памяти на UNO, чтобы сделать это. Он имеет только 2,5 к (то есть около 2500 байт) оперативной памяти. Где вы храните результаты?

,

На самом деле это 2 К оперативной памяти., @Edgar Bonet

@PFM, пожалуйста, обратитесь к правке в вопросе, уточняющей время выполнения., @Atul DCT

Сколько данных вы собираете за цикл? И как вы собираетесь хранить эти данные (скопировать их на компьютер?), @PMF


0

У меня здесь есть Arduino, работающий в течение года, все еще работающий (запускающий один и тот же loop() снова и снова) без сбоев, и он даже не нагревается вручную в моей гостиной-я ожидаю, что он будет работать безупречно в течение гораздо большего количества лет, пока я не выключу его :)

,