Kết cấu hệ thống điều khiển và truyền thông

Một phần của tài liệu HD1 phan đình hiếu nghiên cứu thiết kế hệ thống phân loại cà chua theo màu sắc và khối lượng (Trang 32)

Arduino là một bo mạch vi điều khiển do một nhóm giáo sư và sinh viên nước Ý thiết kế và đưa ra đầu tiên vào năm 2005. Mạch Arduino được sử dụng để cảm nhận và điều khiển nhiều đối tượng khác nhau. Nó có thể thực hiện nhiều nhiệm vụ lấy tín hiệu từ cảm biến đến điều khiển đèn, động cơ, và nhiều đối tượng khác. Ngoài ra mạch còn có khả năng liên kết với nhiều module khác nhau như module đọc thẻ từ, ethernet shield, sim900A, …để tăng khả ứng dụng của mạch.

30

Phần cứng bao gồm một board mạch nguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM, Atmel 32-bit,….Hiện phần cứng của Arduino có tất cả 6 phiên bản, Tuy nhiên phiên bản thường được sử dụng nhiều nhất là Arduino Uno và Arduino Mega.

Hình 2.18 Cấu tạo của vi điều khiển Arduino

Arduino có nhiều ứng dụng trong đời sống, trong việc chế tạo các thiết bị điện tử chất lượng cao. Một số ứng dụng có thể kể đến như:

Lập trình robot: Arduino chính là một phần quan trọng trong trung tâm xử lí giúp điều khiển được hoạt động của robot. Lập trình máy bay không người lái. Có thể nói đây là ứng dụng có nhiều kì vọng trong tương lai.

Game tương tác: chúng ta có thể dùng Arduino để tương tác với Joystick, màn hình,… để chơi các trò như Tetrix, phá gạch, Mario… và nhiều game rất sáng tạo nữa

Arduino điều khiển thiết bị ánh sáng cảm biến tốt. Là một trong những bộ phần quan trọng trong cây đèn giao thông, các hiệu ứng đèn nháy được cài đặt làm nổi bật các biển quảng cáo.

Arduino cũng được ứng dụng trong máy in 3D và nhiều ứng dụng khác tùy thuộc vào khả năng sáng tạo của người sử dụng.

31

2.3.1.1Các loại board Arduino phổ biến.

Arduino Uno

Đây chính là loại board đơn giản nhất nên rất phù hợp với những người mới bắt đầu tìm hiểu về lĩnh vực này. Dữ liệu số bao gồm 14 chân, đầu vào gồm 6 chân 5V, khả năng phân giải là 1024 mức, tốc độ 16MHz, điện áp từ 7V đến 12V. Kích thước của Board này là 5,5x7cm.

Arduino Micro

Bao gồm có đến 20 chân, trong đó có 7 chân có thể phát PWM. Loại này có thiết kế khá nhỏ gọn, kích thước chỉ 5x2cm.

Arduino Nano

Có thể nói đây chính là loại board có kích thước nhỏ nhất chỉ 2x4cm, việc lắp đặt được thực hiện dễ dàng.

Arduino Pro

Đây là một thiết kế mới mẻ khi chân số không có sẵn, tùy vào số chân bạn sử dụng để gắn trực tiếp và giúp tiết kiệm được khoảng không lớn, ta thường thấy hai loại có nguồn 3.3V và 5V.

Arduino mega

Chân số lên đến 64, 14 chân có thể phát PWM, 4 cổng truyền tiếp cùng kích thước khá lớn 5x10cm.

Arduino Leonardo

Là board không có cổng nối USB dùng lập trình. Được thiết kế tại một chip nhỏ điều khiển. Kết nối qua COM ảo và có thể kết nối với chuột và bàn phím.

32

Board mạch Lily Pad Arduino là một công nghệ dệt điện tử có thể đeo được được mở rộng bởi Leah Sang Buechley, và được thiết kế một cách cẩn thận bởi dòng Lea Leah và SparkFun. Mỗi board được thiết kế một cách tưởng tượng với các miếng kết nối khổng lồ & một mặt sau mịn màng để cho chúng được khâu vào quần áo bằng chỉ . Arduino này cũng bao gồm I / O, nguồn và cả board cảm biến được chế tạo đặc biệt cho hàng dệt may điện tử.

Arduino RedBoard

Board mạch RedBoard Arduino có thể được lập trình bằng cáp USB Mini-B bằng Arduino IDE. Nó sẽ hoạt động trên Windows 8 mà không phải sửa đổi cài đặt bảo mật của bạn. Nó không đổi do chip USB hoặc FTDI chúng tôi sử dụng và nó hoàn toàn phẳng ở mặt sau. Tạo nó rất đơn giản để sử dụng trong thiết kế dự án. Chỉ cần cắm board, chọn tùy chọn menu để chọn Arduino UNO và bạn đã sẵn sàng để tải lên chương trình. Bạn có thể điều khiển RedBoard qua cáp USB bằng giắc cắm thùng.

2.3.1.2Giới thiệu phần mềm lập trình Arduino IDE.

Arduino cung cấp đến môi trường lập trình tích hợp mã nguồn mở hỗ trợ người dùng viết code và tải nó lên bo mạch Arduino. Đây là môi trường đa nền tảng, hỗ trợ một loạt các bo mạch Arduino cùng rất nhiều tính năng độc đáo. Ứng dụng lập trình này có giao diện được sắp xếp hợp lý, phù hợp với cả những người dùng chuyên nghiệp lẫn không chuyên.

Arduino có môi trường lập trình được viết bằng java, hiện đang được sử dụng cho các bo mạch Arduino và Genuido, được nhiều công ty trên thế giới sử dụng để lập trình cho các thiết bị của họ. Java 2 Platform Standard Edition cũng là một IDE hỗ trợ Java. Hiện Java 2 Platform Standard Edition được rất nhiều người sử dụng.

Arduino là môi trường phát triển tích hợp đa nền tảng, hỗ trợ cho một loạt các bo mạch Arduino như Arduino Uno, Nano, Mega, Esplora, Ethernet, Fio, Pro hay Pro Mini cũng như LilyPad Arduino. Phần mềm này cũng phù hợp

33

cho những lập trình viên C và C ++ là thay thế hoàn hảo cho các IDE khác. Với những ai muốn học lập trình PHP, thì PHP Designer 2007 Personal là lựa chọn tốt. Phần mềm PHP Designer 2007 Personal cung cấp các giải pháp hiệu quả trong thiết kế website.

Các tính năng chính của Arduino IDE: + Viết code cho bo mạch Arduino. + Hỗ trợ nhiều loại bo mạch Arduino.

+ Giao diện được sắp xếp hợp lý, dễ sử dụng. + Mảng thư viện hỗ trợ phong phú.

Giao diện phần mềm IDE:

34

Hình 2.19 Menu file trên phần mêm IDE

2.3.2 Tổng quan về LCD.

2.3.2.1Màn hình LCD là gì?

Màn hình tinh thể lỏng LCD (Liquid Crystal Display) được cấu tạo nên bởi các tế bào (các điểm ảnh) chứa tinh thể lỏng với khả năng thay đổi tính phân cực của ánh sáng và thay đổi cường độ ánh sáng truyền qua khi kết hợp với các loại kính lọc phân cực. Nói một cách dễ hiểu hơn thì LCD chính là công nghệ dùng đèn nền để tạo ánh sáng chứ không tự phát sáng được.

2.3.2.2Cấu tạo của màn hình LCD

Cấu tạo của màn hình LCD gồm 6 lớp xếp chồng lên nhau:

(1) Kính lọc phân cực thẳng đứng có tác dụng lọc ánh sáng tự nhiên khi vào (2) Lớp kính có điện cực ITO

(3) Lớp tinh thể lỏng

(4) Lớp kính có điện cực ITO chung (5) Kính lọc phân cực nằm ngang

(6) Gương phản xạ, tác dụng phản xạ lại ánh sáng với người quan sát. Vốn dĩ màn hình LCD hiển thị màu sắc nhờ vào những điểm ảnh chứa tinh thể lỏng có thể thay đổi màu sắc và cường độ ánh sáng.

35

Hình 2.20: Màn hình LCD gồm 6 lớp chồng nhau

Những điểm này hiển thị màu sắc theo quy tắc phối màu phát xạ từ 3 màu lam, lục và đỏ, bật tắt liên tục để tạo ra một điểm màu, tập hợp nhiều điểm màu cho ra một hình ảnh hiển thị trên màn hình LCD.

2.3.2.3Nguyên lý hoạt động của màn hình LCD

Màn hình LCD hoạt động dựa trên nguyên tắc ánh sáng nền, bao gồm một lớp chất lỏng nằm giữa 2 lớp kiếng phân cực ánh sáng. Đèn nền có vai trò cung cấp nguồn sáng phía sau màn hình. Ánh sáng này bị phân cực, hay có thể hiểu là chỉ một nửa ánh sáng chiếu qua lớp tinh thể lỏng. Các tinh thể lỏng này được tạo thành từ một phần chất rắn, một phần chất lỏng và có thể "xoắn" khi dòng điện chạy qua. Các tinh thể lỏng sẽ chặn ánh sáng phân cực khi chúng tắt, nhưng lại phản xạ các loại ánh sáng đỏ, lục hoặc lam khi được kích hoạt.

36

Nhìn chung, nói một cách dễ hiểu, LCD sử dụng đèn nền và các pixel được bật và tắt điện tử trong khi các tinh thể lỏng để xoay ánh sáng phân cực, từ đó có thể tạo ra hình ảnh.

2.3.3 Giao tiếp I2C

2.3.3.1Khái niệm

I2C ( Inter – Integrated Circuit) là 1 giao thức giao tiếp nối tiếp đồng bộ được phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các IC với nhau chỉ sử dụng hai đường truyền tín hiệu. Các bit dữ liệu sẽ được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu đồng hồ. Bus I2C thường được sử dụng để giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại vi điều khiển, cảm biến, EEPROM, …

2.3.3.2Phương thức hoạt động

❖ Cấu tạo: I2C sử dụng 2 đường truyền tín hiệu:

SCL - Serial Clock Line : Tạo xung nhịp đồng hồ do Master phát đi SDA - Serial Data Line : Đường truyền nhận dữ liệu.

Hình 2.22: Đường truyền tín hiệu I2C

Giao tiếp I2C bao gồm quá trình truyền nhận dữ liệu giữa các thiết bị chủ tớ, hay Master - Slave. Thiết bị Master là 1 vi điều khiển, nó có nhiệm vụ điều

37

khiển đường tín hiệu SCL và gửi nhận dữ liệu hay lệnh thông qua đường SDA đến các thiết bị khác. Các thiết bị nhận các dữ liệu lệnh và tín hiệu từ thiết bị Master được gọi là các thiết bị Slave. Các thiết bị Slave thường là các IC, hoặc thậm chí là vi điều khiển. Master và Slave được kết nối với nhau như hình trên. Hai đường bus SCL và SDA đều hoạt động ở chế độ Open Drain, nghĩa là bất cứ thiết bị nào kết nối với mạng I2C này cũng chỉ có thể kéo 2 đường bus này xuống mức thấp (LOW), nhưng lại không thể kéo được lên mức cao. Vì để tránh trường hợp bus vừa bị 1 thiết bị kéo lên mức cao vừa bị 1 thiết bị khác kéo xuống mức thấp gây hiện tượng ngắn mạch. Do đó cần có 1 điện trờ ( từ 1 – 4,7 kΩ) để giữ mặc định ở mức cao.

❖ Khung truyền I2C :

- Khối bit địa chỉ :Thông thường quá trình truyền nhận sẽ diễn ra với rất nhiều thiết bị, IC với nhau. Do đó để phân biệt các thiết bị này, chúng sẽ được gắn 1 địa chỉ vật lý 7 bit cố định.

- Bit Read/Write: Bit này dùng để xác định quá trình là truyền hay nhận dữ liệu từ thiết bị Master. Nếu Master gửi dữ liệu đi thì ứng với bit này bằng ‘0’, và ngược lại, nhận dữ liệu khi bit này bằng ‘1’.

- Bit ACK/NACK: Viết tắt của Acknowledged / Not Acknowledged. Dùng để so sánh bit địa chỉ vật lý của thiết bị so với địa chỉ được gửi tới. Nếu trùng thì Slave sẽ được đặt bằng ‘0’ và ngược lại, nếu không thì mặc định bằng ‘1’.

-Khối bit dữ liệu: Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân. Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành công hay chưa. Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại.

38

- Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA, SCL từ mức 1 xuống 0.

- Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bit Read/Write.

- Slave sẽ so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới. Nếu trùng khớp, Slave sẽ xác nhận bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’. Nếu không trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’.

- Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu. Nếu Master gửi đến Slave thì bit Read/Write ở mức 0. Ngược lại nếu nhận thì bit này ở mức 1.

- Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK

được set thành mức 0 để báo hiệu cho Master tiếp tục.

- Sau khi tất cả dữ liệu đã được gửi đến Slave thành công, Master sẽ phát 1 tín hiệu Stop để báo cho các Slave biết quá trình truyền đã kết thúc bằng các chuyển lần lượt SCL, SDA từ mức 0 lên mức 1.

❖ Các chế độ hoạt động của I2C:

- Chế độ chuẩn (standard mode) với tốc độ 100 kBit/s. - Chế độ tốc độ thấp (low speed mode) với tốc độ 10 kBit/s.

Ngoài ra, khác với giao tiếp SPI chỉ có thể có 1 Master, giao tiếp I2C cho phép chế độ truyền nhận dữ liệu giữa nhiều thiết bị Master khác nhau với thiết bị Slave. Tuy nhiên quá trình này có hơi phức tạp vì thiết bị Slave có thể nhận 1 lúc nhiều khung dữ liệu từ các thiết bị Master khác nhau, điều đó đôi khi dẫn đến xung đột hoặc sai sót dữ liệu nhận được. Để tránh điều đó, khi làm việc ở chế độ này, mỗi thiết bị Master cần phát hiện xem đường SDA đang ở trạng thái nào. Nếu SDA ở mức 0, nghĩa là đang có 1 thiết bị Master khác đang có quyền điều khiển và phải chờ đến khi truyền xong. Ngược lại nếu SDA ở mức 1, nghĩa là đường truyền SDA đã an toàn và có sử dụng.

39

CHƯƠNG 3: TÍNH TOÁN THIẾT KẾ HỆ THỐNG

3.1 Thiết kế hệ thống cơ khí 3.1.1 Sơ đồ hệ thống cơ khí 3.1.1 Sơ đồ hệ thống cơ khí

Mô hình cơ khí đảm bảo được các chức năng và yêu cầu của hệ thống phân loại cà chua như sau:

+ Mô hình cơ khí được thiết kế ra phải đảm bảo chắc chắn, nhỏ gọn, khối lượng nhẹ và có tính thẩm mỹ cao.

+ Đảm bảo cho các cơ cấu chấp hành, các cơ cấu điều khiển được sắp xếp hợp lý, khoa học nhất.

+ Dễ dàng sử dụng.

+ Chi phí rẻ, dễ triển khai.

Thành phần của hệ thống bao gồm:

+ Phần cơ khí: Khung băng tải, gá servo, gá cảm biến màu, gá cảm biến hồng ngoại, bàn cân, ngõ phân phối phôi, động cơ servo, động cơ giảm tốc.

+ Phần điện- điện tử: Vi điều khiển, mạch điều khiển, mạch công suất, cảm biến.

Hình dạng tổng quát kết cấu cơ khí:

40

3.1.2 Thiết kế băng tải.

Băng tải là thành phần quan trọng của hệ thống phân loại sản phẩm, có nhiệm vụ vận chuyển phôi tới vị trí thao tác, bên dưới có trang bị hệ thống con lăn. Nguồn động lực chính của băng tải chính là động cơ điện: động cơ điện một chiều, động cơ 3 pha lồng sóc hay servo,... tùy vào yêu cầu hệ thống.

Để tạo ra momen đủ lớn cho băng tải cần nổi trục động cơ với hộp giảm tốc. Hai đầu băng tải có puli, băng tải là vòng kín quấn quanh puli này. Băng tải làm từ vật liệu nhiều lớp, thường là cao su. Lớp dưới là thành phần chịu kéo và tạo hình cho băng tải, lớp trên là lớp phủ.

Các loại băng tải: băng tải xích, băng tải con lăn trọng lực, băng tải con lăn dùng động cơ, băng tải dây đai,...

- Băng tải xích bao gồm xích tấm, xích gỗ, xích inox, xích nhựa, xích cào. Tùy thuộc vào kích thước, trọng lượng của từmg đối tượng được vận chuyển, vận tốc vận chuyển mà chọn loại động cơ cho phù hợp.

- Băng tải con lăn trọng lực được cấu tạo bởi các con lăn bằng thép, inox (thép không gi), hoạt động vận chuyển hàng chủ yếu là nhờ lực hấp dẫn. Khung chân bằng thép hoặc inox. Khi sử dụng ở trên nền đất có thể đẩy chân băng tải ra để trụ được và vận chuyển hàng bình thường.

- Băng tải con lăn dùng động cơ, cũng giống như băng tải con lăn trọng lực, băng tải này gắn thêm động cơ, giảm sức lao động con người, tiện lợi cho tự động hóa. Hàng hóa có thể được di chuyển, điều hướng hay dừng lại khi cần, và được kiểm soát nhờ vào các nút nhấn được thiết kế sẵn.

- Băng tải dây đai là loại băng tải phổ biển nhất vì nó được sử dụng cho rất nhiều các vật liệu tải, giúp kiểm soát đưoc vật liệu tải, tránh rơi rớt trong quá trình tải. Băng tải thường sử dụng các loại dây băng tải PVC, cao su, nhựa

Một phần của tài liệu HD1 phan đình hiếu nghiên cứu thiết kế hệ thống phân loại cà chua theo màu sắc và khối lượng (Trang 32)

Tải bản đầy đủ (PDF)

(94 trang)