Nhớ rằng hai nửa của một mấu không bao giờ được kích cùng một lúc. Cả hai
dãy nêu trên sẽ quay một động cơ nam châm vĩnh cửu một bước ở mỗi thời
điểm. Dãy bên trái chỉ cấp điện cho một mấu tại một thời điểm, như mô tả trong
hình trên; vì vậy, nó dùng ít năng lượng hơn. Dãy bên phải đòi hỏi cấp điện cho
cả hai mấu một lúc và nói chung sẽ tạo ra một moment xoắy lớn hơn dãy bên
trái 1.4 lần trong khi phải cấp điện gấp 2 lần.
Phần Điều khiển mức trung bình trong tài liệu này sẽ cung cấp chi tiết về
phương pháp tạo ra những dãy tín hiệu điều khiển như vậy, còn phần Các mạch
điều khiển nói về mạch đóng ngắt các mạch điện cần thiết để điều khiển các
mấu động cơ từ các dãy điều khiển trên.
26 trang |
Chia sẻ: aquilety | Lượt xem: 2525 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Tìm hiểu và điều khiển động cơ bước, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Bộ Công Thương
Trường Đại Học Công Nghiệp Hà Nội
***** Khoa Điện *****
Đề tài : Tìm hiểu và điều khiển động cơ bước
Giáo viên hướng dẫn : Nguyễn Đăng Khang
Sinh viên thực hiện : Nguyễn Văn Hải
lớp : Điện2 _ K2
Hà nội 7/2010
Điều khiển động cơ bước
Chương 1 :
1.1 : giới thiệu chung về bộ điều khiển
1.1.1 : giới thiệu về Vi xử lý 8051 ( 89S52)
1.1.2 : giới thiệu về các van bán dẫn
1.2 : Giới thiệu chung về động cơ bước
1.3 : ứng dụng của động cơ bước
Chương 2 :
2.1 : phân loại động cơ bước
2.2 : sơ đồ nguyên lý và mạch in điều khiển động cơ bước đơn cực
2.3 : lưu đồ thuật toán điều khiẻn
2.4 : chương trình điều khiển động cơ bước đơn cực
Tài liệu tham khảo :
Một số nhà cung cấp động cơ
(động cơ rất bé)
(động cơ cỡ trung bình)
gmbh.de/ (German)
inc.com/
(100 to 800 steps per revolution)
(động cơ siêu nhỏ)
bin/agree.cgi?lang=1 (Japan)
Chương 1
11 : giới thiệu chung về bộ điều khiển động cơ bước.
Trong thực tế có rất nhiều hãng sản xuất động cơ bước có sản xuất kèm theo bộ điều khiển
động cơ đi kèm theo một bộ( có đầy đủ nhưng chức năng như hiển thị , truyền thoog với các thiết bị
điều khiển khác) . các bộ điều khiển này co ưu điểm rất tốt đó là nó có tính ổn đinh cao và có sự
đồng bộ hóa . nhưng nhược điểm đó là giá thành quá cao .
Vì vậy . nhóm em xin giới thiệu về nguyên lý điều khiển và bộ điều khiển động cơ bước đơn
giản sử dụng vi điều khiển 8051 ( 89S52) và các van bán dẫn để điều khiển động cơ bước .
Tổng quan về họ vi điều khiển 8051
Cấu trúc bus
Bus địa chỉ của họ vi điều khiển 8051 gồm 16 đường tín hiệu (thường gọi là bus
địa chỉ 16 bit). Với số lượng bit địa chỉ như trên, không gian nhớ của chip được
mở rộng tối đa là 216 = 65536 địa chỉ, tương đương 64K.
Bus dữ liệu của họ vi điều khiển 8051 gồm 8 đường tín hiệu (thường gọi là bus
dữ liệu 8 bit), đó là lý do tại sao nói 8051 là họ vi điều khiển 8 bit. Với độ rộng
của bus dữ liệu như vậy, các chip họ 8051 có thể xử lý các toán hạng 8 bit trong
Bộ nhớ chương trình
Vi điều khiển họ 8051 có không gian bộ nhớ chương trình là 64K địa chỉ,
đó cũng là dung lượng bộ nhớ chương trình lớn nhất mà mỗi chip thuộc họ này
có thể có được. Bộ nhớ chương trình của các chip họ 8051 có thể thuộc một
trong các loại: ROM, EPROM, Flash, hoặc không có bộ nhớ chương trình bên
trong chip. Tên của từng chip thể hiện chính loại bộ nhớ chương trình mà nó
mang bên trong, cụ thể là vài ví dụ sau
S
TT Tên chip ROM EPROM Flash
1 8051 4 Kbyte x x
2 8052 8 Kbyte x x
3 8031 x x x
4 8032 x x x
5 87C51 x 4 Kbyte x
6 87C52 x 8 Kbyte x
7
AT89C51 /
AT89S51 x x 4 Kbyte
8
AT89C52 /
AT89S52 x x 8 Kbyte
Bộ nhớ dữ liệu
Vi điều khiển họ 8051 có không gian bộ nhớ dữ liệu là 64K địa chỉ, đó cũng là dung lượng
bộ nhớ dữ liệu lớn nhất mà mỗ i chip thuộc họ này có thể có được (nếu phối ghép một cách chính
tắc, sử dụng các đường tín hiệu của bus địa chỉ và d ữ liệu). Bộ nhớ dữ liệu của các chip họ 8051
có thể thuộc một hay hai loại: SRAM hoặc EEPROM. Bộ nhớ dữ liệu SRAM được tích hợp bên
trong mọi chip thuộc họ vi đi ều khiển này, có dung lượng khác nhau tùy loại chip, nhưng thường
chỉ khoảng vài trăm byte. Đây chính là nơi chứa các biến trung gian trong quá trình hoạt động c ủa
chip. khi mất điện, do bản chất của SRAM mà giá trị của các biến này cũng bị mất theo. Khi có
điện trở lại, nội dung của các ô nhớ chứa các biến này cũng là bất kỳ, không thể xác định trướ c.
Bên cạnh bộ nhớ loại SRAM, một số chip thuộc họ 8051 còn có thêm bộ nhớ dữ liệu loại
EEPROM với dung lượng tối đa vài Kbyte, tùy từng loại chip cụ thể. Dưới đ ây là một vài ví dụ về
bộ nhớ chương trình của một số loại chip thông dụng thuộc họ 8051.
S
TT Tên chip
Bộ nhớ
SRAM
Bộ nhớ
EEPROM
1 AT89C51 128 byte 0
2 AT89C52 256 byte 0
3 AT89C2051 128 byte 0
4 AT89S51 128 byte 0
5 AT89S52 256 byte 0
6 AT89S8252 256 byte 2048 byte
Cổng vào/ra song song (Parrallel I/O Port) trong 8051
8051 có 4 cổng vào ra song song, có tên lần lượt là P0, P1, P2 và P3. Tất cả các cổng này đều
là cổng vào ra hai chiều 8bit. Các bit của mỗi cổng là một chân trên chip, như vậy mỗi cổng sẽ có 8
chân trên chip.
Hướng dữ liệu (dùng cổng đó làm c ổng ra hay cổng vào) là độc lập giữa các cổng và giữa các
chân (các bit) trong cùng một cổng. Ví dụ, ta có thể định nghĩa cổng P0 là cổng ra, P1 là cổng vào
hoặc ngược lại một cách tùy ý, với cả 2 cổng P2 và P3 còn lại c ũng vậy. Trong cùng một cổng P0,
ta cũng có thể định nghĩa chân P0.0 là cổng vào, P0.1 lại là cổng ra tùy ý.
Liên quan đến mỗi cổ ng vào/ra song song c ủa 8051 chỉ có một thanh ghi SFR ( thanh ghi
chức năng đặc biệt) có tên trùng v ới tên của cổ ng. Ta có các thanh ghi P0 dùng cho cổng P0, thanh
ghi P1 dùng cho cổng P1 Đây là các thanh ghi đánh địa chỉ đến từng bit (bit addressable), do đó
ta có thể dùng các lệnh tác động bit đối với các bit c ủa các thanh ghi này. Mỗi thanh ghi này gồm 8
bit tương ứng với các chân (bit) của cổng đó. Khi một chân (bit) cổng nào đó được dùng làm cổng
vào thì trước đó bit tương ứng trong thanh ghi SFR phải được đặt ở mức 1. Nếu một chân (bit) cổng
nào đó được dùng làm cổng ra thì giá tr ị của bit tương ứng trong thanh ghi SFR sẽ là giá tr ị lôgic
muốn đưa ra chân cổng đó. Nếu muốn đưa ra mức lôgic cao (điện áp gần 5V), bit tương ứng trong
thanh ghi ph ải được đặt bằng 1, hiển nhiên nếu muố n đưa ra mức lôgic thấp (điện áp gần 0V) thì bit
tương ứng trong thanh ghi phải được đặt bằng 0. Như đã nói ở trên, các bit trong thanh ghi cổng có
thể đượ c đặt bằng 1/0 mà không làm ảnh hưởng đến các bit còn lại trong cổng đó bằng cách dùng
các lệnh setb (đặt lên 1) hay clr (đặt về 0).
Sau khi đặt một chân cổ ng làm cổng vào, ta có thể dùng các lệnh kiểm tra bit để đọc vào và
kiểm tra các mức lôgic của mạch ngoài đang áp vào là mức 0 hay mức 1. Các lệnh này là jb (nhảy
nếu bit bằng 1), jnb (nhảy nếu bit bằng 0).
Mỗi cổng có cấu trúc gồm một latch (chính là các bit của thanh ghi cổng), mạch lái đầu ra
(output driver) và mạch đệm đầu vào (input buffer).
Ngoài chức năng vào/ra thông thường, một số c ổng còn được tích hợp thêm chức năng của
một số ngoại vi khác. Xem bảng liệt kê sau:
Các chân cổng P1.0 và P1.1 được tích hợp với các tín hiệu của timer2 trong trường hợp chip là
8052.
Khi dùng với các chức năng của các ngoại vi, chân cổng tương ứng phải được đặt lên 1. Nếu
không các tín hiệu sẽ luôn bị ghim ở mức 0.
Sơ đồ của mạch của một chân cổng:
Cổng P0 không có đ iện trở treo cao (pullup resistor) bên trong, mạch lái tạo mức cao chỉ có
khi sử dụng cổng này với tính năng là bus dồn kênh địa chỉ/dữ liệ u. Như vậy với chức năng ra thông
thường, P0 là cổng ra open drain, với chức năng vào, P0 là cổng vào cao trở (high impedance). Nếu
muốn sử dụng cổng P0 làm c ổng vào/ra thông thường, ta phải thêm điện trở pullup bên ngoài. Giá
trị điện trở pullup bên ngoài thường từ 4K7 đến 10K.
Các cổng P1, P2 và P3 đều có điện trở pullup bên trong, do đó có thể dùng với chức năng cổng
vào/ra thông thườ ng mà không cần có thêm điện trở pullup bên ngoài. Thực chất, điện trở pullup
bên trong là các FET, không phải điện trở tuyến tính thông thường, tuy vậy nhưng khả năng phun
dòng ra của mạch lái khi đầu ra ở mức cao (hoặc khi là đầu vào) rất nhỏ, chỉ khoảng 100 micro
Ampe. Trong datasheet của AT89S5x (một trong những biến thể của họ 8051 do Atmel sản xuất) có
thống kê số liệu như sau:
Cơ chế ngắt của 8051
8051 chỉ có một số lượng khá ít các nguồn ngắt (interrupt source) hoặc có thể gọ i là các
nguyên nhân ng ắt. Mỗi ngắt có một vector ngắt riêng, đó là một địa chỉ cố định nằm trong bộ nhớ
ch ương trình, khi ngắt xả y ra, CPU sẽ tự động nhảy đến thực hiện lệnh nằm tại địa chỉ này.
Bảng tóm tắt các ngắt trong 8051 như sau
STT Tên ngắt Mô tả cờ ngắt Thanh ghi chứa cờ Vector ngắt
1 INT0
Ngắt ngoài 0 khi có
tín hiệu tích cực theo
kiểu đã chọn ở chân
P3.2
IE0 TCON 0x0003
2 Timer0
Ngắt tràn timer0 khi
giá trị timer0 tràn từ
giá trị max về giá trị
min
TF0 TCON 0x000B
3 INT1
Ngắt ngoài 1 khi có
tín hiệu tích cực theo
kiểu đã chọn ở chân
P3.3
IE1 TCON 0x0013
4 Timer1
Ngắt tràn timer1 khi
giá trị timer1 tràn từ
giá trị max về giá trị
min
TF1 TCON 0x001B
5 Serial Port
Ngắt cổng nối tiếp khi
vi điều khiển nhận
hoặc truyền xong một
byte bằng cổng nối
tiếp
TI, RI SCON 0x0023
Với 8052, ngoài các ngắt trên còn có thêm ngắt của timer2 (do vi điều khiển này có thêm
timer2 trong số các ngoại vi onchip).
Mỗi ngắt được dành cho một vector ngắt kéo dài 8byte. Về mặ t lý thuyết, nếu chương trình đủ
ngắn, mã tạo ra chứa đủ trong 8 byte, người lập trình hoàn toàn có thể đặt phần chương trình xử lý
ngắt ngay tại vector ngắt. Tuy nhiên trong hầ u hết các trường hợp, chươ ng trình xử lý ngắt có dung
lượng mã tạo ra lớn hơn 8byte nên tại vector ngắt, ta chỉ đặt lệnh nhảy tới chươ ng trình xử lý ngắt
nằm ở vùng nhớ khác. Nếu không làm vậy, mã chương trình xử lý ngắt này sẽ lấn sang, đè vào
vector ngắt kế cận.
Liên quan đến ngắt chủ yếu có hai thanh ghi là thanh ghi IE và thanh ghi
IP.
Ngắt ngoài (External Interrupt)
Như đã nói ở trên, 8051 có 2 ngắt ngoài là INT0 và INT1. Ngắt ngoài được hiểu là ngắ t được
gây ra bởi sự kiện mức lôgic 0 (mức điện áp thấp, gần 0V) hoặc sườn xuống (sự chuyển mức điện áp
từ mức cao về mức thấp) xảy ra ở chân ngắt tương ứng (P3.2 với ngắt ngoài 0 và P3.3 với ngắt ngoài
1). Việc lựa chọn kiểu ngắt được thực hiện bằng các bit IT (Interrupt Type) nằm trong thanh ghi
TCON. Đ ây là thanh ghi điều khiển timer nhưng 4 bit LSB (bit0..3) được dùng cho các ngắt ngoài.
Các timer/counter trong 8051
8051 có 2 timer tên là timer0 và timer1. Các timer này đều là timer 16bit, giá trị đếm max do
đó bằng 216 = 65536 (đếm từ 0 đến 65535).
Hai timer có nguyên lý hoạt động hoàn toàn giống nhau và độc lập. Sau khi cho phép chạy,
mỗi khi có thêm một xung tại đầu vào đếm, giá trị của timer
sẽ tự động được tăng lên 1 đơn vị, cứ như vậy cho đến khi giá trị tăng lên vượt quá giá trị max
mà thanh ghi đếm có thể biểu diễn thì giá trị đếm lại được đưa trở về giá trị min (thông thường min
= 0) . Sự kiện này được hiểu là sự kiện tràn timer (overflow) và có thể gây ra ngắt nếu ngắt tràn
timer được cho phép (bit ETx trong thanh ghi IE = 1).
Việc cho timer chạy/dừng được thực hiện bởi các bit TR trong thanh ghi TCON (đánh địa chỉ
đến từng bit).
Cổng nối tiếp (Serial Port) của 8051
Cổng nối tiếp trong 8051 chủ yếu đượ c dùng trong các ứng dụng có yêu cầu truyền thông
với máy tính, hoặc với một vi điều khiển khác. Liên quan đến cổng nối tiếp chủ yếu có 2 thanh
ghi: SCON và SBUF. Ngoài ra, một thanh ghi khác là thanh ghi PCON (không đánh địa chỉ bit) có
bit 7 tên là SMOD quy định tốc độ truyền của cổng nối tiếp có gấp đôi lên (SMOD = 1) hay không
(SMOD = 0).
Dữ liệu được truyền nhận nối tiếp thông qua hai chân cổng P3.0(RxD) và P3.1(TxD).
Mạch cơ bản để 8051 có thể hoạt động :
- Sử dụng IC ổn áp LM7805 thông dụng; Xem datasheet ở đây LM7805
1) IN: điện áp vào từ 7-35V DC
2) GND
3) OUT: điện áp đầu ra ổn định ở 5V DC
Thạch anh 12Mhz
- Đầu vào và đầu ra của 7805 nên có các tụ lọc trị số tuỳ theo tải, mạch đơn giản thì trị số có
.thể chọn như hình, với tải nhiều nên chọn tụ đầu vào 1000uF, đầu ra 470uF
1.1.2 : linh kiện bán dẫn :
ở bộ điều khiển này nhóm em sử dụng trasistor lưỡng cực PNP dòng tran công suất Tip 41C
Transistor là một linh kiện bán dẫn thường được sử dụng như một thiết bị khuếch đại hoặc
một khóa điện tử. Tranzitor là khối đơn vị cơ bản xây dựng nên cấu trúc mạch ở máy tính điện tử và
tất cả các thiết bị điện tử hiện đại khác. Vì đáp ứng nhanh và chính xác nên các tranzitor được sử
dụng trong nhiều ứng dụng tương tự và số, như khuếch đại, đóng cắt, điều chỉnh điện áp, điều khiển
tín hiệu, và tạo dao động.Tranzitor cũng thường được kết hợp thành mạch tích hợp (IC),có thể tích
hợp tới một tỷ tranzitor trên một diện tích nhỏ.
1.2 : giới thiệu chung về động cơ bước
Động cơ bước có thể được mô tả như là một động cơ điện không dùng bộ
chuyển mạch. Cụ thể, các mấu trong động cơ là stator, và rotor là nam châm
vĩnh cửu hoặc trong trường hợp của động cơ biến từ trở, nó là những khối răng làm bằng vật liệu nhẹ
có từ tính. Tất cả các mạch đảo phải được điều khiển bênngoài bởi bộ điều khiển, và đặc biệt, các
động cơ và bộ điều khiển được thiết kế để động cơ có thể giữ nguyên bất kỳ vị trí cố định nào cũng
như là quay đến bất kỳ vị trí nào. Hầu hết các động cơ bước có thể chuyển động ở tần số âm thanh,
cho phép chúng quay khá nhanh, và với một bộ điều khiển thích hợp, chúng có thể khởi động
và dừng lại dễ dàng ở các vị trí bất kỳ.
Trong một vài ứng dụng, cần lựa chọn giữa động cơ servo và động cơ bước. Cả hai loại động cơ này
đều như nhau vì có thể xác định được vị trí chính xác,nhưng chúng cũng khác nhau ở một số điểm.
Servo motor đòi hỏi tín hiệu hồi tiếp analog. Đặc biệt, điều này đòi hỏi một bộ tắc cô để cung cấp tín
hiệu hồi
tiếp về vị trí của rotor, và một số mạch phức tạp để điều khiển sự sai lệch giữa vị trí mong muốn và
vì trí tức thời vì lúc đó dòng qua động cơ sẽ dao động tắt dần.
Để lựa chọn giữa động cơ bước và động cơ servo, phải xem xét một số vấn đề, và nó phụ thuộc vào
các ứng dụng thực tế. Ví dụ, khả năng trở về một vị trí đãvượt qua phụ thuộc vào hình dạng rotor
động cơ bước, trong khi đó, khả năng lặp lại vị trí của động cơ servo nói chung phụ thuộc vào độ ổn
định của bộ tắc cô
và các linh kiện analog khác trong mạch hồi tiếp.
Động cơ bước có thể được dùng trong hệ thống điều khiển vòng hở đơn giản;những hệ thống này
đảm bảo cho hệ thống điều khiển gia tốc với tải trọng tĩnh,nhưng khi tải trọng thay đổi hoặc điều
khiển ở gia tốc lớn, người ta vẫn dùng hệ Điều khiển vòng kín với động cơ bước. Nếu một động cơ
bước trong hệ điều khiển vòng mở quá tải, tất cả các giá trị về vị trí của động cơ đều bị mất và hệ
thống phải nhận diện lại;
1.2 : ứng dụng của động cơ bước
- điều khiênr vị trí
- trong máy CNC
- dây chuyền đóng nắp chai
- điều kgiển rôbot
- nói chung : động cơ bước úng dung rất nhiều vào trong công nghiệp
Chương 2
2.1 : phân loại động cơ bước
Các loại động cơ bước
Động cơ bước được chia làm hai loại,
nam châm vĩnh cửu và biến từ trở (cũng cóloại động cơ hỗn hợp nữa, nhưng nó không khác biệt gì
với động cơ nam châmvĩnh cửu). Nếu mất đi nhãn trên động cơ, các bạn vẫn có thể phân biệt hai loại
động cơ này bằng cảm giác mà không cần cấp điện cho chúng. Động cơ nam
châm vĩnh cửu dường như có các nấc khi bạn dùng tay xoay nhẹ rotor của
chúng, trong khi động cơ biến từ trở thì dường như xoay tự do (mặc dù cảm
thấy chúng cũng có những nấc nhẹ bởi sự giảm từ tính trong rotor). Bạn cũng có
thể phân biệt hai loại động cơ này bằng ohm kế. Động cơ biến từ trở thường có 3
mấu, với một dây về chung, trong khi đó, động cơ nam châm vĩnh cửu thường
có hai mấu phân biệt, có hoặc không có nút trung tâm. Nút trung tâm được
dùng trong động cơ nam châm vĩnh cửu đơn cực.
Động cơ bước phong phú về góc quay. Các động cơ kém nhất quay 90 độ mỗi
bước, trong khi đó các động cơ nam châm vĩnh cửu xử lý cao thường quay 1.8
độ đến 0.72 độ mỗi bước. Với một bộ điều khiển, hầu hết các loại động cơ nam
châm vĩnh cửu và hỗn hợp đều có thể chạy ở chế độ nửa bước, và một vài bộ
điều khiển có thể điều khiển các phân bước nhỏ hơn hay còn gọi là vi bước.
Đối với cả động cơ nam châm vĩnh cửu hoặc động cơ biến từ trở, nếu chỉ một
mấu của động cơ được kích, rotor (ở không tải) sẽ nhảy đến một góc cố định và
sau đó giữ nguyên ở góc đó cho đến khi moment xoắn vượt qua giá trị moment
xoắn giữ (hold torque) của động cơ.
Hình 1.1
Nếu motor của bạn có 3 cuộn dây, được nối như trong biểu đồ hình 1.1, với một
đầu nối chung cho tất cả các cuộn, thì nó chắc hẳn là một động cơ biến từ trở.
Khi sử dụng, dây nối chung (C) thường được nối vào cực dương của nguồn và
các cuộn được kích theo thứ tự liên tục.
Dấu thập trong hình 1.1 là rotor của động cơ biến từ trở quay 30 độ mỗi bước.
Rotor trong động cơ này có 4 răng và stator có 6 cực, mỗi cuộn quấn quanh hai
cực đối diện. Khi cuộn 1 được kích điện, răng X của rotor bị hút vào cực 1. Nếu
dòng qua cuộn 1 bị ngắt và đóng dòng qua cuộn 2, rotor sẽ quay 30 độ theo
chiều kim đồng hồ và răng Y sẽ hút vào cực 2.
Để quay động cơ này một cách liên tục, chúng ta chỉ cần cấp điện liên tục luân
phiên cho 3 cuộn. Theo logic đặt ra, trong bảng dưới đây 1 có nghĩa là có dòng
điện đi qua các cuộn, và chuỗi điều khiển sau sẽ quay động cơ theo chiều kim
đồng hồ 24 bước hoặc 2 vòng:
Cuộn 1 1001001001001001001001001
Cuộn 2 0100100100100100100100100
Cuộn 3 0010010010010010010010010
thời gian >
Phần Điều khiển mức trung bình cung cấp chi tiết về phương pháp tạo ra các
dãy tín hiệu điều khiển như vậy, và phần Các mạch điều khiển bàn về việc
đóng ngắt dòng điện qua các cuộn để điều khiển động cơ từ các chuỗi như thế.
Hình dạng động cơ được mô tả trong hình 1.1, quay 30 độ mỗi bước, dùng số
răng rotor và số cực stator tối thiểu. Sử dụng nhiều cực và nhiều răng hơn cho
phép động cơ quay với góc nhỏ hơn. Tạo mặt răng trên bề mặt các cực và các
răng trên rotor một cách phù hợp cho phép các bước nhỏ đến vài độ.
Hình 1.2
Động cơ bước đơn cực cả nam châm vĩnh cửu và động cơ hỗn hợp, với 5, 6 hoặc
8 dây ra thường được quấn như sơ đồ hình 1.2, với một đầu nối trung tâm trên
các cuộn. Khi dùng, các đầu nối trung tâm thường được nối vào cực dương
nguồn cấp, và hai đầu còn lại của mỗi mấu lần lượt nối đất để đảo chiều từ
trường tạo bởi cuộn đó.
Sự khác nhau giữa hai loại động cơ nam châm vĩnh cửu đơn cực và động cơ hỗn
hợp đơn cực không thể nói rõ trong nội dung tóm tắt của tài liệu này. Từ đây,
khi khảo sát động cơ đơn cực, chúng ta chỉ khảo sát động cơ nam châm vĩnh cửu,
việc điều khiển động cơ hỗn hợp đơn cực hoàn toàn tương tự.
Mấu 1 nằm ở cực trên và dưới của stator, còn mấu 2 nằm ở hai cực bên phải và
bên trái động cơ. Rotor là một nam châm vĩnh cửu với 6 cực, 3 Nam và 3 Bắc,
xếp xen kẽ trên vòng tròn.
Để xử lý góc bước ở mức độ cao hơn, rotor phải có nhiều cực đối xứng hơn.
Động cơ 30 độ mỗi bước trong hình là một trong những thiết kế động cơ nam
châm vĩnh cửu thông dụng nhất, mặc dù động cơ có bước 15 độ và 7.5 độ là khá
lớn. Người ta cũng đã tạo ra được động cơ nam châm vĩnh cửu với mỗi bước là
1.8 độ và với động cơ hỗn hợp mỗi bước nhỏ nhất có thể đạt được là 3.6 độ đến
1.8 độ, còn tốt hơn nữa, có thể đạt đến 0.72 độ.
Như trong hình, dòng điện đi qua từ đầu trung tâm của mấu 1 đến đầu a tạo ra
cực Bắc trong stator trong khi đó cực còn lại của stator là cực Nam. Nếu điện ở
mấu 1 bị ngắt và kích mấu 2, rotor sẽ quay 30 độ, hay 1 bước. Để quay động cơ
một cách liên tục, chúng ta chỉ cần áp điện vào hai mấu của đông cơ theo dãy.
Mấu 1a 1000100010001000100010001 Mấu 1a 1100110011001100110011001
Mấu 1b 0010001000100010001000100 Mấu 1b 0011001100110011001100110
Mấu 2a 0100010001000100010001000 Mấu 2a 0110011001100110011001100
Mấu 2b 0001000100010001000100010 Mấu 2b 1001100110011001100110011
thời gian > thời gian >
Nhớ rằng hai nửa của một mấu không bao giờ được kích cùng một lúc. Cả hai
dãy nêu trên sẽ quay một động cơ nam châm vĩnh cửu một bước ở mỗi thời
điểm. Dãy bên trái chỉ cấp điện cho một mấu tại một thời điểm, như mô tả trong
hình trên; vì vậy, nó dùng ít năng lượng hơn. Dãy bên phải đòi hỏi cấp điện cho
cả hai mấu một lúc và nói chung sẽ tạo ra một moment xoắy lớn hơn dãy bên
trái 1.4 lần trong khi phải cấp điện gấp 2 lần.
Phần Điều khiển mức trung bình trong tài liệu này sẽ cung cấp chi tiết về
phương pháp tạo ra những dãy tín hiệu điều khiển như vậy, còn phần Các mạch
điều khiển nói về mạch đóng ngắt các mạch điện cần thiết để điều khiển các
mấu động cơ từ các dãy điều khiển trên.
Vị trí bước được tạo ra bởi hai chuỗi trên không giống nhau; kết quả, kết hợp 2
chuỗi trên cho phép điều khiển nửa bước, với việc dừng động cơ một cách lần
lượt tại những vị trí đã nêu ở một trong hai dãy trên. Chuỗi kết hợp như sau:
Mấu 1a 11000001110000011100000111
Mấu 1b 00011100000111000001110000
Mấu 2a 01110000011100000111000001
Mấu 2b 00000111000001110000011100
Thời gian >
Hình 1.3
Động cơ nam châm vĩnh cửu hoặc hỗn hợp hai cực có cấu trúc cơ khí giống y
như động cơ đơn cực, nhưng hai mấu của động cơ được nối đơn giản hơn,
không có đầu trung tâm. Vì vậy, bản thân động cơ thì đơn giản hơn, nhưng
mạch điều khiển để đảo cực mỗi cặp cực trong động cơ thì phức tạp hơn. Minh
hoạ ở hình 1.3 chỉ ra cách nối động cơ, trong khi đó phần rotor ở đây giống y
như ở hình 1.2.
2.2 : sơ đồ nguyên lý :
Sử dụng gồm VDK 89S52
Transistor c828 và tip41C
2 bộ nguồn ổn áp 5V và 12V
Khối tín hiệu đầu vào :
Khối tín hiệu đầu ra
Sử dụng 4 pin của PORT 2 là
P2.1, P2.2 , P2.3, P2.4
Mach hiển thị:
Mạch sơ đồ nguyên lý :
Khối nguồn 5 V
Khối nguồn 12 V
Điều khiển một pha (200 bước / vòng)
Bước thứ Cuộn 1a Cuộn 2a Cuộn 1b Cuộn 2b
1 1 0 0 0
2 0 1 0 0
3 0 0 1 0
4 0 0 0 1
5 1 0 0 0
6 0 1 0 0
7 0 0 1 0
8 0 0 0 1
Điều khiển hai pha (200 bước / vòng)
Bước thứ Cuộn 1a Cuộn 2a Cuộn 1b Cuộn 2b
1 1 1 0 0
2 0 1 1 0
3 0 0 1 1
4 1 0 0 1
5 1 1 0 0
6 0 1 1 0
7 0 0 1 1
8 1 0 0 1
Điều khiển hỗn hợp 1 pha 2 pha (400 bước / vòng)
Bước thứ Cuộn 1a Cuộn 2a Cuộn 1b Cuộn 2b
1 1 0 0 0
2 1 1 0 0
3 0 1 0 0
4 0 1 1 0
5 0 0 1 0
6 0 0 1 1
7 0 0 0 1
8 1 0 0 1
2.3 : lưu đồ thuật toán điều khiển :
CT điều khiển
Động cơ bước
đơn cực
Đọc tín hiệu đầu vào
P3= ?
Ra lệnh điều khiển
Động cơ bước
Hiển thị LED 7
thanh
Ret
2.3 chương trình điều khiển :
//* ha noi 7/6/2010*//
//*code dk dong co buoc don cuc hien thi LED *//
//* chip : 89S52 *//
//* thach anh 12Mhz*//
//* by : Nguyen Van Hai*//
//* Lop : DIEN 2 _ K2 DAI HOC CONG NGHIEP HA NOI*//
#include
#define tang 0x7e //01111110
#define tang1 0x7d //01111101
#define tang2 0x7f //01111111
#define tang3 0x7c //01111100
#define giam 0xbe //10111110
#define giam2 0xbf //10111111
#define giam1 0xbd //10111101
#define giam3 0xbc //10111100
#define chaythuan 0xde //11011110
#define chaynghich 0xdd //11011101
#define daochieu 0xdc //11011100
sbit l1=P2^7;
sbit l2=P2^6;
sbit l3=P2^5;
void delay_ms(unsigned int ms) // ham tao thoi gian delay
{unsigned int i;
for(i=0;i<ms;++i);
}
void tre(unsigned int ms)
{unsigned int i;
unsigned int j;
for(i=0;i<ms;++i);
for(j=0;j<100;++j);
}
unsigned int num,k,n;
unsigned char donvi,chuc,tram,m;
void quaythuan() // ham con phuc vu phat xung quay thuan
{
P2=0x10;delay_ms(num);
P2=0x04;delay_ms(num);
P2=0x02;delay_ms(num);
P2=0x08;delay_ms(num);
}
void quaynghich() // ham con phuc vu phat xung quay nguoc
{P2=0x08;delay_ms(num);
P2=0x02;delay_ms(num);
P2=0x04;delay_ms(num);
P2=0x10;delay_ms(num);
}
void dieukhienthuan(void) // hàm con thực hiện đoc tín hiệu PORT 3
{
unsigned char input;
input = P3 ;
switch (input)
{
case chaythuan:
{ for(n=0;n<k;n++)
{for(m=0;m<5;++m)
{
quaythuan(); }}
break ;
}
case chaynghich:
{ for(n=0;n<k;n++)
{for(m=0;m<5;++m)
{
quaynghich(); }}
break ;
}
case daochieu:
{ for(n=0;n<k;n++)
{for(m=0;m<5;++m)
{quaythuan(); }}
P2=0xff;
tre(50000);
for(n=0;n<k;n++)
{for(m=0;m<5;++m)
{quaynghich(); }}
break ;
}
case tang:
{ tre(20000);
k=k+5;
break ;
}
case tang1:
{ tre(20000);
k=k+5;
break ;
}
case tang2:
{ tre(20000);
k=k+5;
break ;
}
case tang3:
{ tre(20000);
k=k+5;
break ;
}
case giam:
{ tre(20000);
k=k-5;
break ;
}
case giam1:
{ tre(20000);
k=k-5;
break ;
}
case giam2:
{ tre(20000);
k=k-5;
break ;
}
case giam3:
{ tre(20000);
k=k-5;
break ;
}
}
}
void xoa_led(void) // hàm con xóa LED
{
P1=0xff;
}
code unsigned char dulieu[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10};
void hienthi() // hàm con thực hiện chương trình hiển thị
{
xoa_led();
tram =k/100;
if((tram==0) )
{l3=1;l1=l2=0;P1=dulieu[tram] ;tre(1);}
else
{l3=1;l1=l2=0;
P1=dulieu[tram] ; tre(1);}
chuc = (k%100)/10;
if((chuc==0)&&(tram==0))
{l2=1;l1=l3=0;P1=dulieu[chuc];tre(1);}
else
{l2=1;l1=l3=0;
P1=dulieu[chuc] ; tre(1); }
donvi =(k%100)%10;
if((chuc==0)&&(donvi==0))
{l1=1;l2=l3=0;P1=dulieu[donvi];tre(1);}
else
{l1=1;l2=l3=0;
P1=dulieu[donvi] ; tre(1);
}
xoa_led() ; }
void main(void) // hàm chương trình chính
{
TMOD=0x10; // khoi tap timer 1 che do 16 bit
TH1=50535/256 ;
TL1=50535%256;
TR1=1;
IE =0x8f; //cho phep ngat
IP=0;
P3=0xff;
num=4000;
k=0;
while(1) // hàm lập vô hạn
{ P2=0xff;
dieukhienthuan();
}}
void ngatngoai(void) interrupt 0 // chuong trinh con phục vụ ngat ngoài 0
{ tre(20000);
num=num+50;
}
void ngatngoai1(void) interrupt 2 // chuong trinh con phục vụ ngat ngoài 1
{
tre(20000);
num=num-50;
}
void ngat1 (void) interrupt 3 // chuong trinh con phục vụ ngat timer 1
{TF1=0;
TR1=0;
TH1=50535/256 ;
TL1=50535%256;
TR1=1;
hienthi();}
Các file đính kèm theo tài liệu này:
- do_an_mon_tdd_dieu_khien_dong_co_buoc_735.pdf