Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 16 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
16
Dung lượng
1,56 MB
Nội dung
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO HỆ THỐNG NHÚNG ĐỀ TÀI:THIẾT KẾ HỆ THỐNG ĐẾM SẢN PHẨM Giảng viên hướng dẫn : TS.Nguyễn Trọng Đức Sinh viên Thực Hiện : Nguyễn Bá Mạnh- 45316 Đào Trung AnhLê Tường Sơn - 45328 Trần Thái Long- HẢI PHÒNG 2016 MỤC LỤC Chương 1.MỞ ĐẦU Ngày nay, công nghệ thông tin phát triển với tốc độ nhanh chóng, trở thành ngành công nghiệp mũi nhọn giới Việt Nam Việc tin học hoá ứng dụng rộng rãi nhiều lĩnh vực khoa học công nghệ, kinh tế, quân nhiều ngành, nghề khác Trên thị trường nay, doanh nghiệp phải tăng cường tối đa hiệu cung cấp dịch vụ mình, để đạt mục tiêu này, họ phải dựa vào tài sản lớn nguồn nhân lực Các công tác quản lý, chấm công theo phương pháp thủ công không khả đáp ứng nhu cầu thực tế công việc đòi hỏi, việc ứng dụng tin học vào công tác quản lý cần thiết, đạt hiệu cao thời gian, không gian đem lại lợi ích kinh tế, thuận tiện cho người sử dụng đảm bảo tính xác, minh bạch thông tin Mặt khác, công nghệ “Đếm sản phẩm tự động” trở lên phổ biến công ty, doanh nghiệp sản xuất sản phẩm, cửa hàng, ngân hàng… thiết bị giá thành ngày rẻ Với ưu điểm nhóm em lựa chọn đề tài: “ Thiết kế hệ thống đếm sản phẩm tự động” làm đề tài làm đề tài tập lớn bọn em Mục tiêu đề tài nhằm xây dựng hệ thống bao gồm khối phần cứng phần mềm kèm đáp ứng chức đếm số lượng sản phẩm cách xác thay cho người, từ đưa đến cách nhìn tổng quát cho chủ doanh nghiệp hoạt động doanh nghiệp Chương 2.CÁC KHỐI CHÍNH VÀ CHỨC NĂNG 2.1 SƠ ĐỒ KHỐI CỦA HỆ THỐNG Khối Thiết Bị Khối Xử Lý Tín Đọc Tín Hiệu Hiệu Khối Hiển Thị Kết Quả 2.1.1 Khối thiết bị đọc tín hiệu Là khối nhận biết vật cản (sản phẩm) phát tín hiệu điều khiển khối vi điều khiển, ta sử dụng led thu-phát hồng ngoại để làm công việc • Khối gồm có thiết bị: 1quang trở CDS 5MM, đèn led phát quang, điện trở 10k ôm Quang trở: quang trở xem điệ trở ta chiếu ánh sáng vào hiệu điện tăng đồng nghĩa với việc điện trở tăng(U=IR) • Cơ chế hoạt động khối Khi hệ thống mở đèn led sáng chiếu thẳng vào quang trở lúc hiệu điện quang trở đạt lớn giá trị hiệu điện gửi cho khối xử lý tín hiệu Khi có sản phẩm qua, sản phẩm che ánh sáng từ đèn led chiếu đến quang trở điện trở quang trở lúc giảm xuống đồng nghĩa vs việc hiệu điện giảm giá trị lại gửi khối xử lý tín hiệu 2.1.2 Khối xử lý Là hận tín giá trị điện thay đổi gửi từ khối thiết bị đọc tín hiệu • Khối gồm có : sử dụng mạch phát triển Arduino Uno R3 - Khối chuyển đổi Serial – USB: giao tiếp COM ảo qua cổng USB, nạp chương - trình Khối nguồn: cân điện áp cho với điện áp yêu cầu, cung cấp nguồn điện - cho toàn hệ thống Các cổng điện áp: cung cấp điện áp đầu cho thiết bị Các cổng Analog in: cổng logic 0-1 vào với mức điện 0-5V tương ứng Khối cổng Digital in-out: nhận điện áp vào xuất điện áp Các cổng xuất xung PWM - Thông tin: Vi điều khiển ATmega328 Điện áp hoạt động 5V – DC Tần số hoạt động 16 MHz Dòng tiêu thụ 30 mA Điện áp khuyên dùng 7-12V – DC Điện áp giới hạn 6-20V – DC Số chân Digital 14 ( chân PWM) Số chân Analog Dòng tối đa chân I/O 30 mA Dòng tối đa chân 5V 500 mA Dòng tối đa chân 3.3V 50 mA Bộ nhớ Flash 32KB (0.5 KB sử dụng làm bootloader) SRAM KB EEPROM KB • Thông tin chi tiết Arduino Uno R3 - Vi điều khiển Arduino Uno sử dụng vi kiều khiển họ 8bit ATmega8, ATmega168, ATmega328 Điểm khác biệt vi điều khiển dung lượng nhớ Flash Trong hệ thống ta sử dụng ATmega328 Hình ảnh Atmega 328 sơ đồ chân kết nối Đặc điểm: - Cấu trúc RISC với khoảng 133 lệnh ASM, hầu hết thực chu kỳ máy - 32 ghi đa làm việc vùng nhớ tốc độ cao Tốc độ thực lệnh tối đa 16 MIPS (với thạch anh 16MHz, không chia tần) - 32KB nhớ Flash, dùng làm nhớ chương trình, cho phép nạp xoá 1KBytes EEPROM, dùng để lưu biến không cấp điện 2KB SRAM dùng để lưu kết trung gian, làm nhớ vào dùng cho stack - Giao diện JTAG, cho phép nạp xoá Flash 10.000 lần, EEPROM - 100.000 lần, Fulse Bits, Lock Bits Các chức ngoại vi tích hợp sẵn: Timer bits với nhiều chế độ hoạt động, Timer 16 bits có chia tần riêng, chế độ đếm, định thời, so sánh (compare mode) bắt giữ (capture mode) - Bộ đồng hồ thời gian thực - kênh điều chế độ rộng xung PWM có độ phân giải 8bit - kênh điều chế độ rộng xung PWM có độ phân giải đến 16 bits - Bộ ADC 10bit - Chuẩn giao tiếp TWI (I2C) - Chuẩn truyền thông USART • Cơ chế hoạt động Sau nhận giá trị điện áp quang trở gửi chân ANALOG IN A0 từ khối đọc tín hiệu, giá trị điện áp nhỏ 900mv số lượng sản phẩm cộng thêm nghĩa sản phẩm qua khối đọc tín hiệu ,ngược lại giá trị điện áp lớn 900mV số lượng sản phẩm giữ nguyên nghĩa sản phẩm chưa qua khối đọc tín hiệu Tiếp theo sau nhận xử lý tín hiệu điện xong khối tiếp tục xử lý biến số lượng thành dạng chuỗi gửi cho khối hiển thị kết 2.1.3 Khối hiển thị kết Là khối hiển thị biến đếm dạng chuỗi hình sau gửi từ khối xử lý • Khối sử dụng hình Module LCD5110 xanh chữ đen (84x84) • Màn hình 5110 LCD Graphic có tát 84x48 điểm ảnh (pixel) driver IC PCD8544 - Thứ tự chức chân LCD NOKIA 5110 1:RST:Chân reset LCD 2: CE: Chân cho phép không cho phép LCD hoạt động 3: DC: Chân chọn liệu gửi đến LCD lệnh liệu để hiển thị hình 4: DIN: Chân truyền liệu theo chuẩn SPI 5: CLK: Chân truyền xung nhịp theo chuẩn SPI 6: VCC: Chân cấp nguồn cho LCD 7: BL: Chân cấp nguồn cho led hình LCD 8: GND: Chân mass - Ngoài chuẩn SPI với đường tín hiệu chuẩn ( CS (CE), SCK(CLK), MOSI(DI)) Nokia LCD cần thêm đường nữa, D/C - (Data/Command) RST (Reset) Giao tiếp với LCD NOKIA 5110 Quá trình gửi liệu từ vi điều khiển đến LCD NOKIA 5110 chia làm chế độ Chế độ gửi lệnh điiều khiển LCD chế độ gửi liệu hiển thị LCD Đường tín hiệu DC cho phép chọn chế độ Nếu DC=0: liệu gửi đến LCD lưu vào ghi Command Thanh ghi Command lưu trữ thực thi lệnh dùng để điều khiển hoạt động Nokia LCD (dữ liệu không hiển thị hình) Nếu DC=1: liệu gửi đến LCD lưu vào ghi Data Thanh hi Data lưu trữ giá trị liệu hiển thị lên hình LCD Tín hiệu reset LCD tạo chân RST kéo xuống mức thâp (tức RST=0) Khi truyền liệu, có tín hiệu reset LCD trình truyền bị hủy Cho đến chân RST mức cao (tức RST=1), chu kì xung clock tiếp theo, trinh truyền liệu byte vừa bị hủy thực 10 Khi đường tín hiệu CE mức cao (tức CE=1), LCD không chấp nhận liệu từ VĐK gửi đến hay liệu lệnh lúc không ảnh hưởng đến LCD Khi đường tín hiệu CE mức thấp (tức CE=0) data gửi đến LCD chấp nhận Sau chu kì xung clock (xung cạnh lên) bit liệu dịch vào LCD chân DIN Chân CE phải giữ mức thấp(tức CE=0) việc gửi liệu đến LCD hoàn tất - Một số lệnh điều khiển LCD NOKIA 5110 • Lệnh Function set : Set chế độ hoạt động cho LCD Các lệnh chế độ cho phép sử dụng lệnh (khi H=0) Lệnh Set địa dòng (set Y address) LCD Nokia 5110 hiển thị dòng (0 ->5), cần bit Y2, Y1, Y0, để chứa giá trị lựa chọn dòng hiển thị - Lệnh Set địa cột (Set X address) 10 11 LCD Nokia 5110 có tất 84 cột (0 ->83), nên cần đến bít (X0->X6 ) để chứa giá trị lựa chọn cột hiển thị - Lệnh cài đặt hiển thị (Display Control) ý nghĩa bit D, E : • Các lệnh chế độ cho phép sử dụng lệnh bổ sung (H=1) Lệnh Set Bias (CommandBias System ) Đây lệnh để thiết lập giá trị Bias xác định Bit BS2, BS1 BS0 11 12 - Lệnh Set điện áp hoạt động cho LCD (Set Vop) Các bạn set bit từ Vop6 ->Vop0 để chọn điện áp hoạt động cho LCD, dựa vào công thức sau với giá trị a, b là: a=3.06, b=0.06 12 13 Ví dụ: Để chọn điện áp hoạt động LCD 5V, ta làm sau: Theo công thức ta có: 5V = 3.06 + (Vop6 ->Vop0)*0.06 từ suy ra: (Vop6 ->Vop0) =32,33 Ta chọn số nguyên 32 hay 20H=0100000B Vậy, giá trị đưa vào LCD để set giá trị điên áp cho LCD là: 11000000B hay C0h Có số lệnh khác chế độ H=1 a Ưu điểm thiết bị: Hồng Ngoại Thu Phát tín Hiệu: nhỏ gọn, dễ kết nối, hoạt động hiệu Arduino Uno: nhỏ gọn, mạch làm với hệ thống máy đại, đảm bảo mối hàn bảo vệ Có sẵn khối chuyển đổi Serial – USB giao tiếp trực tiếp với máy tính không cần thêm chuyển đổi RS232 Sử dụng trực tiếp nguồn điện từ cổng USB không cần lắp bổ sung thêm nguồn phụ Dễ dàng tháo lắp, thay đổi chip xử lý (AVR họ bit) Nạp chương trình trực tiếp thông qua chip ATmega16U2 gẵn mạch nạp sẵn firmware Ngôn ngữ lập trình dựa theo C/C++ đơn giản, dễ hiểu; chương trình lập trình tiện dụng, tích hợp sẵn Serial Monitor Màn Hình Module LCD5110: Nhỏ gọn dễ kết nối hiển thị đầu đủ thông tin người sử dụng yêu cầu • 13 14 Chương 3.Hệ thống điều khiển 3.1 Lưu đồ thuật toán Lưu đồ thuật toán vi xử lý - Hoạt động hệ thống: Bước 1: Khởi tạo phiên truyền thông, khởi tạo thiêt bị, kết nối Bước 2: Khởi tạo đếm i=0 Bước 3: Tiếp nhận 32bit liệu từ đọc Bước 4: Kiểm tra xem i hay chưa, chưa quay lại bước Bước 5: Nếu i=5, tiến hành gửi liệu tới server Đồng thời Speaker (Pin 3) - kêu Bước 6: Kết thúc tiếp nhận xong liệu 14 15 3.2 Sơ đồ phần cứng 3.3 Code chương trình nạp mạch Arduino Ở sử dụng phần mềm lập trình Arduino phần mềm lập trình dành riêng cho dòng Kit Arduino // // // // // // // MOSI or DIN - Pin arduino DC - Pin arduino RST - Pin arduino CS or CE - Pin arduino VCC - 3.3 volt arduino BL - volt arduino GND- ground of arduino #include LCD5110 myGLCD(7,6,5,3,4); extern uint8_t SmallFont[]; extern uint8_t BigNumbers[]; int dem=0; void setup() { myGLCD.InitLCD(); 15 16 myGLCD.setFont(SmallFont); myGLCD.print("SO LUONG:", CENTER, 0); myGLCD.print("NHOM K53", CENTER, 38); myGLCD.setFont(BigNumbers); myGLCD.print(String(0), CENTER, 10); myGLCD.update(); Serial.begin(9600); } void loop() { delay(1000); Serial.println(analogRead(1)); if(analogRead(1)[...]... dụng, tích hợp sẵn Serial Monitor Màn Hình Module LCD5110: Nhỏ gọn dễ kết nối hiển thị đầu đủ thông tin người sử dụng yêu cầu • 13 14 Chương 3 .Hệ thống điều khiển 3.1 Lưu đồ thuật toán Lưu đồ thuật toán trên bộ vi xử lý - Hoạt động của hệ thống: Bước 1: Khởi tạo phiên truyền thông, khởi tạo các thiêt bị, kết nối Bước 2: Khởi tạo bộ đếm i=0 Bước 3: Tiếp nhận 32bit dữ liệu từ bộ đọc Bước 4: Kiểm tra xem... LCD để set giá trị điên áp cho LCD là: 11000000B hay C0h Có 1 số lệnh khác trong chế độ H=1 a Ưu điểm của các thiết bị: Hồng Ngoại Thu và Phát tín Hiệu: nhỏ gọn, dễ kết nối, hoạt động hiệu quả Arduino Uno: nhỏ gọn, mạch được làm với hệ thống máy hiện đại, đảm bảo các mối hàn luôn được bảo vệ Có sẵn khối chuyển đổi Serial – USB giao tiếp trực tiếp với máy tính không cần thêm bộ chuyển đổi RS232 Sử dụng... Serial.begin(9600); } void loop() { delay(1000); Serial.println(analogRead(1)); if(analogRead(1)