TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN 1 CHUYÊN NGÀNH ĐIỆN TỰ ĐỘNG CÔNG NGHIỆP NHÓM ĐỒ ÁN N12 GIẢNG VIÊN HƯỚNG DẪN Đặng Hồng Hải ĐỀ TÀI Nghiên cứu về xung PWM trong Arduino Sinh vi[.]
TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN CHUYÊN NGÀNH : ĐIỆN TỰ ĐỘNG CƠNG NGHIỆP NHĨM ĐỒ ÁN : N12 GIẢNG VIÊN HƯỚNG DẪN : Đặng Hồng Hải ĐỀ TÀI:Nghiên cứu xung PWM Arduino Sinh viên: Mã SV Vũ Văn Vinh(nhóm trưởng) 85580 Đặng Xuân Tùng 85412 Bùi Văn Tuấn 85375 Nguyễn Văn Tú 85367 Hải Phòng, Ngày Tháng Năm 2021 Tiến độ công việc TT SINH VIÊN VŨ VĂN VINH(nt) NGUYỄN VĂN TÚ BÙI VĂN TUẤN ĐẶNG XUÂN TÙNG MÃ 85580 85367 85375 85412 LỚP ĐTĐ60ĐH ĐTĐ60ĐH ĐTĐ60ĐH ĐTĐ60ĐH NHIỆM VỤ 100% 100% 100% 100% MỤC LỤC CHƯƠNG I:Giới thiệu nguyên lý hoạt động xung PWM Arduino.5 I Nghiên cứu chung Arduino 1.1.Khái niệm .5 1.2.Vi điều khiển 1.3 Phần mềm lập trình Arduino IDE 1.4 Ứng dụng Arduino .10 II.Nghiên cứu xung PWM 12 2.1.Điều chỉnh độ rộng xung (Pulse Width Modulation) (PWM) .12 2.2.Xung PWM Arduino gì? 14 2.2.1.Khái niệm 14 2.2.2.Linh kiện yêu cầu 17 2.3.Nguyên lý hoạt động PWM 19 2.4.Ứng dụng PWM điều khiển 20 2.5.Các cách để tạo PWM để điều khiển 21 2.5.1.Tạo xung vuông phương pháp so sánh 22 2.5.2.PWM BẰNG PHẦN MỀM 23 2.5.3.PWM BẰNG PHẦN CỨNG 24 2.5.4.KẾT QUẢ THỰC NGHIỆM 28 2.6.PWM điều khiển động biến đổi xung áp .31 2.6.1-Trong động cơ : 31 2.6.2.- Trong biến đổi xung áp: 32 CHƯƠNG II: Thiết kế : Điều khiển tốc độ dộng chiều xung PWM 33 2.1.GIỚI THIỆU .33 2.2 Chuẩn bị 34 2.4.Sơ đồ mạch 34 2.5.Lập trình điều khiển 35 2.5.1.Thuật toán điều khiển: 35 2.5.2 Lập trình điều khiển 36 DANH MỤC HÌNH ẢNH Hình 1:Aduino uno Hình 2:Chế tạo mạch in .6 Hình 3:Chế tạo thủ cơng Hình 4:Các cơng vào arduino uno Hình 5:Mạch Arduino UNO Hình 6:Các phần mên thơng dụng 10 Hình 7:Ứng dụng Arduino điều khiển tốc độ 10 Hình 8:Mạch redBoard 11 Hình 1:Độ rộng xung sau điều chỉnh……………………………… 13 Hình 2:Biểu đồ chu kì làm việc .17 Hình 3:Kết nối đen vói arduino .18 Hình 4:Mạch điều khiển độ sáng đèn 19 Hình 5:Mạch nguyên lý điều khiển tải PWM 20 Hình 6:Sơ đị xung van điều khiểu đầu 21 Hình 7:Sơ đồ nguyên tắc điều khiển tải dùng PWM .22 Hình 8:Tạo xung vuông phương pháp so sánh .23 Hình 14:Sơ đồ nguyên lý mạch điều khiển động DC 29 Hình 15:Sơ đồ mạch nguyên lý nguồn Boot đơn giản 30 LỜI NĨI ĐẦU Ngày nay, cơng nghiệp nước ta đà phát triển mạnh mẽ, thiết bị máy móc ngày giữ vai trị quan trọng q trình sản xuất Nhu cầu sử dụng thiết bị ngày cao phải đáp ứng việc sử dụng thời gian dài, liên tục mà đáp ứng xác yêu cầu đề Trong đó, động điện thiết bị ln quan tâm q trình nghiên cứu cải tiến thiết bị máy móc cơng nghiệp Động điện từ lâu giữ vai trò quan trọng sản xuất cơng nghiệp Vì vậy, việc nghiên cứu để cải tiến để động đáp ứng yêu cầu ngày cao sản xuất vấn đề quan tâm Trong đó, việc sử dụng xung PWM điều khiển động thông qua Arduino đáp ứng yêu cầu định Trong thời gian học tập học phần Đồ án 1, nhóm chúng em lựa chọn đề tài:” Nghiên cứu xung PWM Arduino” Đồ án nhóm chúng em gồm chương: Chương 1: Nghiên cứu nguyên lí hoạt động xung PWM Arduino Chương 2: Thiết kế: Điều khiển tốc độ động chiều xung PWM CHƯƠNG I Giới thiệu nguyên lý hoạt động xung PWM Arduino 1.1 Nghiên cứu chung Arduino 1.1.1 Khái niệm a.Một vài thông số Arduino UNO R3 Vi điều khiển ATmega328 họ 8bit Điện áp hoạt động 5V DC (chỉ cấp qua cổng USB) Tần số hoạt động 16 MHz Dòng tiêu thụ khoảng 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 hardware PWM) Số chân Analog (độ phân giải 10bit) Dòng tối đa chân I/O 30 mA Dòng tối đa (5V) 500 mA Dòng tối đa (3.3V) 50 mA Bộ nhớ flash 32 KB (ATmega328) với 0.5KB dùng bootloader SRAM KB (ATmega328) EEPROM KB (ATmega328) Bảng 1:Thông số Arduino Uno 1.1.2.Vi điều khiển Hình 1:Aduino uno Arduino UNO sử dụng vi điều khiển họ 8bit AVR ATmega8, ATmega168, ATmega328 Bộ não xử lí tác vụ đơn giản điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, làm trạm đo nhiệt độ - độ ẩm hiển thị lên hình LCD,… hay ứng dụng khác mà bạn xem ở đây Thiết kế tiêu chuẩn Arduino UNO sử dụng vi điều khiển ATmega328 với giá khoảng 90.000đ Tuy nhiên yêu cầu phần cứng bạn không cao túi tiền khơng cho phép, bạn sử dụng loại vi điều khiển khác có chức tương đương rẻ ATmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ ATmega168 (bộ nhớ flash 16KB) với giá khoảng 65.000đ Ngoài việc dùng cho board Arduino UNO, bạn sử dụng IC điều khiển cho mạch tự chế Vì ? Vì bạn cần board Arduino UNO để lập trình cho vi điều khiển Trên thực tế, bạn không cần phải dụng Arduino UNO sản phẩm mình, thay vào mạch tự chế để giảm chi phí hình đây: Hình 1 2:Chế tạo thủ cơng Hình 3:Chế tạo mạch in *Năng lượng -Arduino UNO cấp nguồn 5V thơng qua cổng USB cấp nguồn với điện áp khuyên dùng 7-12V DC giới hạn 6-20V Thường cấp nguồn pin vng 9V hợp lí bạn khơng có sẵn nguồn từ cổng USB Nếu cấp nguồn vượt ngưỡng giới hạn trên, bạn làm hỏng Arduino UNO *Các chân lượng - - GND (Ground): cực âm nguồn điện cấp cho Arduino UNO Khi bạn dùng thiết bị sử dụng nguồn điện riêng biệt chân phải nối với 5V: cấp điện áp 5V đầu Dòng tối đa cho phép chân 500mA 3.3V: cấp điện áp 3.3V đầu Dòng tối đa cho phép chân 50mA Vin (Voltage Input): để cấp nguồn cho Arduino UNO, bạn nối cực dương nguồn với chân cực âm nguồn với chân GND IOREF: điện áp hoạt động vi điều khiển Arduino UNO đo chân Và dĩ nhiên ln 5V Mặc dù bạn không lấy nguồn 5V từ chân để sử dụng chức khơng phải cấp nguồn RESET: việc nhấn nút Reset board để reset vi điều khiển tương đương với việc chân RESET nối với GND qua điện trở 10KΩ *Lưu ý: - - Arduino UNO khơng có bảo vệ cắm ngược nguồn vào Do bạn phải cẩn thận, kiểm tra cực âm – dương nguồn trước cấp cho Arduino UNO Việc làm chập mạch nguồn vào Arduino UNO biến thành miếng nhựa chặn giấy khuyên bạn nên dùng nguồn từ cổng USB Các chân 3.3V 5V Arduino chân dùng để cấp nguồn cho thiết bị khác, chân cấp nguồn vào Việc cấp nguồn sai vị trí làm hỏng board Điều khơng nhà sản xuất khuyến khích Cấp nguồn ngồi khơng qua cổng USB cho Arduino UNO với điện áp 6V làm hỏng board Cấp điện áp 13V vào chân RESET board làm hỏng vi điều khiển ATmega328 Cường độ dòng điện vào/ra tất chân Digital Analog Arduino UNO vượt 200mA làm hỏng vi điều khiển Cấp điệp áp 5.5V vào chân Digital Analog Arduino UNO làm hỏng vi điều khiển Cường độ dòng điện qua chân Digital Analog Arduino UNO vượt 40mA làm hỏng vi điều khiển Do khơng dùng để truyền nhận liệu, bạn phải mắc điện trở hạn dòng *Bộ nhớ -Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng: - 32KB nhớ Flash: đoạn lệnh lập trình lưu trữ nhớ Flash vi điều khiển Thường có khoảng vài KB số dùng cho bootloader cần 20KB nhớ 2KB cho SRAM (Static Random Access Memory): giá trị biến khai báo lập trình lưu Khi khai báo nhiều biến cần nhiều nhớ RAM Khi điện, liệu SRAM bị - 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): giống ổ cứng mini SRAM - *Các cổng vào/ra Hình 2:Các cơng vào arduino uno -Arduino UNO có 14 chân digital dùng để đọc xuất tín hiệu Chúng có mức điện áp 0V 5V với dòng vào/ra tối đa chân 40mA Ở chân có điện trở pull-up từ cài đặt vi điều khiển ATmega328 (mặc định điện trở khơng kết nối) -Một số chân digital có chức đặc biệt sau: - chân Serial: (RX) (TX): dùng để gửi (transmit – TX) nhận (receive – RX) liệu TTL Serial Arduino Uno giao tiếp với thiết bị khác thông qua chân Kết nối bluetooth thường thấy nói nơm na kết nối Serial khơng dây Nếu khơng cần giao tiếp Serial, bạn không nên sử dụng chân không cần thiết Chân PWM (~): 3, 5, 6, 9, 10, 11: cho phép bạn xuất xung PWM với độ phân giải 8bit (giá trị từ → 28-1 tương ứng với 0V → 5V) hàm analogWrite() Nói cách đơn giản, bạn điều chỉnh điện áp chân từ mức 0V đến 5V thay cố định mức 0V 5V chân khác - Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngồi chức thơng thường, chân cịn dùng để truyền phát liệu giao thức SPI với thiết bị khác - LED 13: Arduino UNO có đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn thấy đèn nhấp nháy để báo hiệu Nó nối với chân số 13 Khi chân người dùng sử dụng, LED sáng - -Arduino UNO có chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp khoảng 0V → 5V Với chân AREF trên board, bạn để đưa vào điện áp tham chiếu sử dụng chân analog Tức bạn cấp điện áp 2.5V vào chân bạn dùng chân analog để đo điện áp khoảng từ 0V → 2.5V với độ phân giải 10bit -Đặc biệt, Arduino UNO có chân A4 (SDA) A5 (SCL) hỗ trợ giao tiếp I2C/TWI với thiết bị khác *Lập trình cho Arduino -Arduino là tảng mã nguồn mở giúp tạo tính liên kết tương tác với tốt các ứng dụng điện tử người xây dựng nên. Arduino dùng để thay công cụ chuyên nạp code giúp người dùng lập trình, thực dự án điện tử cách đơn giản, dễ dàng, hiệu tốn nhiều Hình 3:Mạch Arduino UNO 1.1.3 Phần mềm lập trình Arduino IDE -Để lập trình vào mạch Arduino, cần sử dụng chương trình Arduino IDE trên thiết bị pc, laptop. Chương trình viết bằng ngơn ngữ lập trình Java là ứng dụng đa tảng (cross-platform) Ngơn ngữ code cho chương trình của Arduino là bằng C hoặc C++ Cơng cụ giúp bạn iên tập đoạn code vào linh kiện Arduino của -Bên cạnh đó, bạn lập trình cho bo mạch Arduino bằng ứng dụng ArduinoDroid trên thiết bị điện thoại, máy tính bảng sử dụng hệ điều hành Android với giao diện tính tương tự với Arduino IDE 10 ... chọn đề tài:” Nghiên cứu xung PWM Arduino” Đồ án nhóm chúng em gồm chương: Chương 1: Nghiên cứu nguyên lí hoạt động xung PWM Arduino Chương 2: Thiết kế: Điều khiển tốc độ động chiều xung PWM CHƯƠNG... yêu cầu đề Trong đó, động điện thiết bị ln quan tâm trình nghiên cứu cải tiến thiết bị máy móc cơng nghiệp Động điện từ lâu giữ vai trò quan trọng sản xuất cơng nghiệp Vì vậy, việc nghiên cứu để... đầu, xung có điện áp cao, 50% sau xung có điện áp thấp -Với x/y=100% ta có xung chứa tồn điện áp cao -Tóm lại, với xung ta có: Tần số: để tính tốn thời gian xung Chu kì xung: thời gian xung có