Jump to content

    
DAndy_boy

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

Recommended Posts

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

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

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

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

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

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

Спасибо.

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
4 часа назад, DAndy_boy сказал:

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

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

Share this post


Link to post
Share on other sites
4 часа назад, MegaVolt сказал:

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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites
17 hours ago, DAndy_boy said:

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

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

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.