Перейти к содержанию
    

Контроль заявленного температурного диапазона работы устройства

Коллеги, приветствую. 

Идет разработка устройства на процессоре Allwinner H3 (очень горячий парень, как оказалось, но пока придется сделать на нем, далее будем рассматривать его замену). В состав так же входят преобразователи питания и АКБ (LiPo). Естественное охлаждение, без каких либо вентиляторов. Пластиковый корпус IP40. Установлены рабочий диапазон внешней температуры -40 +50гр. При работе устройство конечно достаточно сильно греется. Рассматриваются меры к его охлаждению (радиаторы, снижение частоты работы процессора, уменьшение токов или отключение заряда АКБ и т.д.). Тем не менее если внешняя температура будет выше/ниже установленного значения, то работа устройства может быть, мягко говоря нарушена. С отрицательной температурой почти все просто - поставили подогрев и вперед, а вот с повышенной сложнее.  Отсюда вопрос:

1. Где мерить эту температуру (за пределы корпуса как-то выходить не хочется), чтобы не спутать ее со внутренней? или мерить ее внутри корпуса с учетом собственного нагрева? Понятно что на проце будет температура значительно выше внешней... Уносить термодатчик в самый "холодный" угол? Или мерить температуру на элементах, работа которых сильно зависит от температуры и отрубать питание не по внешней температуре, а по критичной для работы элемента? Тогда как понять по чей причине в устройстве достигнут такой нагрев?

2. Как вообще надо поступать если температурный режим нарушен (особенно, чтобы потом было что сказать заказчику почему устройство перестало работать)? Давать сигнал процу, что "фиксируй превышение максимальной температуры" и полностью обесточивать плату(отключать питание на стабилизаторе). И когда температура вернется в рамки включать его обратно.

Планируется отключение питания не давать на откуп ВПО, а сделать его железным , например, на компараторе и после отключения питания, питать только его.

Где бы почитать про такой функционал? Поделитесь опытом.

Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мысли в слух. 
1. Нет смысла измерять внешнюю температуру если можно измерять температуру кристалла процессора. При фиксированном теплоотводе она будет на некую константу выше внешней. Плюс опять же нас пугает не внешняя температура а превышение внутренней рабочей температуры. Причины интересуют мало. Т.е. или это перегрев из-за жары. Или перегрев из-за того что кто-то заткнул вентиляционные отверстия. Т.е. проц перегрелся выдаём сигнал перегрева и принимаем меры. 

2. Этот вопрос к заказчику. Что ему важнее выполнять задачу даже ценой процессора или к чёрту задачу бережём проц. И заказчику решать чего он хочет. А то вдруг это система жизнеобеспечения которая должна работать чтобы не происходило. А мы её тут отрубили :))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, DAndy_boy сказал:

2. Как вообще надо поступать если температурный режим нарушен (особенно, чтобы потом было что сказать заказчику почему устройство перестало работать)? Давать сигнал процу, что "фиксируй превышение максимальной температуры" и полностью обесточивать плату(отключать питание на стабилизаторе). И когда температура вернется в рамки включать его обратно.

Так если источник перегрева - сам CPU, то зачем что-то отключать? Достаточно этот CPU перевести в режим малого потребления. И ждать пока не остынет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

4 часа назад, MegaVolt сказал:

Мысли в слух. 
1. Нет смысла измерять внешнюю температуру если можно измерять температуру кристалла процессора. При фиксированном теплоотводе она будет на некую константу выше внешней. Плюс опять же нас пугает не внешняя температура а превышение внутренней рабочей температуры. Причины интересуют мало. Т.е. или это перегрев из-за жары. Или перегрев из-за того что кто-то заткнул вентиляционные отверстия. Т.е. проц перегрелся выдаём сигнал перегрева и принимаем меры. 

2. Этот вопрос к заказчику. Что ему важнее выполнять задачу даже ценой процессора или к чёрту задачу бережём проц. И заказчику решать чего он хочет. А то вдруг это система жизнеобеспечения которая должна работать чтобы не происходило. А мы её тут отрубили :))

2. Дело в том, что, например, сам процессор Allwinner H3 контролирует свою температуру и по достижению установленной температуры уходит в прерывание, из которого он уже не возвращается (даже watchdog не помогает, только сброс питания). Это пока для меня тоже некая проблема: как добавить туда обработчик этого прерывания (обшарил инет никакого примера с таким кодом нет. В описании на процессор тоже без примеров, есть только описание регистров, а что дальше с этим делать не понятно). Получается, мне надо обрывать работу проца раньше чем это прерывание произойдет... там уже будет поздно рыпаться.

 

1 час назад, jcxz сказал:

Так если источник перегрева - сам CPU, то зачем что-то отключать? Достаточно этот CPU перевести в режим малого потребления. И ждать пока не остынет.

На сколько я заметил перегрев это лавинообразный процесс. Если он начался, то даже остановка, сохранение процессов (которая тоже потребует некого повышения загрузки проца) не поможет...А если он не остынет никогда пока включены всякие стабилизаторы напряжений и т.д.? так и будет сидеть  тем более если источник перегрева не процессор, а что-то еще.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Требования заказчика. Охлаждение только за счёт естественной конвенции. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

38 минут назад, DAndy_boy сказал:

Требования заказчика

Если внешняя +50°C, то внутренняя как минимум +60°C, т.е. АКБ уже дохлая.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну почему же?

LP103450 от EEMB верхний предел температуры хранения и разряда +60°C

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

17 hours ago, DAndy_boy said:

На сколько я заметил перегрев это лавинообразный процесс.

Скорей всего вы наблюдаете не лавинообразный процесс, а инерционность самого датчика температуры. То есть если вы зафиксировали превышение температуры и остановили все процессы, она все равно будет еще подниматься какое-то время после этого. Это временная константа и она может составлять секунды. Поэтому вам надо выбирать порог "торможения" с учетом этого, то есть чтобы в самом критическом случае и с максимальной скоростью нагрева вы не заскочили за предел для чипа. 

 

По 2. Мы делаем два порога. По низкому начинается ограничение частоты процессора/деградация перформанса. Это доносится пользователю индикацией красного светодиода или алармом HMI. Если это не помогает, так как причиной, например было превышение внешней по отношению к устройству температуры - устройство отключается по второму более высокому порогу.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...