Điều Khiển Tốc độ động Cơ Một Chiều Bằng PWM - Bach Khoa Tech

Biến tần, bộ chuyển đổi Switched-mode power supply (SMPS), bộ điều khiển tốc độ, … đều có điểm chung: Là bao gồm nhiều công tắc điện tử, các công tắc này là các thiết bị điện tử công suất như MOSFET, insulated-gate bipolar transistor (IGBT), TRIAC v.v …

  • Để điều khiển các van công suất điện tử này, chúng ta thường sử dụng tín hiệu PWM (điều chế độ rộng xung PWM).
  • Ngoài ra, tín hiệu PWM cũng được sử dụng để điều khiển động cơ servo, tốc độ động cơ một chiều.
  • Cũng cho các nhiệm vụ đơn giản khác như điều khiển độ sáng của đèn LED (light-emitting diode).

Trong bài viết này, mời các bạn cùng Bachkhoatech tìm hiểu:

  1. PWM là gì?
  2. Cách điều khiển tốc độ động cơ một chiều bằng PWM?
  3. Cuối cùng là một số vi dụ về điều khiển động cơ một chiều sử dụng: 8051, arduino.

Xung PWM là gì?

PWM là một loại tín hiệu ở dạng một xung đơn, sóng vuông. Tức là, tín hiệu xung PWM sẽ ở hai mức cao hoặc thấp. Ví dụ, chúng ta hãy xem xét tín hiệu 5V PWM, trong trường hợp này tín hiệu PWM là 5V (cao) hoặc nối đất 0V (thấp).

Điều chế độ rộng xung PWM là gì?

Điều chế độ rộng xung PWM là phương pháp điều chỉnh điện áp đầu ra, theo sự thay đổi độ rộng xung vuông. Khiến điện áp thay đổi. Xung PWM được chuyển đổi có cùng một tần số và chỉ khác nhau về độ rộng của mặt dương. Phương pháp PWM chủ yếu được sử dụng cho các ứng dụng điều khiển động cơ một chiều motor DC. Phương pháp này giúp điều chỉnh tốc độ động cơ và ổn định tốc độ động cơ. Khác với các động cơ điện xoay chiều hay động cơ AC. Điều khiển tốc độ bằng phương pháp thay đổi tần số nguồn điện cấp. Thông thường trong công nghiệp sử dụng các bộ biến tần.

Điều khiển tốc độ động cơ một chiều bằng PWM, là phương pháp điều chế độ rông xung PWM, để thay đổi giá trị điện áp trung bình. Cung cấp điện áp cho động cơ, được kiểm soát bằng cách thay đổi việc đóng cắt giữa nguồn và động cơ với một tốc độ rất nhanh (tần số xung cỡ khoảng một vài kHZ). Các bạn xem video dưới đây, để hiểu kỹ hơn.

Như vậy, giá trị điện áp mà chúng ta đo được từ 0-12V (xem hình bên dưới) chính là giá trị điện áp trung bình Utb (theo công thức 1). Bằng cách thay đổi thời gian ON-OFF trong một chu kỳ mà ta có giá trị điện áp trung bình khác nhau .

Kết luận:

Vậy, điều khiển tốc độ động cơ một chiều bằng PWM, là phương pháp: Thay vì điều khiển điện áp liên tục, ta điều khiển điện áp bằng các xung có tần số cố định, nhưng có độ rộng xung thay đổi. Khi đó giá trị trung bình điện áp cũng thay đổi, để điều khiển được tốc độ động cơ một chiều.

Ta có công thức tính điện áp trung bình:

Utb=Uđm*Thi/T               (công thức 1)

Trong đó:

  • Utb: Điện áp trung bình
  • Thi: Thời gian xung mức cao
  • T : Chu kỳ xung
  • U­đm: Điện áp cung cấp cho động cơ.

Ứng dụng

Phương pháp điều chế độ rộng xung PWM để điều khiển tốc độ động cơ một chiều (DC motor). Vi dụ: Dùng vi điều khiển IC 89C51 (thộc dòng vi điều khiển 8051) để điều khiển (xem sơ đồ nguyên lý bên dưới).

Động cơ một chiều là gì?

Đối tượng điều khiển là động cơ điện một chiều (DC motor), với đầu vào là điện áp đặt vào phần ứng, tín hiệu ra là góc quay và vận tốc quay trên trục động cơ. Kích từ cho động cơ là kích từ độc lập (nam châm vĩnh cữu) có từ thông =const.

Các thông số động cơ:

  • J: là phụ tải quán tính
  • B: Hệ số ma sát
  • L: Điện cảm phần ứng
  • Em Sức điện động của động cơ
  • Km Hệ số tỷ lệ mômen
  • Ke: Hệ số tỷ lệ với sức phản điện động
  • Em=ke. với ke=const.

  • Phụ tải có quán tính J được động cơ kéo trên bề mặt có hệ số ma sát B;
  • Phương trình cân bằng mômen điện áp phần ứng;
  • Phương trình cân bằng mô men (theo định luật 2 Niwton);
  • Hàm truyền laplace.

(Sơ đồ nguyên lý điều khiển tốc độ động cơ một chiều bằng PWM, dùng vi điều khiển 89C51)

Video hướng dẫn

Code 89c51

int dem=0; int phantramxung=50; //do rong xung de mac dinh = 50% //Ham phuc vu ngat ngoai 0 void ngat_int0(void) interrupt 0 { if(phantramxung<100) phantramxung+=5; } //Ham phuc vu ngat ngoai 1 void ngat_int1(void) interrupt 2 { if(phantramxung>0) phantramxung-=5; } //Ham phuc vu ngat timer 0 void ngat_t0(void) interrupt 1 { dem++; if(dem<phantramxung) PWM=1;//P3_0=1 else { PWM=0;//P3_0=0 if(dem==100) dem=0; }

  TR0=1;//Khoi dong lai timer 0 }

/*====== Ham chinh ==========*/

void main(){

//Khai bao ngat INT0 EX0=1;//Cho phep ngat ngoai 0 IT0=1;//Cho phep ngat theo suon am //Khai bao ngat INT1 EX1=1;//Cho phep ngat ngoai 0 IT1=1;//Cho phep ngat theo suon am //Khai bao ngat timer 0 TMOD=0x02;//0000 0020: Che do 2, 8 bit, tu dong TH0=0xCE;//Ngat 50us TR0=1; //Start timer 0 //Cho phep ngat toan cuc EA=1; while(1) { if(P1_0==0) on=1; //bat dong co else on=0; //tat dong co if (P1_7==0) thuan=1;//DK dong co theo chieu thuan else thuan=0; //Dao chieu dong co } }

Một số câu hỏi ôn tập

  • Vẽ sơ đồ cấu trúc của 8051/ Sơ đồ khối của 8051, mô tả ngắn gọn.
  • Chức năng của timer/counter,
  • Em hãy trình bày các thanh ghi điều khiển timer/counter?
  • Thiết kế hàm trễ, cụ thể như sau, vẽ lưu đồ thuật toán?
VD1 VD 2 VD 3 VD 4 VD 5 VD 6 VD 7 VD 8
Dùng Timer0 Dùng Timer1 Dùng Timer0 Dùng Timer1 Dùng Timer0 Dùng Timer1 Dùng Timer0 Dùng Timer1
Trễ 500us Trễ 1500us Trễ 2000us Trễ 2500us Trễ 3000us Trễ 3500us Trễ 4500us Trễ 5000us
  • 8051 có bao nhiều loại ngắt? Em hãy trình bày các thanh ghi điều khiển ngắt?
  • Trong bài toán: Đếm số lần nhấn một button, Sử dụng ngắt ngoài (INT0/INT1), Hiển thị kế quả lên LED 7 thanh. EM hãy vẽ lưu đồ thuật toán của chương trình?
  • EM hãy vẽ lưu đồ thuật toán của chương trình đo tốc độ động cơ 1 chiều, dùng encoder?
  • Timer/counter:
    • Dùng Timer 0, chế độ 0; Timer 1: chế độ 1 thì TMOD =……………….
    • Dùng Timer 0, chế độ 3; Timer 1: chế độ 2 thì TMOD =……………….
    • Dùng Timer 0, chế độ 2; Timer 1: chế độ 0 thì TMOD =……………….
    • Dùng Counter 0, chế độ 1; Timer 1: chế độ 2 thì TMOD =……………….
    • Dùng Counter0, chế độ 2; Timer 1: chế độ 2 thì TMOD =……………….
    • Dùng Counter0, chế độ 3; Timer 1: chế độ 0 thì TMOD =……………….
    • Dùng Counter 0, chế độ 2; Counter 1: chế độ 1 thì TMOD =……………….
    • Dùng Counter0, chế độ 2; Timer 1: chế độ 1 thì TMOD =……………….
    • Dùng Counter0, chế độ 3; Counter1: chế độ 0 thì TMOD =……………….
  • Thiết kế hàm trễ: 550us, sử dụng Timer1, chế độ 1
  • Ngắt:
    • Các bước xây dựng ngắt ngoài 1
    • Trong bài toán: Đếm số lần nhấn nút (button), hiển thị kế quả lên LCD (16×2), sử dụng ngắt ngoài 1, nếu Dem> 5 thì Đèn (P3_0) sáng.
    • Viết hàm phụ vụ ngắt ngoài 1:
    • Vẽ lưu đồ thuật toán của chương trình?

Liên hệ với chúng tôi để được giải đáp các thắc mắc!

Trận trọng!

By Bachkhoatech!

Bạn có thể tim hiểu thêm về chung tôi qua các kếnh sau:

Fanpage facebook

Video youtube

Từ khóa » Tốc độ Dc Là Gì