PHẦN MỞ ĐẦULý do chọn đề tàiNgày nay, cùng với sự phát triển không ngừng của mọi lĩnh vực đặc biệt trong đó là khoa học kỹ thuật cũng như là kỹ thuật điện điện tử đã cho phép con người thỏa mãn về những nhu cầu của bản thân tìm tòi mày mò . . . Lĩnh vực này lần đầu tiên trở nên quan trọng và hình thành nghề nghiệp liên quan đến nó vào cuối thế kỉ XIX sau khi điện báo và cung cấp năng lượng điện đi vào thương mại hóa. Cùng với sự phát triển đó thì cũng có những sự phát triển khác nhau như: năng lượng, điện tử học, hệ thống điều khiển, xử lý tín hiệu và viễn thông.Công cuộc công nghiêp hóa hiện đại hóa đất nước đang diễn ra theo sự tiến bộ của khoa học kĩ thuật. Trước tình hình đó đã có khá nhiều yêu cầu cấp bách và cũng có những thách thức đặt ra cho giới trí thức.Đời sống đang phát triển theo hướng ngày càng hiện đại. Chính vì thế, không thể thiếu được sự hiện diện của những thiết bị điện, điện tử. Những thiết bị này xuất hiện ở tất cả mọi nơi trong đời sống hàng ngày để phục vụ cho lợi ích của con người, từ cuộc sống sinh hoạt hàng ngày cho đến các hoạt động sản xuất.Cũng chính vì những lý do đó mà ngành kỹ thuật điện tử đã trở thành một ngành nghề quan trọng trong lĩnh vực kỹ thuật nói riêng là đối với toàn xã hội nói chung.Do vậy là một sinh viên chuyên ngành công nghệ kỹ thuật điện – điện tử cần nắm vững những kiến thức và kỹ năng từ đơn giản đến phức tạp như: biết sử dụng thành thạo các loại cảm biến kết nối với hệ thống để thu nhận tín hiệu. Rèn luyện thành thạo các kĩ năng lập trình trên các hệ thống sử dụng vi điều khiển trong các hệ thống công nghiệp và các ứng dụng trong sản xuất và đời sống sinh hoạt.Để biết và hiểu rõ hơn về ngành công nghiệp Điện Điện Tử của nước ta hơn nữa tôi quyết định lựa chọn đề tài: “ Thiết kế chế tạo mô hình dây chuyền băng tải phân loại trái cây theo kích thước và màu sắc ” làm đề tài Chuyên Đề của mình, với mong muốn tìm hiểu và hiểu rõ hơn về những vấn đề như là linh kiện, nguyên liệu lắp ráp và nguyên lí hoạt động cũng như là chức năng vận hành của những sản phẩm trong nước qua đó góp phần nâng cao ý tưởng và hiệu quả hơn cho sau này. Và phần nào đó nhằm thỏa mãn nhu cầu của bản thân cũng như mọi người đã và đang có những ý tưởng như mình, góp phần nâng cao hiệu quả phát triển Kinh TếXã Hội và hiểu rõ hơn về ngành công nghiệp Điện Điện Tử của đất nước trong giai đoạn Công nghiệp hóa, Hiện đại hóa.Mục đích nghiên cứuCủng cố kiến thức đã được học, áp dụng được những điều đã được học vào thực tế, làm quen với công việc thiết kế, lập trình sau này.Lĩnh hội được kinh nghiệm và kiến thức từ giáo viên hướng dẫn trong quá trình làm đồ án.Nội dung nghiên cứuTổng quan về về dây chuyền phân loại trái cây.Các yêu cầu và mục đích chế tạo mô hình.Giới thiệu thiết bị điện, các linh kiện trong mô hình.Tìm hiểu và cách thiết kế tổng quát mô hình.Lập trình điều khiển mô hình bằng Arduino.
GIỚI THIỆU CHUNG VỀ DÂY CHUYỀN PHÂN LOẠI
Tổng quan dây chuyền phân loại
Trong bối cảnh xã hội ngày càng công nghiệp hóa, việc sử dụng máy móc để thay thế sức lao động con người trở nên phổ biến, đặc biệt trong lĩnh vực nông nghiệp Nhiều loại máy móc như máy cấy lúa, máy gặt lúa, máy gieo giống và máy thu hoạch đã được áp dụng rộng rãi, bao gồm cả máy phân loại trái cây, giúp nâng cao hiệu quả sản xuất và giảm thiểu sức lao động.
Dây chuyền phân loại là một hệ thống các hoạt động tuần tự được thiết lập trong nhà máy, nhằm mục đích phân loại và lựa chọn các sản phẩm tiêu dùng đạt tiêu chuẩn từ nguyên liệu đầu vào.
Việc thiết kế dây chuyền sản xuất là điều thiết yếu nhằm đáp ứng nhu cầu của con người Dây chuyền phân loại được phát triển nhằm tiết kiệm chi phí và tối ưu hóa quy trình sản xuất.
Vì khi dây chuyền phân loại người dùng chỉ cần thao tác để máy móc hoạt động tự động.
Cam (Orange) là một loại cây ăn quả thuộc họ bưởi, có quả nhỏ hơn với vỏ mỏng và màu da cam khi chín, vị ngọt hoặc hơi chua Là cây lai giữa bưởi (Citrus maxima) và quýt (Citrus reticulata), cam có chiều cao khoảng 10 m, với cành gai và lá xanh dài từ 4-10 cm Nguồn gốc của cam có thể từ Đông Nam Á, cụ thể là Ấn Độ, Việt Nam hoặc miền nam Trung Quốc.
Quả cam chứa nhiều thành phần dinh dưỡng quan trọng, với 87,5% là nước, 0,9% protid, 8,4% glucid, 1,3% acid hữu cơ, 1,6% cellulose, cùng với 34mg% calcium và 23mg% sắt Đặc biệt, cam là nguồn cung cấp vitamin C dồi dào, có thể lên tới 150mg trong 100g dịch và 200-300mg trong 100g vỏ khô.
The fruit peel contains essential oils primarily composed of d-limonene (90%) and decyclic aldehyde, which contribute to its fragrant aroma Additionally, it includes alcohols such as linalool, dl-terpineol, and nonyl alcohol, along with butyric acid, methyl anthranilate, and caprylic esters.
Quả Cam có vị ngọt chua, tính mát, có tác dụng giải khát, sinh tâm dịch, mát phổi,tiêu đờm, thanh nhiệt và lợi tiểu.
Với những giá trị nổi bật, giá cả hợp lý, cam đã trở thành món tráng miệng quen thuộc và không thể thiếu trong mỗi gia đình Việt Nam.
Qủa Cam được sử dụng với nhiều mục đích khác nhau như ăn quả tươi, nấu ăn, làm nước ép, mứt …
Nhu cầu tiêu dùng ngày càng tăng cao yêu cầu nguồn cung dồi dào từ các thị trường quốc tế Sự phát triển kinh tế và xã hội thúc đẩy người tiêu dùng tìm kiếm thực phẩm chất lượng Để đáp ứng nhu cầu này, công tác phân loại sản phẩm tại nguồn, như nông trại và vựa nông sản, cần được cải thiện Hiện nay, phương pháp phân loại chủ yếu vẫn là thủ công, dẫn đến năng suất thấp và độ chính xác chưa cao.
Các phương pháp phân loại
Có 3 phương pháp phân loại:
- Phân loại theo trọng lượng quả.
- Phân loại theo màu sắc quả.
- Phân loại theo kích thước quả.
1.2.1 Phân loại theo trọng lượng quả
Mô hình phân loại trái cam dựa trên cân nặng được thiết lập với hai chế độ hoạt động: chế độ bằng tay và chế độ tự động.
Khi sử dụng chế độ bằng tay, quả cam được đưa vào để nhấn cấp phôi, khiến động cơ gạt quay làm quả rớt xuống cân loadcell Sau đó, cảm biến loadcell sẽ đo trọng lượng của quả và hiển thị kết quả trên màn hình LCD.
Nếu trọng lượng quả hiển thị trên màn hình LCD nhỏ hơn 150 gam, hãy nhấn nút quay trái để di chuyển mâm xoay sang bên trái, giúp quả rơi vào khay bên trái.
Nếu trọng lượng của quả hiển thị trên màn hình LCD lớn hơn 150 gram, hãy nhấn nút quay phải để di chuyển mâm xoay sang bên phải, giúp quả rơi vào khay bên phải.
Khi sử dụng chế độ tự động, cảm biến hồng ngoại sẽ nhận diện vật cản khi cam được đưa vào, từ đó truyền tín hiệu để động cơ gạt quay quả cam xuống cân loadcell Sau đó, cảm biến loadcell sẽ đo trọng lượng của quả cam và hiển thị kết quả trên màn hình LCD.
Nếu quả có cân nặng hiển thị trên LCD 150gam thì sang bên phải làm cho quả rơi vào khay bên phải.
1.2.2 Phân loại theo màu sắc quả Đây là máy phân loại trái cây (táo) theo màu sắc.
Táo được di chuyển vào khối cảm biến màu và hiển thị trên màn hình Sau đó, chúng sẽ được đưa ra băng chuyền để phân loại theo màu sắc yêu cầu.
1.2.3 Phân loại theo kích thước quả
Hình 1 3 Nhà máy phân loại trái cây theo kích thước Đây là máy phân loại trái cây (táo) theo kích thước.
Sau khi táo được làm sạch, chúng được đưa vào máy cảm biến để xác định kích thước và phân loại Kết quả kích thước sẽ được hiển thị trên màn hình Tiếp theo, táo sẽ được chuyển đến băng chuyền phân loại, nơi chúng được xếp vào các khay tương ứng với từng kích thước theo yêu cầu.
GIỚI THIỆU VỀ MÔ HÌNH DÂY CHUYỀN PHÂN LOẠI
1.3.1 Chọn phương pháp phân loại:
Trong đề tài này em chọn phương pháp phân loại theo màu sắc và kích thước (chiều cao) quả.
- Do em học ngành điện – điện tử nên chọn phương pháp cơ điện để phát huy, trao dồi kỹ năng nghề nghiệp qua đó nâng cao tay nghề.
- Do chi phí máy cơ sẽ phù hợp với đối tượng sinh viên em muốn hướng đến,
- Do trình độ chuyên môn, kinh nghiệm, kĩ năng bản thân còn nhiều hạn chế chưa thể chế tạo máy có nhiều chi tiết cơ cấu phức tạp.
- Không làm hư hỏng bề mặt quả.
- Mô hình phải gọn chiếm ít diện tích.
- Chi phí chiếc máy phải phù hợp với những đối tượng.
- Mô hình dễ vận chuyển.
- Dễ tháo lắp để tiện ích cho người sử dụng.
- Mô hình phải đảm bảo độ an toàn tuyệt đối khi vận hành máy.
- Mô hình phải đảm bảo công suất tối ưu khi sử dung, kể cả sản phẩm và thời gian ra sản phẩm.
1.3.3 Yêu cầu về chương trình chung:
Khi cảm biến màu phát hiện màu vàng và màu xanh lục, động cơ gạt thứ nhất sẽ tự động gạt cho đến khi quả vàng được đưa vào khay thứ nhất, sau đó sẽ trở về vị trí ban đầu.
Cảm biến hồng ngoại có khả năng phát hiện vật cản và gửi tín hiệu cho động cơ gạt, giúp thực hiện chức năng gạt vào khay thứ hai Sau khi quả được đưa vào khay, động cơ sẽ quay trở lại vị trí ban đầu.
- Yêu cầu thiết kế mô hình là phải tương đối giống với thực tế về hình thức lẫn chất lượng hoạt động, phải chắc chắn gọn gàng.
- Động cơ được dùng ở đây là loại động cơ một chiều được cấp nguồn bởi bộ chỉnh lưu cầu một chiều
- Linh kiện phải có khả năng ổn định nhiệt, ổn định dòng tốt.
- Bảo đảm làm việc chính xác, an toàn, dễ lắp đặt, kiểm tra và sửa chữa.
- Mô hình phải làm việc ổn định ở các điều kiện khí hậu, môi trường.
Phương pháp phân loại trái cây bẳng cảm biến màu TCS3200 và phân loại kích thước (chiều cao) bằng cảm biến hồng ngoại.
Hình 1 4 Mô hình phân loại trái cây theo màu sắc và kích thước (chiều cao)
- 4 cảm biến hồng ngoại (2 cảm biến nhận biết chiều cao, 2 cảm biến để đếm sản phẩm).
- Động cơ giảm tốc để kéo băng tải.
- Kit điều khiển Adruino uno R3 xử lí tín hiệu và điều khiển.
Nguyên lý hoạt động của mô hình: Khi cấp nguồn cho động cơ giảm tốc thì băng tải hoạt động.
Trong quá trình phân loại màu, trái cây được đưa lên băng tải và đi qua cảm biến màu Khi cảm biến nhận tín hiệu của quả màu vàng, bộ xử lý tín hiệu Arduino sẽ xử lý thông tin và phát tín hiệu cho động cơ Servo thứ nhất Động cơ này sẽ gạt quả màu vàng vào máng thứ nhất Sau khi quả màu vàng vào máng và đi qua cảm biến hồng ngoại, cảm biến sẽ nhận tín hiệu và Arduino sẽ phát tín hiệu cho động cơ Servo thứ nhất quay về vị trí ban đầu.
Khi quả màu xanh di chuyển đến hai cảm biến hồng ngoại ở độ cao 7cm và 5cm, cảm biến sẽ gửi tín hiệu đến Arduino để điều khiển động cơ Servo Quả có độ cao >= 7cm sẽ được gạt sang bên, trong khi quả có độ cao < 7cm sẽ tiếp tục di chuyển đến cuối băng tải Cảm biến hồng ngoại ở khay thứ hai có nhiệm vụ nhận diện vật cản, và Arduino sẽ xử lý để động cơ gạt thứ hai quay về vị trí ban đầu Quy trình này sẽ được lặp lại liên tục.
Mô hình này được phát triển dựa trên thực tế của nhiều nhà máy sản xuất sử dụng băng chuyền, cho phép vận chuyển sản phẩm liên tục thông qua hệ thống băng tải nhờ vào động cơ.
Từ thực tế đó em đã đưa ra ý tưởng thiết kế mô hình phân loại trái cây theo màu sắc và kích thước (chiều cao),
1.3.5 Ưu, nhược điểm: Ưu điểm:
- Chi phí linh kiện thấp.
- Dễ vận hành, bảo trì, bảo dưỡng.
- Có thể ứng dụng máy phân loại nhiều loại quả khác nhau.
Nhược điểm: Tỷ lệ phân loại chính xác chưa cao do hình dạng và màu sắc không đều.
GIỚI THIỆU CÁC THIẾT BỊ LINH KIỆN THIẾT KẾ
Phần cứng
2.1.1 Kit điều khiển Arduino uno r3
Trong mô hình phân loại trái cây theo màu sắc và kích thước, Arduino đóng vai trò là bộ điều khiển trung tâm, xử lý tín hiệu và điều khiển hoạt động của hệ thống Hiện nay, có nhiều loại Arduino trên thị trường, nhưng trong nghiên cứu này, tôi sử dụng Arduino Uno R3.
Arduino là một mạch điều khiển tiện lợi, cho phép người dùng dễ dàng quản lý và điều khiển các thiết bị như đèn LED, cảm biến nhiệt độ, cánh tay robot và động cơ Để thực hiện các chức năng này một cách đơn giản và tự động, chỉ cần kết nối các thiết bị với bo mạch Arduino và lập trình cho nó.
Để giao tiếp hiệu quả với Arduino, người dùng cần nắm vững ngôn ngữ lập trình của nó Việc này trở nên đơn giản hơn nếu người dùng đã có kiến thức cơ bản về các ngôn ngữ như Java, C, hoặc C++.
Mạch Arduino được xây dựng trên nền tảng xử lý của Atmel 8bit hoặc 32bit, bao gồm một vi điều khiển và nhiều linh kiện điện tử khác có khả năng lập trình và kết nối mở rộng Thiết kế của Arduino cho phép nó kết nối với CPU của board cùng với các module khác, dễ dàng chuyển đổi thông qua các shield.
Adruino có giá thành thấp nên rất phù hợp người muốn sử dụng.
Trên thị trương hiện nay có rất nhiều loại Adruino nhưng phổ biến nhất va thông dụng nhất là Adruino uno R3 và Adruino Mega 2560.
Lịch sử phát triển của Adruino:
Vào năm 2005 mạch lập trình Adruino đầu tiên được xây dựng là mạch Adruino Serial được sử dụng kết nối bằng cổng RS-232 (Serial).
Adruino USB đầu tiên ra đời vào năm 2005 sử dụng cổng Usb type B đã thay thế cho cổng Serial.
Arduino Extreme ra đời với những cải tiến giúp người dùng dễ sử dụng hơn, nhỏ gọn và hoạt động ổn định hơn Đến năm 2006, Arduino NG được giới thiệu, thay thế chip FT232BM bằng chip USB to Serial FTDI FT232RL, nâng cao hiệu suất phần cứng của Arduino.
Adruino Diecimila ra đời vào năm 2007 có thêm tính năng mới là khi upload chương trình sẽ tự động reset lại chương trình cũ.
Vào năm 2008 – 2009, Arduino Duemilanove được giới thiệu, thay thế Atmega168 bằng Atmega328, bắt đầu từ tháng 1 năm 2008 Sự thay đổi này giúp mạch có khả năng nhận biết nguồn cấp từ ngoài hoặc qua USB.
Từ năm 2010 cho đến nay thì có Adruino uno
Ngoài các dòng Arduino phổ biến như Arduino Uno, còn có nhiều dòng khác như Arduino AKD, Arduino Nano và Arduino Due Mỗi dòng Arduino này đều có những tính năng và ưu điểm vượt trội riêng, phục vụ nhu cầu đa dạng của người sử dụng.
Với nhiều tính nhiều khả năng vượt trội nó được sử dụng để làm bộ xử lý cho các dự án lớn nhỏ và độ khó khác nhau.
Các phiên bản khác của Adruino:
Arduino hiện nay có nhiều phiên bản đa dạng, đáp ứng nhu cầu của người sử dụng Các phiên bản này được thiết kế ngày càng nhỏ gọn, nhẹ và giá cả phải chăng.
Arduino Uno sử dụng vi điều khiển ATmega328P với tần số dao động 16 MHz Nó có 14 chân I/O được đánh số từ 0 đến 13, bao gồm 6 chân PWM được đánh dấu bằng ký hiệu ~ Ngoài ra, board còn có 1 cổng USB, 1 jack nguồn DC và 1 nút reset.
Hai chân Serial, gồm TX (transmit) và RX (receive), được sử dụng để gửi và nhận dữ liệu TTL Serial Arduino có khả năng giao tiếp với các thiết bị khác thông qua hai chân này.
- Chân PWM (3,5,6,9,10 và 11): cho phép vạn xuất ra xung PWM với độ phân giải
Hàm analog Write() cho phép bạn điều chỉnh điện áp ra ở chân từ 0 đến 5V, thay vì chỉ có hai mức cố định là 0 và 5V như ở các chân khác Điều này mang lại khả năng linh hoạt hơn trong việc điều khiển thiết bị điện tử.
Chân giao tiếp SPI bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Bên cạnh các chức năng thông thường, bốn chân này còn được sử dụng để truyền dữ liệu qua giao tiếp SPI với các thiết bị khác.
Trên Arduino UNO, có một đèn LED màu cam được ký hiệu bằng chữ L, nằm ở chân 13 Khi bạn nhấn nút reset, đèn LED này sẽ nhấp nháy để báo hiệu Nếu bạn kết nối và sử dụng chân 13, đèn LED sẽ phát sáng.
Chân analog từ A0 đến A5 cung cấp độ phân giải tín hiệu 10 bit, cho phép đọc giá trị điện áp trong khoảng từ 0V đến 5V Bằng cách sử dụng chân AREF trên board, bạn có thể cung cấp điện áp tham chiếu, ví dụ như 2.5V, để đo điện áp trong khoảng từ 0 đến 2.5V mà vẫn giữ nguyên độ phân giải 10 bit.
- Chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
Cổng USB là giao tiếp quan trọng cho việc tải mã từ máy tính lên vi điều khiển, đồng thời cũng phục vụ như một giao tiếp serial để truyền dữ liệu giữa vi điều khiển và máy tính.
Một vài thông số của Adtuino ủno r3:
Vi điều khiển ATmega328 (họ 8bit) Điện áp hoạt động 5V – DC (Qua cổng USB)
Tần số hoạt động 16MHZ
Dòng tiêu thụ 30mA Điện áp vào khuyên dùng (7-12V) DC Điện áp vào giới hạn (6-20V) DC
Số chân Digital I/O 14 (6 chân PWM)
Số chân Analog 6 (A0- A6: độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Dòng ra tối đa (5V) 500 mA
Dòng ra tối đa (3.3V) 50 mA
Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bởi bootloader
Bảng 2 1 Thông số của Adtuino ủno r3
- Flash Memory: bộ nhớ có thể ghi được, dữ liệu không bị mất ngay cả khi tắt điện.
Phần mềm
Hình 2 29 Giao diện phần mềm Altium Designer 18
Altium hiện nay là phần mềm vẽ mạch điện tử phổ biến và mạnh mẽ tại Việt Nam, không chỉ hỗ trợ vẽ mạch mà còn quản lý mạch và trích xuất file thống kê linh kiện hiệu quả Altium Designer tích hợp tất cả công nghệ và chức năng cần thiết cho phát triển sản phẩm điện tử hoàn chỉnh, bao gồm thiết kế hệ thống ở mức bo mạch và FPGA, phát triển phần mềm nhúng cho FPGA và các bộ xử lý rời rạc, cũng như bố trí mạch in (PCB) Phần mềm này giúp thống nhất toàn bộ quy trình phát triển hệ thống, cho phép người dùng tạo ra các sản phẩm điện tử thông minh với chi phí thấp hơn và thời gian phát triển ngắn hơn.
Altium Designer, trước đây được biết đến với tên gọi Protel DXP, là một trong những phần mềm thiết kế mạch điện tử hàng đầu hiện nay, được phát triển bởi Altium Limited Phần mềm này tích hợp đầy đủ các công cụ cần thiết cho việc thiết kế điện tử hoàn chỉnh, bao gồm thiết kế sơ đồ nguyên lý, bản vẽ mạch in, mô phỏng mạch điện, phân tích tín hiệu, cũng như môi trường lập trình VHDL và thiết kế hệ thống nhúng FPGA.
Altium Designer là phần mềm chuyên dụng trong thiết kế mạch điện tử, nổi bật với nhiều tính năng mạnh mẽ và hấp dẫn Mặc dù có nhiều ưu điểm, nhưng Altium Designer vẫn chưa được biết đến rộng rãi như các phần mềm thiết kế mạch khác như Orcad hay Proteus.
Một số đặc trưng của Altium Designer:
- 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ệ thống cung cấp hỗ trợ mạnh mẽ cho thiết kế tự động và đi dây tự động bằng thuật toán tối ưu, đồng thời phân tích lắp ráp linh kiện Nó còn giúp tìm kiếm các giải pháp thiết kế hoặc chỉnh sửa mạch và linh kiện, cũng như netlist đã có sẵn 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à điều chỉnh các đối tượng trên các lớp cơ khí là bước quan trọng trong thiết kế PCB Định nghĩa các luật thiết kế giúp đảm bảo tính chính xác và hiệu quả của mạch điện Tùy chỉnh các lớp mạch in và chuyển đổi từ sơ đồ nguyên lý (schematic) sang PCB là quy trình cần thiết để tạo ra sản phẩm hoàn chỉnh Cuối cùng, việc đặt vị trí linh kiện trên PCB cần được thực hiện một cách cẩn thận để tối ưu hóa hiệu suất và độ tin cậy của mạch.
Mô phỏng mạch PCB 3D cung cấp hình ảnh chân thực về mạch điện trong không gian ba chiều, hỗ trợ tích cực cho MCAD-ECAD Nó cho phép liên kết trực tiếp với mô hình STEP, giúp kiểm tra khoảng cách cách điện và cấu hình mạch cho cả hai định dạng 2D và 3D.
- Hỗ trợ thiết kế PCB sang FPGA và ngược lại.
Việc thiết kế mạch điện tử trên phần mềm altium designer có thể được tóm tắt gồm các bước như sau:
- Đặt ra các yêu cầu bài toán.
- Thiết kế mạch nguyên lý.
- Lựa chọn các chân linh kiện để chuyển sang mạch in Update mạch nguyên lý sang mạch in.
- Lựa chọn kích thước mạch in sắp xếp các vị trí các loại linh kiện như điện trở, tụ điện, IC
- Đặt kích thước các loại dây nối.
2.2.2 Lập trình trên Adruino IDE:
Hình 2 30 Phần mềm Adruino IDE
Arduino là một môi trường phát triển mã nguồn mở, giúp người dùng dễ dàng viết và tải mã lên bo mạch Ngôn ngữ lập trình chính của Arduino là C/C++, nhưng lập trình với Arduino đơn giản hơn nhiều so với lập trình trực tiếp với vi điều khiển, nhờ vào việc giao tiếp với phần cứng thông qua các thư viện, che giấu những phức tạp liên quan đến phần cứng Phần mềm Arduino cung cấp nhiều thư viện phong phú như EEPROM, Firmata và GSM.
Servo, TFT, Wifi, … và các mảng thư viện ngày càng đa dạng nhờ sự đóng góp của cộng đồng Adruino trên toàn thế giới.
Hình 2 31 Giao diện của phần mềm
Nút kiểm tra chương trình trong Arduino IDE giúp xác định lỗi trong mã nguồn Khi có lỗi, phần mềm sẽ hiển thị thông tin chi tiết về lỗi đó trong khu vực thông báo, giúp người dùng dễ dàng nhận diện và sửa chữa.
Nút nạp chương trình trên bo Arduino được sử dụng để tải chương trình đã viết vào mạch Arduino Trong quá trình nạp, chương trình sẽ được kiểm tra lỗi trước khi được thực hiện nạp xuống mạch, đảm bảo tính chính xác và hiệu quả.
- Vùng lập trình: Vùng này để người lập trình thực hiện việc lập trình cho chương trình của mình.
- Vùng thông báo thông tin: Có chức năng thông báo các thông tin lỗi của chương trình hoặc các vấn đề liên quan đến chương trình được lập.
Khi nhấp vào biểu tượng kính lúp, màn hình giao tiếp với máy tính sẽ được mở ra, cho phép người dùng hiển thị các thông số mong muốn Để đưa thông số lên màn hình, cần sử dụng lệnh Serial.print() để truyền tải dữ liệu cần hiển thị.
Hình 2 32 Giao diện khởi tạo chương trình
Sau khi khởi tạo thêm thư viện ngôn ngữ lập trình riêng
Hình 2 33 Cách thêm thư viện của phần mềm
Sau khi thêm thư viện chúng ta viết chương trình lập trình.
Hình 2 34 Viết chương trình trên phần mềm
Sau đó lưu lại chương trình.
Hình 2 35 Lưu lại chương trình.
THIẾT KẾ TỔNG QUÁT PHẦN CỨNG
Sơ đồ khối
Hình 3 1 Sơ đồ khối mô hình.
Sơ lược chức năng của từng khối
3.2.1 Khối cảm biến màu sắc
Hình 3 2 Khối cảm biến màu sắc
Khối này gồm có cảm biến màu sắc TCS3200
- Chân S0, S1 nối với ngõ ra của Adruino (4, ~5,) để chọn kiểu photodiode.
- Chân S2, S3 nối với ngõ ra của Adruino (7, ~6,) để chọn tỉ lệ tần số đầu ra.
- Chân OUT nối với ngõ ra Adruino(8).
Cảm biến TCS3200 hoạt động dựa trên nguyên lý chuyển đổi ánh sáng thành tần số thông qua bộ lọc màu S2, S3 Khi ánh sáng chiếu vào, cảm biến sẽ chuyển đổi nó thành tần số tương ứng, được xử lý qua bộ chuyển đổi tần số S0, S1 Tần số đầu ra tại chân OUT phản ánh màu sắc của ánh sáng đã cảm nhận, với mỗi màu sắc có tần số riêng biệt Trong mạch này, cảm biến có khả năng phân biệt giữa màu vàng và màu xanh lá.
Hình 3 3 Khối kích servo gạt
Khối này gồm 2 động cơ RC Servo 9G (P5, P9):
- 2 chân 1 của 2 động cơ P5 và P9 nối mass (GND).
- 2 chân 2 của 2 động cơ P5 và P9 nối với nguồn +5V (VCC).
- Chân 3 của động cơ P9 nối với ngõ ra Adruino (~10).
Nguyên lý hoạt động của hệ thống gạt trái cây bao gồm hai động cơ Động cơ gạt thứ nhất nhận tín hiệu từ bộ xử lý để gạt trái cây màu vàng vào máng thứ nhất, trong khi động cơ gạt thứ hai cũng nhận tín hiệu từ bộ xử lý để gạt trái cây vào máng thứ hai.
Hình 3 4 Khối kích Servo đóng
Khối này dùng 2 cảm biến hồng ngoại:
- 2 chân 1 của 2 cảm biến P4 và P7 nối với nguồn +5V (VCC).
- 2 chân 2 của 2 cảm biến P4 và P7 nối mass (GND).
- Chân 3 của cảm biến P4 nối với ngõ ra Adruino (2).
- Chân 3 của cảm biến P7 nối với ngõ ra Adruino (~3).
Nguyên lí hoạt động: Nhận tín hiệu từ bộ xử lý Adruino để quay về vị trí ban đầu.
Hình 3 5 Khối đo chiều cao
Khối này dùng 2 cảm biến hồng ngoại:
- 2 chân 1 của 2 cảm biến P3 và P8 nối với nguồn +5V (VCC).
- 2 chân 2 của 2 cảm biến P3 và P8 nối mass (GND).
- Chân 3 của cảm biến P4 nối với ngõ ra Adruino (~11).
- Chân 3 của cảm biến P7 nối với ngõ ra Adruino (12).
Hai cảm biến được lắp đặt ở hai độ cao khác nhau, 5cm và 7cm, có chức năng phát hiện vật cản và gửi tín hiệu đến bộ xử lý Arduino.
Hình 3 6 Khối vi điều khiển
Kit Arduino Uno r3 là phân thu nhận xử lý thông tin và đưa ra các tín hiệu điều khiển thiết bị.
Khối này dùng IC LM7805:
- P1 là nguồn sau khi qua biến áp điện áp xoay chiều 220V sẽ còn 12V đưa qua chỉnh lưu thành dòng 1 chiều cung cấp cho vi xử lý.
- P2 là nguồn cấp cho động cơ.
- IC LM7805 có chức năng ổn định điện áp +5V.
SƠ ĐỒ MẠCH HOÀN CHỈNH
Sơ đồ nối dây mô hình
Hình 4 1 Sơ đồ nối dây mô hình.
Sơ đồ thuật toán
4.3 Các hình ảnh chạy thử thực tế của mô hình
Hình 4 2 Mô hình hoàn thiện
Hình 4 3 Mô hình khi có nguồn
Khi mô hình được cấp nguồn 4 led của cảm biến màu và 1 led của các cảm biến hồng ngoại sáng lên.
Hình 4 4 Khi cảm biến màu nhận tín hiệu
Khi quả màu vàng được phát hiện bởi cảm biến màu, trung tâm xử lý nhận tín hiệu và gửi đến động cơ Servo đầu tiên Động cơ này sẽ quay một góc 90 độ và gạt quả màu vàng vào máng thứ nhất.
Hình 4 5 Khi cảm biến hồng ngoại ở máng 1 nhận tín hiệu
Khi quả màu vàng rơi vào máng thứ nhất và đi qua cảm biến hồng ngoại, trung tâm xử lý nhận tín hiệu chuyển mức từ cảm biến Lúc này, động cơ Servo thứ nhất sẽ nhận tín hiệu từ trung tâm xử lý và thực hiện chức năng quay về vị trí cũ.
Hình 4 6 Khi cảm biến hồng ngoại đặt ở chiều cao 7cm nhận tín hiệu
Khi quả màu xanh đi qua cảm biến màu, cảm biến không nhận tín hiệu và tiếp tục di chuyển qua hai cảm biến hồng ngoại đặt ở độ cao 7cm và 5cm Khi quả màu xanh có chiều cao lớn hơn 7cm, cảm biến hồng ngoại ở độ cao 7cm sẽ nhận tín hiệu Trung tâm xử lý nhận tín hiệu từ cảm biến và gửi lệnh cho động cơ Servo thứ hai, khiến nó quay một góc 90 độ để gạt quả vào máng thứ hai.
Hình 4 7 Khi cảm biến hồng ngoại ở máng 2 nhận tín hiệu
Khi quả màu xanh rơi vào máng thứ hai và đi qua cảm biến hồng ngoại, trung tâm xử lý nhận tín hiệu từ cảm biến Lúc này, động cơ servo thứ hai nhận tín hiệu từ trung tâm xử lý và thực hiện chức năng quay về vị trí cũ.
Hình 4 8 Khi các cảm biến không nhận tín hiệu
Khi quả màu xanh có chiều cao nhỏ hơn 7cm thì quả đi đến cuối băng tải.
4.4 Chương trình lập trình cho Arduino UNO R3.
#define sensorOut 8 int r = 0; int g = 0; int b = 0; void setup() {
// Setting the outputs pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT);
// Setting the sensorOut as an input pinMode(sensorOut, INPUT);
// Setting frequency scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW);
{ digitalWrite(S2,LOW); digitalWrite(S3,LOW); r = pulseIn(sensorOut, LOW); delay(50); digitalWrite(S2,HIGH); digitalWrite(S3,HIGH); g = pulseIn(sensorOut, LOW); delay(50); digitalWrite(S2,LOW); digitalWrite(S3,HIGH); b = pulseIn(sensorOut, LOW); delay(50);
Serial.println("R = "+(String)r + " G = "+(String)g + " B = "+(String)b); return -1;
4.4.3 Code chính chạy hệ thống
#define sensorOut 8 int r = 0; int g = 0; int b = 0; int a; int buttonPin = 2; int buttonState = 0; int xanh = 3; int dem2 = 0; int cao7 = 11; int chieucao1 = 0; int cao5 = 12; int chieucao2 = 0; int colors[3][6];
In the setup function of an Arduino program, the servo motor myservo1 is initialized and set to a position of 90 degrees The pin for myservo1 is attached to pin 10, and several input pins, including buttonPin, xanh, cao7, and cao5, are configured as inputs and set to a low state.
// Setting the outputs pinMode(S0, OUTPUT); pinMode(S1, OUTPUT); pinMode(S2, OUTPUT); pinMode(S3, OUTPUT);
// Setting the sensorOut as an input pinMode(sensorOut, INPUT);
// Setting frequency scaling to 20% digitalWrite(S0,HIGH); digitalWrite(S1,LOW);
The function `readColor()` initializes the TCS3200 color sensor by setting the control pins S2 and S3 to LOW to measure the red component, followed by a brief delay It then switches S2 and S3 to HIGH to capture the green component, again incorporating a delay Finally, S2 is set to LOW and S3 to HIGH to read the blue component, with a delay included before concluding the readings This process enables accurate color detection by reading the pulse duration for each color channel.
//Serial.println("R = "+(String)r + " G = "+(String)g + " B = "+(String)b); return -1;
{ readColor(); buttonState = digitalRead(buttonP in); chieucao1=digitalRead(cao7); chieucao2 = digitalRead(cao5); dem2 = digitalRead(xanh); if( r >7 && r "6 && g = 277 && b 7 && r "6 && g = 277 && b