Блок управления двигателем на МК
Рефераты >> Программирование и компьютеры >> Блок управления двигателем на МК

6.5. Рекомендации по выполнению.

В качестве параметра регулирования взять длительность периодов импульсов от оптопары. Выбор этого параметра взамен измерению частоты вращения диска, перекрепленного на двигатель, позволяет производить быстрый контроль стабильности системы управления за счет значительного уменьшения длительности измерения. Для такого регулирования необходимо преобразовывать введенную частоту вращения в длительность периода импульсов, формируемых прорезями на диске датчика, и обратно – длительность периода в частоту вращения. Рекомендуется осуществлять преобразование следующим образом:

1) Введенную частоту вращения (обр/сек) умножить на число прорезей в диске (24);

2) 1000000 разделить на полученное число, в результате чего получится длительность одного периода в мкс.

Для обратного преобразования:

1) 1000000 разделить на длительность периода;

2) разделить на 24.

При делении 1000000 (3 байта) на 2 байта возможно использование стандартной процедуры деления 4-х байтного числа на 2-й байтное. Но для более быстрого деления (а значит и увеличения скорости измерения) рекомендуется уменьшить длительность деления, производя деление 6-ти тетрад (1000000) на 3-и тетрады (максимально возможное число 4095), для этого необходимо:

1) перед процедурой деления сдвинуть делитель на четыре разряда влево;

2) продолжать деление с учетом сдвинутого делителя, т. е. деление должно длится на четыре цикла меньше;

3) после процедуры деления сдвинуть частное на четыре разряда влево.

Для измерения длительности периода импульсов необходимо в качестве счетчика использовать один из таймеров в режиме таймера. Подача на вход прерывания INT1 импульсов вызывает ПП обработки прерывания в которой необходимо следить за первым и вторым входом в ПП. При первом вхождении включить таймер, а при втором вхождении считать состояние таймера, что и будет являться длительностью периода импульса.

6.6. Последовательность выполнения работы.

1. Набрать текст программы;

2. Откомпилировать программу;

3. Запустить отладчик FDSAB;

4. Загрузить в память bin файл, запустить программу на выполнение;

5. Снять зависимость изменения частоты вращения от подаваемой нагрузки;

6. Сделать вывод о проделанной работе;

7. Составить отчет.

Внимание! При приложении больших усилий торможения двигателя он может остановится что приведет к резкому увеличению тока в выходной цепи ИМС управления и возможно выход ее из строя.

7. Заключение.

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

При разработке дипломного проекта было опробовано два способа автоматического регулирования частоты вращения двигателя: измерение частоты (за определенное время подсчитывалось количество импульсов от датчика), измерение периода (измерялась длительность периода импульсов поступающих от датчика). Первый способ измерения частоты показал плохую стабильность частоты вращения регулирующей системы, т. к. из-за большой длительности измерения (при уменьшении длительности измерения увеличивалась погрешность) и быстрого изменения характера нагрузки система не успевала отслеживать это изменение, а следовательно и регулировать входную величину. Второй способ регулирования с измерением длительности периода показал хорошую стабильность автоматической системы управления. Это достигается увеличение числа прорезей на вращающемся диске оптопары, измерение длится короткое время, за которое система автоматического регулирования не успевает отклониться от установленного значения. Небольшое отклонение частоты вращения за короткий промежуток времени (времени измерения одного периода) сразу контролируется и происходит модификация выходного параметра.

Литература.

1. Григорьев В. Л. Программное обеспечение микропроцессорных систем. – М.: Энергоатомиздат, 1983.

2. Щелкунов Н. Н., Дианов А. П. Микропроцессорные средства и системы. – М.: Радио и связь, 1989.

3. Сташин В. В. Проектирование цифровых устройств на однокристальных микроконтроллерах. – М.: Энергоатомиздат, 1990.

4. Иванов В. И. Полупроводниковые оптоэлектронные приборы: Справочник – 2-е изд., перераб. И доп. – М.: Энергоатомиздат, 1989

5. Хвощ С. Т. Микропроцессоры и микроЭВМ в системах автоматического управления. Справочник. Л.: Машиностроение. Ленингр. отд-ние, 1987.

Приложение.

Текст программы.

; присваивание имен

p4 data 0e8h

p5 data 0f8h

ip0 data 0a9h

ip1 data 0b9h

ien0 data 0a8h

ien1 data 0b8h

adcon data 0d8h

addat data 0d9h

darp data 0dah

st1 data 52h

n_sd data 53h

obor data 54h

chi_3 data 55h

chi_2 data 56h

chi_1 data 57h

chi_t data 58h

zn_h data 59h

zn_l data 5ah

rez_h data 5bh

rez_l data 5ch

rezul data 5dh

dli_i_l data 5eh

dli_i_h data 5fh

dli_l data 60h

dli_h data 61h

temp data 62h

indik data 63h

flag bit 00h

f_ind bit 01h

f_rev bit 02h

f_nap bit 03h

f_sta bit 04h

f_rab bit 05h

f_rez bit 06h

f_rezind bit 07h

; определение векторов прерываний

org 0000h

sjmp start

org 0003h

ljmp klav

org 013h

ljmp int_1

; начальная инициализация

start: mov darp,#00h

mov adcon,#0fh

clr f_rezind

clr f_rab

clr f_rev

clr f_sta

setb f_nap

setb f_rez

mov n_sd,#0bh

mov st1,#3fh

mov ip0,#04h

mov ip1,#04h

mov sp,#65h

mov ien0,#81h

inizial:mov r0,#47h

mov r1,#03h

; начальное обнуление индикатора

numb: mov @r0,#00h

inc r0

djnz r1,numb

; определение режима работы и его индикация

jnb f_sta,re1

jb f_rez,re1

mov 4ah,#19h

sjmp re2

re1: mov 4ah,#10h

re2: clr f_ind

beg: jb f_ind,beg2

; определение режима работы

jnb f_rezind,na2

clr f_rezind

jb f_nap,na1

mov 4ah,#0fh

sjmp na2

na1: mov 4ah,#0ah

; запуск двигателя с проверкой направления вращения

na2: jnb f_rev,beg2

jb f_nap,napr1

clr p3.5

mov 4ah,#0fh

jb f_rez,napr

mov 4ah,#19h

sjmp napr

napr1: clr p3.4

mov 4ah,#0ah

jb f_rez,napr

mov 4ah,#19h

napr: clr f_rev

clr flag

setb f_rab

mov ien0,#85h

; остановка двигателя

beg2: jnb f_ind,beg1

djnz st1,beg1

mov st1,#05fh

; сдвиг индикационных ячеек вправо

mov r0,#0ahov r1,#49h

mov 40h,#10h

sdvig: mov a,@r1

inc r1

mov @r1,a

mov a,r1


Страница: