You are on page 1of 11

iu khin Step Motor

iu khin Step Motor


Bi:
DKS Group

L thuyt
Gii thiu v ng c bc
ng c bc thc cht l mt ng c ng b dng bin i cc tn hiu iu khin
di dng cc xung in ri rc k tip nhau thnh cc chuyn ng gc quay hoc cc
chuyn ng ca roto v c kh nng c nh roto vo nhng v tr cn thit. ng c
bc lm vic c l nh c b chuyn mch in t a cc tn hiu iu khin vo
stato theo mt th t v mt tn s nht nh. Tng s gc quay ca roto tng ng vi
s ln chuyn mch, cng nh chiu quay v tc quay ca roto, ph thuc vo th
t chuyn i v tn s chuyn i. Khi mt xung in p t vo cun dy stato (phn
ng) ca ng c bc th roto (phn cm) ca ng c s quay i mt gc nht nh,
gc y l mt bc quay ca ng c. Khi cc xung in p t vo cc cun dy phn
ng thay i lin tc th roto s quay lin tc. (Nhng thc cht chuyn ng vn l
theo cc bc ri rc).
H thng iu khin ng c bc
Mt h thng c s dng ng c bc c th c khi qut theo s sau.

1/11

iu khin Step Motor

D.C.SUPPLY: C nhim v cung cp ngun mt chiu cho h thng. Ngun mt chiu


ny c th ly t pin nu ng c c cng sut nh. Vi cc ng c c cng sut ln
c th dng ngun in c chnh lu t ngun xoay chiu.
CONTROL LOGIC: y l khi iu khin logic. C nhim v to ra tn hiu iu
khin ng c. Khi logic ny c th l mt ngun xung, hoc c th l mt h thng
mch in t. N to ra cc xung iu khin. ng c bc c th iu khin theo c
bc hoc theo na bc.
POWER DRIVER: C nhim v cp ngun in c iu chnh a vo ng
c. N ly in t ngun cung cp v xung iu khin t khi iu khin to ra dng
in cp cho ng c hot ng.
STEPPER MOTOR: ng c bc. Cc thng s ca ng c gm c: Bc gc, sai
s bc gc, mmen ko, mmen hm, mmen lm vic.i vi h iu khin ng c
bc, ta thy l mt h thng kh n gin v khng h c phn t phn hi. iu
ny c c v ng c bc trong qu trnh hot ng khng gy ra sai s tch ly, sai
s ca ng c do sai s trong khi ch to. Vic s dng ng c bc tuy em lai
chnh xc cha cao nhng ngy cng c s dng ph bin. V cng sut v chnh
xc ca bc gc ang ngy cng c ci thin.
Bc gc ca ng c bc c ch to theo bng tiu chun sau:

Nguyn tc iu khin ng c bc n cc
ng c bc n cc, ( c th l ng c vnh cu hoc ng c hn hp ) c 5,6 hoc
8 dy ra thng c qun nh s di. Khi dng, cc u ni trung tm thng
c ni vo cc dng ngun cp, v hai u cn li ca mi mu ln lt ni t
o chiu t trng to bi qun .

2/11

iu khin Step Motor

ng c n cc

Tn hiu iu khin. iu khin bc (full step) :


Winding 1a 1000100010001000100010001
Winding 1b 0010001000100010001000100
Winding 2a 0100010001000100010001000
Winding 2b 0001000100010001000100010
time --->
Winding 1a 1100110011001100110011001
Winding 1b 0011001100110011001100110
Winding 2a 0110011001100110011001100
Winding 2b 1001100110011001100110011
time --->
iu khin na bc ( half step )
Winding 1a 11000001110000011100000111
Winding 1b 00011100000111000001110000
Winding 2a 01110000011100000111000001
Winding 2b 00000111000001110000011100
time --->

3/11

iu khin Step Motor

Mch iu khin ng c bc
Mch iu khin ng c bc bao gm mt s chc nng sau y:
To cc xung vi nhng tn s khc nhau.
Chuyn i cc phn cho ph hp vi th t kch t.
Lm gim cc dao ng c hc.
u vo ca mch iu khin l cc xung. Thnh phn ca mch l cc bn dn, vi
mch. Kch thch cc phn ca ng c bc theo th t 1-2-3-4 do cc transistor cng
sut T1 n T4 thc hin.Vi vic thay i v tr b chuyn mch, ng c c th quay
theo chiu kim ng h hoc ngc li.

in p c cp qua cc kho chuyn nui cc cun dy, to ra t trng lm quay


rotor. Cc kho y khng c th, c th l bt c thit b ng ct no iu khin
c nh rle, transitor cng sut... Tn hiu iu khin c th c a ra t b iu
khin nh vi mch chuyn dng, my tnh. Vi ng c nh c dng c 500 mili Ampe,
c th dng IC loi dy darlington collector h nh :
ULN2003, ULN2803 ( Allegro Microsystem)
DS2003 (National Semiconductor), MC1413 ( Motorola)

4/11

iu khin Step Motor

IC h ULN200x c u vo ph hp TTL, cc u emitor c ni vi chn 8. Mi


transitor darlington c bo v bi hai diode. Mt mc gia emitor ti collector chn
in p ngc ln t ln transitor. Diode th hai ni collector vi chn 9. Nu chn 9
ni vi cc dng ca cun dy, to thnh mch bo v cho transitor.
Vi cc ng c ln c dng > 0.5A cc IC h ULN khng p ng c ta c th dng
cc Tranzitor trng(IRF).Mt s loi IRF thng dng:
IRF540 tranzitor ngc c th chu dng n 20A
IRF640 tranzitor ngc c th chu dng n 18A
IRF250 tranzitor ngc c th chu dng n 30A .
S mch c thit k nh sau:

5/11

iu khin Step Motor

Code
#include <mega16.h>
#include <delay.h>
// Khai bao bien
unsigned char stepA[] = {0xFF,0xFE,0xFD,0xFB,0xF7}, stepB[]
= {0xFF,0xEF,0xDF,0xBF,0x7F},

6/11

iu khin Step Motor

stepC[] = {0xFF,0xEF,0xDF,0xBF,0x7F};
unsigned char indexA, indexB, indexC;
unsigned char n_data;
unsigned char n_step=10;
unsigned int n_step3=5000,n_i;
//------------------// Declare your global variables here void main(void)
{
// Declare your local variables here
// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T PORTA=0xFF;
DDRA=0xFF;
// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T PORTB=0xFF;
DDRB=0xFF;
// Port C initialization

7/11

iu khin Step Motor

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In


Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T PORTC=0xFF;
DDRC=0xFF;
// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In
Func1=In Func0=In
// State7=T State6=T State5=T State4=T State3=T State2=T
State1=T State0=T
PORTD=0xFF;
DDRD=0xFF;
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;
// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
8/11

iu khin Step Motor

// OC1A output: Discon.


// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
9/11

iu khin Step Motor

// OC2 output: Disconnected


ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;
// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;
// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80; SFIOR=0x00;
while (1)
{
// Place your code here
if(indexA ++>3) indexA = 1;
if(indexB ++>3) indexB = 1;
10/11

iu khin Step Motor

if(indexC ++>3) indexC = 1;


PORTA = stepA[indexA] & stepB[indexB];
PORTC = stepC[indexC];
//------- delay_ms(500);
}}

11/11

You might also like