Điều khiển tốc độ động cơ DC bằng PWM : Trong Project này, mình sẽ chỉ cho bạn cách tạo tín hiệu PWM bằng Vi điều khiển 8051 và cả Điều khiển tốc độ động cơ DC dựa trên PWM bằng Vi điều khiển.

Giới thiệu Điều khiển tốc độ động cơ DC bằng PWM 

Điều quan trọng là kiểm soát tốc độ của động cơ DC trong nhiều ứng dụng, nơi mà độ chính xác và bảo vệ là điều cần thiết. Ở đây mình sẽ sử dụng một kỹ thuật gọi là PWM (Pulse Width Modulation) để điều khiển tốc độ của động cơ DC.

mình có thể đạt được điều khiển tốc độ của động cơ DC bằng kỹ thuật cơ hoặc điện nhưng chúng yêu cầu phần cứng kích thước lớn để thực hiện nhưng hệ thống dựa trên Vi điều khiển cung cấp một cách dễ dàng để điều khiển tốc độ của động cơ DC.

Điều khiển tốc độ động cơ DC bằng PWM sử dụng vi điều khiển 8051

Trước đó, mình đã biết cách điều khiển tốc độ của động cơ DC bằng PWM mà không cần Vi điều khiển . Ở đây, mình thực hiện thí nghiệm tương tự bằng cách sử dụng vi điều khiển.

Với mục đích đó, ở đây mình sẽ sử dụng bộ điều khiển 8051 để tạo ra sóng PWM. Bằng cách thay đổi độ rộng của sóng PWM này, mình có thể điều khiển tốc độ của động cơ DC. Trong vi điều khiển 8051, các bộ định thời được sử dụng để tạo ra sóng PWM.

Trong bài này mình sẽ xem cách tạo Tín hiệu PWM bằng cách sử dụng bộ định thời trong 8051 Mocrocontroller và cũng như cách điều khiển tốc độ của động cơ DC sử dụng tín hiệu PWM tthat.

Điều khiển tốc độ động cơ DC bằng PWM sử dụng nguyên tắc mạch vi điều khiển

Trái tim của Project này là Vi điều khiển 8051. Nếu bạn đã làm việc với các biến thể nào của Vi điều khiển 8051, bạn có thể nhớ rằng 8051 không có mạch PWM chuyên dụng để bật Chế độ PWM. Vì vậy, để tạo ra một Tín hiệu PWM, mình đã sử dụng các bộ định thời và chuyển các chân I / O BẬT và TẮT bằng cách sử dụng bộ định thời.

Trong Project này, mình sẽ sử dụng Timer0 trong Vi điều khiển 8051 cùng với Ngắt bộ định thời để tạo ra Tín hiệu PWM.

Làm thế nào để tạo PWM trong Vi điều khiển 8051?

Hầu hết các bộ vi điều khiển hiện đại như AVR (ví dụ như Arduino), ARM, PIC, v.v. đều có phần cứng và chân PWM chuyên dụng để kích hoạt chế độ PWM ngay lập tức. Tuy nhiên, Vi điều khiển 8051 không có quy định này. Vậy, làm thế nào để tạo PWM trong Vi điều khiển 8051?

Để làm được điều này, mình phải sử dụng Bộ định thời và Ngắt trong Vi điều khiển 8051. Timer0 của 8051 được cấu hình ở Mode0. Bằng cách điều chỉnh cẩn thận các mức Cao và Thấp, mình có thể duy trì một khoảng thời gian không đổi của tín hiệu.

Sơ đồ mạch điều khiển tốc độ động cơ DC dựa trên PWM sử dụng vi điều khiển

Điều khiển tốc độ động cơ DC bằng PWM sử dụng vi điều khiển 8051

Các linh kiện mạch

  • Bộ vi điều khiển 8051
  • Tinh thể thạch anh 11,0592 MHz
  • Tụ điện – 33pF x 2, 10µF
  • Điện trở – 1KΩ x 4, 10KΩ x 2
  • Động cơ DC 12V
  • Trình điều khiển động cơ L298N
  • Nút nhấn x 5
  • Gói điện trở kéo lên 1KΩ x 8
  • Cáp nối tiếp
  • Pin hoặc bộ chuyển đổi 12V
  • Kết nối dây

Điều khiển tốc độ động cơ DC dựa trên PWM sử dụng thiết kế mạch vi điều khiển

Mạch bao gồm một Vi điều khiển 8051 (và mạch hỗ trợ của nó liên quan đến bộ dao động và thiết lập lại), Mô-đun điều khiển động cơ L298N, Động cơ DC và một vài nút nhấn.

Một động cơ DC 12V được kết nối với Mô-đun trình điều khiển động cơ L298N tại các Chân OUT1 và OUT2 của nó. Các chân IN1 và IN2 của trình điều khiển động cơ được kết nối với + 5V (VCC) và GND. Chân EN1 của trình điều khiển động cơ được kết nối với Chân P0.0 của Cổng.

Bốn nút đẩy được kết nối với các chân cổng P0.4, P0.5, P0.6 và P0.7.

Nói chung, mình có thể giao diện chuyển mạch sang bộ điều khiển vi mô trong hai cấu hình; một là cấu hình kéo lên và cấu hình kia là cấu hình kéo xuống.

Cấu hình kéo lên : Trong cấu hình kéo lên, chân vi điều khiển được kéo CAO đến LOGIC 1 và nút được kết nối với GND. Khi nhấn nút, chân vi điều khiển nhận LOGIC 0

Cấu hình kéo xuống : Trong cấu hình kéo xuống, chân vi điều khiển được kéo xuống LOGIC 0 và nút được kết nối với VCC. Khi nhấn nút, chân vi điều khiển nhận LOGIC 1.

Trong mạch của mình, mình đang sử dụng cấu hình kéo lên. Vì vậy, mình cần kiểm tra logic 0 để biết liệu nút có được nhấn hay không.

Code

#include<reg51.h>

sbit PWM_Pin = P0^0;
sbit low = P0^4;
sbit medium = P0^5;
sbit high = P0^6;
sbit off = P0^7;

void InitPWM_timer(void);

unsigned char PWM = 0;
unsigned int temp = 0;
char a=1;

int main(void)
{
low=1;
medium=1;
high=1;
off=1;
PWM_Pin=0;

InitPWM_timer();

while(1)
{
if(low==0)
{
PWM=102;
a=0;
}
else if(medium==0)
{
PWM=153;
a=0;
}
else if(high==0)
{
PWM=255;
a=0;
}
else if(off==0)
{
a=1;
PWM_Pin=0;
}
}
}

void InitPWM_timer (void)
{
TMOD &= 0xF0;
TMOD |= 0x01;

TH0 = 0x00;
TL0 = 0x00;

ET0 = 1;
EA = 1;

TR0 = 1;
}

void Timer0_ISR (void) interrupt 1
{
TR0 = 0;

TRUNG TÂM SỬA CHỮA ĐIỆN TỬ QUẢNG BÌNH
MR. XÔ - 0901.679.359 - 80 Võ Thị Sáu, Phường Quảng Thuận, tx Ba Đồn, tỉnh Quảng Bình
Sửa điện tử tại Quảng Bình

if(PWM_Pin==1 && a==0)
{
PWM_Pin = 0;
temp = (255-PWM);
TH0 = 0xFF;
TL0 = 0xFF – temp&0xFF;
}
else if(PWM_Pin==0 && a==0)
{
PWM_Pin = 1;
temp = PWM;
TH0 = 0xFF;
TL0 = 0xFF – temp&0xFF;
}

TF0 = 0;
TR0 = 1;
}

Làm thế nào để vận hành Mạch Điều khiển tốc độ động cơ DC bằng PWM

  1. Kết nối pin 12V hoặc bộ chuyển đổi với bảng phát triển.
  2. Bật nguồn cung cấp.
  3. Ghi tệp hex vào bộ điều khiển 8051 với sự trợ giúp của lập trình viên.
  4. Thực hiện các kết nối cần thiết theo sơ đồ mạch.
  5. Bây giờ, bật nguồn cung cấp và nhấn công tắc 1. Bạn có thể quan sát các nút bắt đầu quay nhưng chỉ ở mức 40% công suất.
  6. Nếu bạn nhấn công tắc 2, động cơ sẽ chạy với tốc độ lớn hơn một nửa (chu kỳ làm việc 60%).
  7. Nhấn công tắc 3 sẽ làm cho động cơ quay ở tốc độ tối đa (100% chu kỳ làm việc).
  8. Để dừng động cơ, nhấn công tắc 4.

mạch thực tế pwm

Ưu điểm

  • Sử dụng phương pháp PWM này, mình có thể tiết kiệm điện năng.

Các ứng dụng

  • Dùng trong các ngành công nghiệp để điều khiển tốc độ của động cơ.
  • Được sử dụng trong trung tâm mua sắm.
  • mình có thể sử dụng khái niệm này để kiểm soát cường độ ánh sáng.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

95 − = 86