Đồ á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

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

doc37 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4605 | Lượt tải: 5download
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ạng AT89S52 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 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. 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:

  • docTổ 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