Đồ án Giám sát và phân loại sản phẩm theo màu sắc dùng Kit Arduino (Phần 1)
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Giám sát và phân loại sản phẩm theo màu sắc dùng Kit Arduino (Phần 1)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
do_an_giam_sat_va_phan_loai_san_pham_theo_mau_sac_dung_kit_a.pdf
Nội dung text: Đồ án Giám sát và phân loại sản phẩm theo màu sắc dùng Kit Arduino (Phần 1)
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG GIÁM SÁT VÀ PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC DÙNG KIT ARDUINO GVHD: ThS. NGUYỄN TRƯỜNG DUY SVTH: HUỲNH THANH THOẠI MSSV: 11141424 SVTH: PHẠM CÔNG ĐỨC MSSV: 11141055 S K L 0 0 4 2 0 3 Tp. Hồ Chí Minh, tháng 1/2016
- TRƯỜNG ĐH SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM TP. HỒ CHÍ MINH ĐỘC LẬP - TỰ DO - HẠNH PHÚC KHOA ĐIỆN-ĐIỆN TỬ Tp. HCM, ngày 17 tháng 10 năm 2015 CHƯƠNG 1 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Huỳnh Thanh Thoại MSSV: 11141424 Phạm Công Đức MSSV: 11141055 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 01 Hệ đào tạo: Đại học chính quy Mã hệ: 1 Khóa: 2011 Lớp: 111411DT I. TÊN ĐỀ TÀI: GIÁM SÁT VÀ PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC DÙNG KIT ARDUINO II. NHIỆM VỤ 1. Các số liệu ban đầu: -Tham khảo và tìm hiểu các lập trình Arduino, webserver. -Tìm hiểu dây chuyền sản xuất trong các nhà máy xí nghiệp. 2. Nội dung thực hiện: Thiết kế và thi công mô hình phân loại sản phẩm theo màu sắc và khối lượng. Màu sắc thì được chia làm 2 loại: xanh và đỏ, trong màu sắc sẽ được chia thành 2 loại là đạt chuẫn và không đạt chuẫn dựa vào khối lượng. Số lượng sản phẩn được hiển thị trên web. III. NGÀY GIAO NHIỆM VỤ: 17/10/2015 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 1/5/2016 V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: Ths. Nguyễn Trường Duy CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP iv
- LỜI CẢM ƠN Trong thời gian thực hiện đề tài, những người thực hiện được sự giúp đỡ của gia đình, quý thầy cô và bạn bè nên đề tài đã được hoàn thành. Những người thực hiện xin chân thành gửi lời cảm ơn đến: Thầy Nguyễn Trường Duy, giảng viên trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM đã trực tiếp hướng dẫn và tận tình giúp đỡ tạo điều kiện để nhóm có thể hoàn thành tốt đề tài. Những người thực hiện cũng xin chân thành cám ơn đến các thầy cô trong khoa Điện-Điện tử của trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM đã tận tình dạy dỗ, chỉ bảo, cung cấp cho những người thực hiện những kiến thức nền, chuyên môn làm cơ sở để hoàn thành đề tài này. Cảm ơn gia đình đã động viên và luôn luôn bên cạnh trong những lúc khó khăn nhất. Xin gửi lời cảm ơn đến những người bạn sinh viên khoa Điện-Điện tử đã giúp đỡ những người thực hiện đề tài để có thể hoàn thành tốt đề tài này. Xin chân thành cảm ơn! Người thực hiện đề tài: Huỳnh Thanh Thoại Phạm Công Đức i
- TÓM TẮT Trong đề tài, nghiên cứu mô hình phân loại sản phẩm theo màu sắc và khối lượng dùng board Arduino được giám sát và điều khiển thông qua web server. Sản phẩm sẽ được phân loại theo màu màu sắc và khối lượng. Màu sắc thì nhận dạng bằng module cảm biến màu TCS3200, khối lượng thì nhờ vào loadcell, việc thực hiện đưa sản phẩm di chuyễn bằng băng tải và các động cơ DC chấp hành, nhận biết vị trí của vật bằng cảm biến hồng ngoại. Màu sắc thì được chia làm 2 loại là: xanh và đỏ. Trong màu sắc sẽ được chia thành 2 loại là: đạt chuẩn và không đạt chuẩn dựa vào khối lượng. Số lượng sản phẩm từng loại được đưa về hiển thị trên webserver. Nhấn START: cấp điện, động cơ chạy, băng tải 1 quay kéo vật di chuyển, vật được đưa lên cân. Cảm biến 1 phát hiện → động cơ đẩy 1 quay đưa vật lên cân, khi động cơ 1 chạm vào công tắc hành trình → đảo chiều động cơ 1, chạm công tắc hành trình tại vị trí ban đầu→ dừng động cơ 1. Ðọc giá trị khối lượng→ động cơ servo sẽ quay cần gạt về bên loại 1 hoặc loại 2 tuỳ thuộc vào khối lượng của vật so với khối lượng đặt trước. Ðọc màu sắc → động cơ đẩy 2 quay thuận (đưa vật lên băng chuyền 2), động cơ 2 chạm công tắc hành trình → đảo chiều động cơ 2. Động cơ 2 chạm vào công tắc hành trình tại vị trí ban đầu → dừng động cơ 2. Vật được đưa lên phân loại, nếu là màu đỏ thì khi đi qua cảm biến 2 phát hiện sẽ cho quay động cơ gạt 1, động cơ gạt 1 chạm vào công tắc hành trình → đảo chiều động cơ gạt 1, động cơ gạt 1 chạm công tắc hành trình ở vị trí ban đầu→ dừng động cơ gạt 1. Tương tự nếu là màu xanh thì cảm biến 3 tác động điều khiển động cơ gạt 2, màu sắc khác đỏ và xanh lục thì sẽ cho chạy thẳng , 2 động cơ gạt ko tác động. Nhấn STOP: dừng băng tải 1. i
- MỤC LỤC Nhiệm vụ đồ án tốt nghiệp Error! Bookmark not defined. Lịch trình thực hiện đồ án tốt nghiệp Error! Bookmark not defined. Lời cam đoan Error! Bookmark not defined. Lời cảm ơn Error! Bookmark not defined. Mục lục i Mục lục bảng iii Mục lục hình iv Chƣơng 1: DẪN NHẬP 1 1.1. Đặt vấn đề 1 1.2. Lý do chọn đề tài 2 1.3. Nội dung nghiên cứu 2 1.4. Giới hạn 3 1.5. Bố cục đề tài 3 Chƣơng 2: CƠ SỞ LÍ THUYẾT 4 2.1. Arduino mega 2560 4 2.2. Webserver 13 2.3. Module cảm biến màu sắc 17 2.4. Đo khối lượng (loadcell) 18 2.5. Mạch công suất 23 2.6. Động cơ 27 2.7. Cảm biến phát hiện vật, công tắc 28 Chƣơng 3: THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG 30 3.1. Yều cầu đề tài 30 3.2. Thiết kế điều khiển 30 3.3. Sơ đồ khối dây chuyền phân loại 30 3.4. Thiết kế hệ thống 32 3.4.1. Khối xử lý 32 3.4.2. Khối đo khối lượng 32 3.4.3. Khối công suất 35 3.5. Sơ đồ nguyên lý của hệ thống 37 3.6. Mạch sau khi hoàn thành 38 3.6.1. Mạch khuếch đại 38 3.6.2. Mạch đảo chiều động cơ 38 3.6.3. Mạch điều khiển băng tải 39 3.6.4. Arduino ethernet shield kết nối với arduino 2560 39 3.7. Hình ảnh thực tế mô hình 40 3.8. Đánh giá sai số 41 Chƣơng 4: THIẾT KẾ PHẦN MỀM 42 4.1. Yêu cầu thiết kế 42 4.2. Giải pháp thực hiện 42 4.3. Giao diện webserver 42 4.4. Lưu đồ chương trình 43 4.4.1. Lưu đồ chương trình chính 43 4.4.2. Lưu đồ chương trình con đưa sản phẩm vào bàn cân 44 i
- 4.4.3. Lưu đồ chương trình con cân và đọc màu 45 4.4.4. Lưu đồ chương trình con đưa sản phẩm vào băng tải 2 46 4.4.5. Lưu đồ chương trình con đưa sản phẩm vào thùng 47 4.4.6. Lưu đồ chương trình con gạt sản phẩm vào thùng màu xanh 48 4.4.7. Lưu đồ chương trình con gạt sản phẩm vào thùng màu đỏ 49 Chƣơng 5: KẾT QUẢ NGHIÊN CỨU. 50 5.1. Kết quả 1 Error! Bookmark not defined. 5.2. Kết quả 2 Error! Bookmark not defined. Chƣơng 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 51 6.1. Kết luận Error! Bookmark not defined. 6.2. Hướng phát triển đề tài Error! Bookmark not defined. TÀI LIỆU THAM KHẢO 51 PHỤ LỤC 51 ii
- MỤC LỤC BẢNG Bảng 2.1: Bảng số chân, tên chân, tên chân trên board của arduino mega 2560. 7 Bảng 2.3: Chức năng của các chân module cảm biến màu 17 Bảng 2.4: Nguyên tắc nhận biết màu 18 Bảng 2.5: Phần trăm tần số ngõ ra 18 Bảng 2.2: Thông số kỹ thuật Loadcell 21 iii
- MỤC LỤC HÌNH Hình 3.1: Sơ đồ khối hệ thống 33 Hình 3.2: Sơ đồ khối khuếch đại dùng INA 125 33 Hình 3.3: Biểu đồ liên hệ giữa khối lượng và giá trị ADC 34 Hình 3.4: Mạch khuếch đại tín hiệu từ loadcell 35 Hình 3.5: Mạch điều khiển chiều quay động cơ 35 Hình 3.6: Mạch điều khiển động cơ băng tải 36 Hình 3.7: Mạch nguyên lý của hệ thống 37 Hình 3.8: Mạch khuếch đại đã thi công 38 Hình 3.9: Mạch đảo chiều động cơ sau khi thi công 38 Hình 3.10: Mạch điều khiển băng tải 39 Hình 3.11: Shield kết nối với arduino thực tế. 39 Hình 3.12: Hình ảnh mô hình sau khi thi công 40 Hình 4.1: Giao diện Webserver 43 Hình 4.2: Lưu đồ chương trình chính 43 Hình 4.3: Lưu đồ chương trình con đưa sản phẩm vào bàn cân 44 Hình 4.4: Lưu đồ chương trình con cân và đọc màu 45 Hình 4.5: Lưu đồ chương trình con đưa sản phẩm vào băng tải 2 46 Hình 4.6: Lưu đồ chương trình con đưa sản phẩm vào thùng 47 Hình 4.7: Lưu đồ chương trình con gạt sản phẩm vào thùng màu xanh 48 Hình 4.8: Lưu đồ chương trình con gạt sản phẩm vào thùng màu đỏ 49 iv
- ĐỒ ÁN TỐT NGHIỆP Chƣơng 1: DẪN NHẬP 1.1. ĐẶT VẤN ĐỀ Nước ta đang trong công cuộc hiện đại hoá để từng bước bắt kịp sự phát triển trong khu vực Đông Nam Á và thế giới về mọi mặt kinh tế và xã hội, công nghiệp sản xuất hàng hoá đóng vai trò quan trọng trong việc phát triển kinh tế. Việc tự động hoá là sự lựa chọn không tránh khỏi trong mọi lĩnh vực nhằm tạo ra sản phẩm có chất lượng cao, tăng khả năng cạnh tranh mạnh mẽ trên thị trường. Ngày nay trong kỹ thuật điều khiển tự động sự kết hợp giữa vi điều khiển, máy tính với các bộ cảm biến được sử dụng phổ biến để thực hiện công việc đo, giám sát hệ thống tự động hay điều khiển từ xa như: điều khiển nhiệt độ, đếm sản phẩm, phân loại sản phẩm theo màu sắc, khối lượng, kích thước, Nhờ những kỹ thuật tiên tiến như vi xử lý, vi mạch số được ứng dụng vào lĩnh vực điều khiển, các hệ thống điều khiển cơ khí ít chính xác dần được thay thế bằng các hệ thống điều khiển tự động với thời gian đáp ứng nhanh và chính xác. Hoà nhịp cùng sự phát triển đó nhóm quyết định nghiên cứu mô hình phân loại sản phẩm theo màu sắc và khối lượng dùng board Arduino được giám sát và điều khiển thông qua web server. Khảo sát sát quá trình phân loại: Các công ty, xí nghiệp sản xuất thường sử dụng công nghệ lập trình PLC sử dụng các loại phần mềm tự động. Dây chuyền sản xuất tự động PLC giảm sức lao động của công nhân mà sản xuất lại đạt hiệu quả cao đáp ứng kịp thời cho đời sống xã hội. Một trong những khâu tự động trong dây chuyền sản xuất tự động hóa đó là số lượng sản phẩm sản xuất ra được các băng tải vận chuyển và sử dụng hệ thống nâng gắp phân loại sản phẩm. 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 phân loại, đóng bao bì mà vẫn còn sử dụng nhân công, chính vì vậy nhiều khi cho ra năng suất thấp chưa đạt hiệu quả. Băng tải thường được dùng để di chuyển các vật liệu đơn giản và vật liệu rời theo phương ngang và phương nghiêng. Trong các dây chuyền sản xuất, các thiết bị này được sử dụng rộng rãi như những phương tiện để vận chuyển các cơ cấu nhẹ, trong các xưởng luyện kim dùng để vận chuyển quặng, than đá, các loại xỉ lò trên các trạm thủy điện thì dùng vận chuyển nhiên liệu. Trên các kho bãi thì dùng để vận chuyển các loại hàng bưu kiện, vật liệu Chương 1: Dẫn nhập 1
- ĐỒ ÁN TỐT NGHIỆP hạt hoặc 1 số sản phẩm khác. Trong 1 số ngành công nghiệp nhẹ, công nghiệp thực phẩm, hóa chất thì dùng để vận chuyển các sản phẩm đã hoàn thành và chƣa hoàn thành giữa các công đoạn, các phân xưởng, đồng thời cũng dùng để loại bỏ các sản phẩm không dùng được. Phân loại sản phẩm dựa vào màu sắc của sản phẩm: sử dụng những cảm biến phân loại màu sắc sẽ được đặt trên băng chuyền, khi sản phẩm đi ngang qua nếu cảm biến nào nhận biết đc sản phẩm thuộc màu nào sẽ được cửa phân loại tự động mở để sản phẩm đó được phân loại đúng. Phát hiện màu sắc bằng cách sử dụng các yếu tố là tỷ lệ phản chiếu của một màu chính (ví dụ như đỏ, xanh lá cây hoặc xanh trời) được phản xạ bởi các màu khác nhau theo các thuộc tính màu của đối tượng. 1.2. LÝ DO CHỌN ĐỀ TÀI Đối với các bạn sinh viên, việc tìm hiểu và làm chủ một loại vi điều khiển mới luôn luôn là một mong muốn và một thách thức lớn. Nhóm mong muốn ngoài những dòng vi điều khiển, vi xử lý quen thuộc như 8051, PIC thì có thể mở rộng thêm kiến thức về board Arduino mega 2560 sử duṇ g chip ATmega2560 thuôc̣ ho ̣vi điều khiển AVR. Trong công nghiệp, các loại sản phẩm có màu sắc và khối lương khác nhau cần được phân loại. Việc phân loại theo phương pháp thủ công sẽ tốn nhiều nhân công nhưng hiệu quả và năng suất lại rất thấp. Để đáp ứng nhu cầu đó, nhóm thực hiện lựa chọn đề tài” GIÁM SÁT VÀ PHÂN LOẠI SẢN PHẨM THEO MÀU SẮC DÙNG KIT ARDUINO”, nhằm giảm bớt sức người trong khâu phân loại, đồng thời tăng được năng suất sản xuất, tính ổn định cao và ứng dụng những công nghệ mới vào lĩnh vực sản xuất để nền công nghiệp nước ta ngày càng phát triển, có sức cạnh tranh cao trên thị trường. Khảo sát các dây chuyền phân loại sản phẩm theo màu sắc: 1.3. NỘI DUNG NGHIÊN CỨU Trong nội dung đề tài, sản phẩm sẽ được phân loại theo màu màu sắc và khối lượng. Màu sắc thì được chia làm 2 loại là: xanh và đỏ. Trong màu sắc sẽ được chia thành 2 loại là: đạt chuẩn và không đạt chuẩn dựa vào khối lượng. Số lượng sản phẩm từng loại được đưa về hiển thị trên webserver.Với sự hạn chế về thời gian cũng như kiến thức chuyên môn, tuy chưa thể nắm vững hết toàn bộ về ARDUINO để có thể Chương 1: Dẫn nhập 2
- ĐỒ ÁN TỐT NGHIỆP khai thác triệt để các tính năng song người thực hiện đề tài đã cố gắng hoàn thiện đề tài. 1.4. GIỚI HẠN Nghiên cứu đặc tính kỹ thuật của Arduino 2560. Lập trình giám sát bằng webserver. Dừng lại ở mức độ mô hình, nên việc phân loại vẫn chưa hoàn toàn chính xác vẫn còn sai số, về màu sắc thì phân biệt được 3 màu cơ bản: đỏ, xanh lục, xanh lam. 1.5. BỐ CỤC ĐỀ TÀI Chƣơng 1: Tổng quan về đề tài. Chƣơng 2: Tìm hiểu tổng quan về chip Arduino 2560. Tìm hiểu các tính năng của chip để ứng dụng vào các yêu cầu thực tiễn nhằm làm chủ được công nghệ và tiết kiệm được chi phí là một yêu cầu cấp thiết cần thực hiện. Tìm hiểu loadcell, Cảm biến màu sắc TCS3200, IC khuếch đại INA125, IC đảo chiều động cơ L298. Chƣơng 3: Tiến hành thực hiện mô hình theo yêu cầu đề tài. Chƣơng 4: Tiến hành thiết kế phần mềm theo yêu cầu đề tài. Chương 1: Dẫn nhập 3
- ĐỒ ÁN TỐT NGHIỆP Chƣơng 2: CƠ SỞ LÍ THUYẾT 2.1. ARDUINO MEGA 2560 A. Giới thiệu về arduino Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình. Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm. Chỉ với khoảng 200.000 VND người dùng đã có thể sở hữu một board Arduino có 20 ngõ I/O có thể tương tác và điều khiển chừng ấy thiết bị. Arduino Mega2560 khác với tất cả các vi xử lý trước giờ vì không sử dụng FTDI chip điều khiển chuyển tín hiệu từ USB để xử lý. Thay vào đó, nó sử dụng ATmega16U2 lập trình như là một công cụ chuyển đổi tín hiệu từ USB. Ngoài ra, Arduino Mega2560 cơ bản vẫn giống Arduino Uno R3, chỉ khác số lượng chân và nhiều tính năng mạnh mẽ hơn, nên các bạn vẫn có thể lập trình cho con vi điều khiển này bằng chương trình lập trình cho Arduino Uno R3. B. Giới thiệu về arduino 2560 Chương 2: Cơ sỡ lý thuyết 4
- ĐỒ ÁN TỐT NGHIỆP Hình 2.1: Board Arduino Mega 2560. [4] Arduino Mega 2560 là 1 bo mạch thiết kế với bộ xử lý trung tâm là vi điểu khiển AVR Atmega2560. Cấu tạo chính của Arduino Mega 2560 bao gồm các phần sau: Cổng USB: đây là loại cổng giao tiếp để ta upload code từ PC lên vi điều khiển. Đồng thời nó cũng là giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính. Jack nguồn: để chạy Arduino thỉ có thể lấy nguồn từ cổng USB ở trên, nhưng không phải lúc nào cũng có thể cắm với máy tính được. Lúc đó ta cần một nguồn từ 9V đến 12V. Có 54 chân vào/ra số đánh số thứ tự từ 0 đến 53, ngoài ra có một chân nối đất (GND) và một chân điện áp tham chiếu (AREF). Vi điều khiển AVR: đây là bộ xử lý trung tâm của toàn bo mạch. Với mỗi mẫu Arduino khác nhau thì con chip là khác nhau. Ở con Arduino Mega2560 này thì sử dụng ATMega2560. Thông sô kỹ thuâṭ : Vi xử lý: 5V Điện áp hoạt động: 5-7V Điện áp đầu vào: 6-20V Chân vào/ra (I/O) số: 54 chân (15 chân đầu ra PWM) Chân vào tương tự: 16 Dòng điện trong mỗi chân I/O: 40mA Dòng điện Chân nguồn 3.3V: 50mA Bộ nhớ trong: 256KB SRAM: 8KB EEPROM: 4KB Xung nhịp: 16MHz Chip xử lí: Atmega2560 Các Mega 2560 có 16 đầu vào tương tự, mỗi ngõ vào tương tự đều có độ phân giải 10 bit (tức là 1024 giá trị khác nhau). Theo mặc định đo từ 0 đến 5 volts, mặc dù Chương 2: Cơ sỡ lý thuyết 5
- ĐỒ ÁN TỐT NGHIỆP là nó có thể thay đổi phần trên của phạm vi bằng cách sử dụng chân Aref và analogReference) chức năng. Các Atmega 2560 có 256 KB bộ nhớ flash để lưu trữ mã (trong đó có 8 KB được sử dụng cho bộ nạp khởi động), 8 KB SRAM và 4 KB của EEPROM. Hình 2.2: Sơ đồ chân Arduino Mega 2560 [4] Chương 2: Cơ sỡ lý thuyết 6
- ĐỒ ÁN TỐT NGHIỆP Hình 2.3: Sơ đồ chân của chip Atmega2560.[4] Bảng 2.1: Bảng số chân, tên chân, tên chân trên board của arduino mega 2560. Pin Number Pin Name Mapped Pin Name 1 PG5 ( OC0B ) Digital pin 4 (PWM) 2 PE0 ( RXD0/PCINT8 ) Digital pin 0 (RX0) 3 PE1 ( TXD0 ) Digital pin 1 (TX0) 4 PE2 ( XCK0/AIN0 ) 5 PE3 ( OC3A/AIN1 ) Digital pin 5 (PWM) 6 PE4 ( OC3B/INT4 ) Digital pin 2 (PWM) 7 PE5 ( OC3C/INT5 ) Digital pin 3 (PWM) 8 PE6 ( T3/INT6 ) 9 PE7 ( CLKO/ICP3/INT7 ) 10 VCC VCC 11 GND GND 12 PH0 ( RXD2 ) Digital pin 17 (RX2) 13 PH1 ( TXD2 ) Digital pin 16 (TX2) 14 PH2 ( XCK2 ) Chương 2: Cơ sỡ lý thuyết 7
- ĐỒ ÁN TỐT NGHIỆP 15 PH3 ( OC4A ) Digital pin 6 (PWM) 16 PH4 ( OC4B ) Digital pin 7 (PWM) 17 PH5 ( OC4C ) Digital pin 8 (PWM) 18 PH6 ( OC2B ) Digital pin 9 (PWM) 19 PB0 ( SS/PCINT0 ) Digital pin 53 (SS) 20 PB1 ( SCK/PCINT1 ) Digital pin 52 (SCK) 21 PB2 ( MOSI/PCINT2 ) Digital pin 51 (MOSI) 22 PB3 ( MISO/PCINT3 ) Digital pin 50 (MISO) 23 PB4 ( OC2A/PCINT4 ) Digital pin 10 (PWM) 24 PB5 ( OC1A/PCINT5 ) Digital pin 11 (PWM) 25 PB6 ( OC1B/PCINT6 ) Digital pin 12 (PWM) 26 PB7 ( OC0A/OC1C/PCINT7 ) Digital pin 13 (PWM) 27 PH7 ( T4 ) 28 PG3 ( TOSC2 ) 29 PG4 ( TOSC1 ) 30 RESET RESET 31 VCC VCC 32 GND GND 33 XTAL2 XTAL2 34 XTAL1 XTAL1 35 PL0 ( ICP4 ) Digital pin 49 36 PL1 ( ICP5 ) Digital pin 48 37 PL2 ( T5 ) Digital pin 47 38 PL3 ( OC5A ) Digital pin 46 (PWM) 39 PL4 ( OC5B ) Digital pin 45 (PWM) 40 PL5 ( OC5C ) Digital pin 44 (PWM) 41 PL6 Digital pin 43 42 PL7 Digital pin 42 43 PD0 ( SCL/INT0 ) Digital pin 21 (SCL) 44 PD1 ( SDA/INT1 ) Digital pin 20 (SDA) 45 PD2 ( RXDI/INT2 ) Digital pin 19 (RX1) Chương 2: Cơ sỡ lý thuyết 8
- ĐỒ ÁN TỐT NGHIỆP 46 PD3 ( TXD1/INT3 ) Digital pin 18 (TX1) 47 PD4 ( ICP1 ) 48 PD5 ( XCK1 ) 49 PD6 ( T1 ) 50 PD7 ( T0 ) Digital pin 38 51 PG0 ( WR ) Digital pin 41 52 PG1 ( RD ) Digital pin 40 53 PC0 ( A8 ) Digital pin 37 54 PC1 ( A9 ) Digital pin 36 55 PC2 ( A10 ) Digital pin 35 56 PC3 ( A11 ) Digital pin 34 57 PC4 ( A12 ) Digital pin 33 58 PC5 ( A13 ) Digital pin 32 59 PC6 ( A14 ) Digital pin 31 60 PC7 ( A15 ) Digital pin 30 61 VCC VCC 62 GND GND 63 PJ0 ( RXD3/PCINT9 ) Digital pin 15 (RX3) 64 PJ1 ( TXD3/PCINT10 ) Digital pin 14 (TX3) 65 PJ2 ( XCK3/PCINT11 ) 66 PJ3 ( PCINT12 ) 67 PJ4 ( PCINT13 ) 68 PJ5 ( PCINT14 ) 69 PJ6 ( PCINT 15 ) 70 PG2 ( ALE ) Digital pin 39 71 PA7 ( AD7 ) Digital pin 29 72 PA6 ( AD6 ) Digital pin 28 73 PA5 ( AD5 ) Digital pin 27 74 PA4 ( AD4 ) Digital pin 26 75 PA3 ( AD3 ) Digital pin 25 76 PA2 ( AD2 ) Digital pin 24 Chương 2: Cơ sỡ lý thuyết 9
- ĐỒ ÁN TỐT NGHIỆP 77 PA1 ( AD1 ) Digital pin 23 78 PA0 ( AD0 ) Digital pin 22 79 PJ7 80 VCC VCC 81 GND GND 82 PK7 ( ADC15/PCINT23 ) Analog pin 15 83 PK6 ( ADC14/PCINT22 ) Analog pin 14 84 PK5 ( ADC13/PCINT21 ) Analog pin 13 85 PK4 ( ADC12/PCINT20 ) Analog pin 12 86 PK3 ( ADC11/PCINT19 ) Analog pin 11 87 PK2 ( ADC10/PCINT18 ) Analog pin 10 88 PK1 ( ADC9/PCINT17 ) Analog pin 9 89 PK0 ( ADC8/PCINT16 ) Analog pin 8 90 PF7 ( ADC7 ) Analog pin 7 91 PF6 ( ADC6 ) Analog pin 6 92 PF5 ( ADC5/TMS ) Analog pin 5 93 PF4 ( ADC4/TMK ) Analog pin 4 94 PF3 ( ADC3 ) Analog pin 3 95 PF2 ( ADC2 ) Analog pin 2 96 PF1 ( ADC1 ) Analog pin 1 97 PF0 ( ADC0 ) Analog pin 0 98 AREF Analog Reference 99 GND GND 100 AVCC VCC Các chân ngõ ra ngõ vào của Arduino mega 2560: Mỗi board có 54 chân kỹ thuật trên Mega có thể được sử dụng như một đầu vào hoặc đầu ra . Nó hoạt động với điện áp 5 volts. Mỗi chân có thể cung cấp hoặc nhận được tối đa 40 mA và có một điện trở kéo lên bên trong (ngắt kết nối theo mặc định) 20-50 kOhms. Ngoài ra, một số chân có chức năng chuyên ngành: Serial 0: 0 (RX) và 1 (TX); Serial 1: 19 (RX) và 18 (TX); Serial: 17 (RX) và 16 (TX); Serial 3: 15 (RX) và 14 (TX). Được sử dụng để nhận (RX) và truyền (TX) Chương 2: Cơ sỡ lý thuyết 10
- ĐỒ ÁN TỐT NGHIỆP TTL dữ liệu nối tiếp. Chân 0 và 1 cũng được kết nối với các chân tương ứng của FTDI USB-to-TTL nối tiếp chip. Ngắt ngoài: 2 (ngắt 0), 3 (ngắt 1), 18 (ngắt 5), 19 (ngắt 4), 20 (ngắt 3) và 21 (ngắt 2) Các chân này có thể được cấu hình để kích hoạt một ngắt trên một giá trị thấp, một góc lên và xuống, hoặc một sự thay đổi trong giá trị. PWM: 2-13 và 44 đến 46. Cung cấp 8-bit đầu ra PWM SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS) Các chân này hỗ trợ SPI truyền thông, trong đó, mặc dù được cung cấp bởi các phần cứng cơ bản, hiện không có trong ngôn ngữ Arduino. Các chân SPI cũng được chia ra trên tiêu đề ICSP, đó là chất tương thích với các Duemilanove và Diecimila. LED: 13. Có một built-in LED kết nối với chân kỹ thuật số 13. Khi chân là giá trị cao, đèn LED là sáng, khi chân là LOW, đèn LED tắt. I2C: 20 (SDA) và 21 (SCL). Reset. Mang dòng LOW này để thiết lập lại các vi điều khiển. Thường được sử dụng để thêm một nút reset để lá chắn ngăn chặn sự một trên bảng. C. Tổng quan về ngôn ngữ lập trình Arduino IDE Chương 2: Cơ sỡ lý thuyết 11
- ĐỒ ÁN TỐT NGHIỆP Hình 2.4: Giao diện phần mềm Arduino IDE. Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên nền tảng C/C++ rất quen thuộc với người làm kỹ thuật. Và quan trọng là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn. Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiện nay là Windows, Macintosh osx và Linux. Do có tính chất nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm. Chương 2: Cơ sỡ lý thuyết 12
- ĐỒ ÁN TỐT NGHIỆP Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng ngôn ngữ c của AVR nên người dùng hoàn toàn có thể nhúng thêm code viết bằng AVR vào chương trình nếu muốn. 2.2. WEBSERVER Trong hệ thống dây chuyền sản xuất hiện nay. Để hiển thị và điều khiển dây chuyền thì các doanh nghiệp và công ty thường sử dụng màn hình lcd, máy vi tính bằng các phần mềm riêng. Nhóm mong muốn phát triển và xây dựng một hệ thống dây chuyền sản xuất tự động theo một hướng đi mới là được hiển thị và điều khiển qua webserver. A. KHÁI NIỆM VỀ WEBSERVER Web Server (máy chủ Web): máy chủ mà trên đó cài đặt phần mềm chạy Website, đôi khi người ta cũng gọi chính phần mềm đó là Web Server. Tất cả các Web Server đều hiểu và chạy được các file *.htm và *.html, tuy nhiên mỗi Web Server lại phục vụ một số kiểu file chuyên biệt chẳng hạn như IIS của Microsoft dành cho *.asp, *.aspx ; Apache dành cho *.php ; Sun Java System Web Server của SUN dành cho *p Máy chủ Web Server là máy chủ có dung lượng lớn, tốc độ cao, được dùng để lưu trữ thông tin như một ngân hàng dữ liệu, chứa những website đã được thiết kế cùng với những thông tin liên quan khác (các mã Script, các chương trình, và các file Multimedia). Web Server có khả năng gửi đến máy khách những trang Web thông qua môi trường Internet (hoặc Intranet) qua giao thức HTTP – giao thức được thiết kế để gửi các file đến trình duyệt Web (Web Browser), và các giao thức khác. Tất cả các Web Server đều có một địa chỉ IP (IP Address) hoặc cũng có thể có một Domain Name. Giả sử khi bạn đánh vào thanh Address trên trình duyệt của bạn một dòng sau đó gõ phím Enter bạn sẽ gửi một yêu cầu đến một Server có Domain Name là www.abc.com.vn. Server này sẽ tìm trang Web có tên là index.htm rồi gửi nó đến trình duyệt của bạn. Bất kỳ một máy tính – máy chủ nào cũng có thể trở thành một Web Server bởi việc cài đặt lên nó một chương trình phần mềm Server Software và sau đó kết nối vào Internet. Chương 2: Cơ sỡ lý thuyết 13
- S K L 0 0 2 1 5 4