CHƯƠNG I: TÌM HIỂU VỀ 8051 VÀ CÁC THIẾT BỊ SỬ DỤNG1.1.Vi điều khiển AT89C51 1.1.1 Mô tả AT9C51 là một hệ vi tính 8 bit đơn chíp CMOS có hiệu suất cao,côngsuấtnguồn tiêu thụ thấp và có 4K
Trang 1Mục Lục
LỜI NÓI ĐẦU 2
CHƯƠNG I: TÌM HIỂU VỀ 8051 VÀ CÁC THIẾT BỊ SỬ DỤNG 3
1.1.Vi điều khiển AT89C51 3
1.2.Động cơ bước 16
1.3.Nút ấn 25
1.4.Cảm biến hồng ngoại 26
CHƯƠNG 2 : THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN ĐỘNG CƠ BẰNG PWM 28
2.1.Giới thiệu về PWM 28
2.2 Yêu cầu công nghệ 29
2.3.Sơ đồ thuật toán 31
2.4 Làm mạch thật 33
CHƯƠNG III : XÂY DỰNG CHƯƠNG TRÌNH BẰNG PHẦN MỀM PROTEUS 34
3.1 Giới thiệu qua về proteus 34
3.2 Xây dưng chương trình mô phỏng trên proteus 34
3.3 Chương trình lập trình bằng ngôn ngữ bậc thấp assembly 35
Trang 2LỜI NÓI ĐẦU
Như chúng ta đã biết yêu cầu điều khiển càng cao thì hệ thống càng phức tạp
và nếu yêu cầu điều khiển có đơn giản ví dụ như điều khiển tốc độ động cơ điện 1 chiều nhiều cấp tốc độ khác nhau thì hệ thống vi xử lý cũng phải có đầy đủ các khối : bộ vi xử lý, bộ nhớ ,các IC ngoại vi
Để kết nối các khối trên tạo nên một hệ thống đòi hỏi người thiết kế phải hiểubiết các khối Hệ thống khá phức tạp ,chiếm nhiều không gian mạch in và in ấn Một lý do nữa là vi xử lý thường xử lý dữ liệu theo byte hoặc word trong đó các đối tượng điều khiển trong công nghiệp thường theo bit
Chính vì sự phức tạp này các nhà thiết kế đã tích hợp một ít bộ nhớ và một sốcác thiết bị ngoại vi cùng với vi xử lý tạo thành một IC gọi là vi điều khiển
Vi điều khiển ra đời đã mang lại sự tiện lợi dễ dàng sử dụng tron điều khiển công nghiệp, việc sử dụng vi điều khiển không đòi hỏi người sử dụng phải hiểu biết về một lượng kiến thức quá nhiều như sử dụng vi sử lý
Ứng dụng củ vi điều khiển rất nhiều trong hệ thống điều khiển công
nghiệp ,các dây truyền sản xuất ,các bộ điều khiển lập trình,máy giặt,……
Sau đây nhóm chúng em xin trình đề tài “ứng dụng VĐk 8051 xây dựng hệ
thống điều khiển tốc độ động cơ điện 1 chiều(24 VDC) gồm các cấp độ khác nhau”
Chúng em xin trân thành cảm ơn thầy Nguyễn Văn Vinh đã giúp chúng em
hoành thành đồ án này!
Trang 3CHƯƠNG I: TÌM HIỂU VỀ 8051 VÀ CÁC THIẾT BỊ SỬ DỤNG
1.1.Vi điều khiển AT89C51
1.1.1 Mô tả
AT9C51 là một hệ vi tính 8 bit đơn chíp CMOS có hiệu suất cao,côngsuấtnguồn tiêu thụ thấp và có 4Kbyte bộ nhớ ROM Flash xoá được lập trình được.Chip này được sản xuất dựa vào công nghệ bộ nhớ không mất nội dung có độ tíchhợp cao của Atmel
Chip AT89C51 cũng tương thích với tập lệnh và các chân ra của chuẩn côngnghiệp MCS-51 Flash trên chip này cho phép bộ nhớ chương trình được lập trìnhlại trên hệ thống hoặc bằng bộ lập trình bộ nhớ không mất nội dung qui ước Bằngcách kết hợp một CPU linh hoạt 8 bit với Flash trên một chip đơn thể, Atmel89C51 là một hệ vi tính 8 bit đơn chip mạnh cho ta một giải pháp có hiệu quả vềchi phí và rất linh hoạt đối với các ứng dụng điều khiển
AT89C51 có các đặc trưng sau: 4Kbyte Flash, 128 byte Ram, 32 đường xuấtnhập, hai bộ định thời / đếm 16 bit, một cấu trúc ngắt 2 mức ưu tiên và 5 nguyênnhân ngắt, một port nối tiếp song công, mạch dao động và tạo xung clock trênchip
Ngoài ra AT8951 được thiết kế với logic tĩnh cho hoạt đông có tần số giảmxuống 0 và hỗ trợ hai chế độ tiết kiệm năng lượng được lựa chọn bằng phần mềm
Chế độ nghĩ dừng CPU trong khi vẫn cho phép RAM, các bộ định thời /đếm, port nối tiếp và hệ thống ngắt tiếp tục hoạt động
Chế độ nguồn giảm duy trì nội dung của RAM nhưng không cho mạchdao động cung cấp xung clock nhằm vô hiệu hoá các hoạt động khác của chipcho đến khi có reset cứng tiếp theo
Các đặc điểm của 8951 được tóm tắt như sau:
KB bộ nhớ có thể lập trình lại nhanh, có khả năng tới 1000 chu kỳ ghi xoá
Trang 4 Tần số hoạt động từ: 0Hz đến 24MHz.
3 mức khóa bộ nhớ lậptrình
2 bộ Timer/counter 16Bit
128 Byte RAMnội
4 Port xuất /nhập I/O 8bit
Giao tiếp nối tiếp
Trang 6Khi cần, hoạt động cho phép chốt byte thấp của địa chỉ sẽ được vô hiệuhoá bằng cách set bit 0 của thanh ghi chức năng đặc biệt có địa chỉ byte là 8EH.Khi bit này được set, ALE chỉ tích cực tring thời gian thực thi lệnh MOVXhoặc MOVC.
Ngược lại chân này sẽ được kéo lên mức cao Việc set bit khôngchophép hoạt động chốt byte thấp của địa chỉ sẽ không có tác dụng nếu bộ viđiều khiển đang chế độ thực thi chương trìnhngoài
- PSEN\
Chân cho phép bộ nhớ chương trình PSEN (program store enable) điều khiển truy xuất bộ nhớ chuơng trình ngoài Khi AT89C51 đang thực thi chương trình trong bộ nhớ chương trình ngoài, PSEN tích cực 2 lần cho mỗi chu kỳ máy, ngoại trừ trường hợp 2 tác động của PSENbị bỏ qua cho mỗi truy xuất bộ nhớ dữ liệu ngoài
- AE/Vpp
Chân cho phép truy xuất bộ nhớ ngoài EA (external access enable) phải
được nối với GND để cho phép chip vi điều khiển tìm nạp lệnh từ các vị trínhớ của bộ nhớ chương trình ngoài, bắt đầu từ địa chỉ 0000H cho đến FFFFH.Tuy nhiên cần lưu ý là nếu có bit khoá 1(clock bit 1) được lập trình, AE sẽđược chọn bên trong khi reset
EA nên nối với Vcc để thực thi chương trình trong chip
Chân AE/Vpp còn nhận điện áp cho phép lập trình Vpp trong thời gianlập trình cho Flash, điện áp này cấp cho các bộ phận có yêu cầu điện áp 12V
Trang 7Hình: Mạch dao động.
Trang 81.1.3 CẤU TRÚC RAM NỘI CỦA 89c51
Bản đồ bộ nhớ Data trên Chip như sau:
Trang 9Vùng bank thanh ghi:
Bao gồm 32 byte bắt đầu từ 00H 1FH được chia thành 4 bank, mỗi bankbao gồm 8 thanh ghi:
Thanh ghi A(ACC: Accumulartor) là thanh ghi trung gian thường được sử
dụng để chứa lưu giá trị trong các lệnh chương trình có địa chỉ là E0H Vd: Mov A, #3FH
Lấy 3FH đưa vào A
Mov A, 3FH
Trang 10Lấy nội dung của 3FH đưa vào A.
Thanh ghi B:có địa chỉ là F)H là thanh ghi được dùng kết hợp với thanh
ghi A trong các phép toán Vd: Mul AB
Nhân thanh ghi A và B với nhau, đươc kết quả đưa vào A
Div AB
Chia A với B, kết quả đưa vào A, số dư đưa vào B
Thanh ghi PSW (Program statusword): Là thanh ghi chứa trạng thái của
chương trình
Trạng thái chương trình địa chỉ D0H được tóm tắt như sau:
CY: là cờ nhớ, CY sẽ set lên 1 khi thực hiện phép cộng có xảy ra nhớ,
hoăc khi thực hiện phép trừ có xảy ramượn
AC (Auxiliary carrier) là cờ nhớ phụ khi cộng các số BCD Cờ nhớ phụ
sẽ set lên 1 nếu kết quả của 4 bit thấp nằm trong khoảng từ 0AH đến0FH
Trang 11 F0: là cờ nhớ dành cho người sửdụng.
RS1, RS0: quyết định dãy thanh ghi tích cực Chúng được xoá saukhi
reset hệ thống và được thay đối bởi phần mềm khi cần thiết
Dựa vào bảng trên ta có thể chọn thanh ghi bank nào muốn chọn
OV (Over flow): sẽ set lên 1 khi thực hiên phép toán với số có dấucó xảy
ra tràn
P (Parity): là bit kiểm tra chẳn lẽ, bit P sẽ bằng 0 hoặc 1 theodạng parity
chẵn với nội dung của thanh ghi A
Con trỏ Ngăn xếp SP (Stack Pointer):
+ Con trỏ ngăn xếp là một thanh ghi 8 bit ở địa chỉ 81H Nó chứa địa chỉcủa của byte dữ liệu hiện hành trên đỉnh ngăn xếp Các lệnh trên ngăn xếp baogồm các lệnh cất dữ liệu vào ngăn xếp (PUSH) và lấy dữ liệu ra khỏi ngăn xếp(POP) Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu vàlệnh lấy ra khỏi ngăn xếp sẽ làm giảm SP Ngăn xếp của 8031/8051 được giữtrong RAM nội và giới hạn các địa chỉ có thể truy xuất bằng địa chỉ gián tiếp,chúng là 128 byte đầu của 8951
+ Để khởi động SP với ngăn xếp bắt đầu tại địa chỉ 60H, các lệnh sau đâyđược dùng:MOV SP, #5F
+ Với lệnh trên thì ngăn xếp của 8951 chỉ có 32 byte vì địa chỉ cao nhấtcủa RAM trên chip là 7FH Sở dĩ giá trị 5FH được nạp vào SP vì SP tăng lên60H trước khi cất byte dữliệu
Trang 12 Thanh ghi con tr d li u Data Pointer (DPTR): ỏ dữ liệu Data Pointer (DPTR): ữ liệu Data Pointer (DPTR): ệu Data Pointer (DPTR):
Là thanh ghi 16 bit kết hợp của 2 thanh ghi 8 bit là DPH và DPL
Thanh ghi DPTR thường được dùng để lưu các địa chỉ 16 bit, thông thường làcác địa chỉ khi truy xuất bộ nhớ ngoài
Các thanh ghi xuất nhập Port:
Các Port của 8951 bao gồm Port0 ở địa chỉ 80H, Port1 ở địa chỉ 90H,Port2 ở địa chỉ A0H, và Port3 ở địa chỉ B0H Tất cả các Port này đều có thể truyxuất từng bit nên rất thuận tiện trong khả năng giao tiếp
8951 chứa một Port nối tiếp cho việc trao đổi thông tin với các thiết bị nốitiếp như máy tính, modem hoặc giao tiếp nối tiếp với các IC khác Một thanh ghiđệm dử liệu nối tiếp (SBUF) ở địa chỉ 99H sẽdữ cảhai dữ liệu truyền và dữ liệunhập Khi truyền dữ liệu ghi lên SBUF, khi nhận dữ liệu thì đọc SBUF Các modevận khác nhau được lập trình qua thanh ghi điều khiển Port nối tiếp (SCON) đượcđịa chỉ hóa từng bit ở địa chỉ 98H
Thanh ghi điều khiển nguồn PCON (Power controlRegister):
Thanh ghi PCON không có bit định vị Nó ở địa chỉ 87H chứa nhiều bitđiều khiển Thanh ghi PCON được tóm tắt như sau:
Bit 7 (SMOD): Bit có tốc độ Baud ở mode 1, 2, 3 ở Port nối tiếp khiset
Bit 6, 5, 4: Không có địa chỉ
Bit 3 (GF1): Bit cờ đa năng1
Bit 2 (GF0): Bit cờ đa năng2
Bit 1 (PD): Set để khởi động mode Power Down và thoát đểreset
Bit0(IDL):SetđểkhởiđộngmodeIdlevàthoátkhingắtmạchhoặc reset
Các bit điều khiển Power Down và Idle có tác dụng chính trong tất cả các IC
họ MSC-51 nhưng chỉ được thi hành trong sự biên dịch của CMOS
Trang 131.1.4 Bộ nhớ ngoài
8951 có khả năng mở rông bộ nhớ lên đến 64K byte bộ nhớ chương trình và64k byte bộ nhớ dữ liệu ngoài Do đó có thể dùng thêm RAM và ROM nếucần.Khi dùng bộ nhớ ngoài, Port0 không còn chức năng I/O nữa Nó được kếthợp giữa bus địa chỉ (A0-A7) và bus dữ liệu (D0-D7) với tín hiệu ALE để chốtbyte của bus địa chỉ chỉ khi bắt đầu mỗi chu kỳ bộ nhớ Port được cho là byte caocủa bus địa chỉ
Truy xuất bộ nhớ mã ngoài (Acessing External CodeMemory)
Bộ nhớ chương trình bên ngoài là bộ nhớ ROM được cho phép của tínhiệu PSEN\ Sự kết nối phần cứng của bộ nhớ EPROM như sau:
Hình: Accessing External Code Memory (Truy xuất bộ nhớ mã ngoài)
Trong một chu kỳ máy tiêu biểu, tín hiệu ALE tích cực 2 lần Lần thứ nhấtcho phép 74HC373 mở cổng chốt địa chỉ byte thấp, khi ALE xuống 0 thì bytethấp và byte cao của bộ đếm chương trình đều có nhưng EPROM chưa xuất vìPSEN\ chưa tích cực, khi tín hiệu lên một trở lại thì Port 0 đã có dữ liệu làOpcode ALE tích cực lần thứ hai được giải thích tương tự và byte 2 được đọc từ
bộ nhớ chương trình Nếu lệnh đang hiện hành là lệnh 1 byte thì CPU chỉ đọcOpcode, còn byte thứ hai bỏ đi
Trang 14 Truy xuất bộ nhớ dữ liệu ngoài (Accessing External DataMemory)
Bộ nhớ dữ liệu ngoài là một bộ nhớ RAM được đọc hoặc ghi khi đượccho phép của tín hiệu RD\ và WR Hai tín hiệu này nằm ở chân P3.7 (RD) vàP3.6 (WR) Lệnh MOVX được dùng để truy xuất bộ nhớ dữ liệu ngoài và dùngmột bộ đệm dữ liệu 16 bit (DPTR), R0 hoặc R1 như là một thanh ghi địachỉ
Các RAM có thể giao tiếp với 8951 tương tự cách thức như EPROMngoại trừ chân RD\ của 8951 nối với chân OE\ (Output Enable) của RAM vàchân WR\ của 8951 nối với chânWE \của RAM Sự nối các bus địa chỉ và dữliệu tương tự như cách nối củaEPROM
Sự giải mã địa chỉ (AddressDecoding):
SựgiảimãđịachỉlàmộtyêucầutấtyếuđểchọnEPROM,RAM,8279.Sự giải mãđịa chỉ đối với 8951 để chọn các vùng nhớ ngoài như các vi điều khiển Nếu cáccon EPROM hoặc RAM 8K được dùng thì các bus địa chỉ phải được giải mã đểchọn các IC nhớ nằm trong phạm vi giới hạn 8K: 0000H÷1FFFH, 2000H ÷3FFFH, …
Một cách cụ thể, IC giải mã 74HC138 được dùng với những ngõ ra của nóđược nối với những ngõ vào chọn Chip CS (Chip Select) trên nhữngIC nhớ
Trang 15Hình: Address Decoding (Giải mã địa chỉ)
Vậy một chương trình có thể được tải vào RAM bằng cách xem nó như bộnhớ dữ liệu và thi hành chương trình băng cách xem nó như bộ nhớ chương trình
Trang 16- 0,180 Trong đó: động cơ bước nam châm vĩnh cửu dạng cực móng và có từ trở
thay đổi từ 60 - 450, động cơ bước có từ trở thay đổi có góc bước nằm trong giớihạn từ: 1,80- 300, và động cơ bước hỗn hợp có góc bước thay đổi trong khoảng0,360 - 150 Các giá trị góc của các loại động cơ kể trên được tính trong chế độđiều khiển bướcđủ
Chiều quay của động cơ bước không phụ thuộc vào chiều dòng điện chạytrong các cuộn dây phần ứng, mà phụ thuộc vào thứ tự cuộn dây phần ứng đượccấp xung điều khiển Nhiệm vụ này do bộ chuyển phát thựchiện
Số cuộn dây phần ứng (hay cò gọi là cuộn dây pha) của động cơ bướcđược chế tạo từ 2 - 5 cuộn dây pha (hay còn gọi là bối dây) và được đặt đối diệnnhau trong các rãnh ở Stato Đối với cuộn dây phải có hai cuộn dây thì chỉ dùngcho điều khiển lưỡng cực (cuộn dây có cực tính thay đổi), với 4 cuộn dây có thểdùng cho cả hai chế độ điều khiển lưỡng cực và điều khiển đơn cực
1.2.2 Phân loại
Động cơ bước được phân thành các loại như sau:
a) Động cơ bước nam châm vĩnhcữu
Cấutrúc:
Các cuộn dây quấn trên stator, roto là nam châm vĩnh cữu, giống động cơ AC đồng bộ
Trang 17Đơn cực:là động cơ có chiều dòng điện qua mỗi cuộn dây khôngđổi.
Lưỡng cực là động cơ có chiều dòng điện qua mỗi cuộn dây thay đổi
b) Đ ng c b ộng cơ bước có từ trở biếnthiên ơ bước có từ trở biếnthiên ước có từ trở biếnthiên c có t tr bi nthiên ừ trở biếnthiên ở biếnthiên ếnthiên
Roto làm bằng sắt nhẹ, số cực của roto ít hơn số cực của stato, mỗi cuộndây được quấn trên 2 cục của stato đối diện nhau
Hay còn gọi là động cơ phản kháng Kiểu động cơ này có góc nằm tronggiới hạn từ 1,80 300 trong chế độ điều khiển bước đủ, mômen hãm từ 1 50Ncm, tần số khởi động lớn nhất là 1 Khz, và tần số làm việc lớn nhất trong điềukiện không tải là 20 Khz Stato được chế tạo thành dạng răng với bước cực βs,s,roto của động cơ cũng được chế tạo thành dạng răng có bước cực βs,r
c) Đ ng c b ộng cơ bước có từ trở biếnthiên ơ bước có từ trở biếnthiên ước có từ trở biếnthiên c lo i h nh p ại hỗnhợp ỗnhợp ợp
Hay còn gọi là động cơ bước cảm ứng, có góc bước thay đổi trong khoảng0,36 - 150 trong chế độ bước đủ, mômen hãm từ 3 - 1000 Ncm, tần số khởi độnglớn nhất là 40 khz Trong các loại động cơ bước kể trên thì động cơ bước hổn hợp
Trang 18được sử dụng nhiều hơn cả Vì loại động cơ này kết hợp các ưu điểm của hai loạiđộng cơ trên đó là: Động cơ nam châm vĩnh Cửu với dạng cực móng, và động cơ
có từ trở thay đổi
Cấu tạo của động cơ bước thay đổi hổn hợp là sự kết hợp giữa động cơbước nam châm vĩnh cữu và động cơ bước có từ trở thay đổi Phần Stato được cấutạo hoàn toàn giống Stator của động cơ bước có từ trở thay đổi Trên các cực củaStato được đặt các cuộn dây pha, mỗi cuộn dây pha được quấn thành 4 cuộn dâyhoặc được quấn thành 2 cuộn dây đặt xen kẻ nhau để hình thành lên các cực N và
S đồng thời đối diện với mỗi cực của bối dây là răng của Roto và cũng được đặtxen kẽ giữa hai vành răng số 3 củaRoto
Động cơ hổn hợp cũng được chế tạo với 2, 4 và 5 pha, động cơ 2 và 4 phathường cho góc bước từ αs s = 0,90-150 cò động cơ 5 pha thường có có gócbước từ αs s = 0,180-0,270
Động cơ hổn hợp có tần số bước và độ phân giải cao, có mômen quayvàmômen hãmlớn
Trong chế tạo động cơ bước ngoài ba loại chính kể trên, để có góc bướcthay rất nhỏ người ta còn chế tạo động cơ bước từ trở thay đổi có nhiềutầng, kết cấu của loại này được trình bày ở hình
Loại động cơ này thường được chế tạo 2, 3, 4 tầng trình bầy kết cấu củađộng cơ bước từ trở thay đổi có ba tầng Trong mỗi tầng số răng của Stato
và Roto giống nhau Vị trí răng của 3 Stato được đặt giống nhau và được cốđịnh trên trục Roto, nhưng vị trí răng của 3 Stato được đặt lệch nhau 1/3bướcrăng
Khi có một xung dòng điện điều khiển đặt vào tầng 1 thì răng của Roto vàStato đối đỉnh nhau (vì từ thông chỉ khép kín tại vị trí có từ trở nhỏ nhất).Lúc này răng của Roto và Stato ở tầng 2 lệch nhau 1 góc là 100, còn răngcủa Roto và Stato ở tầng 3 lệch nhau là 200 Cắt xung dòng điện điều khiển