TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN ĐIỆN TỬ VIỄN THÔNG BÁO CÁO ĐỒ ÁN II Đề tài THIẾT KẾ VÀ CHẾ TẠO MẠCH ĐIỀU KHIỂN ĐỘNG CƠ DC CÔNG SUẤT NHỎ Sinh viên thực hiện Nguyễn Hữu Hưng Lớp ET LUH 17 K63 MSSV[.]
Tìm hiểu đề tài
Đặt vấn đề
Động cơ điện một chiều đã được ứng dụng rộng rãi trong nhiều lĩnh vực máy móc và sản xuất, mang lại hiệu quả kinh tế cao và tiết kiệm chi phí cũng như công sức lao động.
Động cơ DC công suất nhỏ được ứng dụng rộng rãi trong các công cụ, đồ chơi và thiết bị gia dụng, việc điều khiển tốc độ và chiều quay của động cơ là một thách thức quan trọng Để giải quyết vấn đề này, tôi đã nghiên cứu đề tài “Thiết kế và mô phỏng mạch điều khiển động cơ DC công suất nhỏ” Đây là một bài toán quen thuộc với nhiều phương pháp giải quyết khác nhau Ý tưởng chính là điều khiển động cơ DC thông qua các nút bấm và đảo chiều quay bằng mạch cầu H.
Yêu cầu thiết kế
Hệ thống hoạt động ổn định
Động cơ DC thực hiện các chức năng: chạy/dừng, đảo chiều quay, tăng tốc, giảm tốc với 4 phím ấn trên mạch Kit
Điều chỉnh tốc độ động cơ sử dụng cơ chế điều chế độ rộng xung(PWM)
Điện áp hoạt động của mạch là 20-28 VDC
Dòng điện trung bình cấp cho động cơ tối đa là 2A
Yêu cầu phi chức năng:
Mạch có đầy đủ các thành phần theo sơ đồ khố
Chi phí thấp, dễ sản xuất
Có màn hình LCD hiển thị các chức năng mà mạch đang thực hiện
Có đèn LED hiển thị các trạng thái của các phím ấn
Cơ sở lý thuyết
Vi điều khiển Atmega328
Atmega328 là vi điều khiển 8 bit mạnh mẽ hơn Atmega8, được sản xuất bởi Atmel trong dòng MegaAVR Chip này sử dụng kiến trúc RISC và có bộ nhớ chương trình 32KB ISP flash, cho phép ghi xóa hàng nghìn lần Ngoài ra, Atmega328 còn trang bị 1KB EEPROM và 2KB SRAM, mang đến một dung lượng RAM lớn trong thế giới vi xử lý 8 bit.
ATmega328P là một bộ vi điều khiển tiên tiến và nổi tiếng của Atmel, thường được sử dụng trong bo mạch Arduino UNO Nó thuộc họ vi điều khiển megaMVR của Atmel, một công ty đã được sáp nhập vào cuối năm 2016.
Microchip Technology Inc đã mua lại một dòng vi điều khiển mới, thuộc họ megaMVR, được thiết kế để xử lý các bộ nhớ chương trình lớn Mỗi vi điều khiển trong họ này được trang bị ROM, RAM, các chân I/O và nhiều tính năng khác nhau Chúng được sản xuất với đa dạng chân đầu ra, từ 8 chân cho đến hàng trăm chân.
Mạch bên trong của ATmega328P được thiết kế để tiết kiệm năng lượng, với khả năng tiêu thụ dòng điện thấp Chip này sở hữu 32 kilobyte bộ nhớ flash, 1 kilobyte EEPROM và 2 kilobyte SRAM Trong đó, EEPROM và bộ nhớ flash lưu trữ thông tin ngay cả khi nguồn điện bị ngắt, trong khi SRAM chỉ giữ thông tin khi có điện; khi mất điện, tất cả dữ liệu trong SRAM sẽ bị xóa.
Atmega328 có khả năng hoạt động trong một dải điện áp rộng (1.8V – 5.5V), tốc độ thực thi (thông lượng) 1MIPS trên 1MHZ
Vi điều khiển Atmega328 đang trở thành lựa chọn phổ biến cho các dự án nhỏ của sinh viên và học sinh nhờ vào giá thành hợp lý, hiệu suất xử lý mạnh mẽ, tiêu thụ năng lượng thấp và sự hỗ trợ nhiệt tình từ cộng đồng người dùng AVR.
Hình 1 1 Vi điều khiển Atmega328P
2.1.1 Đặc tính / Thông số kỹ thuật của ATmega328P
• Thiết kế hiệu suất cao
• Tiêu thụ ít điện năng
• Tổng số chân ngõ vào Analog là 6
• Chứa 32 kilobyte bộ nhớ flash
• Tốc độ xung nhịp 16 megahertz
• Nhiệt độ tối thiểu và tối đa -40 độ C đến 105 độ C
• Tổng số chân I / O kỹ thuật số là 14 chân
• Khóa chức năng chương trình để bảo mật mã lập trình
• Chứa tổng cộng ba bộ định thời, hai 8 bit và một 16 bit
• Tổng số chân I / O là 23 chân
• Tổng số kênh PWM là 6
• Điện áp hoạt động tối thiểu và tối đa từ 1.8V DC đến 5.5V DC
Hình 1 2 Sơ đồ khối Atmega328
2.1.3 Sơ đồ chân Ý nghĩa các chân
VCC: Chân số 7 là VCC cấp điện áp nguồn cho Vi điều khiển
AVCC: Chân số 20 là AVCC dùng để cấp điện áp cho bộ chuyển đổi tín hiệu tương tự sang kỹ thuật số
Chân số 8 và chân số 22 của mạch được kết nối với GND (hay còn gọi là Mass) Để bảo vệ Vi điều khiển, việc thiết kế cần sử dụng một mạch ổn áp, và một cách đơn giản là áp dụng IC ổn áp.
Cổng A (PA) bao gồm các chân từ PA0 đến PA7, đóng vai trò là đầu vào cho bộ chuyển đổi tương tự sang số Nếu không sử dụng bộ chuyển đổi này, cổng A sẽ hoạt động như một cổng vào/ra hai chiều 8 bit.
Port B (PB): bao gồm các chân từ PB0 đến PB7 Cổng này là một cổng hai chiều 8 bit có một điện trở kéo lên bên trong
Port C (PC): bao gồm các chân từ PC0 đến PC7
Port D (PD): bao gồm các chân từ PD0 đến PD7
Số thứ tự chân Mô tả Chức năng Mô tả chức năng
1 PC6 Reset Khi chân reset này ở mức thấp, bộ vi điều khiển và chương trình của nó sẽ được reset
2 PD0 Chân kỹ thuật số (RX) Chân đầu vào cho giao tiếp nối tiếp
3 PD Chân kỹ thuật số (TX) Chân đầu ra cho giao tiếp nối tiếp
4 PD Chân kỹ thuật số Chân 4 được sử dụng làm ngắt ngoài 0
5 PD Chân kỹ thuật số
Chân 5 được sử dụng làm ngắt ngoài 1
6 PD Chân kỹ thuật số Chân 6 được sử dụng cho nguồn bộ đếm bên ngoài Timer0
7 Vcc Điện áp dương Nguồn dương của hệ thống
8 GND Nối đất Nối đất của hệ thống
9 XTAL Dao động tinh thể Chân này nối với một châncủa bộ dao động tinh thể để cung cấp xung nhịp bên ngoài cho chip
10 XTAL Dao động tinh thể Chân này nối với chân còn lại của bộ dao động tinh thể để cung cấp xung nhịp bên ngoài cho chip
11 PD5 Chân kỹ thuật số
Chân 11 được sử dụng cho nguồn bộ đếm bên ngoài Timer1
12 PD6 Chân kỹ thuật số
Bộ so sánh analog dương i / ps
13 PD7 Chân kỹ thuật số Bộ so sánh analog âm i / ps
14 PB0 Chân kỹ thuật số Nguồn đầu vào bộ đếm hoặc bộ hẹn giờ
15 PB1 Chân kỹ thuật số
Bộ đếm hoặc bộ hẹn giờ so sánh khớp A
16 PB2 Chân kỹ thuật số
Chân này hoạt động như lựa chọn slave i / p
17 PB3 Chân kỹ thuật số
Chân này được sử dụng làm đầu ra dữ liệu master và đầu vào dữ liệu slave cho SPI
18 PB4 Chân kỹ thuật số Chân này hoạt động như một đầu vào xung nhịp master và đầu ra xung nhịp slave
19 PB5 Chân kỹ thuật số Chân này hoạt động như một đầu ra xung nhịp master và đầu vào xung nhịp slave cho SPI
20 AVcc Điện áp dương Điện áp dương cho ADC
21 AREF Tham chiếu analog Điện áp tham chiếu analog cho
ADC (Bộ chuyển đổi analog sang kỹ thuật số)
22 GND Nối đất Nối đất của hệ thống
23 PC0 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 0
24 PC1 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 1
25 PC2 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 2
26 PC3 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 3
PC4 là chân đầu vào analog với giá trị kỹ thuật số cho 4 kênh Chân này cũng có khả năng hoạt động như một kết nối giao diện nối tiếp để truyền dữ liệu.
28 PC5 Đầu vào analog Đầu vào analog giá trị kỹ thuật số kênh 5 Chân này cũng được sử dụng như dòng xung nhịp giao diện nối tiếp
Bảng 1 Sơ đồ chân, mô tả chức năng Atmega328
Hình 1 3 Sơ đồ chân Atmega328
Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra i/O, 32 thanh ghi, 3 bộ timer/counter có thể lập trình, có các ngắt nội và ngoại (2 lệnh trên một vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra có thể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh, khả năng lập trình được watchdog timer, hoạt động với 5 chế độ nguồn, có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ bootloader
Vi điều khiển Atmega328 cung cấp cho người dùng:
Vi điều khiển có bộ nhớ Flash 32KB, nơi lưu trữ các đoạn lệnh lập trình Thông thường, khoảng vài KB trong bộ nhớ này được sử dụng cho bootloader, và hiếm khi cần quá 20KB cho các ứng dụng lập trình.
SRAM (Static Random Access Memory) có dung lượng 2KB, nơi lưu trữ giá trị của các biến được khai báo trong lập trình Số lượng biến càng nhiều thì yêu cầu bộ nhớ RAM càng lớn Tuy nhiên, bộ nhớ RAM thường không phải là vấn đề đáng lo ngại Lưu ý rằng khi mất điện, dữ liệu trong SRAM sẽ bị mất.
EEPROM (Electrically Erasable Programmable Read-Only Memory) có dung lượng 1KB, hoạt động giống như một ổ cứng mini, cho phép người dùng đọc và ghi dữ liệu mà không lo mất mát khi mất điện, khác với dữ liệu trên SRAM.
AVR là vi điều khiển sử dụng cấu trúc Harvard, với bộ nhớ và bus riêng biệt cho chương trình và dữ liệu Các lệnh trong AVR được thực hiện chỉ trong một chu kỳ xung clock, và bộ nhớ chương trình được lưu trữ trong bộ nhớ Flash.
Hình 1 4 Cấu trúc tổng quát
CPU của Atmega328P có chức năng bảo đảm sự hoạt động chính xác các chương trình
Do đó phải có khả năng truy cập bộ nhớ, thực hiện các quá trình tính toán, điều khiển các thiết bị ngoại vi và quản lý ngắt
AVR sử dụng kiến trúc Harvard, với bộ nhớ và các bus riêng biệt cho chương trình và dữ liệu Mỗi lệnh được thực hiện trong một chu kỳ xung clock, và bộ nhớ chương trình được lưu trữ trong bộ nhớ Flash.
ALU tương tác trực tiếp với các thanh ghi chức năng chung và thực hiện các phép toán trong một chu kỳ xung clock Hoạt động của ALU được phân loại thành ba loại chính: đại số, logic và theo bit.
Thanh ghi trạng thái có 8 bit lưu trữ trạng thái của ALU sau các phép tính số học và logic
Khối Driver động cơ
Khối động cơ sẽ nhận các tín hiệu điều khiển từ khối xử lý sau đó động cơ sẽ di chuyển theo yêu cầu của khối xử lý bằng L298 V2
Module điều khiển động cơ L298 V2, với hai mạch cầu H tích hợp, là một giải pháp phổ biến và kinh tế cho các dự án Nó có khả năng điều khiển đồng thời hai động cơ, phù hợp với nhu cầu đa dạng trong các ứng dụng robot và tự động hóa.
Mạch điều khiển động cơ DC L298 V2 được thiết kế với chất lượng tốt, khả năng hoạt động bền bỉ và tính tiện lợi cao Mạch tích hợp trở kéo, diod bảo vệ, đèn LED hiển thị trạng thái, cùng với chân cắm dễ dàng sử dụng Đặc biệt, nó có khả năng điều khiển đồng thời 2 động cơ DC và đi kèm IC nguồn, mang lại hiệu suất tối ưu cho các ứng dụng.
7805 giúp cấp nguồn 5VDC cho các module khác
Chế độ chống quá dòng cho module
Có thể lấy trực tiếp nuồn nuôi cho L298 qua IC7805
Dòng tối đa cho mỗi cầu H: 2A.(2A cho mỗi động cơ)
2.2.3 Điều khiển động cơ DC
Để điều khiển hoàn toàn động cơ DC, cần kiểm soát cả tốc độ và chiều quay Việc này đòi hỏi phải áp dụng hai kỹ thuật kết hợp hiệu quả.
Điều chế độ rộng xung (PWM) – Để điều khiển tốc độ
Mạch cầu H (H-Bridge) – Để điều khiển chiều quay
2.2.3.1 PWM – Điều khiển tốc độ Để có thể điều khiển điều khiển tốc độ động cơ một chiều bằng PWM ta dùng mạch điện tử để thay đổi độ rộng của xung ở ngõ ra mà khiến chúng không bị thay đổi tần số Khi độ rộng xung thay đổi thì điện áp sẽ thay đổi
Có thể áp dụng công thức:
TON là thời gian xung điện áp ở mức cao trong một chu kỳ T
TOFF là thời gian xung điện áp ở mức thấp trong một chu kỳ T
Phương pháp này giảm thiểu tổn hao công suất trên thiết bị đóng cắt Khi khóa chuyển mạch ở trạng thái tắt, dòng điện sẽ không chạy qua, và khi khóa chuyển mạch mở, dòng điện sẽ chạy qua tải, giúp điều khiển tốc độ một cách hiệu quả.
Tốc độ của động cơ DC có thể điều chỉnh bằng cách thay đổi điện áp đầu vào Một trong những kỹ thuật phổ biến để thực hiện điều này là điều chế độ rộng xung (PWM).
PWM là kỹ thuật điều chỉnh giá trị trung bình của điện áp đầu vào thông qua việc gửi các xung ON-OFF Điện áp trung bình này tỷ lệ thuận với chiều rộng của các xung, được gọi là chu kỳ làm việc (Duty Cycle).
Chu kỳ làm việc cao dẫn đến điện áp trung bình lớn hơn cho động cơ DC, giúp động cơ quay nhanh hơn Ngược lại, chu kỳ làm việc thấp sẽ cung cấp điện áp trung bình ít hơn, khiến động cơ quay chậm hơn.
2.3.3.2 H-Bridge – Điều khiển chiều quay
Chiều quay của động cơ DC có thể được điều chỉnh bằng cách thay đổi cực tính của điện áp đầu vào Một trong những phương pháp phổ biến để thực hiện điều này là sử dụng mạch cầu H (H-Bridge).
Mạch cầu H bao gồm bốn công tắc với động cơ nằm ở trung tâm, tạo thành hình chữ H Khi đóng hai công tắc cụ thể đồng thời, cực tính điện áp cấp cho động cơ sẽ bị đảo ngược, dẫn đến sự thay đổi hướng quay của động cơ.
L298 là chip tích hợp 2 mạch cầu H trong gói 16 chân, với tất cả các mạch kích và mạch cầu đã được tích hợp sẵn Chip này có điện áp danh nghĩa cao lên đến 46V và dòng điện danh nghĩa tối đa 2A, rất phù hợp cho các ứng dụng công suất nhỏ như điều khiển động cơ.
IN1 & IN2 Được nối lần lượt với các chân 5,7 của L298 Chân đầu vào của động cơ thứ 1
IN3 & IN4 Được nối lần lượt với các chân 10,12 của L298 Chân đầu vào của động cơ thứ 2
ENA Bật tín hiệu PWM cho động cơ thứ 1
ENB Bật tín hiệu PWM cho động cơ thứ 2
OUT1 & OUT2 Chân đầu ra của động cơ thứ 1
OUT3 & OUT4 Chân đầu ra của động cơ thứ 2
12V Cấp nguồn cho mạch L298 và là nguồn động lực cho động cơ
5V Có thể dùng cấp nguồn cho Arduino, khi có Jumper 5V
Bảng 2 Sơ đồ chân, mô tả chức năng L298
Có 2 mạch cầu H trên mỗi chip L298D nên có thể điều khiển 2 đối tượng chỉ với 1 chip này Mỗi mạch cầu bao gồm 1 đường nguồn Vs (dùng chung cho 2 mạch cầu), một đường current sensing (cảm biến dòng), phần cuối của mạch cầu H không được nối với GND mà bỏ trống cho người dùng nối một điện trở nhỏ gọi là sensing resistor.
Khối hiển thị
Trong đồ án 2, khối hiển thị sử dụng LCD 1602 (Liquid Crystal Display), một loại màn hình phổ biến trong các ứng dụng vi điều khiển LCD 1602 nổi bật với nhiều ưu điểm như khả năng hiển thị đa dạng ký tự (chữ, số, ký tự đồ họa), dễ dàng tích hợp vào mạch ứng dụng thông qua nhiều giao thức giao tiếp khác nhau, tiêu tốn ít tài nguyên hệ thống và có giá thành phải chăng.
Thông số kỹ thuật LCD 1602:
Điện áp ra mức cao : > 2.4
Điện áp ra mức thấp :