Страница 1 из 2
ТC PT1000 и АТМega
Добавлено: Чт июл 05, 2012 13:49:04
Biggy
Доброго времени суток =)
Появилась задача прикрутить данный ТС к аврке, схему вроде набросал
но сразу возник ряд вопросов. Нижний резистор, каков должен быть его номинал и его точность, если требуемый мне диапазон в 50 градусов и точность измерения +-1 градус хватит.
Питание, заводимое на ТС, используют ли для этой цели общее питание с МК от стабилизатора типа 7805 или требуется отдельный прецизионный источник.
Может быть уже есть готовые проект с кодом и схемами, буду признателен за любую помощь.
P.S. Плз, не надо писать про использование DS18(B/S)20 или замену ТС на него.
Re: ТC PT1000 и АТМega
Добавлено: Чт июл 05, 2012 14:52:02
orinoko
Номинал нижнего резистора должен быть таким, чтобы в середине диапазона измерения в точке соединения резисторов было половина напряжения ИОН*. Резистор очень желательно с минимальным ТКС. Точность его неважна, так как придётся всё равно калибровать сие изделие и составить таблицу соответствия показаний АЦП и измеренной температуры. Таблица зашивается в программу и она корректирует показания. График изменения вроде должен быть нелинейный с такой схемой включения. Образцовый термометр должен иметь погрешность не хуже 0,2 градуса.
И естественно питание датчика должно быть стабильное, чем больше , тем лучше.
P.S.: Если кстати посмотреть график изменения сопротивления от температуры, то видно, что при изменении температуры от 0 до 50 град сопротивление меняется с 1000 до 1193.95 Ом, т.е. на ~20%. И таким образом, если нижний резистор у нас 1 кОм, то напряжение в средней точке изменится от 2,5В до 2,721 В, что весьма мало для обеспечения данной точности измерения. Нужно усилить сигнал с датчика или использовать резисторный мост, или второе с первым. Усиление должно быть таким, чтобы напряжение изменялось от примерно 10 до 90% полной шкалы АЦП (обычно это напряжение ИОН*).
Всё написанное является моим мнением. Я бы делал так.
(*ИОН - источник опорного напряжения)
Re: ТC PT1000 и АТМega
Добавлено: Чт июл 05, 2012 19:51:00
borys
А никого не смущает то, что в этом МК АЦП всего 10-разряный?
Re: ТC PT1000 и АТМega
Добавлено: Чт июл 05, 2012 21:39:40
orinoko
А не очень и смущает. Диапазон 50 градусов. Точность 1 градус. даже 8 разрядов хватит. 200 шагов - это дискретность 0,25 градуса. Если конечно усилить сигнал датчика до приемлемого.
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 05:54:07
Biggy
orinoko писал(а): Нужно усилить сигнал с датчика или использовать резисторный мост, или второе с первым. Усиление должно быть таким, чтобы напряжение изменялось от примерно 10 до 90% полной шкалы АЦП (обычно это напряжение ИОН*).
А можно с этого места поподробней, плз.
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 08:48:25
zero648
Biggy писал(а):Доброго времени суток =)
Появилась задача прикрутить данный ТС к аврке, схему вроде набросал
но сразу возник ряд вопросов. Нижний резистор, каков должен быть его номинал и его точность, если требуемый мне диапазон в 50 градусов и точность измерения +-1 градус хватит.
Питание, заводимое на ТС, используют ли для этой цели общее питание с МК от стабилизатора типа 7805 или требуется отдельный прецизионный источник.
Может быть уже есть готовые проект с кодом и схемами, буду признателен за любую помощь.
P.S. Плз, не надо писать про использование DS18(B/S)20 или замену ТС на него.
Вот, примерно такой расклад:
Спойлер
Код: Выделить всё
...
...
...
ldi r16, 0b00100111 ; VCC as VREF, ADC left, вход ADC7 (PA7)
out ADMUX, r16
ldi r16, 0b11000011 ; Enable ADС, Prescale = 1/8
out ADCSR, r16
adc_cnv_DT:
sbic ADCSR, 6
rjmp adc_cnv_DT
in r16, ADCL ; читаем код АЦП
in r17, ADCH ;
ldi ZL, low(ADC_TEMP_3900) ; Характеристика датчика
ldi ZH, high(ADC_TEMP_3900);
add ZH, ZH
add ZL, ZL
brcc ZH_no_inc
inc ZH
ZH_no_inc:
ldi r24, 170+20 ; Ищем диапазон характеристики датчика
low_ADC:
subi r24, 10
lpm r20,Z+
lpm r21,Z+
cp r21, r17
brlo low_ADC
brne hig_ADC
cp r20, r16
brlo low_ADC ; r17:r16 измеренное значение ADC
hig_ADC:
sbiw ZL, 4
lpm r18,Z+ ; наименьшая точка диапазона ADCmin
lpm r19,Z+ ;
;
sub r21,r19
sub r20,r18
brcc r21_nopDT
dec r21 ; ширина диапазона ADC
r21_nopDT:
sub r17,r19
sub r16,r18
brcc r17_nopDT
dec r17 ; смещение точки
r17_nopDT: ; измеренного значения в диапазоне ADC
ldi r22, 10
mul r24, r22 ; температура наим. точки диапазона ADC
ldi r23, 50 ;
ldi r24, $ff ;
div_r2120:
inc r24 ;
sub r20, r23 ;
brcc div_r2120 ;
subi r21, 1 ;
brcc div_r2120 ;
add r20, r23 ;
lsr r23
sub r20, r23
brcs no_corect
inc r24 ;
no_corect:
add r17, r17 ;
add r16, r16
brcc r17_nopDT1
inc r17
r17_nopDT1:
ldi r20, $ff ;
div_r1716:
inc r20 ;
sub r16, r24 ;
brcc div_r1716 ;
subi r17, 1 ;
brcc div_r1716 ;
add r16, r24 ;
lsr r24
sub r16, r24
brcs no_corect1
inc r20 ;
no_corect1:
sub r0, r20 ;
brcc r1_nopDT ;
dec r1 ;
r1_nopDT:
mov r16, r0
mov r17, r1
subi r16, $f4 ;
brcc r17_nopDT2 ;
dec r17 ;
r17_nopDT2:
subi r17, $01 ; На выходе r17:r16 температура в hex, шкала 0.1*C
...
...
...
ADC_TEMP_3900: ; Material Constant = 3900
.dw $0544,$0640
.dw $0802,$0ac0,$0e4a,$1360,$1a40,$2440,$31c0,$4440
.dw $5c40,$7900,$9880,$b700,$d0c0,$e3c0,$efc0,$f6c8
.dw $4f80 ; АЦП при t=25*C
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 11:39:30
orinoko
Biggy писал(а):orinoko писал(а): Нужно усилить сигнал с датчика или использовать резисторный мост, или второе с первым. Усиление должно быть таким, чтобы напряжение изменялось от примерно 10 до 90% полной шкалы АЦП (обычно это напряжение ИОН*).
А можно с этого места поподробней, плз.
Как то так. Схемотехнически. В данном случае подразумевается, что в качестве ИОН используется питание.
Тут есть правде небольшой камушек подводный. При такой схеме включения термосопротивления на нём будет рассеиваться около 6 мВт. Т.е. эту мощность он будет выделять в виде тепла.
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 13:03:51
Biggy
Дико извиняюсь за свою необразованность, но не понимаю что конкретно операционник здесь усиливает? В той простенькой схеме, что я привел в 1 посте вроде все понятно, меняется сопротивление - меняется напряжение в точке, ацп замерил скок там и перевел в код. А в данной схеме идет токовый сигнал? Или как, вообще логику работы схемы не понял... =(
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 13:14:06
orinoko
Прочтите внимательно второй пост этого топика. А если вкратце, то при заданном диапазоне температур незначительное изменение сопротивления, как следствие, маленький диапазон напряжений на входе АЦП. Надеюсь, мысль сами закончите
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 13:43:12
akl
Здравствуйте.
Biggy Если не отвлекаться от нарисованной в первом посте схемы и
- поменять местами термосопротивление и опорный резистор номиналом 1000 Ом
- предположить, что ТКС Pt1000 равен 0,00391,
то температуру можно получить по выражению Т~256*{[CODE/(1023-CODE)]-1}
Примеры
Т0~256*{[511/(1023-512)]-1} =-0,5~0
T25~256*{[535/(1023-535)]-1} =24,65~25
T50~256*{[557/(1023-557)]-1} =49,99~50
T100~256*{[595/(1023-595)]-1} =99,88~100
В принципе, можно оставить и такое включение, но выражение будет иным. Можете вывести его самостоятельно.
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 18:36:52
orinoko
Чтобы получился не показометр, а термометр, всё же нужно калибровать девайс. Тем более что ТКС разный в зависимости от температуры. Не сильно разный, но всё же. Плюс при изменении сопротивления меняется ток через резисторы, что добавляет нелинейности.
Re: ТC PT1000 и АТМega
Добавлено: Пт июл 06, 2012 18:52:07
borys
При этом надо применять не какой попало, а качественный ОУ, т.е. с малым дрейфом и малым
напряжением смещения. На эту тему есть неплохой аппноут от фирмы MICROCHIP.
Re: ТC PT1000 и АТМega
Добавлено: Сб июл 07, 2012 07:23:23
akl
Правильно, так и надо
- понаставить качественныеОУ
- мосты
- прецизионные ИОН'ы.
Вместо того, чтобы применить подходящий именно в этом случае "ратиометрический метод", при котором, в идеале, для получения параметра температуры нужен всего один точный резистор.
Re: ТC PT1000 и АТМega
Добавлено: Сб июл 07, 2012 08:24:10
orinoko
Если не сложно, нарисуйте примерную схему подключения?
Re: ТC PT1000 и АТМega
Добавлено: Вс июл 08, 2012 19:34:12
Biggy
У меня такое чувство. что имелась ввиду 1 самая простая схемка, там как раз нужен точный резюк.
Re: ТC PT1000 и АТМega
Добавлено: Вс июл 08, 2012 20:53:53
orinoko
Для первой то схемы и проблема полностью описана в следующем посте. мной. Товарищ akl высказался, возможно не подумавши, и убежал. А вы тут типа сами думайте, что я хотел сказать.
Re: ТC PT1000 и АТМega
Добавлено: Пн июл 09, 2012 07:15:59
Biggy
orinoko писал(а): А если вкратце, то при заданном диапазоне температур незначительное изменение сопротивления, как следствие, маленький диапазон напряжений на входе АЦП. Надеюсь, мысль сами закончите
Понял. Понравилась схема с резистивным мостом и усилителем, но возникли пару вопросов по ней. По сути мне подстроечные резисторы ведь не нужны, пока все плечи моста будут по 1k (при 0 градусов) тока не будет (при использование прецизионных резисторов) и на выходе будет 0. Вот тут первая трабла

Какой собакой тут 2,5?!
Причем если убрать R4 то тогда будет 0. Я всегда считал что ООС берет сигнал с выхода и гони его обратно...
Второй момент. Вот допустим мне 50 градусов сверху больше не будет точно. Там сопротивление ТС будет ну почти 1200 Ом. Тогда в плечах на R1 упадет 2,5В, а на ТС при (1,2k) упадет 2,72В, разница на входа ОУ будет 0,22В... и если убрать ООС, то и на выходе должно быть 0,22... ВТФ?!
И для тех кто хорошо разбирается в ОУ.... Как здесь рассчитать R4 под требуемый коэффициент (думаю нужен 20, потому что разность максимальная 0,22*20=4,4В как раз вроде прекрасно для АЦП)
Re: ТC PT1000 и АТМega
Добавлено: Пн июл 09, 2012 08:54:49
orinoko
Делитель R1R3 формирует как-бы виртуальный "ноль" для ОУ, вот поэтому и 2,5В при нулевом смещении. И вы забыли резистор (R4') между +ОУ и средней точкой правой пары резисторов. Тогда КУ = R4/R4' + 1. И этот R4' должен быть хотя бы 10к. А подстроечник я нарисовал, чтобы вывести немного в "плюс" точку 0 градусов, так как у нас операционник питается не 2-полярным питанием. Всё же не все операционники работают от нуля по выходу достаточно линейно. Поиграйтесь номиналами элементов пока не получится заданный диапазон напряжений на выходе. В данном случае удобнее Мультисимом, так как там можно крутить ручку подстроечника во время симуляции.
Re: ТC PT1000 и АТМega
Добавлено: Пн июл 09, 2012 11:56:55
Biggy
orinoko писал(а):Делитель R1R3 формирует как-бы виртуальный "ноль" для ОУ, вот поэтому и 2,5В при нулевом смещении..
Как это "виртуальный 0"? В точке соединения правого плеча и -ОУ там же 2,5В, как и в лемом плече. Нипонял сей момент.
orinoko писал(а):И вы забыли резистор (R4') между +ОУ и средней точкой правой пары резисторов..
Так?

КУ=190/10+1=20, должно быть 4,4В, а там это магическое -14В, это что глюк шпротеуса или я чего то не понимаю, почему без ООС -14В кажет?
Re: ТC PT1000 и АТМega
Добавлено: Пн июл 09, 2012 12:14:35
orinoko
Не. стоп. Посмотрите на мою схему (насчёт R4').
А насчёт 2,5В - таки да, что-то тут не то. Наверное издержки симуляции. Может кто-то другой объяснит, где собака порылась.
P.S.: всё таки правильно. И должно быть 2,5В. Вот интересная ссылка
http://cxem.net/beginner/beginner96.php.