1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG

45 37 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Vi Xử Lý Và Vi Điều Khiển Trong Đo Lường Tự Động
Tác giả Hồ Văn Nhật
Người hướng dẫn ThS. Nguyễn Đức Nhật Quang
Trường học Trường Đại Học Khoa Học Khoa Điện, Điện Tử Và Công Nghệ Vật Liệu
Thể loại đồ án tốt nghiệp
Năm xuất bản 2021
Thành phố Huế
Định dạng
Số trang 45
Dung lượng 3,15 MB

Cấu trúc

  • CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI (7)
    • 1.1. ĐẶT VẤN ĐỀ (7)
    • 1.2. GIẢI QUYẾT VẤN ĐỀ (8)
  • CHƯƠNG 2. TỔNG QUAN VỀ LINH KIỆN (9)
    • 2.1. GIỚI THIỆU ARDUINO (9)
      • 2.1.1. Arduino là gì? (9)
      • 2.1.2. Cấu tạo của Arduino (9)
      • 2.1.3. Thông số cơ bản của Arduino Uno R3 (10)
      • 2.1.4. Các loại Board Arduino phổ biến (10)
      • 2.1.5. Ứng dụng Arduino (12)
    • 2.2. PHẦN MỀM LẬP TRÌNH ARDUINO IDE (12)
      • 2.2.1. Giao diện phần mềm IDE (14)
      • 2.2.2. Cấu trúc một chương trình trong phần mềm IDE (16)
    • 2.3. GIỚI THIỆU VỀ ARDUINO NANO (19)
    • 2.4. GIỚI THIỆU VỀ LCD I2C (25)
      • 2.4.1. Giới thiệu LCD 16x2 (25)
      • 2.4.2. Thông số kỹ thuật LCD 16x2 (25)
      • 2.4.3. Module LCD I2C (27)
    • 2.5. GIỚI THIỆU IC THỜI GIAN THỰC DS1307 (29)
    • 2.6. GIAO TIẾP ARDUINO VỚI IC THỜI GIAN THỰC DS1307 (31)
    • 2.7. GIAO TIẾP ARDUINO VỚI CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT11 (31)
  • CHƯƠNG 3. THI CÔNG VÀ THIẾT KẾ MẠCH (33)
    • 3.1. QUÁ TRÌNH ĐO NHIỆT ĐỘ, ĐỘ ẨM, ĐỌC GIÁ TRỊ THỜI GIAN (33)
    • 3.2. SƠ ĐỒ KHỐI CỦA MẠCH (33)
    • 3.3. LƯU ĐỒ THUẬT TOÁN (34)
    • 3.4. SƠ ĐỒ NGUYÊN LÝ (MÔ PHỎNG TRÊN PROTEUS) (34)
    • 3.5. KẾT QUẢ MÔ PHỎNG TRÊN PROTEUS (35)
    • 3.6. KẾT QUẢ TRÊN MẠCH THỰC TẾ (35)
  • CHƯƠNG 4. ĐIỀU KHIỂN MOTOR, SERVO VÀ LED PHẦN MỀM (0)
    • 4.1. YÊU CẦU KIẾN THỨC CẦN NẮM KHI LẬP TRÌNH (36)
    • 4.2. THIẾT BỊ VÀ PHẦN MỀM CẦN THIẾT (36)
    • 4.3. TỔNG QUAN LÝ THUYẾT (36)
      • 4.3.1. Led đơn (36)
      • 4.3.2. Kỹ thuật điều chế độ rộng xung (37)
      • 4.3.3. Giới thiệu về động cơ DC (37)
      • 4.3.4. Giới thiệu về động cơ bước SERVO (38)
    • 4.4. THIẾT KẾ VÀ LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN LED – MOTOR (40)
      • 4.4.1. Sơ đồ nguyên lý mạch điều khiển LED – MOTOR – SERVO (40)
      • 4.4.2. Giao diện điều khiển LED – MOTOR – SERVO bằng C# (41)
    • 4.5. KẾT QUẢ (41)
  • CHƯƠNG 5. KẾT LUẬN ...................................................................................... 35 PHỤ LỤC (42)

Nội dung

MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU CHƯƠNG 1. GIỚI THIỆU ĐỀ TÀI....................................................................... 1 1.1.ĐẶT VẤN ĐỀ ...................................................................................................... 1 1.2.GIẢI QUYẾT VẤN ĐỀ ....................................................................................... 2 CHƯƠNG 2. TỔNG QUAN VỀ LINH KIỆN ...................................................... 3 2.1. GIỚI THIỆU ARDUINO ................................................................................... 3 2.1.1. Arduino là gì? ........................................................................................... 3 2.1.2. Cấu tạo của Arduino ................................................................................ 3 2.1.3. Thông số cơ bản của Arduino Uno R3 ................................................... 4 2.1.4. Các loại Board Arduino phổ biến ........................................................... 4 2.1.5. Ứng dụng Arduino ................................................................................... 6 2.2. PHẦN MỀM LẬP TRÌNH ARDUINO IDE .................................................... 6 2.2.1. Giao diện phần mềm IDE ........................................................................ 8 2.2.2. Cấu trúc một chương trình trong phần mềm IDE .............................. 10 2.3. GIỚI THIỆU VỀ ARDUINO NANO .............................................................. 13 2.4. GIỚI THIỆU VỀ LCD I2C ............................................................................... 19 2.4.1. Giới thiệu LCD 16x2 ............................................................................... 19 2.4.2. Thông số kỹ thuật LCD 16x2 ................................................................. 19 2.4.3. Module LCD I2C .................................................................................... 21 2.5. GIỚI THIỆU IC THỜI GIAN THỰC DS1307 ................................................ 23 2.6. GIAO TIẾP ARDUINO VỚI IC THỜI GIAN THỰC DS1307 ...................... 25 2.7. GIAO TIẾP ARDUINO VỚI CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT11 ..... 25 CHƯƠNG 3. THI CÔNG VÀ THIẾT KẾ MẠCH ............................................. 27 3.1. QUÁ TRÌNH ĐO NHIỆT ĐỘ, ĐỘ ẨM, ĐỌC GIÁ TRỊ THỜI GIAN ......... 27 3.2. SƠ ĐỒ KHỐI CỦA MẠCH ............................................................................. 27 Trang3.3. LƯU ĐỒ THUẬT TOÁN ................................................................................ 28 3.4. SƠ ĐỒ NGUYÊN LÝ (MÔ PHỎNG TRÊN PROTEUS) ............................... 28 3.5. KẾT QUẢ MÔ PHỎNG TRÊN PROTEUS .................................................... 29 3.6. KẾT QUẢ TRÊN MẠCH THỰC TẾ ............................................................... 29 CHƯƠNG 4. ĐIỀU KHIỂN MOTOR, SERVO VÀ LED PHẦN MỀM VISUAL STUDIO .................................................................................................. 30 4.1. YÊU CẦU KIẾN THỨC CẦN NẮM KHI LẬP TRÌNH .............................. 30 4.2. THIẾT BỊ VÀ PHẦN MỀM CẦN THIẾT...................................................... 30 4.3. TỔNG QUAN LÝ THUYẾT ............................................................................ 30 4.3.1. Led đơn ................................................................................................... 30 4.3.2. Kỹ thuật điều chế độ rộng xung .......................................................... 31 4.3.3. Giới thiệu về động cơ DC ..................................................................... 31 4.3.4. Giới thiệu về động cơ bước SERVO ...................................................... 32 4.4. THIẾT KẾ VÀ LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN LED – MOTOR ... 34 4.4.1. Sơ đồ nguyên lý mạch điều khiển LED – MOTOR – SERVO ............. 34 4.4.2. Giao diện điều khiển LED – MOTOR – SERVO bằng C# ................... 35 4.5. KẾT QUẢ .......................................................................................................... 35 CHƯƠNG 5. KẾT LUẬN ...................................................................................... 35 PHỤ LỤC TÀI LIỆU THAM KHẢM PHIẾU ĐÁNH GIÁ TIỂU LUẬNDANH MỤC HÌNH ẢNH Hình 1. Thế kỷ XXI – Thời đại của khoa học công nghệ ............................................... 1 Hình 2. Cấu tạo của Arduino Uno ............................................................................... 3 Hình 3. Minh họa giao diện lập trình Arduino IDE ...................................................... 8 Hình 4. Minh họa vùng Toolbar trên giao diện Arduino IDE ....................................... 8 Hình 5. Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp .................... 9 Hình 6. Minh họa vùng viết chương trình................................................................... 10 Hình 7. Tổng quan quá trình xử lý chương trình Arduino .......................................... 10 Hình 8. Arduino Nano ................................................................................................ 14 Hình 9. Sơ đồ chân Arduino Nano ............................................................................. 15 Hình 10. ICSP............................................................................................................ 16 Hình 11. Màn hình LCD 16x2 .................................................................................... 19 Hình 12. Module LCD I2C ......................................................................................... 21 Hình 13. Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2. ................................................ 22 Hình 14. Module DS1307 .......................................................................................... 23 Hình 15. Sơ đồ chân DS1307 ..................................................................................... 23 Hình 16. Sơ đồ nguyên lý DS1307 với Arduino .......................................................... 25 Hình 17. Module DHT11 .......................................................................................... 25 Hình 18. Sơ đồ nguyên lý DHT11 với Arduino ........................................................... 26 Hình 19. SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH ............................................................ 28 Hình 20. Kết quả mô phỏng trên phần mềm proteus .................................................. 29 Hình 21. Minh họa kết quả thực nghiệm .................................................................... 29 Hình 22. Minh họa phần trăm điều chế xung PWM .................................................... 31 Hình 23. Minh họa cấu tạo động cơ điện một chiều ................................................... 32 Hình 24. Minh họa động cơ bước và sơ đồ nguyên lý bên trong động cơ ................... 32 Hình 25. Phương pháp điều khiển bước đủ. ............................................................... 33 Hình 26. Minh họa mạch điều khiển LED – MOTOR – SERVO ................................. 34 Hình 27. Giao diện điều khiển LED – MOTOR – SERVO .......................................... 35 Hình 28. Kết quả mô phỏng ....................................................................................... 35 TrangDANH MỤC BẢNG BIỂU Bảng 1. Thông số cơ bản của Arduino Uno R3 ............................................................ 4 Bảng 2. Một số ký hiệu và câu lệnh thường gặp......................................................... 12 Bảng 3. Đặc điểm kỹ thuật Arduino Nano.................................................................. 14 Bảng 4. Chức năng các chân Arduino Nano .............................................................. 15 Bảng 5. Chân ICSP.................................................................................................... 17 Bảng 6. Chức năng của các chân LCD ...................................................................... 20 Bảng 7. Giao tiếp I2C LCD Arduino.......................................................................... 22 Bảng 8. Sơ đồ chân Module thời gian thực DS1307................................................... 23

GIỚI THIỆU ĐỀ TÀI

ĐẶT VẤN ĐỀ

Thế giới XXI đánh dấu thời đại của khoa học công nghệ, nơi mà các con chip và vi mạch đóng vai trò quan trọng trong sự phát triển Sự tiến bộ vượt bậc trong khoa học kỹ thuật đã tạo ra nhiều sản phẩm đột phá với sức mạnh vượt trội, ngày càng hoàn thiện và phổ biến trong đời sống Thời đại tự động hóa và các thiết bị số đang dần chiếm lĩnh cuộc sống, phản ánh cuộc cách mạng khoa học kỹ thuật hiện nay.

Arduino Nano là một sản phẩm vi mạch điện tử nhỏ gọn nhưng mạnh mẽ, nổi bật trong thời đại khoa học công nghệ thế kỷ XXI Với tính năng mã nguồn mở, Arduino dễ dàng tương tác và thân thiện với người dùng, cho phép bất kỳ ai cũng có thể học và vận hành nó một cách dễ dàng Sản phẩm này mang đến sự thú vị khi người dùng tự tay tạo ra các thiết bị như robot tự động hay máy đo nhiệt độ, chỉ với một cú click trên điện thoại Đây thực sự là một món quà công nghệ giá rẻ, mạnh mẽ và tiện lợi, mở ra nhiều khả năng sáng tạo cho mọi người.

Hiện nay, việc đo nhiệt độ và điều khiển thiết bị tự động là rất cần thiết Để hệ thống hoạt động hiệu quả, cần sử dụng vi điều khiển chính xác và cảm biến nhạy với nhiệt độ, độ ẩm Bài tiểu luận này sẽ tìm hiểu về cấu tạo, hoạt động và cách thiết kế hệ thống này.

GIẢI QUYẾT VẤN ĐỀ

Để đáp ứng nhu cầu đo nhiệt độ và độ ẩm, cùng với việc hiển thị thời gian thực tự động, nghiên cứu về board mạch ARDUINO NANO cho thấy ứng dụng ARDUINO là phương pháp tối ưu Tôi đã thực hiện đề tài “Mạch ARDUINO đo và hiển thị nhiệt độ, độ ẩm, thời gian thực lên LCD – điều khiển motor, servo và LED bằng phần mềm Visual Studio”.

Với đề tài trên em đã thực hiện và tìm hiểu các vấn đề sau:

 Tìm hiểu về linh kiện

 Tìm hiểu về board mạch ARDUINO NANO

 Tìm hiểu về cảm biến nhiệt độ, độ ẩm DHT11

 Tìm hiểu về cảm biến thời gian thực DS1307

 Tìm hiểu về LED đơn, động cơ điện DC, động cơ SERVO

 Tìm hiểu về module LCD I2C

 Tìm hiểu về sơ đồ khối hệ thống và nguyên lí hoạt động của mạch

 Tìm hiểu về lưu đồ thuật toán

 Lập trình và mô phỏng

 Thi công thiết kế hệ thống trên

 Thiết kế mạch nguyên lí

 Thiết kế giao diện giao tiếp với PC

TỔNG QUAN VỀ LINH KIỆN

GIỚI THIỆU ARDUINO

Arduino là một bo mạch vi điều khiển được thiết kế bởi nhóm giáo sư và sinh viên Ý vào năm 2005, dùng để cảm nhận và điều khiển các đối tượng khác nhau Bo mạch này có khả năng thực hiện nhiều nhiệm vụ, từ việc nhận tín hiệu từ cảm biến đến điều khiển đèn và động cơ Hơn nữa, Arduino có thể kết nối với nhiều module như module đọc thẻ từ, ethernet shield, và sim900A, nhằm mở rộng khả năng ứng dụng của nó.

Phần cứng Arduino bao gồm một board mạch nguồn mở, được phát triển dựa trên vi xử lý AVR Atmel 8bit hoặc ARM Atmel 32-bit Hiện tại, Arduino có tổng cộng 6 phiên bản, trong đó Arduino Uno và Arduino Mega là hai phiên bản phổ biến nhất.

Phần mềm để lập trình cho mạch Arduino là phần mềm IDE

Hình 2 Cấu tạo của Arduino Uno

2.1.3 Thông số cơ bản của Arduino Uno R3

Bảng 1 Thông số cơ bản của Arduino Uno R3

2.1.4 Các loại Board Arduino phổ biến

Khác với nhiều board mạch lập trình trước đây, Arduino cho phép lập trình dễ dàng chỉ với cáp USB mà không cần phần cứng riêng Phần mềm Arduino IDE sử dụng phiên bản cơ bản của C++, giúp người dùng dễ dàng học lập trình Dưới đây là một số loại Arduino phổ biến.

Arduino Uno là một board mạch đơn giản, lý tưởng cho người mới bắt đầu trong lĩnh vực điện tử Nó có 14 chân dữ liệu số, 6 chân đầu vào 5V, khả năng phân giải 1024 mức, tốc độ 16MHz và điện áp hoạt động 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

Vi điều khiển Atmega 328 (họ 8 bit) Điện áp hoạt động 5V – DC (cấp qua cổng USB)

Tần số hoạt động 16 MHz

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 chân (6 chân PWM)

Số chân Analog 6 (độ phân giải 10 bit)

Dòng tối đa trên mỗi chân

Dòng ra tối đa (5V) 500mA

Dòng ra tối đa (3.3V) 50mA

Bộ nhớ flash 32 KB (Atmega328) với 0.5KB dùng bởi bootloader

 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 là một thiết kế sáng tạo với chân số không có sẵn, cho phép người dùng tùy chỉnh số chân sử dụng, giúp tiết kiệm không gian hiệu quả Thường gặp, Arduino Pro có hai loại nguồn là 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à một bo mạch không có cổng USB để lập trình, được thiết kế với một chip điều khiển nhỏ Nó kết nối qua COM ảo và có khả năng kết nối với chuột và bàn phím.

Board mạch LilyPad Arduino là một công nghệ dệt điện tử có thể đeo được, được phát triển bởi Leah Sang Buechley và thiết kế bởi Lea Leah cùng SparkFun Mỗi board được thiết kế độc đáo với các miếng kết nối lớn và mặt sau mịn để dễ dàng khâu vào quần áo bằng chỉ Arduino này tích hợp I/O, nguồn và các board cảm biến chuyên dụng cho dệt may điện tử.

Board mạch RedBoard Arduino có thể lập trình dễ dàng qua cáp USB Mini-B bằng Arduino IDE và tương thích với Windows 8 mà không cần thay đổi cài đặt bảo mật Với thiết kế hoàn toàn phẳng ở mặt sau và sử dụng chip USB hoặc FTDI, RedBoard rất thuận tiện cho các dự án Chỉ cần kết nối board, chọn tùy chọn Arduino UNO từ menu và bạn đã sẵn sàng tải lên chương trình Ngoài RedBoard, còn có các dòng Arduino khác như Diecimila, Duemilanove và Due.

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

Sử dụng Arduino, người chơi có thể tương tác với Joystick và màn hình để trải nghiệm nhiều trò chơi sáng tạo như Tetrix, phá gạch và Mario.

Arduino là một giải pháp hiệu quả để điều khiển thiết bị ánh sáng cảm biến, đóng vai trò quan trọng trong hệ thống đèn giao thông Các hiệu ứng đèn nháy được lập trình giúp làm nổi bật các biển quảng cáo, tạo sự thu hút và chú ý cho người qua lại.

 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.

PHẦN MỀM LẬP TRÌNH ARDUINO IDE

Arduino cung cấp một môi trường lập trình tích hợp mã nguồn mở, cho phép người dùng viết và tải mã lên bo mạch Arduino Đây là một nền tảng đa dạng, hỗ trợ nhiều loại bo mạch cùng với nhiều tính năng độc đáo Giao diện của ứng dụng lập trình này được thiết kế hợp lý, phù hợp cho cả người dùng chuyên nghiệp và không chuyên.

Arduino sử dụng môi trường lập trình viết bằng Java, phổ biến cho các bo mạch Arduino và Genuido, được nhiều công ty trên toàn cầu áp dụng để lập trình thiết bị Ngoài ra, Java 2 Platform Standard Edition cũng là một IDE hỗ trợ Java và hiện đang được sử dụng rộng rãi.

Arduino là một môi trường phát triển tích hợp đa nền tảng, hỗ trợ nhiều bo mạch như Arduino Uno, Nano, Mega và LilyPad Arduino Phần mềm này lý tưởng cho lập trình viên C và C++, cung cấp một sự thay thế hoàn hảo cho các IDE khác Đối với những ai muốn học lập trình PHP, PHP Designer 2007 Personal là lựa chọn tốt, mang đến giải pháp hiệu quả trong thiết kế website.

Truy cập trang web [Arduino](http://arduino.cc/en/Main/Software) để tải về Arduino IDE cho hệ điều hành Windows, Mac OS hoặc Linux Windows cung cấp cả bản cài đặt (.exe) và bản Zip, trong khi bản Zip chỉ cần giải nén để sử dụng Arduino IDE là một ứng dụng đa nền tảng viết bằng Java, thiết kế cho cả nhà phát triển và người mới bắt đầu Nó có trình biên tập mã nguồn với tính năng đánh dấu cú pháp, kiểm tra dấu ngoặc và canh lề tự động, cùng khả năng biên dịch và tải chương trình lên bo mạch Mã nguồn viết cho Arduino được gọi là sketch.

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ý

 Bộ sưu tập các ví dụ mẫu

 Mảng thư viện hỗ trợ phong phú

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

Hình 3 Minh họa giao diện lập trình Arduino IDE

Các chương trình Arduino được phát triển bằng ngôn ngữ C hoặc C++, sử dụng thư viện phần mềm "Wiring" để đơn giản hóa các thao tác đầu vào/đầu ra Người dùng chỉ cần định nghĩa hai hàm để xây dựng một chương trình vòng thực thi (cyclic executive) có khả năng hoạt động hiệu quả.

Arduino IDE là nơi để soạn thảo chương trình, kiểm tra lỗi và nạp chương trình cho Arduino Giao diện này gồm có 3 vùng rõ ràng

- Vùng Toolbar có chứa các phím lệnh như kiểm tra chương trình, nạp chương trình, lưu, mở hay tạo mới chương trình

Hình 4 Minh họa vùng Toolbar trên giao diện Arduino IDE

Các nút chức năng có nhiệm vụ như sau

- Kiểm tra chương trình viết có đúng cú pháp hay không- Verify Sketch

- Biên dịch chương trình và nạp vào board Arduino- Complie and upload sketch to arduino

- Tạo một sketch mới- New Sketch

- Mở một sketch đã lưu trước đó- Open Sketch

- Lưu chương trình lại- Save Sketch

Để mở màn hình hiển thị Serial Monitor, hãy sử dụng tùy chọn này khi trong Sketch có lệnh in ra màn hình hoặc gửi ký tự qua chuẩn RS232.

- Current tab: Sketch đang được mở hiện tại, có thể đồng thời có nhiều tab tương ứng với nhiều sketch hiện trên thanh tab

- Tab menu: Vào menu để chọn các chỉ dẫn

Trong menu Tool, chúng ta cần chú ý đến các mục liên quan đến mạch và cổng nối tiếp, đặc biệt là mục Board Việc lựa chọn đúng bo mạch phù hợp với loại bo mà chúng ta đang sử dụng là rất quan trọng Nếu chọn sai loại bo mạch, quá trình nạp chương trình vào chip sẽ gặp lỗi.

Hình 5 Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp

Cổng giao tiếp giữa máy tính và Board được thiết lập qua tab Serial Port, nơi người dùng chọn cổng COM của Arduino Sau khi cài đặt driver, máy tính sẽ hiển thị tên cổng COM của Arduino trong phần Device Manager Người dùng cần vào Serial Port để chọn đúng cổng COM nhằm nạp chương trình; nếu chọn sai, quá trình nạp chương trình cho Arduino sẽ không thành công.

- Vùng viết chương trình được đánh số dòng như hình vẽ Đây là nơi để viết các dòng lệnh điều khiển hoạt động của VĐK

Hình 6 Minh họa vùng viết chương trình

2.2.2 Cấu trúc một chương trình trong phần mềm IDE

Hình 7 Tổng quan quá trình xử lý chương trình Arduino

Phần 1: Khai báo biến Đây là phần khai báo kiểu biến, tên các biến, định nghĩa các chân trên board một số kiểu khai báo biến thông dụng: #define

Từ "define" có nghĩa là định nghĩa, trong khi hàm #define có chức năng gán tên cho một chân hoặc ngõ ra cụ thể.

Chú ý: sau #define thì không có dấu “,” (dấy phẩy)

Khai báo các kiểu biến khác như: int (kiểu số nguyên), float,…

Phần 2: Thiết lập (void setup()) void setup() {

Cấu trúc của nó có dấu ngoặc nhọn ở đầu và ở cuối, nếu thiếu phần này khi kiểm tra chương trình thì chương trình sẽ báo lỗi

Phần này dùng để thiết lập các tốc độ truyền dữ liệu, kiểu chân là chân ra hay chân vào Trong đó:

Serial.begin(9600); Dùng để truyền dữ liệu từ board

Arduino lên máy tính pinMode(biến, kiểu và hoặc ra) Dùng để xác định kiểu chân là đầu vào hay đầu ra

Ví dụ: pinMode(ChanDO, INPUT);

Dùng để viết các lệnh trong chương trình để mạch Arduino thực hiện các nhiệm vụ mà chúng ta mong muốn, thường bắt đầu bằng: void loop() {

Bảng 2 Một số ký hiệu và câu lệnh thường gặp

Ký hiệu, câu lệnh Ý nghĩa

Dấu // được sử dụng để giải thích nội dung trong một dòng, và khi chương trình được kiểm tra, phần giải thích này sẽ bị bỏ qua.

Ký hiệu này cũng dùng để giải thích, nhưng giải thích dành cho 1 đoạn, tức có thể xuống dòng được

#define biến chân Define nghĩa là định nghĩa, xác định Câu lệnh này nhằm gán tên 1 biến vào 1 chân nào đó Ví dụ #define led 13 digitalWrite(chân, trạng thái);

Dùng để tắt, mở 1 chân ra Cú pháp của nó là digitalWrite(chân,trạng thái chân); Ở đây trạng thái chân có thể là HIGH hoặc LOW

Ví dụ: digital(led,HIGH); hoặc digital(led,LOW);

Chú ý dấu chấm phẩy đằng sau câu lệnh analogWrite(chân, giá trị);

PWM (Pulse Width Modulation) được sử dụng để điều khiển tốc độ động cơ và độ sáng LED Lệnh digitalRead(chân) cho phép đọc giá trị số tại chân cụ thể, trong khi lệnh analogRead(chân) dùng để đọc giá trị tương tự tại chân mong muốn Bên cạnh đó, lệnh delay(thời gian) được sử dụng để tạo khoảng thời gian trì hoãn trong chương trình.

Delay có nghĩa là chờ, trì hoãn hoặc duy trì trạng thái hiện tại trong một khoảng thời gian nhất định Lệnh này cho phép người dùng duy trì trạng thái đang thực hiện và thời gian được tính bằng mili giây, với 1 giây tương đương 1.000 mili giây.

Trang 13 if() {Các câu lệnh} else (){Các câu lệnh} if nghĩa là nếu, sau if là dấu (), bên trong dấu ngoặc là một biểu thứ so sánh

Ví dụ trong bài về cảm biến độ ẩm đất (phần 5) thì: if (giatriAnalog>500) { digitalWrite(Led,HIGH); delay(1000);

} else nghĩa là ngược lại Serial.print() In ra màn hình máy tính, lệnh này in không xuống dòng

Serial.println() In ra màn hình máy tính, in xong xuống dòng, giá trị tiếp theo sẽ được in ở dòng kế tiếp

GIỚI THIỆU VỀ ARDUINO NANO

Arduino Nano là một bảng vi điều khiển nhỏ gọn và dễ sử dụng, nặng khoảng 7g với kích thước 1,8cm x 4,5cm Bài viết này sẽ giới thiệu các thông số kỹ thuật quan trọng của Arduino Nano, đặc biệt là sơ đồ chân và chức năng của từng chân trên bảng.

Arduino Nano tương tự như Arduino Duemilanove nhưng khác biệt về dạng mạch Nano tích hợp vi điều khiển ATmega328P giống như Arduino UNO, nhưng có 32 chân trong khi UNO chỉ có 30 chân Nano cung cấp 8 cổng ADC so với 6 cổng của UNO Khác với các bo mạch Arduino khác, Nano không có giắc nguồn DC mà sử dụng cổng mini-USB cho cả lập trình và giám sát nối tiếp Điểm nổi bật của Arduino Nano là khả năng tự động chọn công suất lớn nhất dựa trên hiệu điện thế.

Bảng 3 Đặc điểm kỹ thuật Arduino Nano

Arduino Nano Thông số kỹ thuật

Bộ nhớ Flash 32 KB of which 2 KB used by Bootloader Điện áp ngõ vào (7 – 12) Volts

Vi điều khiển ATmega328P Điện áp hoạt động 5V

Kích thước bo mạch 18 x 45 mm

Hình 9 Sơ đồ chân Arduino Nano Bảng 4 Chức năng các chân Arduino Nano Thứ tự chân Tên chân Kiểu Chức năng

1 D1 / TX I / O Ngõ vào/ra số Chân TX-truyền dữ liệu

2 D0 / RX I / O Ngõ vào/ra số Chân Rx-nhận dữ liệu

3 RESET Đầu vào Chân reset, hoạt động ở mức thấp

4 GND Nguồn Chân nối mass

17 3V3 Đầu ra Đầu ra 3.3V (từ FTDI)

18 AREF Đầu vào Tham chiếu ADC

19 A0 Đầu vào Kênh đầu vào tương tự kênh 0

20 A1 Đầu vào Kênh đầu vào tương tự kênh 1

21 A2 Đầu vào Kênh đầu vào tương tự kênh 2

22 A3 Đầu vào Kênh đầu vào tương tự kênh 3

23 A4 Đầu vào Kênh đầu vào tương tự kênh 4

24 A5 Đầu vào Kênh đầu vào tương tự kênh 5

25 A6 Đầu vào Kênh đầu vào tương tự kênh 6

26 A7 Đầu vào Kênh đầu vào tương tự kênh 7

27 +5V Đầu ra hoặc đầu vào Đầu ra + 5V (từ bộ điều chỉnh On board) hoặc + 5V (đầu vào từ nguồn điện bên ngoài)

28 RESET Đầu vào Chân đặt lại, hoạt động ở mức thấp

29 GND Nguồn Chân nối mass

30 VIN Nguồn Chân nối với nguồn vào

Bảng 5 Chân ICSP Tên pin Arduino Nano

MISO Đầu vào hoặc đầu ra Master In Slave Out

VCC Đầu ra Cấp nguồn

SCK Đầu ra Tạo xung cho

MOSI Đầu ra hoặc đầu vào Master In Slave In

RST Đầu vào Đặt lại, Hoạt động ở mức thấp

GND Nguồn Chân nối đất

Arduino Nano có 14 chân vào/ra digital (1, 2, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 và 16), hoạt động với điện áp tối đa 5V Mỗi chân có khả năng cung cấp hoặc nhận dòng điện lên đến 40mA và có điện trở kéo lên khoảng 20-50kΩ Các chân này có thể được cấu hình làm đầu vào hoặc đầu ra thông qua các hàm pinMode(), digitalWrite() và digitalRead() Ngoài chức năng đầu vào và đầu ra số, chúng còn hỗ trợ một số chức năng bổ sung khác.

Chân 1 và 2 của mạch là chân nối đất, trong đó chân RX và TX được sử dụng để truyền dữ liệu nối tiếp TTL Hai chân này được kết nối trực tiếp với các chân tương ứng của chip chuyển đổi USB sang TTL.

Chân 6, 8, 9, 12, 13 và 14 là các chân xung PWM, cung cấp tín hiệu điều chế độ rộng xung 8 bit Để tạo ra tín hiệu PWM, bạn có thể sử dụng hàm analogWrite().

Chân 5 và 6 được sử dụng để cung cấp ngắt cho bộ xử lý hoặc bộ điều khiển khác Chúng cho phép kích hoạt ngắt INT0 và INT1 thông qua hàm attachInterrupt() Các chân này hỗ trợ ba loại ngắt: ngắt khi giá trị thấp, ngắt khi tăng hoặc giảm mức, và ngắt khi có sự thay đổi giá trị.

Chân 13, 14, 15 và 16 trên Arduino hỗ trợ giao tiếp SPI, cho phép truyền dữ liệu đồng bộ thông qua SCK Mặc dù phần cứng đã tích hợp tính năng này, nhưng phần mềm Arduino không hỗ trợ sẵn Do đó, để sử dụng giao tiếp SPI, bạn cần cài đặt thư viện SPI.

 Chân 16: Led Khi bạn sử dụng chân 16, đèn led trên bo mạch sẽ sáng

Các chân 18 đến 26 của Arduino Nano là các chân vào/ra tương tự, với 8 đầu vào tương tự được đánh dấu từ A0 đến A7 Điều này cho phép kết nối 8 kênh đầu vào để xử lý, mỗi chân có ADC 10-bit cho giá trị từ 0 đến 1023 Mặc định, các chân này đo từ 0V đến 5V, nhưng nếu cần điện áp tham chiếu từ 0V đến 3.3V, có thể nối chân AREF (chân 18) với nguồn 3.3V và sử dụng chức năng analogReference() Các chân analog cũng có nhiều chức năng khác tương tự như các chân digital trong Nano.

Chân 23 và 24 trên bo mạch hoạt động như A4 và A5, hỗ trợ giao tiếp I2C, trong khi giao tiếp SPI có nhược điểm như yêu cầu 4 chân kết nối và giới hạn trong một thiết bị Để truyền thông đường dài hiệu quả, I2C là lựa chọn phù hợp, sử dụng chỉ hai dây: một cho xung (SCL) và một cho dữ liệu (SDA) Để triển khai tính năng I2C, người dùng cần nhập thư viện Wire.

 Chân 18: AREF Điện áp tham chiếu cho đầu vào dùng cho việc chuyển đổi ADC

Chân 28, hay còn gọi là chân RESET, là chân dùng để khôi phục mạch khi nhấn nút trên bo mạch Chân này thường được kết nối với thiết bị chuyển mạch, phục vụ mục đích sử dụng như nút reset.

ICSP là viết tắt của In Circuit Serial Programming , đại diện cho một trong những phương pháp có sẵn để lập trình bảng Arduino Thông thường,

Trang 19 một chương trình bộ nạp khởi động Arduino được sử dụng để lập trình một bảng Arduino, nhưng nếu bộ nạp khởi động bị thiếu hoặc bị hỏng, ICSP có thể được sử dụng thay thế ICSP có thể được sử dụng để khôi phục bộ nạp khởi động bị thiếu hoặc bị hỏng

Mỗi chân ICSP trên Arduino thường kết nối với chân tương ứng có cùng tên hoặc chức năng, chẳng hạn như chân MISO của Nano nối với MISO/D12 (Pin 15) Các chân MISO, MOSI và SCK được kết hợp để tạo thành hầu hết các giao diện SPI.

GIỚI THIỆU VỀ LCD I2C

2.4.2 Thông số kỹ thuật LCD 16x2

LCD 16x2 được sử dụng để hiển thị trạng thái hoặc các thông số

 LCD 16×2 có 16 chân trong đó 8 chân dữ liệu (D0 – D7) và 3 chân điều khiển (RS, RW, EN)

 5 chân còn lại dùng để cấp nguồn và đèn nền cho LCD 16×2

 Các chân điều khiển giúp ta dễ dàng cấu hình LCD ở chế độ lệnh hoặc chế độ dữ liệu

 Chúng còn giúp ta cấu hình ở chế độ đọc hoặc ghi

LCD 16×2 có thể sử dụng ở chế độ 4 bit hoặc 8 bit tùy theo ứng dụng ta đang làm

Bảng 6 Chức năng của các chân LCD

Chân Ký hiệu Mô tả

1 Vss Chân nối đất cho LCD, khi thiết kế mạch ta nối chân này với

GND của mạch điều khiển

2 VDD Chân cấp nguồn cho LCD, khi thiết kế mạch ta nối chân này với VCC=5V của mạch điều khiển

3 VEE Điều chỉnh độ tương phản của LCD

Chân chọn thanh ghi (Register select) Nối chân RS với logic

“0” (GND) hoặc logic “1” (VCC) để chọn thanh ghi

Logic "0": bus DB0-DB7 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.

 Logic “1”: bus DB0-DB7 sẽ nối với thanh ghi dữ liệu DR bên trong LCD

Chân chọn chế độ đọc/ghi (Read/Write) Nối chân R/W với logic “0” để LCD hoạt động ở chế độ ghi, hoặc nối với logic

“1” để LCD ở chế độ đọc

Chân cho phép (Enable) Sau khi các tín hiệu được đặt lên bus DB0-DB7, các lệnh chỉ được chấp nhận khi có 1 xung cho phép của chân E

Trong chế độ ghi, khi tín hiệu chân E phát hiện một xung chuyển từ cao sang thấp, dữ liệu từ bus sẽ được LCD chấp nhận và chuyển vào thanh ghi bên trong.

Trong chế độ đọc, dữ liệu từ LCD sẽ được xuất ra các chân DB0-DB7 khi có sự chuyển đổi từ mức thấp sang mức cao (low-to-high transition) tại chân E Dữ liệu này sẽ được giữ trên bus cho đến khi chân E trở về mức thấp.

Tám đường của bus dữ liệu dùng để trao đổi thông tin với MPU Có 2 chế độ sử dụng 8 đường bus này:

 Chế độ 8 bit: dữ liệu được truyền trên cả 8 đường, với bit MSB là bit DB7

 Chế độ 4 bit: dữ liệu được truyền trên 4 đường từ DB4

Hoạt động của LCD được điều khiển thông qua 3 tín hiệu E, RS, R/W

Tín hiệu E là yếu tố quan trọng trong việc gửi dữ liệu đến LCD Để thực hiện điều này, chương trình cần thiết lập E=1, sau đó điều chỉnh các trạng thái trên các tín hiệu RS, R/W và bus dữ liệu Cuối cùng, E được đưa về 0, cho phép LCD nhận dữ liệu hiện tại qua các đường điều khiển và bus dữ liệu thông qua quá trình chuyển đổi từ cao xuống thấp.

Tín hiệu RS (Register Select) xác định loại dữ liệu được gửi đến màn hình Khi RS=0, dữ liệu được hiểu là lệnh hoặc chỉ thị đặc biệt, như xóa màn hình hoặc đặt vị trí con trỏ Ngược lại, khi RS=1, dữ liệu được coi là văn bản và sẽ được hiển thị trên màn hình.

- Tín hiệu R/W là tín hiệu “Đọc/Ghi” Khi R/W=1, thông tin trên bus dữ liệu được ghi vào LCD Khi R/W=0, chương trình sẽ đọc LCD

- Bus dữ liệu gồm 4 hoặc 8 đường tùy thuộc vào chế độ hoạt động mà người sử dụng lựa chọn

LCD có quá nhiều nhiều chân gây khó khăn trong quá trình đấu nối và chiếm dụng nhiều chân trên vi điều khiển

Module I2C LCD ra đời và giải quyết vấn để này cho bạn

Thay vì sử dụng 6 chân vi điều khiển cho việc kết nối với LCD 16×2 (bao gồm RS, EN, D7, D6, D5 và D4), bạn chỉ cần 2 chân (SCL, SDA) khi sử dụng module IC2, giúp tiết kiệm không gian và đơn giản hóa quá trình kết nối.

15 - Nguồn dương cho đèn nền

Module I2C hỗ trợ các loại LCD sử dụng driver HD44780(LCD 16×2, LCD 20×4, …) và tương thích với hầu hết các vi điều khiển hiện nay Ưu điểm:

- Tiết kiệm chân cho vi điều khiển

- Dễ dàng kết nối với LCD

- Điện áp hoạt động: 2.5 – 6V DC

- Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)

- Địa chỉ mặc định: 0x27 (có thể điều chỉnh bằng ngắn mạch chân A0/A1/A2)

- Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt

- Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD

Hình 13 Sơ đồ đấu nối giao tiếp IC2 với LCD 16×2

Bảng 7 Giao tiếp I2C LCD Arduino Module I2C LCD 16×2 Arduino Nano/Uno

GIỚI THIỆU IC THỜI GIAN THỰC DS1307

IC thời gian thực (RTC) DS1307 cung cấp thông tin thời gian hiện tại như giờ, phút, giây, thứ, ngày tháng và năm một cách chính xác, ngay cả khi thiết bị bị tắt nguồn Giao tiếp với vi điều khiển qua chuẩn I2C, DS1307 hoạt động như một thiết bị slave trên bus I2C IC này có khả năng đếm thời gian theo định dạng 24 giờ hoặc 12 giờ với chỉ thị AM/PM Đặc biệt, chip được trang bị bộ dò phát hiện mất nguồn và tự động chuyển sang nguồn pin dự phòng khi cần thiết.

 Lưu trữ và cung cấp các thông tin thời gian thực: ngày, tháng, năm, giờ, phút, giây,…

 Khả năng thiết lập ngày đến năm 2100

 Tiêu thụ điện năng thấp: dòng tiêu thụ dưới 500nA khi hoạt động bằng pin

 Tự động chuyển sang nguồn pin trong trường hợp mất điện

 Đồng hồ 24 giờ hoặc 12 giờ với chỉ báo AM/PM

 Sử dụng chuẩn giao tiếp I2C

Link datasheet DS1307: https://bom.to/54otVe

Hình 15 Sơ đồ chân DS1307

Bảng 8 Sơ đồ chân Module thời gian thực DS1307

1 X1 Đây là các chân kết nối với thạch anh tần số 32.768

KHz để kích hoạt bộ dao động nội

3 V BAT Chân này được kết với cực dương pin Lithium 3V để cấp nguồn nuôi dự phòng

Chân dữ liệu nối tiếp (Serial Data) Đây là chân dữ liệu vào/ra của giao thức I2C Chân này cần đưa lên nguồn 5V thông qua điện trở 10kΩ

Chân đầu vào xung đồng hồ nối tiếp (Serial Clock) là chân ngõ vào xung nhịp của giao thức I2C, cần được kéo lên 5V thông qua một điện trở 10kΩ để đảm bảo hoạt động ổn định.

Ngõ xuất ra xung vuông với tần số lập trình linh hoạt từ 1Hz đến 32Khz, bao gồm các mức 4Khz và 8Khz Khi không sử dụng, chân này có thể được thả nổi.

Chân cấp nguồn chính, khoảng 5VDC Nếu

V CC không có mà V BAT có thì DS1307 vẫn hoạt động bình thường nhưng không ghi và đọc được dữ liệu

GIAO TIẾP ARDUINO VỚI IC THỜI GIAN THỰC DS1307

Hình 16 Sơ đồ nguyên lý DS1307 với Arduino

GIAO TIẾP ARDUINO VỚI CẢM BIẾN NHIỆT ĐỘ, ĐỘ ẨM DHT11

Cảm biến DHT11 là một giải pháp thay thế cho dòng SHT1x, được thiết kế cho những ứng dụng không yêu cầu độ chính xác cao về nhiệt độ và độ ẩm Cảm biến này sử dụng giao tiếp số theo chuẩn 1 dây, mang lại sự tiện lợi trong việc kết nối và sử dụng.

Hình 17 Module DHT11 ỨNG DỤNG:

- Dùng để đo nhiệt độ , độ ẩm

- Các ứng dụng đo nhiệt độ , độ ẩm khác

- Dòng sử dụng: 2.5mA max (khi truyền dữ liệu)

- Đo tốt ở độ ẩm 20-80%RH với sai số 5%

- Đo tốt ở nhiệt độ 0 to 50°C sai số ±2°C

- Tần số lấy mẫu tối đa 1Hz (1 giây 1 lần)

- Kích thước 15mm x 12mm x 5.5mm

- 4 chân, khoảng cách chân 0.1mm

Hình 18 Sơ đồ nguyên lý DHT11 với Arduino

THI CÔNG VÀ THIẾT KẾ MẠCH

QUÁ TRÌNH ĐO NHIỆT ĐỘ, ĐỘ ẨM, ĐỌC GIÁ TRỊ THỜI GIAN

SƠ ĐỒ KHỐI CỦA MẠCH

Mạch hoạt động chung được cấp nguồn 5V từ khối nguồn, cung cấp năng lượng cho toàn bộ hệ thống Cảm biến DHT11 đo nhiệt độ và độ ẩm, gửi tín hiệu tương tự đến vi điều khiển Arduino Nano Vi điều khiển này chuyển đổi tín hiệu tương tự thành tín hiệu số, đồng thời đọc giá trị thời gian thực từ Module DS1307 và hiển thị thông tin trên màn hình LCD.

SƠ ĐỒ NGUYÊN LÝ (MÔ PHỎNG TRÊN PROTEUS)

Hình 19 SƠ ĐỒ NGUYÊN LÝ TOÀN MẠCH

KẾT QUẢ TRÊN MẠCH THỰC TẾ

Hình 21 Minh họa kết quả thực nghiệm

ĐIỀU KHIỂN MOTOR, SERVO VÀ LED PHẦN MỀM

YÊU CẦU KIẾN THỨC CẦN NẮM KHI LẬP TRÌNH

- Kiến thức về cấu trúc máy tính PC

- Kiến thức về cấu trúc vi điều khiển (VĐK) Arduino

- Kiến thức về cấu trúc LED, động cơ điện DC và động cơ SERVO

- Lập trình giao diện trên PC bằng phần mềm Visual studio

- Mô phỏng hoạt động giao tiếp giữa VĐK và PC bằng phần mềm Proteus ISIS Professional.

THIẾT BỊ VÀ PHẦN MỀM CẦN THIẾT

- Phần mềm Proteus ISIS Professional

- Trình biên dịch Arduino IDE

- Trình thiết kế giao tiếp Visual C#

- Phân mềm Configure Virtual Serial Port Driver tạo cổng COM ảo giao tiếp với Proteus.

TỔNG QUAN LÝ THUYẾT

LED đơn là linh kiện phát quang hoạt động dựa trên hiện tượng tái hợp điện tử và lỗ trống trong bán dẫn Nó có hai chân là Anode và Cathode, với màu sắc khác nhau tùy thuộc vào phương pháp chế tạo Bằng cách kết hợp các LED theo kiểu nối tiếp hoặc song song, chúng ta có thể tạo ra mạch điện phát ra màu sắc mong muốn LED sẽ phát sáng khi điện áp ở chân Anode cao hơn chân Cathode với giá trị cụ thể cho từng loại LED.

4.3.2 Kỹ thuật điều chế độ rộng xung

Kỹ thuật điều chế độ rộng xung (PWM - Pulse Width Modulation) cho phép điều chỉnh điện áp ra tải bằng cách thay đổi độ rộng của chuỗi xung vuông, dẫn đến sự biến đổi điện áp trung bình Các xung PWM có cùng tần số nhưng khác nhau về độ rộng của sườn dương hoặc sườn âm, tạo ra đồ thị dạng sóng tương ứng với các tỷ lệ phần trăm điều chế PWM hoạt động theo nguyên tắc đóng ngắt nguồn tải một cách có chu kỳ, dựa trên luật điều chỉnh thời gian đóng cắt.

Hình 22 Minh họa phần trăm điều chế xung PWM

PWM được ứng dụng rộng rãi trong việc điều khiển hoạt động của các thiết bị, đặc biệt là trong việc điều chỉnh tốc độ động cơ và các bộ xung áp, điều áp Bằng cách điều khiển xung PWM một cách thích hợp, chúng ta có thể phối màu LED RGB một cách linh hoạt và tùy ý.

4.3.3 Giới thiệu về động cơ DC Động cơ điện một chiều DC gồm hai phần chính:

- Stato (phần đứng yên) với các cực từ bằng nam châm vĩnh cửu hoặc nam châm điện

- Roto (phần chuyển động) với các cuộn dây quấn, cổ góp cùng chổi điện

Chổi than và vành góp có chức năng cung cấp điện áp một chiều cho cuộn dây phần ứng, đồng thời thay đổi chiều dòng điện trong cuộn dây này Số lượng chổi than tương ứng với số lượng cực từ, với một nửa mang cực tính dương và một nửa mang cực tính âm.

Động cơ bước SERVO được phân loại thành ba loại chính: động cơ nam châm vĩnh cửu, động cơ từ trở biến thiên và động cơ hỗn hợp Các loại động cơ bước này có nhiều góc quay khác nhau, từ 90 độ đến 0.72 độ hoặc nhỏ hơn Đặc điểm nổi bật của động cơ nam châm vĩnh cửu là cấu trúc với các cuộn dây quấn trên roto, trong khi stato được tạo thành từ các nam châm vĩnh cửu, tương tự như cấu trúc của động cơ AC đồng bộ.

Động cơ bước với từ trở biến thiên có cấu trúc roto bằng sắt nhẹ, trong đó số cực của roto ít hơn số cực của stato Mỗi cuộn dây được quấn trên hai cực đối diện của stato Loại động cơ này còn được gọi là động cơ phản kháng, với góc quay giới hạn từ 1.8° đến 30° trong chế độ điều khiển bước đủ.

Trang 33 moment hãm từ 1 đến 50Ncm, tần số khởi động lớn nhất là 1 Khz và tần số làm việc lớn nhất trong điều kiện không tải là 20Khz Động cơ bước hỗn hợp: Đây là loại động cơ cảm ứng, có góc bước thay đổi trong khoảng 0.36 độ đến 15 độ trong chế độ moment đủ, moment hãm từ

Động cơ có dải mô-men xoắn từ 3 đến 1000 Ncm và tần số khởi động tối đa lên đến 40 kHz Đây là loại động cơ phổ biến nhất, kết hợp những ưu điểm vượt trội của động cơ nam châm vĩnh cửu và động cơ biến từ trở.

Phương pháp điều khiển động cơ bước bao gồm ba yếu tố chính: góc quay, chiều quay và tốc độ quay Động cơ bước cho phép điều khiển góc quay với độ chính xác cao, trong đó góc quay nhỏ nhất được gọi là một bước Hai phương pháp điều khiển phổ biến là điều khiển đủ bước và điều khiển nửa bước Điều khiển đủ bước được thực hiện khi số bước tối đa trong một chu kỳ tương ứng với số cặp cực, thông qua việc kích dẫn đồng thời hai cực đối xứng để tạo ra moment quay cùng chiều.

Hình 25 Phương pháp điều khiển bước đủ

Phương pháp nửa bước là một kỹ thuật điều khiển trong đó số bước tối đa trong một chu kỳ nhỏ hơn số cặp cực Phương pháp này hoạt động bằng cách kích thích lần lượt các cực từ của stator, dẫn đến số bước quay tương ứng.

Trang 34 với số cực stator Ngoài ra, ta cũng có thể kích dẫn hai cực liên tiếp để tạo thành bước nhỏ hơn

Để điều khiển động cơ bước một cách tự động, cần xuất chuỗi xung đến các cuộn dây với tần số hợp lý nhằm đạt được tốc độ quay mong muốn Qua đó, tốc độ thực tế của động cơ được xác định Việc điều khiển chuỗi xung cho phép động cơ quay đến các góc cụ thể và dừng lại ở vị trí yêu cầu Để thay đổi chiều quay, chỉ cần đảo thứ tự các bit trong chuỗi xung Tốc độ quay của động cơ có thể được điều chỉnh bằng cách tăng hoặc giảm thời gian giữa các lần cấp xung, tức là thay đổi tần số cung cấp điện cho các cực từ.

THIẾT KẾ VÀ LẬP TRÌNH GIAO DIỆN ĐIỀU KHIỂN LED – MOTOR

Hình 26 Minh họa mạch điều khiển LED – MOTOR – SERVO

4.4.2 Giao diện điều khiển LED – MOTOR – SERVO bằng C#

KẾT QUẢ

Hình 28 Kết quả mô phỏng

Ngày đăng: 14/01/2022, 00:02

HÌNH ẢNH LIÊN QUAN

Hình 1. Thế kỷ XXI – Thời đại của khoa học công nghệ - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 1. Thế kỷ XXI – Thời đại của khoa học công nghệ (Trang 7)
Hình 2. Cấu tạo của Arduino Uno - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 2. Cấu tạo của Arduino Uno (Trang 9)
Bảng 1. Thông số cơ bản của Arduino Uno R3 - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Bảng 1. Thông số cơ bản của Arduino Uno R3 (Trang 10)
Hình 3. Minh họa giao diện lập trình Arduino IDE - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 3. Minh họa giao diện lập trình Arduino IDE (Trang 14)
Hình 4. Minh họa vùng Toolbar trên giao diện Arduino IDE - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 4. Minh họa vùng Toolbar trên giao diện Arduino IDE (Trang 14)
Hình 5. Minh họa chọn board Arduino và  cổng COM giao tiếp phù hợp - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 5. Minh họa chọn board Arduino và cổng COM giao tiếp phù hợp (Trang 15)
Hình 7. Tổng quan quá trình xử lý chương trình Arduino - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 7. Tổng quan quá trình xử lý chương trình Arduino (Trang 16)
Bảng 2. Một số ký hiệu và câu lệnh thường gặp - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Bảng 2. Một số ký hiệu và câu lệnh thường gặp (Trang 18)
Bảng 3. Đặc điểm kỹ thuật Arduino Nano - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Bảng 3. Đặc điểm kỹ thuật Arduino Nano (Trang 20)
Hình 9. Sơ đồ chân Arduino Nano  Bảng 4. Chức năng các chân Arduino Nano  Thứ tự - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 9. Sơ đồ chân Arduino Nano Bảng 4. Chức năng các chân Arduino Nano Thứ tự (Trang 21)
Hình 10. ICSP - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 10. ICSP (Trang 22)
Bảng 5. Chân ICSP  Tên pin Arduino Nano - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Bảng 5. Chân ICSP Tên pin Arduino Nano (Trang 23)
SƠ ĐỒ ĐẤU NỐI - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
SƠ ĐỒ ĐẤU NỐI (Trang 28)
Hình 15. Sơ đồ chân DS1307 - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
Hình 15. Sơ đồ chân DS1307 (Trang 29)
SƠ ĐỒ CHÂN DS1307 - VI XỬ LÝ VÀ VI ĐIỀU KHIỂN TRONG ĐO LƯỜNG TỰ ĐỘNG
1307 (Trang 29)

TỪ KHÓA LIÊN QUAN

w