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

Измеряю Температуру


Рекомендуемые сообщения

Здравствуйте уважаемые.

Я недавно в теме.

Понадобилось измерить температуру с помощью атмеги8

и всё бы было здорово если бы можно было использовать цифровой датчик. но у меня температура 360 Цельсия

потому придётся выбрать аналоговый датчик температуры (термистор).

может у когонить есть пример кода на с++ (это чтобы не разжёвывать) гугл не помог не или плохо искал

или мои вопросы

1. у аналоговых датчиков линейная зависимость сопротивления от температуры ?

2. по какому принципу можно получить температуру с аналогового датчика ? про работу АЦП не нужно объяснять мне, смутно но понимаю.

не понимаю что сделать когда я получил напряжение с датчика на АЦП как мне величину этого напряжения перевести в градусы ?

зы: Пишу проект на CodeVisionAVR 3.12 хоть и смотрел уроки на тюбе но атмел студии всё сложнее т.к. там нет мастеров генерации кода. Для меня лично как ламера в AVR это выручает до нельзя тк. мне не оч бы хотелось вникать в тонкости работы с lcd либо adc.

Далее мучаю протеус 8,1

Если необходимо выложу сюда

Спасибо за ваше время и ответы.

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Зависимость указывается в даташите на термистор.

Напряжение на АЦП ты получаешь с делителя напряжения, одним из плечей которого является термистор. Это напряжение однозначно зависит от напряжения перед делителем (должно быть постоянным и стабильным) и сопротивления термистора. Сопротивление однозначно зависит от температуры и калибровка (указание сопротивления для конкретных температур) тоже указана в даташите.

Вот пример для одного из NTC NTC-MF52AT 10K 3950 1%.pdf

В соответствии со всем этим ты связываешь температуру и выходное значение АЦП в МК.

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Ага буду искать датащит с табличкой зависимости t от r

понял про плечи сейчас реализую

но у меня есть lcd на котором не плохо было бы отображать текущую температуру.... и тут у меня ступор

как в коде это реализовать ?

приходит на ум только тупой способ какой то, если напряжение ацп = x тогда t = у и куча куча таких условий.....

в этом есть минус, что температура будет показываться ступенчато и чтобы ступени уменьшить нужно будет ещё больше если.

Может существует другой способ ? формула или чтото такое

Изменено пользователем binarick
Ссылка на комментарий
Поделиться на другие сайты

Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Если зависимость можно описать формулой - используй формулу. Если нет, то можешь брать два ближайших значения и аппроксимировать.

Например точно известно, что при 110° сопротивление 1кОм, а при 111° 0.9кОм. Тогда при сопротивлении 0.91кОм будет 110.9°.

То есть тут уже чистая математика и возможности твоего АЦП.

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Что вам даст датчик с линейной зависимостью? На выходе делителя напряжение все равно не будет линейным.

Возьмите платиновый терморезистор типа PT-100 http://e-voron.dp.ua/catalog/015715 , высокая точность, сопротивление меняется по формуле Rt = Rо (1+0,00385 t) http://www.micropik.com/PDF/pt100.pdf

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

IMHO на 360 градусов уже хромель-копелевую термопару нужно применять, а это уже специализированая обвязка. Термисторы такие бывают, но неизвестно насколько они легкодоставаемы и полагаю, что стОят они немало. Тот-же PT100 ~ 1000руб. А линейность - нелинейность, всё-равно калибровать нужно, ну или по таблице выборку делать с аппроксимацией, как уже написали.

Изменено пользователем shindbad
Ссылка на комментарий
Поделиться на другие сайты

Что вам даст датчик с линейной зависимостью? На выходе делителя напряжение все равно не будет линейным.

Возьмите платиновый терморезистор типа PT-100 http://e-voron.dp.ua/catalog/015715 , высокая точность, сопротивление меняется по формуле Rt = Rо (1+0,00385 t) http://www.micropik.com/PDF/pt100.pdf

предполагаю что формула на линейную зависимость будет проще

Вот спасибо за датчик. ща поискаю где добыть можно ли. жесть до 850 цельсия )))

IMHO на 360 градусов уже хромель-копелевую термопару нужно применять, а это уже специализированая обвязка. Термисторы такие бывают, но неизвестно насколько они легкодоставаемы и полагаю, что стОят они немало. Тот-же PT100 ~ 1000руб. А линейность - нелинейность, всё-равно калибровать нужно, ну или по таблице выборку делать с аппроксимацией, как уже написали.

деньги не имеют значения.

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

насчёт легкодоступности пока абсолютно всё что когда либо требовалось покупал на алиэкспрессе.

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

IMHO на 360 градусов уже хромель-копелевую термопару нужно применять, а это уже специализированая обвязка. Термисторы такие бывают, но неизвестно насколько они легкодоставаемы и полагаю, что стОят они немало. Тот-же PT100 ~ 1000руб. А линейность - нелинейность, всё-равно калибровать нужно, ну или по таблице выборку делать с аппроксимацией, как уже написали.

Не знаю, где вы увидели 1000 рублей, 2 доллара за датчик в виде резистора, 6 - в виде щупа http://www.aliexpress.com/premium/pt100.html?ltype=wholesale&d=y&origin=y&SearchText=pt100&initiative_id=AS_20150211011757&isViewCP=y&catId=523

Вот спасибо за датчик. ща поискаю где добыть можно ли. жесть до 850 цельсия )))

Не дефицит. И калибровать не прийдется, раз дана точность, то будет соответствовать формуле (и таблице соотв)

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

Да примерно там-же:

http://russian.alibaba.com/goods/pt100-temperature-sensor.html

И как-то мне слабо верится, что "платиновый" датчик стоимостью $2-6, вообще содержит платину. Уж что-что, а писать китайцы хорошо умеют.

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

Я попробую эти дешманские штуки потом отпишусь если не забуду

статейку нарыл по моей темке как раз

http://www.rlocman.r....html?di=151518

как обидно что там код на ассемблере.... я в нём ни бумбум.....

был бы хорошим велосипедом еслиб на с++

Изменено пользователем binarick
Ссылка на комментарий
Поделиться на другие сайты

поищите самодельные паяльные станции. там и датчики. там и исходники....

Люблю українську природу, горячий борщ, холодну воду, i бабу товсту як колоду, i лiс, i поле, i ставок, i повну пазуху цицьок А ще я люблю булку з маком, вино, горiлку, пиво з раком, люблю дiтей, батькiв, сiм'ю, та i себе трішечки люблю.

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

Поищи в гугле самодельную паяльную станцию на атмеге8.

Там и схема и прога на СИ. И обвязки для термопары один операционник.

И термопару самому можно сделать.

Вот и опоздал уже.

Изменено пользователем croc19
Ссылка на комментарий
Поделиться на другие сайты

ищу пока только на термопарах попадаются схемки (нада кстати подумать в этом направлении)

хотя в коде как я понимаю различий не будет

если правильно понимаю термопара это тотже термистор но с обвязкой в виде усилителя

Изменено пользователем binarick
Ссылка на комментарий
Поделиться на другие сайты

вот функция кусочно-линейной аппроксимации термистора

uint32_t TempConvert (uint32_t T)
{
if (T<545) return 0;
if (T < 652) return ((T-545)*1000/215+2000)/10;
if (T < 783) return ((T-652)*1000/261+2500)/10;
if (T < 929) return ((T-783)*1000/293+3000)/10;
if (T < 1091)return ((T-929)*1000/324+3500)/10;
if (T < 1266)return ((T-1091)*1000/349+4000)/10;
if (T < 1453)return ((T-1266)*1000/374+4500)/10;
if (T < 1652)return ((T-1453)*1000/398+5000)/10;
if (T < 1858)return ((T-1652)*1000/412+5500)/10;
if (T < 2067)return ((T-1858)*1000/418+6000)/10;
if (T < 2277)return ((T-2067)*1000/419+6500)/10;
if (T < 2485)return ((T-2277)*1000/416+7000)/10;
if (T < 2688)return ((T-2485)*1000/406+7500)/10;
if (T < 2885)return ((T-2688)*1000/393+8000)/10;
if (T < 3072)return ((T-2885)*1000/374+8500)/10;
}

сигнал с делителя напряжения.

на примере первой строки if

При 20С сигнал на АЦП (расчетный по даташиту) 545 мВ, при 25С 652 мВ. T - текущее значение на ЦАП, 1000 просто коэффициент, чтобы математика была целочисленной, 215 - это значение в миливольтах на градус в этом промежутке (652-545)/5 умноженное на 10 чтобы избавиться опять же от десятичной точки. 2000 это 20 градусов умноженые на 100, так как у нас все в одном масштабе. / 10, чтобы получить значение в градусах с одним знаком после запятой (например 24,5). Идея понятна? То есть эта строчка на выходе дает нечто похожее на к примеру 245 если температура 24,5. Потом мы это число при помощи sprintf переводим в строку, добавляем точку куда надо, плюсуем в конец символ "С" и выводим как строковую константу на дисплей. Получается так как на фото. Нижняя строка (символ С не добавлял, место для отладки экономил, чтобы 3 температуры поместились ровно)

функция вывода на экран выглядит так

sprintf(str_buf_V, "%03u", _Actual.Temp1);
str_buf[0] = str_buf_V[0];
str_buf[1] = str_buf_V[1];
str_buf[2] = 0x2E;
str_buf[3] = str_buf_V[2];
str_buf[4] = str_buf_V[3];
MT_WH1602_SetDDRAMAddress(0x41);
while (MT_WH1602_ReadBusy()!=FALSE);
lcd_write_str(str_buf);

думаю тут комментарии излишни. Немного не феньшуй конечно, но работает очень быстро. А для меня главное не красота методов, а скорость и эффективность

комментария стоит только эта строка. В ней копируется завершающий ноль ('\0'), чтобы вывод на экран знал где конец строки

str_buf[4] = str_buf_V[3];

так что не стоит бояться кривой характеристики термисторов, просто надо уметь грамотно ей пользоваться и уметь совершать простейшие математические преобразования

post-183933-0-11029900-1423664571_thumb.jpg

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

вот функция кусочно-линейной аппроксимации термистора
Проще формулу вычислить по точкам и забить её в программу.

Вот Ваша зависимость :

y = -3E-05x2 + 0,3671x + 25,119

Где

y - температура, умноженная на 10.

x - значение в милливольтах на АЦП

А вот график в екселе с функцией :Книга1.rar

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

да конечно мы в курсе за формулы аппроксимации, НО

проще то проще, и моя функция выполнится условно за 10 тактов и займет 10 байт, а ваша будет выполняться 2000 тактов и займет килобайта два. Угадайте почему

не все что красиво на бумаге красиво ложится на реальный камень

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

И что ? Вы куда-то торопитесь и выводите информацию на дисплей с скоростью 10000 раз в секунду ?

По поводу памяти. Тут ещё спорный вопрос, что займёт больше места, функция или Ваша "простыня"...

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

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

Можете в принципе делать как хотите, если все устраивает. Я уже все эти методы давно испробовал, поэтому гдето обхожусь простынями, а гдето полиномами. Зависит конечно от задачи. Но на всякий пожарный стараюсь все таки ресурсы экономить. И в моих программах вы не увидите в процедурном коде функций типа delay_ms или наподобие. У меня весь код пролетается насквозь за один проход без остановок и за гарантированное время (касается и антидребезга и всяких звуоквых сигналов, и даже вывода на дисплей), даже если ресурсов камня с избытком

Изменено пользователем mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Сообщения

    • Похоже так, не кто и не подскажет, что это за микруха... 
    • Я извиняю кто тут флудил ! ??  были удаленны другие коменты! , я не поливал не кого грязью, а если вы так считаете напишите жалобу на меня и пусть модератор мне предъявит за нарушение/ за оскорбления и флуд . И касаемо "вчера сделал" после комента пользователя fessit вспомнил и проверил и все получилось (с ножной напутал тут диод нужен) и также коменты colorad, и Aviator88 всем спасибо. Все работает как надо чего тут выкладывать мне всего-то обычный диод и всё. А что касаемо ваших и подобных коментов это и есть флуд. Устроили охоту на инакомыслящих мол  посмел такой сякой задать вопрос  на техническом форуме о переделки платы зарядки акумов  в светодиодный драйвер какой ужас !!   Поражаюсь блин с таких придираться к словам, и при этом не зная как переделать сразу начинают парировать ошибками автора в тексте запятые, и случайно перепутанные Амперы с мА (Хотя понятно о чем идет речь, но и за это уцепились ) это любимый метод когда по делу толком  нечего сказать, а за изварат и нестандартный подход подколоть что бы ну даже не хочу писать.... А все выпадки мол эта платка не для этого итд...:neznam: итд ну что тут сказать не надо ограничивать себя мол что подумают или оно якобы не будет работать,название не то... сделал проверил работает! замечательно! и плевать! зачем покупать, ждать если уже есть под рукой то что тебе нужно!!! и искусственно загонять себя в рамки блин отказываться использовать тпешку только потому что указанно применение для зарядки лития  инакомыслие, богохульство, бред, "гениальная идея" итд ну дело ваше я не заставляю насильно переделывать. Странно что на тех форуме это вызывает такие вопросы где казалось бы нормально: починить переделать что-то итд. Странные представление что изврат, а что нет учитывая что все и до переделки всё работало почти отлично.... с каких пор изврат не понятно учитываю что все подходит. И что-то тут нет подобных высказываний 2е стандарты или инквизиция проворонила  
    • На этой схеме не хватает резисторов, немного открывающих силовые транзисторы. Без них начальный самозапуск  не будет происходить. Поищи их на плате БП.  Они где-то в районе сотни кОм между базой и коллектором.  
    • Может у нас разные были, либо палёный, не будем спорить. У каждого свой вкус.    Ещё слышал, но не слушал, что на TPA3255 хорошие. Присматривал такой как-то. Вы знакомы с таким?
    • Вы самим вообще нормальный??? Под полтинник жалоб!!!!!! Вы чего? Вы говна поели? До утра оставлю сообщение, в надежде на ответ. Но по опыту - никто так и не отпишется...
    • @Vic73 типовая китайская для лент ? биполярники и второй трансформатор ? 
    • трансформатор от sh96tzw-d сварил (а какой толк от проприетарной цифровой начинки), но зазор оказался слишком большой(  из парочки других суп не удался, добивать феном бросил из за адской вонищи.
  • Похожий контент

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