20
Т е хнически университет София, филиал Пловдив Курсова работа По Електронни регулатори Изготвил: Специалност: Електроника Ф№ Група: 31 б

Курсова работа ЕР

Embed Size (px)

Citation preview

Page 1: Курсова работа ЕР

Т е хнически университет − София, филиал Пловдив

Курсова работа

ПоЕлектронни регулатори

Изготвил: : Специалност Електроника

Ф№

: 31 Група б

Ръководител: ..................................

/ . . . /гл ас С Василева

Page 2: Курсова работа ЕР

Задание:

Тема:

Електронна система за позициониране на стъпков двигател

:Изходни данни

+5V – захранващо напрежение;

Да се управлява на цяла стъпка;

Да има възможност за реверсиране на посоката;

Page 3: Курсова работа ЕР

I. Теоретична част. Предимства на електромеханични системи ЕМС със стъпкови двигатели:

;Голяма точност при позициониране ;Лесно регулиране на скоростта вширок диапазон , Възможност за изграждане на качествени отворени системи без

;скъпоструващи датчици за обратна връзка ОВ “ ” ;Пособност за запомняне на информацията Скоросста остава постоянна при изменение на натоварването в

;широки граници ; Добра съвместимост с цифрови управляващи устройства

- :По съществени недостатъци на тези ЕМС

;Сравнително малък въртящмомент Относително нисък коефициент на полезно действие

:Видове стъпкови двигатели

Според магнитната си система биват:1. Д вигатели с променливо магнитно съпротивлени(Variable

Reluctance) - роторът е магнитопровод със ситни зъби и работи на привличане от статорните .полюси

2. Д вигатели с постоянни магнити(Permanent Magnet) - роторът съдържа магнити и има явни полюси.

3. Х ибридни двигатели(Hybrid) - ( комбинирани назъбен ротор и 1-2 )вградени само магнита .

:Според електрическата си схема1. Стъпкови униполярни двигатели - еднопосочна намотка със среден извод,

комутират се двата й края за дветете посоки на движение, работи само половината намотка.

2. Стъпкови биполярни двигатели - мостови схеми тип "Н", винаги работи с пълен въртящ момент.

3. Сервомотори – постоянно токови или променливотокови мотори с монтиран на вала декодер за посока и стъпка, който дава точна информация по всяко време и следи да не се изпуснат стъпки поради претоварване и коригира местоположението на вала - с ООВ.

Page 4: Курсова работа ЕР

. Принцип на действие на стъпковите електродвигатели

Осъщесвява се на дискретно изменение на електромагнитното поле в работна въздушна междина за сметка на импулсно възбуждане или

, . . превключване на намотките им т е стъпковите двигатели са , електромеханични устройства който преобразуват електрическите

импулси на управляващото напрежение в дискретни ъглови или (“ ”) нелинейни премествания стъпки на ротора с възможност за

. фиксирането му вжелани положения Срещат се различни конструкции , - на стъпкови двигатели но принципът им е един и същ многофазен и

, многополюсен синхронен двигател който се захранва с постояннотокови . електрически импулса Статорът има листов строеж иможе да бъде

. явнополюсен или неявнополюсен На полюсите или в каналите му са поставениm- (фазни намотки m=1,2,3,4,... . ., - 2 4). и т н но най често и Роторите

: се срещат в два конструктивни вида

( , активен с постоянни магнити или рядко електромагнити възбудени ); от източник за постоянене ток

( , ). пасивен без възбуждане но задължително с явни полюси

При захранване на отделни фази роторътще заема такова равновесно, положение при което съпротивлението на магнитното поле да е.минимално

:Управление на стъпковия двигател

- симетрично при което управляващите сигнали се подават ;последователно на групи от еднакъв брой фази

- несиметрично при което управляващите сигнали се подават ;последователно на групи от нееднакъв брой фази

:Друго деление според управлението е

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

, , напрежение подадено от предшестващия сигнал така че роторът ; заема напълно определено фиксирано напрежение

- импулсно една или повече фази получават управляващия сигнал с , . определена продължителност след което остават без захранване В

, паузата между сигнални импулси роторът се фиксира от вътрешен

Page 5: Курсова работа ЕР

( ) активен момент при активен ротор или от специално фиксиращо.устойство

:Управление на цяла стъпка и на полустъпка

Управлението на стъпков двигател се усъществява чрез прилагането на . серия от стъпки Скороста на въртене се управлява от времето за

. : , прилагане на стъпките Има три основни видове стъпки цяла . полустъпка и микростъпка

При управлението на четири фазен стъпков двигател с цяла стъпка през статорните намотки последоветлно през определен интервал от време се

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

90ротораще се върти през 0 , като се стреми да се изравнява с активните

.намотки

Освен по цяла стъпка може да се управлява и на полустъпка като към пълната стъпка се прибавят и междустъпките с напрежението създадено

. между две намотки Това се осъществява като едновременно се включат

.два съседни магнита

При управление на полустъпка се увеличават броят стъпките на. преместване

Page 6: Курсова работа ЕР

Като пример нека разгледаме един стандартен хибриден стъпков, 200 200 . двигател който има зъба или това са стъпки за оборот Като 200 360разделим стъпки на 0 1.8ще получим ъгъл на завъртане 0. При

, 400 0.9полустъпкатаще се получи че стъпкище доведът до 0 ъгъл на.завъртане

:Управляващи сигнали на униполярен стъков двигател

Page 7: Курсова работа ЕР

:Операция на стъпките на униполярен стъпков двигател

Page 8: Курсова работа ЕР

II. Принципна Схема

Page 9: Курсова работа ЕР

III. Описание на схемата

Page 10: Курсова работа ЕР

За да се осигури нормалната работа на PIC16F628A той трябва да бъде захранен с

3 5 напрежение от до волата и да му се осигури желаната честота на . работа Това става чрез външен кристал/резонатор (XT) за този

- 4микроконтролер избирам най високата MHz. Кондензаторите за кристала - :се избират от таблицата по долу

Високия капацитет на кондензаторите повишава стабилноста накристала, но също така повишава и времето за стартиране на

. микроконтролера Данните в таблицата са само препоръчителни от производителя и кондензаторите също така трябва да се съобразят и с

. конкретния избран резонатор За да осигуря стабилната работа на кристала избирам за C1 и C2 30по pF.

Използваме PORTA , за цифров изход с който се управлява стъпковиядвигател, a PORTB за цифрови входове, по които да получавам

.управляващи сигнали за двигателя

Page 11: Курсова работа ЕР

На PORTA имаме изходен ток до 20mA, , а за двигателя който съм избрал трябва да се осигури номинален ток I НОМ= 250mA. За целта използваме

2SD1209K - , транзистори тип схема Дарлингтон чрез които усиолваме тока .необходим за задвижването на стъпковия двигател

2SC1815 и потенциометър служат за контролиране на скоростта на.мотора

Диодите се използват за защита на транзисторите от обратна , . елктротродвижеща сила която настъпва в бобините на стъпковия мотор

.Тя зависи от вида на стъпковия мотор

Бутони , те за контрол с възможност за реверсиране посоката на въртене и спиране на мотора.

IV. Алгоритъм

Page 12: Курсова работа ЕР
Page 13: Курсова работа ЕР

V. Sorce code;********************************************************

;

; Stepper Motor controller

;

; Author : Seiichi Inoue

;********************************************************

list p=pic16f84a

include p16f84a.inc

__config _hs_osc & _wdt_off & _pwrte_on & _cp_off

errorlevel -302 ;Eliminate bank warning

;**************** Label Definition ********************

cblock h'0c'

mode ;Operation mode

;0=stop 1=right 2=left

count1 ;Wait counter

count2 ;Wait counter(for 1msec)

endc

rb0 equ 0 ;RB0 of PORTB

rb1 equ 1 ;RB1 of PORTB

rb2 equ 2 ;RB2 of PORTB

Page 14: Курсова работа ЕР

rb5 equ 5 ;RB5 of PORTB

rb7 equ 7 ;RB7 of PORTB

;**************** Program Start ***********************

org 0 ;Reset Vector

goto init

org 4 ;Interrupt Vector

clrf intcon ;Clear Interruption reg

;**************** Initial Process *********************

init

bsf status,rp0 ;Change to Bank1

clrf trisa ;Set PORTA all OUT

movlw b'00100111' ;RB0,1,2.5=IN RB7=OUT

movwf trisb ;Set PORTB

movlw b'10000000' ;RBPU=1 Pull up not use

movwf option_reg ;Set OPTION_REG

bcf status,rp0 ;Change to Bank0

clrf mode ;Set mode = stop

clrf count1 ;Clear counter

clrf count2 ;Clear counter

movlw b'00000101' ;Set PORTA initial value

movwf porta ;Write PORTA

bsf portb,rb7 ;Set RB7 = 1

Page 15: Курсова работа ЕР

btfsc portb,rb5 ;RB5 = 0 ?

goto $-1 ;No. Wait

start

;************* Check switch condition *****************

btfsc portb,rb1 ;RB1(stop key) = ON ?

goto check1 ;No. Next

clrf mode ;Yes. Set stop mode

goto drive ;No. Jump to motor drive

check1

btfsc portb,rb2 ;RB2(right key) = ON ?

goto check2 ;No. Next

movlw d'1' ;Yes. Set right mode

movwf mode ;Save mode

goto drive ;No. Jump to motor drive

check2

btfsc portb,rb0 ;RB0(left key) = ON ?

goto drive ;No. Jump to motor drive

movlw d'2' ;Yes. Set left mode

movwf mode ;Save mode

;******************** Motor drive *********************

drive

movf mode,w ;Read mode

Page 16: Курсова работа ЕР

bz start ;mode = stop

bsf portb,rb7 ;Set RB7 = 1

btfsc portb,rb5 ;RB5 = 0 ?

goto $-1 ;No. Wait

movlw d'5' ;Set loop count(5msec)

movwf count1 ;Save loop count

loop call timer ;Wait 1msec

decfsz count1,f ;count - 1 = 0 ?

goto loop ;No. Continue

bcf portb,rb7 ;Set RB7 = 0

btfss portb,rb5 ;RB5 = 1 ?

goto $-1 ;No. Wait

movf porta,w ;Read PORTA

sublw b'000000101' ;Check motor position

bnz drive2 ;Unmatch

movf mode,w ;Read mode

sublw d'1' ;Right ?

bz drive1 ;Yes. Right

movlw b'00001001' ;No. Set Left data

goto drive_end ;Jump to PORTA write

drive1

movlw b'00000110' ;Set Right data

goto drive_end ;Jump to PORTA write

;-------

Page 17: Курсова работа ЕР

drive2

movf porta,w ;Read PORTA

sublw b'000000110' ;Check motor position

bnz drive4 ;Unmatch

movf mode,w ;Read mode

sublw d'1' ;Right ?

bz drive3 ;Yes. Right

movlw b'00000101' ;No. Set Left data

goto drive_end ;Jump to PORTA write

drive3

movlw b'00001010' ;Set Right data

goto drive_end ;Jump to PORTA write

;-------

drive4

movf porta,w ;Read PORTA

sublw b'000001010' ;Check motor position

bnz drive6 ;Unmatch

movf mode,w ;Read mode

sublw d'1' ;Right ?

bz drive5 ;Yes. Right

movlw b'00000110' ;No. Set Left data

goto drive_end ;Jump to PORTA write

drive5

movlw b'00001001' ;Set Right data

Page 18: Курсова работа ЕР

goto drive_end ;Jump to PORTA write

;-------

drive6

movf porta,w ;Read PORTA

sublw b'000001001' ;Check motor position

bnz drive8 ;Unmatch

movf mode,w ;Read mode

sublw d'1' ;Right ?

bz drive7 ;Yes. Right

movlw b'00001010' ;No. Set Left data

goto drive_end ;Jump to PORTA write

drive7

movlw b'00000101' ;Set Right data

goto drive_end ;Jump to PORTA write

;-------

drive8

movlw b'00000101' ;Compulsion setting

drive_end

movwf porta ;Write PORTA

goto start ;Jump to start

;************* 1msec Timer Subroutine *****************

timer

Page 19: Курсова работа ЕР

movlw d'200' ;Set loop count

movwf count2 ;Save loop count

tmlp nop ;Time adjust

nop ;Time adjust

decfsz count2,f ;count - 1 = 0 ?

goto tmlp ;No. Continue

return ;Yes. Count end

;********************************************************

; END of Stepper Motor controller

;********************************************************

end