5. АПРОКСИМАЦИЯ СТАТИЧЕСКОЙ ХАРАКТЕРИСТИКИ НЕЛИНЕЙНОГО ДАТЧИКА
Уравнение аппроксимированного участка статической характеристики нелинейного датчика выглядит следующим образом:
U (p) = a*p + b, | (2) |
где a и b – коэффициенты, представленные в форме чисел с фиксированной точкой.
С АЦП приходит 12-ти разрядный код в диапазоне 0..4095,что соответствует диапазону входных напряжений 0 ...+2.5 В.
Разрешающую способность по напряжению можно рассчитать как:
U = код*МЗР(Младший Значащий Разряд) | (3) |
где МЗР =
где UВХ MAX – максимальное входное напряжение подаваемое на вход АЦП;
UВХ MIN – минимальное входное напряжение подаваемое на вход
Выразив p из (2) и приняв во внимание (3), формула нахождения давления от напряжения примет следующий вид:
Для уменьшения погрешности аппроксимации статическая характеристика нелинейного датчика давления делится на 4 равных отрезка и находятся коэффициенты a и b (см. табл.6) для уравнения вида p(код)=a*код+b описывающего каждый из этих отрезков.
Таблица 6
Таблица переведенных коэффициентов
№ участка | a10 | b10 | a16 | b16 |
1 | 0.001203 | 0.010377 | 0.004edf | 0.02a8 |
2 | 0.001206 | 0.007413 | 0.004f03 | 0.01e5 |
3 | 0.001219 | -0.02094 | 0.004fe5 | 0.055c |
4 | 0.001245 | -0.101148 | 0.005197 | 0.19e4 |
Аппроксимация статической характеристики нелинейного датчика давления была произведена с помощью программы MATHCAD 8.0 (см п.5)
5.1 Оценка погрешности аппроксимации
Оценка этой погрешности была произведена на программе MATHCAD 8.0 (см п.4), и она составляет D АПР=0.093 %
6. ВЫБОР ФОРМАТА ДАННЫХ
В курсовом проекте выбран формат чисел с фиксированной точкой.
Для коэффициентов a выделяется три байта под дробную часть и один байт под целую часть, а для b два байта под дробную часть и один байт под целую часть Для кода достаточно двух байт, а для результата три байта под целую и два байта под дробную части соответственно.
6.1 Оценка погрешности от перевода коэффициентов
В соответствии с выбранным форматом данных данную погрешность можно найти так:
D пер.коэф=D k*код+D b=2-24*4096-2-16
D пер.коэф = 0.044 % | (4) |
7. ОЦЕНКА ПОГРЕШНОСТЕЙ
При расчетах в курсовой работе мы оценили погрешности возникающие от АЦП, аппроксимации, нормирующего усилителя и других. Суммарная погрешность всей ССД равняется сумме найденных погрешностей, то есть:
D СУМ=D АЦП+D НУ+D АПР+D пер.коэф
где D АЦП – погрешность вносимая от АЦП (см табл.4);
D НУ - погрешность от нормирующего усилителя (см. ф.(1));
D АПР - погрешность от аппроксимации(см.п.4);
D пер.коэф - погрешность от перевода коэффициентов (см. 4)
D СУМ=0,1098+??+0.093+0.044
8. РАСЧЕТ ПОТРЕБЛЯЕМОЙ МОШНОСТИ ОСНОВНЫМИ ЭЛЕМЕНТАМИ СХЕМЫ
Примерную потребляемую мощность можно найти по формуле
где РМП – мощность потребляемая МП(РМП=0,1 Вт);
РАЦП - мощность потребляемая АЦП(РАЦП=0.0050 Вт);
РWDT - мощность потребляемая сторожевым таймером (РWDT=0.001);
PБУФ - мощность потребляемая буфером порта RS-232 (PБУФ=0.01);
PОУ - мощность потребляемая операционным усилителем (PОУ=0.09);
ПРИЛОЖЕНИЯ
Приложение 1
Точные значения кварцев
Кратность | Скорость передачи (Кбод) | Частота кварца (МГц) | |
SMOD=0 (1/64) | SMOD=1 (1/32) | ||
1 | 115,2 | 7,3728 | 3,6864 |
2 | 57,6 | 3,6864 | 1,8432 |
3 | 38,4 | 2,4576 | 1,2288 |
4 | 28,8 | 1,8432 | 0,9216 |
5 | 23,04 | 1,4746 | 0,73728 |
6 | 19,2 | 1,2288 | 0,6144 |
7 | 16,457142 | 1,053257 | 0,526628 |
8 | 14,4 | 0,9216 | 0,4608 |
9 | 12,8 | 0,8192 | 0,4096 |
10 | 11,52 | 0,73728 | 0,36864 |
12 | 9,2 | 0,6144 | 0,3072 |
Приложение 2
Возможные значения кварцев
SMOD=0
Кратность | Скорость передачи (Кбод) | Частота кварца (МГц) | |
SMOD=0 (1/64) | SMOD=1 (1/32) | ||
1 | 115,2 | 7,366503 | 7,378725 |
2 | 57,6 | 3,673807 | 3,698251 |
3 | 38,4 | 2,438711 | 2,475377 |
4 | 28,8 | 1,818014 | 1,866903 |
5 | 23,04 | 1,443078 | 1,504189 |
6 | 19,2 | 1,191022 | 1,264355 |
7 | 16,457142 | 1,009183 | 1,094738 |
8 | 14,4 | 0,871229 | 0,969007 |
9 | 12,8 | 0,762533 | 0,872533 |
10 | 11,52 | 0,674317 | 0,796539 |
12 | 9,2 | 0,538844 | 0,685511 |
SMOD=1
Кратность | Скорость передачи (Кбод) | Частота кварца (МГц) | |
SMOD=0 (1/64) | SMOD=1 (1/32) | ||
1 | 115,2 | 3,683252 | 3,689363 |
2 | 57,6 | 1,836904 | 1,849126 |
3 | 38,4 | 1,219356 | 1,237689 |
4 | 28,8 | 0,909007 | 0,933452 |
5 | 23,04 | 0,721539 | 0,752095 |
6 | 19,2 | 0,595511 | 0,632178 |
7 | 16,457142 | 0,504592 | 0,547369 |
8 | 14,4 | 0,435615 | 0,484504 |
9 | 12,8 | 0,381267 | 0,436267 |
10 | 11,52 | 0,337159 | 0,398270 |
12 | 9,2 | 0,269422 | 0,342756 |
Приложение 5
Подпрограмма инициализации
MOV SCON,#10010000b ; устанавливается второй режим УАПП
SETB 87h,1 ;SMOD=1
MOV IP,#00010000b ;высокий уровень приоритета прерывания у приема передатчика
MOV IE,#10010000b ; разрешаем прерывания
Подпрограмма записи 12-ти бит в управляющий регистр AD7890
SETB P1.2 ;Устанавливаем линию SCLK
SETB P1.4; Устанавливаем линию TFS
MOV R1,0Ch ; организовываем счетчик переданных бит (12)
MOV A,R0 ; загружаем а аккумулятор передаваемые биты
MET0:RRC A ; проталкиваем во флаг С передаваемый бит
MOV P1.1,C ; выставляем передаваемый бит на Р1.1
ACALL DELAY ;ожидаем
CPL P1.2 ;инверсия Р1.2
ACALL DELAY ;ожидаем
CPL P1.2 ; инверсия Р1.2
DJNZ R2,MET0
CPL P1.4
Подпрограмма задержки на 0.006 сек.
DELAY:MOV R0,C8h
MET1:NOP
DJNZ R0,MET1
RET
Подпрограмма задержки на 0.6 сек.
DELAY2:MOV R0,Ah
`MOV R1,Ah
MET1:NOP
MET2:NOP
DJNZ R1,MET2
DJNZ R0,MET1
RET
Подпрограмма работы сWDT
ACALL DELAY2 ;ожидаем
CPL P1.6
ACALL DELAY2 ;ожидаем
CPL P1.6
Подпрограмма чтения 15-ти бит с линии DATA OUT AD7890
SETB P1.2 ;Устанавливаем линию SCLK
SETB P1.3; Устанавливаем линию RFS
MOV R2,08h ; организовываем счетчик принятых бит в аккумулятор (если R2=0 – аккумулятор полный
ACALL DELAY ;ожидаем
CPL P1.2 ;инверсия Р1.2
ACALL DELAY ;ожидаем
CPL P1.2 ;инверсия Р1.2
MET0:MOV C,P1.0 ; принимаем бит на Р1.0 и отправляем его во флаг
RLC A ; достаем из флага С принятый бит
DEC R2
JZ MET2 ; если байт принят R2=0
MOV R3,A ; тогда занесем из А в R3 принятый байт
CLR A ; и обнулим аккумулятор, если не принят то -
MET2:ACALL DELAY ;ожидаем
CPL P1.2 ; инверсия Р1.2
ACALL DELAY ;ожидаем
DJNZ R2,MET0
MOV R2,07h ;приняли первые восемь бит, теперь приймем еще семь
CPL P1.2 ;инверсия Р1.2
MET3:MOV C,P1.0 ; принимаем бит на Р1.0 и отправляем его во флаг
RLC A ; достаем из флага С принятый бит
DEC R2
JZ MET4
MOV R4,A
CLR A
MET4:ACALL DELAY ;ожидаем
CPL P1.2 ; инверсия Р1.2
ACALL DELAY ;ожидаем
DJNZ R2,MET3 ;ну вот, и все готово младшая часть посылки находится (8 бит) в R3, а старшая (7 бит) в R4
CPL P1.4
;Подпрограмма выбора коэффициентов нелинейного датчика
MOV DPL,00h
MOV DPH,04h
MOV A,#00001100b
ANL A,R0
RL A
RL A
CLR 0D4H
CLR 0D3H
MOV R0,#0AH
MOV R1,#04H
M1: MOV A,#06H
MOVC A,@A+DPTR
MOV @R0,A
INC R6
INC R0
DJNZ R1,M1
END
;Подпрограмма умножения двух байт (регистры R0, R1 - 1-ый банк) на три (регистры ;R2, R3, R4 - 1-ый банк ), результат помещается в R3, R4, R5, R6, R7 - 0-ой ;банк.
MOV R4,#0h
MOV R5,#0h
MOV R6,#0h
MOV R7,#0h
MOV R3,#0h
MOV R0,#10h
me1:SETB 0D3h
CLR 0D4h
MOV A,R0
RRC A
MOV R0,A
MOV A,R1
RRC A
MOV R1,A
JNC me2
MOV A,R4
ADD A,5h
MOV 5h,A
MOV A,R3
ADDC A,4h
MOV 4h,A
MOV A,R2
ADDC A,3h
MOV 3h,A
me2:CLR 0D4h
CLR 0D3h
MOV A,R4
RRC A
MOV R4,A
MOV A,R5
RRC A
MOV R5,A
MOV A,R6
RRC A
MOV R6,A
MOV A,R7
RRC A
MOV R7,A
DJNZ r0,MET1
;Подпрограмма сложения пяти байт(R3, R4, R5, R6, R7 - 0-ой банк.
;) с двумя (R2(0Dh),R3(0Eh) - 0-ый банк), результат помещается в R3(13h), ;R4(14h), R5(15h), R6(16h), R7(17h) - 2-ой банк.
CLR 0D3H ;
CLR 0D4H ;
MOV A,R5
ADD A,R3
MOV 12H,A
MOV A,R4
ADDC A,R2
MOV 11H,A
JNC M1
MOV A,#01
ADD A,11H
MOV 11H,A
JNC M1
MOV A,#01H
ADD A,10H
MOV 10H,A
MOV 14h,0Ch
MOV 13h,0Bh
M1:CLR 0D3H
SETB 0D4H
END
Подпрограмма передачи пяти байт находящихся в R3 R4 R5 R6 R7.
;Выбор второго банка
SETB 0D4h
CLR 0D3h
;Передача первого байта данных
MOV A,R7
MOV C,P;Р - бит четности аккумулятора
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b ;Выставляется приоритет прерываний
NOP
NOP
NOP
;Передача 2 байта данных
MOV A,R6
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
NOP
NOP
NOP
;Передача 3 байта данных
MOV A,R5
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
NOP
NOP
NOP
;Передача 4 байта данных
MOV A,R4
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
NOP
NOP
NOP
;Передача 5 байта данных
MOV A,R3
MOV C,P
MOV TB8,C
MOV SBUF,A
MOV IE,#10010000b
E
... приведенных выше общей структурной схемы УСД, структурной схемы УУ , функционально-логической схемы КЦУ и структурной схемы ОУ. Поскольку проектируемое процессорное устройство является специализированным, реализующим всего одну микропрограмму сбора данных, оно не нуждается в командном (программном) управлении. Поэтому входы Z1ёZk , показанные на общей структурной схеме УСД (см. рис. 1), в ...
нализа, оценки и распределения необходимой своевременной и достоверной информации, используемой при принятии маркетинговых решений. Понятие маркетинговой информационной системы иллюстрирует рис.1. Рис. 1. Маркетинговая информационная система Для выполнения задач анализа, планирования, исполнения планов и контроля (левая область) менеджеры по маркетингу нуждаются в ...
... К. Сатпаева» для просмотра и ввода информации системы оперативно-диспетчерского контроля и управления, создаваемые на Visual Basic. Специфика используемого в системе оперативно-диспетчерского контроля и управления РГП «Канал им. К. Сатпаева» ПО такая, что разработка ПО, как таковая, может производиться только при создании самой системы. Применяемое ПО является полуфабрикатом. Основная задача ...
... называемые правила бизнеса) реализуются прикладными программами на клиентских установках (RDA-модель) или на сервере приложений (AS-модель). 2. Автоматизированные системы сбора, хранения и анализа информации Автоматизированные информационные системы (АИС) относятся к классу сложных систем, как правило, не столько в связи с большой физической размерностью, сколько в связи с многозначностью ...
0 комментариев