TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘIVIỆN ĐIỆN TỬ - VIỄN THÔNG ======o0o====== BÁO CÁO TÌM HIỂU BỘ ĐIỀU TỐC ĐIỆN TỬ ESC VÀ ĐIỀU KHIỂN ĐỘNG CƠ BRUSHLESS DC Sinh viên : Lê Sỹ Cường... Khái niệm
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN ĐIỆN TỬ - VIỄN THÔNG
======o0o======
BÁO CÁO TÌM HIỂU
BỘ ĐIỀU TỐC ĐIỆN TỬ ESC VÀ
ĐIỀU KHIỂN ĐỘNG CƠ BRUSHLESS DC
Sinh viên : Lê Sỹ Cường
Trang 2Hà Nội, 3/2013 MỤC LỤC
MỤC LỤC 2
1 Khái niệm cơ bản về động cơ Brushless DC và bộ điều tần điện tử ESC 4
2 Chế độ hoạt động của ESC 5
2.1 Các chức năng chính 5
2.2 Cài đặt 6
3 Các bước cơ bản để tạo xung PWM 8
4 Tài liệu tham khảo 11
Trang 3PHỤ LỤC HÌNH ẢNH
Hình 1 Động cơ Brushless và bộ điều tốc ESC 3 Hình 2 Các bước lập trình khối PWM 4
Trang 41 Khái niệm cơ bản về động cơ Brushless DC và bộ điều tần điện tử ESC
BrushLess DC (BLDC) là loại động cơ có tốc độ cao, momen lớn, khối lượng nhỏ, có
hiệu suất cao nhưng ít gây ra tiếng ồn thích hợp dùng cho các mô hình máy bay cỡ nhỏ BLDC thực ra không phải động cơ một chiều mà là loại động cơ đồng bộ nam châm vĩnh cửu không chổi than ( hay động cơ xoay chiều ba pha đồng bộ) có yêu cầu cao về năng lượng cung cấp (dòng tiêu thụ 20-30A) Vì vậy, ta không thể sử dụng nguồn điện là pin một chiều để cấp nguồn trực tiếp cho động cơ BLDC được, do đó ta phải dùng thêm bộ
điều tốc điện tử ESC (Electronic Speed Controller) có chức năng thay đổi dòng điện cấp
và nhận tín hiệu điều biến độ rộng xung PWM để điều khiển động cơ BLDC
Hình 1 Động cơ Brushless và bộ điều tốc ESC
ESC có ba dây đầu vào trong đó có hai dây nguồn cấp từ pin và dây còn lại là tín hiệu điều khiển từ mạch trung tâm thường là tín hiệu PWM Xung PWM có chu kì khá lớn từ 16-25ms, trong đó tín hiệu chỉ có ý nghĩa trong khoảng 2ms đầu tiên, phần còn lại dùng
để đồng bộ Tín hiệu mức cao mức 1ms ứng với mức tốc độ thấp nhất dùng để kích thích động cơ hoạt động, mức 2ms ứng với tốc độ cao nhất Do vậy, tần số đáp ứng của ESC dùng PWM thường khá chậm với khoảng 50Hz Và đầu ra của ESC nối với động cơ cũng
có ba dây tương tự như đầu vào
Trang 52 Chế độ hoạt động của ESC
Trong phần này, em xin được giới thiệu cụ thể về một loại ESC là ESC SkyWalker 40A
2.1 Các chức năng chính
Các chức năng được bôi đen là được mặc định sẵn
Brake Setting : Enable / Disable
Enable : Khi ngắt ga sẽ phanh động cơ không cho cánh quạt quay Dùng cho máy bay cánh bằng hoặc tàu lượn
Disable : Tắt chức năng, dùng cho trực thăng
Battery Type : Lipo / NiMH
Low Voltage Protection Mode : Soft Cut – Off / Cut - Off
Chế độ bảo vệ pin khi điện áp đến mức ngưỡng tối thiểu, ngăn chặn xả pin quá điện áp thấp nhất cho phép làm hỏng pin Khi điện áp pin xuống thấp, chế độ này
sẽ hoạt động
Soft Cut – Off : ga sẽ giảm từ từ
Cut – Off : ESC ngắt hẳn điện áp cấp cho động cơ
Low Voltage Protection Threshold : Low / Medium / High
Chế độ này dùng để thiết lập mức điện áp ngưỡng thấp nhất dùng bảo vệ pin theo chế độ Low Voltage Protection :
Lipo : Ba mức trên ứng với 2.85V / 3.15V / 3.3V
VD : Đối với pin lipo 3S, khi thiết lập mức medium thì điện áp ngắt sẽ là : 3*3.15V = 9.45V
NiMH : 0% / 50% / 65%
VD : Đối với pin NiMH 6 cell đã sạc đầy và thiết lập medium thì điện áp cắt công suất là : 1.44*6*50% = 4.32V
Start Mode : Normal / Soft / Super – Soft (300ms / 1.5s / 3s)
Normal : Dùng cho máy bay cánh bằng
Soft / Super – Soft : Dùng cho trực thăng, sẽ khởi động từ từ động cơ
Timing : Low / Medium / High
Trang 6Thông thường, chế độ Low sẽ thích hợp cho mọi động cơ, còn chế độ High dùng khi cần tốc độc cao
2.2 Cài đặt
Chế độ căn chỉnh cần throttle :
1) Bật máy phát ( Tx), đặt cần throttle ở vị trí cao nhất
2) Bật điện ESC, chờ khoảng 2s
3) Khi nghe tiếng “Bip – Bip” báo hiệu vị trí cao nhất của cần throttle đã xác định
4) Kéo cần throttle xuống mức thấp nhất, có một loạt tiếng “Bip-” tương ứng với
số cell của pin
5) Một tiếng “Bip ” dài báo hiệu vị trí thấp nhất của cần throttle đã xác định, ESC sẵn sàng hoạt động
Chế độ cài đặt :
1) Vào chế độ cài đặt :
=> Bước 2)
Bât máy phát (Tx), đặt throttle ở vị trí cao nhất, bật điện ESC
Chờ 2s, động cơ kêu “Bip – Bip”
Chờ tiếp 5s, nhạc hiệu “56712” báo hiệu chế độ cài đặt đã mở
2) Chọn mục cài đặt :
=> Bước 3) | Bước 4) (Thoát)
Sau khi chế độ cài đặt đã mở, ESC sẽ dùng âm thanh để báo các chức năng theo thứ tự nhất định như bên dưới, nếu gạt cần throttle xuống trong vòng 3s là
đã chọn chế độ :
“Bip – ” Phanh
“Bip – Bip” Kiểu pin
“Bip – Bip – Bip” Chế độ Cutoff
Trang 7 “Bip – Bip – Bip – Bip” Chế độ Cutoff threshold
“Bip -” Chế độ khởi động
“Bip - Bip” Timing
“Bip - Bip – Bip –” Thiết lập theo mặc định
“Bip - Bip -” Thoát
3) Thiết lập giá trị cho mục cụ thể :
=> Bước 2)
=> Bước 4)
Nếu đã chọn một trong các chế độ cài đặt ở trên ta thiết lập các chế độ theo bảng dưới, nếu có báo hiệu “1515” thì giá trị đã được thiết lập và lưu :
Bip Bip - Bip Bip – Bip - Bip
4) Chế độ thoát :
Trong bước 3, nếu báo hiệu “1515” thì gạt cần throttle xuống là chọn thoát
Trong bước 2, sau tiếng “Bip - Bip -” gạt cần throttle thì thoát
Trang 83 Các bước cơ bản để tạo xung PWM
Trong báo cáo này, em xin nêu cơ bản nhất các bước lập trình vi điều khiển LM3S811 trên KIT EK-LM3S811 xuất xung PWM để thực hiện điều khiển động cơ Brushless DC (BLDC) hoạt động VĐK LM3S811 có hai phương pháp tạo xung PWM là dùng khối TIMER và khối PWM, phần dưới đây em sẽ trình bày cách dùng khối PWM
Tín hiệu PWM cung cấp cho ESC là PWM 50Hz, và để tùy chỉnh tốc độ quay của động cơ thì cần thay đổi độ rộng xung PWM trong khoảng từ 1-2ms Để sử dụng khối
PWM, ta phải khai báo thư viện pwm.h Sau đó, lần lượt làm theo các bước sau:
Hình 2 Các bước lập trình khối PWM
Trang 91) Thiết lập tần số làm việc đưa vào bộ PWM :
SysCtlPWMClockSet(SYSCTL_PWMDIV_ n1 );
n1 = {1, 2, 4, 16, 32, 64} : tần số đưa vào bộ PWM là thương của clock hệ thống với n1
2) Khai báo sử dụng khối ngoại vi :
SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIO p );
p = {B , D, E} : Chọn port PWM
3) Thiết lập các chân xuất tín hiệu PWM :
GPIOPinTypePWM(GPIO_PORT p _BASE, GPIO_PIN_ n2 );
p = {B, D, E} : Chọn port để sử dụng chức năng PWM
n2 = {0, 1, 2, 3, 4, 5} : Chọn số thứ tự chân tín hiệu
4) Thiết lập các chế độ hoạt động cho khối ngoại vi PWM :
PWMGenConfigure(PWM_BASE,PWM_GEN_ g ,PWM_GEN_MODE_DOW
N | PWM_GEN_MODE_NO_SYNC);
g = {0, 1, 2}
PWM_GEN_MODE_DOWN : chế độ đếm xuống, thường hay được sử dụng Ngoài ra, còn có chế độ PWM_GEN_MODE_UP_DOWN
PWM_GEN_MODE_NO_SYNC : chế độ không đồng bộ
5) Tạo tín hiệu tần số 50Hz :
Cách 1 :
Khai báo một biến kiểu unsigned long lưu giá trị độ rộng xung 50Hz :
ulPeriod = SysCtlClockGet()/50;
Với hàm SysCtlClockGet() trả lại độ rộng xung 1Hz.
Thiết lập xung 50Hz :
Trang 10PWMGenPeriodSet(PWM_BASE, PWM_GEN_ g , ulPeriod);
Cách 2 :
PWMGenPeriodSet(PWM_BASE, PWM_GEN_ g , n3 );
Với n được tính theo công thức sau :
n3 =
VD: Tần số bộ PWM là 6MHz thì giá trị n3 tương ứng là:
N3 = = 120000
6) Điều chỉnh xung có độ rộng tùy chỉnh để điều khiển tốc độ động cơ :
Cách 1 : (Tương ứng cách 1 - bước 5)
PWMPulseWidthSet(PWM_BASE, PWM_OUT_ n2 , ulPeriod/20);
Xuất ra xung có độ rộng 1ms Vì xung 50Hz có độ rộng 20ms; nên xung 1ms sẽ có
độ rộng ulPeriod/20
Cách 2 : (Cách 2 – bước 5)
PWMPulseWidthSet(PWM_BASE,PWM_OUT_ n2 ,PWMGenPeriodGet(PW M_BASE,PWM_GEN_ g )/20);
7) Xuất xung PWM :
PWMOutputState(PWM_BASE, PWM_OUT_ n2 _BIT, true);
PWMGenEnable(PWM_BASE, PWM_GEN_ g );
Trang 114 Tài liệu tham khảo
- Tìm tài liệu trên Google từ khóa : Manual of Brushless Motor Speed Controller
http://xommohinh.com/dong-co-servo-esc-gyro/2095-huong-dan-su-dung-dieu-toc-dien.html
- Code mẫu có trong StellarisWare.
- Các tài liệu đính kèm trong thư mục