Блок управления двигателем на МКРефераты >> Программирование и компьютеры >> Блок управления двигателем на МК
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