1 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP lu ĐỖ QUỐC VƯƠNG an n va gh tn to NGHIÊN CỨU THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ p ie ĐỘNG CƠ ĐỒNG BỘ NAM CHÂM VĨNH CỬU d oa nl w lu nf va an LUẬN VĂN THẠC SỸ KHOA HỌC KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA z at nh oi lm ul z m co l gm @ an Lu n va Thái Nguyên - Năm 2019 ac th si ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP lu ĐỖ QUỐC VƯƠNG an n va ĐỘNG CƠ ĐỒNG BỘ NAM CHÂM VĨNH CỬU p ie gh tn to NGHIÊN CỨU THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN TỐC ĐỘ d oa nl w Chuyên ngành: Kỹ thuật điều khiển Tự động hóa lu nf va an LUẬN VĂN THẠC SỸ KHOA HỌC z at nh oi lm ul KỸ THUẬT ĐIỀU KHIỂN VÀ TỰ ĐỘNG HÓA NGƯỜI HƯỚNG DẪN KHOA HỌC z gm @ m co l TS NGUYỄN THỊ MAI HƯƠNG an Lu n va Thái Nguyên – Năm 2019 ac th si i LỜI CAM ĐOAN Tên là: Đỗ Quốc Vương Sinh ngày 09 tháng 03 năm 1979 Học viên lớp cao học khoá 20 chuyên ngành Kỹ thuật điều khiển tự động hóa - Trường đại học kỹ thuật Cơng nghiệp Thái Nguyên Hiện công tác tại: Trung tâm kiểm định chất lượng cơng trình xây dựng Cao Bằng - Sở xây dựng Cao Bằng Tôi xin cam đoan luận văn “Nghiên cứu thiết kế hệ thống điều khiển lu an tốc độ động đồng nam châm vĩnh cửu” cô giáo TS Nguyễn Thị n va Mai Hương hướng dẫn nghiên cứu với tất tài liệu tham gh tn to khảo có nguồn gốc, xuất xứ rõ ràng p ie Thái Nguyên, ngày…….tháng … năm 2019 d oa nl w Học viên nf va an lu Đỗ Quốc Vương z at nh oi lm ul z m co l gm @ an Lu n va ac th si ii LỜI CẢM ƠN Sau thời gian nghiên cứu, làm việc khẩn trương hướng dẫn tận tình giúp đỡ cô giáo TS Nguyễn Thị Mai Hương, luận văn với đề tài “Nghiên cứu thiết kế hệ thống điều khiển tốc độ động đồng nam châm vĩnh cửu” hoàn thành Tác giả xin bày tỏ lịng biết ơn sâu sắc tới: Cơ giáo hướng dẫn TS Nguyễn Thị Mai Hương tận tình dẫn, giúp đỡ tác giả hoàn thành luận văn Các thầy cô giáo Trường Đại học kỹ lu an thuật công nghiệp Thái Nguyên, số đồng nghiệp, quan tâm động n va viên, giúp đỡ tác giả suốt q trình học tập để hồn thành luận văn tn to Mặc dù cố gắng hết sức, nhiên điều kiện thời gian kinh gh nghiệm thực tế thân cịn ít, đề tài tránh khỏi thiếu p ie sót Vì vậy, tác giả mong nhận đóng góp ý kiến thầy giáo, w giáo bạn bè đồng nghiệp cho luận văn tơi hồn thiện oa nl Tơi xin chân thành cảm ơn! d Thái Nguyên, ngày……tháng……năm 2019 lu nf va an Tác giả luận văn z at nh oi lm ul Đỗ Quốc Vương z m co l gm @ an Lu n va ac th si iii MỤC LỤC MỞ ĐẦU Chương 1: TỔNG QUAN 1.1 Giới thiệu động đồng nam châm vĩnh cửu 1.1.1.Các loại PMSM 1.1.2 Động đồng IPM 1.1.3 Một số phương pháp điều khiển PMSM 11 1.2 Phương pháp điều khiển vector PMSM 13 1.2.1 Công thức chuyển đổi Clarke 13 lu an 1.2.2 Công thức chuyển đổi Park 15 n va 1.3 Phân tích hoạt động PMSM 16 1.3.2 Giới hạn dòng điện điện áp 17 1.3.3 Các đặc tính PMSM 19 p ie gh tn to 1.3.1 Mơ hình tốn học PMSM 16 w 1.3.4 Đặc tính cơng suất - tốc độ 21 oa nl 1.4 Kết luận chương 24 d Chương 2: ĐIỀU KHIỂN ĐỘNG CƠ ĐỒNG BỘ NAM CHÂM VĨNH CỬU 26 lu nf va an 2.1 Cấu hình điều khiển cho PMSM 26 2.2 Điều chế độ rộng xung cho nghịch lưu ba pha 27 lm ul 2.2.1 Mơ hình hóa mạch nghịch lưu nguồn áp ba pha 27 z at nh oi 2.2.2 Phương pháp điều chế vector không gian 28 2.3 Thiết kế điều khiển dòng điện tốc độ 33 z 2.3.1 Thiết kế điều khiển dòng điện kỹ thuật hàm chuẩn bậc hai33 gm @ 2.3.2 Thiết kế mạch vòng tốc độ theo phương pháp tối ưu đối xứng 38 l 2.3.3 Mô kết 39 m co 2.4 Kết luận chương 42 an Lu Chương 3: THIẾT KẾ MẠCH NGUYÊN LÝ 44 3.1 Mạch công suất 44 n va ac th si iv 3.1.1 Module FSBF10CH60B 44 3.1.2 Mạch lái 47 3.1.3 Mạch bảo vệ dòng 48 3.1.4 Mạch phản hồi điện áp chiều DC link điện áp pha 49 3.1.5 Mạch bảo vệ thấp điện áp 50 3.1.6 Mạch điện trở hãm 51 3.1.7 Mạch nguồn nuôi 52 3.1.8 Công suất động 53 3.1.9 Tính tốn tổn hao 53 lu an 3.2 Mạch điều khiển 56 n va Chương 4: THIẾT KẾ MẠCH IN VÀ PHẦN MỀM 58 4.2 Phần mềm 60 4.2.1 Thư viện Firmware ngôn ngữ C viết cho STM32F103ZET6 60 p ie gh tn to 4.1 Mô tả hệ thống phần cứng 58 w 4.2.2 Tổ chức quản lý nội dung file thuộc lớp dùng chung 60 oa nl 4.2.3 Tổ chức nội dung file nguồn lớp dẫn xuất (derived classes)68 d 4.2.4 Thư viện điều khiển động liên quan đến xử lý ngắt 76 lu nf va an 4.2.5 Danh mục lớp thư viện Firmware FOC 77 4.3 Kết luận chung: 78 lm ul 4.4 Kiến nghị: 78 z at nh oi TÀI LIỆU THAM KHẢO 79 z m co l gm @ an Lu n va ac th si MỞ ĐẦU Tính cấp thiết đề tài Hiện động đồng sử dụng nhiều lĩnh vực điều khiển cơng nghiệp có đặc điểm vượt trội hiệu suất , cos cao, tốc độ phụ thuộc vào điện áp Tuy nhiên việc điều khiển động đồng phức tạp tính phi tuyến mạnh, làm cho việc ứng dụng động đồng vào thực tế khó khăn Đối tượng nghiên cứu Động đồng nam châm vĩnh cửu lu Phạm vi nghiên cứu an va - Mơ hình hóa mơ động đồng nam châm vĩnh cửu n - Các phương pháp điều khiển tốc độ động đồng nam châm vĩnh cửu to - Thiết kế phần cứng phần mềm nhúng để điều khiển tốc độ động ie gh tn - Nghiên cứu phương pháp điều khiển nâng cao cho mạch vòng dòng điện p đồng nam châm vĩnh cửu theo phương pháp tựa theo từ thông rotor nl w Mục tiêu nghiên cứu đề tài d oa - Tiếp tục nghiên cứu hồn thiện thuật tốn điều khiển cho động an lu đồng nam châm vĩnh cửu nghiệm nf va - Kiểm nghiệm thuật toán điều khiển thông qua mô thực lm ul - Tạo sở khoa học để nghiên cứu cho thuật toán điều khiển z at nh oi nâng cao Phương pháp nghiên cứu z Sử dụng kiến thức bản, sở để xây dựng mơ hình tốn @ gm thuật tốn điều khiển hệ thống co l - Nghiên cứu lý thuyết để xây dựng thuật tốn; m - Tiến hành mơ mơ hình hệ thống Đánh giá, so sánh an Lu kết lý thuyết, kết mô thực nghiệm n va ac th si Kết cấu luận văn: CHƯƠNNG 1: TỔNG QUAN Giới thiệu động đồng nam châm vĩnh cửu 1.1 1.1.1 Các loại PMSM 1.1.2 Động đồng IPM 1.1.3 Một số phương pháp điều khiển PMSM Phương pháp điều khiển vector PMSM 1.2 1.2.1 Công thức chuyển đổi Clarke 1.2.2 Công thức chuyển đổi Park lu an 1.3 Phân tích hoạt động PMSM n va 1.3.1 Mơ hình tốn học PMSM tn to 1.3.2 Giới hạn dòng điện điện áp gh 1.3.3 Các đặc tính PMSM p ie 1.3.4 Đặc tính công suất – tốc độ w 1.4 Kết luận chương d CỬU oa nl CHƯƠNG 2: ĐIỀU KHIỂN ĐỘNG CƠ ĐỒNG BỘ NAM CHÂM VĨNH lu nf va an 2.1 Cấu hình điều khiển cho PMSM 2.2 Điều chế độ rộng xung cho nghịch lưu ba pha lm ul 2.2.1 Mơ hình hóa mạch nghich lưu nguồn áp pha z at nh oi 2.2.2 Phương pháp điều chế vector không gian 2.3 Thiết kế điều khiển dòng điện tốc độ z 2.3.1 Thiết kế điều khiển dòng điện kỹ thuật hàm chuẩn bậc hai an Lu 3.1 Thiết kế mạch lực m CHƯƠNG THIẾT KẾ TOÀN BỘ HỆ THỐNG co 2.4 Kết luận chương l 2.3.3 Mô kết gm @ 2.3.2 Thiết kế mạch vòng tốc độ theo phương pháp tối ưu đối xứng n va ac th si 3.2 Thiết kế mạch điều khiển 3.3 Xây dựng phần mềm nhúng CHƯƠNG MÔ PHỎNG VÀ CHẠY THỰC NGHIỆM TRÊN THIẾT BỊ CHƯƠNG KẾT LUẬN VÀ KIẾN NGHỊ lu an n va p ie gh tn to w oa nl Chương 1: TỔNG QUAN d 1.1 Giới thiệu động đồng nam châm vĩnh cửu lu nf va an Đối với động xoay chiều kích thích nam châm vĩnh cửu, nam châm vĩnh cửu thay cho cuộn dây kích từ vành trượt cổ góp dẫn điện lm ul động đồng kích từ cuộn dây (Wound Field z at nh oi Synchronous Machine – WFSM), động xoay chiều nam châm vĩnh cửu khơng có cấu tạo lồng sóc rotor động khơng đồng z (Induction Motor – IM) Nhờ đặc điểm đó, PMSM có số ưu điểm gm @ bật so với loại động khác l Do khơng có cuộn dây kích từ bên rotor, nên động xoay m co chiều nam châm vĩnh cửu có khối lượng nhỏ mơmen qn tính thấp, điều an Lu giúp cho động đáp ứng mơmen nhanh Thêm vào đó, cường độ từ trường động lớn thể tích động giảm n va ac th si xuống Hơn nữa, khơng cần lượng để từ hóa động khơng có tổn thất đồng rotor, nên PMSM có hiệu suất cao IM WFSM Điều giúp giảm chi phí kích thước biến tần dùng cho PMSM Nhờ khơng có tổn thất đồng rotor, nên rotor PMSM khơng tự sinh nhiệt mà cịn nhận nhiệt từ phía stator, giúp q trình tản nhiệt động tốt Đặc biệt, số PMSM có lợi vượt trội thêm mômen từ trở dải điều khiển giảm từ thơng, vậy, chúng thiết kế để có dải cơng suất không đổi rộng Các kết dẫn đến PMSM có mật độ cơng suất cao loại động khác Nói cách khác, với cơng lu an suất u cầu PMSM cần không gian hiệu dụng nhỏ so với loại n va động khác tn to Về nguyên lý hoạt động, nối nguồn ba pha vào cuộn dây stator gh PMSM, dòng điện chạy hệ thống ba cuộn dây quấn stator sinh p ie từ trường quay với tốc độ: nl w (1.1) d oa với fe tần số dòng điện stator, Pn số đôi cực động đồng an lu Từ trường tương tác với từ trường rotor tạo mômen kéo rotor quay nf va với tốc độ tốc độ từ trường quay Như vậy, từ trường lm ul động gồm hai thành phần từ trường rotor từ trường stator Từ trường stator dòng điện stator tạo thành, từ trường rotor nam châm z at nh oi vĩnh cửu gắn rotor tạo thành 1.1.1 Các loại PMSM z m co l gm @ an Lu n va ac th si 65 MCLibraryConf.h Nếu MC_CLASS_DYNAMIC định nghĩa định vị RAM động cho phép đối tượng tạo thông qua thủ tục thư viện cấp phát nhờ động tiêu chuẩn, làm cho việc sử dụng nhớ RAM cách có hiệu Phương pháp khơng tương thích với quy định MISRA C 2004 có rủi ro tiềm tàng việc rò rỉ hư hỏng nhớ cấp phát nhớ động Ngược lại, việc cấp phát nhớ động bị cấm người sử dụng loại bỏ hiệu lực (comment) định nghĩa MC_CLASS_DYNAMIC Trong trường hợp này, mảng đối tượng cấp phát trước tĩnh nhớ lu an RAM Danh sách đối tượng này, vốn dành cho lớp, n va định nghĩa MCLibraryConf.h cho chương trình điều khiển động tn to đơn điều khiển động kép (MAX_EXMP_NUM tương tự) Để tránh gh cho trình dịch để dành nhớ RAM cho đối tượng không p ie khởi tạo ta sửa lại kích thước cho phù hợp với ứng dụng cuối w Đo đếm kích thước chung cho phép phân phối mật oa nl STM32 FOC PMSM SDK Trong ứng dụng Web khơng có đối d tượng ngoại lệ đưa người sử dụng Chỉ có ngoại lệ sau lu nf va an cho phép: không đối tượng PID, không đối tượng PI không đối tượng đầu số lm ul /** ***** z * @file ExampleClass.c z at nh oi ************************************************************** @ * @author IMS Systems Lab and Technical Marketing - MC Team * @brief This file contains interface of Example class m co l gm * @version V0.0.1 ***** an Lu ************************************************************** n va ac th si 66 */ #include "ExampleClass.h" #include "ExamplePrivate.h" #include "MCLibraryConf.h" #include "MC_type.h" #ifdef MC_CLASS_DYNAMIC #include "stdlib.h" /* Used for dynamic allocation */ #else _CEXMP_t EXMPpool[MAX_EXMP_NUM]; lu an unsigned char EXMP_Allocated = 0u; n va #endif * @brief Creates an object of the class Example gh tn to /** p ie * @param pExampleParams pointer to an Example parameters structure * @retval CEXMP new instance of Example object w oa nl */ d CEXMP EXMP_NewObject(pExampleParams_t pExampleParams) lu _CEXMP _oEXMP; nf va an { lm ul #ifdef MC_CLASS_DYNAMIC #else z at nh oi _oEXMP = (_CEXMP)calloc(1u,sizeof(_CEXMP_t)); z if (EXMP_Allocated < MAX_EXMP_NUM) @ { gm an Lu { m else co } l _oEXMP = &EXMPpool[EXMP_Allocated++]; n va ac th si 67 _oEXMP = MC_NULL; } #endif _oEXMP->pParams_str = (pParams_t)pExampleParams; return ((CEXMP)_oEXMP); } /** * @brief Example of public method of the class Example lu an * @param this related object of class CEXMP n va * @retval none tn to */ gh void EXMP_Func(CEXMP this) p ie { ((_CEXMP)this)->Vars_str.base_vars = 0u; w d oa nl } nf va an lu /** * @brief Example of virtual method of the class Example implemented lm ul by derived * class * @retval none m an Lu } co ((_CEXMP)this)->Methods_str.pVFunc(this); l gm { @ void EXMP_VFunc(CEXMP this) z */ z at nh oi * @param this related object of class CEXMP n va ac th si 68 4.2.3 Tổ chức nội dung file nguồn lớp dẫn xuất (derived classes) Để hồn thiện hình ảnh file nguồn lớp dẫn xuất, mẫu file đưa cho lớp dẫn xuất bắt nguồn từ class sở Example Derived_ExampleClass.h File lưu thư mục giao tiếp \MC, header chung chứa giao tiếp cho lớp Derived_Example Như ExampleClass.h, file header chứa thứ cần thiết để làm việc với lớp liên quan File bao gồm method đặc trưng lớp dẫn xuất, định nghĩa chung lu an kiểu lớp dẫn xuất cấu trúc kiểu chữa tham số cần thiết để tạo đối n va tượng lớp dẫn xuất tn to Ngoài cần lớp chứa định nghĩa gh kiểu định cần thiết cho việc sử dụng method p ie Tạo ví dụ đối tượng lớp dẫn xuất yêu cầu trỏ tới w sở cấu trúc tham số lớp dẫn xuất (xem thêm d oa nl Derived_ExampleClass.c) nf va an lu /** ************************************************************** lm ul ***** z at nh oi * @file Derived_ExampleClass.h * @author IMS Systems Lab and Technical Marketing - MC Team z * @version V0.0.1 @ * @brief This file contains interface of Derived class gm an Lu #include "MC_type.h" m */ co ***** l ************************************************************** n va ac th si 69 /** * @brief Public Derived class definition */ typedef struct CDRV_EXMP_t *CDRV_EXMP; /** * @brief Derived class parameters definition */ typedef const struct { lu an unsigned int param1; /*!< Example of parameter */ n va }DerivedParams_t, *pDerivedParams_t; tn to gh /** p ie * @brief Creates an object of the class Derived * @param pExampleParams pointer to an Example parameters structure w oa nl * @param pDerivedParams pointer to a Derived parameters structure d * @retval CDRV_EXMP new instance of Derived object nf va an lu */ CDRV_EXMP DRV_NewObject(pExampleParams_t pExampleParams, lm ul pDerivedParams_t pDerivedParams); z at nh oi /** * @brief Example of public method of the class Derived z * @param this related object of class CDRV_EXMP m co l void DRV_Func(CDRV_EXMP this); gm */ @ * @retval none an Lu Derived_ExamplePrivate.h n va ac th si 70 File lưu thư mục \MC library\inc (chỉ có phiên bí mật STM32 FOC PMSM SDK), file header lớp riêng chứa định nghĩa riêng cần thiết cho việc thực thi lớp dẫn xuất Nó bao gồm định nghĩa riêng kiểu cấu trúc liệu đối tượng (các biến đối tượng phần tử cấu trúc này), định nghĩa lại riêng lớp tham số định nghĩa lớp riêng Không giống file header định nghĩa lớp riêng có sở liên quan, kiểu cấu trúc lớp dẫn xuất không chứa trỏ tới lớp dẫn xuất lẫn vật chứa (containers) phương pháp ảo Điều hạn chế mức lu an độ thừa kế tới mức n va /** tn to ************************************************************** gh * p ie * @file Derived_ExamplePrivate.h * @author IMS Systems Lab and Technical Marketing - MC Team w oa nl * @version V0.0.1 d * @brief This file contains private definition of Derived class lu ***** lm ul */ nf va an ************************************************************** z at nh oi /* Define to prevent recursive inclusion */ #ifndef DERIVED_EXAMPLEPRIVATE_H z #define DERIVED_EXAMPLEPRIVATE_H m an Lu { co typedef struct l */ gm * @brief Derived class members definition @ /** n va ac th si 71 unsigned int derived_Vars; /*!< Example of member */ }DVars_t,*pDVars_t; /** * @brief Redefinition of parameter structure */ typedef DerivedParams_t DParams_t, *pDParams_t; /** lu an * @brief Private Derived class definition n va */ tn to typedef struct gh { p ie DVars_t DVars_str;/*!< Derived class members container */ pDParams_t pDParams_str;/*!< Derived class parameters container oa nl w */ d }_DCDRV_EXMP_t, *_DCDRV_EXMP; nf va an lu Derived_ExampleClass.c lm ul File lưu thư mục \MC library\src (chỉ có phiên z at nh oi bí mật STM32 FOC PMSM SDK) Đây file nguồn chứa thực thi method đặc trưng lớp dẫn xuất lẫn method ảo lớp z sở Nó bao gồm sở giao tiếp lớp dẫn xuất định gm @ nghĩa riêng Nếu lớp dẫn xuất yêu cầu lệnh thực thi để kích hoạt l ngắt tích hợp thêm file MCIRQHandlerPrivate.h m co Method DRV_NewObject thể đề cập bên Nó tạo an Lu đối tượng lớp Derived_Example class (CDRV_EXMP) cần thiết yêu cầu trỏ tới cấu trúc tham số sở lớp dẫn xuất n va ac th si 72 đầu vào Việc tạo đối tượng lớp dẫn xuất bao hàm việc tạo đối tượng lớp sở liên quan Hai đối tượng hợp lại cách khởi tạo trỏ lớp sở tới đối tượng lớp dẫn xuất (_oExample->DerivedClass) với địa đối tượng lớp dẫn xuất vừa tạo (_oDerived) Các trỏ lớp sở tới method ảo và, cần, tới MC IRQ Handler khởi tạo với trỏ tới hàm riêng lớp dẫn xuất Địa phần lớp sở đối tượng lớp dẫn xuất thay truy xuất tới kiểu lớp dẫn xuất chung (CDRV_EXMP) quay trở lại lu an /** n va ************************************************************** tn to * gh * @file Derived_ExampleClass.c p ie * @author IMS Systems Lab and Technical Marketing - MC Team * @version V0.0.1 w d class oa nl * @brief This file contains private implementation of Derived lu ***** nf va an ************************************************************** #include "ExampleClass.h" #include "ExamplePrivate.h" z at nh oi lm ul */ z #include "Derived_ExampleClass.h" m co an Lu #include "MC_type.h" l #include "MCLibraryConf.h" gm @ #include "Derived_ExamplePrivate.h" #include "MCIRQHandlerPrivate.h" /*!< Only if derived class n va ac th si 73 implementation requires to be triggered by an interrupt */ #ifdef MC_CLASS_DYNAMIC #include "stdlib.h" /* Used for dynamic allocation */ #else _DCDRV_EXMP_t DRV_EXMPpool[MAX_DRV_EXMP_NUM]; unsigned char DRV_EXMP_Allocated = 0u; #endif static void DRV_VFunc(CEXMP this); /** lu an * @brief Creates an object of the class Derived n va * @param pExampleParams pointer to an Example parameters structure * @retval CDRV_EXMP new instance of Derived object p */ ie gh tn to * @param pDerivedParams pointer to an Derived parameters structure CDRV_EXMP DRV_NewObject(pExampleParams_t pExampleParams, w oa nl pDerivedParams_t pDerivedParams) d { lu nf va an _CEXMP _oExample; _DCDRV_EXMP _oDerived; lm ul _oExample = (_CEXMP)EXMP_NewObject(pExampleParams); z at nh oi #ifdef MC_CLASS_DYNAMIC _oDerived = (_DCDRV_EXMP)calloc(1u,sizeof(_DCDRV_EXMP_t)); z #else @ if (DRV_EXMP_Allocated < MAX_DRV_EXMP_NUM) l gm { else an Lu } m co _oDerived = &DRV_EXMPpool[DRV_EXMP_Allocated++]; n va ac th si 74 { _oDerived = MC_NULL; } #endif _oDerived->pDParams_str = pDerivedParams; _oExample->DerivedClass = (void*)_oDerived; _oExample->Methods_str.pVFunc = &DRV_VFunc; _oExample->Methods_str.pIRQ_Handler = &DRV_IRQHandler; Set_IRQ_Handler(pDerivedParams->IRQno, (_CMCIRQ)_oExample); lu an return ((CDRV_EXMP)_oExample); n va } tn to gh /** p ie * @brief Example of private method of the class Derived to implement a virtual d oa nl w lu nf va an * function of class Example * @param this related object of class CEXMP z at nh oi */ lm ul * @retval none static void DRV_VFunc(CEXMP this) z { @ ((_DCDRV_EXMP)(((_CEXMP)this)->DerivedClass))- m co l } gm >DVars_str.derived_Vars = 0u; an Lu /** n va ac th si 75 * @brief Example of public method of the class Derived * @param this related object of class CDRV_EXMP * @retval none */ void DRV_Func(CDRV_EXMP this) { ((_DCDRV_EXMP)(((_CEXMP)this)->DerivedClass))>DVars_str.derived_Vars = 0u; lu an } n va * @brief Example of private method of the class Derived to implement an gh tn to /** p ie MC IRQ function * @param this related object w oa nl * @param flag used to distinguish between various IRQ sources d * @retval none lu nf va an */ lm ul static void DRV_IRQHandler(void *this, unsigned char flag) if (flag==1u) z { z at nh oi { @ ((_DCDRV_EXMP)(((_CEXMP)this)->DerivedClass))- m co an Lu } l } gm >DVars_str.derived_Vars++; n va ac th si 76 4.2.4 Thư viện điều khiển động liên quan đến xử lý ngắt Việc thực thi lớp (chẳng hạn đo tốc độ hay dịng điện) yêu cầu thực lệnh đặc biệt (được đưa xử lý ngắt điều khiển động MC IRQ Handler) có kiện đặc biệt xảy dẫn đến chương trình xử lý ngắt (Interrupt Service Routine - ISR) liên quan Để giữ thư viện điều khiển động lớp dự án người dùng riêng rẽ cần phải thực chế cho phép kích hoạt thực thi gói MC IRQ Handlers bên lớp cho mà không cho phép tham lu chiếu tường minh tới đối tượng thư viện điều khiển động từ lớp an người dùng va n Với chế vậy, module stm32fxxx_MC_it.c (chứa định nghĩa tn to tất IRQ Handlers yêu cầu thi hành lệnh MC đó) tùy ý gh sử dụng người dùng cách đặt mức dự án người dùng Cả p ie stm32fxxx_MC_it.c thư viện điều khiển động chứa w MCIRQHandlerClass với bảng vector điều khiển động (MC_IRQTable) oa nl bao gồm tập đối tượng cần thiết để kích hoạt ISR Việc lấp đầy d vị trí bảng thực đối tượng tương ứng khởi lu an tạo (bên method XXX_New_Object liên quan) thông qua việc gọi hàm nf va Set_IRQ_Handler Điều minh họa hình z at nh oi lm ul z m co l gm @ an Lu Hình 4.4 Xử lý ngắt điều khiển động n va ac th si 77 4.2.5 Danh mục lớp thư viện Firmware FOC Cảm biến dòng, phát xung PWM lớp dẫn xuất Lớp thực chức càm biến dòng phát xung PWM Bất kỳ đối tượng lớp phải liên kết với đối tượng lớp dẫn xuất Để tăng tính module thư viện, việc truy cập vào ngoại vi vi điều khiển chuyển qua lớp dẫn xuất làm gia tăng cách biệt với phần cứng đo dịng Phàn hồi vị trí, phản hồi tốc độ các lớp dẫn xuất lu an Các lớp thực đo tốc độ/vi trí cho cảm biến vật lý mô n va phần mềm (không cảm biến - sensorless) Bất kỳ đối tượng lớp tn to phải liên kết với đối tượng lớp dẫn xuất gh Việc truy cập đến ngoại vi phần cứng, có, yêu cầu khai báo p ie lớp dẫn xuất phân biệt tùy theo kiểu cảm biến độ/vị trí Thư viện w STM32 PMSM FOC FW hỗ trợ loại cảm biến hall, quadrature encoder oa nl sensorless d Đo điện áp chiều lớp dẫn xuất lu nf va an Lớp thực đo điện áp chiều ảo thực tùy theo loại cảm biến Nếu có truy cập vào ngoại vi vi xử lý giao lm ul phó cho lớp ngoại vi cho phần thực thi lớp sở độc lập với phần điều khiển z at nh oi cứng Các lớp dẫn xuất phân biệt theo kiểu cảm biến vật lý họ vi z Đo nhiệt độ lớp dẫn xuất gm @ Lớp thực đo nhiệt độ ảo thực Nếu có truy cập l vào ngoại vi vi xử lý giao phó cho lớp m co ngoại vi cho phần thực thi lớp sở độc lập với phần cứng Các lớp dẫn an Lu xuất phân biệt theo kiểu cảm biến vật lý họ vi điều khiển n va ac th si 78 Lớp điều khiển tốc độ mô men Bộ điều khiển tốc độ mô men cung cấp đối tượng FOC với mục tiêu mô men điện tùy thuộc vào chế độ điều khiển (tốc độ mô men) thực tạo độ dốc cho tốc độ mô men đặt Khi chế độ điều khiển tốc độ, điều khiển tốc độ mơ men tính tốn tốc độ đặt thực vòng lặp điều chỉnh tốc độ Giá trị trả mô men điện sử dụng cho đối tượng FOC để có Khi chế độ điều khiển mơ men điều khiển tính mơ men đặt trả giá trị mô men đặt lu an Các lớp điều khiển PI PID n va Các lớp PI PID thực điều khiển PI PID tương ứng Lớp PID tn to xem lớp dẫn xuất từ lớp PI cách thêm vào chức đặc gh biệt thành phần đạo hàm p ie 4.3 Kết luận chung: w Sau thời gian tìm hiểu nghiên cứu thực đề tài học viên oa nl thu số kết sau: d - Nắm nguyên lý điều khiển tốc độ động đông nam châm lu nf va an vĩnh cửu đặc biệt phương pháp điều khiển vector tựa từ thông rotor (FOC) - Đã thiết kế thành công hệ thống điều khiển tốc độ động đồng lm ul nam châm vĩnh cửu, tạo hệ thống thực với thuật toán điều khiển mở khiển đại khác z 4.4 Kiến nghị: z at nh oi làm sơ sở cho việc nghiên cứu thiết kế cài đặt thuật toán điều gm @ - Mặc dù thiết kệ hệ thống điều khiển tốc độ đồng đồng l nam cham vĩnh cửu, nhiên chưa đánh giá cụ chất lượng đề m co tài cần tiếp tục nghiên cứu hồn thiện thuật tốn điều khiển động mơ thực nghiệp để hồn thiện đề tài an Lu đồng nam châm vĩnh cửu Kiểm nghiệm thuật tốn điều khiển thơng qua n va ac th si 79 TÀI LIỆU THAM KHẢO Nguyễn Phùng Quang, Điều khiển tự động truyền động điện xoay chiều ba pha, Nhà xuất Giáo dục, Năm 1998 .C W Scherer, "Mixed H2/Hinfinity control for time-varying and linear parametrically-varying systems," International Journal of Robust and Non-linear Control, vol 6, pp 929 – 952, 1996 C W Scherer and S.Weiland, Linear Matrix Inequalities in Control.: Lecture notes in DISC course, 2005 A Packard, M Safonov, G Balas, and R Chiang, Robust control toolbox lu an for use with Matlab.: The MathWorks, 2005 va P.M Young, M.P Newlin, and J.C Doyle, "Mu analysis with real n 1991, pp 1251 - 1256 ie gh tn to parametric uncertainty," in IEEE Conference on Decision and Control, p A Packard and J C Doyle, "The Complex Structured Singular Value," nl w 1993 oa Copyright © 2013- Texas Instrumentd Incorporated, Technical Reference d Manual, SPRUHI9- February 2013 Submit Documentation Feedback lu nf va an Texas Instruments, TMS320F2806xF InstaSPINTM- FOC User’s Guide, Literature number SPRUHJ1, February 2013 lm ul Martin Grom, Driver controller for stand drill drive, BRNO University z at nh oi of Technology, 2013 10 STMicroelectronics Advanced developers guide for STM32F MCUs z PMSM single/dual FOC library User manual, 2015 m co l gm @ an Lu n va ac th si