Mục lục Lời Mở Đầu 5 Chương 1: Tổng quan về đề tài 6 1.1 Lý do chọn đề tài 6 1.2 Mục tiêu của đề tài 6 1.3 Đối tượng 7 1.4 Phương thức nghiên cứu 7 1.5 Ý nghia thực tế 7 CHƯƠNG 2 SƠ LƯỢC VỀ HỆ THỐNG PHÂN LOẠI SẢN PHẨM THEO KÍCH THƯỚC 8 2.1 ĐẶT VẤN ĐỀ. 8 2.2 Các băng chuyền phân loại sản phẩm hiện nay. 9 2.2.1 Giới thiệu chung. 9 2.2.2 Ưu điểm của băng tải 9 2.2.3. Cấu tạo chung của băng tải. 10 2.2.4. Các loại băng tải trên thị trường hiện nay. 11 2.2.5 Các loại băng tải phân loại sản phẩm hiện nay 12 2.3 Giới thiệu băng tải trong mô hình 14 CHƯƠNG 3 TỔNG QUAN VỀ CÁC LINH KIỆN CHÍNH 18 3.1 Arduino Nano 18 3.1.1 Giới thiệu 18 3.1.2 Arduino Nano 20 3.2. Cảm biến Hồng Ngoại 23 3.4 Màn hinh Lcd 2004 25 3.5 Triết Áp Đơn 10K 27 3.6 Motor DC 28 3.6.1 Giới thiệu 28 3.6.2 Tính toán chọn động cơ 28 3.6.3 Thông số kỹ thuật 29 3.6.4 Cấu tạo & Hoạt động 30 3.7 Mạch Công Suất MOSFET IRF520 31 3.8 Motor Servo 33 3.8.1 Giới thiệu 33 3.8.2 Giới thiệu 34 3.8.3 Thông số kỹ thuật 36 3.8.4 Điều biến độ rộng xung 37 3.8.5 Giới hạn quay 38 3.8.6 Phân loại và các kích thước đặc biệt 38 3.9 Nguồn 39 CHƯƠNG 4 THI CÔNG HỆ THỐNG 41 4.1 Giới thiệu 41 4.2 Các phần mềm thiết kế 43 4.2.1 Arduino IDE 43 4.2.2 Altium designer 47 4.3 Sơ đồ khối 48 4.4 Sơ đồ nguyen lý 49 4.5 Lưu đồ thuật toán 50 50 50 4.7 Code điều khiển 51 Chương 5: KẾT LUẬN 59 5.1 Ưu nhược điểm 59 5.2 Hướng phát triển 59 TÀI LIỆU THAM KHẢO 60 Danh mục hình ảnh Hình 2.1: Cấu tạo chung băng chuyền. 12 Bảng 2.1: Danh sách các loại băng tải. 13 Hình 2.2: Băng chuyền trên bản vẽ 1. 17 Hình 2.3: Băng chuyền trên bản vẽ 3. 18 Hình 2.4: Băng chuyền thực tế 19 Hình 3.2 Arduino Nano 22 Hình 3.3 Arduino Nano Pinout 23 Hình 3.4: Giao diện lập trình cho Arduino 24 Hình 3.5: Cảm biến hống ngoại 25 Hình 3.6: Sơ đồ cảm biến hống ngoại 25 Hình 3.7: Màn hinh LCD 27 Hình 3.8: Triết Áp Đơn 10K 29 Hình 3.9: Kích thước động cơ 32 Hình 3.10: Nguyên lý hoạt động phần cảm và phần ứng 33 Hình 3.11: Mạch công suất MOSFET IRF520 34 Hình 3.12: Sơ đồ mạch công suất 35 Hình 3.13: Servo 996 36 Hình 3.14: Cấu tạo cơ bản của một động cơ (motor) servo 37 Hình 3.15: Sơ đồ nối dây của Micro Servo 38 Hình 3.16 Kích thước Micro Servo 39 Hình 3.17: Điều khiển trục ra của động cơ bằng cách điều chế độ rộng xung 40 Hình 3.18: Nguồn Adapter 12V-2A 5.5*2.1mm 41 Hình 4.1: Mô hình hệ thống 44 Hình 4.2: Board mạch chính của hệ thống 44 Hình 4.3: Giao diện lập trình IDE 46 Hình 4.4: Menu file trên phần mềm IDE 47 Hình 4.7: Cách chọn cổng COM trên màn hình IDE 48 Hình 4.5: Giao diện chính của Altium designer 50 Hình 4.6: Sơ đồ khối 50 Hình 4.7: Sơ đồ nguyên lý 51 Lời Mở Đầu Ngày nay kỹ thuật vi điều khiển đã trở nên quen thuộc trong các ngành kỹ thuật và trong dân dụng. Các bộ vi điều khiển có khả năng xử lý nhiều hoạt động phức tạp mà chỉ cần một chip vi mạch nhỏ, nó đã dần thay thế các tủ điều khiển lớn và phức tạp bằng những mạch điện gọn nhẹ, dễ dàng thao tác sử dụng. Vi điều khiển không những góp phần vào kỹ thuật điều khiển mà còn góp phần to lớn vào việc phát triển thông tin. Chính vì các lý do trên, việc tìm hiểu, khảo sát vi điều khiển là điều mà các sinh viên ngành điện mà đặc biệt là chuyên ngành kỹ thuật điện-điện tử phải hết sức quan tâm. Đó chính là một nhu cầu cần thiết và cấp bách đối với mỗi sinh viên, đề tài này được thực hiện chính là đáp ứng nhu cầu đó. Để góp phần đáp ứng nhu cầu trên và đóng góp thêm giải pháp thay thế các tủ điều khiển lớn và phức tạp, sau một thời gian dưới sự giảng dạy của các thầy cô trường Đại học, đồng thời được sự giúp đỡ nhiệt tình của thầy và các bạn cùng khoa, tôi đã thiết kế, chế tạo "Mô hình phân loại sản phẩm theo chiều cao dùng Arduino." Do thời gian, kiến thức và kinh nghiệm của tôi còn có hạn nên sẽ không thể tránh khỏi những sai sót. Tôi rất mong được sự giúp đỡ và tham khảo ý kiến của thầy cô và các bạn nhằm đóng góp phát triển thêm đề tài. Chương 1: Tổng quan về đề tài 1.1 Lý do chọn đề tài Với sự phát triển của xã hội, khoa học kĩ thuật nói chung và vi điều khiển nói riêng ngày càng được ứng dụng ở hầu hết các lĩnh vực. Trong nhiều lĩnh vực được quan tâm, có một lĩnh vực về vi điều khiển được quan tâm rất nhiều hiện nay đó là vi điều khiển AVR. Một trong số những biến thể phổ biến của AVR là Arduino. Việc tìm hiểu và ứng dụng hết khả năng của nhiều loại Arduino là cả một quá trình dài lý thú và hữu ích, vì sự thuận tiện, tinh gọn, khả năng phát triển cũng như sự đa dạng các dòng sản phẩm phù hợp nhiều quy mô ứng dụng của nó. Một ý tưởng khác được quan tâm đông đảo trên các diễn đàn học tập ngành điện tử và tự động hóa, nhưng chưa có một tài liệu chính thống phổ biến hướng dẫn hay cung cấp thông tin về nó, cũng như chưa được giảng dạy ở nhiều trung tâm đó là ứng dụng Arduino trong sản xuất. Trước thực tiễn ấy, tôi đã quyết định chọn đề tài này nhằm tìm hiểu về vấn đề đếm và phân loại sản phẩm qua ứng dụng của Arduino. 1.2 Mục tiêu của đề tài Mục đích nghiên cứu thông qua đề tài là tìm hiểu về ứng dụng đếm và phân loại sản phẩm nên nhiệm vụ nghiên cứu gồm: - Tìm hiểu cơ chế hoạt động. - Phân tích sơ đồ nguyên lý. - Nâng cao kỹ năng lập trình vi điều khiển, hàn mạch, làm sản phẩm điện tử. - Phát triển khả năng tư duy cho sinh viên trong quá trình nghiên cứu 1.3 Đối tượng - Thi công hệ thống “ Phân loại sản phẩm theo chiều cao và đếm sản phẩm “ - Xây dựng mô hình. - Xây dựng lưu đồ thuật toán 1.4 Phương thức nghiên cứu - Thiết kế và thi công hệ thống - Tìm hiểu và nghiên cứu về các loại cảm biến hồng ngoại - Thiết kế lưu đồ giải thuật và viết chương trình điều khiển cho Arduino. - Thử nghiệm và điều chỉnh để mô hình tối ưu. Đáp ứng được yêu cầu thực tế. 1.5 Ý nghia thực tế Mục đích nghiên cứu thông qua đề tài là tìm hiểu về ứng dụng đếm và phân loại sản phẩm nên nhiệm vụ nghiên cứu gồm: - Tìm hiểu cơ chế hoạt động. - Phân tích sơ đồ nguyên lý. - Nâng cao kỹ năng lập trình vi điều khiển, hàn mạch, làm sản phẩm điện tử. - Phát triển khả năng tư duy cho sinh viên trong quá trình nghiên cứu. CHƯƠNG 2 SƠ LƯỢC VỀ HỆ THỐNG PHÂN LOẠI SẢN PHẨM THEO KÍCH THƯỚC 2.1 ĐẶT VẤN ĐỀ. Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện tử mà trong đó điều khiển tự động đóng vai trò hết sức quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin…. do đó chúng ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điều khiển tự động nói riêng. Xuất phát từ những đợt đi thực tập tốt nghiệp tại nhà máy, các khu công nghiệp và tham quan các doanh nghiệp sản xuất, chúng em đã đƣợc thấy nhiều khâuddc tự động hóa trong quá trình sản xuất. 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ả. Từ những điều đã được nhìn thấy trong thực tế cuộc sống và những kiến thức mà em đã học được ở trường muốn tạo ra hiệu suất lao động lên gấp nhiều lần, đồng thời vẫn đảm bảo được độ chính xác cao về kích thước. Nên em đã quyết định thiết kế và thi công một mô hình sử dụng băng chuyền để phân loại sản phẩm vì nó rất gần gũi với thực tế, vì trong thực tế có nhiều sản phẩm được sản xuất ra đòi hỏi phải có kích thước tương đối chính xác và nó thật sự rất có ý nghĩa đối với chúng em, góp phần làm cho xã hội ngày càng phát triển mạnh hơn, để xứng tầm với sự phát triển của thế giới. 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 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. 2.2 Các băng chuyền phân loại sản phẩm hiện nay. 2.2.1 Giới thiệu chung. 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 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. 2.2.2 Ưu điểm của băng tải - Cấu tạo đơn giản, bền, có khả năng vận chuyển rời và đơn chiếc theo - các hướng nằm ngang, nằm nghiêng hoặc kết hợp giữa nằm ngang với nằm nghiêng. - Vốn đầu tư không lớn lắm, có thể tự động được, vận hành đơn giản, bảo - dưỡng dễ dàng, làm việc tin cậy, năng suất cao và tiêu hao năng lượng so với máy vận chuyển khác không lớn lắm. 2.2.3. Cấu tạo chung của băng tải. 1 2 3 H 4 b L1 L2 L Hình 2.1: Cấu tạo chung băng chuyền. 1. Bộ phận kéo cùng các yếu tố làm việc trực tiếp mang vật. 2. Trạm dẫn động, truyền chuyển động cho bộ phận kéo. 3. Bộ phận căng, tạo và giữ lực căng cần thiết cho bộ phận kéo. 4. Hệ thống đỡ (con lăn, giá đỡ...) làm phần trượt cho bộ phận kéo và các yếu tố làm việc.
Tổng quan về đề tài
Lý do chọn đề tài
Với sự phát triển của xã hội, khoa học kĩ thuật nói chung và vi điều khiển nói riêng ngày càng được ứng dụng ở hầu hết các lĩnh vực
Trong nhiều lĩnh vực được quan tâm, có một lĩnh vực về vi điều khiển được quan tâm rất nhiều hiện nay đó là vi điều khiển AVR Một trong số những biến thể phổ biến của AVR là Arduino
Việc tìm hiểu và ứng dụng hết khả năng của nhiều loại Arduino là cả một quá trình dài lý thú và hữu ích, vì sự thuận tiện, tinh gọn, khả năng phát triển cũng như sự đa dạng các dòng sản phẩm phù hợp nhiều quy mô ứng dụng của nó
Một ý tưởng khác được quan tâm đông đảo trên các diễn đàn học tập ngành điện tử và tự động hóa, nhưng chưa có một tài liệu chính thống phổ biến hướng dẫn hay cung cấp thông tin về nó, cũng như chưa được giảng dạy ở nhiều trung tâm đó là ứng dụng Arduino trong sản xuất
Trước thực tiễn ấy, tôi đã quyết định chọn đề tài này nhằm tìm hiểu về vấn đề đếm và phân loại sản phẩm qua ứng dụng của Arduino.
Mục tiêu của đề tài
Mục đích nghiên cứu thông qua đề tài là tìm hiểu về ứng dụng đếm và phân loại sản phẩm nên nhiệm vụ nghiên cứu gồm:
- Tìm hiểu cơ chế hoạt động
- Phân tích sơ đồ nguyên lý
- Nâng cao kỹ năng lập trình vi điều khiển, hàn mạch, làm sản phẩm điện tử
- Phát triển khả năng tư duy cho sinh viên trong quá trình nghiên cứu
Đối tượng
- Thi công hệ thống “ Phân loại sản phẩm theo chiều cao và đếm sản phẩm “
- Xây dựng lưu đồ thuật toán
Phương thức nghiên cứu
- Thiết kế và thi công hệ thống - Tìm hiểu và nghiên cứu về các loại cảm biến hồng ngoại - Thiết kế lưu đồ giải thuật và viết chương trình điều khiển cho Arduino.
- Thử nghiệm và điều chỉnh để mô hình tối ưu Đáp ứng được yêu cầu thực tế.
Ý nghia thực tế
Mục đích nghiên cứu thông qua đề tài là tìm hiểu về ứng dụng đếm và phân loại sản phẩm nên nhiệm vụ nghiên cứu gồm:
- Tìm hiểu cơ chế hoạt động
- Phân tích sơ đồ nguyên lý.
- Nâng cao kỹ năng lập trình vi điều khiển, hàn mạch, làm sản phẩm điện tử.
- Phát triển khả năng tư duy cho sinh viên trong quá trình nghiên cứu.
SƠ LƯỢC VỀ HỆ THỐNG PHÂN LOẠI SẢN PHẨM THEO KÍCH THƯỚC
ĐẶT VẤN ĐỀ
Ngày nay cùng với sự phát triển của các ngành khoa học kỹ thuật, kỹ thuật điện tử mà trong đó điều khiển tự động đóng vai trò hết sức quan trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, công nghiệp tự động hóa, cung cấp thông tin… do đó chúng ta phải nắm bắt và vận dụng nó một cách có hiệu quả nhằm góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự phát triển kỹ thuật điều khiển tự động nói riêng Xuất phát từ những đợt đi thực tập tốt nghiệp tại nhà máy, các khu công nghiệp và tham quan các doanh nghiệp sản xuất, chúng em đã đƣợc thấy nhiều khâuddc tự động hóa trong quá trình sản xuất 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ả Từ những điều đã được nhìn thấy trong thực tế cuộc sống và những kiến thức mà em đã học được ở trường muốn tạo ra hiệu suất lao động lên gấp nhiều lần, đồng thời vẫn đảm bảo được độ chính xác cao về kích thước Nên em đã quyết định thiết kế và thi công một mô hình sử dụng băng chuyền để phân loại sản phẩm vì nó rất gần gũi với thực tế, vì trong thực tế có nhiều sản phẩm được sản xuất ra đòi hỏi phải có kích thước tương đối chính xác và nó thật sự rất có ý nghĩa đối với chúng em, góp phần làm cho xã hội ngày càng phát triển mạnh hơn, để xứng tầm với sự phát triển của thế giới 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 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.
Các băng chuyền phân loại sản phẩm hiện nay
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 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.
2.2.2 Ưu điểm của băng tải
- Cấu tạo đơn giản, bền, có khả năng vận chuyển rời và đơn chiếc theo
- các hướng nằm ngang, nằm nghiêng hoặc kết hợp giữa nằm ngang với nằm nghiêng.
2.2.3 Cấu tạo chung của băng tải
Hình 2.1 : Cấu tạo chung băng chuyền.
1 Bộ phận kéo cùng các yếu tố làm việc trực tiếp mang vật.
2 Trạm dẫn động, truyền chuyển động cho bộ phận kéo.
3 Bộ phận căng, tạo và giữ lực căng cần thiết cho bộ phận kéo.
4 Hệ thống đỡ (con lăn, giá đỡ ) làm phần trượt cho bộ phận kéo và các yếu tố làm việc.
2.2.4 Các loại băng tải trên thị trường hiện nay
Khi thiết kế hệ thống băng tải vận chuyển sản phẩm đến vị trí phân loại có thể lựa chọn một số loại băng tải sau:
Bảng 2.1: Danh sách các loại băng tải.
Loại băng tải Tải trọng Phạm vi ứng dụng
Băng tải dây đai < 50 kg Vận chuyển từng chi tiết giữa các nguyên công hoặc vận chuyển thùng chứa trong gia công cơ và lắp ráp.
Băng tải lá 25 ÷ 125 kg Vận chuyển chi tiết trên vệ tinh trong gia công chuẩn bị phôi và trong lắp ráp
Băng tải thanh đẩy 50 ÷ 250 kg Vận chuyển các chi tiết lớn giữa các bộ phận trên khoảng cách >50m.
Băng tải con lăn 30 ÷ 500 kg Vận chuyển chi tiết trên các vệ tinh giữa
Các loại băng tải xích, băng tải con lăn có ưu điểm là độ ổn định cao khi vận chuyển.Tuy nhiên chúng đòi hỏi kết cấu cơ khí phức tạp, đòi hỏi độ chính xác cao, giá thành khá đắt.
- Băng tải dạng cào: sử dụng để thu dọn phoi vụn năng suất của băng tải loại này có thể đạt 1,5 tấn/h và tốc độ chuyển động là 0,2m/s Chiều dài của băng tải là không hạn chế trong phạm vi kéo là 10kN.
- Băng tải xoắn vít : có 2 kiểu cấu tạo :
+ Băng tải 1 buồng xoắn: Băng tải 1 buồng xoắn được dùng để thu dọn phoi vụn Năng suất băng tải loại này đạt 4 tấn/h với chiều dài 80cm.
+ Băng tải 2 buồng xoắn: có 2 buồng xoắn song song với nhau, 1 có chiều xoắn phải, 1 có chiều xoắn trái Chuyển động xoay vào nhau của các buồng xoắn được thực hiện nhờ 1 tốc độ phân phối chuyển động.
Cả 2 loại băng tải buồng xoắn đều được đặt dưới máng bằng thép hoặc bằng xi măng.
2.2.5 Các loại băng tải phân loại sản phẩm hiện nay
Phân loại sản phẩm là một bài toán đã và đang đƣợc ứng dụng rất nhiều trong thực tế hiện nay Dùng sức người, công việc này đòi hỏi sự tập trung cao và có tính lặp lại, nên các công nhân khó đảm bảo được sự chính xác trong công việc Chưa kể đến có những phân loại dựa trên các chi tiết kĩ thuật rất nhỏ mà mắt thường khó có thể nhận ra Điều đó sẽ ảnh hưởng trực tiếp tới chất lượng sản phẩm và uy tín của nhà sản xuất Vì vậy, hệ thống tự động nhận dạng và phân loại sản phẩm ra đời là một sự phát triển tất yếu nhằm đáp ứng nhu cầu cấp bách này.
Tùy vào mức độ phức tạp trong yêu cầu phân loại, các hệ thống phân loại tự động có những quy mô lớn, nhỏ khác nhau Tuy nhiên có một đặc điểm chung là chi phí cho các hệ thống này khá lớn, đặc biệt đối với điều kiện của Việt Nam.
Vì vậy hiện nay đa số các hệ thống phân loại tự động đa phần mới chỉ đƣợc áp dụng trong các hệ thống có yêu cầu phân loại phức tạp, còn một lƣợng rất lớn các doanh nghiệp Việt Nam vẫn sử dụng trực tiếp sức lực con người để làm việc Bên cạnh các băng chuyền để vận chuyển sản phẩm thì một yêu cầu cao hơn được đặt ra đó là phải có hệ thống phân loại sản phẩm Còn rất nhiều dạng phân loại sản phẩm tùy theo yêu cầu của nhà sản xuất như: Phân loại sản phẩm theo kích thước, Phân loại sản phẩm theo màu sắc, Phân loại sản phẩm theo khối lượng, Phân loại sản phẩm theo mã vạch, Phân loại sản phẩm theo hình ảnh v.v… Vì có nhiều phương pháp phân loại khác nhau nên có nhiều thuật toán, hướng giải quyết khác nhau cho từng sản phẩm, đồng thời các thuật toán này có thể đan xen, hỗ trợ lẫn nhau Ví dụ như muốn phân loại vải thì cần phân loại về kích thước và màu sắc, về nước uống (như bia, nước ngọt) cần phân loại theo chiều cao, khối lượng, phân loại xe theo chiều dài, khối lượng, phân loại gạch granite theo hình ảnh v.v…
Phân loại sản phẩm to nhỏ sử dụng cảm biến quang: sản phẩm chạy trên băng chuyền ngang qua cảm biến quang thứ 1 nhưng chưa kích cảm biển thứ 2 thì được phân loại vật thấp nhất, khi sản phẩm qua 2 cảm biến đồng thời thì được phân loại vật cao nhất.
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á
Phân loại sản phẩm dùng webcam: sử dụng 1 camera chụp lại sản phẩm khi chạy qua và đưa ảnh về so sánh với ảnh gốc Nếu giống thì cho sản phẩm đi qua, còn nếu không thì loại sản phẩm đó.
Nhận thấy thực tiễn đó, nay trong luận văn này, em sẽ làm một mô hình rất nhỏ nhưng có chức năng gần như tương tự ngoài thực tế Đó là: tạo ra một dây chuyền băng tải để vận chuyển sản phẩm, phân loại sản phẩm theo kích thước đã được đặt trước.
Giới thiệu băng tải trong mô hình
Do băng tải dùng trong hệ thống làm nhiệm vụ vận chuyển sản phẩm nên trong mô hình đồ án đã lựa chọn loại băng tải dây đai để mô phỏng cho hệ thống dây chuyền trong nhà máy với những lý do sau đây:
- Tải trọng băng tải không quá lớn.
- Kết cấu cơ khí không quá phức tạp.
- Dễ dàng thiết kế chế tạo.
- Có thể dễ dàng hiệu chỉnh băng tải.
Tuy nhiên loại băng tải này cũng có 1 vài nhược điểm như độ chính xác khi vận chuyển không cao, đôi lúc băng tải hoạt động không ổn định do nhiều yếu tố: nhiệt độ môi trường ảnh hưởng tới con lăn, độ ma sát của dây đai giảm qua thời gian
Hình 2.2 : Băng chuyền trên bản vẽ 1.
Hình 2.3 : Băng chuyền trên bản vẽ 3.
Hình 2.4 : Băng chuyền thực tế
TỔNG QUAN VỀ CÁC LINH KIỆN CHÍNH
Arduino Nano
Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea) tại Ivrea, Italy Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường xuyên gặp mặt.
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng.
Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung trên một môi trường phát triển tích hợp (IDE) chạy trên các máy tính cá nhân.
Và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++.
Sau khi nền tảng Wiring hoàn thành, các nhà nghiên cứu đã làm việc với nhau để giúp nó nhẹ hơn, rẻ hơn, và khả dụng đối với cộng đồng mã nguồn mở. một trong số các nhà nghiên cứu là David Cuarlielles, đã phổ biến ý tưởng này.
Những nhà thiết kế của Arduino cố gắng mang đến một phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tương tác với môi trường thông qua các cảm biến và các cơ cấu chấp hành.
Thông tin thiết kế phần cứng được cung cấp công khai để những ai muốn tự làm một mạch Arduino bằng tay có thể tự mình thực hiện được (mã nguồn mở).
Người ta ước tính khoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính thức đã được sản xuất thương mại, và vào năm 2013 có khoảng 700 ngàn mạch chính thức đã được đưa tới tay người dùng.
Phần cứng Arduino gốc được sản xuất bởi công ty Italy tên là Smart Projects.
Một vài board dẫn xuất từ Arduino cũng được thiết kế bởi công ty của Mỹ tên là SparkFun Electronics Nhiều phiên bản của Arduino cũng đã được sản xuất phù hợp cho nhiều mục đích sử dụng:
Hình 3.1 Những phiên bản Arduino
Board Arduino Nano là một trong những phiên bản nhỏ gọn của board Arduino Arduino Nano có đầy đủ các chức năng và chương trình có trên Arduino Uno do cùng sử dụng MCU ATmega328P Nhờ việc sử dụng IC dán của ATmega328P thay vì IC chân cắm nên Arduino Nano có thêm 2 chân Analog so với Arduino Uno Arduino Nano được kết nối với máy tính qua cổng Mini USB và sử dụng chip CH340 để chuyển đổi USB sang UART thay vì dùng chip ATmega16U2 để giả lập cổng COM như trên Arduino Uno hay Arduino Mega, nhờ vậy giá thành sản phẩm được giảm mà vẫn giữ nguyên được tính năng, giúp Arduino giao tiếp được với máy tính, từ đó thực hiện việc lập trình.
- IC nạp và giao tiếp UART: CH340
- Điện áp hoạt động: 5V - DC
- Điện áp đầu vào khuyên dùng: 7-12V - DC
- Điện áp đầu vào giới hạn: 6-20V - DC
- Số chân Digital I/O: 14 (trong đó có 6 chân PWM)
- Số chân Analog: 8 (độ phân giải 10bit, nhiều hơn Arduino Uno 2 chân)
- Dòng tối đa trên mỗi chân I/O: 40mA
- Dòng ra tối đa (5V): 500 mA
- Dòng ra tối đa (3.3V):50 mA
- Bộ nhớ flash : 32KB với 2KB dùng bởi bootloader
Cổng kết nối với Arduino Nano
Khác với Arduino Nano sử dụng cổng USB Type B, Nano lại sử dụng một cổng nhỏ hơn có tên là mini USB Vì sử dụng cổng này nên kích thước board (vê chiều cao) cũng giảm đi khá nhiều, ngoài ra bạn có thể lập trình thẳng trực tiếp cho Nano từ máy tính
Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn ngữ riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng Và Wiring là một biến thể của C/C++ Một số người gọi đó là Wiring một số khác thì gọi là C hay C++ Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển dự án này đã cung cấp đến cho người dùng một môi trường lập trình cho Arduino được gọi là Arduino IDE như hình bên dưới.
Hình 3.4: Giao diện lập trình cho Arduino
Hình 3.5: Cảm biến hống ngoại
Module Thu Phát Hồng Ngoại V1 là một loại cảm biến thông dụng được dùng rất nhiều trong các hệ thống cửa tự động thông minh, cảm biến an toàn của cổng tự động cũng như barrie tự động, cổng co giãn inox tự động đó là cảm biến phát hiện vật cản hồng ngoại hay cảm biến IR ( IR detector ). Ứng dụng: Cửa tự động thông minh, bộ chống trộm, phát hiện vật cản, đếm sản phẩm, đếm số lượng người,
Thông số kỹ thuật Module phát hiện vật cản trong khoảng cách từ 2 - 30cm - Góc phát hiện: 35°
- Khi phát hiện vật cản, tín hiệu đầu ra OUT ở mức thấp và đèn led màu xanh sáng.
- Có thể điều chỉnh khoảng cách bằng biến trở Chỉnh chiết áp để tăng khoảng cách theo chiều kim đồng hồ, và ngược lại để giảm khoảng cách.
- Cổng ra OUT có thể điều khiển trực tiếp 1 Rơ le 5V hoặc cổng IO của MCU.
- Điện áp cung cấp: 3 - 5V DC.
- Dòng điện tiêu thụ: 23 mA (3,3V), 43 mA (5V)
Nguyên lý hoạt động: Module Thu Phát Hồng Ngoại V1 được tích hợp bộ phát hồng ngoại và bộ thu hồng ngoại Bộ phát hồng ngoại là một diode phát sáng (LED) phát ra các tia hồng ngoại Do đó, chúng được gọi là IR LED Mặc dù LED IR trông giống như một đèn LED bình thường, bức xạ phát ra từ IR LED là sóng hồng ngoại nên con người không thể nhìn thấy bằng mắt thường được Bộ thu hồng ngoại cũng được gọi là cảm biến hồng ngoại khi chúng phát hiện các tia từ bộ phát hồng ngoại Bộ thu hồng ngoại có dạng photodiode và phototransistors Photodiode hồng ngoại khác với điốt thông thường vì chúng chỉ phát hiện ra bức xạ hồng ngoại Khi led phát hồng ngoại phát ra bức xạ, nó đến được vật thể và một số bức xạ phản xạ lại led thu hồng ngoại Dựa trên cường độ thu của led thu hồng ngoại, đầu ra của cảm biến sẽ được xác định là mức cao hoặc thấp.
Màn hình text LCD2004 xanh dương sử dụng driver HD44780, có khả năng hiển thị 4 dòng với mỗi dòng 20 ký tự, màn hình có độ bền cao, rất phổ biến, nhiều code mẫu và dễ sử dụng thích hợp cho những người mới học và làm dự án Điện áp hoạt động là 5 V.
Kích thước: 98 x 60 x 13.5 mm Chữ đen, nền xanh lá
Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với Breadboard.
Tên các chân được ghi ở mặt sau của màn hình LCD hổ trợ việc kết nối, đi dây điện.
Có đèn led nền, có thể dùng biến trở hoặc PWM điều chình độ sáng để sử
Ch ân Ký hiệu Mô tả Giá trị
4 RS Lựa chọn thanh ghi
RS=0 (mức thấp) chọn thanh ghi lệnh
RS=1 (mức cao) chọn thanh ghi dữ liệu
5 R/W Chọn thanh ghi đọc/viết dữ liệu
R/W=0 thanh ghi viết R/W=1 thanh ghi đọc
7 DB0 Chân truyền dữ liệu
15 A Cực dương led nền 0V đến 5V
Triết áp đơn thực chất là một điện trở có núm xoay kết nối vào thanh quét để tạo ra hai phần có giá trị điện trở thay đổi theo vị trí thanh quét, núm xoay được bố trí phía trước mặt điện trở cho người sử dụng điều chỉnh Với công suất 2W triết áp phù hợp với nhiều sản phẩm điện tử.
- Nhiệt độ hoạt động: -55 độ C – 125 độ C
- Công suất của triết áp đơn: 2W
- Loại điều chỉnh: tuyến tinh
Motor DC
3.6.1 Giới thiệu Động cơ điện một chiều là máy điện chuyển đổi năng lượng điện một chiều sang năng lượng cơ (Máy điện chuyển đổi từ năng lượng cơ sang năng lượng điện là máy phát điện) Động cơ DC giảm tốc là loại được lựa chọn và sử dụng nhiều nhất hiện nay cho các mô hình, thiết kế Robot đơn giản… Động cơ DC giảm tốc V1 có chất lượng tương đối cùng với khả năng dễ lắp ráp đem lại sự tiện dụng, thích hơp cho mô hình đồ án này.
3.6.2 Tính toán chọn động cơ
Tổng khối lượng hàng trên băng chuyền: 0.2kg Khối lượng của dây belt là 0.3 Kg=> Tải trọng của băng tải: W=0.5kg Hệ số ma sỏt : à=0.15
Hệ số ma sát pully: π1=0.95 Hệ số ma sát hộp giảm tốc: π2=0.9 D: Đường kính pully D= 0.03m Tốc độ vòng quay pully: N1= tốc độ gói hàng/ Dxπ 0.1 60
Momen đầu hộp số: T2= T 1 1 2 0,01(N.m) Với T2=0.01 (N.m) và N = 63 Rpm
Nên chọn động cơ giảm tốc JGB37-3530 Với thông số :
- Điện áp định mức: 12V - Tốc độ quay 66 vòng/phút - Lực kéo: 0.5N.m
3.6.3 Thông số kỹ thuật Động cơ giảm tốc JGB37-520 12V 66rpm, các bánh răng trong hộp số đều làm bằng kim loại, chổi than có độ bền tốt Với mô-men xoắn cao và tiếng ồn thấp, có thể nói đây là một động cơ có hướng đặc biệt tốt, có thể làm tốt công việc của bạn cho dù nó được sử dụng trên robot hoặc các sản phẩm khác.
- Điện áp hoạt động: từ 6V đến 15V
- Tốc độ chạy không tải ở 12V: 66 RPM
- Dòng điện không tải ở 12V: 60 mA
- Mô-men xoắn ở 12V: 5 kg.cm
- Kích thước hộp số: 24mm - Trọng lượng: 158g
SƠ ĐỒ ĐỘNG CƠ GIẢM TỐC JGB37-520
Hình 3.9: Kích thước động cơ
Gồm có 3 phần chính stator (phần cảm), rotor (phần ứng), và phần chỉnh lưu (chổi than và cổ góp)
- Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh cửu, hay nam châm điện
- Rotor có các cuộn dây quấn và được nối với nguồn điện một chiều
- Bộ phận chỉnh lưu, nó có nhiệm vụ là đổi chiều dòng điện trong khi chuyển động quay của rotor là liên tục.
Pha 1: Từ trường của rotor cùng cực với stator, sẽ đẩy nhau tạo ra chuyển động quay của rotor.
Pha 2: Rotor tiếp tục quay
Pha 3: Bộ phận chỉnh điện sẽ đổi cực sao cho từ trường giữa stator và rotor cùng dấu, trở lại pha 1
Hình 3.10: Nguyên lý hoạt động phần cảm và phần ứng
Mạch Công Suất MOSFET IRF520
Mạch công suất MOSFET IRF520 được sử dụng để đóng ngắt các thiết bị công suất cao qua MOSFET IRF520 giúp bạn điều khiển các thiết bị công suất như: Motor, LED siêu sáng, quạt DC,v.v… Kích thước nhỏ, có đèn báo trạng thái hoạt động.
Hình 3.11: Mạch công suất MOSFET IRF520
- Điện áp giao tiếp: 3.3~5VDC
- Điện áp cấp cho tải: 0~24VDC
- Trọng lượng: 10gSƠ ĐỒ MẠCH CÔNG SUẤT MOSFET IRF520
Hình 3.12: Sơ đồ mạch công suất
Motor Servo
Servo là một dạng động cơ điện đặc biệt Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển với góc quay nằm trong khoảng giới hạn Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực tương đối (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn.
Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-controlled) Trong thực tế, bản thân động cơ servo không phải được điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi Động cơ servo nhận tín hiệu từ máy thu này.
Hoạt động & Cấu tạo Động cơ DC và động cơ bước vốn là những hệ hồi tiếp vòng hở Việc thiết lập một hệ thống điều khiển để xác định những gì ngăn cản chuyển động quay của động cơ hoặc làm động cơ không quay cũng không dễ dàng
Hình 3.14: Cấu tạo cơ bản của một động cơ (motor) servo
1 Motor 2 Electronics Board 3 Positive Power Wire (Red) 4 Signal Wire (Yellow or White) 5 Negative or Ground Wire (Black) 6 Potentiometer
7 Output Shaft/Gear 8 Servo Attachment Horn/Wheel/Arm 9 Servo Case
Hình 3.15: Sơ đồ nối dây của Micro Servo
Thông số kỹ thuật của Động Cơ RC Servo MG996R
- Servo MG996R (nâng cấp MG995) có momen xoắn lớn
- Đây là bản nâng cấp từ servo MG995 về tốc độ, lực kéo và độ chính xác
- Phù hợp với máy bay cánh quạt loại 50 -90 methanol và máy bay cánh cố định xăng 26cc-50cc
- So với MG946R, MG996R nhanh hơn, nhưng hơi nhỏ hơn.
- Kích thước sản phẩm: 40.7 * 19.7 * 42.9mm
- Lực kéo: 9.4kg / cm (4.8V), 11kg / cm (6V)
- Tốc độ xoay: 0.17 giây / 60 độ (4.8 v) 0.14 giây / 60 độ (6 v)
- Các mô hình thích hợp: máy bay cánh cố định 50 – 90 methanol và máy bay cánh động cơ xăng 26cc-50cc
Hình 3.16 Kích thước Micro Servo
3.8.4 Điều biến độ rộng xung
Trục của động cơ servo R/C được định vị nhờ vào kỹ thuật gọi là điều biến độ rộng xung (PWM) Trong hệ thống này, servo là đáp ứng của một dãy các xung số ổn định Cụ thể hơn, mạch điều khiển là đáp ứng của một tín hiệu số có các xung biến đổi từ 1 – 2 ms Các xung này được gởi đi 50 lần/giây Chú ý rằng không phải số xung trong một giây điều khiển servo mà là chiều dài của các xung Servo đòi hỏi khoảng 30 – 60 xung/giây Nếu số này qua thấp, độ chính xác và công suất để duy trì servo sẽ giảm Với độ dài xung 1 ms, servo được điều khiển quay theo một chiều (giả sử là chiều kim đồng hồ):
Hình 3.17: Điều khiển trục ra của động cơ bằng cách điều chế độ rộng xung
Với độ dài xung 2 ms, servo quay theo chiều ngược lại Kỹ thuật này được gọi là tỉ lệ số – chuyển động của servo tỉ lệ với tín hiệu số điều khiển.
Các servo khác nhau ở góc quay được với cùng tín hiệu 1 – 2 ms (hoặc bất kỳ) được cung cấp Các servo chuẩn được thiết kế để quay tới và lui từ 90 độ – 180 độ khi được cung cấp toàn bộ chiều dài xung Nếu ta cố điều khiển servo vượt quá những giới hạn cơ học của nó, hiện tượng này kéo dài hơn vài giây sẽ làm bánh răng của động cơ bị phá hủy.
3.8.6 Phân loại và các kích thước đặc biệt
Ngoài servo kích thước chuẩn dùng trong robot và mô hình điều khiển vô tuyến cón có các loại servo R/C khác:
- Servo tỉ lệ ẳ / tỉ lệ lớn (quarter-scale / large-scale servo): kớch thước
- Servo tời buồm (sail minch servo): mạnh nhất, dùng để điều khiển các dây thừng của buồm nhỏ và buồm chính trong mô hình thuyền buồm.
- Servo thu bộ phận hạ cánh(landing-gear retraction servo): dùng để thu bộ phận hạ cánh trong mô hình máy bay vừa và lớn Thiết kế bộ phận hạ cánh thường đòi hỏi servo phải đảm bảo góc quay ít nhất là 170 độ.
Các servo này thường nhỏ hơn kích thước chuẩn vì không gian giới hạn trong mô hình máy bay.
Nguồn
+ Đầu vào: 100 -240V 50/60Hz+ Đầu ra: 12V - 2A
Các thông số chỉ ra Adapter này sẽ biến đổi nguồn vào AC thành nguồn ra DA Điều này có nghĩa là adapter sẽ hoạt động ổn định khi bạn cung cấp cho nó nguồn điện đầu vào trong khoảng 100 – 220V thành nguồn điện đầu ra chuẩn 20V.
Cường độ dòng điện chuẩn của nguồn 220V thường là 12A các thiết bị sử dụng adapter phải có cường độ thấp hơn con số này.
+ Nguồn Adapter 12V-2A 5.5*2.1 mm đáp ứng CEC năng lượng hiệu quả + Cung cấp năng lượng với đầu kết nối 2.1mm x 5.5mm
+ Kích thước nhỏ gọn và trọng lượng nhẹ.
+ Độ bền cao: Nguồn Adapter có tuổi thọ trung bình 3 năm với thời gian sử dụng được tính toán là 8 tiếng/ngày.
+ Quy định điện áp ổn định.
+ Chất lượng SMPS tốt + Có thể thay thế adapter thấp hơn như 12V 0.5A/ 1A… Ứng dụng của sản phẩm
- Adapter 12V cung cấp điện cho LED, SMD (Công nghệ LED tiên tiến nhất hiện nay), đèn LED Strip, RGB LED Strip,
- Đây là nguồn điện lý tưởng cho các bộ định tuyến / Modem / Điện thoại di động / máy nghe nhạc Mp3 / POS Máy móc
- Đặc biệt thích hợp cấp điện cho Router, Wifi Router an ninh / thu máy ảnh và một số máy ảnh CCTV tiên tiến, máy nghe, Set Top Box, sạc hoặc bất kỳ tiện ích theo đánh giá của các thiết bị.
THI CÔNG HỆ THỐNG
Giới thiệu
- Đồ án “Mô hình phân loại và đếm sản phẩm theo chiều cao sử dụng Arduino” bằng việc thiết kế mô hình phân loại sản phẩm và lập trình Arduino ý tưởng áp dụng Arduino trong công nghiệp sản xuất càng sáng tỏ, khả thi hơn
- Khi sản phẩm trên băng tải đi qua cảm biến hồng ngoại được thiết kế với động cơ Servo để phân loại sản phẩm kết hợp với màn hinh LED 1602 để hiển thị số lượng sản phẩm, giúp chúng ta một phần nào hiểu được dây chuyền phân loại sản phẩm trong thực tế.
Hình 4.1: Mô hình hệ thống
Hình 4.2: Board mạch chính của hệ thống
Các phần mềm thiết kế
4.2.1 Arduino IDE a) Giới thiệu phần mềm Arduino
Môi trường phát triển tích hợp (IDE) Arduino là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp Nó được thiết kế để làm nhập môn lập trình cho các nhà lập trình và những người mới sử dụng khác không quen thuộc với phát triển phần mềm Nó bao gồm một trình soạn thảo mã với các tính năng như làm nổi bật cú pháp, khớp dấu ngặc khối chương trình, và thụt đầu dòng tự động, và cũng có
Chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đi kèm với một thư viện phần mềm được gọi là "Wiring" từ dự án lắp ráp ban đầu, cho hoạt động đầu vào/đầu ra phổ biến trở nên dễ dàng hơn nhiều Người sử dụng chỉ cần định nghĩa hai hàm để thực hiện một chương trình điều hành theo chu kỳ : setup() : hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập loop() : hàm được gọi lặp lại liên tục cho đến khi bo mạch được tắt đi.
Khi các bạn bật điện bảng mạch Arduino, reset hay nạp chương trình mới, hàm setup() sẽ được gọi đến đầu tiên Sau khi xử lý xong hàm setup(), Arduino sẽ nhảy đến hàm loop() và lặp vô hạn hàm này cho đến khi bạn tắt điện bo mạch Arduino Chu trình đó có thể mô tả trong hình dưới đây:
Arduino IDE sử dụng GNU toolchain và AVR libc để biên dịch chương trình, và sử dụng avrdude để tải lên các chương trình vào bo mạch chủ Do nền tảng Arduino sử dụng vi điều khiển Atmel, môi trường phát triển của Atmel, AVR Studio hoặc Atmel Studio mới hơn, cũng có thể được sử dụng để phát triển phần mềm cho các Arduino
Giao diện phần mềm IDE Phần này nói về giao diện của phần mền IDE, hình bên dưới thể hiện những phần cơ bản của giao diện
Hình 4.3: Giao diện lập trình IDE
Sử dụng một số menu thông dụng trên phần mềm IDE
Có vài menu trong phần mềm IDE, tuy nhiên thông dụng nhất vẫn là menu File, ngoài những tính năng như mở một file mới hay lưu một file, phần menu này có một mục đáng chú ý là Example Phần Example (ví dụ) đưa ra các ví dụ sẵn để người lập trình có thể tham khảo, giảm bớt thời gian lập trình Hình
Hình 4.4: Menu file trên phần mềm IDE
Bên cạnh việc chọn bo thì một phần quan trọng nữa là chọn cổng COM.
Hình bên dưới minh họa cho việc chọn cổng COM Khi lần đầu gắn mạch Arduino vào máy tính, người sử dụng cần nhấn chọn cổng COM bằng cách vào Tools -> Serial Port (một số phiên bản dùng từ Port) sau đó nhấn chọn cổng COM, ví dụ như COM1 Những lần sau khi đưa chính board Arduino đó vào máy tính thì không cần chọn cổng COM, nếu đưa board Arduino khác vào máy thì cần phải chọn lại cổng COM, quy trình thực hiện cũng tương tự.
Hình 4.7: Cách chọn cổng COM trên màn hình IDE
Altium Designer trước kia có tên gọi quen thuộc là Protel DXP, là một trong những công cụ vẽ mạch điện tử mạnh nhất hiện nay Được phát triển bởi hãng Altium Limited Altium designer là một phần mềm chuyên nghành được sử dụng trong thiết kế mạch điện tử Nó là một phần mềm mạnh với nhiều tính năng thú vị, tuy nhiên phần mềm này còn được ít người biết đến so với các phần mềm thiết kế mạch khác như orcad hay proteus.
Altium Designer có một số đặc trưng sau:
- Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý file, quản lý phiên bản cho các tài liệu thiết kế.
- Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối ưu, phân tích lắp ráp linh kiện Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới.
- Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện, netlist, dữ liệu bản vẽ, kích thước, số lượng…
- Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả các linh kiện nhúng, số, tương tự…
- Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.
- Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm tra khoảng cách cách điện, cấu hình cho cả 2D và 3D
- Hỗ trợ thiết kế PCB sang FPGA và ngược lại.
Từ đó, chúng ta thấy Altium designer có nhiều điểm mạnh so với các phần mềm khác như đặt luật thiết kế, quản lý đề tài mô phỏng dễ dàng, giao diện thân thiện,…
Hình 4.5: Giao diện chính của Altium designer
Sơ đồ khối
Khối nguồn gồm các linh kiện tác động đến công suất, dòng điện (adapter, module nguồn ) cung cấp năng lượng thích hợp cho mô hình hệ thống.
Khối hiển thị (LCD 1602): hiển thị số lượng đếm được từ cảm biến
Khối phân loại (Băng tải, Servo): phân các sản phẩm thành nhiều loại theo yêu cầu của mô hình đề tài
Khối tín hiệu là các cảm biế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.
Sơ đồ nguyen lý
Hình 4.7: Sơ đồ nguyên lý
Lưu đồ thuật toán
Số lượn Điều khiển cơ
Tốc độ quay động cơ Vật cao
Số lượng vừa +1 Điều khiển cơ cấu gạt 2 Đ
Số lượng thấp + 1 Băng tải tiếp tục chạy
Code điều khiển
LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display
Servo sv2; int pwm; int mo=0; int dong0; int percent; unsigned long times; char text[20]; int cao=0; int trungbinh=0; int thap=0; void setup() {
Serial.begin(115200); sv1.attach(Servo1); sv2.attach(Servo2); pinMode(VR1,INPUT); pinMode(IR1,INPUT); pinMode(IR2,INPUT); pinMode(IR3,INPUT); pinMode(mor,OUTPUT); lcd.init(); // initialize the lcd // Print a message to the LCD. sv1.write(mo); sv2.write(mo);
} void loop() { pwm=map(analogRead(VR1),0,1023,255,50); percent=map(pwm,255,50,0,100);
Serial.println(pwm); analogWrite(mor,pwm); lcd.setCursor(10,1); sprintf(text,"Speed:%d ",percent); lcd.print(text); lcd.setCursor(19,1); lcd.print("%"); lcd.setCursor(0,1); sprintf(text,"Cao: %d ", cao); lcd.print(text); lcd.setCursor(0,2); sprintf(text,"Vua: %d ", trungbinh); lcd.print(text); lcd.setCursor(0,3); sprintf(text,"Thap: %d ", thap); lcd.print(text); if(percent>55){ if(digitalRead(IR1)==0){ times=millis(); while(millis()-times