Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
LỜI MỞ ĐẦU
Trong cuộc sống hiện đại ngày nay, công nghệ kỹ thuật điện tử đã hiện diện trong hầu hết các
thiết bị con người sử dụng từ lĩnh vực dân dụng đến công nghiệp, quân sự. Hơn 60 năm từ khi
thiết bị bán dẫn đầu tiên ra đời cho đến nay đã có những bước phát triển nhanh chóng đến kinh
ngạc, đem tới sự tiện nghi đáp ứng cho cuộc sống của con người. Từ những thiết bị điện tử
đầu tiên to lớn cồng kềnh hiệu suất thấp rồi đến những chiếc máy tính bỏ túi đầu tiên trợ giúp
con người với khả năng tính toán lên đến hàng trăm ngàn phép tính trên giây cho tới hiện nay
với sự ra đời của công nghệ nano đã biến những thứ không thể thành có thể, mọi thứ như máy
tính bỏ túi, đồng hồ, máy ảnh số, chiếc điện thoại bàn… đều được tích hợp trong một chiếc
điện thoại nhỏ gọn mà người dùng có thể đem đi bất cứ nơi đâu một cách dễ dàng.
Sự phát triển vượt bậc của công nghệ điện tử dẫn đến sự ra đời của các chip vi xử lý thông
minh với mức độ tích hợp cao ứng dụng vào các dây chuyền sản xuất hiện đại. Nhiệm vụ của
con người trong các khâu sản xuất dần được giảm nhẹ bởi các hệ thống điều khiển thông minh
có khả năng tự động hóa các công đoạn cao giúp giảm giá thành nhân công, an toàn hơn trong
vận hành, điều khiển và đem lại hiệu suất làm việc cao hơn. Trong bối cảnh hiện nay, nền
công nghiệp nước ta vẫn còn khá mới mẽ trong lĩnh vực tự động hóa, hầu hết các máy móc và
công nghệ sản xuất đều phải nhập từ các quốc gia khác có nền công nghệ cao hơn, do đó chi
phí để đầu tư các hệ thống máy móc này khá đắt tiền mà nhiều doanh nghiệp vừa và nhỏ
không có đủ chi phí mua các máy móc đó. Từ thực tế trên nên tôi quyết định thực hiện đồ án “
Thiết kế hệ thống băng chuyền phân loại sản phẩm ứng dụng vi điều khiển PIC18F2550” để
tìm hiểu cơ sở lý thuyết tới hệ thống thực tiễn về một dây chuyền sản xuất cơ bản nhất làm cơ
sở để phát triển những hệ thống phức tạp và đáp ứng nhu cầu thực tế hơn sau này.
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
MỤC LỤC
LỜI MỞ ĐẦU
LỜI CẢM ƠN
MỤC LỤC
Chương 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI ............................................................................... 1
1.1. Mục đích chọn đề tài....................................................................................................................... 1
1.2. Ý nghĩa thực tế ................................................................................................................................ 1
1.3. Giới hạn nghiên cứu ....................................................................................................................... 1
1.4. Yêu cầu đặt ra ................................................................................................................................. 2
1.5. Phương pháp nghiên cứu ............................................................................................................... 2
Chương 2: GIỚI THIỆU VỀ VI ĐIỀU KHIỂN PIC18F2550 ............................................................ 3
2.1. Vi điều khiển PIC18F2550.............................................................................................................. 3
2.1.1. Giới thiệu chung ............................................................................................................................. 3
2.1.2. Phân loại PIC theo ký tự ................................................................................................................ 3
2.1.3. Phân loại PIC theo dòng ................................................................................................................. 3
2.2. Các chức năng tổng quát của PIC18F2550 ................................................................................... 4
2.2.1. Mô tả chung.................................................................................................................................... 4
2.2.2. Các chức năng tích hợp trong PIC18F2550 ................................................................................... 4
2.2.3. Cấu trúc phần cứng của PIC18F2550............................................................................................. 5
2.2.4. Tổ chức bộ nhớ chương trình ......................................................................................................... 6
2.2.5. Tổ chức bộ nhớ dữ liệu .................................................................................................................. 7
2.3. Các PORT và thanh ghi của PIC18F2550..................................................................................... 8
2.3.1. Port A và các thanh ghi liên quan .................................................................................................. 9
2.3.2. Port B và các thanh ghi liên quan ................................................................................................. 11
2.3.3. Port C và các thanh ghi liên quan ................................................................................................. 12
GVHD : Ths. Phan Văn Hiệp
3.3.1. Giải mã theo phương pháp dùng IC giải mã 74LS247 ................................................................. 33
3.3.1.1. Giới thiệu IC giãi mã 74LS247 ................................................................................................. 33
3.3.1.2. Sơ đồ kết nốI ............................................................................................................................. 35
3.3.2. Giãi mã LED 7 đoạn dùng vi điều khiển ...................................................................................... 35
3.3.3. Giãi mã LED 7 đoạn dùng IC 74LS247 và vi điều khiển ............................................................ 36
Chương 4: ĐỘNG CƠ MỘT CHIỀU VÀ ĐỘNG CƠ BƯỚC ......................................................... 38
4.1. Động cơ một chiều ......................................................................................................................... 38
4.1.1. Cấu tạo động cơ một chiều ........................................................................................................... 39
4.1.2. Nguyên lý hoạt động .................................................................................................................... 39
4.1.3. Điều khiển tốc độ và chiều động cơ một chiều ............................................................................ 39
4.1.3.1. Điều khiển tốc độ động cơ một chiều ....................................................................................... 40
4.1.3.2. Điều khiển chiều động cơ một chiều ......................................................................................... 41
4.2. Động cơ bước ................................................................................................................................. 42
4.2.1. Cấu tạo động cơ bước................................................................................................................... 42
4.2.2. Nguyên lý hoạt động .................................................................................................................... 42
4.2.3. Các phương pháp điều khiển động cơ bước ................................................................................. 44
4.2.4. Giao tiếp công suất với động cơ bước .......................................................................................... 46
Chương 5: TRÌNH BIÊN DỊCH PCWH NGÔN NGỮ C CHO PIC ............................................... 47
5.1. Giới thiệu chung ............................................................................................................................ 47
5.2. Cách viết một chương trình trong CCS ...................................................................................... 48
5.3. Nạp chương trình cho PIC ........................................................................................................... 54
Chương 6: TÌM HIỂU SƠ LƯỢC VỀ NGÔN NGỮ LẬP TRÌNH VB.NET .................................. 57
6.1. Giới thiệu chung ............................................................................................................................ 57
6.2. Thư viện giao tiếp USB trong VB.NET ....................................................................................... 59
Chương 7: XÂY DỰNG PHẦN MỀM ĐIỀU KHIỂN ...................................................................... 60
7.1. Phần mềm giao tiếp trên máy tính ............................................................................................... 60
7.1.1. Giải thích hoạt động ..................................................................................................................... 62
7.2. Chương trình điều khiển PIC18F2550 ........................................................................................ 62
điên tử chúng ta phải biết nắm bắt và vận dụng một cách hiệu quả những kiến thức học được
để đáp ứng được nhu cầu của xã hội, nâng cao trình độ của bản thân và góp phần thúc đẩy sự
phát triển của nước nhà.
Trong quá trình đi tham quan thực tế và thực tập tốt nghiệp tôi thấy được các hệ thống máy
móc thực tế trong các xưởng sản xuất, cách thức vận hành cũng như các khâu điều khiển tự
động hóa và bên cạnh đó cũng có không ít các hệ thống điều khiển theo kiểu thủ công, nghĩa
là mỗi khâu trong đó điều phải có một hoặc nhiều công nhân đứng vận hành trực tiếp. Điều
này thứ nhất làm cho hiệu suất sản xuất không cao, quá trình sản xuất không đảm bảo tính liên
tục và tính chính xác của hệ thống mà phần nhiều do lỗi của người công nhân vận hành. Thứ
hai không đảm bảo an toàn lao động cho các công nhân vận hành do tiếp xúc trực tiếp với
bảng điều khiển mà nó có thể phát sinh các sự cố như chập điện do các nguyên nhân nào đó
không biết trước được. Thứ ba là do mỗi khâu sản xuất phải có các nhân công vận hành điều
này sẽ gây lãng phí nhân lực, từ đó chi phi sản xuất sẽ tăng cao.
Từ những ưu và khuyết điểm trên cho thấy vai trò quan trọng của việc áp dụng kỹ thuật điều
khiển tự động vào các dây chuyền sản xuất. Do đó trong đồ án này tôi chọn đề tài “Thiết kế
mô hình băng chuyền phân loại sản phẩm theo chiều cao ứng dụng vi điều khiển
PIC18F2550”. Trong mô hình này toàn bộ hệ thống sản xuất (ở đây là hệ thống băng chuyền)
sẽ được điều khiển một cách tự động thông qua máy tính ở phòng điều khiển, điều này giải
quyết được những bất lợi ở trên như quá trình sản xuất sẽ được thiết lập trước trên máy tính,
sau đó người điều khiển chỉ cần ra lệnh khởi động hệ thống sẽ hoạt động hoàn toàn tự động
theo các thiết lập đó vì vậy dây chuyền sản xuất sẽ hoạt động một cách liên tục từ đó nâng cao
hiệu suất sản xuất nhưng chỉ với một người điều khiển duy nhất. Đồng thời người vận hành
được cách ly hoàn toàn với thao tác cơ khí nguy hiểm như đã đề cập ở trên và việc điều khiển
trơ nên linh hoạt hơn và người vận hành có thể theo dõi được các trạng thái hoạt động của hệ
thống qua giao diện trực quan trên màn hình máy tính giúp kiểm soát được quá trình sản xuất.
1.2. Ý nghĩa thực tế
Mô hình này có thể áp dụng cho các dây chuyền sản xuất của các xí nghiệp vừa và nhỏ với
mức chi phí nhỏ.
1.3. Giới hạn nghiên cứu
Vi điều khiển PIC18F2550.
Tìm hiểu Vi điều khiển PIC18F2550.
Tìm hiểu về LED 7 đoạn và cách thức giao tiếp.
Tìm hiểu về động cơ một chiều.
Tìm hiểu về động cơ bước.
Tìm hiểu về trình biên dịch CCS, viết chương trình, biên dịch ra file hex và nạp cho Vi
điều khiển.
Tìm hiểu sơ lược về ngôn ngữ lập trình hướng đối tượng VB.net
Thiết kế mô hình hệ thống băng chuyền và lắp đặt các sensor vào các vị trí trên mô
hình.
Thiết kế mạch in board điều khiển
Mô phỏng hoạt động của hệ thống trên máy tính sử dụng Proteus 7.7
Hoàn thiện và mô phỏng trên mô hình thật
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 2
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Trang 3
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Dòng phổ thông (Mid-range) Gồm các họ 10Fxxx,12Fxxx,16Fxxx với độ dài tập lệnh
là 14bit.
Dòng cao cấp (High-End) từ PIC18F trở lên đến 32MX với độ dài tập lệnh 16bit và
32bit…
2.2. Các chức năng tổng quát của PIC18F2550
2.2.1. Mô tả chung
PIC18F2550 là dòng vi điều khiển nanoWatt với kiến trúc RISC, sử dụng microcode đơn giản
đặt trong ROM, tập lệnh đươc mở rộng lênh tối đa 83 lệnh so với 35 lệnh của dòng PIC cơ bản
chạy một lệnh trong một chu kỳ máy (4 chu kỳ của bộ dao động). PIC nhờ có EEPROM nên
tạo thành 1 bộ điều khiển vào ra khả trình, với hàng loạt các mô-đun ngoại vi tích hợp sẵn như
USART, PWM, ADC,USB..., với bộ nhớ chương trình là 32KWord. PIC18F2550 là dòng PIC
thuộc dòng High-end, đủ mạnh về tính năng, nhiều chân IO, bộ nhớ đủ lớn cho hầu hết các
ứng dụng thông thuờng và các ứng dụng nâng cao.
2.2.2. Các chức năng tích hợp trong PIC18F2550
Hỗ trợ chuẩn giao tiếp USB2.0 Fullspeed 12Mbit/s, với các phương thức truyền như
Control, Interrupt, Isochronous và Bulk
- Hổ trợ 32 endpoint (điểm đến).
- 1 KB bộ nhớ RAM cho USB.
32 KB bộ nhớ chương trình ROM.
MSSV : 0851030042
Trang 5
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Hình 2.3. Sơ đồ tổ chức bộ nhớ PIC18F2550.
PIC18F2550 với bộ nhớ chương trình lên đến 32Kbyte có thể lưu trữ được tối đa 16.384 cấu
trúc lệnh (16bit) chạy từ địa chỉ 0018h tới 07FFh với 32 stack. Từ địa chỉ 8000f tới 1FFFFFh
không có hiệu lực, do đó khi người sử dụng truy cập tới các địa chỉ thuộc vùng này sẽ trả về
giá trị 0 (Read 0). Như trong sơ đồ tổ chức bộ nhớ ta thấy nó có tới 2 địa chỉ vectơ
ngắt với 2 mức độ ưu tiên là cao và thấp, điều này có nghĩa là chúng ta có thể thiết lập được
cơ cấu “ngắt trong ngắt” tức là khi thực hiện chương trình ngắt thứ nhất có mức ưu tiên thấp
hơn ngắt thứ hai, vậy khi có ngắt thứ hai xảy ra lúc đó thì con trỏ chương trình sẽ trỏ tới ngắt
có mức ưu tiên cao hơn. Đây là một cải tiến có mà không thể thực hiện được trong dòng PIC
thấp hơn.
2.2.5. Tổ chức bộ nhớ dữ liệu của PIC18F2550
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 6
Đồ án tốt nghiệp kỹ sư công nghiệp
Trang 8
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
2.3.1. PORTA và các thanh ghi liên quan
Bảng 2.1. Bảng chức năng các chân trong PORTA
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 9
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Port A gồm có 7 chân từ chân A0 tới A6. Ngoài chức năng xuất nhập dữ liệu số các chân này
còn được đa hợp với các module khác như ADC, Comparator, Timer 0, External USB
tranceiver và riêng chân A6 mặc định là ngõ vào thứ 2 của thạch anh ngoài.
Để thiết lập các chân này nhận hoặc xuất dữ liệu số (I/O) cần thiết lập trên thanh ghi
TRISA, nếu cấu hình chân nhập thì set là “1”, nếu cấu hình chân xuất thì set là “0”.
Ngoài ra để cấu hình sử dụng các module khác ta chỉ cần set các bit trong các thanh ghi
tương ứng với chức năng ở chân đó. Các bit này được cho trong bảng sau :
còn được đa hợp với các module khác như 3 module ngắt ngoài (External Interrupt) INT0,
INT1,INT2, module giao tiếp I2C, ADC, External USB tranceiver, module CCP2 (Capture,
Compare, PWM), ngắt onchange (xảy ra khi có bất kỳ thay đổi nào trên các chân từ RB4 đến
RB7.Riêng 2 chân RB6, RB7 còn là 2 chân giao tiếp ICSP(In-Circuit Serial Programming)
dùng để nạp file hex vào PIC.
Để thiết lập các chân này nhận hoặc xuất dữ liệu số (I/O) cần thiết lập trên thanh ghi
TRISA, nếu cấu hình chân nhập thì set là “1”, nếu cấu hình chân xuất thì set là “0”.
Ngoài ra để cấu hình sử dụng các module khác ta chỉ cần set các bit trong các thanh ghi
tương ứng với chức năng ở chân đó. Các bit này được cho trong bảng sau :
Bảng 2.5. Bảng cấu hình bit các chức năng mở rộng trên PORTB
2.3.3. PORTC và các thanh ghi liên quan
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 12
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Bảng 2.6. Bảng chức năng các chân trong PORTC
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
MSSV : 0851030042
Trang 14
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
2.4. Chức năng ngắt ngoài trong PIC18F2550
2.4.1. Giới thiệu về các nguồn ngắt trong PIC18F2550
Hình 2.6. Cấu trúc phần cứng các nguồn ngắt trong PIC18F2550
PIC18F2550 có tất cả 21 nguồn ngắt như ta thấy trên hình trên. Đặt biệt trong dòng
PIC18Fxxx trở đi có bổ sung tính năng ngắt ưu tiên, ngắt nào có mức ưu tiên cao hơn thì sẽ
được ưu tiên phục vụ trước trong trường hợp 2 ngắt xảy ra cùng lúc. Ddieuf này đặc biệt có lợi
khi trong một công việc nào đó khi có 1 công việc trong ngắt được thực thi mà công việc kia
quan trọng hơn thì sẽ ưu tiên tạm dừng ngắt hiện tại lại và nhảy và ngắt ưu tiên khi xong lại
quay trở về công việc đang dang dở.
Để sử dụng các ngắt trên ta phải cho phép ngắt toàn cục tức bit GIE(Global Interrupt
Enable) = 1. Sau đó set các bit cho phép của các nguồn ngắt cần sử dụng ví dụ như bit
INT0IE,TMR0IE…
Trong đồ án này ta chỉ để đếm sản phẩm nên tôi ta sẽ tập trung vào phân tích cũng như
cách thức sử dụng của ngắt ngoài trong PIC18F2550.
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Bit GIE : Bit cho phép ngắt toàn cục, để sử dụng các ngắt thì bit này phải được set lên
1, 0 nếu không cho phép xảy ra tất cả các ngắt.
Bit INT1IE : Bit cho phép ngắt ngoài 0, 1 cho phép, 0 không cho phép.
Bit INTEDG1 : Bit chon cạnh lên hoặc xuống khi có xung ngoài. 1 nếu chọn xung từ
thấp lên cao, 0 nếu chọn cạnh từ cao xuống thấp.
Bit INT1IP : Bit cho phép cài đặt mức ưu tiên, 1 nếu ưu tiên cao, 0 nếu ưu tiên thấp.
2.4.2.2. Ngắt ngoài INT2
Các bít liên quan tới ngắt ngoài INT2:
Bit INT2IF : Cờ ngắt 2, khi sử dụng cần set bit này về 0, khi có ngắt xảy ra bit này
được set lên 1 và nhờ vào bit này mà ta xác định được khi nào có ngắt xảy ra
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 16
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Bit GIE : Bit cho phép ngắt toàn cục, để sử dụng các ngắt thì bit này phải được set lên
1, 0 nếu không cho phép xảy ra tất cả các ngắt.
Bit INT2IE : Bit cho phép ngắt ngoài 0, 1 cho phép, 0 không cho phép.
Cung cấp nguồn trên bus, điều này rất tiện lợi với các thiết bị xách tay nhỏ.
Được hỗ trợ bởi hệ thống : khi căm thiết bị mới vào máy tính thì hệ thống sẽ tự
động tìm driver và cài đặt, đặc tính này còn được gọi là Plug and Play (PnP) mà
các chuẩn giao tiếp khác như RS232, LTP không có được.
Kết nối nhiều thiết bị : Có thể kết nối đến 127 thiết bị có cấu hình và tốc độ khác
nhau trên một bus USB.
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 17
Đồ án tốt nghiệp kỹ sư công nghiệp
GVHD : Ths. Phan Văn Hiệp
Bảng 2.13. Bảng so sánh các chuẩn giao tiếp
2.5.1. Mô hình USB
Cấu trúc cơ bản của USB là các tầng hình sao. Một hệ thống USB là hệ thống bao gồm nhiều
thiết bị ngoại vi, một hay nhiều HUB và một chủ (HOST CONTROLLER) duy nhất thường là
máy tính. Chủ điều khiển chặt chẻ và kết nối với Root Hub để mở rộng các diển nối đến chủ.
Từ Root Hub sẽ kết nối tới nhiều thiết bị hoặc các Hub khác. Hub là các thiết bị dùng để mở
rộng các cổng, một Hub bao gồm một Upstream kết nối đến chủ và vài downstream kết nối
đến các thiết bị bên ngoài.
SVTH : Hồ Quốc Lợi
GVHD : Ths. Phan Văn Hiệp
Bảng 2.14. Bảng các lớp thiết bị window hỗ trợ
2.5.2. Các kiểu truyền trong USB
Dữ liệu giao tiếp trong USB sử dụng một trong 4 kiểu truyền: truyền ngắt, truyền điều khiển,
truyền khối và truyền đồng bộ.
Truyền điều khiển (Control Transfer) : Thường sử dụng để cài đặt phần cứng và đưa ra
các lệnh điều khiển thiết bị. Kiểu này được thực hiện ở mức ưu tiên cao với khả năng
tự động kiểm soát lỗi, mỗi gói truyền có thể lên tới 64byte.
Truyền ngắt (Interrupt Transfer) : Sử dụng cho các thiết bị trao đổi với máy tính với
lượng dữ liệu nhỏ và tuần hoàn như chột, bàn phím. Không giống như cơ chế ngắt mà
ơ đây HOST sẽ hỏi vòng liên tục theo chu kỳ xem có thiết bị nào gởi dữ liệu tới không.
Thường thì dữ liệu gởi tới HOST 8 byte dữ liệu cho một lần truyền.
Truyền khối (Bulk Transfer) : Khi có lượng dữ liệu lớn cần truyền và kiểm soát lỗi và
không có yêu cầu thúc ép về mặt thời gian thì thường dùng kiểu này, các thiết bị
thường dùng trong kiểu này như máy in, máy quét.
Truyền đồng bộ (Isochronous Transfer) : Khi dữ liệu cần truyền lớn với quy định về
mặt thời gian ví dụ như card âm thanh thì thường dùng kiểu truyền này. Theo cách
truyền này thì giá trị tốc độ dữ liệu truyền được duy trì. Việc kiểm tra lỗi không được
thực hiên trong kiểu truyền này do các lỗi lẻ tẻ không ảnh hưởng đáng kể tới chất
lượng truyền này.
2.5.3. Giao diện vật lý bus USB
Bus USB có hai kiểu đầu nối thông dụng là kiểu A và B. Khác với chuẩn giao tiếp RS232 là
đấu nối ở USB không phân chia các kiểu nối nư bắt chéo hay không bắt chéo. Nó gồm một
SVTH : Hồ Quốc Lợi
MSSV : 0851030042
Trang 20