Đáp ứng xu thế này, trong khuôn khổ của đồ án chúng em đã thực hiện “Thiết kế mạch điện điều khiển kho hàng thông minh” đây là một vấn đề tuy không mới, nhưng việc đi sâu tìm hiểu ứng dụ
Trang 1Luận văn Thiết kế mạch điện điều khiển kho
hàng thông minh
Trang 2MỤC LỤC
MỤC LỤC 1
DANH MỤC CÁC BẢNG 4
DANH MỤC CÁC HÌNH VẼ 5
LỜI NÓI ĐẦU 7
CHƯƠNG I TỔNG QUAN VỀ KHO HÀNG THÔNG MINH 8
1.1 Tầm quan trọng của kho hàng thông minh 8
1.2 Giới thiệu một số kho hàng thông minh 8
CHƯƠNG II TỔNG QUAN VỀ VI ĐIỀU KHIỂN 8051 11
2.1 Chuẩn 8051 11
2.2 Chân vi điều khiển 8051 13
2.3 Cổng vào/ra 15
2.4 Tổ chức bộ nhớ 18
2.4.1 Tổ chức bộ nhớ trong (bảng 2.3) 19
2.4.2 Tổ chức bộ nhớ ngoài 21
2.5 Các thanh ghi chức năng đặc biệt (SFRs - Special Function Registers) .24
2.5.1 Thanh ghi tích luỹ (Accumulator) 24
2.5.2 Thanh ghi từ trạng thái chương trình (PSW - Program Status Word) 24
2.5.3.Thanh ghi con trỏ stack (SP – Stack Pointer) 25
2.5.4 Các thanh ghi port 26
2.5.5 Các thanh ghi định thời (Timer Register) 26
2.5.6 Các thanh ghi điều khiển: 26
2.5.7 Thanh ghi điều khiển nguồn PCON 27
CHƯƠNG III 29
THIẾT KẾ MẠCH ĐIỆN ĐIỀU KHIỂN KHO HÀNG THÔNG MINH 29
3.1 Yêu cầu công nghệ 29
3.2 Cấu tạo và nguyên lý làm việc: 29
3.2.1 Sơ đồ nguyên lý mạch điện điều khiển 30
3.2.2 Nguyên lý làm việc mạch điều khiển 31
3.2.2.1 Khối cảm biến 31
Trang 33.2.2.2 Khối điều khiển 32
3.2.2.3 Khối tải 33
3.3 Giới thiệu một số thiết bị sử dụng trong mạch điện điều khiển 33
3.3.1 Cảm biến tiệm cận điện dung 33
3.3.2 Công tắc hành trình 35
3.3.3 Rơ-le 24VDC 36
3.3.5 JC817 37
3.3.6 Van đảo chiều 5/2 38
3.3.7 Motor 38
CHƯƠNG IV THỰC NGHIỆM 40
4.1 Giới thiệu phần mềm Protues 7.10 Professional 40
4.1.1 Vẽ sơ đồ nguyên lý và mô phỏng mạch 40
4.1.2 Vẽ và hoàn thiện mạch in 50
4.2 Giới thiệu trình biên dịch cho họ vi điều khiển 8051 57
4.3 Lưu đồ thuật toán và chương trình điều khiển 61
4.4 Chế tạo mô hình 73
4.4.1 Mạch nguyên lý 73
4.4.2 Mạch in 73
4.4.3 Mô hình thực tế 74
KẾT LUẬN 75
TÀI LIỆU THAM KHẢO 76
Trang 4DANH MỤC CÁC BẢNG
Bảng 2.1 Chức năng các chân của Port 17
Bảng 2.2 Các thanh ghi chức năng đặc biệt 18
Bảng 2.3 Địa chỉ RAM nội 8051 20
Bảng 3.1 Thông số kỹ thuật cơ bản của cảm biến tiệm cận kiểu điện dung 34
Bảng 3.2 Thông số kỹ thuật cơ bản của công tắc hành trình 35
Bảng 3.3 Thông số kỹ thuật cơ bản của động cơ điện một chiều 39
Trang 5DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Mô hình kho hàng thông minh tại Việt Nam 8
Hình 1.2 Mô hình kho hàng thông minh tại Mỹ 9
Hình 1.3 Mô hình kho hàng thông minh tại Phần Lan 9
Hình 1.4 Mô hình kho hàng thông minh tại trường Đại học Bách Khoa Hà Nội .10
Hình 2-1.Kiến trúc vi điều khiển 8051 11
Hình 2.2 Sơ đồ chân vi điều khiển AT89C51 13
Hình 2.3 Sơ đồ kết nối thạch anh 15
Hình 2.4 Cổng vào/ra 15
Hình 2.5 Chân ra xuất mức 0 16
Hình 2.6 Trở treo nội tại chân 16
Hình 2.7 Chân vào xuất mức 1 16
Hình 2.8 Các vùng nhớ trong AT89C51 18
Hình 2.9 Thực thi bộ nhớ chương trình ngoài 22
Hình 2.10 Thanh ghi PSW 24
Hình 2.11 Chọn bank thanh ghi 25
Hình 2.12 Thanh ghi PCON 27
Hình 3.1 Sơ đồ nguyên lý mạch điện điều khiển 30
Hình 3.2 Mạch kết nối cảm biến với cách ly quang 31
Hình 3.3 Khối điều khiển 32
Hình 3.4 Khối tải 33
Hình 3.5 Cảm biến tiệm cận kiểu điện dung 34
Hình 3.6
35
Hình 3.6 Hình ảnh Rơle trong thực tế 36
Hình 3.7 Hình ảnh và sơ đồ chân ULN 2803 trong thực tế 36
Hình 3.8 Hình ảnh và sơ đồ nguyên lý của JC 817 37
Hình 3.9 Hình ảnh van đảo chiều 5/2 38
Hình 3.10 Hình ảnh động cơ điện một chiều 38
Hình 4.1: Giao diện chương trình Protues 7.10 40
Hình 4.2 Nhóm công cụ để vẽ các ký hiệu, chú thích 41
Hình 4.3 Lựa chọn tùy chọn của chương trình 42
Trang 6Hình 4.4 Giao diện khi thực hiện thêm bớt linh kiện 42
Hình 4.5 Giao diện điều chỉnh kích thước khổ giấy khi vẽ trên Proteus 44
Hình 4.6 Giao diện điều chỉnh phông chữ khi vẽ trên Proteus 45
Hình 4.7 Giao diện hiển thị chiều của dòng điện khi mô phỏng 46
Hình 4.8 Giao diện thay đổi độ nhiễu môi trường, sai số 46
Hình 4.9 Giao diện thực hiện lấy linh kiện (cách 1) 47
Hình 4.10 Giao diện thực hiện lấy linh kiện (cách 2) 47
Hình 4.11 Giao diện Pick Devices 48
Hình 4.12 Giao diện chính của chương trình ARES Professional 51
Hình 4.12 Giao diện khi chọn đường dẫn để vẽ mạch in 52
Hình 4.13 Sơ đồ nguyên lý của mạch chuẩn bị vẽ mạch in 52
Hình 4.13 Cách vẽ đường bao của mạch in 54
Hình 4.14 Cách vẽ chân linh kiện 55
Hình 4.14 Mạch in khi hoàn tất 56
Hình 4.14 Mô hình thực tế 3D visualization 56
Hình 4.15 Giao diện chương trình C51 57
Hình 4.16 Sơ đồ nguyên lý mạch điện điều khiển kho hàng thông minh 73
Hình 4.17 Mặt trước của mạch in 73
Hình 4.18 Mặt sau của mạch in 74
Hình 4.19 Mô hình kho hàng 74
Trang 7LỜI NÓI ĐẦU
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật việc ứng dụng cáccông nghệ mới vào sản xuất được áp dụng rộng rãi, đặc biệt là việc áp dụng các
bộ Vi Xử Lý – Vi Điều Khiển (VXL-VĐK) vào các dây chuyền sản xuất, các
hệ thống bảo vệ, giám sát hay các hệ thống phân loại, sắp xếp sản phẩm côngnghiệp, v.v
Với kết cấu nhỏ gọn, khả năng xử lý nhanh, độ hoạt động tin cậy, VĐK đang là sự lựa chọn số 1 cho các hệ thống cũng như dây chuyền côngnghiệp Xét cả về yếu tố công nghệ và kinh tế thì các hệ thống sử dụng VXL-VĐK luôn đóng một vai trò quan trọng và chiếm số lượng lớn các nhà sử dụng
VXL-Một trong những ứng dụng điển hình mà chúng ta có thể nhắc tới chính làviệc ứng dụng Vi điều khiển 8051 trong điều khiển “Kho hàng thông minh” Viđiều khiển đã phần nào giải quyết các vấn đề về tần suất làm việc cũng như cácyêu cầu về độ chính xác khi vận chuyển, cất giữ hàng hóa Hơn nữa việc điềukhiển kho hàng thông minh cũng đem lại sự an toàn cho người công nhân khikhông phải trực tiếp lao động trong những môi trường khắc nhiệt, độc hại, cóphóng xạ gây nguy hiểm đến tính mạng con người
Đáp ứng xu thế này, trong khuôn khổ của đồ án chúng em đã thực hiện
“Thiết kế mạch điện điều khiển kho hàng thông minh” đây là một vấn đề tuy
không mới, nhưng việc đi sâu tìm hiểu ứng dụng của VĐK 89S52, giúp chúng
em tiếp cận thêm các công nghệ tiên tiến đang áp dụng trên thế giới, mang cáckiến thức lý thuyết được học trong nhà trường đến gần hơn với thực tế Giúp chosinh viên tự tin hơn với vốn kiến thức của mình trước khi ra trường
Nội dung đồ án gồm 4 chương:
Chương 1: Tổng quan về kho hàng thông minh
Chương 2: Tổng quan về vi điều khiển 8051
Chương 3: Thiết kế mạch điện điều khiển kho hàng thông minh
Chương 4: Thực nghiệm
Trang 8CHƯƠNG I TỔNG QUAN VỀ KHO HÀNG THÔNG MINH
1.1 Tầm quan trọng của kho hàng thông minh
Trong những thập niên gần đây, thế giới chứng kiến sự thay đổi mạnh mẽcủa các nền đại công nghiệp Cùng với đó là một khối lượng lớn các sản phẩm,hàng hóa được tạo ra mỗi ngày, phục vụ nhu cầu của con người Nhưng các sảnphẩm sản xuất ra không phải lúc nào cũng được đưa đến nơi tiêu thụ, điều đóđòi hỏi một nơi cất giữ hàng hóa tiện ích và đủ lớn Đáp ứng xu thế đó, ngày nay
có rất nhiều các doanh nghiệp coi việc xây dựng các “kho hàng thông minh” làcốt lõi chiến lược trong sự phát triển kinh doanh của doanh nghiệp
Sự ra đời của kho hàng thông minh không chỉ đem lại diện mạo mới chocác công ty, tổ chức, cá nhân sản xuất hàng hóa Mà nó còn đem lại sự tiện lợicho các đối tác kinh doanh, trong việc xuất nhập khẩu các sản phẩm Mặt khác,
nó còn góp phần tăng năng suất sản xuất lao động, đảm bảo chất lượng sảnphẩm
1.2 Giới thiệu một số kho hàng thông minh
Hình 1.1, 1.2 là mô hình kho hàng tự động
Hình 1.1 Mô hình kho hàng thông minh tại Việt Nam
Trang 9Hình 1.2 Mô hình kho hàng thông minh tại Mỹ
Hình 1.2 Mô hình kho hàng thông minh tại Mỹ
Hình 1.3 Mô hình kho hàng thông minh tại Phần Lan
Trang 10Sản phẩm mô hình kho hàng thông minh được đưa vào giảng dạy tại cáctrường đại học Trong ảnh, mô hình kho hàng thông minh đang được trường Đạihọc Bách Khoa Hà Nội đưa vào giảng dạy trong nhà trường
Hình 1.4 Mô hình kho hàng thông minh tại trường Đại học Bách Khoa Hà Nội
Trang 11CHƯƠNG II TỔNG QUAN VỀ VI ĐIỀU KHIỂN 8051
2.1 Chuẩn 8051
Họ vi điều khiển MCS - 51 do Intel sản xuất đầu tiên vào năm 1980 làcác IC thiết kế cho các ứng dụng hướng điều khiển Các IC này chính là một hệthống vi xử lý hoàn chỉnh bao gồm các các thành phần của hệ vi xử lý: CPU, bộnhớ, các mạch giao tiếp, điều khiển ngắt
MCS - 51 là họ vi điều khiển sử dụng cơ chế CISC (Complex InstructionSet Computer), có độ dài và thời gian thực thi của các lệnh khác nhau Tập lệnhcung cấp cho MCS-51 có các lệnh dùng cho điều khiển xuất/nhập tác động đếntừng bit MCS 51 bao gồm nhiều vi điều khiển khác nhau, bộ vi điều khiển đầutiên là 8051 có 4KB ROM, 128 byte RAM và 8031, không có ROM nội, phải
sử dụng bộ nhớ ngoài Sau này, các nhà sản xuất khác như Siemens, Fujitsu, …cũng được cấp phép làm nhà cung cấp thứ hai MCS-51 bao gồm nhiều phiênbản khác nhau, mỗi phiên bản sau tăng thêm một số thanh ghi điều khiển hoạtđộng của MCS-51
Hình 2-1.Kiến trúc vi điều khiển 8051
AT89C51 là vi điều khiển do Atmel sản xuất, chế tạo theo công nghệCMOS có các đặc tính như sau:
+ 4 KB PEROM (Flash Programmable and Erasable Read Only
Trang 12Memory), có khả năng tới 1000 chu kỳ ghi xoá
+ Tần số hoạt động từ: 0Hz đến 24 MHz
+ 3 mức khóa bộ nhớ lập trình
+ 128 Byte RAM nội
+ 4 Port xuất /nhập I/O 8 bit
Trang 132.2 Chân vi điều khiển 8051
Hình 2.2 Sơ đồ chân vi điều khiển AT89C51
Chip AT89C51 có các tín hiệu điều khiển cần phải lưu ý như sau:
- Tín hiệu vào /EA trên chân 31 thường đặt lên mức cao ( +5V) hoặc mức
thấp (GND) Nếu ở mức cao, 8951 thi hành chương trình từ ROM nộitrong khoảng địa chỉ thấp (4K hoặc tối đa 8k đối với 89C52) Nếu ở mứcthấp, chương trình được thi hành từ bộ nhớ mở rộng (tối đa đến
64Kbyte) Ngoài ra người ta còn dùng /EA làm chân cấp điện áp 12V khi
Trang 14- /PSEN (Program Store Enable):
/PSEN (chân 29) cho phép đọc bộ nhớ chương trình mở rộng đối với cácứng dụng sử dụng ROM ngoài, thường được nối đến chân /OC (Output Control)của ROM để đọc các byte mã lệnh /PSEN sẽ ở mức logic 0 trong thời gianAT89C51 lấy lệnh.Trong quá trình này, / PSEN sẽ tích cực 2 lần trong 1 chu kỳmáy
Mã lệnh của chương trình được đọc từ ROM thông qua bus dữ liệu(Port0) và bus địa chỉ (Port0 + Port2)
Khi 8051 thi hành chương trình trong ROM nội, PSEN sẽ ở mức logic 1
- ALE/ PROG (Address Latch Enable / Program): ALE/ PROG (chân
30) cho phép tách các đường địa chỉ và dữ liệu tại Port 0 khi truy xuất bộnhớ ngoài ALE thường nối với chân Clock của IC chốt (74373, 74573).Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip
và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống.Xung này có thể cấm bằng cách set bit 0 của SFR tại địa chỉ 8Eh lên 1.Khi đó, ALE chỉ có tác dụng khi dùng lệnh MOVX hay MOVC Ngoài
ra, chân này còn được dùng làm ngõ vào xung lập trình cho ROM nội ( /
PROG ).
- EA /VPP (External Access) :
EA (chân 31) dùng để cho phép thực thi chương trình từ ROM ngoài Khinối chân 31 với Vcc, AT89C51 sẽ thực thi chương trình từ ROM nội (tối đa8KB), ngược lại thì thực thi từ ROM ngoài (tối đa 64KB)
Ngoài ra, chân /EA được lấy làm chân cấp nguồn 12V khi lập trình choROM
- RST (Reset):
RST (chân 9) cho phép reset AT89C51 khi ngõ vào tín hiệu đưa lên mức
1 trong ít nhất là 2 chu kỳ máy
- X1, X2:
Ngõ vào và ngõ ra bộ dao động, khi sử dụng có thể chỉ cần kết nối thêmthạch anh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụngcho AT89C51 là 12Mhz
Trang 15Hình 2.3 Sơ đồ kết nối thạch anh
2.3 Cổng vào/ra
Tất cả các vi điều khiển 8051 đều có 4 cổng vào/ra 8 bit có thể thiết lậpnhư cổng vào hoặc ra Như vậy có tất cả 32 chân I/O cho phép vi điều khiển cóthể kết nối với các thiết bị ngoại vi
Hình 2.4 Cổng vào/ra
Hình 2.4 mô tả sơ đồ đơn giản của mạch bên trong các chân vi điều khiểntrừ cổng P0 là không có điện trở kéo lên (pull-up)
Chân ra: Một mức logic 0 đặt vào bit của thanh ghi P làm cho transistor mở,
nối chân tương ứng với đất (hình 2.5)
Trang 16Hình 2.7 Chân vào xuất mức 1
Port 0 : có 2 chức năng ở các chân 32 – 39 của AT89C51:
- Chức năng I/O (xuất/nhập): dùng cho các thiết kế nhỏ Tuy nhiên, khidùng chức năng này thì Port 0 phải dùng thêm các điện trở kéo lên (pull-up), giátrị của điện trở phụ thuộc vào thành phần kết nối với Port
Trang 17- Khi dùng làm ngõ vào, Port 0 phải được set mức logic 1 trước đó.
- Chức năng địa chỉ / dữ liệu đa hợp: khi dùng các thiết kế lớn, đòi hỏiphải sử dụng bộ nhớ ngoài thì Port 0 vừa là bus dữ liệu (8 bit) vừa là bus địa chỉ(8 bit thấp)
Ngoài ra khi lập trình cho AT89C51, Port 0 còn dùng để nhận mã khi lậptrình và xuất mã khi kiểm tra (quá trình kiểm tra đòi hỏi phải có điện trở kéolên)
Port 1:
Port1 (chân 1 – 8) chỉ có một chức năng là I/O, không dùng cho mục đíchkhác (chỉ trong 8032/8052/8952 thì dùng thêm P1.0 và P1.1 cho bộ định thời thứ3) Tại Port 1 đã có điện trở kéo lên nên không cần thêm điện trở ngoài
Port 1 có khả năng kéo được 4 ngõ TTL và còn dùng làm 8 bit địa chỉthấp trong quá trình lập trình hay kiểm tra
Khi dùng làm ngõ vào, Port 1 phải được set mức logic 1 trước đó
Port 2: Port 2 (chân 21 – 28) là port có 2 chức năng:
- Chức năng I/O (xuất / nhập)
- Chức năng địa chỉ: dùng làm 8 bit địa chỉ cao khi cần bộ nhớ ngoài cóđịa chỉ 16 bit Khi đó, Port 2 không được dùng cho mục đích I/O
- Khi dùng làm ngõ vào, Port 2 phải được set mức logic 1 trước đó
Port 3: Port 3 (chân 10 – 17) là port có 2 chức năng:
- Chức năng I/O Khi dùng làm ngõ vào, Port 3 phải được set mức logic 1trước đó
- Chức năng khác mô tả như sau:
Bảng 2.1 Chức năng các chân của Port
P3.0 RxD Ngõ vào port nối tiếp
P3.1 TxD Ngõ ra port nối tiếp
P3.2 INT0 Ngắt ngoài 0
P3.3 INT1 Ngắt ngoài 1
P3.4 T0 Ngõ vào của bộ định thời 0
P3.5 T1 Ngõ vào của bộ định thời 1
P3.6 WR Tín hiệu điều khiển ghi dữ liệu lên bộ nhớ ngoài.
P3.7 RD Tín hiệu điều khiển đọc từ bộ nhớ dữ liệu ngoài.
Trang 182.4 Tổ chức bộ nhớ
Hình 2.8 Các vùng nhớ trong AT89C51 Bảng 2.2 Các thanh ghi chức năng đặc biệt
Địa
chỉ
byte
Có thể định địa
RAM 128 byte
00h – 7Fh
SFR 80h – 0FFh
Bộ nhớ ngoài
Bộ nhớ chương trình 64 KB 0000h – FFFFh Điều khiển bằng PSEN
Bộ nhớ dữ liệu 64 KB 0000h – FFFFh Điều khiển bằng RD và WR
Trang 19Bộ nhớ của họ MCS-51 có thể chia thành 2 phần: bộ nhớ trong và bộ nhớngoài Bộ nhớ trong bao gồm 4KB ROM và 128 byte RAM (256 byte trong8052) Các byte RAM có địa chỉ từ 00h – 7Fh và các thanh ghi chức năng đặcbiệt (SFR) có địa chỉ từ 80h – 0FFh có thể truy xuất trực tiếp Đối với 8052, 128byte RAM cao (địa chỉ từ 80h – 0FFh) không thể truy xuất trực tiếp mà chỉ cóthể truy xuất gián tiếp (xem thêm trong phần tập lệnh).
Bộ nhớ ngoài bao gồm bộ nhớ chương trình (điều khiển đọc bằng tín hiệu
PSEN ) và bộ nhớ dữ liệu (điều khiển bằng tín hiệu RD hay WR để cho phép
đọc hay ghi dữ liệu) Do số đường địa chỉ của MCS-51 là 16 bit (Port 0 chứa 8bit thấp và Port 2 chứa 8 bit cao) nên bộ nhớ ngoài có thể giải mã tối đa là64KB
Các thanh ghi chức năng đặc biệt (SFR – Special Function RegistersBảng 2.2)
Trang 20Bảng 2.3 Địa chỉ RAM nội 8051
Địa chỉ
Vùng RAM đa dụng 30
00 Bank thanh ghi 0 ( mặc định cho R0-R7)
Các thanh ghi có thể định địa chỉ bit sẽ có địa chỉ bit bắt đầu và địa chỉbyte trùng nhau Ví dụ như: thanh ghi P0 có địa chỉ byte là 80h và có địa chỉ bitbắt đầu từ 80h (ứng với P0.0) đến 87h (ứng với P0.7) Chức năng các thanh ghinày sẽ mô tả trong phần sau
Trang 21b RAM có thể định địa chỉ bit:
Vùng địa chỉ từ 20h – 2Fh gồm 16 byte (= 128 bit) có thể thực hiện giốngnhư vùng RAM đa dụng (mỗi lần 8 bit) hay thực hiện truy xuất mỗi lần 1 bitbằng các lệnh xử lý bit Vùng RAM này có các địa chỉ bit bắt đầu tại giá trị 00h
và kết thúc tại 7Fh
Như vậy, địa chỉ bắt đầu 20h (gồm 8 bit) có địa chỉ bit từ 00h – 07h; địachỉ kết thúc 2Fh có địa chỉ bit từ 78h – Fh
c Các bank thanh ghi:
Vùng địa chỉ từ 00h – 1Fh được chia thành 4 bank thanh ghi: bank 0 từ00h- 07h, bank 1 từ 08h – 0Fh, bank 2 từ 10h – 17h và bank 3 từ 18h – 1Fh.Các bank thanh ghi này được đại diện bằng các thanh ghi từ R0 đến R7 Sau khikhởi động hệ thống thì bank thanh ghi được sử dụng là bank 0
Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghiđược truy xuất bởi các thanh ghi R0 đến R7 Việc thay đổi bank thanh ghi cóthể thực hiện thông qua thanh ghi từ trạng thái chương trình (PSW) Các bankthanh ghi này cũng có thể truy xuất bình thường như vùng RAM đa dụng đã nói
ở trên
2.4.2 Tổ chức bộ nhớ ngoài
MCS-51 có bộ nhớ theo cấu trúc Harvard: phân biệt bộ nhớ chương trình
và dữ liệu Chương trình và dữ liệu có thể chứa bên trong nhưng vẫn có thể kếtnối với 64KB chương trình và 64KB dữ liệu Bộ nhớ chương trình được truyxuất thông qua chân PSEN còn bộ nhớ dữ liệu được truy xuất thông qua chân
WR hay RD
Lưu ý rằng việc truy xuất bộ nhớ chương trình luôn luôn sử dụng địa chỉ
16 bit còn bộ nhớ dữ liệu có thể là 8 bit hay 16 bit tuỳ theo câu lệnh sử dụng.Khi dùng bộ nhớ dữ liệu 8 bit thì có thể dùng Port 2 như là Port I/O thôngthường còn khi dùng ở chế độ 16 bit thì Port 2 chỉ dùng làm các bit địa chỉ cao
Port 0 được dùng làm địa chỉ thấp/ dữ liệu đa hợp Tín hiệu /ALE để táchbyte địa chỉ và đưa vào bộ chốt ngoài
Trong chu kỳ ghi, byte dữ liệu sẽ tồn tại ở Port 0 vừa trước khi /WR tíchcực và được giữ cho đến khi /WR không tích cực.Trong chu kỳ đọc, byte nhậnđược chấp nhận vừa trước khi /RD không tích cực
Bộ nhớ chương trình ngoài được xử lý 1 trong 2 điều kiện sau:
Trang 23Quá trình thực thi lệnh khi dùng bộ nhớ chương trình ngoài có thể mô tảnhư hình 2.9 Thực thi bộ nhớ chương trình ngoài” Trong quá trình này, Port 0
và Port 2 không còn là các Port xuất nhập mà chứa địa chỉ và dữ liệu Sơ đồ kếtnối với bộ nhớ chương trình ngoài mô tả như hình 2.8 Các vùng nhớ trongAT89C51”
Trong một chu kỳ máy, tín hiệu ALE tích cực 2 lần Lần thứ nhất chophép 74HC573 mở cổng chốt địa chỉ byte thấp, khi /ALE xuống 0 thì byte thấp
và byte cao của bộ đếm chương trình đều có nhưng ROM chưa xuất vì PSENchưa tích cực, khi tín hiệu ALE lên 1 trở lại thì Port 0 đã có dữ liệu là mã lệnh.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 thực thi là lệnh 1 byte thì CPU chỉ đọc Opcode,còn byte thứ hai bỏ qua
c Bộ nhớ chương trình và dữ liệu dùng chung:
Trong các ứng dụng phát triển phần mềm xây dựng dựa trên AT89C51,ROM sẽ được lập trình nhiều lần nên dễ làm hư hỏng ROM Một giải pháp đặt
ra là sử dụng RAM để chứa các chương trình tạm thời Khi đó, RAM vừa là bộnhớ chương trình vừa là bộ nhớ dữ liệu Yêu cầu này có thể thực hiện bằng cáchkết hợp chân RD và chân PSEN thông qua cổng AND Khi thực hiện đọc màlệnh, chân /PSEN tích cực cho phép đọc từ RAM và khi đọc dữ liệu, chân RD sẽtích cực
Trang 2474139 (2 4), 74138 ( 3 8), 74154 (4 16) Ngõ ra của các IC giải mã sẽđược đưa tới chân chọn chip của RAM hay bộ đệm khi điều khiển ngoại vi.
2.5 Các thanh ghi chức năng đặc biệt (SFRs - Special Function Registers)
2.5.1 Thanh ghi tích luỹ (Accumulator)
Thanh ghi tích luỹ là thanh ghi sử dụng nhiều nhất trong AT89C51, được
ký hiệu trong câu lệnh là A Ngoài ra, trong các lệnh xử lý bit, thanh ghi tích luỹđược ký hiệu là ACC
Thanh ghi tích luỹ có thể truy xuất trực tiếp thông qua địa chỉ E0h (byte)hay truy xuất từng bit thông qua địa chỉ bit từ E0h đến E7h
2.5.2 Thanh ghi từ trạng thái chương trình (PSW - Program Status Word)
Thanh ghi từ trạng thái chương trình PSW nằm tại địa chỉ D0h và có cácđịa chỉ bit từ D0h – D7h, bao gồm 7 bit (1 bit không sử dụng) có các chức năngnhư sau:
Trang 25- F0 (Flag 0): được sử dụng tuỳ theo yêu cầu của người sử dụng
- RS1, RS0: dùng để chọn bank thanh ghi sử dụng Khi reset hệ thống,bank 0 sẽ được sử dụng
Hình 2.11 Chọn bank thanh ghi
- OV (Overflow): cờ tràn Cờ OV = 1 khi có hiện tượng tràn số học xảy ra(dùng cho số nguyên có dấu)
- F1 (Flag 1): được sử dụng tuỳ theo yêu cầu của người sử dụng
- P (Parity): kiểm tra parity (lẻ) Cờ P = 1 khi tổng số bit 1 trong thanh ghi
- A là số lẻ (nghĩa là tổng số bit 1 của thanh ghi A cộng thêm cờ P là sốchẵn) Ví dụ như: A = 10101010b có tổng cộng 4 bit 1 nên P = 0 Cờ Pthường được dùng để kiểm tra lỗi truyền dữ liệu
2.5.3.Thanh ghi con trỏ stack (SP – Stack Pointer)
Con trỏ stack SP nằm tại địa chỉ 81h và không cho phép định địa chỉ bit
SP dùng để chỉ đến đỉnh của stack Stack là một dạng bộ nhớ lưu trữ dạng LIFO(Last In First Out) thường dùng lưu trữ địa chỉ trả về khi gọi một chương trìnhcon Ngoài ra, stack còn dùng như bộ nhớ tạm để lưu lại và khôi phục các giá trịcần thiết
Đối với AT89C51, stack được chứa trong RAM nội (128 byte đối với8031/8051 hay 256 byte đối với 8032/8052) Mặc định khi khởi động, giá trị của
SP là 07h, nghĩa là stack bắt đầu từ địa chỉ 08h (do hoạt động lưu giá trị vàostack yêu cầu phải tăng nội dung thanh ghi SP trước khi lưu) Như vậy, nếukhông gán giá trị cho thanh ghi SP thì không được sử dụng các bank thanh ghi 1,
2, 3 vì có thể làm sai dữ liệu Đối với các ứng dụng thông thường không cầndùng nhiều đến stack, có thể không cần khởi động SP mà dùng giá trị mặc định
là 07h Tuy nhiên, nếu cần ta có thể xác định lại vùng stack cho MCS-51
Con trỏ dữ liệu DPTR (Data Pointer)
Con trỏ dữ liệu DPTR là thanh ghi 16 bit bao gồm 2 thanh ghi 8 bit:
Trang 26DPH (High) nằm tại địa chỉ 83h và DPL (Low) nằm tại địa chỉ 82h Cácthanh ghi này không cho phép định địa chỉ bit DPTR được dùng khi truy xuấtđến bộ nhớ có địa chỉ 16 bit.
2.5.4 Các thanh ghi port
Các thanh ghi P0 tại địa chỉ 80h, P1 tại địa chỉ 90h, P2, tại địa chỉ A0h,P3 tại địa chỉ B0h là các thanh ghi chốt cho 4 port xuất / nhập (Port 0, 1, 2, 3).Tất cả các thanh ghi này đều cho phép định địa chỉ bit trong đó địa chỉ bit củaP0 từ 80h – 87h, P1 từ 90h – 97h, P2 từ A0h – A7h, P3 từ B0h – B7h Các địachỉ bit này có thể thay thế bằng toán tử địa chỉ
Ví dụ: Hai lệnh sau là tương đương:
SETB P0.0
SETB 80h
Thanh ghi port nối tiếp (SBUF - Serial Data Buffer)
Thanh ghi port nối tiếp tại địa chỉ 99h thực chất bao gồm 2 thanh ghi:thanh ghi nhận và thanh ghi truyền Nếu dữ liệu đưa tới SBUF thì đó là thanhghi truyền, nếu dữ liệu đươc đọc từ SBUF thì đó là thanh ghi nhận Các thanhghi này không cho phép định địa chỉ bit
2.5.5 Các thanh ghi định thời (Timer Register)
Các cặp thanh ghi (TH0, TL0), (TH1, TL1) và (TH2, TL2) là các thanhghi dùng cho các bộ định thời 0, 1 và 2 trong đó bộ định thời 2 chỉ có trong8032/8052 Ngoài ra, đối với họ 8032/8052 còn có thêm cặp thanh ghi(RCAP2L, RCAP2H) sử dụng cho bộ định thời 2
2.5.6 Các thanh ghi điều khiển:
Bao gồm các thanh ghi IP (Interrupt Priority), IE (Interrupt Enable),TMOD (Timer Mode), TCON (Timer Control), T2CON (Timer 2 Control),SCON (Serial port control) và PCON (Power control)
+ Thanh ghi IP tại địa chỉ B8h cho phép chọn mức ưu tiên ngắt khi có 2ngắt xảy ra đồng thời IP cho phép định địa chỉ bit từ B8h – BFh
+ Thanh ghi IE tại địa chỉ A8h cho phép hay cấm các ngắt IE có địa chỉbit từ A8h – AFh
Trang 27+ Thanh ghi TMOD tại địa chỉ 89h dùng để chọn chế độ hoạt động chocác bộ định thời (0, 1) và không cho phép định địa chỉ bit.
+ Thanh ghi TCON tại địa chỉ 88h điều khiển hoạt động của bộ định thời
và ngắt TCON có địa chỉ bit từ 88h – 8Fh
+ Thanh ghi T2CON tại địa chỉ C8h điều khiển hoạt động của bộ địnhthời 2 T2CON có địa chỉ bit từ C8h – CFh
+ Thanh ghi SCON tại địa chỉ 98h điều khiển hoạt động của port nối tiếp.SCON có địa chỉ bit từ 98h – 9Fh
2.5.7 Thanh ghi điều khiển nguồn PCON
Thanh ghi PCON tại địa chỉ 87h không cho phép định địa chỉ bit bao gồmcác bit như sau:
Hình 2.12 Thanh ghi PCON
+ SMOD1 (Serial Mode 1): = 1 cho phép tăng gấp đôi tốc độ port nối tiếptrong chế độ 1, 2 và 3
+ SMOD0 (Serial Mode 0 = 0): cho phép chọn bit SM0 hay FE trongthanh ghi SCON (Serial Mode 0 = 1 chọn bit FE)
+ POF (Power - off Flag): dùng để nhận dạng loại reset POF = 1 khi mởnguồn Do đó, để xác định loại reset, cần phải xoá bit POF trước đó
+ GF1, GF0 (General purpose Flag): các bit cờ dành cho người sử dụng.+ PD (Power Down): được xoá bằng phần cứng khi hoạt động reset xảyra
Khi bit PD = 1 thì vi điều khiển sẽ chuyển sang chế độ nguồn giảm.Trong chế độ này:
- Chỉ có thể thoát khỏi chế độ nguồn giảm bằng cách reset
- Nội dung RAM và mức logic trên các port được duy trì
- Mạch dao động bên trong và các chức năng khác ngừng hoạt động
- Chân ALE và PSEN ớ mức thấp
- Yêu cầu Vcc phải có điện áp ít nhất là 2V và phục hồi Vcc = 5V ít nhất
10 chu kỳ trước khi chân RESET xuống mức thấp lần nữa
- IDL (Idle): được xoá bằng phần cứng khi hoạt động reset hay có ngắt
Trang 28xảy ra Khi bit IDL = 1 thì vi điều khiển sẽ chuyển sang chế độ nghỉ Trong chế
- Mạch dao động bên trong không gửi được tín hiệu đến CPU
- Chân ALE và PSEN ở mức cao
Lưu ý rằng các bit điều khiển PD và IDL có tác dụng chính trong tất cảcác IC họ MSC-51 nhưng chỉ có thể thực hiện được trong các phiên bản CMOS
CHƯƠNG III
Trang 29THIẾT KẾ MẠCH ĐIỆN ĐIỀU KHIỂN KHO HÀNG THÔNG MINH
3.1 Yêu cầu công nghệ
Với mục đích phục vụ cho việc học tập và giảng dạy tại trường Đại họcSao đỏ chúng em đưa ra yêu cầu công nghệ của hệ thống điều khiển kho hàngthông minh như sau:
Hệ thống vận chuyển hàng từ nơi tập kết đến kho hàng đảm bảo các yêucầu sau:
- Nhấn start hệ thống hoạt động, các cảm biến báo trong kho có hàng và vịtrí đặt hàng còn trống, cơ cấu di chuyển hoạt động, đưa cơ cấu gắp vật tới vị tríkho hàng Khi tới vị trí kho hàng, hệ thống hạ cơ cấu gắp vật, đồng thời gắp vật
ra khỏi vị trí của kho Lúc này cơ cấu di chuyển mang vật từ vị trí hàng tập kếtđến nơi để hàng
- Quá trình di chuyển được giới hạn hành trình bằng các cảm biến và côngtắc hàng trình
- Vị trí đặt hàng được ưu tiên theo quy tắc, hàng 1 cột 1, hàng 2 cột 2,hàng 3 cột 3
- Sản phẩm sẽ tự động dừng khi kho hàng đầy
- Quá trình lặp lại khi có một vị trí trống khác, đảm bảo có đủ chỗ cho cấtgiữ hàng
3.2 Cấu tạo và nguyên lý làm việc:
Cấu tạo:
Cơ cấu đẩy hàng gồm 1 pittong khí A1, được giới hạn hành trình dichuyển bằng các swith hành trình Hệ thống di chuyển và mang hàng gồm 1động cơ 1 chiều 24VDC, di chuyển dọc trục bằng Vit-me và hệ thống trượt, 1pittong điều khiển đầu hút sản phẩm bằng nguồn khí nén có áp lực âm Các hệthống pittong khí A2 đưa hàng đến đúng các vị trí kho hàng đã định trước Cácsensor, swith báo hành trình, báo sản phẩm, và báo nguồn hàng
Nguyên lý làm việc:
Sản phẩm từ nhà máy được vận chuyển đến nơi tập kết, tại đây 1 pittonglàm nhiệm vụ đẩy sản phẩm vào vị trí cánh tay gắp vật Khi có sản phẩm tại vịtrí và vị trí sắp xếp hàng còn trống, hệ thống mang hàng di chuyển đến nơi tập
Trang 30kết sản phẩm gắp sản phẩm đến vị trí trống Khi số sản phẩm được sắp xếp đầytrong kho hàng, cánh tay dừng, đèn báo màu đỏ báo sản phẩm đã đầy kho.
3.2.1 Sơ đồ nguyên lý mạch điện điều khiển
Hình 3.1 Sơ đồ nguyên lý mạch điện điều khiển
- Khối cảm biến là các sensor và công tắc hành trình, được ghép nối qua cách lyquang trước khi làm tín hiệu đưa vào vi điều khiển
- VĐK làm nhiệm vụ nhận tín hiệu từ các cảm biến và so sánh với các câu lệnh
đã được lập trình sẵn để đưa ra các tín hiệu ở đầu ra, điều khiển tải: Motor,relay
Ngoài ra còn có các LED báo trạng thái tín hiệu đầu vào, ra giúp chúng taquan sát được trạng thái làm việc của vi điều khiển
Trang 313.2.2 Nguyên lý làm việc mạch điều khiển
3.2.2.1 Khối cảm biến
Hình 3.2 Mạch kết nối cảm biến với cách ly quang
Nguồn 24VDC được kết nối với cảm biến, đầu ra của cảm biến được nốivới điện trở 2,2k (mục đích hạ áp 24VDC xuống 2,3VDC) trước khi đưa vàocách ly quang Đầu ra của cách ly quang là điện áp 5VDC được đưa làm tín hiệuđầu vào VĐK
Nguyên lý hoạt động: Ban đầu khi chưa có vật, cảm biến chưa tác động,dòng điện không đi qua trở 2,2K , LED báo trạng thái không sáng và 2 chânAnot, Ktot của cách ly quang chưa được phân cực thuận Đầu ra của cách lyquang bị “cấm”
Khi có vật nằm trong vùng tác động của cảm biến, dòng điện 24VDC từnguồn qua điện trở phân cực thuận cho cách ly quang, LED trạng thái sáng,đồng thời đầu ra của cách ly quang có mức logic 5VDC
Trang 323.2.2.2 Khối điều khiển
Hình 3.3 Khối điều khiển
Khối điều khiển sử dụng chíp vi điều khiển họ 8051, nhận tín hiệu từ khốicảm biến Đầu ra được kết nối với ULN2803 điều khiển tải Khi vi điều khiểnnhận được 1 tín hiệu đầu vào từ cảm biến, lập tức chương trình con nạp sẵnđược thực thi và tùy vào điều kiện đầu vào mà đầu ra có mức logic 0 hay 1tương ứng
Các Post 0,1,2 được kết nối với mạch cảm biến, Post 3 được kết nối vớiULN2803 Ngoài ra còn có các chân đặc biệt, reset, xtal, Enable
Trang 333.2.2.3 Khối tải
Hình 3.4 Khối tải
Sử dụng ULN2803 để cách ly giữa vi điều khiển và phần mạch lực,nguyên lý hoạt động của khối này như sau: Khi đầu vào của ULN2803 có mứclogic 0, LED báo trạng thái không sáng đầu ra của ULN2803 bị cấm, động cơkhông quay Khi đầu vào của ULN2803 có mức logic 1, LED báo trạng tháisáng ULN2803 được phân cực, đầu ra có mức logic 0, dòng điện đi từ nguồnqua động cơ làm động cơ hoạt động
3.3 Giới thiệu một số thiết bị sử dụng trong mạch điện điều khiển.
3.3.1 Cảm biến tiệm cận điện dung
- Cảm biến tiệm cận điện dung khi có mặt của đối tượng làm thay đổi điện
dung C của bản cực
- Cảm biến tiệm cận điện dung gồm 4 bộ phận chính: Cảm biến (các bản cựccách điện); mạch dao động; bộ phát hiện; mạch đầu ra Tuy nhiên cảm biến điệndung không đòi hỏi đối tượng làm bằng kim loại Đối tượng phát hiện là chấtlỏng, vật liệu phi kim, thuỷ tinh, nhựa Tốc độ chuyển mạch tương đối nhanh, cóthể phát hiện đối tượng có kích thước nhỏ, phạm vi cảm nhận lớn
Trang 34- Cảm biến điện dung chịu ảnh hưởng bởi bụi và độ ẩm Cảm biến điện dung cóvùng cảm nhận lớn hơn vùng cảm nhận của cảm biến điện cảm
Hình 3.5 Cảm biến tiệm cận kiểu điện dung.
Cảm biến tiệm cận kiểu điện dung không tiếp xúc, đo những thay đổi vềtính chất điện tương ứng thường gọi là cảm biến điện dung Điện dung mô tả haivật dẫn điện cách nhau một khoảng phản ứng lại với sự chênh thế giữa chúng.Đặt một điện thế vào hai đầu của một điện trở ta được một tụ điện giữa hai vậtdẫn đó (một đầu dương, một đầu âm)
Bảng 3.1 Thông số kỹ thuật cơ bản của cảm biến tiệm cận kiểu điện dung
Thông số kỹ thuật cơ bản
Tên sản phẩm Cảm biến tiệm cận
- Nhà sản xuất Omron,
- Hình dạng Theo từng model, Z seri
- Loại tiếp điểm SPDT
- Dòng điện 1,5A, 3A, 5A (tùy model)
- Vật liệu vỏ Nhựa, thép
- Màu sắc Màu đen, vàng, đỏ
- Chức năng Dùng trong mạch điều khiển tự động
3.3.2 Công tắc hành trình
Trang 35Công tác hành trình dùng để giới hạn di chuyển cho cơ cấu di chuyểncánh tay gắp vật Thiết bị được gắn trên hành trình của cơ cấu và thực hiện chứcnăng ngắt dòng điện bằng tiếp điểm khi có sự tác động cơ học.
Hình 3.6 Công tắc hành trình Bảng 3.2 Thông số kỹ thuật cơ bản của công tắc hành trình
Thông số kỹ thuật cơ bảnTên sản phẩm Công tắc hành trình
- Nhà sản xuất Autonics, Omron,
- Hình dạng Theo từng model, Z seri
- Dòng điện 1,5A, 3A, 5A (tùy model)
- Dòng khởi động NC=30A, NO=15A
- Tần số hoạt động Cơ 240 lần/phút, Điện 20 lần/phút
- Chức năng Dùng trong mạch điều khiển tự động
3.3.3 Rơ-le 24VDC
Rơle là một loại thiết bị điện tự động mà tín hiệu đầu ra thay đổi nhảy cấpkhi tín hiệu đầu vào đạt những giá trị xác định Dùng để đóng cắt mạch điệnđiều khiển, bảo vệ và điều khiển sự làm việc của mạch điện động lực
Trang 36
Hình 3.6 Hình ảnh Rơle trong thực tế
* Hãng sản xuất OMRON, tên gọi Rơ le trung gian , số cặp tếp điểm: DPDT
- Tải trở : 10A, 110 VAC / 10A, 24 VDC
- Tải cảm ứng: 7.5A, 110 VAC / 5A, 24 VDC
- Kích thước (mm) 36x28x21.5
- Xuất xứ Japan
* Các đặc điểm khác:
Có chắn hồ quang
Công suất 15A loại LY1 và 10A lý tưởng cho nhiều ứng dụng
Chịu được điện áp tới 2000V;
Các loại tiếp điểm: SPDT, DPDT, 3PDT, 4PDT
3.3.4 ULN 2803
Hình 3.7 Hình ảnh và sơ đồ chân ULN 2803 trong thực tế
ULN 2803 là một vi mạch đệm, bản chất cấu tạo là các mảng darlingtonchịu được dòng điện lớn và điện áp cao, trong đó có chứa 7 cặp darlington cựcgóp hở với cực phát chung Mỗi kênh trong số 7 kênh đều có thể chịu được dòngđiện lớn trong một khoảng thời gian dài lên tới 500 mA với biên độ đỉnh lên tới
Trang 37600 mA Mỗi kênh có một diode chặn- diode này có thể sử dụng trong trườnghợp tải có tính cảm ứng, ví dụ như cácrơle…
Ứng dụng của ULN2803 được sử dụng trong các mạch đệm điều khiển động cơmột chiều ,động cơ bước, khối hiển thị ma trận led
Nguyên lý hoạt động:
- Nếu các chân đầu vào I1 ÷ I8 là mức 0 thì ngõ ra thả nổi
- Nếu các chân đầu vào I1 ÷ I8 là mức 1 thì ngõ ra ở mức 0
3.3.5 JC817
JC 817 dùng để cách ly giữa phần điều khiển (có điện áp thấp) và phần tải(có điện áp cao), nhằm tránh những hư hỏng có thể xảy ra với mạch điều khiểnnhư: dòng dò, điện áp ngược
Hình 3.8 Hình ảnh và sơ đồ nguyên lý của JC 817
JC817 (cách ly quang) cấu tạo gồm: 2 tầng công suất cách ly với nhaubởi cặp photo transistor
Tầng công suất thấp, cấu tạo gồm 1 diode phát quang có cấp điện áp3~5VDC
Tầng công suất cao là 1 photo transistor npn có cực B hở, cấp điện áp lêntới 35V – 50mA
3.3.6 Van đảo chiều 5/2
Van đảo chiều 5/2 tác động trực tiếp bằng dòng khí nén vào từ hai phíacủa nòng van Đây là loại van không có vị trí “ không “, van có đặc điểm là
“nhớ” vị trí hoạt động khi không còn tín hiệu tác động