Trường Đại Học Bách Khoa Hà Nội
Viện Điện
BÁO CÁO
ĐỒ ÁN Ⅰ
Đề bài: Thiết kế bộ đếm sản phẩm theo chiều cao (3 loại chiều cao).
Điểm
Nhận xét
Giảng viên hướng dẫn:
ThS Vũ Thị Huế
Nhóm
4
Hà Nội, 12-2018
1
Nội dung΅
MỞ ĐẦU............................................................................................................................ 3
I.
Đặt vấn đề....................................................................................................................4
1. Lý do chọn đề tài..........................................................................................................4
2. Mục đích nghiên cứu....................................................................................................4
3. Ứng dụng của đề tài.....................................................................................................4
II.
Thiết kế..................................................................................................................... 5
1. Thiết kế phần cứng.......................................................................................................5
a.
Sơ đồ khối....................................................................................................................5
b. Chi tiết các khối, lựa chọn linh kiện.............................................................................5
2. Thiết kế phần mềm.......................................................................................................9
a.
Lưu đồ thuật toán.........................................................................................................9
b. Mô phỏng trên proteus...............................................................................................10
III.
Kết quả.................................................................................................................... 11
1. Mạch in...................................................................................................................... 11
2. Hình ảnh sản phẩm....................................................................................................12
IV.
Thử nghiệm............................................................................................................. 13
1. Môi trường lý tưởng...................................................................................................13
2. Môi trường trong phòng nhiều đèn chiếu...................................................................13
3. Môi trường ngoài trời buổi sáng................................................................................13
V.
Đánh giá..................................................................................................................14
1. Kết luận......................................................................................................................14
2. Ưu nhược điểm...........................................................................................................14
3. Hướng phát triển đề tài..............................................................................................14
VI.
Phụ lục.................................................................................................................... 15
Chương trình điều khiển (code C).....................................................................................15
2
MỞ ĐẦU
Trong thời đại công nghệ phát triển mạnh mẽ, các thiết bị số đang có vai trò quan
trọng đối với công nghiệp cũng như đời sống con người và đang dần chiếm ưu thế về số
lượng và chủng loại.
Công nghệ số có được ứng dụng trong nhiều lĩnh vực của cuộc sống, chủ yếu làm
các nhiệm vụ chính như: đo lường, điều khiển cơ cấu máy, truyền thông giữa các thiết bị,
… tạo sự tiện dụng cho con người khi sử dụng các thiết bị điện tử. Một trong những ứng
dụng tiện ích của kỹ thuật số đó là chức năng đếm với các mạch đếm như đếm sản phẩm,
đếm số người vào phòng, thang máy hay đếm số người ra vào cổng, … Đó đều là những
ứng dụng rất thực tế. Và trong đồ án này chúng em đã được nghiên cứu về mạch đếm sản
phẩm.
Đồ án đã được thực hiện nhằm làm rõ hơn bản chất của vi điều khiển đối với việc
điều khiển một quá trình và bản chất cấu thành của một hệ thống vi điều khiển. Từ kiến
thức đã học đồng thời tham khảo thêm thông tin từ nhiều nguồn, cùng với sự trợ giúp của
thầy cô và bạn bè. Với kiến thức có hạn không thể tránh khỏi những thiếu sót khi thực
hiện, mong cô và mọi người góp ý cho đề tài này thêm hoàn chỉnh.
Qua đây, xin cảm ơn ThS Vũ Thị Huế đã giúp đỡ chúng em trong quá trình thực
hiện đề tài.
Xin chân thành cảm ơn!
3
I.
Đặt vấn đề
1. Lý do chọn đề tài
Ngày nay, cùng với sự phát triển của khoa học kỹ thuật nói chung và kỹ thuật điện
nói riêng, kỹ thuật số đóng vai trò quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản
lý, công nghiệp hóa tự động hóa. Do đó chúng ta phải nắm bắt vận dụng nó một cách có
hiệu quả nhằm góp phần cho sự phát triển của khoa học kỹ thuật điện tử nói chung.
Việc áp dụng lĩnh vực điện tử vào ngành sản xuất sản phẩm gia dụng trong nhà và
các hệ thống quản lý đang được đưa vào ứng dụng rộng rãi hơn và phù hợp hơn với chức
năng cụ thể của nó làm tăng năng suất cho dây truyền làm việc. Phù hợp với tiến trình
công nghiệp hóa hiện đại hóa nền công nghiệp nước ta.
Trong thực tế các nhà máy sản xuất lớn đã ứng dụng việc đếm sản phẩm trong trong
khâu đóng gói sản phẩm bằng các mạch điện tử làm tăng năng suất lao động và giảm chi
phí nhân công, tự động hóa dây truyền công nghiệp, chính xác hóa trong sản xuất.
Do đó chúng em chọc đề tài “ Thiết kế bộ đếm và phân loại sản phẩm theo chiều
cao” là mô phỏng của hệ thống đếm sản phẩm trong dây truyền công nghiệp. Với đề tài
này chúng em chọn mạch đếm sản phầm dùng vi điều khiển 8051 (cụ thể là at89s52) mà
chúng em đã được học trong môn Vi điều khiển và ứng dụng.
2. Mục đích nghiên cứu
Tìm hiểu về các hệ thống đếm sản phẩm
Phân tích được sơ đồ nguyên lý
Nâng cao kỹ năng lập trình vi điều khiển
Phát triển khả năng tư duy trong quá trình nghiên cứu
3. Ứng dụng của đề tài
Mạch đếm sản phẩm được ứng dụng khá rộng rãi trong các dây truyền sản xuất công
nghiệp. Nó đáp ứng yêu cầu đếm và thống kê chính xác các loại sản phẩm khác nhau
trong sản xuất hàng loạt và liên tục.
4
II.
Thiết kế
1. Thiết kế phần cứng
a. Sơ đồ khối
KHỐI NGUỒN
KHỐI TÍN HIỆU
KHỐI XỬ LÝ
KHỐI HIỂN THỊ
Hình 2. 1: Sơ đồ khối
b. Chi tiết các khối, lựa chọn linh kiện
Khối nguồn: gồm các linh kiện tác động đến công suất, dòng điện cung cấp năng
lượng thích hợp cho mô hình hệ thống.
Hình 2. 2: Adapter AC DC
5
Khối tín hiệu: Là cảm biến vật cản hồng ngoại phát hiện vật thể và truyền tín hiệu
về khối xử lý để mã hóa dữ liệu.
Hình 2. 3: Cảm biến vật cản hồng ngoại
Cảm biến có khả năng nhận biết vật cản ở môi trường với một cặp LED thu phát
hồng ngoại để truyền và nhận dữ liệu hồng ngoại. Tia hồng ngoại phát ra với tần số nhất
định, khi có vật cản trên đường truyền của LED phát nó sẽ phản xạ vào LED thu hồng
ngoại, khi đó LED báo vật cản trên module sẽ sáng, khi không có vật cản, LED sẽ tắt.
Với khả năng phát hiện vật cản trong khoảng 2 ~ 30cm và khoảng cách này có thể
điều chỉnh thông qua chiết áp trên cảm biến cho thích hợp với từng ứng dụng cụ thể như:
xe dò line, xe tránh vật cản, …
Thông số kỹ thuật
+
+
+
+
+
+
+
+
+
IC so sánh: LM393
Điện áp: 3.3V - 6VDC
Dòng tiêu thụ:
Vcc = 3.3V: 23 mA
Vcc = 5.0V: 43 mA
Góc hoạt động: 35°
Khoảng cách phát hiện: 2 ~ 30 cm
LED báo nguồn và LED báo tín hiệu ngõ ra
Mức logic ngõ ra:
o Mức thấp - 0V: khi có vật cản
o Mức cao - 5V: khi không có vật cản
+ Kích thước: 3.2cm x 1.4cm
Khối xử lý: Vi điều khiển at89c52 xử lý tín hiệu từ cảm biến và xuất dữ liệu được
mã hóa đến các khối hiển thị.
6
Hình 2. 4: Vi điều khiển At89c52
AT89C52 có 8 Kbyte bộ nhớ FLASH ROM bên trong để lưu chương trình, vì
vậy Vi điều khiển có khả năng nạp xóa chương trình bằng điện lên đến 1000 lần.
Dung lượng RAM 128 byte, AT89C52 có 4 Port xuất/nhập 8 bit, có 2 bộ định thời 16
bit. Ngoài ra AT89C52 còn có khả năng giao tiếp dữ liệu nối tiếp, có thể mở rộng
không gian nhớ chương trình và nhớ dữ liệu ngoài lên đến 64 Kbyte.
Thông số kỹ thuật:
+
+
+
+
+
+
+
+
Họ vi điều khiển 8 bit
Điện áp cung cấp: 4-6V
Tần số hoạt động : 24 Mhz
Bộ nhớ : 8 Kb Flash, 256 Bytes SRAM
Timer/Counter : 3 bộ 16 bit
32 chân I/O lập trình được
8 nguồn ngắt khác nhau
Kiểu chân : PDIP40
Khối hiển thị: LCD 16x2 hiển thị số lượng đếm được từ cảm biến
7
Hình 2. 5: Màn hình LCD 16x2
LCD 16x2 một sản phẩm quen thuộc với những người mới học và muốn thực hiện
các dự án về điện tử, lập trình. Với khả hiển thị 2 dòng với mỗi dòng 16 ký tự, đồng thời
có rất nhiều ví dụ mẫu được cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử dụng
làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc phát triển ứng dụng của
mình.
Thông số kỹ thuật
+
+
+
+
+
+
+
Điện áp MAX : 7V.
Điện áp MIN : -0,3V.
Hoạt động ổn định : 2.7-5.5V.
Điện áp ra mức cao : > 2.4V.
Điện áp ra mức thấp : <0.4V.
Dòng điện cấp nguồn : 350uA - 600uA.
Nhiệt độ hoạt động : -30 - 75 độ C.
8
2. Thiết kế phần mềm
a. Lưu đồ thuật toán
Bắt đầu
Ấn start
S
Đ
S
Cảm biến thấp
Đ
Thấp cộng 1
Cảm biến vừa
S
Đ
Hiển thị
Thấp trừ 1
Vừa cộng 1
Cảm biến cao
Đ
Vừa trừ 1
Cao cộng 1
S
Ấn stop
S
Đ
Kết thúc
9
Bước 1: Bắt đầu chương trình, kiểm tra bấm nút start, nếu sai thì quay lại kiểm tra đã
bấm nút start hay chưa, nếu đúng chuyển sang bước 2.
Bước 2: Kiểm tra cảm biến vị trí thấp, nếu sai lặp lại quá trình kiểm tra cảm biến thấp,
nếu đúng thì chuyển sang bước 3.
Bước 3: Biến đếm vật thấp cộng 1 rồi chuyển sang bước 4.
Bước 4: Kiểm tra cảm biến vật ở vị trí vừa, nếu sai thì chuyển đến bước 8, nếu đúng
thì chuyển sang bước 5.
Bước 5: Biến đếm vật thấp trừ 1, biến đếm vật cao cộng 1 rồi chuyển sang bước 6.
Bước 6: Kiểm tra cảm biến vật ở vị trí cao, nếu sai thì chuyển đến bước 8, nếu đúng
thì chuyển sang bước 7.
Bước 7: Biến đếm vật vừa trừ đi 1, biến đếm vật cao cộng 1 rồi chuyển sang bước 8.
Bước 8: Hiển thị giá trị vật cao, vừa và thấp rồi chuyển sang bước 9.
Bước 9: Kiểm tra nút bấm stop, nếu sai thì quay lại bước 2, nếu đúng thì kết thúc
chương trình .
b. Mô phỏng trên proteus
Hình 2. 6: Mô phỏng bằng phần mềm Proteus
10
III.
Kết quả
1. Mạch in
Hình 3. 1: Mạch in 2D
Hình 3. 2: Mạch in 3D
Hình 3. 3: Mạch in thu được
11
2. Hình ảnh sản phẩm
Hình 3. 4: Hình ảnh sản phẩm thu được
Hình 3. 5: Hình ảnh sản phẩm thu được
12
IV.
Thử nghiệm
1. Môi trường lý tưởng
Trường hợp này cho hệ thống làm việc trong môi trường ánh sang yếu.
Thí nghiệm với số lượng và thứ tự sản phẩm là bất kì.
Kết quả của quá trình thí nghiệm được ghi lại trong bảng 4.1.
Lần
thứ
1
2
3
4
5
Số sản phẩm được chọn
Cao
Vừa
Thấp
2
3
4
4
3
3
5
5
5
4
2
3
2
5
4
Cao
2
4
5
4
2
Kết quả thu được
Vừa
3
3
5
2
5
Thấp
4
3
5
3
4
Bảng 4. 1: Kết quả thử nghiệm trong môi trường lý tưởng
2. Môi trường trong phòng nhiều đèn chiếu
Trường hợp này cho hệ thống làm việc trong phòng với nhiều đèn chiếu sang từ trên
cao xuống.
Thí nghiệm với số lượng và thứ tự sản phẩm bất kỳ.
Kết quả của quá trình thử nghiệm được ghi lại trong bảng 4.2.
Lần
thứ
1
2
3
4
5
Số sản phẩm được chọn
Cao
Vừa
Thấp
2
1
3
3
3
3
4
2
2
1
2
2
2
3
1
Cao
2
2
3
1
2
Kết quả thu được
Vừa
2
3
2
2
3
Thấp
4
4
2
2
1
Bảng 4. 2: Kết quả thử nghiệm trong môi trường trong phòng nhiều đèn chiếu sáng
3. Môi trường ngoài trời buổi sáng
Trường hợp này cho hệ thống làm việc vào buổi sáng lúc trời có ánh nắng.
Thí nghiệm với số lượng và thứ thự sản phẩm bất kỳ.
Kết quả của quá trình thí nghiệm được ghi lại trong bảng 4.3.
Lần
Số sản phẩm được chọn
Kết quả thu được
13
thứ
1
2
3
4
5
Cao
3
3
2
1
4
Vừa
1
3
3
2
2
Thấp
2
3
4
3
3
Cao
2
3
2
1
4
Vừa
1
2
3
3
2
Thấp
2
3
3
3
3
Bảng 4. 3: Kết quả thử nghiệm trong môi trường ngoài trời buổi sáng
V.
Đánh giá
1. Kết luận
Hệ thống chỉ có thể làm việc tốt trong môi trường có ánh sáng yếu, trong các môi
trường khác kết quả thu được hầu như là không chính xác. Nguyên nhân là do cảm biến
vật cản hồng ngoại dễ bị tác động bởi ánh sáng từ môi trường xung quanh.
2. Ưu nhược điểm
Ưu điểm:
Giá thành rẻ.
Số đếm chính xác, hiển thị rõ ràng (trong môi trường lý tưởng).
Mạch điện không quá phức tạp.
Đảm bảo được sự an toàn về điện.
Dễ dàng sử dụng.
Nhược điểm:
Bo mạch chưa hoàn toàn tối ưu.
Chưa mang tính công nghiệp.
Cảm biến dễ bị nhiễu.
Khó đếm sản phẩm có độ phản xạ hồng ngoại kém
3. Hướng phát triển đề tài
Đây là một đề tài khá hay và được ứng dụng rất rộng rãi.
Trong thực tế có rất nhiều dây chuyền phân loại sản phẩm sử dụng đặc tính khác
nhau của sản phẩm như: phân loại sản phẩm theo kích thước, theo màu sắc, theo
trọng lượng,…
Hiện nay, trên thị trường có rất nhiều loại cảm biến như cảm biến vật liệu, cảm
biến quang, cảm biến điện dung, cảm biến từ tiệm cận,… được dùng rất nhiều
trong các nhà máy xí nghiệp. Từ đề tài mà chúng em vừa thực hiện có thể phát
triển lên rất nhiều cấp độ và hướng khác nhau để đề tài có tính tối ưu và thực tế
hơn.
Trong thực tế khi đếm sản phẩm ta có thể áp dụng đồng thời nhiều cảm biến để quá
trình phân loại tối ưu và phù hợp hơn với yêu cẩu của công nghệ
14
VI.
Phụ lục
Chương trình điều khiển (code C)
#include
#define LCD_RS P2_0
#define LCD_RW P2_1
#define LCD_EN P2_2
#define LCD_D4 P2_4
#define LCD_D5 P2_5
#define LCD_D6 P2_6
#define LCD_D7 P2_7
#define cb1 P3_0
#define cb2 P3_1
#define cb3 P3_2
void delay_us(unsigned int t){
unsigned int i;
for(i=0;i>1)&1;
LCD_D6=(Data>>2)&1;
LCD_D7=(Data>>3)&1;
}
// Ham Gui 1 Lenh Cho LCD
void LCD_SendCommand(unsigned char command){
LCD_Send4Bit(command >>4);
/* Gui 4 bit cao */
LCD_Enable();
LCD_Send4Bit(command);
/* Gui 4 bit thap*/
LCD_Enable();
}
void LCD_Clear(){
// Ham Xoa Man Hinh LCD
LCD_SendCommand(0x01);
delay_us(10);
}
// Ham Khoi Tao LCD
void LCD_Init(){
LCD_Send4Bit(0x00);
delay_ms(20);
LCD_RS=0;
LCD_RW=0;
16
LCD_Send4Bit(0x03);
LCD_Enable();
delay_ms(5);
LCD_Enable();
delay_us(100);
LCD_Enable();
LCD_Send4Bit(0x02);
LCD_Enable();
LCD_SendCommand( 0x28 );
LCD_SendCommand( 0x0c);
LCD_SendCommand( 0x06 );
LCD_SendCommand(0x01);
}
void LCD_Gotoxy(unsigned char x, unsigned char y){
unsigned char address;
if(y==0)address=(0x80+x);
if(y==1)address=(0xC0+x);
if(y==2)address=(0xC5+x);
if(y==3)address=(0xC9+x);
if(y==4)address=(0xCD+x);
delay_us(1000);
LCD_SendCommand(address);
delay_us(50);
}
void LCD_PutChar(unsigned char Data){
LCD_RS=1;
LCD_SendCommand(Data);
LCD_RS=0 ;
17
}
void LCD_Puts(char *s){
while (*s){
LCD_PutChar(*s);
s++;
}
}
void intro(){
LCD_Gotoxy(0,0);
LCD_Puts(" DO AN 1");
delay_ms(1000);
LCD_Gotoxy(0,1);
LCD_Puts(" DEM SAN PHAM");
delay_ms(1000);
LCD_Clear();
}
void main(){
int cao=0,vua=0,thap=0;
cb1=cb2=cb3=1;
LCD_Init();
delay_ms(20);
intro();
LCD_Gotoxy(0,0);
LCD_Puts(" SP CAO-VUA-THAP");
delay_ms(10);
while(1){
18
if(cb3==0){
while(!cb3);
thap++;
}
if(cb2==0){
while(!cb2);
vua++;
thap--;
}
if(cb1==0){
while(!cb1);
cao++;
vua--;
}
LCD_Gotoxy(0,2);
if(cao<10) LCD_PutChar(cao+48);
else{
LCD_PutChar(cao/10+48);
LCD_PutChar(cao%10+48);
}
delay_us(10);
LCD_Gotoxy(0,3);
if(vua<10) LCD_PutChar(vua+48);
if(vua>=10){
LCD_PutChar(vua/10+48);
LCD_PutChar(vua%10+48);
}
delay_us(10);
19
LCD_Gotoxy(0,4);
if(thap<10) LCD_PutChar(thap+48);
if(thap>=10){
LCD_PutChar(thap/10+48);
LCD_PutChar(thap%10+48);
}
delay_us(10);
}
}
20
- Xem thêm -