Đối tượng, phạm vi, phương pháp nghiên cứu 4 Kế hoạch nghiên cứu thu thập tài liệu liên quan đến đề tài
-Đối tượng:Động cơ DC encoder,arduino,thuật toán PID,module I2C,
+lập trình giao diện để điều khiển động cơ và hiển thị trạng thái hoạt động của động cơ trên màn hình LCD
Để đạt được tốc độ ngõ ra tương ứng với giá trị tốc độ đặt mong muốn, cần xác định chính xác ba thông số Kp, Kd và Ki của bộ PID.
+Đảo chiều động cơ và điều khiển công suất động cơ
Thông qua việc nghiên cứu từ sách vở và các nguồn tài liệu trực tuyến, chúng tôi đã tìm hiểu về môn học hệ thống điều khiển số, Arduino và thuật toán PID.
4 Kế hoạch nghiên cứu thu thập tài liệu liên quan đến đề tài:
- Thu thập tài liệu liên quan đến đề tài: 3/2022
- Tính toán chọn thiết bị :3/2022
- Chạy thử và kiểm tra: 4/2022
- Hoàn thiện và bảo vệ đề tài: 4/2022
Dự kiến kết quả đạt được của đề tài
Giúp sinh viên vận dụng kiến thức lý thuyết vào thực tế, qua đó tích lũy kinh nghiệm quý báu Điều này không chỉ hỗ trợ trong việc thực hiện các nghiên cứu khoa học mà còn hữu ích cho đồ án tốt nghiệp chuyên ngành, chuẩn bị cho sinh viên khi ra trường.
Cơ sở lý thuyết
Kỹ Thuật cảm biến
Kỹ thuật cảm biến là lĩnh vực nghiên cứu các hiệu ứng vật lý như hiệu ứng nhiệt điện, hỏa điện, quang điện và hiệu ứng Hall Mục tiêu của môn học này là ứng dụng những hiệu ứng này để đo lường các đại lượng vật lý quan trọng như nhiệt độ, độ dịch chuyển, áp suất, lực và lưu lượng.
Cảm biến là thiết bị dùng để phát hiện và chuyển đổi các biến đổi của các đại lượng vật lý cũng như các đại lượng không có tính chất điện thành các tín hiệu điện có thể đo lường và xử lý.
Các đại lượng cần đo như nhiệt độ hay áp suất thường không có tính chất điện, nhưng chúng tác động lên cảm biến để tạo ra một đặc trưng điện như điện tích, điện áp, dòng điện hoặc trở kháng Đặc trưng này chứa thông tin cần thiết để xác định giá trị của đại lượng đo, và có thể được biểu diễn dưới dạng hàm: 𝑠 = 𝐹(𝑚).
Đại lượng đầu ra (s) của cảm biến phản ánh phản ứng của nó, trong khi đại lượng đầu vào (m) là kích thích từ đại lượng cần đo Việc đo đạc giá trị của (s) giúp xác định giá trị của (m).
Các cảm biến được chế tạo dựa trên cơ sở các hiện tượng vật lý và được phân làm hai loại:
- Cảm biến tích cực: là các cảm biến hoạt động như một máy phát, đáp ứng (s) là điện tích, điện áp hay dòng
- Cảm biến thụ động: là các cảm biến hoạt động như một trở kháng trong đó đáp ứng (s) là điện trở, độ tự cảm hoặc điện dung
Các cảm biến tích cực chuyển đổi các dạng năng lượng như nhiệt, cơ hoặc bức xạ thành năng lượng điện thông qua việc ứng dụng các hiệu ứng vật lý.
Hiệu ứng quang dẫn, hay còn gọi là hiệu ứng quang điện nội, là hiện tượng giải phóng các hạt dẫn tự do trong vật liệu, chủ yếu là bán dẫn, khi chúng tiếp xúc với bức xạ ánh sáng hoặc bức xạ điện từ có bước sóng nhỏ hơn một ngưỡng nhất định.
Hiệu ứng quang phát xạ điện tử, còn được gọi là hiệu ứng quang điện ngoài, là hiện tượng mà các điện tử được giải phóng khỏi bề mặt vật liệu, tạo thành dòng điện có thể thu lại nhờ tác động của điện trường.
Các bộ cảm biến đóng vai trò quan trọng trong các lĩnh vực kinh tế và kỹ thuật, đặc biệt là trong các thí nghiệm và nghiên cứu khoa học nhờ vào độ nhạy cao của chúng Trong tự động hóa, các loại cảm biến, từ thông thường đến đặc biệt, được áp dụng rộng rãi Với sự đa dạng và phong phú về chủng loại từ nhiều hãng sản xuất, cảm biến giúp con người theo dõi và quản lý các quy trình làm việc tự động của máy móc, đặc biệt trong tự động hóa công nghiệp Một trong những loại cảm biến phổ biến nhất là encoder.
Kỹ thuật vi xử lý
Kỹ thuật vi điều khiển trang bị cho sinh viên kiến thức về kiến trúc vi xử lý, vi điều khiển, hệ thống bộ nhớ, và kỹ thuật giao tiếp vi xử lý Sau khi hoàn thành môn học, sinh viên có khả năng phân tích và thiết kế hệ thống vi xử lý, phát triển kỹ thuật giao tiếp và truyền dữ liệu cơ bản, cũng như lập trình cho hệ thống vi điều khiển bằng hợp ngữ và ngôn ngữ C.
Việc phát triển chương trình điều khiển thiết bị để đảm bảo hoạt động chính xác và đồng bộ là một thách thức phức tạp Đối với các hệ thống thông minh, vai trò của bộ vi xử lý trở nên ngày càng quan trọng Arduino là một trong những bộ vi xử lý phổ biến nhất được sử dụng trong lĩnh vực này.
Hệ thống điều khiển số
Điều khiển ổn định động cơ bằng giao thức PID
Kỹ thuật điều khiển PID, mặc dù không mới, nhưng là phương pháp phổ biến nhất trong ngành công nghiệp, được sử dụng để điều khiển các hệ thống như lò nhiệt, tốc độ, vị trí, và moment của động cơ AC và DC Sự phổ biến của bộ điều khiển PID đến từ tính đơn giản và khả năng triển khai dễ dàng trên các vi xử lý nhỏ với hiệu năng tính toán hạn chế.
Cấu trúc chung của hệ thống vòng kín như sau:
Hàm truyền của bộ điều khiển PID có dạng như sau:
- K P : Độ lợi khâu tỷ lệ
- K I : Độ lợi khâu tích phân
- K D : Độ lợi khâu vi phân
Biến số (e) thể hiện sai số giữa giá trị mong muốn (R) và giá trị ngõ ra (Y) Sai số này sẽ được gửi đến bộ điều khiển PID, nơi mà bộ điều khiển sẽ tính toán cả vi phân và tích phân của tín hiệu sai số Tín hiệu (u) sẽ được xác định dựa trên các phép toán này.
Tín hiệu (u) được gửi đến đối tượng điều khiển, từ đó tạo ra tín hiệu mới (Y) được đưa đến cảm biến để tính toán sai số mới (e) Bộ điều khiển sẽ tiếp tục tính toán các giá trị vi phân và tích phân của sai số này, lặp lại quá trình Bộ điều khiển P, I và D có những đặc tính riêng: Bộ điều khiển tỷ lệ (K P) giúp giảm thời gian lên và giảm sai số ở trạng thái xác lập, mặc dù không thể triệt tiêu hoàn toàn.
Bộ điều khiển tích phân (K I ) sẽ triệt tiêu sai số ở trạng thái xác lập, nhưng lại có thể làm giảm chất lượng của đáp ứng quá độ
Bộ điều khiển vi phân (K D ) sẽ làm tăng độ ổn định của hệ thống, giảm độ vọt lố và tăng chất lượng đáp ứng quá độ
Tác động của mỗi bộ điều khiển K P , K I , K D được trình bày trong bảng sau:
Thời gian lên Độ vọt lố Thời gian Sai số xác lập
K P Giảm Tăng Thay đổi nhỏ Tăng
K I Giảm Tăng Tăng Triệt tiêu
K D Thay đổi nhỏ Giảm Giảm Thay đổi nhỏ
Chỉnh định bộ điều khiển PID bằng phương pháp Zeigler – Nichols bắt đầu bằng việc đặt tất cả các độ lợi K P, K I, K D bằng 0 Tiếp theo, tăng K P cho đến khi đạt được giá trị độ lợi K u, tại điểm mà ngõ ra của hệ thống bắt đầu dao động với biên độ không đổi Giá trị K u và chu kỳ dao động Tu sau đó được sử dụng để tính toán các độ lợi K P, K I, K D theo công thức phù hợp.
PID K u /1.7 T u /2 T u /8 Driver PID cho động cơ DC:
Sơ đồ khối phần cứng
Phân tính thiết bị
Sơ đồ khối
arduino
Arduino là một nền tảng mã nguồn mở được sử dụng để xây dựng các điện tử tương tác với nhau hoặc với môi trường được thuận lợi hơn
Arduino là một thiết bị giống như máy tính mini, cho phép người dùng lập trình và thực hiện các dự án mà không cần sử dụng công cụ chuyên biệt để nạp mã code.
Arduino tương tác với thế giới thông qua các cảm biến điện tử, đèn, và động cơ
-Phần cứng gồm một board mạch mã nguồn mở (thường gọi là vi điều khiến):có thể lập trình được
- Các phần mềm hỗ trợ phát triển tích hợp IDE (Integrated
Development Environment) dùng để soạn thảo, biên dịch code và nạp chương cho board
1.2 Ứng dụng của Arduino trong đời sống
Arduino là một nền tảng mạnh mẽ cho việc chế tạo robot, nhờ khả năng đọc dữ liệu từ các thiết bị cảm biến và điều khiển động cơ Với vai trò là bộ xử lý trung tâm, Arduino thường được sử dụng trong nhiều loại robot khác nhau.
- Game tương tác: Arduino có thể được sử dụng để tương tác với
Joystick, màn hình, khi chơi các game như Tetrix, phá gach, Mario -Máy bay không người lái
- Điều khiến đèn tín hiệu giao thông, làm hiệu ứng đèn Led nhấp nháy trên các biến quảng cáo
-Điều khiến các thiết bị cảm biến ánh sáng, âm thanh
-Làm đàn bằng ánh sáng
-Làm lò nướng bánh biết tweet để báo cho bạn khi bánh chín
Arduino có nhiều ứng dụng hữu ích, tùy thuộc vào sự sáng tạo của người dùng Để tự động bật tắt bóng đèn, điều khiển hướng của mô tơ, hoặc đọc tín hiệu từ các cảm biến, việc sử dụng mạch Arduino là cần thiết.
Có nhiều loại bo mạch Arduino sử dụng cho các mục đích khác nhau, nhưng hầu hết Arduino có các thành phần như dưới đây:
- Nguồn (USB / Đầu cắm nguồn cái)
Mỗi bo mạch Arduino có cách cấp nguồn riêng, trong đó Arduino UNO nhận nguồn qua cáp USB hoặc đầu cắm nguồn cái Cổng USB được đánh số (1) và đầu cắm nguồn cái được đánh số (2) như trong hình trên.
Cổng USB cũng hỗ trợ tải mã lên bo mạch Arduino
- Chân (5V, 3.3V, GND, Analog, Kỹ thuật số, PWM, AREF)
Các chân trên Arduino là điểm kết nối dây để xây dựng mạch, thường có đầu cắm bằng nhựa đen giúp dễ dàng cắm dây vào bo mạch Arduino có nhiều loại chân khác nhau, mỗi loại được ghi chú rõ ràng trên bo mạch và phục vụ cho các chức năng cụ thể.
- 5V (4) & 3.3V (5): Chân 5V cấp nguồn 5 vôn, và chân 3.3V cấp nguồn 3,3 vôn Hầu hết các linh kiện đơn giản sử dụng với Arduino chạy ổn định ở 5 hoặc 3,3 vôn
Khu vực chân 'Analog In' (A0 đến A5 trên UNO) là nơi nhận tín hiệu đầu vào, cho phép đọc dữ liệu từ các cảm biến tương tự như cảm biến nhiệt độ Các chân này chuyển đổi tín hiệu analog thành giá trị số để người dùng có thể dễ dàng theo dõi và xử lý.
- Digital (7): Qua khu vực các chân analog là tới các chân digital
Các chân từ 0 đến 13 trên UNO có chức năng kép, bao gồm cả đầu vào số để nhận biết nút nhấn và đầu ra số để cung cấp năng lượng cho đèn LED.
- PWM (8): Bạn có thể thấy dấu ngã (~) bên cạnh một số chân số (3, 5,
6, 9, 10 và 11 trên UNO) Các chân này hoạt động như các chân digital thông thường, ngoài ra có thể sử dụng cho điều chế độ rộng xung (PWM)
- AREF (9): Là viết tắt của tham chiếu analog Chân này thường ít được sử dụng Thỉnh thoảng nó được dùng để thiết lập điện áp tham chiếu
17 bên ngoài (giữa 0 và 5 Vôn) làm giới hạn trên cho các chân analog đầu vào
Arduino cũng có nút reset tương tự như Nintendo gốc, cho phép tạm thời kết nối chân reset với đất Khi nhấn nút này, nó sẽ khởi động lại mã đã được nạp trên Arduino, rất hữu ích cho việc kiểm tra mã không lặp lại nhiều lần.
Ngay bên dưới và bên phải của từ “UNO” trên bảng mạch có một đèn
LED nhỏ bên cạnh chữ „ON‟ (11) Đèn LED này sẽ sáng lên khi cắm
TX là viết tắt của truyền và RX là viết tắt của nhận, thường xuất hiện trên các thiết bị điện tử để chỉ các chân giao tiếp nối tiếp Trên bo mạch UNO Arduino, TX và RX có hai vị trí: chân số 0 và 1, cùng với đèn LED báo hiệu TX và RX Những đèn LED này cung cấp chỉ dẫn trực quan khi Arduino nhận hoặc truyền dữ liệu.
IC hay mạch tích hợp trên Arduino thường có màu đen với các chân kim loại, được xem như bộ não của thiết bị Các bo mạch Arduino sử dụng các dòng IC khác nhau, nhưng phổ biến nhất là dòng IC ATmega từ công ty.
ATMEL Điều này rất quan trọng, vì bạn cần phải biết loại IC (cùng với loại bo mạch) trước khi tải lên một chương trình Thông tin này thường
18 được viết ở phía trên cùng của IC Nếu bạn muốn biết thêm về sự khác biệt giữa các IC khác nhau thì có thể đọc datasheet của nó
Bộ điều chỉnh điện áp (14) là thứ bạn không có tương tác với Arduino Nhưng nó điều chỉnh lượng điện áp được đưa vào bo mạch Arduino
Giống như một người gác cổng, thiết bị này bảo vệ mạch điện khỏi những điện áp phụ có thể gây hại Tuy nhiên, nó cũng có những giới hạn nhất định, vì vậy không nên cung cấp điện vượt quá mức cho phép.
Arduino cung cấp nhiều loại bo mạch với các khả năng khác nhau, nhờ vào tính chất nguồn mở của phần cứng, người dùng có thể tùy chỉnh và phát triển các bo mạch Arduino với nhiều chức năng đa dạng Dưới đây là một số loại bo mạch Arduino phổ biến.
Arduino Uno là lựa chọn lý tưởng cho những người mới bắt đầu với Arduino, vì nó cung cấp đầy đủ các tính năng cần thiết để khởi động Board này có 14 chân đầu vào/đầu ra digital, trong đó 6 chân hỗ trợ đầu ra PWM, cùng với 6 đầu vào analog, kết nối USB, giắc cắm nguồn và nút reset Tất cả các thành phần này giúp hỗ trợ vi điều khiển, chỉ cần kết nối với máy tính qua cáp USB hoặc cấp điện bằng bộ chuyển đổi AC-DC hoặc pin.
Một vài thông số của Arduino UNO R3
PID là một hệ thống điều khiển bao gồm ba thành phần chính: điều khiển tỉ lệ, điều khiển tích phân và điều khiển vi phân Hệ thống này có khả năng tối ưu hóa việc điều chỉnh sai số, nâng cao tốc độ phản hồi, giảm thiểu độ vọt lố và hạn chế dao động trong quá trình điều khiển.
PID 1 Giới thiệu về PID
Bộ điều khiển PID, hay còn gọi là PID, là một kỹ thuật điều khiển quá trình dựa trên ba thành phần chính: tỉ lệ, tích phân và vi phân Kỹ thuật này giúp giảm thiểu tín hiệu sai số bằng cách điều chỉnh các tác động tỉ lệ, tích phân và vi phân từ dữ liệu trước đó Điều khiển PID là phương pháp điều khiển hồi tiếp vòng kín phổ biến trong các hệ thống điện, tự động hóa và điện tử.
Lý thuyết điều khiển PID
Sơ đồ điều khiển PID được cấu thành từ ba khâu điều chỉnh chính, bao gồm tỷ lệ, tích phân và đạo hàm Tổng hợp của ba khâu này tạo thành biến điều khiển (MV), giúp tối ưu hóa quá trình điều khiển.
Khâu tỉ lệ, hay còn gọi là độ lợi, ảnh hưởng đến giá trị đầu ra theo tỷ lệ với giá trị sai số hiện tại Tỉ lệ này có thể được điều chỉnh bằng cách nhân sai số với một hằng số Kp, được biết đến là hệ số tỉ lệ.
Khâu tỉ lệ được cho bởi: rop(độ trượt)
Nếu không có nhiễu, điều khiển tỉ lệ thuần túy không thể đạt giá trị mong muốn, nhưng vẫn duy trì một sai số ổn định, phụ thuộc vào độ lợi tỉ lệ và độ lợi quá trình Đặc biệt, khi độ lợi quá trình trong thời gian dài bị trôi do thiếu điều khiển, như trong trường hợp làm mát một lò nung đến nhiệt độ phòng, được ký hiệu là G, và giả sử sai số xảy ra.
Droop-độ trượt xảy ra khi độ lợi không đổi bằng thừa số tỉ lệ giữa đầu ra Pout và sai số tuyến tính G = Kp.e Khi thừa số tỉ lệ được đẩy vào thông số đến giá trị đặt, độ lợi quá trình sẽ bù chính xác, nhưng nếu độ lợi giảm trong quá trình làm lạnh, trạng thái dừng sẽ nằm dưới điểm đặt, dẫn đến hiện tượng droop-độ trượt.
Chỉ có các thành phần dịch chuyển trung bình dài hạn và thành phần tần số không của độ lợi quá trình mới ảnh hưởng đến độ trượt, trong khi các dao động đều hoặc ngẫu nhiên sẽ bị triệt tiêu Độ lợi quá trình có thể thay đổi theo thời gian hoặc do các yếu tố bên ngoài như nhiệt độ phòng, ảnh hưởng đến tốc độ làm lạnh Độ trượt tỉ lệ thuận với độ lợi quá trình và tỉ lệ nghịch với độ lợi tỉ lệ, là một khiếm khuyết không thể tránh khỏi của điều khiển tỉ lệ thuần túy Để giảm bớt độ trượt, có thể thêm một thừa số độ lệch hoặc sử dụng khâu tích phân trong bộ điều khiển PI hoặc PID, nhằm tính toán độ lệch một cách hiệu quả.
Bất chấp độ trượt, lý thuyết điều chỉnh và thực tế công nghiệp đều nhấn mạnh rằng khâu tỉ lệ đóng vai trò quan trọng trong quá trình điều khiển Đồng thời, khâu tích phân cũng cần được xem xét để đảm bảo hiệu quả trong việc điều chỉnh hệ thống.
Thừa số tích phân được cho bởi: trong đó
Iout thừa số tích phân của đầu ra
K: độ lợi tích phân, 1 thông số điều chỉnh e: sai số = SP – PV t: thời gian hoặc thời gian tức thời (hiện tại)
T: một biến tích phân trung gian
Khâu vi phân trong bộ điều khiển giúp làm chậm tốc độ thay đổi của đầu ra, từ đó đạt được điểm đặt mong muốn Việc sử dụng điều khiển vi phân nhằm giảm biên độ vọt lố do thành phần tích phân gây ra và tăng cường độ ổn định cho bộ điều khiển hỗn hợp Tuy nhiên, khâu vi phân có thể khuếch đại nhiễu, làm cho quá trình điều khiển trở nên nhạy cảm và không ổn định nếu nhiễu và độ lợi vi phân quá lớn Vì vậy, một xấp xỉ của bộ vi sai với băng thông giới hạn thường được ưa chuộng Ví dụ, mạch bù sớm pha định nghĩa đầu ra của bộ điều khiển là u(t), và biểu thức cuối cùng của thuật toán PID được xác định dựa trên điều này.
Trong hệ thống điều khiển, các thông số điều chỉnh như độ lợi tỉ lệ (Kp), độ lợi tích phân (Ki) và độ lợi vi phân (Kd) đóng vai trò quan trọng Độ lợi tỉ lệ càng lớn giúp tăng tốc độ đáp ứng nhưng đồng thời cũng làm gia tăng sai số, có thể dẫn đến mất ổn định và dao động Đối với độ lợi tích phân, giá trị cao giúp khử sai số ổn định nhanh chóng, nhưng cũng có thể gây ra độ vọt lố lớn, yêu cầu phải triệt tiêu sai số dương để tiến tới trạng thái ổn định Cuối cùng, độ lợi vi phân có thể giảm độ vọt lố nhưng lại làm chậm quá trình đáp ứng và có nguy cơ gây mất ổn định do khuếch đại nhiễu tín hiệu.
3.Mục tiêu sử dụng bộ điều khiển PID
PID là bộ điều khiển lý tưởng cho các hệ thống điều khiển quy trình hiện đại, được ứng dụng rộng rãi trong các quy trình tự động trong ngành công nghiệp Nó có khả năng điều chỉnh hiệu quả các yếu tố như lưu lượng, nhiệt độ và áp suất.
• Giảm sai số xác lập đến mức tối thiểu nhất
• Hạn chế độ dao động
• Giảm thời gian xác lập và độ vọt lố
4.Biến đổi rời rạc hóa để lập trình cho vi điều khiển
Bộ điều khiển có khả năng lấy mẫu liên tục theo thời gian, nhưng cần được rời rạc ở một số mức nhất định Khi hệ thống thực hiện lấy mẫu ngắn trong khoảng thời gian vi phân, có thể đạt được sai phân có giới hạn và tích phân chính xác.
25 việc lấy tổng Chúng ta sẽ quan tâm mỗi dạng ở một thời điểm, và sai s được tính ở mỗi khoảng lấy mẫu: e(n) = X(n) – Y(n)
Bộ PID rời rạc thực hiện việc đọc sai số, tính toán và xuất ngõ ra điều khiển trong một khoảng thời gian xác định, gọi là thời gian lấy mẫu T Để đảm bảo hiệu quả, thời gian lấy mẫu cần phải nhỏ hơn đơn vị thời gian của hệ thống.
Bộ PID rời rạc thực hiện việc đọc sai số và tính toán để xuất ngõ ra điều khiển trong một khoảng thời gian xác định, gọi là thời gian lấy mẫu T Để đảm bảo hiệu quả, thời gian lấy mẫu cần phải nhỏ hơn đơn vị thời gian của hệ thống.
Bộ điều khiển PID là một thuật toán điều khiển đơn giản nhưng hiệu quả, có khả năng xuất tín hiệu ngõ ra dựa trên giá trị sai số trước đó và tốc độ thay đổi của sai số Điều này giúp nâng cao độ chính xác và sự ổn định trong quá trình điều khiển.
Từ công thức bọn em đã lập trình trên arduino để áp dụng được vào đề tài:
Encoder là thiết bị điện cơ chuyển đổi vị trí góc của trục quay từ dạng analog sang digital Tín hiệu từ encoder tạo ra các xung vuông với tần số thay đổi theo tốc độ động cơ Những xung này được gửi đến bộ vi xử lý để đếm số xung trong khoảng thời gian nhất định, từ đó tính toán giá trị vận tốc của động cơ Phương pháp này cũng được sử dụng để ổn định tốc độ động cơ và điều chỉnh tốc độ nhanh chậm.
2.2 Encoder cấu tạo chính gồm:
Màn hình LCD1602
Màn hình LCD1602 xanh lá, sử dụng driver HD44780, có khả năng hiển thị 2 dòng với 16 ký tự mỗi dòng Với độ bền cao và tính phổ biến, màn hình này cung cấp nhiều mã mẫu và dễ sử dụng, là lựa chọn lý tưởng cho những người mới bắt đầu học và thực hiện dự án.
3.2.Thông Số Kỹ Thuật Màn hình LCD1602:
Kích thước của màn hình LCD1602: 8 x 3.6 x 0.8 cm
Màu nền: xanh lá hoặc xanh dương
Khoảng cách giữa hai chân kết nối: 0.1 inch
Tiện dụng khi kết nối với Breadboard
3.3 Ưu Điểm Của Màn hình LCD1602:
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ử dụng ít điện năng hơn
Có thể được điều khiển với 6 dây tín hiệu
Có bộ ký tự được xây dựng hổ trợ tiếng Anh và tiếng Nhật
3.4 Sơ Đồ Kết Nối Của Màn Hình LCD1602:
Chân số 1 - VSS: Chân nối đất cho LCD được nối với GND của mạch điều khiển
Chân số 2 - VDD: Chân cấp nguồn cho LCD, được nối với VCC 5V của mạch điều khiển
Chân số 3 - VE: Điều chỉnh độ tương phản của LCD
Chân số 4 - RS là chân chọn thanh ghi, có thể kết nối với logic "0" hoặc logic "1" Khi ở logic “0”, Bus DB0 - DB7 sẽ kết nối với thanh ghi lệnh IR của LCD trong chế độ “ghi” hoặc với bộ đếm địa chỉ của LCD trong chế độ “đọc” Ngược lại, khi ở logic “1”, Bus DB0 - DB7 sẽ kết nối với thanh ghi dữ liệu DR bên trong LCD.
Chân số 5 - R/W : chân chọn chế độ đọc/ghi (Read/Write), được nối với logic “0” để ghi hoặc nối với logic “1” đọc
Chân số 6 - E, hay còn gọi là chân cho phép (Enable), đóng vai trò quan trọng trong việc xử lý tín hiệu Khi các tín hiệu được truyền lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có xung cho phép từ chân này Cụ thể, trong chế độ ghi, dữ liệu từ bus sẽ được LCD chuyển vào thanh ghi nội bộ khi phát hiện xung chuyển từ cao xuống thấp (high-to-low transition) của chân E Ngược lại, trong chế độ đọc, dữ liệu sẽ được LCD xuất ra DB0-DB7 khi có cạnh lên (low-to-high transition) ở chân E, và dữ liệu này sẽ được giữ ở bus cho đến khi chân E trở về mức thấp.
Chân số 7 đến 14 (D0 đến D7) là 8 đường bus dữ liệu dùng để trao đổi thông tin với MPU Có hai chế độ sử dụng cho 8 đường bus này: chế độ 8 bit, trong đó dữ liệu được truyền trên cả 8 đường với bit MSB là DB7, và chế độ 4 bit, nơi dữ liệu được truyền trên 4 đường từ DB4 đến DB7, với bit MSB cũng là DB7.
Chân số 15 - A : nguồn dương cho đèn nền
Chân số 16 - K : nguồn âm cho đèn nền
Module I2C LCD1602/LCD2004
4.1 Giới thiệu về Module I2C LCD1602/LCD2004
Thông thường để sử dụng màn hình LCD bạn cần rất nhiều chân trên Arduino để điều khiển Do vậy để đơn giản hóa công việc, người ta tạo
Mạch điều khiển màn hình LCD 37 sử dụng giao tiếp I2C, cho phép bạn điều khiển màn hình chỉ với 2 dây thay vì 8 dây như thông thường Để sử dụng các loại LCD có driver HD44780 như LCD 1602 hoặc LCD 2004, cần ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để thiết lập giao tiếp hiệu quả với LCD.
Với module chuyển giao tiếp LCD sang I2C, chỉ cần kết nối hai chân SDA và SCL của MCU với hai chân tương ứng trên module để hiển thị thông tin trên LCD Bên cạnh đó, độ tương phản cũng có thể được điều chỉnh thông qua biến trở gắn trên module.
Tiết kiệm chân Input/ Output cho Vi điều khiển
Đơn giản hóa việc điều khiển màn hình LCD
Kích thước: 41,5 mm ×19 mm ×15,3 mm
Jump chốt: Cung cấp đền cho LCD hoặc ngắt
Biến trở xoay độ tương phản cho LCD
4.4 Lưu Ý Khi Sử Dụng Module I2C
Các lỗi thường gặp trên màn hình bao gồm việc hiển thị một dãy ô vuông, chỉ hiển thị ký tự đầu tiên và lỗi ít gặp hơn là màn hình bị nhấp nháy.
Fix lỗi hiển thị LCD I2C:
Đầu tiên bạn cần xóa bỏ thu viện LiquidCrystal_I2C cũ và download thư viện mới, thêm vào Arduino IDE của bạn
Arduino: https://github.com/fdebrabander/Arduino-LiquidCrystal- I2C-library
Trong ví dụ mẫu có phần cấu hình địa chỉ: LiquidCrystal_I2C lcd(0x27, 16, 2);
5.1 Giới thiệu nguồn tổ ong
Nguồn Tổ Ong 12V 5A, hay còn gọi là bộ nguồn một chiều, được thiết kế để chuyển đổi điện áp từ 220VAC sang 12VDC, phục vụ cho các thiết bị hoạt động Loại nguồn này được sử dụng phổ biến trong các thiết bị điện và dân dụng, cũng như trong công nghiệp để cung cấp năng lượng cho các thiết bị trong tủ điện.
5.2.Chức năng của nguồn tổ ong:
- Nguồn tổ ong được cấu tạo để chuyển đổi điện áp từ nguồn xoay chiều thành nguồn một chiều, giúp các thiết bị điện hoạt động
Nguồn tổ ong là một nguồn năng lượng phổ biến trong các hoạt động sinh hoạt và sản xuất Bộ nguồn này cung cấp hiệu suất tối ưu cho công nghệ LED hiện đại, đảm bảo hoạt động hiệu quả và bền bỉ.
Nguồn tổ ong được sử dụng phổ biến trong các thiết bị công nghiệp và dân dụng như tủ điện, đèn, camera giám sát, máy tính và loa đài Loại nguồn này thích hợp cho bất kỳ thiết bị nào yêu cầu nguồn một chiều với thông số phù hợp Nguồn tổ ong thường được áp dụng trong các mạch ổn áp, đảm bảo cung cấp dòng điện ổn định để tránh ảnh hưởng đến mạch và hiện tượng sụt áp.
Bộ nguồn này có các chức năng nổi bật như chỉnh lưu, biến tần và nắn dòng, giúp ổn định dòng điện, điện áp và tần số dao động Không chỉ đóng vai trò quan trọng trong hệ thống điện, nguồn tổ ong còn góp phần tăng cường tuổi thọ cho các thiết bị điện.
Trọng lượng của nguồn tổ ong: 320g
6.1 Giới thiệu Module Điều Khiển Động Cơ L298
Module L298 là một linh kiện quan trọng trong việc chế tạo xe điều khiển, xe dò đường và các thiết bị sử dụng động cơ DC hoặc động cơ bước Nó thường được kết hợp với vi điều khiển để điều khiển các động cơ một cách hiệu quả.
• Sử dụng IC công suất L298N (ST NEW)
• Điện áp tín hiệu 5V/ 0mA-36mA
• Điện áp hoạt động động cơ 5V-35V
• Dòng điều khiển động cơ 2A/1 mạch cầu H
• Nhiệt độ hoạt động -20 tới +135
• Công suất đầu ra 1 cầu H 25W
6.3.Sơ đồ nguyên lý và cách đấu nối Mạch Điều Khiển Động Cơ DC
1 DC motor 1 "+" hoặc stepper motor A+
2 DC motor 1 "-" hoặc stepper motor A-
3 12V jumper - tháo jumper qua nếu sử dụng nguồn trên 12V
Jumper này dùng để cấp nguồn cho IC ổn áp tạo ra nguồn 5V nếu nguồn trên 12V sẽ làm cháy IC Nguồn
4 Cằm dây nguồn cung cấp điện áp cho motor vào đây từ 6V đến 35V
5 Cắm chân GND của nguồn vào đây
6 Ngõ ra nguồn 5V, nếu jumper đầu vào không rút ra
7 Chân Enable của Motor 1, chân này dùng để cấp xung PWM cho motor nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây Giữ nguyên khi dùng với động cơ bước
12 Chân Enable của Motor 2, chân này dùng để cấp xung PWM cho motor nếu dùng VDK thì rút jumper ra và cắm chân PWM vào đây Giữ nguyên khi dùng với động cơ bước
13 DC motor 2 "+" hoặc stepper motor B+
14 DC motor 2 "-" hoặc stepper motor B-
7.1 Giới thiệu Động Cơ DC Servo Giảm Tốc GM25 Động Cơ DC Servo GM25-370 DC Geared Motor được tích hợp thêm Encoder hai kênh AB giúp đọc và điều kiển chính xác vị trí, chiều quay của động cơ trong các ứng dụng cần độ có chính xác cao: điều khiển PID, Robot tự hành,
Động cơ giảm tốc GM25 bao gồm hai thành phần chính: phần cơ và phần điện Phần điện gồm rotor và stator, trong khi phần cơ được cấu tạo từ các bánh răng với nhiều kích cỡ khác nhau, tạo nên bộ giảm tốc hiệu quả cho động cơ DC.
Động cơ DC Geared Motor Servo GM25-370 được chế tạo bằng kim loại, mang lại độ bền và ổn định cao, lý tưởng cho các mô hình robot, xe và thuyền Hộp giảm tốc của động cơ có nhiều tỉ số truyền, cho phép bạn dễ dàng lựa chọn giữa lực kéo và tốc độ, với nguyên tắc rằng lực kéo lớn hơn sẽ làm giảm tốc độ và ngược lại Động cơ này sử dụng nguyên liệu chất lượng cao như lõi dây đồng nguyên chất, lá thép 407 và nam châm từ tính mạnh, đảm bảo sức mạnh và độ bền vượt trội so với các sản phẩm giá rẻ trên thị trường, thường sử dụng lõi dây nhôm và nam châm yếu.
• Điện áp hoạt động: 12VDC / 24VDC
• Tỉ số truyền: 1/78 cho loại 50RPM
7.3 Ứng dụng: Động cơ được sử dụng trong một số cơ cấu chuyển động của robot, mô hình xe ô tô, xe tự cân bằng và nhiều mô hình, thiết bị khác.
Chương trình nạp
Phần mềm Arduino IDE là gì?
Arduino IDE là phần mềm mã nguồn mở, chủ yếu dùng để viết và biên dịch mã cho module Arduino Nó bao gồm cả phần cứng và phần mềm, với phần cứng chứa tới 300,000 board mạch thiết kế sẵn cùng các cảm biến và linh kiện Phần mềm này cho phép người dùng linh hoạt sử dụng các cảm biến và linh kiện của Arduino theo nhu cầu Đây là phần mềm chính thống, giúp quá trình biên dịch mã trở nên dễ dàng, ngay cả với những người không có kiến thức kỹ thuật.
Arduino IDE hoạt động như thế nào?
Khi người dùng viết mã và biên dịch trong IDE, hệ thống sẽ tạo ra file Hex, một định dạng mà Arduino có thể hiểu File Hex này được truyền đến bo mạch qua cáp USB Mỗi bo Arduino được trang bị một bộ vi điều khiển, bộ vi điều khiển này sẽ nhận file Hex và thực thi mã đã được viết.
Lý do sử dụng Arduino IDE
Phần mềm lập trình mã nguồn mở miễn phí
Arduino IDE là một phần mềm mã nguồn mở, miễn phí cho người dùng cả về tải về và bản quyền Người dùng có quyền tự do sửa đổi, cải tiến và nâng cấp phần mềm theo các nguyên tắc chung mà nhà phát hành quy định, điều này không thể thực hiện với phần mềm nguồn đóng.
Mặc dù Arduino IDE là phần mềm mã nguồn mở, nhưng khả năng bảo mật thông tin của nó rất ấn tượng Khi phát hiện lỗi, nhà phát hành nhanh chóng cập nhật và vá lỗi để đảm bảo an toàn cho người dùng.
48 và cập nhật rất nhanh khiến thông tin của người dùng không bị mất hoặc rò rỉ ra bên ngoài
4 Hỗ trợ lập trình tốt cho bo mạch Arduino
Arduino cung cấp một module quản lý bo mạch, cho phép người dùng dễ dàng chọn và thay đổi bo mạch qua Menu Quá trình này tự động cập nhật để đảm bảo dữ liệu trên bo mạch và dữ liệu sửa đổi luôn đồng nhất Hơn nữa, Arduino IDE hỗ trợ người dùng phát hiện lỗi trong mã code, giúp sửa chữa kịp thời để tránh tình trạng bo mạch hoạt động với code sai, từ đó bảo vệ bo mạch khỏi hư hỏng và duy trì hiệu suất xử lý.
5.Thư viện hỗ trợ phong phú
Với hơn 700 thư viện được tích hợp sẵn, Arduino IDE mang đến cho người dùng một kho tàng tài nguyên dồi dào để phát triển dự án của mình Những thư viện này được viết và chia sẻ bởi chính nhà phát hành Arduino Software cũng như các thành viên trong cộng đồng Arduino Điều này cho phép bất kỳ ai cũng có thể tận dụng những tài nguyên này mà không phải bỏ ra bất kỳ chi phí nào, giúp việc phát triển dự án trở nên dễ dàng và tiết kiệm hơn.
Em xin chân thành cảm ơn Trường Đại Học Mở Hà Nội đã đưa môn Đồ Án 2 vào chương trình giảng dạy, tạo cơ hội cho em trải nghiệm học tập Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến ThS Vũ Tất Điệp và TS Nguyễn Hoàng đã dạy dỗ và truyền đạt những kiến thức quý báu trong suốt thời gian học Qua lớp học Đồ Án 2, em đã tích lũy được nhiều kiến thức bổ ích và nâng cao tinh thần học tập nghiêm túc, đây sẽ là hành trang vững chắc cho tương lai Tuy nhiên, em nhận thấy vốn kiến thức của mình còn hạn chế và khả năng tiếp thu thực tế còn nhiều bỡ ngỡ Mặc dù em đã cố gắng hết sức, bài tiểu luận của em vẫn khó tránh khỏi những thiếu sót và chưa hoàn thiện Kính mong thầy xem xét và góp ý để em có thể hoàn thiện bài tiểu luận của mình hơn nữa.
Em Xin Chân Thành Cảm Ơn!
Tài liệu tham khảo https://www.youtube.com/watch?v=PECsADORR_g http://thuvien.hou.edu.vn/ https://www.arduino.cc/ https://www.sparkfun.com/datasheets/Robotics/L298_H_Bri dge.pdf
Chương trình
Em xin chân thành cảm ơn trường Đại học Mở Hà Nội đã đưa môn đồ án 2 vào chương trình giảng dạy, tạo cơ hội cho em trải nghiệm học tập quý giá Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến Ths Vũ Tất Điệp và Ts Nguyễn Hoàng, những giảng viên đã truyền đạt kiến thức quý báu trong suốt quá trình học Tham gia lớp học đồ án 2, em đã tích lũy được nhiều kiến thức bổ ích và có tinh thần học tập nghiêm túc, giúp em vững bước trong tương lai Tuy nhiên, em nhận thấy mình còn nhiều hạn chế trong việc tiếp thu kiến thức thực tế Dù đã nỗ lực hết mình, bài tiểu luận của em vẫn không tránh khỏi thiếu sót Em rất mong thầy góp ý để em có thể hoàn thiện bài viết hơn nữa.
Em Xin Chân Thành Cảm Ơn!
Tài liệu tham khảo https://www.youtube.com/watch?v=PECsADORR_g http://thuvien.hou.edu.vn/ https://www.arduino.cc/ https://www.sparkfun.com/datasheets/Robotics/L298_H_Bri dge.pdf