Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Kharakhnin / Аналоговые и цифр. устройства авт. пособие

.pdf
Скачиваний:
73
Добавлен:
08.03.2016
Размер:
3.06 Mб
Скачать

N – младшая тетрада;

I – старшая тетрада;

F( I ) – значение функции по старшей тетраде;

F( I + 1) – значение функции по старшей тетраде +1. Составим таблицу соответствия кодов (табл.30). Считаем, что у

нас силоизмерительный датчик имеет линейную статическую характеристику.

 

 

 

 

Таблица 30

DEC

НЕХ

Напряжение, В

Натяжение, kН

Натяжение в HEX

0

00h

0

0

00h

16

10h

0,6

13

0dh

32

20h

1,3

25

19h

48

30h

1,9

38

26h

64

40h

2,5

50

32h

80

50h

3,1

63

3fh

96

60h

3,8

75

4bh

112

70h

4,4

88

58h

128

80h

5,0

100

64h

144

90h

5,6

113

71h

160

A0h

6,3

125

7dh

176

B0h

6,9

138

8ah

192

C0h

7,5

150

96h

208

D0h

8,1

163

A3h

224

E0h

8,8

175

Afh

240

F0h

9,4

188

Bch

256

100h

10

200

C8h

Рассмотрим подпрограмму TABL_ACP определения значений функции в промежутках между табличными значениями. Значение кода АЦП должно находиться в аккумуляторе, преобразованное в BCD формат табличное значение после выполнения подпрограммы будет находиться в ячейках 21Н и 20Н ОЗУ.

Fx

EQU 50h ; Значение функции

Fi

EQU 51h ; Значение функции по старшей тетраде

 

N EQU 52h ; Значение младшей тетрады

 

Fi_1 EQU 53h ; Значение функции по старшей тетраде+1

<1>TABL_ACP: MOV DPTR,#TABLE; Загрузка адреса таблицы

<2>

MOV R0,A ; Сохранение кода АЦП

<3>

ANL A,#0F0H; Выделение старшей тетрады.

<4>

MOV R1,A ; Сохранить старшую тетраду в R1

<5>

SWAP A ; Поменять местами тетрады

 

181

<6>

MOVC A,@A+DPTR; Взять из таблицы в ПЗУ код

<7>

MOV Fi,A ; старшей тетрады и поместить в ОЗУ

<8>

MOV A,R1 ; Восстановить значение старшей тетрады

<9>

SWAP A ; Поменять местами тетрады

<10>

INC DPTR ; Указать на следующее значение таблицы

<11>

MOVC A,@A+DPTR ; Взять из таблицы в ПЗУ код

<12>

MOV Fi_1,A ; старшей тетрады и поместить в ОЗУ

<13>

MOV A,R0 ; Восстановить код АЦП в А

<14>

ANL A,#0FH ; Выделить младшую тетраду

<15>

MOV N,A ; и поместить в ячейку ОЗУ

<16>

CALL CALCULATE;Вызвать подпрограмму расчета Fx

<17>

CALL BIN_BCD ; Вызвать преобразование кодов

<18>

NOP

;

 

<19>

RET

;

 

;Расчет по формуле F(x)=F(i)+(N/16)∙[F(i+1)-F(i)]

<20>CALCULATE:CLR C

; Сброс бита С

<21>

MOV A,Fi_1;

<22>

SUBB A,Fi ; F(i+1)-F(i)

<23>

MOV B,N ; Поместить младшую тетраду в В

<24>

MUL AB

; N∙[F(i+1)-F(i)]

<25>

MOV B,#16 ;

<26>

DIV AB

; N∙[F(i+1)-F(i)]/16

<27>

ADD A,Fi ; F(i)+(N/16)∙[F(i+1)-F(i)]

<28>

MOV Fx,A ;

<29>

RET

 

;

;Преобразование бинарного кода в BCD

<30>BIN_BCD: MOV B,#100 ;

<31>

DIV AB ; Определение числа сотен

<32>

MOV 21H,A ;

<33>

MOV A,#10 ;

<34>

XCH A,B

;

<35>

DIV AB ; Определение числа десятков

<36>

SWAP A

;

<37>

ADD A,B ; Сложение десятков с единицами

<38>

MOV 20H,A ;

<39>

RET

;

;Таблица кодов натяжения ткани в HEX форме

<40>TABLE:

DB

00h,0dh,19h,26h,32h,3fh,4bh,58h,64h

<41>

DB

71h,7dh,8ah,96h,0a3h,0afh,0bch,0c8h

 

 

 

182

З а д а н и е д л я с а м о с т о я т е л ь н о й р а б о т ы

Разработайте программу для микропроцессорного измерителя температуры. Диапазон изменения t = 0 – 100 0C. На выходе преобразователя температуры сигнал изменяется линейно от 0 до 5 В. АЦП восьмиразрядный.

5.4. Формирование управляющих аналоговых сигналов

Для управления аналоговыми исполнительными механизмами в микропроцессорных системах управления объектами необходимо применение цифроаналоговых преобразователей ЦАП / 8 /.

В качестве примера ЦАП рассмотрим отечественную микросхему К572ПА1, предназначенную для преобразования десятиразрядного цифрового кода в пропорциональное значение аналогового тока на выходе. Условное обозначение ЦАП показано на рис. 60.

D1D10 – цифровые входы;

RОС – вывод для подключения резистора обратной связи; I1 и I2 - аналоговые выходы;

UОП – вывод для подачи опорного напряжения.

Микросхема потребляет ток IПОТР = 2 мА. Время установления аналогового сигнала при изменении цифрового кода составляет 5 мкС.

Выходное напряжение UВЫХ ЦАП и его полярность зависит от полярности и величины напряжения на выводе UОП. Так, например, если

UОП = -10В, то UВЫХ будет изменяться в диапазоне от 0 до +10 В при изменении кода на входах D1 - D10.

На выходе ЦАП имеет место квантованный сигнал (рис.61).

183

 

.60 .Рис

 

Схема

184

подключения

 

ЦАП

 

к 1ПА572К

 

МК

DD1

 

1

P1.0

SMC

P2.0

21

 

 

 

 

 

 

 

2

22

 

 

 

P1.1

 

P2.1

 

 

 

 

 

 

 

 

3

P1.2

 

P2.2

23

 

 

 

 

 

 

 

 

4

P1.3

 

P2.3

24

 

 

 

 

 

 

 

 

5

P1.4

 

P2.4

25

 

 

 

 

 

 

 

 

6

 

26

 

 

 

P1.5

 

P2.5

 

 

 

 

 

 

 

 

7

P1.6

 

P2.6

27

 

 

 

 

 

 

 

 

8

P1.7

 

P2.7

28

 

 

 

 

 

 

 

 

9

 

 

 

29

 

 

 

RST

 

PME

 

 

 

 

 

 

 

 

18

 

30

 

 

 

BQ2

 

ALE

 

 

 

 

 

 

 

 

 

19

 

 

 

39

1

 

 

BQ1

 

P0.0

 

 

 

 

 

 

 

 

38

2

 

 

 

 

 

 

 

31

 

 

P0.1

 

 

DEMA

 

37

3

 

 

 

 

 

 

 

10

 

 

P0.2

 

 

 

 

 

36

4

 

 

 

P3.0

 

P0.3

 

 

11

 

35

5

 

 

P3.1

 

P0.4

 

 

 

 

 

 

12

P3.2

 

P0.5

34

6

 

 

 

 

 

 

13

P3.3

 

P0.6

33

7

 

 

14

P3.4

 

P0.7

32

8

 

 

 

 

 

 

15

 

20

 

 

 

P3.5

 

GND

 

 

 

 

 

 

 

 

16

 

40

 

 

 

P3.6

 

Ucc

 

 

 

 

 

 

 

 

17

P3.7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+5В

 

 

 

DA1

 

 

 

 

 

 

R1

8

8

4

D10

D/A

 

 

 

 

 

 

 

 

 

 

 

16

 

 

 

 

 

R2

7

 

 

 

 

 

 

 

 

 

7

5

 

Roc

 

 

 

 

 

 

 

 

D9

 

 

 

 

 

 

R3

6

 

 

 

 

 

 

DA2

 

 

6

6

 

 

 

 

 

 

 

 

 

D8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R4

5

 

 

 

1

2

 

 

6

 

 

 

 

 

 

 

 

5

7

 

I1

 

 

OUT

 

 

 

D7

2

 

-

 

 

R5

4

 

 

 

 

 

 

Uвых ЦАП

4

8

 

 

 

 

 

 

4

R6

 

D6

I2

 

 

 

-U

-15В

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

3

9

 

 

 

+

 

 

 

 

D5

 

 

 

7

 

R7

 

 

 

 

 

 

 

2

 

 

 

 

 

 

+U

+15В

2

 

 

 

 

 

 

 

 

10

 

 

3

 

 

 

 

 

D4

OV

 

 

 

 

 

R8

1

 

 

 

 

К140УД608

 

 

 

 

 

 

 

 

 

 

 

1

11

 

 

 

 

 

 

 

 

D3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D2

Uop

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D1

 

14

 

 

VD1

R9

-15В

 

 

 

 

+15V

 

 

 

 

 

 

 

 

 

 

 

Д814В

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

К572ПА1

 

 

 

 

 

 

AT89S8252

UВЫХ

U

КОД

Рис. 61. Выходной квантованный сигнал ЦАП

Уровень квантования определяется по формуле

U

UВЫХ

 

(5.9)

2n

,

 

 

 

где n – разрядность ЦАП.

 

 

 

Для ЦАП К572ПА1 U составит

10В/1024 10 мВ. Для рас-

смотренной схемы рис. 60 разрядность ЦАП составляет 8, поэтому U 10B/255 40 мВ. При разработке микропроцессорных систем управления необходимо учитывать погрешность, вносимую разрядностью ЦАП. Микросхема К572ПА1 подключается цифровыми входами к любому из портов. В рассматриваемой схеме к порту Р0 подключаются также подтягивающие резисторы R1 – R8. На выходе ЦАП имеем аналоговый ток, для преобразования его в напряжение необходим усилитель DA2 (К140УД608). Разряды D1 и D2 необходимо подключить к общей шине, поскольку при высоком входном сопротивлении входов на них могут наводиться помехи.

Пример 1. Необходимо разработать программу для формирования на выходе ЦАП пилообразного сигнала рис. 60.

 

CAP EQU

P0; Обозначение порта Р0

<1> PILA:

MOV CAP,#00 ; Обнуление порта Р0

<2>

NOP

;

<3>AGAIN: INC CAP

; Инкремент значения порта Р0

<4>

CALL DELAY ; Вызов задержки

<5>

JMP AGAIN

;

 

 

185

<6>DELAY:

;

Задержка, определяющая частоту сигнала

<7>

RET

;

UВЫХ

10 В

T

t

 

 

Рис. 62. Пилообразный сигнал на выходе ЦАП

В цикле AGAIN происходит инкремент содержимого порта Р0 ( шаги 3,4 и 5). При достижении Р0 = FFH следующий инкремент приводит к обнулению порта Р0. Временная задержка DELAY будет определять время нарастания аналогового сигнала от 0 до максимума. DELAY определяет период Т и частоту программируемого пилообразного сигнала.

Пример 2. Необходимо разработать программу, обеспечивающую формирование на выходе ЦАП треугольного сигнала (рис. 63).

UВЫХ

10 В

 

 

 

 

 

T

 

t

 

 

 

 

 

 

Рис. 63. Треугольный сигнал на выходе ЦАП

 

 

CAP EQU

P0

; Обозначение порта Р0

 

<1>TRIAN: MOV CAP,#00 ;

 

<2>

 

CLR A

 

 

;

 

 

<3>INCR:

INC CAP

;

Формирование нарастающего фронта

<4>

 

CALL DELAY ; сигнала

 

<5>

 

MOV A,CAP

;

 

 

<6>

 

CJNE A,#0FFH,INCR;

 

 

 

 

 

 

186

 

 

<7>DECR:

DEC CAP

;

Формирование спадающего фронта

<8>

CALL DELAY

; сигнала

<9>

MOV A,CAP

;

 

<10>

CJNE A,#00,DECR;

<11>

JMP TRIAN

;

Сформировать следующий импульс

<12>DELAY:

; Задержка, определяющая частоту сигнала

<13>

RET

;

 

Шаги со 2 по 6

формируют нарастающий фронт, шаги с 7 по 10 -

спадающий фронт треугольного сигнала. Подпрограмма задержки так же, как и в предыдущем примере, определяет период и частоту сигнала.

З а д а н и я д л я с а м о с т о я т е л ь н о й р а б о т ы

1.Разработать программу для формирования трапецеидальных симметричных импульсов на выходе 10разрядного ЦАП, длительность импульса и паузы 500 мкС.

2.Разработать программу для формирования прямоугольных симметричных импульсов на выходе 10 – разрядного ЦАП, длительность импульса и паузы 1мС.

5.5. Построение АЦП с использованием ЦАП

Используя микросхему ЦАП, можно построить программный АЦП, характеризующийся высоким быстродействием и более дешевой реализацией в сравнении с аппаратным аналого-цифровым преобразователем. Рассмотрим работу схемы на рис.64. Выход ЦАП (UЦАП) подключается к входу компаратора К554СА3 (устройство для сравнения двух аналоговых сигналов). На второй вход компаратора подается сигнал с выхода аналогового датчика UДАТ. Выход компаратора через ограничительформирователь сигнала (резистор и стабилитрон), который преобразует выходной сигнал в уровни 0 – 5 В, и ключ на транзисторе подключен к разряду Р3.2 порта Р3. Условия работы компаратора следующие: при

UДАТ > UЦАП UВЫХ.КОМ. = 0, при UДАТ < UЦАП UВЫХ.КОМ. = 1. Однокри-

стальный МК в порте ЦАП программным путем должен перебирать коды, в результате UЦАП будет линейно нарастать от нуля до 10В. При выполнении условия UДАТ < UЦАП напряжение на выходе компаратора будет равно UВЫХ.КОМ. = 1. Пока на выходе компаратора нулевой уровень, транзистор закрыт и в разряде Р3.2 выставлен единичный уровень. Как только

UДАТ < UЦАП , UВЫХ.КОМ. = 1 , разряд Р3.2 = 0. Рассмотрим работу программы.

187

 

.Рис

 

 

 

 

 

 

+5В

 

 

 

 

DA1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

64

 

 

DD1

 

 

R1

8

 

8

4

D10

D/A

 

16

 

 

 

 

 

 

 

 

 

 

R2

7

 

 

 

 

 

 

 

 

 

 

 

 

.

1

 

 

 

21

 

7

5

 

 

 

Roc

 

 

 

 

 

 

 

Аналого

P1.0

SMC

P2.0

 

6

 

D9

 

 

 

 

DA2

4

 

 

2

P1.4

 

P2.4

25

R3

 

4

8

 

 

 

 

 

 

 

 

 

3

P1.1

 

P2.1

22

 

 

 

6

6

D8

 

 

 

 

 

 

 

 

Uвых ЦАП

 

 

4

P1.2

 

P2.2

24

R4

5

 

5

7

 

 

 

I1

1

 

-

OUT

6

 

 

 

P1.3

 

P2.3

 

 

 

D7

 

 

2

 

 

 

 

 

5

 

R5

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

D6

 

 

I2

 

 

 

-U

 

 

 

-

6

P1.5

 

P2.5

26

R6

3

 

 

 

 

 

 

3

+

 

-15В

 

цифровой

7

 

 

3

9

 

 

 

 

15

 

 

 

BQ1

 

P0.0

39

 

 

 

 

 

 

 

 

 

 

 

 

 

8

P1.6

 

P2.6

27

R7

2

 

 

 

D5

 

 

 

 

 

 

+U

7

 

 

 

9

P1.7

 

P2.7

28

 

 

 

2

10

D4

 

 

OV

3

 

 

 

 

+15В

 

 

RST

 

PME

29

R8

1

 

 

 

 

 

 

 

 

 

 

 

 

 

18

 

 

1

11

 

 

 

 

 

 

К140УД608

 

 

 

 

BQ2

 

ALE

30

 

 

 

D3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

188

преобразователь

19

 

 

P0.1

38

2

 

 

 

 

D2

 

 

Uop

 

VT1

 

 

 

-15В

17

 

 

 

 

 

 

 

 

+U

 

 

 

 

 

 

 

 

 

31 DEMA

 

P0.2

37

3

 

 

 

 

D1

 

 

 

14

VD1

R9

 

 

 

 

 

10

P3.0

 

P0.3

36

4

 

 

 

 

 

 

 

+15V

 

 

 

 

 

 

 

 

11

P3.1

 

P0.4

35

5

 

 

 

 

 

 

 

 

 

Д814В

 

 

 

 

 

 

12

P3.2

 

P0.5

34

6

 

 

 

 

К572ПА1

 

 

 

 

 

 

 

 

13

P3.3

 

P0.6

33

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

P3.4

 

P0.7

32

8

 

 

 

DA2

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3.5

 

GND

20

 

 

 

 

==

 

 

 

 

 

R12

 

 

 

 

 

16

 

40

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3.6

 

Ucc

 

 

 

 

 

11

+15V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

P3.7

 

 

 

 

 

 

 

 

 

 

 

 

R9

R11

 

 

 

+15V

 

с

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

+IN

 

 

 

9

 

 

 

КТ315

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

применением

 

 

 

 

 

 

 

 

 

OUT

 

 

 

 

 

 

 

 

AT89S8252

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UЦАП

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-IN

 

GND

 

VD2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Uдат

 

 

 

 

 

6

 

KC147A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-U

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЦАП

 

 

 

 

 

 

 

 

K554CA3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INT0

 

 

 

 

 

 

 

 

 

<1>

CAP

EQU

P0 ; Обозначение порта Р0

<2>

KOMP BIT

P3.2 ;

Обозначение бита компаратора

<3>ACP:

CLR A

;

Обнуление аккумулятора

<4>

MOV R1,#00

;

Начало перебора с кода 00Н

<5>CHANGE:MOV CAP,R1

;

Код в ЦАП

<6>

JNB KOMP, WRITE_OZU ; Проверка бита компаратора

<7>

INC

R1

;

Инкремент кода ЦАП

<8>

CJNE R1,#0FFH,CHANGE ; Сравнение с FFH

<9>

JMP ACP

;

 

<10>WRITE_OZU:MOV 20H,CAP ; Запись в 20Н ячейку ОЗУ кода

аналогового сигнала

 

 

 

<11>

JMP ACP

;

 

<12>

RET

 

 

 

В программе использован программный опрос бита компаратора на шаге 6 подпрограммы. В случае, если Р3.2 0, инкремент кода ЦАП продолжается (шаг 7), в противном случае выполняется запись идентифицированного кода в ОЗУ.

З а д а н и е д л я с а м о с т о я т е л ь н о й р а б о т ы

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

5.6. Микропроцессорный контроллер как управляющее устройство в системах автоматического регулирования

Цифровым системам управления присущи физические ограничения, определяемые дискретными процессами и элементами, которые отсутствуют в аналоговых системах. В цифровой системе в отличие от аналоговой при наличии АЦП, обладающего задержкой (время преобразования) на получение цифрового кода - аналога непрерывного сигнала, невозможно получить точную копию регулируемого параметра, кроме того, управляющий сигнал формируется также не мгновенно, а через некоторый временной интервал, поскольку микропроцессору требуется время для выполнения команд, обеспечивающих закон регулирования /9/. Другим ограничением в цифровой системе является конечная длина слова, это означает, что не все числа могут быть реализованы в процессоре. Для большинства однокристальных МК длина слова 8 бит.

Таким образом, в цифровой системе управления встает вопрос о выборе периода времени с момента оцифровки регулируемого параметра и

189

выработки аналогового управляющего сигнала. Этот интервал называется периодом квантования. Чем меньше период квантования, тем ближе по своим свойствам цифровая система к непрерывной системе. Уменьшение периода квантования ограничивается аппаратными и временными характеристиками контроллера. Значительное время квантования может привести к тому, что система окажется не устойчивой.

Рассмотрим вопросы программирования реальной системы управления на основе микропроцессорного контроллера для управления скоростью вращения вала электродвигателя постоянного тока. Структурная схема цифровой системы представлена на рис.65.

В качестве объекта управления выступает электродвигатель постоянного тока, регулируемый параметр – угловая скорость вращения вала (t).

Датчик скорости представляет собой тахогенератор, формирующий на выходе аналоговое напряжение, пропорциональное скорости вращения вала электродвигателя.

УВХ – устройство выборки и хранения, предназначено для поддержания неизменным напряжения на входе АЦП на время преобразования аналогового сигнала в цифровой. УВХ представляет собой одновременно и квантователь, поскольку имеет в своем составе электронный ключ. По прерыванию от таймера однокристального МК этот ключ будет замыкаться и размыкаться.

АЦП – аналого-цифровой преобразователь, выполняет преобразование аналогового сигнала в цифровой.

Клавиатура позволяет оператору установить заданное значение скорости вращения вала электродвигателя ЗАД.

Микропроцессорный контроллер выполняет функцию регулирующего элемента, он сравнивает текущее значение скорости с заданным и формирует управляющее воздействие в соответствии с заданным алгоритмом функционирования.

190