Датчик температуры внутри atmega328p
- Войдите на сайт для отправки комментариев
Вс, 27/07/2014 - 16:59
Добрый день.
Недавно узнал, что внутри микроконтроллеров Atmel есть встроенный датчик температуры. Понимаю, что никто его не калибровал и показания будут +/- трамвайная остановка, но попробовать было бы интересно.
Собственно вопрос - можно ли в скетче ардуино считывать сигнал с этого датчика и складывать в переменную? Или средствами среды Ардуино по это не сделать...
Насколько я знаю датчик есть в микроконтроллерах серии attiny,но не как в atmega, считывается как АЦП..
> можно ли в скетче ардуино считывать сигнал с этого датчика и складывать в переменную?
Да! Первая ссылка в гугле http://playground.arduino.cc/Main/InternalTemperatureSensor
Проверил,работает ,спасибо :)
Насколько я знаю датчик есть в микроконтроллерах серии attiny,но не как в atmega, считывается как АЦП..
Незачет) в даташите явно написано, что есть. В мегах не у всех есть. В тини так же не у всех есть.
Спасибо! Действительно работает! Теперь надо проверить, не будет ли этот код мешать внутреннему определению напряжения питания) Что то есть подозрения.
Захотелось получить температуру. Залил код по ссылке. Получил около +7С. Хотя вобще явно теплей. Полез смотреть, увидел формулу расчета t = (wADC - 324.31 ) / 1.22; Из АЦП получаю значение 334. Что пересчитуется в 7.9градуса. Лезу в даташит
А напряжение питания какое было? В даташите значения абсолютные. АЦП дает относительные относительно питания или внутреннего опорного. Даже если взять внутренний источник, тоже не получится точно померить. Он +- лапоть, да ещё от температуры зависит. Надо ИОН на Uref вешать, что бы температуру точно замерить.
Питается от USB. В даташите
The internal 1.1V voltage reference must also be selected
В примере тоже включается внутрений. Врядли там в опорном дело, тогда бы измереное отличалось бы в разы. С утра свел все в табличку в екселе.
Видно что (wADC-270)*1,04 пошти верно описывает данные из даташита. Но реально получаемое значение АЦП 334 не в одну формулу не лезет адекватно.
А может у него в натуре 66С на кристале? Он там мелкий совсем, мощность хоть и не велика, но в малом обеме... ХЗ.
х.з. , попробуйте ориг. скетч иль другую ардуину, другое питание.
у меня скетч что по ссылке тоже точно кажет как у всех. ну мож на 0.5...1 градус занижает.
при питании от компа выдает
Взял оригинальный, чуток откомментировал, чтобы два раза на сайт не лазить:
Выдаёт так:
Internal Temperature Sensor
А если подуть на кристалл:
А если подержать рядом паяльник?
скетч оригинальный, такой-же как у slider и ua6em. С одной ссылки все брали же. сунул в другое ЮСБ, теперь ноута, в общем тоже самое. Но он как бы меряет, реагирует на нагрев и охлаждение. Счас другую попробую.
Попробовал другую. На ней все адекватно (второе число - непосредственно величина с АЦП)
Logik , проверьте осцилом напряжение на пинах AREF (VREF) (20пин микросхемы в планаре) в обоих пллатах, при работе этого скетча должно 1,1в , и на пине AVCC ( 18пин в этом планарном корпусе ) самого контроллера должно быть 5.0в
много говорили что попадались ардуино плохо промытые (после промывки спиртом хорошо заработали) , с подтекающими током smd кондерами, с плохим самовосстанавливающимся предохранителем,....
промойте спиртецом с зубной щеткой, на фото она под сомнением.
Давно использую внутренний термодатчик АТмеги для стабиллизации температуры внутри корпуса блока где собственно и находится сама АТмега , скетч тот же самый, разброс показаний температуры кристалла от кристалла доходит до 15 градусов при одинаковых внешних условиях но, он стабилен на каждом кристалле поэтому просто забил на это и делаю корекцию на каждый кристал.
А если подержать рядом паяльник?
Где я вам паяльник возьму )))
А мне паяльник брать не нужно. У меня их штук пять есть. :-)
Давно использую внутренний термодатчик АТмеги для стабиллизации температуры внутри корпуса блока где собственно и находится сама АТмега , скетч тот же самый, разброс показаний температуры кристалла от кристалла доходит до 15 градусов при одинаковых внешних условиях но, он стабилен на каждом кристалле поэтому просто забил на это и делаю корекцию на каждый кристал.
Похоже что так. Оно живет и шевелится. Открыл форточку, охладилось, показывает 3С, закрыл, прогреется, до 12С доходит. В расброс, как Вы пишете 15С, он вобщем влазит. Думаю просто поправка действительно выход.
А спиртецом всеравно промою))
Мерить внутреннее опорное не буду, там источник высокоомный, боюсь верно померять просто нечем у меня. А тут жеж дело в сотых вольта. Тонкий сильно вопрос.
К тому ж сами атмеловцы пишут что надо вводить поправку для конкретного чипа http://www.atmel.com/Images/doc8108.pdf
Промыл спиртецом по совету slider "промойте спиртецом с зубной щеткой". Т.к.чё конкретно мыть с зубной щеткой из совета не ясно, то мыл все - чип, как потенциальный виновник и зубы - как обычное применение для зубной щетки. Помогло! Хотя показывает тоже самое, но мне вобще пофиг стало ;)
ПС. Поправка +10С к показаниям рулит.
Показания датчиков моих мег