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

Как измерить сопротивление?

Можно поставить источник опорного напряжения 431 на 2.5 вольта. Это SOT23 +резистор.

Не надо источник опорного напряжения. НЕ НАДО! Уважаемые MrYuran и @Ark об этом говорили выше.

 

Схема измерения должна быть "ратиометрической" (ratiometric). В этом случае все напряжения полностью сокращаются в формулах, описывающих зависимость выходного кода от сопротивления датчика. Для этого необходимо, чтобы источник опорного напряжения АЦП был тот же самый, который питает полумост, состоящий из Rref и сопротивления датчика. Не нужно, чтобы источник опорного напряжения был стабильным, но нужно, чтобы от него запитывался и полумост, и АЦП.

 

Величина Rref выбирается равной сопротивлению термистора при той температуре, на которй хочется получить максимальную точность измерения. Тогда при этой температуре на входе АЦП будет ровно половина питания и максимальная чувствительность. При повышении/понижении температуры чувствительность и точность будут уменьшаться.

 

А все ОУ, прецизионные опорные напряжения и пр. прибамбасы - лишняя ерунда, от которой никакого проку, а при неправильном использовании - даже вред.

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


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

попробовал реализовать схему делителя для датчика температуры, тем более, что вариантов не много из-за постоянного одна конца на массе.

 

Рисовать не буду, опишу:

 

Vref avr = VCC avr

 

Udel = VCC

 

Rref = 5.23k 1%

 

Rt - датчик

 

Среднюю точку делителя через прецизионный ОУ AD8252 подал на вход АЦП. ОУ по схеме повторителя

 

В результате на выходе АЦП броски кодов до 30 постоянно. Т.е. при изменении сопротивления датчика среднее занчение АЦП также меняется, но при этом такие отклонения от среднего значения "мама не горюй". Никакие кондеры в параллель датчику не помогают.

 

Что делать?

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


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

Гость @Ark

"Что делать?"

 

Первое, что сделать - выбросить из схемы OУ. И больше не вспоминать о нем, он здесь не нужен.

Второе - подключить выход делителя непосредственно ко входу АЦП (можно через низкоомный резистор) и обязательно поставить конденсатор не менее 0,1 мкф.

Третье - если терморезистор находится далеко от МК использовать экранированный провод для его подключения (экран подключить к земле с обоих концов)

Четвертое - хорошо отфильтровать питание МК.

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


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

Четвертое - хорошо отфильтровать питание МК.

скорее всего... развязка AVCC и VCC и разводка питания и земли выполнены в соответствии с рекомендациями?

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


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

В результате на выходе АЦП броски кодов до 30 постоянно. Т.е. при изменении сопротивления датчика среднее занчение АЦП также меняется, но при этом такие отклонения от среднего значения "мама не горюй". Никакие кондеры в параллель датчику не помогают.

 

Что делать?

 

Я-же говорю, что судя по разбросу сопротивления (от 200 ом до 5 кОм) - это не терморезистор, а

термистор. У него характеристика не линейная а параболическая, т.е не y=x+1,4xxx а y=x^2(2.xxx)...

 

Попробуйте программно усреднить значение, т.е. берем переменную , суммируем в ней например 100

выборок АЦП, а потом результат делим на 100 и получаем усредненное значение... а иначе оно и будет

"плясать" значение...

 

P.S. Это Вы на "столе" моделируете, а на реальном автомобиле будет просто беда... там в "сети" такая

"параша", что как Вы говорите - "Мама не горюй...". Один генератор чего стоит...

 

P.P.S Кстати лет 10 назад, у меня была проблема с итальянской сушилкой дерева. Там стояли какие-то

терморегуляторы чудные, короче реальный "дребезг" был... Пускатели силовые молотили как пулемет !

Победил я ее (сушилку) тупо поставив параллельно термосопротивлениям электролиты по 2.2мкф...

Т.е. эдакий корявый внешний гестирезис организовал... Все работает до сих пор...

Срубил я тогда копеечку...

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

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


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

P.S. Это Вы на "столе" моделируете, а на реальном автомобиле будет просто беда... там в "сети" такая

"параша", что как Вы говорите - "Мама не горюй...". Один генератор чего стоит...

 

На каком столе? Я всё на живом авто делаю.

P.P.S Кстати лет 10 назад, у меня была проблема с итальянской сушилкой дерева. Там стояли какие-то

терморегуляторы чудные, короче реальный "дребезг" был... Пускатели силовые молотили как пулемет !

Победил я ее (сушилку) тупо поставив параллельно термосопротивлениям электролиты по 2.2мкф...

Я на 10u поставил - не помогло.

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


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

На каком столе? Я всё на живом авто делаю.

Я на 10u поставил - не помогло.

 

Попробуйте осциллографом посмотреть сигнал...

 

Если нет цифрового, можно быстро сделать на звуковой карте компьютера, в сетке схем полно.

 

Программный фильтр пробовали, как я советовал ?

 

P.S. Все-же рекомендую использовать схему с источником тока...

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


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

Попробуйте осциллографом посмотреть сигнал...

 

Если нет цифрового, можно быстро сделать на звуковой карте компьютера, в сетке схем полно.

 

Программный фильтр пробовали, как я советовал ?

 

P.S. Все-же рекомендую использовать схему с источником тока...

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

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


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

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

 

Т.е получается данную схему Вы победили ? Глюк только на одном из разрядов АЦП ?

С другими работает получается правильно ?

 

Ради интереса попробуйте загнать МК в режим ADC noise reduction... и проверить еще раз...

может камень шумит, или еще чего из переферии...

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


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

Не надо источник опорного напряжения. НЕ НАДО! Уважаемые MrYuran и @Ark об этом говорили выше.

 

Схема измерения должна быть "ратиометрической" (ratiometric). В этом случае все напряжения полностью сокращаются в формулах, описывающих зависимость выходного кода от сопротивления датчика. Для этого необходимо, чтобы источник опорного напряжения АЦП был тот же самый, который питает полумост, состоящий из Rref и сопротивления датчика. Не нужно, чтобы источник опорного напряжения был стабильным, но нужно, чтобы от него запитывался и полумост, и АЦП.

То ли не очень подробно расписано , то ли я не понимаю простых вещей. Вы предлагаете отключить в МК внутренний ИОН и использовать АЦП для измерения разбаланса моста?

Да, и так можно, и сяк, конечно же! Мост измеряет отношения. Но рассчитать измерительный мост со всеми погрешностями... ну, есть и такого уровня эмбеддеры.

Кажется, точность при таком методе буде совсем никакая (динамический диапазон теряем), нелинейность тоже не уберется, но разве ж остановишь полет мысли....

Если уж на то пошло, то запихивайте ATiny24 или ATiny25 прям в бензобак или выхлопную трубу и снимайте показания встроенного датчика по 8/4 каналу напрямую. Вообще никаких усилий схемотехнических не нужно.

Непонятно только, почему эти вопросы в 101 раз возникают.

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


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

Если уж на то пошло, то запихивайте Tiny прям в бензобак или выхлопную трубу и снимайте показания встроенного датчика по 8/4 каналу напрямую. Вообще никаких усилий схемотехнических не нужно.

Непонятно только, почему эти вопросы в 101 раз возникают.

 

Дык, автор никак не скажет температуру ЧЕГО он меряет... Может тосола, может масла, а может движка...

В последних двух случаях от ATtiny вряд-ли что останется... :biggrin:

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


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

Рядом другие каналы АЦП нормально работают, дрожит последний разряд, что приемлимо

я правильно понял, что на одном и том же работающем в одинаковых условиях МК одни каналы АЦП работают нормально, а этот канал с подключенным имитатором датчика (с короткими проводами) дает "дрожание" как минимум в 4 младших разрядах?

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


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

я правильно понял, что на одном и том же работающем в одинаковых условиях МК одни каналы АЦП работают нормально, а этот канал с подключенным имитатором датчика (с короткими проводами) дает "дрожание" как минимум в 4 младших разрядах?

Да именно так. Т.е. если я подсоединяю делитель, запитанный от напряжения питания МК, постоянный резистор 1% и потенциометр, то наблюдается дрожание по 4-5 младшим разрядам. Рядом работают другие измерительные каналы (не столь экзотические) и всё ОК.

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


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

Гость @Ark

Нужно выяснить источник явления.

Сделайте делитель из двух обычных резисторов (1-5К). Подключите его непосредственно к питанию и земле MК, а среднюю точку - ко входу АЦП. И конденсатор на вход побольше (10мкф). Все - с проводниками минимальной длины. Показания АЦП должны при этом "стоять". Если это так - то проблема только в датчике и/или его подключении. Иначе - не правильное программирование. Возможно, не выдерживаете достаточную паузу перед измерением после переключения канала.

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


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

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

Непонятно, о чем вы? Да, закон Ома эмбеддеры должны знать. Но особой доблести в этом нет. Формулу для расчета приводил ув. MrYuran: ADC_IN / ADC_MAX = Rd / (Rref + Rd)

ADC_IN - результат АЦП преобразования, ADC_MAX - количество отсчетов в полной шкале АЦП (для 8-битного равно 255)

Ее можно переписать так:

ADC_IN = (ADC_MAX*Rd) / (Rref + Rd)

Кажется, точность при таком методе буде совсем никакая (динамический диапазон теряем), нелинейность тоже не уберется

Разве это не ваши слова: "Нелинейно, но это же и есть прямая обязанность программера рихтовать нелинейности." Про "свою" схему вы говорили одно, про "чужую" - другое.

 

По поводу динамического диапазона. Как указывает автоp темы, сопротивление термистора меняется (в рабочем диапазоне температур) от 200 Ом до 5 кОм. Если сопротивление Rref выбрать равным 1к (максимальная чувствительность - в середине рабочего диапазона), то напряжение на входе АЦП будет меняться от 0.16(6) до 0.83(3) от полной шкалы АЦП. Да, 33% шкалы будет "потерянo". Однако сомнительно, чтобы эта потеря могла оправдать установку дополнительного ОУ. Все равно вам придется потерять процентов 10% шкалы, оставив запасы по 5% на краях диапазона. Запасы нужны на дрейф ОУ, на разброс и дрейф параметров датчиков, погрешность резисторов. И что вы выиграете? Неужто потеря 20% дает основания говорить, что "точность будет совсем никакая"?

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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