ĐẾM SẢN PHẨM HIỂN THỊ LÊN LED MATRIX ĐOẠN SỬ DỤNG CẢM BIẾN HỒNG NGOẠI (code pic + mô phỏng proteus )ĐẾM SẢN PHẨM HIỂN THỊ LÊN LED MATRIX ĐOẠN SỬ DỤNG CẢM BIẾN HỒNG NGOẠI (code pic + mô phỏng proteus )
Trang 1TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
THÁI NGUYÊN KHOA ĐIỆN TỬ
BÀI TIỂU LUẬN
ĐỀ TÀI:
ĐẾM SẢN PHẨM HIỂN THỊ LÊN LED MATRIX ĐOẠN SỬ
DỤNG CẢM BIẾN HỒNG NGOẠI
Giảng viên hướng dẫn : TĂNG CẨM NHUNG
Sinh viên thực hiện : PHẠM HẢI ĐĂNG (NT)
TRIỆU ĐỨC LƯƠNG
Trang 2
TRƯỜNG ĐẠI HỌC KTCN CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN TỬ Độc lập - Tự do - Hạnh phúc
TIỂU LUẬN CUỐI KỲ
MÔN HỌC: HỆ THỐNG NHÚNG
BỘ MÔN: TIN HỌC CÔNG NGHIỆP
Sinh viên: Phạm Hải Đăng Mã số sinh viên: K175520114076 Lớp: K53CĐT.02
Triệu Đức Lương Mã số sinh viên: K175520114098 Lớp: K53CĐT.02
Chuyên ngành: Cơ điện tử
Giáo viên hướng dẫn: Th.S Tăng Cẩm Nhung
1 Tên tiểu luận: Đếm sản phẩm hiển thị lên Led Matrix đoạn sử dụng cảm biến
hồng ngoại
2 Nội dung:
Chương I: Tổng quan về đề tài
Chương II: Khảo sát sơ đồ khối
Chương III: Thiết kế và lập trình
Chương IV: Đánh giá, kết luận và hướng phát triển trong tương lai
3 Các hình ảnh, chương trình:
- Hình ảnh trên các phần mềm PicC, Proteous, Visio
- Hình ảnh minh họa trong các chương
Giáo viên hướng dẫn
(ký và ghi rõ họ tên)
Sinh viên thực hiện
(ký và ghi rõ họ tên) PHẠM HẢI ĐĂNG TRIỆU ĐỨC LƯƠNG
Trang 3CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Tổng quan về hệ thống
Trong kỷ nguyên công nghệ hiện nay, sự phát triển rất mạnh mẽ của khoa học kỹ thuật, các mô hình đếm sản phẩm, băng truyền đếm sản phẩm ra đời dựa vào công nghệ chế tạo vi mạch và lập trình nhúng cho vi điều khiển Vi điều khiển tích hợp nhỏ gọn, giá thành thấp, tính linh động cao, tiết kiệm ngườn năng lượng
Hiện nay, ở Việt Nam và thế giới có rất nhiều loại mô hình đếm sản phẩm, băng truyền đếm sản phẩm đã được thiết kế thi công giúp con người giảm chi phí nhân công, quản lý, công nghiệp tựi động hóa, cung cấp thông tin Mô hình đếm sản phẩm
tự động, giúp bớt được nhiều sức lao động và thời gian, giúp tăng hiệu suất lao động, đồng thời đảm bảo độ chính xác
Ngày nay, các vi điều khiển đã có một bước phát triển mạnh với mật dộ cao, khả năng
xử lý mạnh, tiêu thụ năng lượng ít và giá thành thấp Khi được nạp phần mềm nhúng các vi xử lý này sẽ hoạt động độc lập theo ứng dụng cụ thể
Xuất phát từ những bài học thực từ trên lớp và tham khảo các doanh nghiệp sản xuất, chúng em đã được thấy 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ố lượng sản phẩm làm ra được đế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 hoàn toàn chưa được áp dụng trong những khâu đếm sản phẩm, đóng bao bì mà vẫn còn sử dụng nhận công Từ những điều đã được thấy và khả năng của chúng em, chúng em muốn làm một điều gì nhỏ để góp phần vào giúp người lao động bớt phần mệt nhọc chân tay mà cho phép tăng năng xuất lao động lên gấp nhiều lần, đồng thời đảm bảo được độ chính xác Nên chúng em quyết điịnh chọn đề tài thiết kế mô hình mạch đếm sản phẩm vì nó rất gần gũi với thực tế
Hệ thống chia là 03 phần chính:
- Bộ phận phát hiện sản phẩm
- Bộ phận chuyển đổi và xử lý
- Bộ phận hiển thị
Trang 41.2 Mô tả hoạt động
Hệ thống mạch đếm sử dụng cảm biến hồng ngoại, khi cảm biến phát hiện vật thể thì
sẽ báo trở lại cho vi điều khiển PIC16F877A
PIC 16F877A sẽ xử lý và hiển thị số sản phẩm đếm được ra 3 Led Matrix
1.3 Yêu cầu đối với hệ thống
Để ứng dụng hiệu quả trong thực tế, hệ thống cần đảm bảo những yêu cầu:
- Xác định chính xác sản phẩm
- Hoạt động bền bỉ, ổn định, hạn chế nhiễu và ảnh hưởng của môi trường xung quanh
- Có thể linh hoạt thay đổi để phù hợp với từng điều kiện thực tế
- Thuật toán phải tối ưu, hạn chế lỗi trong quá trình hoạt động
Với những yêu cầu đặt ra như trên, nhóm chúng em lựa chọn vi điều khiển PIC 16F877A bởi vì:
- Vi điều khiển PIC 16F8777A thể đọc giá trị ADC rất phù hợp để thu nhận tín hiệu cảm biến hồng ngoại
- Tốc độ xử lý cao
- Hoạt động ổn định
- Phổ biến, dễ lập trình
- Tính khả dụng và giá thành rẻ
Trang 5CHƯƠNG II: KHẢO SÁT SƠ ĐỒ KHỐI
2.1 Xây dựng sơ đồ khối cho hệ thống
KHỐI CẢM BIẾN KHỐI XỬ LÝ KHỐI GIẢI MÃ KHỐI HIỂN THỊ
Hình 2.1: Sơ đồ khối
Từ nguyên lý hoạt động đã nêu trên, chúng ta dễ dàng xác định được sơ đồ khối cho hệ
thống, từ sơ đồ khối này chúng ta có thể phân chia nhiệm vụ, chọn linh kiện cho từng
khối chức năng
2.2 Phân tích chức năng của từng khối
● Khối cảm biến: có chức năng thu nhận tín hiệu của cảm biến gửi về PIC
● Khối xử lý tín hiệu: xử lý tín hiệu trả về từ cảm biến
● Khối giải mã: có chức năng giải mã xem phát hiện được sản phẩm được từ khối
xử lý tín hiệu sang mã hiển thị lên Led Matrix
● Khối hiển thị: hiển thị kết quả ra Led Matrix
Khi hoạt động thực tế, các khối chức năng phối hợp với nhau theo một quy luật nhất
định, bất kỳ khối nào xảy ra lỗi đều khiến hệ thống hoạt động sai
2.3 Chọn linh kiện cho từng khối chức năng
- Khối cảm biến: Sử dụng 01 cảm biến hồng ngoại
- Khối xử lý, khối giải mã: Sử dụng 01 vi điều khiển PIC 16F877A
- Khối hiển thị: Dùng màn hình 03 Led Matrix
Trang 6CHƯƠNG III: THIẾT KẾ VÀ LẬP TRÌNH
3.1 Thiết kế chương trình mô phỏng trên phần mềm Proteus
Do điều kiện thực tế không cho phép nhóm em làm mạch thật, cho nên nhóm em đã
sử dụng phần mềm Proteus để vẽ mạch và mô phỏng hệ thống Đây là công cụ hữu ích
cho các bạn sinh viên có thể tiếp cận, làm quen với các vi xử lý, vi điều khiển, trước khi làm sản phẩm thật
Hình 3.1 Giao diện phần mềm vẽ mạch Proteus 8.11
Quá trình thực hiện vẽ mạch mô phỏng trên phần mềm Proteus trải qua 04 bước:
Bước 1: Lấy linh kiện
Bước 2: Đấu nối các linh kiện, thành phần với nhau
Bước 3: Hiệu chỉnh, bố trí lại mạch
Bước 4: Nạp chương trình vào cho VĐK và chạy mô phỏng
Trang 73.1.1 Chọn linh kiện cần dùng trong hệ thống
Hình 3.2 Giao diện Pick devices trong Proteus
Hình 3.3 Danh sách các linh kiện đã chọn
Trang 8Danh sách linh kiện sử dụng trong hệ thống:
- PIC16F877A
- 74HC245
- 74HC595
- MATRIX-8X8-GREEN
- BUTTON
- CAP
- CRYSTAL
- RES
3.1.2 Đấu nối và hiệu chỉnh các linh kiện cho hệ thống
Hình 3.4 Hệ thống sau khi đấu nối và bố trí lại mạch
-Khi đấu nối trong phần mềm Proteus, chúng ta có thể đặt tên cho đầu dây để mạch được
gọn gàng hơn Bố trí các phần tử trong phần mềm sao cho hợp lý, đẹp mắt nhất có thể
Trang 93.2 Lập trình cho hệ thống bằng phần mềm CCS
Hình 3.5 Giao diện phần mềm CCS
- Dùng phần mềm CCS để lập trình và biên dịch chương trình cho vi điều khiển Pic 16F877A
Các bước để viết hoàn chỉnh một chương trình cho vi điều khiển Pic:
Bước 1: Tạo 1 Project sử dụng Pic Wizard
Bước 2: Viết chương trình
Bước 3: Kiểm tra lỗi, biên dịch (Compile) để tạo file hex
Trang 10Hình 3.6 Tạo Project Wizard
Hình 3.7 Chọn vi điều khiển, tốc độ nguồn dao dộng
Trang 11Hình 3.8 Giao diện CCS sau khi tạo project và khai báo vi điều khiển
3.3 Chương trình PIC 16F877A
#include <16f877a.h>
#use delay(clock=20M)
#include <HC595.h>
#include <HC595T1.h>
#include <HC595T2.h>
#include <HC595T3.h>
#include <HC595T4.h>
#include <HC595T5.h>
char Mang[10][8]={{0x00,0x7E,0x91,0x89,0x85,0x7E,0x00,0x00},//0
{0x00,0x00,0x82,0xFF,0xFF,0x80,0x00,0x00},//1
{0x00,0x82,0xC1,0xA1,0x91,0x8E,0x00,0x00},//2
{0x00,0x42,0x81,0x89,0x89,0x76,0x00,0x00},//3
Trang 12{0x00,0x00,0x01,0x01,0xF1,0x09,0x07,0x00},//7
{0x00,0x76,0x89,0x89,0x89,0x89,0x76,0x00},//8
{0x00,0x4E,0x91,0x91,0x91,0x89,0x7E,0x00},//9
};
void _HienThiLed(char Index, char Index1,char Index2); void main()
{
char Index;
char Index1;
char Index2;
char dem;
char chuc;
char donvi;
while(TRUE)
{
if(input(PIN_A4)==0)
{
while(input(PIN_A4)==0){};
dem++;
}
if(input(PIN_A5)==0)
{
while(input(PIN_A5)==0){};
dem=0;
}
chuc=dem/10;
donvi=dem%10;
Index=chuc/10;
Trang 13Index2=donvi%10;
_HienThiLed(Index,Index1,Index2);
}
}
void _HienThiLed(char Index , char Index1 ,char Index2) {char MaDich=0x01;//0b00000001 =>0b11111110 char Ma;
char i;
char j;
char Data;
char Data1;
for(i=0;i<=7;i++)
{
j=Index;
Ma =~MaDich;
Data1= Mang[j][i];
HC595_Out1(Data1);
Data = Ma;
HC595_Out(Data);
delay_ms(1);
Data= 0xFF;
HC595_Out(Data);
j=Index1;
Data1= Mang[j][i];
HC595_Out3(Data1);
Trang 14HC595_Out2(Data);
j=Index2;
Ma =~MaDich;
Data1= Mang[j][i];
HC595_Out5(Data1);
Data = Ma;
HC595_Out4(Data);
delay_ms(1);
Data= 0xFF;
HC595_Out4(Data);
MaDich=MaDich<<1;
}
}
3.4 Nạp chương trình vào Pic để chạy mô phỏng
Chọn file hex đã tạo từ trước, Vi điều khiển PIC 16F877A chỉ nhận file hex
Trang 15Hình 3.15 Hệ thống khi hoàn thiện và chạy mô phỏng
Trang 16CHƯƠNG IV: ĐÁNH GIÁ, KẾT LUẬN VÀ HƯỚNG PHÁT
TRIỂN TRONG TƯƠNG LAI
4.1 Đánh giá và kết luận
Sau thời gian nỗ lực không ngừng trong học tập cũng như sự nhiệt tình chỉ bảo của cô
Tăng Cẩm Nhung nhóm chúng em đã hoàn thành được đề tài: “Đếm sản phẩm và hiển
thị lên matrix sử dụng cảm biến hồng ngoại” trong quá trình thực hiện đề tài chúng em
đã đúc kết được nhiều kinh nghiệm quý báu cho bản thân để phục vụ cho chúng em trong quá trình học tập sau này
Đề tài của chúng em có những ưu nhược điểm sau.:
● Ưu điểm
+ Có thể áp dụng mạch này vào thực tế một cách dễ dàng sao cho phù hợp với từng nhu cầu và điều kiện cụ thể
+ Hệ thống hoạt động ổn định, ít bị ảnh hưởng bởi các yếu tổ bên ngoài
+ Việc thiết kế mạch đơn giản và tốn ít chi phí
● Nhược điểm
+ Thuật toán chưa tối ưu
Với những kết quả đạt được như trên, hệ thống rất hữu ích khi ứng dụng trong nghiên cứu lẫn sử dụng thực tế