LỜI NÓI ĐẦU
Trong sự phát triển của đất nước, Tự động hoá đóng vai trò rất quan trọng trong sự phát triển đó.Có rất nhiều phương án có thể chọn lựa để thiết kế hệ thống tự động, Ngày nay, song song với các loại PLC-Programmable Logic Controller, được sử dụng rất rộng rãi trong các lĩnh vực thiết kế hệ thống, thì vi điều khiển cũng được sử dụng rất phổ biến, đặc biết là trong những ứng dụng có quy mô vừa và nhỏ bởi sự cạnh tranh giá thành của nó.
Trong phạm vi nghiên cứu của đề tài đưa ra, chúng em đã lựa chọn vi điều khiển ATMEL 89S52 để thực hiện yêu cầu đề tài. Ngôn ngữ lập trình được sử dụng là ngôn ngữ lập trình C, thuận tiện cho người viết, ứng dụng môn học vào thực tế.
Do thời gian có hạn và kinh nghiệm làm thực tế còn ít nên trong quá trình làm đồ án môn không thể không có sai sót, kính mong các thầy cô trong khoa điều khiển tự động giúp đỡ và sửa chữa giúp chúng em.!
Chúng em xin chân thành cảm ơn!
MỤC LỤC
I. CÁC BỘ VI ĐIỀU KHIỂN 8051. 4
1.1.Bộ vi điều khiển so với bộ vi xử lý dùng chung. 4
1.2.Tổng quan về họ 8051(89s52). 6
1.3. Sơ đồ chân của 89S52 và chức năng từng chân. 8
1.4. Kết nối phần cứng. 11
a/ Kết nối chân XTAL1 và XTAL2. 11
b/ Mạch Reset. 12
c/ Kết nối các Port. 12
1.5. Mạch nạp và chương trình nạp. 13
a/ Mạch nạp. 13
b/ Chương trình nạp Willar Programmer. 13
1.6. Viết chương trình và biên dịch với Keil 14
II. ĐỘNG CƠ BƯỚC 15
2.1 .Giới thiệu về động cơ bước. 15
2.2. Động cơ biến từ trở. 16
2.3. Động cơ đơn cực. 17
2.4 .Động cơ lưỡng cực(Động cơ dùng trong đề tài). 18
2.5. Động cơ nhiều pha. 20
III. THIẾT KẾ MẠCH 22
3.1. Phối ghép LCD 22
3.2. L293D- H bridge. 25
3.3. Động cơ bước. 26
IV.SƠ ĐỒ NGUYÊN LÝ MẠCH VÀ CODE CHƯƠNG TRÌNH 27
4.1. Sơ đồ nguyên lý. 27
4.2. Mạch in. 28
4.3. Code chương trình. 28
V. TỔNG KẾT VÀ ỨNG DỤNG HƯỚNG PHÁT TRIỂN 36
37 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 4605 | Lượt tải: 5
Bạn đang xem trước 20 trang tài liệu Đồ án Tổ chức hệ thống điều khiển động cơ bước, có phối ghép bàn phím và LCD. Các chế độ chạy, dừng, đảo chiều quay, thay đổi tốc độ được điều khiển và hiển thị qua bàn phím và LCD, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
HỌC VIỆN KỸ THUẬT QUÂN SỰ
KHOA KỸ THUẬT ĐIỀU KHIỂN
-----&-----
ĐỒ ÁN XỬ LÝ TIN
Đề tài: Tổ chức hệ thống điều khiển động cơ bước, có phối ghép bàn phím và LCD. Các chế độ chạy, dừng, đảo chiều quay, thay đổi tốc độ được điều khiển và hiển thị qua bàn phím và LCD.
Giáo viên hướng dẫn:Trịnh Mạnh Tuyên
Nguyễn Văn Xuân
Vũ Đức Trường
Sinh viên thực hiện: Tô Thị Hà
Nguyễn Duy Nhất
Đặng Thị Tuyết Nhung
Vũ Văn Sự
Nguyễn Huy Thoan
Nguyễn Văn Xuân
Hà Nội,02/10/2010
LỜI NÓI ĐẦU
Trong sự phát triển của đất nước, Tự động hoá đóng vai trò rất quan trọng trong sự phát triển đó.Có rất nhiều phương án có thể chọn lựa để thiết kế hệ thống tự động, Ngày nay, song song với các loại PLC-Programmable Logic Controller, được sử dụng rất rộng rãi trong các lĩnh vực thiết kế hệ thống, thì vi điều khiển cũng được sử dụng rất phổ biến, đặc biết là trong những ứng dụng có quy mô vừa và nhỏ bởi sự cạnh tranh giá thành của nó.
Trong phạm vi nghiên cứu của đề tài đưa ra, chúng em đã lựa chọn vi điều khiển ATMEL 89S52 để thực hiện yêu cầu đề tài. Ngôn ngữ lập trình được sử dụng là ngôn ngữ lập trình C, thuận tiện cho người viết, ứng dụng môn học vào thực tế.
Do thời gian có hạn và kinh nghiệm làm thực tế còn ít nên trong quá trình làm đồ án môn không thể không có sai sót, kính mong các thầy cô trong khoa điều khiển tự động giúp đỡ và sửa chữa giúp chúng em.!
Chúng em xin chân thành cảm ơn!
MỤC LỤC
I. CÁC BỘ VI ĐIỀU KHIỂN 8051
1.1.Bộ vi điều khiển so với bộ vi xử lý dùng chung
Sự khác nhau giữa một bộ vi điều khiển và một bộ vi xử lý là gì? Bộ vi xử lý ở đây là các bộ vi xử lý công dung chung như họ Intel xxx86 (8086, 80286, 80386, 80486 và Pentium) hoặc họ Motorola 680x0(68000, 68010, 68020, 68030, 68040 v.v...). Những bộ VXL này không có RAM, ROM và không có các cổng vào ra trên chíp. Với lý do đó mà chúng được gọi chung là các bộ vi xử lý công dụng chung.
Hình 1: Hệ thống vi xử lý được so sánh với hệ thống vi điều khiển.
a) Hệ thống vi xử lý công dụng chung
b) Hệ thống vi điều khiển
Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt hiệu quả đối với các bài toán và hệ thống lớn.Tuy nhiên đối với các ứng dụng nhỏ, tầm tính toán không đòi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc. Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các khối mạch điện giao tiếp phức tạp như nhau. Các khối này bao gồm bộ nhớ để chứa dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc. Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi. Hệ thống được tạo ra khá phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế. Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để áp dụng cho các hệ thống nhỏ.
Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một số mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller-Vi điều khiển. Vi điều khiển có khả năng tương tự như khả năng của vi xử lý, nhưng cấu trúc phần cứng dành cho người dùng đơn giản hơn nhiều. Vi điều khiển ra đời mang lại sự tiện lợi đối với người dùng, họ không cần nắm vững một khối lượng kiến thức quá lớn như người dùng vi xử lý, kết cấu mạch điện dành cho người dùng cũng trở nên đơn giản hơn nhiều và có khả năng giao tiếp trực tiếp với các thiết bị bên ngoài. Vi điều khiển tuy được xây dựng với phần cứng dành cho người sử dụng đơn giản hơn, nhưng thay vào lợi điểm này là khả năng xử lý bị giới hạn (tốc độ xử lý chậm hơn và khả năng tính toán ít hơn, dung lượng chương trình bị giới hạn). Thay vào đó, Vi điều khiển có giá thành rẻ hơn nhiều so với vi xử lý, việc sử dụng đơn giản, do đó nó được ứng dụng rộng rãi vào nhiều ứng dụng có chức năng đơn giản, không đòi hỏi tính toán phức tạp.
Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có chức năng đơn giản, trong máy giặt, ôtô v.v...
Năm 1976 Intel giới thiệu bộ vi điều khiển (microcontroller) 8748, một chip tương tự như các bộ vi xử lý và là chip đầu tiên trong họ MCS-48. Độ phức tạp, kích thước và khả năng của Vi điều khiển tăng thêm một bậc quan trọng vào năm 1980 khi intel tung ra chip 8051, bộ Vi điều khiển đầu tiên của họ MCS-51 và là chuẩn công nghệ cho nhiều họ Vi điều khiển được sản xuất sau này. Sau đó rất nhiều họ Vi điều khiển của nhiều nhà chế tạo khác nhau lần lượt được đưa ra thị trường với tính năng được cải tiến ngày càng mạnh.
Điều thú vị là một số nhà sản xuất các bộ vi điều khiển đã đi xa hơn là tích hợp cả một bộ chuyển đổi ADC và các ngoại vi khác vào trong bộ vi điều khiển.
1.2.Tổng quan về họ 8051(89s52).
Trong mục này chúng ta xem xét một số thành viên khác nhau của họ bộ vi điều khiển 8051 và các đặc điểm bên trong của chúng. Đồng thời ta đi sâu nghiên cứu AT89S52- là vi điều khiển được dùng trong đề tài.
Vào năm 1981. Hãng Intel giới thiệu một số bộ vi điều khiển được gọi là 8051. Bộ vi điều khiển này có 128 byte RAM, 4K byte ROM trên chíp, hai bộ định thời, một cổng nối tiếp và 4 cổng (đều rộng 8 bit) vào ra tất cả được đặt trên một chíp. Lúc ấy nó được coi là một “hệ thống trên chíp”. 8051 là một bộ xử lý 8 bit có nghĩa là CPU chỉ có thể làm việc với 8 bit dữ liệu tại một thời điểm. Dữ liệu lớn hơn 8 bit được chia ra thành các dữ liệu 8 bit để cho xử lý. 8051 có tất cả 4 cổng vào - ra I/O mỗi cổng rộng 8 bit (xem hình 1.2). Mặc dù 8051 có thể có một ROM trên chíp cực đại là 64 K byte, nhưng các nhà sản xuất lúc đó đã cho xuất xưởng chỉ với 4K byte ROM trên chíp. Điều này sẽ được bàn chi tiết hơn sau này. 8051 đã trở nên phổ biến sau khi Intel cho phép các nhà sản xuất khác sản xuất và bán bất kỳ dạng biến thế nào của 8051 mà họ thích với điều kiện họ phải để mã lại tương thích với 8051. Điều này dẫn đến sự ra đời nhiều phiên bản của 8051 với các tốc độ khác nhau và dung lượng ROM trên chíp khác nhau được bán bởi hơn nửa các nhà sản xuất. Điều này quan trọng là mặc dù có nhiều biến thể khác nhau của 8051 về tốc độ và dung lơng nhớ ROM trên chíp, nhưng tất cả chúng đều tương thích với 8051 ban đầu về các lệnh. Điều này có nghĩa là nếu ta viết chương trình của mình cho một phiên bản nào đó thì nó cũng sẽ chạy với mọi phiên bản bất kỳ khác mà không phân biệt nó từ hãng sản xuất nào.
Bảng đặc tính của 8051 đầu tiên
Đặc tính
Số lượng
ROM trên chíp
RAM
Bộ định thời
Các chân vào ra
Cổng nối tiếp
Nguồn ngắt
4K byte
128byte
2
32
1
6
Hãng Atmel có các chip Vi điều khiển có tính năng tương tự như chip Vi điều khiển MCS-51 của Intel, các mã số chip được thay đổi chút ít khi được Atmel sản xuất. Mã số 80 chuyển thành 89, chẳng hạn 80C52 của Intel khi sản xuất ở Atmel mã số thành 89C52 (Mã số đầy đủ: AT89C52) với tính năng chương trình tương tự như nhau. Tương tự 8051,8053,8055 có mã số tương đương ở Atmel là 89C51,89C53,89C55. Vi điều khiển Atmel sau này ngày càng được cải tiến và được bổ sung thêm nhiều chức năng tiện lợi hơn cho người dùng.
Bảng 1
Dung lượng RAM
Dung lượng ROM
Chế độ nạp
89C51
128 byte
4 Kbyte
song song
89C52
128 byte
8 Kbyte
song song
89C53
128 byte
12 Kbyte
song song
89C55
128 byte
20 Kbyte
song song
Sau khoảng thời gian cải tiến và phát triển, hãng Atmel tung ra thị trường dòng Vi điều khiển mang số hiệu 89Sxx với nhiều cải tiến và đặc biệt là có thêm khả năng nạp chương trình theo chế độ nối tiếp rất đơn giản và tiện lợi cho người sử dụng.
Bảng 2
Dung lượng RAM
Dung lượng ROM
Chế độ nạp
89S51
128 byte
4 Kbyte
nối tiếp
89S52
128 byte
8 Kbyte
nối tiếp
89S53
128 byte
12 Kbyte
nối tiếp
89S55
128 byte
20 Kbyte
nối tiếp
Tất cả các Vi điều khiển trên đều có đặc tính cơ bản giống nhau về phần mềm (các tập lệnh lập trình như nhau), còn phần cứng được bổ sung với chip có mã số ở hai số cuối cao hơn, các Vi điều khiển sau này có nhiều tính năng vượt trội hơn Vi điều khiển thế hệ trước. Các Vi điều khiển 89Cxx như trong bảng 1 có cấu tạoROM và RAM như 89Sxx trong bảng 2, tuy nhiên 89Sxx được bổ sung một số tính năng và có thêm chế độ nạp nối tiếp.
Trên thị trường hiện nay có rất nhiều loại sách hướng dẫn về Vi điều khiển với nhiều loại khác nhau như 8051, 89C51, 89S8252, 89S52 v.v... các sách này đều hướng dẫn cụ thể về phần cứng cũng như cách thức lập trình. Chương trình phần mềm dành cho các Vi điều khiển này là như nhau, vì vậy có thể tham khảo thêm về Vi điều khiển ở các sách này.
Trên phần cứng thực tế, chúng em đã chọn Vi điều khiển 89S52 (Mã đầy đủ:AT89S52; AT là viết tắt của nhà sản xuất ATMEL) vì : Các Vi điều khiển 89Sxx được cải tiến từ dòng 89Cxx Chương trình viết dành cho 89Cxx đều chạy được với 89Sxx 89Sxx rẻ hơn 89Cxx 89Sxx có chế độ nạp nối tiếp với mạch nạp đơn giản có khả năng nạp ngay trên bo mạch mà không cần tháo chip vi điều khiển sang mạch khác để nạp chương trình và nhiều tính năng cải tiến khác.
1.3. Sơ đồ chân của 89S52 và chức năng từng chân
Mặc dù các thành viên của họ MSC-51 có nhiều kiểu đóng vỏ khác nhau, chẳng hạn như hai hàng chân DIP (Dual In-Line Pakage) dạng vỏ dẹt vuông QFP (Quad Flat Pakage) và dạng chíp không có chân đỡ LLC (Leadless Chip Carrier) và đều có 40 chân cho các chức năng khác nhau như vào ra I/0, đọc , ghi , địa chỉ, dữ liệu và ngắt. Tuy nhiên, vì hầu hết các nhà phát triển chính dụng chíp đóng vỏ 40 chân với hai hàng chân DIP, nên chúng ta cùng khảo sát Vi điều khiển với 40 chân dạng DIP.
Khi gia công trên mạch, thường không hàn vi điều khiển trực tiếp lên mạch, mà thay vào đó là một đế cắm 40 chân để khi cần thiết có thể thay đổi vi điều khiển khác lên trên mạch dễ dàng hơn.
Một loại đế cắm 40 chân
Hình dạngAT89S52 thực tế
Sơ đồ chân tương ứng
Hình 2
2.1. Chân VCC: Chân số 40 là VCC cấp điện áp nguồn cho Vi điều khiển Nguồn điện cấp là +5V±0.5. 2.2. Chân GND:Chân số 20 nối GND(hay nối Mass).
Khi thiết kế cần sử dụng một mạch ổn áp để bảo vệ cho Vi điều khiển, cách đơn giản là sử dụng IC ổn áp 7805.
2.3. Port 0 (P0) Port 0 gồm 8 chân (từ chân 32 đến 39) có hai chức năng: Chức năng xuất/nhập :các chân này được dùng để nhận tín hiệu từ bên ngoài vào để xử lí, hoặc dùng để xuất tín hiệu ra bên ngoài, chẳng hạn xuất tín hiệu để điều khiển led đơn sáng tắt. Chức năng là bus dữ liệu và bus địa chỉ (AD7-AD0) : 8 chân này (hoặc Port 0) còn làm nhiệm vụ lấy dữ liệu từ ROM hoặc RAM ngoại (nếu có kết nối với bộ nhớ ngoài), đồng thời Port 0 còn được dùng để định địa chỉ của bộ nhớ ngoài.
2.4.Port 1 (P1) Port P1 gồm 8 chân (từ chân 1 đến chân 8), chỉ có chức năng làm các đường xuất/nhập, không có chức năng khác.
2.5.Port 2 (P2) Port 2 gồm 8 chân (từ chân 21 đến chân 28) có hai chức năng: Chức năng xuất/nhập Chức năng là bus địa chỉ cao (A8-A15): khi kết nối với bộ nhớ ngoài có dung lượng lớn,cần 2 byte để định địa chỉ của bộ nhớ, byte thấp do P0 đảm nhận, byte cao do P2 này đảm nhận.
2.6.Port 3 (P3) Port 3 gồm 8 chân (từ chân 10 đến 17): Chức năng xuất/nhập Với mỗi chân có một chức năng riêng thứ hai như trong bảng sau
Bit
Tên
Chức năng
P3.0
RxD
Ngõ vào nhận dữ liệu nối tiếp
P3.1
TxD
Ngõ xuất dữ liệu nối tiếp
P3.2
INT0
Ngõ vào ngắt cứng thứ 0
P3.3
INT1
Ngõ vào ngắt cứng thứ 1
P3.4
T0
Ngõ vào của Timer/Counter thứ 0
P3.5
T1
Ngõ vào của Timer/Counter thứ 1
P3.6
WR
Ngõ điều khiển ghi dữ liệu lên bộ nhớ ngoài
P3.7
RD
Ngõ điều khiển đọc dữ liệu từ bộ nhớ bên ngoài
P1.0
T2
Ngõ vào của Timer/Counter thứ 2
P1.1
T2X
Ngõ Nạp lại/thu nhận của Timer/Counter thứ 2
2.7. Chân RESET (RST) Ngõ vào RST ở chân 9 là ngõ vào Reset dùng để thiết lập trạng thái ban đầu cho vi điều khiển. Hệ thống sẽ được thiết lập lại các giá trị ban đầu nếu ngõ này ở mức 1 tối thiểu 2 chu kì máy.
2.8.Chân XTAL1 và XTAL2 Hai chân này có vị trí chân là 18 và 19 được sử dụng để nhận nguồn xung clock từ bên ngoài để hoạt động, thường được ghép nối với thạch anh và các tụ để tạo nguồn xung clock ổn định.
2.9. Chân cho phép bộ nhớ chương trình PSEN PSEN ( program store enable) tín hiệu được xuất ra ở chân 29 dùng để truy xuất bộ nhớ chương trình ngoài. Chân này thường được nối với chân OE (output enable) của ROM ngoài. Khi vi điều khiển làm việc với bộ nhớ chương trình ngoài, chân này phát ra tín hiệu kích hoạt ở mức thấp và được kích hoạt 2 lần trong một chu kì máy Khi thực thi một chương trình ở ROM nội, chân này được duy trì ở mức logic không tích cực (logic 1) (Không cần kết nối chân này khi không sử dụng đến)
2.10. Chân ALE (chân cho phép chốt địa chỉ-chân 30) Khi Vi điều khiển truy xuất bộ nhớ từ bên ngoài, port 0 vừa có chức năng là bus địa chỉ, vừa có chức năng là bus dữ liệu do đó phải tách các đường dữ liệu và địa chỉ. Tín hiệu ở chân ALE dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và các đường dữ liệu khi kết nối chúng với IC chốt. Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động đưa vào Vi điều khiển, như vậy có thể dùng tín hiệu ở ngõ ra ALE làm xung clock cung cấp cho các phần khác của hệ thống. Ghi chú: khi không sử dụng có thể bỏ trống chân này
2.11. Chân EA Chân EA dùng để xác định chương trình thực hiện được lấy từ ROM nội hay ROM ngoại. Khi EA nối với logic 1(+5V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ nội Khi EA nối với logic 0(0V) thì Vi điều khiển thực hiện chương trình lấy từ bộ nhớ ngoại
1.4. Kết nối phần cứng
a/ Kết nối chân XTAL1 và XTAL2
Mạch dao động được đưa vào hai chân này thông thường được kết nối với dao động thạch anh như sau:
Ghi chú: C1,C2= 30pF±10pF (thường được sử dụng với C1,C2 là tụ 33pF) dùng ổn định dao động cho thạch anh.
Thạch anh sử dụng là thạch anh 12M
Hình3
Thạch anh 12Mhz
Tụ gốm 33p
b/ Mạch Reset
Việc kết nối chân RESET đảm bảo hệ thống bắt đầu làm việc khi Vi điều khiển được cấp điện, hoặc đang hoạt động mà hệ thống bị lỗi cần tác động cho Vi điều khiển hoạt động trở lại, hoặc do người sử dụng muốn quay về trạng thái hoạt động ban đầu. Vì vậy chân RESET được kết nối như hình bên.
Với Vi điều khiển sử dụng thạch anh có tần số fzat = 12MHz sử dụng C=10µF và R=10KΩ.
Hình 4
c/ Kết nối các Port
Các Port khi xuất tín hiệu ở mức logic 1 thường không đạt đến 5V mà dao động trong khoảng từ 3.5V đến 4.9V và dòng xuất ra rất nhỏ dưới 5mA(P0,P2 dòng xuất khoảng 1mA; P1,P3 dòng xuất ra khoảng 1mA đến 5mA) vì vậy dòng xuất này không đủ để có thể làm led sáng
Tuy nhiên khi các Port xuất tín hiệu ở mức logic 0 dòng điện cho phép đi qua lớn hơn rất nhiều: Chân Vi điều khiển khi ở mức 0: Dòng lớn nhất qua P0 : -25mA Dòng lớn nhất qua P1,P2,P3 : -15mA
Để khắc phục, có thể sử dụng cổng đệm có tác dụng thay đổi cường độ dòng điện xuất ra khi ngõ ra ở mức 1, cổng đệm xuất ra tín hiệu ở mức 1 với áp và dòng lớn khi có tín hiệu mức 1 đặt ở ngõ vào, trở treo hoặc điều khiển bằng mức 0.
1.5. Mạch nạp và chương trình nạp
a/ Mạch nạp
Dưới đây là 1 mẫu mạch nạp qua cổng USB , hỗ trợ hầu hết các chip MCS-15 của Atmel
b/ Chương trình nạp Willar Programmer
1.6. Viết chương trình và biên dịch với Keil
Giao diện Keil
II. ĐỘNG CƠ BƯỚC
2.1 .Giới thiệu về độ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âm vĩ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 dung 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 trungtâ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ơ.
Các loại động cơ bước gồm
• Động cơ biến từ trở
• Động cơ đơn cực
• Động cơ hai cực
• Động cơ nhiều pha
2.2. Động cơ biến từ trở
Hình 3
Nếu motor của bạn có 3 cuộn dây, được nối như trong biểu đồ hình 3, 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 3 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 độ.
2.3. Động cơ đơn cực
Hình 4
Độ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 4, 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 1100110011001100110011001Mấu 1b 0010001000100010001000100 Mấu 1b 0011001100110011001100110Mấu 2a 0100010001000100010001000 Mấu 2a 0110011001100110011001100Mấu 2b 0001000100010001000100010 Mấu 2b 1001100110011001100110011thờ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.
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 >>
2.4 .Động cơ lưỡng cực(Động cơ dùng trong đề tài)
Độ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.
Mạch điều khiển cho động cơ đòi hỏi một mạch điều khiển cầu H cho mỗi mấu; điều này sẽ được bàn chi tiết trong phần Các mạch điều khiển. Tóm lại, một cầu H cho phép cực của nguồn áp đến mỗi đầu của mấu được điều khiển một cách độc lập. Các dãy điều khiển cho mỗi bước đơn của loại động cơ này được nêu bên dưới, dùng + và ‐ để đại diện cho các cực của nguồn áp được áp vào mỗi đầu của động cơ:
Đầu 1a + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐
Đầu 1b ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + +
Đầu 2a ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐
Đầu 2b ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ + ‐ ‐ ‐ +
thời gian ‐‐>
+ ‐ ‐ + + ‐ ‐ + + ‐ ‐ + + ‐ ‐ +
Chú ý rằng những dãy này giống như trong động cơ nam châm vĩnh cửu đơn cực, ở mức độ lý thuyết, và rằng ở mức độ mạch đóng ngắt cầu H, hệ thống điều khiển cho hai loại động cơ này là giống nhau.
Chú ý khác là có rất nhiều chip điều khiển cầu H có một đầu vào điều khiển đầu
ra và một đầu khác để điều khiển hướng. Có loại chip cầu H kể trên, dãy điều khiển dưới đây sẽ quay động cơ giống như dãy điều khiển nêu phía trên:
Enable 1 1010101010101010 1111111111111111
Hướng 1 1x0x1x0x1x0x1x0x 1100110011001100
Enable 2 0101010101010101 1111111111111111
Hướng 2 x1x0x1x0x1x0x1x0 0110011001100110
thời gian ‐‐>
Để phân biệt một động cơ nam châm vĩnh cửu hai cực với những động cơ 4 dây
biến từ trở, đo điện trở giữa các cặp dây. Chú ý là một vài động cơ nam châm
vĩnh cửu có 4 mấu độc lập, được xếp thành 2 bộ. Trong mỗi bộ, nếu hai mấu
được nối tiếp với nhau, thì đó là động cơ hai cực điện thế cao. Nếu chúng được
nối song song, thì đó là động cơ hai cực dùng điện thế thấp. Nếu chúng được nối
tiếp với một đầu trung tâm, thì dùng như với động cơ đơn cực điên thế thấp.
2.5. Động cơ nhiều pha
Một bộ phận các động không được phổ biến như những loại trên đó là động cơ nam châm vĩnh cửu mà các cuộn được quấn nối tiếp thành một vòng kín như hình 1.4. Thiết kế phổ biến nhất đối với loại này sử dụng dây nối 3 pha và 5 pha. Bộ điều khiển cần ½ cầu H cho mỗi một đầu ra của động cơ, nhưng những động cơ này có thể cung cấp moment xoắn lớn hơn so với các loại động cơ bước khác cùng kích thước. Một vài động cơ 5 pha có thể xử lý cấp cao để có được bước 0.72 độ (500 bước mỗi vòng).
Với một động cơ 5 pha như trên sẽ quay mười bước mỗi vòng bước, như trình bày dưới đây:
Ở đây, giống như trong trường hợp động cơ hai cực, mỗi đầu hoặc được nối vào
cực dương hoặc cực âm của hệ thống cấp điện động cơ. Chú ý rằng, tại mỗi bước,
chỉ có một đầu thay đổi cực. Sự thay đổi này làm ngắt điện ở một mấu nối vào
đầu đó (bởi vì cả hai đầu của mấu có cùng điện cực) và áp điện vào một mấu
đang trong trạng thái nghỉ trước đó. Hình dạng của động cơ được đề nghị như
hình 1.4, dãy điều khiển sẽ điều khiển động cơ quay 2 vòng.
Để phân biệt động cơ 5 pha với các loại động cơ có 5 dây dẫn chính, cần nhớ
rằng, nếu điện trở giữa 2 đầu liên tiếp của một động cơ 5 pha là R, thì điện trở
giữa hai đầu không liên tiếp sẽ là 1.5R.
Và cũng cần ghi nhận rằng một vài động cơ 5 pha có 5 mấu chia, với 10 đầu dây
dẫn chính. Những dây này có thể nối thành hình sao như hình minh hoạ trên, sử
dụng mạch điều khiển gồm 5 nửa cầu H, nói cách khác mỗi mấu có thể được
điều khiển bởi một vòng cầu H đầy đủ của nó. Để tránh việc tính toán lý thuyết
vớicác linh kiện điện tử, có thể dùng chip mạch cầu tích hợp đầy đủ để tính
toán gần đúng.
III. THIẾT KẾ MẠCH
3.1. Phối ghép LCD
Màn hình tinh thể lỏng (liquid crystal display, LCD) là loại thiết bị hiển thị cấu tạo bởi các tế bào (các điểm ảnh) chứa tinh thể lỏng có khả năng thay đổi tính phân cực của ánh sáng và do đó thay đổi cường độ ánh sáng truyền qua khi kết hợp với các kính lọc phân cực. Chúng có ưu điểm là phẳng, cho hình ảnh sáng, chân thật và tiết kiệm năng lượng
LCD alphanumeric: Chỉ dùng để hiển thị chữ cái và chữ số. Với loại này 1 ký tự hiển thị trên một ma trận 5x7 hoặc 5x10, như vậy với loại LCD 16x2 (có hai hàng và mỗi hàng có 16 ký tự) sẽ có 32 ma trận xếp trên hai hàng. Hiện nay có các loại LCD thông alphanumeric thông dụng là: 14x2, 16x1, 20x2, 20x4.
Các chế độ làm việc của LCD:
Chế độ 8bit, dùng cả 8 chân data (d0-d7) để truyền dữ liệu.
Chế độ 4 bit, chỉ dùng 4 chân để truyền dữ liệu. Ở chế độ này, để truyền 8 bit dữ liệu phải truyền 2 lần.
LCD ngày càng được sử dụng rộng rãi và đang dần thay thế cho các đèn LED (7 đoạn và nhiều đoạn). Nó có giá thành hạ, khả năng hiển thị số, kí tự và đồ họa tốt hơn so với đèn LED, có chức năng làm tươi (refresh) LCD...
Hình 4: LCD 16x2
-Mô tả chân của LCD
LCD giới thiệu ở đây có 16 chân. Chức năng của các chân được cho trong bảng 4
-VCC, VSS, và VEE
VCC và VSS là chân nguồn +5V và chân đất, còn VEE được dùng để điều khiển độ tương phản của của LCD.
--RS (Register Select)- Chọn thanh ghi
Có hai thanh ghi rất quan trọng bên trong LCD. Chân RS được dùng để chọn các thanh ghi này. Nếu RS=0 thì thanh ghi mã lệnh được chọn, cho phép người dùng gửi một lệnh chẳng hạn như xóa màn hình, đưa con trỏ về đầu dòng, v.v.
Nếu RS=1 thì thanh ghi dữ liệu được chọn và cho phép người dùng gửi dữ liệu cần hiển thị lên LCD.
- R/W (Read/Write) – Chân đọc/ghi
Chân này được dùng để điều khiển việc đọc và ghi đối với LCD. R/W=0 thì được phép đọc thông tin từ LCD, RW=1 thì được phép ghi thông tin lên LCD.
Chân
Ký hiệu
I/O
Mô tả
1
VSS
-
Đất
2
VCC
-
Dương nguồn +5V
3
VEE
-
Nguồn điều khiển tương phản
4
RS
I
RS=0, chọn thanh ghi lệnh
RS=1, chọn thanh ghi dữ liệu
5
R/W
I
R/W=1 đọc dữ liệu.
R/W=0 ghi dữ liệu
6
E
I/O
Cho phép
7
D0
I/O
Bus dữ liệu 8 bit
8
D1
I/O
Bus dữ liệu 8 bit
9
D2
I/O
Bus dữ liệu 8 bit
10
D3
I/O
Bus dữ liệu 8 bit
11
D4
I/O
Bus dữ liệu 8 bit
12
D5
I/O
Bus dữ liệu 8 bit
13
D6
I/O
Bus dữ liệu 8 bit
14
D7
I/O
Bus dữ liệu 8 bit
15
VLED
I/O
Dương nguồn cho ánh sáng nền LCD (Backlight)
16
VLSS
I/O
Đất cho Backlight
Bảng 3 : Mô tả chân của LCD
-E (Enable) - Chân cho phép:
Chân cho phép E được LCD sử dụng để chốt thông tin hiện có trên chân dữ liệu. Khi dữ liệu được cấp đến chân dữ liệu thì một xung mức cao-xuống- thấp được đặt vào chân E để LCD chốt dữ liệu.
- D0 - D7
Đây là 8 chân dữ liệu 8 bit, được dùng để gửi thông tin lên LCD hoặc đọc nội dung của các thanh ghi trong LCD.
Để hiển thị chữ cái và các con số, mã ASCII của các chữ cái từ A đến Z, a đến z và từ 0 đến 9 được gửi đến các chân này khi bật RS=1.
Cũng có các mã lệnh được gửi đến LCD để xóa màn hình hoặc đưa con trỏ hoặc nhấp nháy con trỏ. Bảng 4.2 liệt kê các mã lệnh được dùng với LCD.
Hình 4-2 mô tả các việc đấu nối các đường tín hiệu cho LCD (tích hợp trên bo mạch chính).
Mã (Hexa)
Lệnh đến thanh ghi của LCD
1
Xóa màn hình hiển thị
2
Trở về đầu dòng
4
Dịch con trỏ sang trái
6
Dịch con trỏ sang phải
5
Dịch hiển thị sang phải
7
Dịch hiển thị sang trái
8
Tắt con trỏ, tắt hiển thị
A
Tắt hiển thị, bật con trỏ
C
Bật hiển thị, tắt con trỏ
E
Bật hiển thị, nhấp nháy con trỏ
F
Tắt hiển thị, nhấp nháy con trỏ
10
Dịch vị trí con trỏ sang trái
14
Dịch vị trí con trỏ sang phải
18
Dịch toàn bộ hiển thị sang trái
1C
Dịch toàn bộ hiển thị sang phải
80
Đưa con trỏ về đầu dòng thứ nhất
C0
Đưa con trỏ về đầu dòng thứ hai
38
Hai dòng và ma trận 5x7
Hình 4:Bảng mã lệnh LCD
Hình 5: Chân
LCD
3.2. L293D- H bridge
Ngày nay, với những ứng dụng nhỏ, người ta thường hay sử dụng ULN 2003(2803) để kích dòng cho động cơ. Nhưng ULN 2003 có nhựơc điểm là chi sử dụng được cho những động cơ có dòng nhỏ hơn 500mA. Với những động cơ loại lớn hơn,ULN 2003 toả nhiệt rất nhiều, và không hoạt động trong thời gian dài đựơc. Với lý do này, chúng em đã chọn sử dụng L293D để kích dòng cho động cơ bước lưỡng cực.
-L293D là mạch cầu H đôi để điều khiển động cơ.
-Chịu dòng trung bình 600mA và chịu tải 1,2A
-Tích hợp sẵn diode bảo vệ
-Điện áp làm việc từ 14,5V- 36V
3.3. Động cơ bước
Động cơ lưỡng cực, 4 dây. Xác định các cuôn dây bằng Đồng hồ vạn năng, đặt thang đo Ohm, đo từng cặp dây. Cặp 1a-1a và 1b-2b điện trở
là vô cùng, kim không quay. Cặp 1a-1b và 2a-2b điện trở bằng nhau, vào khoảng 2 Ohm. Từ đó xác định đựoc các đầu dây đấu nối.
IV.SƠ ĐỒ NGUYÊN LÝ MẠCH VÀ CODE CHƯƠNG TRÌNH
4.1. Sơ đồ nguyên lý
Mạch được mô phỏng cụ thể như sau:
4.2. Mạch in
Stop
Quay Thuận
Quay Ngược
Tăng Tốc
Giảm Tốc
Begin
Lưu đồ thuật toán
4.3. Code chương trình
#include
#include
/*CAC MA LENH DUNG CHO LCD */
#define CLRSCR 0X01 //xoa man hinh
#define HOME 0X02 //tro ve dau dong
#define SPL 0X04 //dich con tro sang trai
#define SPR 0X06 //dich con tro sang p[hai
#define SDR 0X05 //dich vi tri hien thi sang phai
#define SDL 0X07 //dich vi tri hien thi sang trai
#define DOFF_POFF 0X08 //tat hien thi, tat con tro
#define DOFF_PON 0X0A //tat hien thi, bat con tro
#define DON_POFF 0X0C //bat hien thi, tat con tro
#define DON_PB 0X0E /*bat hien thi, con tro nhap nhay*/
#define SSL 0X10 /*dich vi tri con tro sang trai*/
#define SSR 0X14 /*dich vi tri con tro sang phai*/
#define SADL 0X18 /*dich toan bo hien thi sang trai*/
#define SADR 0X1C /*dich toan bo hien thi sang phai*/
#define SCREEN 0X38 //hai dong ma tran 5*7
#define HOME1 0X80 //tro ve dau dong thu nhat
#define HOME2 0XC0 //tro ve dau dong thu hai
/*.......... CAC CHAN CHUC NANG CUA LCD ..............*/
sbit NANG1 = P0^0;
sbit HA1 = P0^1;
sbit SP1 = P0^2;
sbit SP2 = P0^3;
sbit STOP = P0^4;
sbit LED = P2^7;
sbit RS_LCD = P3^2;
sbit RW_LCD = P3^1;
sbit E_LCD = P3^0;
sbit busy_bit = P0^7;
unsigned char M[] = {0x80,0x10,0x40,0x20};
int i=0; NANG=0; HA=0;dem=5; times;
int j, k=0 ,n=0;
unsigned char abc,efg;
char x;
//-------------------------------------------------------------------------------
void delay ( long int time)
{
int i;
TMOD=0X01;
for ( i=1; i<=time; i++)
{
TH0=(-920)/256;
TL0=(-920)%256;
TR0=1;
while(!TF0);
TF0=0;
TR0=0;
}
}
//--------------------------------------------------------------------------------
void busy_flag ( void)
{
P1 = 0xff;
RS_LCD = 0;
RW_LCD = 1;
do
{
E_LCD = 1;
for ( j=1; j< 3; j++) ;
E_LCD = 0;
x= P1;
x= x&0x80;
}
while(!x==0x80);
}
void write_command ( unsigned char LCD_command)
{
busy_flag();
P1=LCD_command;
RS_LCD=0;
RW_LCD=0;
E_LCD =1;
for ( j=1; j<=3; j++);
E_LCD=0;
}
void write_data ( unsigned char LCD_data)
{
busy_flag();
P1=LCD_data;
RS_LCD=1;
RW_LCD=0;
E_LCD=1;
for (j=1; j<=3; j++);
E_LCD=0;
}
void write_line1 ( unsigned char
data1,data2,data3,data4,data5,data6,data7,data8,data9,data10,data11,data12,data13,data14,dat
a15,data16 )
{
write_data(data1);
write_data(data2);
write_data(data3);
write_data(data4);
write_data(data5);
write_data(data6);
write_data(data7);
write_data(data8);
write_data(data9);
write_data(data10);
write_data(data11);
write_data(data12);
write_data(data13);
write_data(data14);
write_data(data15);
write_data(data16);
}
//-----------------------------------------------------------------------------------------
void stop()
{
write_command(0x38);
write_command(CLRSCR);
write_command(0x03);
for(i=0;i<=3;i++)
{
write_command(DON_PB);
write_command(HOME1);
write_line1(' ','M','O','T','O','R',' ','C','O','N','T','R','O','L',' ',' ' );
write_command(HOME2);
write_line1(' ',' ',' ',' ',' ',' ','S','T','O','P',' ',' ',' ',' ',' ',' ' );
}
}
//-----------------------------------------------------------------------------------------
void sp1_sp2()
{
if(SP1==1)
{
n=0;
k++ ;
dem++;
if(dem>=9)
{
dem=9;
}
if(k==1)
{
write_command(CLRSCR);
write_command(0x03);
for(i=0;i<=1;i++)
{
write_command(DON_PB);
write_command(HOME1);
write_line1(' ','M','O','T','O','R',' ','C','O','N','T','R','O','L',' ',' ' );
write_command(HOME2);
write_line1(' ',' ','G','I','A','M',' ','T','O','C',' ',' ',' ',' ',' ',' ' );
}
}
}
if(SP2==1)
{
k=0;
n++;
dem--;
if(dem<=0)
{
dem=0;
}
if(n==1)
{
write_command(CLRSCR);
write_command(0x03);
for(i=0;i<=1;i++)
{
write_command(DON_PB);
write_command(HOME1);
write_line1(' ','M','O','T','O','R',' ','C','O','N','T','R','O','L',' ',' ' );
write_command(HOME2);
write_line1(' ',' ','T','A','N','G',' ','T','O','C',' ',' ',' ',' ',' ',' ' );
}
}
}
}
//--------------------------------------------------------------------------------------------
void dc1_thuan()
{
write_command(CLRSCR);
write_command(0x03);
for(i=0;i<=3;i++)
{
write_command(DON_PB);
write_command(HOME1);
write_line1(' ','M','O','T','O','R',' ','C','O','N','T','R','O','L',' ',' ' );
write_command(HOME2);
write_line1(' ',' ','T','D',':',' ',' ','C','Q',':','T','H','U','A','N',' ' );
}
while(NANG)
{
sp1_sp2();
times=(dem*2)+4;
i=3;
for(i=3;i>=0;i--)
{
P3 = M[i];
delay(times);
}
if (HA1==1)
{
HA=1 ;
NANG=0;
k=0;
n=0;
}
if (STOP==1)
{
NANG=0 ;
HA=0;
k=0;
n=0;
stop();
}
}
}
//---------------------------------------------------------------------------------------------
void dc1_dao()
{
write_command(CLRSCR);
write_command(0x03);
for(i=0;i<=1;i++)
{
write_command(DON_PB);
write_command(HOME1);
write_line1(' ','M','O','T','O','R',' ','C','O','N','T','R','O','L',' ',' ' );
write_command(HOME2);
write_line1(' ',' ','T','D',':',' ',' ','C','Q',':','N','G','U','O','C',' ' );
}
while(HA)
{
sp1_sp2();
times=(dem*2)+4;
i=0;
for (i=0;i<=3;i++)
{
P3 = M[i];
delay(times);
}
if (NANG1==1)
{
NANG=1 ;
HA=0;
k=0;
n=0;
}
if (STOP==1)
{
NANG=0 ;
HA=0;
k=0;
n=0;
stop();
}
}
}
//--------------------------------------------------------------------------------------------
void main ( void )
{
write_command(0x38); //dat che do cho man hinh lcd
write_command(CLRSCR); //xoa man hinh
write_command(0x03); //dich con tro ve vi tri dau tien
for(i=0;i<=3;i++)
{
write_command(DON_PB); /*bat hien thi, con tro nhap nhay*/
write_command(HOME1);
write_line1(' ','H','O','C',' ','V','I','E','N',' ','K','T','Q','S',' ',' ' );
write_command(HOME2);
write_line1(' ','M','O','T','O','R',' ','C','O','N','T','R','O','L',' ',' ' );
}
while(1)
{
if (NANG1==1)
{
NANG=1 ;
HA=0;
}
if(NANG==1)
{
dc1_thuan();
}
if (HA1==1)
{
HA=1 ;
NANG=0;
}
if(HA==1)
{
dc1_dao();
}
}
}
V. TỔNG KẾT VÀ ỨNG DỤNG HƯỚNG PHÁT TRIỂN
Theo yêu cầu đề tài, chúng em đã chọn lựa những phương pháp điều khiển, linh kiện ứng dụng tối đa kiến thức đã học và tận dụng những linh kiện có sẵn. Vì vậy, sẽ còn nhiều thiếu sót,chưa tối ưu.
Đề tài có những hướng mở rộng để ứng dụng trong thức tế. Có thể giao tiếp với ma trận phím để đặt trước tốc độ động cơ, điều khiển 2 động cơ.
Trên đây là những tóm lược về đề tài: Điều khiển động cơ bước giao tiếp bàn phím, hiển thị LCD của nhóm chúng em. Trong quá trình thực hiện đề tài, còn nhiểu thiếu sót, mong các thấy cô thông cảm!
Chúng em xin chân thành cảm ơn!
Tài liệu tham khảo
www.dientuvietnam.net
www.8051projects.net
3. Slide môn học: Thiết kế các hệ Tự động điều khiển(Thầy Phạm Xuân Thủy)
4. Tài liệu 8051(Thầy Trịnh Mạnh Tuyên)
Các file đính kèm theo tài liệu này:
- Tổ chức hệ thống điều khiển động cơ bước, có phối ghép bàn phím và LCD Các chế độ chạy, dừng, đảo chiều quay, thay đổi tốc độ được điều khiển và hiển .doc