Кенио Т. Шаговые двигатели и их микропроцессорные системы управления (1028406), страница 21
Текст из файла (страница 21)
Регистр В используется дая хранения насюящего сосюяння возбуждения обмоюк. Регистры С и Б. Регистр С исаюльзуется дпя подсчета полного числа шагов, а Š— дая запоминания числа шагов, остааяцяхся ло окончания движения. Если по инструкции движенне состоит из рлюгов,то число р передается в регистр Б, а в С засылается нуль.
После получения команды на выполнение шага содержимое регистра С увеличивается на единицу, а Е уменьшаетсв на единицу. Пример соотношения между интерваламн импульсов н изменением содержимого регистров С и Е дая различного числа шагов приведен на рис. 5.48. Зави<жмостн частоты следования им- 125 Е=1! 0 С-О~ Е=г~ 1 ~ 0 е=5~ г~1 ~о с"'-с"е "О Е=е~ 5 ~ г ~ 1 ~ о Отг Паг Оте Отг С 0) 1 ~г)Ю~ 4 ~ 5 От йа 015 Ота Отг С0~1~г~5)4~5 ааг Вса ааа все асааеа Р н с.
5. 46. Состясианле мквву частстся слепо. ааааа аилуаьссв уаравхалм н нзмеясннем лалаых в рпчктрах Е н С « ф ~ф1, ге 1 Р а с. 5. 49. Заанснмссть частоты саеасвеаня ампуаьссз ущзэалеаая ет времеая 0 5 ага атг шг аег со=ОС~! 7 ~ г 1~в~ ~~~ е1151аЫа550Ы1г! 15 ! 14 ! 15 пульсов управления от времени приведены на рпс.
5.49: двигатель должен начать Движение с частоты спеДованиЯ импУльсов 1е, линейно УскоРЯтьсЯ Дз 1а и ДвигатьсЯ с постоЯнной часгоюй слеДованна нмпУлмов УпРавле. ния. Перед остановкой он замедляется, а затем дзлжен остановиться на частоте вращения, прн коюрой он может зто сделать без потери шага. В рассматриваемой программе двигатель ускоряется за шесть им. пульсов и прн замевпении используется их поспедовательюсть с теьщ же самыми интерваламя, но в обратюм порядке. В прнмере, приведенном на рис.
5.48, движение, сосюящее менее чем из тринадцати питон, вооб ще не может достигнуть требуемой частоты вращеыпя, двигатель разгоняется н затем сразу замедляется. Движение, состоящее из трншцщати ппн более шагов, имеет область с требуемой частоюй вращения, в коюрой управлянлиие импульсы подаются с посюяниой часппой (через равные интервалы) . Как было показано, содержимое регястров С ы Е используется дая подсчета, адресов памяти, содержащей данные, из которых получается временнал поспедзвательность импульсов. Регистр П используется дяя храиеныя кода, управляющего направлением движения, спедуюпшм обрезом: П = 0 нли 00000000 дяя вращения по и П = 1 иаи 00000001 длл в рещеныя против часовой стрелки.
Если П = 2, ю процессор рассматривает зю, как указание конца движеныя; таким образом, П = 2 пли 0000001 0 для кошм программы. Команды о направлении вращения и количестве пегов дня вмюлненыя движешш заносятсл в область памяти, пивная с адреса т, как показано на рис. 5.50. До первого движения данные ыз единицы памяти с адресом У переносятся в регютр П, а из т' + 1 — в Е. Дпя второго шппнення данные из г'+ 2 и У+ 3 переюсятсл в репгсгры 1) и Е соответствеыно. Лвойной регистр НЕ,. В математическом обеспеченыи мнкропроцесоз- 46рес байт памяти У У+1 У+2 У+5 У+Ч У+5 У+б У+7 У+В У+Я У+10 У+11 У+ 12 У+15 У+ге У+15 У+16 1-е Вбитеяие )2-е )Ч-я )5-е )б-е ) 7-е Р и с.
5. 50. Обвасгь ватаев Юм исвт реви вюрмлсвви врашеввг и чвсаа шагов иа оюгв оборот Р и с. 5. 5!. Область витати лав лаи. выв часгетм ииатвмов Заряввсиив йбр яс Х-1 Х Х+1 х+г Х+Ю Х+Ч Х+5 Х+б Х+7 а. 1, ссг Втг 61 г!1 Жя ра 8080 двойыой регистр НЬ часто используетсв дия определения адресов памяти, из коюрых (ипи в которые) денные переносится в регистр (нли из регистра) . В нашей программе двовиой регистр Н1. используется рля определеняя адресов памяти, содержащей значения ынтерввлов импуль. сов.
До загрузки Н1. спелует провести расчеты югя определеныи правильного адреса. На рис. 551 показав область памяти дпя хранения интервалов импульсов, коюрав соответствует шести адресам с Х до Х + 5. (Адрес Х определяется программой ассемблер квк начальный адрес.) Естественно, зту область можно расширить при использоваыик дия ускорения и замедаения двнгатевя большего чяспа шагов.
Реальные интервалы импульсов Ьгт вычисляют с помощью двнньпс Дт в каждом бейте памяти к числа сосюяний в выполнении некоторой части программы и задают фомрулой Мт =аЯ„+Ь, где а и Ь вЂ” константы, которые определяются математическим обеспечением и временной часююй микропроцессора. Адреса памяти определяют вниз от Х-ускорения и вверх обратгю к Х- замедлению. Интерввлы югя гребуеьюй частоты вращения получают с использованием значения Де, хранящегося по адресу Х+ 5. Двойной регистр Н1, тюсже попользуется дея определения адресов дан:- ных о направлении вращения и количестве нагов вращения.
5.52. Структурная схема и прогремев мщсролроцессорв. Рабочая схема программы прыведена на рис. 552. Детали кажгрй из частей приведены на других рисунках с привлечением кодов языка ассемблера. Обьяснеиие структурной схемы и программы проводитсв пкг за шагом следующим образом. 1. От БТАКТ до Р(7БН НЬ. Детали зюй части приведены нв рис. 5.53. Обьясним шаг за шагом.
127 Программа стартует в мом примере с адреса 8200Н. Снмвол Н означает, что правелепвое чясао зепнсано в шестнюаатермчвом коде Решстр В паигвалнзаруетсм н усгамавлввает возбуапиюшее со. стоаяве. Эта степям сосюят мз трех агапов: А +- 0011 0011. В аккумулатор А загружеетса чмспо 001 1 001 1, коюрое равно 33. длп управлеммм демгатевем по двухфаюой схеме; 5ЕНВ А. Этот код посываетса через аыхоиюй порт коммутато.
ру, как показжю ва ркс. 5.54. Обмотки фаз 1 и 2 возбузгдюстса, так как па кспм без влм 1 н 2 пацаетса положмтельвый потевцнал 5В; В ~ А. Ямиые нз АС перепосатса в регястр В юш запоммиияа в центральном процессорном устройстве СРН В двойной решсгр загружаетсв чпсао мз У. которое представляет соней старювый адрес областм паматв, содержащей давние о па. правлевнв врааевмп в чнспе литов. Как показано па рнс. 550, од. яо двмзювке овмсыааетсм двумя байтами: первый ллп кода яаправлиип, а вюрой дпм исаа вигов; Дыиьи вз паввгш с адресом У пересылаютсм а решстр 0 Еслм содержчмое О = 2, ю программа переюднт к концу (ЕНВ), который оппсываетае зиемоваческнм кодом НьТ Есяя В Ю 2, содерянмое Ю.
Увеяяяеваетеа пе еяявяпу до пюдуюлпео соогоаввм Содерюгмое мамаш по адресу У + 1 пересылаетса в Регястр Е Содержнмое регмсцм С очюцаетса в стемовнтся равным муви Содержимое регистра НЕ не задастом, так как Н). пспользован юог другвх целей ЗТАРТ В + 00110011 Н1. +- У В +- М В= 21 НЕ +- НЕ+ 1 Е+-М С ~0 РАБЕ Н1. 2. Логический бнок (процедура КОТАТБ). Яо анвлпза способов генвра. цнн анна!оп на включенне обмоток в эапрограммнрованное время рассьютрпм, используя рнс. 5.55, кас на данном процессорном устройс!. ве СР() можно реалнэонать работу логяческого Едока. Содержммое регистра В пересыпаегса в АС (аккумулятор) п сревпяваетсм с пулем (ООН).
Есап О = О,: то программа продаяжытсп по правой ветви, ешв В = 1, то продолжается по ле. вой ветви В правой везвл -держммое Решстра В пересыааетсв в АС в сдввгаетса вправо на одкм бвт командой ВВС; содержммое АС мепаетсм ма 1001 1001 ЕН(РТ АЛЕЕТ В левой везем аосьмвбнювое исло в АС слвмгаетса влево командой ДЕС ЕЧСВЕМЕНТМОТОЕ Паигое вз АС пересылаетса через выходной порт даа север шеиш лапгателем оаюго шага по влм протвв часовой стрелкк. В конце дмпюе вз АС загружаетса а репктр В ЗН(РТ Д1ОНТ Изменение данных в регястре В показано на рнс. 5.56, а, откуда видно, по функцпя логического блока выполняетсн подачей четырех младшнх битов носьмнбнтоного сигнала на выход)юй порт.
На рнс. 556, б показано одпофаэное ноэбужденне: дпя управлення также берутом четыре мла)г шпх бита, по начальное дашюе дпя регистра В равно 0001 0001. На рнс. 5.56 пэображепо полушаговое управленпс. Начальное значение дпя регистра В равно 0000 01111 и четыре четных бнта попользуются в каче. сше упрашпющего аннана. 3. Процедура СОН)ЧТБК. Деталн подсчета шагов н пети 1 (ЮОР 1) показаны на рпс.
557. Функция счета выполняется следующпм образом: 9 — эеа. 999 123 Шелсбий ббилатель Ри с. 5. 54. Ошзь мскду выходным портом и коммутатором (см. Рнс. 5.15) КОТАТЕ ВТЕР ЭВТУЕН В,А 705ЧЮ210 705Ч8210 705 Ч5210 Ря с. 5.56. Изменение дзяяых в регястре В: л — двухфазное; 0 — ашоемзнос; е — повушзговос возеузшевие С+ С+1 Е +- Š— 1 Тзк кзк регистр используегаа кзк сюевшк, то его содернкмое яармпнваетсп не еленину лонге кззщого пнгз. Содерзшмое ре. гястра Е умевьшзетса ва единвду Если содерзшмое регистре Е сззиоаится равным лупы, ззо озяо чает. что давимые выполнена в программа переходвт к 1 ООР 1.
В проливном спучзе программа булст вьшолнзть спедузшшв шзг Е ОТ 4. Процедура РАББЕ. В МООР ! процедура РАББЕ выполвгетсн первой; она обеспечивает ожидшше в течение определенного интервала времени, пока система выполнлет свои функции (печать агмвопа на печатавицем устройстве), и реализуется спедушшим образом: 130 ЙОТАТЕ: МОУ СР1 Л МОУ ВВС ЮМР СЕГТ: МОу КЬС ,ТМР ВТЕР:СОТ МОУ А,Э СОВ ЕЕГТ А,В;с!у Р в с. 5. 55. Структурнзз ВТЕР схема аронсдурм НОТАТЕ А,В;ССЧ7 ООР$ ООР Б Рн с. 5. 57. ПроцедураСОЮМТЕИ А+ РР Р11БН ВС В АС загрулзетсн РР. Шестпадцатерячное чваю РР равно пвовч. ному 1111 1111 нлн десшюшому 256 Ретнстр В дз сего врезкам лакшэжшалсн даа храневня вюРорма.
цнн о состошшв аозбупшанаа обмоток двншпшя. Дпя того, что- бы нсполюовать сто дшт друтнх целей, содержкмое сохрышетса н запомнваатсн в памптн по адресу, определяемому указателем стека. В процессоре аоао РУЗН ВС сохрышет содержнмое пары репытров В н С Загруашется РР в репсстр В Содержимое В повторно умевьшаетсн на ешпсшу, пока не ссснет рясным нулю После умевыпеннл содержнмого В дз нуля содержнмое АС поете. доаателыю уменыпаеюя на ешппшу, шлса не станет пупам. Зтот процесс заннмает сраввнтепыю много времевя, так как имеет мест яа каждом шаге работы дангатеня эырузка РР в ретпстр В п уменьшенне его содержнмого до ныш Когда требуемый интервал времена врошсл, содержнмое репс- стра В восешнаалнваетса н его эначепяе становнтса равным со.