Tải bản đầy đủ (.doc) (100 trang)

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO MÔ HÌNH PHÂN LOẠI VÀ ĐẾM SẢN PHẨM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (5.51 MB, 100 trang )

NGHIÊN CỨU THIẾT KẾ CHẾ TẠO MÔ HÌNH PHÂN LOẠI VÀ ĐẾM
SẢN PHẨM

Tác giả

LÊ NGỌC HÒA
TRƯƠNG CÔNG PHÁT

Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành
Cơ Điện Tử

Giáo viên hướng dẫn:
Th.S Nguyễn Lê Tường
Thầy giáo Nguyễn Văn Khải

Tháng 07 năm 2010

i


LỜI CẢM ƠN
Thông qua khóa luận tốt nghiệp này tôi xin được gửi lời cảm ơn chân thành đến:
- Tất cả quý thầy cô trường Đại học Nông Lâm Thành phố Hồ Chí Minh đã
truyền đạt cho tôi những kiến thức quý báu làm nền tảng sau này. Đặc biệt quý thầy cô
trong Bộ môn Cơ Điện Tử - khoa Cơ Khí Công Nghệ đã dạy bảo, trang bị cho chúng
tôi những kiến thức chuyên ngành cơ bản làm hành trang bước vào thực tế.
- Giáo viên hướng dẫn: Th.s Nguyễn Lê Tường, thầy Nguyễn Văn Khải đã tận
tình giúp đỡ từ khi bắt đầu đến khi hoàn thành khóa luận.
- Tập thể lớp DH06CD đã cùng tôi chia sẻ những kiến thức học hỏi được trong
thời gian qua.
- Tất cả bạn bè người thân đã động viên, giúp đỡ tôi vượt qua những khó khăn


trong quá trình thực hiện.
Vì thời gian không nhiều cũng như do kiến thức, kinh nghiệm còn hạn chế nên sẽ
không tránh khỏi những thiếu sót. Rất mong được sự góp ý chân thành từ phía thầy cô
cùng bạn đọc.
Xin chân thành cảm ơn.
Sinh viên thực hiện
LÊ NGỌC HÒA
TRƯƠNG CÔNG PHÁT

TÓM TẮT
Tên đề tài: “ Nghiên cứu thiết kế chế tạo mô hình hệ thống phân loại và đếm sản
phẩm tự động”.

ii


Thời gian thực hiện: từ 01/04/2010 – 30/07/2010
Địa điểm thực hiện:
- Xưởng bộ môn cơ điện tử - trường Đại học Nông Lâm Thành phố Hồ Chí
Minh.
Mục đích của để tài:
- Thực hiện đề tài “Nghiên cứu, thiết kế và chế tạo mô hình hệ thống phân loại và
đếm sản phẩm tự động” dùng vi điều khiển.
- Viết chương trình điều khiển, chương trình hiển thị.
- Thiết kế mạch điện không quá phức tạp, đảm bảo sự an toàn, dễ sử dụng, giá
thành không quá mắc.
- Bộ phận hiển thị rõ ràng.
- Sản phẩm của đề tài nếu được phát triển rộng, đi sâu hơn thì có thể ứng dụng
vào trong thực tế sản xuất công nghiệp.
Kết quả:

- Chương trình điều khiển hệ thống đếm, chương trình hiển thị.
- Chương trình phân loại sản phẩm.
- Chương trình giao tiếp vi điều khiển và máy tính.
- Mô hình phân loại và đếm sản phẩm tự động.

iii


MỤC LỤC
Lời cảm ơn............................................................................................................ii
Tóm tắt................................................................................................................. iii
Mục lục...............................................................................................................iiv
Danh sách các chữ viết tắt...................................................................................vii
Danh sách các hình............................................................................................viii
Danh sách các bảng..............................................................................................ix
Chương 1 MỞ ĐẦU..............................................................................................1
1.1. Tính cấp thiết của đề tài.................................................................................1
1.2. Mục đích của đề tài........................................................................................2
1.3. Ý nghĩa khoa học và thực tiễn........................................................................2
Chương 2 TỔNG QUAN......................................................................................3
2.1. Giới thiệu tổng quan.......................................................................................3
2.2. Một số phương pháp điều khiển dùng trong tự động hóa...............................5
2.2.1. Điều khiển bằng PLC..................................................................................5
2.2.2. Điều khiển bằng IC số.................................................................................6
2.2.3. Vi điều khiển...............................................................................................7
2.3. Vi điều khiển PIC16F887...............................................................................7
2.3.1. Giới thiệu chung về PIC..............................................................................7
2.3.2. Sự phổ biến của vi điều khiển PIC..............................................................7
2.3.3. Kiến trúc PIC...............................................................................................8
2.3.4. Risc và Cisc.................................................................................................9

2.3.5. Pipeling.....................................................................................................10
2.3.6. Các dòng PIC và cách lựa chọn PIC..........................................................11
2.3.7. Đặc tính chung của PIC.............................................................................12
2.3.8. Sơ đồ chân và chức năng các chân............................................................13
2.3.9. Tổ chức bộ nhớ..........................................................................................17
2.3.10. Thanh ghi chức năng đặc biệt SFR..........................................................18
2.3.11. Thanh ghi mục đích GPR.........................................................................19
2.3.12. Các PORT xuất nhập của PIC16F887......................................................20

iv


2.3.13. Các bộ định thời......................................................................................21
2.3.14. Khối chuyển đổi tương tự sang số ADC..................................................23
2.3.15. Ngắt.........................................................................................................23
2.3.16. Module PWM..........................................................................................24
2.3.17. Giao tiếp nối tiếp của PIC16F887............................................................24
2.3.18. Cổng giao tiếp song song PSP.................................................................27
2.3.19. Các đặc tính của Oscillator......................................................................27
2.3.20. Các chế độ Reset.....................................................................................28
2.3.21. Ngôn ngữ lập trình PIC16F887...............................................................29
2.3.22. Mạch nạp cho PIC...................................................................................29
2.4. Led 7 đoạn....................................................................................................29
2.5. IC L298........................................................................................................31
2.6. OPTO PC 817...............................................................................................35
2.7. IC 74HC595.................................................................................................35
2.8. Động cơ DC..................................................................................................36
2.9. Giới thiệu phần mềm visual basic.................................................................37
2.10. Các phương pháp giao tiếp máy tính..........................................................38
2.10.1. Giao tiếp qua slot.....................................................................................38

2.10.2. Giao tiếp qua cổng COM.........................................................................38
2.10.3. Giao tiếp qua cổng máy in ( cổng song song)..........................................39
2.11. Một số linh kiện khác.................................................................................39
Chương 3 NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU...........................41
3.1. Nội dung nghiên cứu....................................................................................41
3.2. Phương pháp nghiên cứu..............................................................................41
3.3. Thiết kế giao diện giám sát bằng phần mềm visual basic 6.0.......................41
3.4. Trình biên dịch MPLAB cho PIC16F887.....................................................44
3.5. Tính toán, lựa chọn các thông số góc quay của Robot..................................49
Chương 4 KẾT QUẢ VÀ THẢO LUẬN............................................................51
4.1. Sơ đồ khối tổng quát của hệ thống................................................................51
4.1.1. Khối điều khiển.........................................................................................51
4.1.2. Khối nguồn................................................................................................53
v


4.1.3. Khối cảm biến............................................................................................54
4.1.4. Khối hiển thị trên led 7 đoạn......................................................................56
4.1.5. Khối điều khiển động cơ............................................................................58
4.1.6. Khối giao tiếp máy tính.............................................................................60
4.1.7. Khối reset vi điều khiển.............................................................................62
4.1.8. Giao diện hiển thị trên máy tính.................................................................62
4.2. Mô hình tổng quát của hệ thống...................................................................63
4.3. Thiết kế mô hình phần cứng thực tế.............................................................65
4.3.1. Mô hình toàn bộ hệ thống..........................................................................65
4.3.2. Mô hình cánh tay gắp................................................................................65
4.4. Lưu đồ giải thuật điều khiển mô hình hệ thống............................................66
Chương 5 KẾT LUẬN VÀ ĐỀ NGHỊ.................................................................69
5.1. Kết luận........................................................................................................69
5.2. Đề nghị.........................................................................................................69

TÀI LIỆU THAM KHẢO...................................................................................71
PHỤ LỤC 1.........................................................................................................72
PHỤ LỤC 2.........................................................................................................78

vi


DANH SÁCH CÁC CHỮ VIẾT TẮT
D-H

Denavit-Hartenberg

I/O

Input/Output

UART

Universal Synchronous Asynchronous Receiver Transmitter

ISCP

In Circuit Serial Programming

A/D

Analog/Digital

PWM


Pulse Width Modulator

PLC

Programmable Logic Controller

CTHT

Công tắc hành trình

RD

Read

WR

Write

CS

Chip Select

SSP

Synchronous Serial Port

MSSP

Mas Synchronous Serial Port


SPI

Serial Peripheral Interface

TTL

Transistor Transisor Logic

PSP

Parallel Slave Port

DC

Động Cơ

vii


DANH SÁCH CÁC HÌNH
Hình 2.1.

Dây chuyền đếm sản phẩm tự động

Hình 2.2.

Dây chuyền cắt gạch tự động

Hình 2.3.


Dây chuyền đếm và phát hiện gạch bị lỗi

Hình 2.4.

Dây chuyền phân loại sản phẩm tự động

Hình 2.5.

Dây chuyền đóng gói sản phẩm tự động

Hình 2.6.

Dây chuyền định lượng sản phẩm tự động

Hình 2.7.

Kiến trúc Harvard và kiến trúc Von - Neuman

Hình 2.8.

Sơ đồ chân PIC16F887

Hình 2.9.

Sơ đồ nguyên lí PIC16F887

Hình 2.10.

Sơ đồ nguyên lí Led 7 đoạn


Hình 2.11.

Led 7 đoạn thực tế

Hình 2.12.

Led 7 đoạn anod chung

Hình 2.13.

Led 7 đoạn Katod chung

Hình 2.14.

Sơ đồ chân IC L298

Hình 2.15.

Sơ đồ kết hợp cầu H để điều khiển động cơ DC

Hình 2.16.

Các kiểu đóng vỏ của L298

Hình 2.17.

Sơ đồ chân của L298

Hình 2.18.


Cấu tạo của IC quang

Hình 2.19.

IC quang thực tế

Hình 2.20.

Sơ đồ chân IC 74HC595

Hình 2.21.

Động cơ DC thực tế

Hình 3.1.

Các thông số động học

Hình 4.1.

Mạch điều khiển trung tâm

Hình 4.2.

Sơ đồ layout mạch điều khiển trung tâm

Hình 4.3.

Board mạch điều khiển trung tâm


Hình 4.4.

Sơ đồ nguyên lí mạch nguồn

Hình 4.5.

Sơ đồ layout mạch nguồn

Hình 4.6.

Board mạch nguồn

viii


Hình 4.7.

Sơ đồ nguyên lí mạch cảm biến

Hình 4.8.

Sơ đồ layout mạch cảm biến

Hình 4.9.

Board mạch cảm biến

Hình 4.10.

Sơ đồ nguyên lí mạch hiển thị


Hình 4.11.

Sơ đồ layout mạch hiển thị

Hình 4.12.

Board mạch hiển thị

Hình 4.13.

Sơ đồ nguyên lí mạch điều khiển động cơ

Hình 4.14.

Sơ đồ layout mạch điều khiển động cơ

Hình 4.15.

Board mạch điều khiển động cơ

Hình 4.16.

Mạch giao tiếp máy tính

Hình 4.17.

Sơ đồ nguyên lí mạch reset

Hình 4.18.


Giao diện giám sát hiển thị trên máy tính

Hình 4.19.

Mô hình lắp ráp trạm phân loại và đếm sản

Hình 4.20.

Sơ đồ lắp ráp trạm phân loại và đếm sản phẩm

Hình 4.21.

Mô hình cánh tay cấp sản phẩm

Hình 4.22.

Sơ đồ cánh tay cấp sản phẩm

Hình 4.23.

Mô hình thực tế trạm phân loại và đếm sản phẩm

Hình 4.24.

Mô hình thực tế cánh tay

Hình 1.

Sơ đồ khối vi điều khiển PIC16F887


Hình 2.

Sơ đồ khối Timer 0

Hình 3.

Sơ đồ khối Timer 1

Hình 5.

Sơ đồ khối Timer 2

Hình 5.

Sơ đồ khối bộ chuyển đổi ADC

Hình 6.

Sơ đồ khối tất cả các ngắt của vi điều khiển PIC15F887

Hình 7.

Sơ đồ bộ nhớ dữ liệu của vi điều khiển PIC16F887

Hình 8.

Sơ đồ bộ nhớ chương của vi điều khiển PIC16F887

ix



DANH SÁCH CÁC BẢNG
Bảng 3.1.

Giá trị led 7 đoạn

Bảng 3.2.

Thông số D-H

Bảng 3.2.

Trạng thái hoạt động của Motor

Bảng 4.1.

Chức năng các chân ở cổng nối tiếp

x


Chương 1
MỞ ĐẦU
1.1.Tính cấp thiết của đề tài
Trong thế kỉ XX, nhân loại đã chứng kiến cuộc cách mạng khoa học kỹ thuật
phát triển mạnh mẽ trên toàn thế giới. Đặc trưng nổi bật nhất của cuộc cách mạng này
là việc ứng dụng kỹ thuật số vào trong tất cả các lĩnh vực như: công nghệ thông tin,
điện tử, viễn thông, tự động hóa,… Trong đó tự động hóa đóng vai trò quan trọng
trong mọi lĩnh vực ứng dụng và phát triển trong kỹ thuật đời sống.

Trong xu hướng phát triển tự động hóa trong ngành công nghiệp trên thế giới,
việc tự động hóa không chỉ riêng mỗi một ngành như cơ khí, điện hoặc điện tử. Mà là
sự kết hợp của tất cả các ngành như: điện, điện tử, cơ khí, tin học, thủy lực, khí nén, vi
xử lý, PLC,… đã đạt được nhiều thành tựu cao.
Từ những đợt đi thực tập tại nhà máy và tham quan các doanh nghiệp sản xuất,
chúng em đã thấy được nhiều khâu được tự động hóa trong quá trình sản xuất. Một
trong những khâu đơn giản trong dây chuyền sản xuất tự động hóa đó là sản phẩm làm
ra được phân loại và đếm một cách tự động. Tuy nhiên đối với những doanh nghiệp
vừa và nhỏ thì việc tự động hóa chưa được áp dụng.
Hệ thống phân loại sản phẩm là khâu cuối cùng trong quá trình sản xuất, từ đây
sản phẩm sẽ được đưa ra ngoài thị trường. Vì vậy, hệ thống phân loại sản phẩm thường
quyết định uy tín, chất lượng của sản phẩm.
Trước đây công việc này thường do con người làm, nhưng với tính chất công
việc đòi hỏi tập trung cao nên đôi khi thường gây ra những sai sót trong khâu phân loại
hay nguy hiểm hơn là những tai nạn đáng tiếc xảy ra do sự bất cẩn của công nhân
trong quá trình làm việc, nhất là vào cuối buổi làm việc. Từ đó dẫn đến giảm năng suất
lao động. Để khắc phục sai sót đó thì ngày nay, các dây chuyền sản xuất tự động đã
thay thế con người không chỉ trong những công việc nặng nhọc, nguy hiểm mà còn
thay cho con người làm những công việc mang tính chu kỳ nhằm tối ưu hóa quá trình
sản xuất, tăng năng suất lao động,…Với ưu điểm là chính xác, nhanh và đem lại hiệu
quả kinh tế cao nên hệ thống phân loại sản phẩm được ứng dụng vào nhiều dạng sản
xuất như là kiểm tra việc đóng nắp trong dây chuyền đóng nắp chai, phân loại màu và
kiểm tra chất liệu của vỏ chai. Hệ thống phân loại sản phẩm còn được ứng dụng trong
1


công nghiệp sản xuất điện tử như trong quá trình kiểm tra lỗi mạch in, lỗi đóng gói
linh kiện. Ngoài ra hệ thống này còn được ứng dụng trong nhiều quy trình công nghiệp
khác.
Xuất phát từ thực tế trên, được sự đồng ý của Khoa Cơ Khí – Công Nghệ, bộ

môn Cơ điện tử, dưới sự hướng dẫn của cô Nguyễn Lê Tường và thầy Nguyễn Văn
Khải, nhóm sinh viên thực hiện đề tài “Nghiên cứu, thiết kế chế tạo mô hình hệ thống
phân loại và đếm sản phẩm tự động” nhằm mục đích giảm bớt sức lao động cho công
nhân và tăng năng suất lao động, đồng thời đảm bảo độ chính xác cao. Do nhiều điều
kiện khách quan và chủ quan, đề tài còn có những hạn chế và thiếu sót, rất mong sự
góp ý của quý thầy cô cùng bạn đọc.
1.2. Mục đích của đề tài
Nghiên cứu kĩ khái niệm, nguyên lí làm việc của hệ thống phân loại và đếm sản
phẩm tự động cũng như tập lệnh của vi điều khiển để đi đến chế tạo và đưa vào thực
tế.
Chế tạo mô hình hệ thống phân loại và đếm sản phẩm tự động dùng vi điều
khiển.
Lập trình cho vi điều khiển.
Bộ phận hiển thị phải rõ ràng, số đếm phải chính xác và số sản phẩm được đếm
từ 00 đến 99.
Thiết kế mạch điện không quá phức tạp, đảm bảo sự an toàn, dễ sử dụng, giá
thành không quá mắc.
1.3 Ý nghĩa khoa học và thực tiễn
Về mặt khoa học, đề tài vận dụng những kiến thức và kỹ thuật trong lĩnh vực cơ
khí, công nghệ thông tin, điện tử, điều khiển tự động nhằm giải quyết công việc một
cách có hiệu quả.
Về mặt thực tiễn, đề tài này có thể được dùng làm mô hình thí nghiêm trong quá
trình giảng dạy nhằm giải quyết tình huống thật trong sản xuất.

2


Chương 2
TỔNG QUAN
2.1. Giới thiệu tổng quan

Tự động hóa là một công nghệ liên quan tới việc áp dụng các hệ thống cơ khí,
điện tử và máy tính để hoạt động, điều khiển sản xuất. Công nghệ này bao gồm:
- Máy móc lắp ráp tự động.
- Người máy công nghiệp.
- Hệ thống vận chuyển và điều khiển vật liệu tự động.
- Điều khiển có hồi tiếp và điều khiển quá trình bằng máy tính.
- Hệ thống máy tính cho việc thảo kế hoạch, thu nhập dữ liệu và ra quyết định để
hỗ trợ các hoạt động sản xuất.
Các hình thức tự động hóa:
- Tự động hóa cứng: là một hệ thống trong đó có một chuỗi các hoạt động xử lý
( hay lắp ráp) cố định theo một cấu hình thiết bị.
Đặc trưng của tự động hóa cứng là:
+ Đầu tư ban đầu cao cho những thiết bị thiết kế theo đơn đặt hàng.
+ Năng suất máy cao.
+ Tương đối không linh hoạt trong việc thích nghi với các thay đổi sản phẩm.
- Tự động hóa lập trình: thiết bị sản xuất được thiết kế với khả năng có thể thay
đổi trình tự các nguyên công để thích ứng với những cấu hình sản phẩm khác nhau.
Đặc trưng chính của tự động hóa lập trình:
+ Đầu tư cao cho những thiết bị có mục đích tổng quát.
+ Năng suất tương đối thấp so với tự động hóa cứng.
+ Sự linh hoạt khi có sự thay đổi trong cấu hình sản phẩm.
+ Thích hợp nhất là cho sản xuất hang loạt.
- Tự động hóa linh hoạt: là sự mở rộng của tự động hóa lập trình, không mất thời
gian cho việc lập trình lại, hệ thống có thể lên kế hoạch kết hợp sản xuất nhiều loại sản
phẩm khác nhau thay vì theo từng loại riêng biệt.
Đặc trưng của tự động hóa linh hoạt:
+ Đầu tư cao cho thiết bị.
3



+ Sản xuất liên tục cho những sản phẩm hỗn hợp khác nhau.
+ Tốc độ sản xuất trung bình.
Một số hình ảnh về mô hình hệ thống phân loại và đếm sản phẩm tự động:

Hình 2.1. Dây chuyền đếm sản phẩm tự động Hình 2.2. Dây chuyền cắt gạch tự động

Hình 2.3. Dây chuyền đếm và phát
hiện gạch bị lỗi

Hình 2.4. Dây chuyền phân loại sản
phẩm tự động

4


Hình 2.5. Dây chuyền đóng gói sản
phẩm tự động

Hình 2.6. Dây chuyền định lượng sản
phẩm tự động

2.2. Một số phương pháp điều khiển dùng trong tự động hóa
2.2.1. Điều khiển bằng PLC
a. Ưu điểm
- Chuẩn bị vào hoạt động nhanh: Thiết kế module cho phép thích nghi đơn giản
với bất kì mọi chức năng điều khiển. khi bộ điều khiển và các phụ kiện đã được lắp
ghép thì PLC vào tư thế sẵn sàng làm việc ngay. Ngoài ra, nó còn có thể được sử dụng
lại cho những ứng dụng khác.
- Độ tin cậy cao và ngày càng tăng: Các thành phần điện tử có tuổi thọ dài hơn
các thiết bị cơ – điện tử. Độ tin cậy của PLC ngày càng cao và tuổi thọ ngày càng tăng.

Còn việc bảo dưỡng định kì thường là cần thiết đối với điều khiển rowle nhưng lại bỏ
đối với PLC.
- Dễ dàng thay đổi hoặc soạn thảo chương trình: những thay đổi cần thiết cả ở
khi bắt đầu hoặc những lúc tiếp sau đều có thể được thực hiện dễ dàng mà không cần
có bất kì một thao tác nào ở phần cứng.
- Sự đánh giá các nhu cầu là đơn giản: Nếu biết con số đúng của đầu ra cần thiết,
thì có thể đánh giá kích cỡ yêu cầu của bộ nhớ ( độ dài chương trình) tối đa là bao
nhiêu. Do đó có thể dễ dàng và nhanh chóng lựa chọn loại PLC phù hợp với yêu cầu
đề ra. Xử lý dữ liệu tự động: Trong nhiều bộ PLC việc xử lý dữ liệu được tiến hành tự
động làm cho việc thiết kế điện tử trở nên đơn giản hơn.
5


- Tiết kiệm không gian: PLC đòi hỏi ít không gian hơn so với bộ điều khiển rơle
tương đương, trong nhiều trường hợp không gian được thu hẹp vì có nhiều bộ phận
được giảm bớt.
- Khả năng tái tạo: Nếu dùng nhiều bộ PLC với những quy cách kỹ thuật của bộ
điều khiển giống hệt nhau thì làm chi phí lao động sẽ rât thấp so với bộ điều khiển
rơle.
- Nhiều chức năng: Dễ dàng tín toán, so sánh các giá trị tương quan, thay đổi
chương trình và thay đổi các thông số, PLC thường được nối sẵn với một máy tính
mạnh.
b. Nhược điểm
- Đòi hỏi các nhân viên có kinh nghiệm và hiểu biết tốt về phần mềm để lập trình
và thao tác bộ PLC vì phần mềm dùng cho những mục đích đặc biệt là cực kì đắt giá.
- Giá thành tạo dựng cao, bộ thiết bị lập trình thường quá đắt.
2.2.2. Điều khiển bằng IC số
a. Ưu điểm
- Cho phép tăng năng suất lao động
- Đảm bảo độ chính xác cao

- Tần số đáp ứng của mạch nhanh, cho phép đếm với tần số cao
- Khoảng cách đặt phần phát và phần thu xa nhau cho phép đếm những sản phẩm
lớn.
- Tần số công suất bé, mạch có thể sử dụng pin hoặc accu.
- Khả năng đếm rộng.
- Giá thành hạ.
- Mạch đơn giản dễ chế tạo.
b. Nhược điểm
- Với việc sử dụng kĩ thuật số khó có thể đáp ứng đươc việc thay đổi số đếm.
muốn thay đổi một yêu cầu nào đó của mạch thì phải thay đổi phần cứng. do đó mỗi
lần phải lắp lại mạch dẫn đến tốn kém về kinh tế mà nhiều khi yêu cầu không thực
hiện được.

6


2.2.3. Vi điều khiển
- Với sự phát triển mạnh của ngành kĩ thuật số đặc biệt là cho ra đời các họ vi xử
lí và vi điều khiển rất đa chức năng do đó việc dùng kĩ thuật vi xử lí, kĩ thuật vi điều
khiển đã giải quyết những bế tắc và kinh tế hơn mà phương pháp dùng IC rời kết nối
lại không thực hiện được.
- Ngoài những ưu điểm đã liệt kê trong phương pháp dùng IC rời thì mạch đếm
sản phẩm dùng kĩ thuật vi điều khiển còn có những ưu điểm sau:
- Mạch có thể thay đổi số đếm một cách linh hoạt bằng việc thay đổi phần mềm,
trong khi đó phần cứng không cần thay đổi mà mạch IC rời không thể thực hiện được
mà nếu có thể thực hiện được thì cũng cứng nhắc mà người công nhân cũng khó tiếp
cận, dễ nhầm.
- Số linh kiện sử dụng trong mạch ít hơn.
- Mạch đơn giản so với mạch đếm sản phẩm dùng IC rời và cần có phần cài đặt
số đếm ban đầu.

- Mạch có thể lưu lại số liệu của các ca sản xuất.
- Mạch có thể điều khiển đếm được nhiều dây chuyền sản xuất cùng lúc bằng
phần mềm
- Mạch cũng có thể kết nối giao tiếp được với máy tính.
2.3. Vi điều khiển PIC16F887
2.3.1. Giới thiệu chung về PIC
PIC là viết tắt của “Programable Intelligent Computer”, có thể tạm dịch là
“máy tính thông minh khả trình” do hãng Genenral Instrument đặt tên cho vi điều
khiển đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho vi
điều khiển CPU1600. Vi điều khiển này sau đó được nghiên cứu phát triển thêm và từ
đó hình thành nên dòng vi điều khiển PIC ngày nay.
2.3.2. Sự phổ biến của vi điều khiển PIC
Trên thị trường có rất nhiều họ vi điều khiển như 8051, Motorola 68HC, AVR,
ARM... Tuy nhiên, hiện nay PIC đang được sử dụng rộng rãi ở Việt Nam vì những
nguyên nhân sau:
- Họ vi điều khiển này có thể tìm mua dễ dàng tại thị trường Việt Nam.
7


- Giá thành không quá đắt.
- Có đầy đủ các tính năng của một vi điều khiển khi hoạt động độc lập.
- Là sự bổ sung rất tốt về kiến thức cũng như về ứng dụng cho họ vi điều khiển
mang tính truyền thống: Họ vi điều khiển 8051.
- Hiện nay tại Việt Nam cũng như trên thế giới, PIC được sử dụng khá rộng rãi.
Điều này tạo nhiều thuận lợi trong quá trình tìm hiểu và phát triển các ứng dụng như:
số lượng tài liệu, số lượng các ứng dụng mở đã được phát triển thành công, dễ dàng
trao đổi, học tập, dễ dàng tìm được sự chỉ dẫn khi gặp khó khăn…
- Sự hỗ trợ của nhà sản xuất về trình biên dịch, các công cụ lập trình, nạp chương
trình từ đơn giản đến phức tạp…
- Các tính năng đa dạng của vi điều khiển PIC không ngừng được phát triển.

2.3.3. Kiến trúc PIC
Cấu trúc phần cứng của một vi điều khiển được thiết kế theo hai dạng kiến
trúc: kiến trúc Von - Neumann và kiến trúc Harvard.

Hình 2.7. Kiến trúc Harvard và kiến trúc Von-Neuman
Tổ chức phần cứng của PIC được thiết kế theo kiến trúc Harvard. Điểm khác
biệt giữa kiến trúc Harvard và kiến trúc Von-Neumann là cấu trúc bộ nhớ dữ liệu và bộ
nhớ chương trình.
Đối với kiến trúc Von-Neuman, bộ nhớ dữ liệu và bộ nhớ chương trình nằm
chung trong một bộ nhớ. Do đó ta có thể tổ chức, cân đối một cách linh hoạt bộ nhớ
chương trình và bộ nhớ dữ liệu. Tuy nhiên điều này chỉ có ý nghĩa khi tốc độ xử lí của
CPU phải rất cao,vì với cấu trúc đó, trong cùng một thời điểm CPU chỉ có thể tương
8


tác với bộ nhớ dữ liệu hoặc bộ nhớ chương trình. Như vậy có thể nói kiến trúc VonNeumann không thích hợp với cấu trúc của một vi điều khiển.
Đối với kiến trúc Harvard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra
thành hai bộ nhớ riêng biệt. Do đó trong cùng một thời điểm CPU có thể tương tác với
cả hai bộ nhớ, như vậy tốc độ xử lí của vi điều khiển được cải thiện đáng kể. Một điểm
cần chú ý nữa là tập lệnh trong kiến trúc Harvard có thể được tối ưu tùy theo yêu cầu
kiến trúc của vi điều khiển mà không phụ thuộc vào cấu trúc dữ liệu. Ví dụ, đối với vi
điều khiển dòng 16Fxxx, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được tổ chức
thành từng byte), còn đối với kiến trúc Von-Neumann, độ dài lệnh luôn là bội số của 1
byte (do dữ liệu được tổ chức thành từng byte).
2.3.4. Risc và Cisc
Như đã trình bày ở trên, kiến trúc Harvard là khái niệm mới hơn so với kiến trúc
Von-Neumann. Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một
vi điều khiển. Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, bus
chương trình và bus dữ liệu, CPU có thể cùng một lúc truy xuất cả bộ nhớ chương
trình và bộ nhớ dữ liệu, giúp tăng tốc độ xử lí của vi điều khiển lên gấp đôi. Đồng thời

cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều
chỉnh tùy theo khả năng và tốc độ của từng vi điều khiển. Và để tiếp tục cải tiến tốc độ
thực thi lệnh, tập lệnh của họ vi điều khiển PIC được thiết kế sao cho chiều dài mã
lệnh luôn cố định (ví dụ đối với họ 16Fxxxx chiều dài mã lệnh luôn là 14 bit) và cho
phép thực thi lệnh trong một chu kì của xung clock ( ngoại trừ một số trường hợp đặc
biệt như lệnh nhảy, lệnh gọi chương trình con … cần hai chu kì xung đồng hồ). Điều
này có nghĩa tập lệnh của vi điều khiển thuộc cấu trúc Harvard sẽ ít lệnh hơn, ngắn
hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định.
Vi điều khiển được tổ chức theo kiến trúc Harvard còn được gọi là vi điều khiển RISC
(Reduced Instruction Set Computer) hay vi điều khiển có tập lệnh rút gọn. Vi điều
khiển được thiết kế theo kiến trúc Von-Neuman còn được gọi là vi điều khiển CISC
(Complex Instruction Set Computer) hay vi điều khiển có tập lệnh phức tạp vì mã lệnh
của nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte).

9


2.3.5. Pipelining
Đây chính là cơ chế xử lí lệnh của các vi điều khiển PIC. Một chu kì lệnh của vi
điều khiển sẽ bao gồm 4 xung clock. Ví dụ ta sử dụng oscillator có tần số 4 MHZ, thì
xung lệnh sẽ có tần số 1 MHz (chu kì lệnh sẽ là 1 us). Giả sử ta có một đoạn chương
trình như sau:
1. MOVLW

55h

2. MOVWF

PORTB


3. CALL

SUB_1

4. BSF PORTA,BIT3
5. instruction @ address SUB_1
Ở đây ta chỉ bàn đến qui trình vi điều khiển xử lí đoạn chương trình trên thông
qua từng chu kì lệnh. Quá trình trên sẽ được thực thi như sau:

TCY0: đọc lệnh 1
TCY1:thực thi lệnh 1, đọc lệnh 2
TCY2: thực thi lệnh 2, đọc lệnh 3
TCY3: thực thi lệnh 3, đọc lệnh 4.
TCY4: vì lệnh 4 không phải là lệnh sẽ được thực thi theo qui trình thực thi của
chương trình (lệnh tiếp theo được thực thi phải là lệnh đầu tiên tại label SUB_1) nên
chu kì thực thi lệnh này chỉ được dùng để đọc lệnh đầu tiên tại label SUB_1. Như vậy
có thể xem lênh 3 cần 2 chu kì xung clock để thực thi.
TCY5: thực thi lệnh đầu tiên của SUB_1 và đọc lệnh tiếp theo của SUB_1.
Quá trình này được thực hiện tương tự cho các lệnh tiếp theo của chương trình.
Thông thường, để thực thi một lệnh, ta cần một chu kì lệnh để gọi lệnh đó, và
một chu kì xung clock nữa để giải mã và thực thi lệnh. Với cơ chế pipelining được
10


trình bày ở trên, mỗi lệnh xem như chỉ được thực thi trong một chu kì lệnh. Đối với
các lệnh mà quá trình thực thi nó làm thay đổi giá trị thanh ghi PC (Program Counter)
cần hai chu kì lệnh để thực thi vì phải thực hiện việc gọi lệnh ở địa chỉ thanh ghi PC
chỉ tới. Sau khi đã xác định đúng vị trí lệnh trong thanh ghi PC, mỗi lệnh chỉ cần một
chu kì lệnh để thực thi xong.
2.3.6. Các dòng PIC và cách lựa chọn PIC

a. Các kí hiệu của vi điều khiển PIC
PIC12xxxx: độ dài lệnh 12 bit.
PIC16xxxx: độ dài lệnh 14 bit.
PIC18xxxx: độ dài lệnh 16 bit.
C:

PIC có bộ nhớ EPROM (chỉ có 16C84 là EEPROM).

F: PIC có bộ nhớ flash .
LF: PIC có bộ nhớ flash hoạt động ở điện áp thấp LV: tương tự như LF, đây
là kí hiệu cũ.
Bên cạnh đó một số vi điệu khiển có kí hiệu xxFxxx là EEPROM, nếu có thêm
chữ A ở cuối là flash (ví dụ PIC16F877 là EEPROM, còn PIC16F887 là flash).Ngoài
ra còn có thêm một dòng vi điều khiển PIC mới là dsPIC. Ở Việt Nam phổ biến nhất là
các họ vi điều khiển PIC do hãng Microchip sản xuất.
b. Cách lựa chọn PIC
Trước hết cần chú ý đến số chân của vi điều khiển cần thiết cho ứng dụng. Có
nhiều vi điều khiển PIC với số lượng chân khác nhau, thậm chí có vi điều khiển chỉ có
8 chân, ngoài ra còn có các vi điều khiển 28, 40, 44 … chân.
Cần chọn vi điều khiển PIC có bộ nhớ flash để có thể nạp xóa chương trình
được nhiều lần hơn. Tiếp theo cần chú ý đến các khối chức năng được tích hợp sẵn
trong vi điều khiển, các chuẩn giao tiếp bên trong. Sau cùng cần chú ý đến bộ nhớ
chương trình mà vi điều khiển cho phép. Ngoài ra mọi thông tin về cách lựa chọn vi
điều khiển PIC có thể được tìm thấy trong cuốn sách “Select PIC guide” do nhà sản
xuất Microchip cung cấp.

11


2.3.7. Đặc tính chung của PIC16F887

Đây là vi điều khiển thuộc họ PIC16Fxxx, có các đặc điểm như sau:
- Tốc độ hoạt động tối đa cho phép là 20Mhz với chu kì lệnh là 200ns.
- Bộ nhớ chương trình 8Kx14 bit, bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ
liệu EFPROM với dung lượng 256x8 byte.
- Có 5 PORT I/O với 36 pin I/O.
Các đặc tính ngoại vi bao gồm các khối chức năng sau:
- Timer 0: bộ đếm 8 bit với bộ chia tần số 8 bit.
- Timer 1: bộ đếm 16 bit với bộ chia tần số, có thể thực hiện chức năng đếm dựa
vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ sleep.
- Timer 2: bộ đếm 8 bit với bộ chia tần số, bộ postscaler.
- Hai bộ capture/so sánh/ điều chế độ rộng xung.
- Các chuẩn giao tiếp nối tiếp SSP, SPI, I2C.
- Chuẩn giao tiếp nối tiếp UART với 9 bit địa chỉ.
- Cổng giao tiếp song song PSP với các chân điều khiển RD, WR, CS ở bên
ngoài.
Các đặc tính Analog:
- 14 kênh chuyển đổi ADC 10 bit.
- Hai bộ so sánh.
Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
- Dữ liệu bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần, có thể lưu
trữ trên 40 năm.
- Khả năng tự nạp chương trình với điều khiển của phần mềm.
- Nạp chương trình ngay trên mạch điện ISCP thông qua 2 chân Watchdog Timer
với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
- Chế độ sleep.
- Có thể hoạt động với nhiều dạng Oscillator khác nhau.

12



2.3.8. Sơ đồ chân và chức năng các chân của PIC16F887

Hình 2.8. Sơ đồ chân PIC16F887

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

* M C L R /V P P
R A 0 /A N 0
R A 1 /A N 1

R A 2 /A N 2 /V R E F R A 3 /A N 3 /V R E F +
R A 4 /T 0 C K I
R A 5 /A N 4 /* S S
R E 0 /* R D /A N 5
R E 1 /* W R /A N 6
R E 2 /* C S /A N 7
VDD
VSS
O S C 1 /C L K IN
O S C 2 /C L K O U T
R C 0 /T1 O S O /T1 C K I
R C 1 /T 1 O S I/C C P 2
R C 2 /C C P 1
R C 3 /S C K /S C L
R D 0 /P S P 0
R D 1 /P S P 1

U6

P IC 1 6 F 8 8 7

R B 7 /P G D
R B 6 /P G C
RB5
RB4
R B 3 /P G M
RB2
RB1
R B 0 /IN T
VD D _1

VSS_1
R D 7 /P S P 7
R D 6 /P S P 6
R D 5 /P S P 5
R D 4 /P S P 4
R C 7 /R X/D T
R C 6 /T X/C K
R C 5 /S D O
R C 4 /S D I/S D A
R D 3 /P S P 3
R D 2 /P S P 2

Hình 2.9. Sơ đồ nguyên lí PIC16F887

Số
13

40
39
38
37
36
35
34
33
32
31
30
29
28

27
26
25
24
23
22
21


chân
1

Tên chân linh kiện
RE3/MCLR/VPP

Chức năng
- Bit D3 của cổng giao tiếp song song (Port E)
- Reset CPU
- Cấp nguồn Vdd cho chip ở chế độ lập trình
- Bit D0 của cổng giao tiếp song song (Port A)

2
RA0/AN0/ULPWU/C12IN0-

- Ngõ vào analog 0 của ADC
- Ngõ vào điện áp thấp khi đánh thức VĐK
- Ngõ vào so sánh C1 hoặc C2 tiêu cực
- Bit D1 của cổng giao tiếp song song (Port A)

3

RA1/AN1/C12IN1-

- Ngõ vào analog 1 của ADC
- Ngõ vào so sánh C1 hoặc C2 tiêu cực
- Bit D2của cổng giao tiếp song song (Port A)

4

- Ngõ vào analog 2 của ADC
RA2/AN2/VREF/CVREF/C2IN+

- Cực điện thế thấp của nguồn điện áp chuẩn
cho ADC (dùng điện chuẩn bên ngoài)
- So sánh điện áp tham chiếu ngõ ra
- So sánh đầu vào tích cực C2
- Bit D3 của cổng giao tiếp song song (Port A)

5

- Ngõ vào analog 3 của ADC
RA3/AN3/VREF+/C1IN+

- Cực điện cao của nguồn điện áp chuẩn cho
ADC (dùng điện chuẩn bên ngoài)
- Đầu vào sánh tích cực
- Bit D4 của cổng giao tiếp song song (Port A)

6
RA4/TOCKI/C1OUT


- Nguồn cấp xung nhịp từ bên ngoài cho Timer
0
- Ngõ ra bộ so sánh C1
- Bit D5 của cổng giao tiếp song song (Port A)

7
RA5/AN4/SS/C2OUT

- Ngõ vào analog 4 của ADC
- Chọn tớ (Slave) cho cộng nối tiếp bất đồng bộ
- Ngõ ra bộ so sánh C1
- Bit D0 của cổng giao tiếp song song (Port E)

8
RE0/AN5

- Ngõ vào analog 5 của ADC
- Bit D1 của cổng giao tiếp song song (Port E)

RE1/AN6

- Ngõ vào analog 6 của ADC

9

14


10
11

12
13

- Bit D2 của cổng giao tiếp song song (Port E)
RE2/AN7
VDD
VSS

- Ngõ vào analog 7 của ADC
- Nguồn cung cấp cho vi điều khiển
- Mass nguồn cung cấp.
- Bit D7 của cổng giao tiếp song song (Port A)

RA7/OSC1/CLKIN

- Cấp xung nhịp
- Bit D6của cổng giao tiếp song song (Port A)

RA6/OSC2/CLKOUT

- Cấp xung nhịp
- Bit D0 của cổng giao tiếp song song (Port C)

RC0/T1OSO/T1CKI

- Bộ phát xung nhịp từ Timer 1

RC1/T1OSI/CCP2

- Cấp xung nhịp từ bên ngoài cho Timer 1

- Bit D1 của cổng giao tiếp song song (Port C)

14
15

16

- Bộ phát xung nhịp từ bên ngoài cho Timer 1
- Bộ bắt giữ ngõ vào 2 hoặc so sánh ngõ ra 2
hoặc ngõ ra điều rộng xung 2.
- Bit D2 của cổng giao tiếp song song (Port C)

17
RC2/P1A/CCP1

- Ngõ ra điều khiển động cơ (A)
- Bộ bắt giữ ngõ vào 1 hoặc so sánh ngõ ra 1
hoặc ngõ ra điều rộng xung 1
- Bit D3 của cổng giao tiếp song song (Port C)

18

19
20
21
22
23

24


RC3/SCK/SCL

- Xung nhịp ngõ vào hoặc ngõ ra trong chế độ

RD0
RD1
RD2
RD3

truyền
- Bit D0 của cổng giao tiếp song song (Port D)
- Bit D1 của cổng giao tiếp song song (Port D)
- Bit D2 của cổng giao tiếp song song (Port D)
- Bit D3 của cổng giao tiếp song song (Port D)
- Bit D4 của cổng giao tiếp song song (Port C)

RC4/SDI/SDA

- Đường nhập dữ liệu trong mode SPI hoặc

RC5/SDO

đường xuất dữ liệu trong mode I2C- Bit D5 của cổng giao tiếp song song (Port C)
- Đường xuất dữ liệu trong Mode SPI
- Bit D6 của cổng giao tiếp song song (Port C)

25

- Đường truyền dữ liệu nối tiếp bất đồng bộ
RC6/TX/CK


trong chế độ truyền bất đồng bộ.
- Xung nhịp trong chế độ truyền nối tiếp đồng
15


×