Hình I.1 Mô hình của một hệ thống điều khiển số Hệ thống số được sử dụng rộng rãi vì nó có rất nhiều ưu điểm: các thiết bị số dễ thiết kế hơn so với các thiết bị tương tự, thông tin đượ
Trang 1HOÀNG ĐÌNH KHÔI
ĐÊ TÀI
ĐIỀU KHIỂN PHI TUYẾN HỆ CON
LẮC NGƯỢC SONG SONG
CHUYÊN NGÀNH: TỰ ĐỘNG HÓA
MSHV:09150905
LUẬN VĂN THẠC SỸ
Tp Hồ Chí Minh, tháng 12 năm 2011
Trang 2Cán bộ hướng dẫn khoa học : PGS.TS Nguyễn Thị Phương Hà
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 1 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Cán bộ chấm nhận xét 2 :
(Ghi rõ họ, tên, học hàm, học vị và chữ ký) Luận văn thạc sĩ được bảo vệ tại Trường Đại Học Bách Khoa, ĐHQG TP.HCM, ngày tháng năm
Thành phần của Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)
1 ………
2 ………
3 ………
4 ………
5 ………
Xác nhận của Chủ tịch Hội đồng đánh giá L.V và Bộ môn quản lý chuyên ngành
sau khi luận văn đã được sửa chữa (nếu có)
Chủ tịch Hội đồng đánh giá LV Bộ môn quản lý chuyên ngành
Trang 3Tp HCM, ngày tháng năm
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ và tên học viên: HOÀNG ĐÌNH KHÔI Phái: Nam
Ngày, tháng, năm sinh: 28/09/1986 Nơi sinh: Ninh Thuận
Chuyên ngành: TỰ ĐỘNG HÓA
MSHV: 09150905
1- TÊN ĐỀ TÀI: ĐIỀU KHIỂN PHI TUYẾN HỆ CON LẮC NGƯỢC SONG
SONG
2- NHIỆM VỤ LUẬN VĂN:
+ Thiết kế và thi công mô hình con lắc ngược song song
+ Tìm hiểu nghiên cứu DSP TMS230F28335, lập trình C cho Matlab và
DSP
+ Sử dụng Simulink thực hiện mô phỏng bộ điều khiển cho hệ con lắc
ngược song song
+ Thiết kế bộ điều khiển trên mô hình thật
3- NGÀY GIAO NHIỆM VỤ : 25/01/2011
4- NGÀY HOÀN THÀNH NHIỆM VỤ : 23/12/2011
5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN:PGS.TS NGUYỄN THỊ PHƯƠNG
HÀ
Nội dung và đề cương Luận văn thạc sĩ đã được Hội Đồng Chuyên Ngành
thông qua
CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN KHOA QL CHUYÊN NGÀNH
(Họ tên và chữ ký) QUẢN LÝ CHUYÊN NGÀNH (Họ tên và chữ ký)
(Họ tên và chữ ký)
Trang 4Để hoàn thành luận văn này tôi đã nhận được sự giúp đở động viên từ nhiều phía:
Trước hết, em xin chân thành cảm ơn sự hướng dẫn của cô NGUYỄN THỊ PHƯƠNG HÀ đã tạo điều kiện thuận lợi để em có thể dễ dàng tiếp cận và hoàn thành đề tài!
Cảm ơn các thầy cô trong bộ môn đã truyền dạy cho em những kiến thức về điều khiển , về lập trình,về thiết kế phần cứng… Những kiến thức
ấy đã giúp em rất nhiều trong việc hoàn thành đề tài, và cả trong việc thực hiện những dự định trong chặng đường sắp tới!
Muôn vàn lời cảm ơn gửi đến ba mẹ,em trai.Gia đình luôn tạo động lực
về tinh thần lẫn vật chất để con vững bước trên đường chinh phục và chia
sẻ tri thức…
Còn nhiều người nũa tôi không nhắc trog lời tựa này đã có nhiều hỗ trợ và giúp đỡ tôi làm tốt công việc của mình, xin trân trọng cảm ơn tất cả…!
Trang 5càng cao của con người, con người đã tạo ra rất nhiều hệ thống khác nhau nhằm phục vụ cho đời sống Tuy nhiên đa phần các hệ thống này đều không ổn định và cần có các bộ điều khiển hồi tiếp để ổn định hệ thống
Việc điều khiển các hệ thống không ổn định là rất quan trọng, nó là một vấn đề phức tạp và phải được nghiên cứu trong phòng thí nghiệm Vấn đề là các hệ thống không ổn định thật thường nguy hiểm và không thể nào mang vào trong phòng thí nghiệm Vì vậy người ta xây dựng các hệ thống phi tuyến nhằm tìm hiểu và nghiên cứu các phương pháp điều khiển, hệ thống con lắc ngược cũng là một trong số đó Bằng cách tìm hiểu và nghiên cứu các phương pháp điều khiển trên hệ thống này, ta có thể rút ra được các giải pháp và thu thập được các kinh nghiệm để giải quyết các vấn đề trong thực tế Đây cũng chính là mục đích của đề tài
Hệ thống con lắc ngược xoay bao gồm một cánh tay con lắc được gắn vào một trục dĩa được điều khiển bởi một động cơ Ở đây, tác giả nghiên cứu hệ thống con lắc ngược song song: tức là hệ thống gồm 2 cánh tay con lắc cùng được gắn vào hai đầu của một
trục dĩa Bài toán đặt ra ở đây là ta cần phải “swing-up” hay dựng ngược 2 con lắc này và
giữ nó thăng bằng theo phương thẳng đứng hướng lên trên dưới tác động của các lực bên ngoài
Trang 6Contents
Chương I: TỔNG QUAN 3
I.1 Các hệ thống điều khiển số 3
I.2 Giới thiệu tổng quan về Hệ thống Con lắc ngược quay song song 4
I.2.1 Đặt vấn đề 4
I.2.2 Giới thiệu đề tài 5
I.2.2.1 Một số mô hình Con lắc ngược (Inverted Pedulum) 7
I.2.2.2 Mô hình Con lắc ngược quay sử dụng trong luận văn 8
I.2.2.3 Sơ đồ khối hệ thống điều khiển 9
I.3 Tóm tắt nội dung luận văn 10
Chương II: GIỚI THIỆU DSP TMS320F28335 VÀ MATLAB EMBEDED TARGET 12 II.1 Giới thiệu về chip DSP TMS320F28335 12
II.2 Matlab Embeded Target 16
II.2.1 Giới thiệu 16
II.2.2 Embeded Matlab target cho TMS320F28335 16
Chương III: XÂY DỰNG MÔ HÌNH TOÁN CHO HỆ CON LẮC NGƯỢC SONG SONG VÀ ƯỚC LƯỢNG THÔNG SỐ 18
III.1 Mô hình toán học hệ con lắc ngược song song 18
III.1.1 Mô hình hóa hệ phi tuyến động 19
III.1.2 Tuyến tính hóa hệ thống 23
III.2 Ước lượng thông số và nhận dạng hệ thống 25
III.3 Mô hình hộp xám cho hệ Con lắc ngược song song 27
Chương IV: THU THẬP DỮ LIỆU VÀ ƯỚC LƯỢNG THAM SỐ 29
IV.1 Thu thập dữ liệu 29
IV.1.1 Cảm biến thu thập dữ liệu 29
IV.1.2 Xử lý tín hiệu đo đạc 30
IV.1.2.1 Lọc dữ liệu 30
IV.1.2.2 Kiểm tra đặc tính của mạch động lực điều khiển động cơ 33
Trang 7IV.2 Ước lượng tham số 43
IV.2.1 Phương pháp bình phương cực tiểu 44
IV.2.1.1 Các cách tính sai phân 44
IV.2.1.2 Phương pháp bình phương cực tiểu 44
IV.2.2 Ước lượng tham số cho hệ Con lắc ngược song song 45
IV.2.2.1 Bộ dữ liệu ước lượng 47
IV.2.2.2 Kết quả ước lượng 52
IV.2.2.3 Đánh giá kết quả nhận dạng dựa trên phương pháp bình phương cực tiểu 53 IV.2.2.4 Kiểm chứng dựa lại kết quả dựa vào mô hình lý thuyết 56
Chương V: XÂY DỰNG VÀ MÔ PHỎNG CÁC BỘ ĐIỀU KHIỂN CHO HỆ CON LẮC NGƯỢC SONG SONG DỰA TRÊN GIẢI THUẬT LQR 60
V.1 Giới thiệu bộ điều khiển LQR 60
V.2 Cách chọn Q và R 61
V.3 Bộ điều khiển LQR kinh điển cho Hệ Con lắc ngược song song 61
V.3.1 Mô hình Simulink mô phỏng đáp ứng hệ thống 63
V.3.2 Kết quả mô phỏng 63
V.4 Bộ điều khiển LQR có khâu tích phân 67
V.4.1 Xây dựng bộ điều khiển LQR có bổ sung khâu tích phân 67
V.4.2 Kết quả mô phỏng 69
Chương VI: XÂY DỰNG BỘ ĐIỀU KHIỂN TRÊN DSP TMS320F28335 71
VI.1 Thiết kế bộ điều khiển SWING-UP cho con lắc 71
VI.2 Thiết kế bộ điều khiển LQR rời rạc 72
VI.3 Mô hình Embeded Matlab Target F28335 LQR control 74
VI.4 Kết quả của bộ điều khiển 77
Chương VII: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 78
VII.1 Các kết quả đã hoàn thành 78
VII.2 Hướng phát triển của đề tài 78
CÁC TÀI LIỆU THAM KHẢO 79
PHỤ LỤC 80
Trang 8Chương I: TỔNG QUAN
I.1 Các hệ thống điều khiển số
Ngày nay, các hệ thống điều khiển số được sử dụng trong rất nhiều lĩnh vực khác nhau Chúng bao gồm các hệ thống thu thập xử lý tín hiệu như vi xử lý, vi điều khiển, các bộ logic lập trình được PLC, và các hệ thống lớn có máy tính số,
Hình I.1 Mô hình của một hệ thống điều khiển số
Hệ thống số được sử dụng rộng rãi vì nó có rất nhiều ưu điểm: các thiết bị số dễ thiết kế hơn so với các thiết bị tương tự, thông tin được truy cập và lưu trữ một cách
dễ dàng và nhanh chóng, độ chính xác và độ tin cậy cao Hệ thống số còn có các chương trình phần mềm nhằm tối ưu hóa điều khiển và thay đổi các tính năng mong muốn, điều này làm giảm các chi tiết dự phòng từ đó giảm giá thành sản xuất Tuy nhiên nhược điểm thường gặp của một hệ thống điều khiển số là sự trễ và sai số do nhiễu khi lượng tử hóa, thu thập dữ liệu và điều khiển Vấn đề này ngày nay đã được khắc phục phần nào nhờ việc chế tạo ra các bộ điều khiển số có tốc độ cao và chính xác
Hiện nay, việc áp dụng các lý thuyết điều khiển số vào thực tế được thực hiện bằng
2 cách, mỗi cách dựa trên một nền tảng phần cứng khác nhau:
Trang 9¾ Cách 1: là xây dựng các hệ thống điều khiển số trên nền tảng PC kết hợp với card thu thập dữ liệu (ví dụ như card thu thập dữ liệu PCI17xx của Advantech) Chương trình điều khiển sẽ được lập trình trên các phần mềm như Matlab, Labview Cách này cho phép ta tiết kiệm thời gian thiết kế đồng thời tận dụng tối đa các hàm của phần mềm cũng như khả năng tính toán và lưu trữ của máy tính Tuy nhiên người dùng phải đối mặt với trở ngại là phải phụ thuộc vào chương trình phần mềm và card chuyển đổi (thường có giá thành cao) Đồng thời với kích thước cồng kềnh khiến có cách này chỉ thích hợp sử dụng trong các phòng thí ngiệm với mục đích nghiên cứu Ngoài ra việc thiết kế các bộ điều khiển trên nền PC cần chú ý bảo đảm tính thời gian thực, bộ điều khiển số cần được lập trình và hoạt động trong môi trường thời gian thực (như WNCOM,…)
¾ Cách 2: Bộ điều khiển được xây dựng trên nền hệ thống nhúng.(Hệ thống nhúng là hệ thống có thể hoạt động 1 cách độc lập không phụ thuộc vào máy tính PC).Ưu điểm của hệ thống này là nhỏ gọn; giá thành thấp và có thể tối ưu hóa thiết kế phần cứng tùy theo ứng dụng điều khiển nên làm cho sản phẩn cuối có giá thành thấp Tuy nhiên việc lập trình trên hệ thống nhúng có tài nguyên hạn hẹp,tốc độ và khả năng tính toán hạn hẹp so với trên nền tảng PC nên đòi hỏi người lập trình phải có hiểu biết sâu về thiết kế phần cứng cũng như cách thức hoạt động của hệ thống để tối ưu hóa hệ thống và tránh lãng phí tài nguyên khi lập trình
Trong luận văn này, tác giả “Xây dựng bộ điều khiển Nhúng cho hệ thống Con lắc
ngược quay song song dựa trên nền tảng DSP TMS320F28335”
I.2 Giới thiệu tổng quan về Hệ thống Con lắc ngược quay song song
I.2.1 Đặt vấn đề
Cùng với sự phát triển của khoa học kỹ thuật, đồng thời để đáp ứng nhu cầu ngày càng cao của con người, con người đã tạo ra rất nhiều hệ thống khác nhau nhằm phục
vụ cho đời sống Tuy nhiên đa phần các hệ thống này đều không ổn định và cần có các
bộ điều khiển hồi tiếp để ổn định hệ thống
Một số ví dụ về các hệ thống không ổn định:
Trang 10¾ Trong ngành công nghiệp hóa chất: điều khiển các phản ứng tỏa nhiệt trong hóa học Nếu một phản ứng tỏa ra nhiệt và phản ứng xảy ra càng nhanh khi nhiệt độ tăng thì ta phải sử dụng bộ điều khiển để ổn định nhiệt độ cho phản ứng hóa học để tránh cho nhiệt độ tăng quá cao Phản ứng tỏa nhiệt được sử dụng để sản xuất rất nhiều sản phẩm hóa học mỗi ngày – không có bộ điều khiển hồi tiếp chúng ta sẽ không có được các sản phẩm này
¾ Trong lĩnh vực sản xuất điện năng: điều khiển vị trí tia plasma trong Joint European Torus (JET) Nhiệm vụ ở đây là điều khiển vị trí dọc của một vòng plasma ở bên trong các container rỗng có dạng tròn Việc điều khiển được thực hiện bằng cách đặt vào bên trong các trương từ và vòng plasma sẽ di chuyển một cách không ổn định theo chiều dọc tùy thuộc vào tín hiệu điều khiển từ Để hiểu được vấn đề này, tưởng tượng rằng bạn đang ép một quả bóng xà phòng ướt trong tay bạn Khi tăng lực ép lên quả bóng xà phòng nó sẽ trượt ra khỏi tay bạn nhanh hơn là khi bạn thay đổi góc tương đối giữa hai bàn tay
¾ Trong lĩnh vực hàng không vũ trụ: điều khiển tên lửa hoặc máy bay trong suốt quá trình cất cánh thẳng đứng Góc của động cơ đẩy phải luôn luôn được điều khiển
để tên lửa hay máy bay khỏi bị lật
Việc điều khiển các hệ thống không ổn định là rất quan trọng, nó là một vấn đề phức tạp và phải được nghiên cứu trong phòng thí nghiệm Vấn đề là các hệ thống không ổn định thật thường nguy hiểm và không thể nào mang vào trong phòng thí nghiệm Vì vậy người ta xây dựng các hệ thống phi tuyến nhằm tìm hiểu và nghiên cứu các phương pháp điều khiển, hệ thống con lắc ngược cũng là một trong số đó Bằng cách tìm hiểu và nghiên cứu các phương pháp điều khiển trên hệ thống này, ta
có thể rút ra được các giải pháp và thu thập được các kinh nghiệm để giải quyết các vấn đề trong thực tế Đây cũng chính là mục đích của đề tài
I.2.2 Giới thiệu đề tài
Hệ thống con lắc ngược xoay bao gồm một cánh tay con lắc được gắn vào một trục dĩa được điều khiển bởi một động cơ Ở đây, tác giả nghiên cứu hệ thống con lắc ngược song song: tức là hệ thống gồm 2 cánh tay con lắc cùng được gắn vào hai đầu
Trang 11Bài toán đặt ra ở đây là ta cần phải “swing-up” hay dựng ngược 2 con lắc này và
giữ nó thăng bằng theo phương thẳng đứng hướng lên trên dưới tác động của các lực bên ngoài Trong đề tài này, học viên dự định tìm hiểu và ứng dụng các phương pháp điều khiển hệ phi tuyến nhằm thiết kế một bộ điều khiển phù hợp với mô hình con lắc ngược song song
Các mục tiêu chính của đề tài gồm:
¾ Thiết kế và thi công mô hình con lắc ngược song song
¾ Nghiên cứu chip DSP TMS320F28335
¾ Nghiên cứu lập trình C và Matlab cho DSP
¾ Nghiên cứu thiết kế-thi công công phần mạch điều khiển, công suất
¾ Tìm hiểu và nghiên cứu các phương pháp điều khiển hệ phi tuyến
¾ Sử dụng công cụ mô phỏng Matlab/Simulink thiết kế bô điều khiển cho hệ thống con lắc ngược song song
¾ Thực hiện bộ điều khiển trên mô hình thật, mục tiêu là “swing-up” được 2
con lắc và giữ thăng bằng được hệ thống theo phương thẳng đứng hướng lên trên
¾ Trên cơ sở kết quả thu được từ mô phỏng và thực nghiệm điều khiển trên
mô hình, phân tích, đánh giá ưu khuyết điểm của các bộ điều khiển Có thể kết hợp với các giải thuật điều khiển thông minh để hình thành nên các bộ điều khiển lai (Hybrid controller) có chất lượng điều khiển tốt hơn
Trang 12I.2.2.1 Một số mô hình Con lắc ngược (Inverted Pedulum)
¾ Mô hình Xe – Con lắc của Quanser:
Hình I.2 Mô hình xe – con lắc của Quanser
Mô hình này bao gồm một thanh quay được gắn vào trục của xe có thể chạy trên trục nằm ngang Hệ thống sử dụng bộ đếm encoder để xác định vị trí con lắc
¾ Mô hình Con lắc ngược quay:
http://www.terasoft.com.tw/product/product_dsp_control1_3.asp
Hình I.3: Mô hình con lắc ngược quay
Mô hình gồm một giá đỡ có khối lượng khá nặng để cố định hệ thống, động cơ điều khiển tay quay 360 độ Cánh tay con lắc được gắn vào tay quay này Hệ thống cũng sử dụng encoder để hồi tiếp trạng thái của con lắc và của tay quay
Trang 13I.2.2.2 Mô hình Con lắc ngược quay sử dụng trong luận văn
Hình I.4 Mô hình Con lắc ngược quay do tác giả tự chế tạo
Mô hình con lắc ngược gồm 2 cánh tay con lắc gắn vào 2 đầu của một trục quay, mỗi đầu được gắn với một encoder 2048 xung/vòng nhằm xác định góc quay của con lắc một cách chính xác Trục quay được điều khiển bằng động cơ DC servo có encoder 500 xung/vòng để xác định góc quay của động cơ
Trang 14Hình I.6 Encoder 2048 xung/vòng được gắn với trục của con lắc, hồi tiếp góc quay
của con lắc về bộ điều khiển
Hình I.7 Động cơ DC servo
I.2.2.3 Sơ đồ khối hệ thống điều khiển
Việc điều khiển được thực hiện bằng phương pháp hệ thống nhúng Tức là chương trình điều khiển sẽ được lập trình bằng các phần mềm trên máy tính, sau đó chương trình này sẽ được biên dịch ra mã nhị phân và nạp vào hệ nhúng để chúng có thể hoạt động độc lập mà không cần tới máy tính nữa Cách này có ưu điểm là kích thước của bộ điều khiển cuối cùng sẽ nhỏ gọn, hoạt động độc lập, ổn định có tính năng tự động hoá cao, giá thành rẻ nên dễ dàng triển khai vào thực tế
Trang 15Hình I.8 Sơ đồ khối của hệ thống điều khiển bằng hệ thống nhúng
Tuy nhiên, việc sử dụng hệ thống nhúng đòi hỏi người sử dụng phải có khả năng tính toán, thiết kế phần cứng tốt đồng thời phải nắm vững nguyên lý làm việc của trình biên dịch để có thể tối ưu khả năng hoạt động của hệ thống So với máy tính hệ thống nhúng có khả năng tính toán yêú hơn nhưng với những tiến bộ mới trong lĩnh vực chế tạo Chip , khả năng và tốc độ tính toán cua các hệ thống nhúng ngày càng được cải thiện
Hình I.9 Sơ đồ khối hệ thống điều khiển
I.3 Tóm tắt nội dung luận văn
Chương I: Tổng quan
¾ Giới thiệu về các hệ thống điều khiển số
¾ Tổng quan về hệ thống Con lắc ngược song song, mô hình, thiết kế cơ khí, các thiết bị cảm biến được sử dụng trong luận văn
Chương II: Giới thiệu DSP TMS320F28335 và MATLAB EMBEDED TARGET
Trang 16¾ Giới thiệu sơ lược về Vi điều khiển sử dụng trong đề tài,và kết nối với matlab
Chương III: Xây dựng Mô hình toán cho hệ thống Con lắc ngược song song
¾ Xây dựng mô hình toán cho hệ Con lắc ngược song song theo phương pháp tiếp cận Langrange.Và dựa trên mô hình này xây dựng mô hình hộp xám dùng cho việc ước lượng thông số chưa biết của hệ thống theo bương pháp bình phương cực tiểu với đầu vào là các trạng thái và độ lớn của luật điều khiển mà ta có thể đo được trực tiếp hoặc tính toán được
Chương IV: Thu thập dữ liệu và ước lượng tham số
¾ Giới thiệu và lựa chọn các cảm biến đã sử dụng trong luận văn
¾ Xử lý tính hiệu đo (quy đổi thông số và lọc nhiểu)
¾ Xây dựng mô hình ước lượng trong miền rời rạc cho hệ thống Con lắc ngược song song dựa trên kết quả ở chương III
Chương V: Xây dựng và mô phỏng các bộ điều khiển cho hệ ball&beam dự trên luật LQR
¾ Xây dựng và mô phỏng cho bộ LQR kinh điển
¾ Xây dựng và mô phỏng bộ LQR có bổ sung khâu tích phân
Chương VI:Xây Dựng Bộ Điều Khiển trên DSP TMS320F28335 và kết quả điều khiển
¾ Bộ điều khiển LQR kinh điển
¾ Bộ điều khiển LQR có bổ sung thêm khâu tích phân
Chương VII:Kết luận và hướng phát triển
¾ Các kết quả đã đạt được
¾ Các kết quả chưa đạt được
¾ Hướng phát triển đề tài
Trang 17Chương II: GIỚI THIỆU DSP TMS320F28335 VÀ MATLAB
EMBEDED TARGET
II.1 Giới thiệu về chip DSP TMS320F28335
Hình II.1 Chip DSP TMS320F28335
¾ Sử dụng kĩ thuật CMOS tĩnh hiệu năng cao (High-Performance Static CMOS
Technology): tần số sử dụng có thể lên đến 150Mhz(chu kì máy chỉ còn 6.67ns) Lõi 1.9-V/1.8-V Ngõ I/O là 3.3V
¾ CPU 32 bit hiệu năng cao: sử dụng dấu chấm động (floating point), vận hành
bộ đa lưu trữ (multiply-accumulate) MAC 16x16 và 32x32 hoặc MAC đôi 16x16
¾ CPU được thiết kế theo kiến trúc bus Harvard Quá trình tạo và đáp ứng ngắt
nhanh Kiểu lập trình được sử dụng trên 1 bộ nhớ thống nhất
¾ Bộ điều khiển 6 kênh DMA (cho ADC, McBSP, ePWM, XINTF, và SARAM)
¾ Giao diện ngoài(external interface) 16-bit hoặc 32-bit(XINTF): có thể trỏ đến trên 2Mx16 địa chỉ
¾ Bộ nhớ trên chip: 256Kx16 Flash, 34Kx16 SARAM, 1k x16 OTP ROM
¾ Bộ nhớ khởi động(boot ROM)(8k x 16):Với những kiểu khởi động phần mềm
(thông qua SCI, SPI, CAN, I2C, McBSP, XINTF, và I/O song song) Có dùng những bảng toán học tiêu chuẩn(chứa các giá trị toán học có sẵn)
Trang 18¾ Điều khiển hệ thống và xung clock: có hỗ trợ những bộ thay đổi tỉ lệ PLL động,
bộ dao động tích hợp trên chip, khối Watchdog Timer
¾ Các chân GPIO0 cho đến GPI63 có thể được nối kết đến 1 trong 8 ngắt ngoài
¾ Khối mở rộng ngắt ngoại vi(PIE) có thể hỗ trợ tất cả 58 ngắt ngoại vi
¾ Bộ mở/khoá an ninh 128-bit bảo vệ các khối Flash/OTP/RAM, đề phòng các cá
nhân sử dụng có thể nghịch phá chương trình đã cài sẵn
¾ Những ngoại vi điều khiển được tăng cường: lên đến 18 ngõ ra PWM, 6 ngõ ra
HRPWM với độ phân giải MEP150 ps, 6 ngõ vào báo sự kiện, 2 giao tiếp encorder
vuông góc,8 timer 32 bit/ 9 timer 16 bit
¾ 3 timer CPU 32-bit
¾ Ngoại vi port nối tiếp: lên đến 2 module CAN, 3 module SCI (UART), 2 module
McBSP (có thể được cấu trúc như SPI), 1 SPI module, 1 bus I2C
¾ 16 kênh ADC 12-bit: thời gian chuyển đổi tín hiệu là 80-ns, 2 bộ chọn 8 kênh
ngõ vào, 2 bộ lấy mẫu và lưu (sample-and-hold), có các bộ chuyển đổi đơn/tuần tự, ADC tham chiếu internal hoặc external
¾ Có thể lên đến 88 chân GPIO đa công, có thể lập trình riêng rẽ với bộ lọc ngõ
vào
¾ Có hỗ trợ quét biên JTAG
¾ Những đặc trưng mô phỏng ứng dụng: các hàm ngắt và phân tích, chạy thử hệ thống thời gian thực với hỗ trợ phần cứng
¾ Hỗ trợ mở rộng bao gồm:ANSI C/C++ Compiler/Assembler/Linker, Code
Composer Studio TM IDE, DSP/BIOS TM, các thư viện phần mềm năng lượng số và điều khiển động cơ số
¾ Các chế độ năng lượng thấp và tiết kiệm năng lượng: hỗ trợ các chế độ IDLE,
STANBY, HALT và có thể thoát khỏi các chế độ này nhờ các xung clock ngoại vi
¾ Các gói lựa chọn: Lead-free, Green Packaging, Thin Quad Flatback (PGF), MicroStar BGA(ZJZ)
Trang 19Hình II.2 Cấu trúc sơ đồ khối của TMS320F28335
Đề tài này sử dụng kit phát triển của Texas Instruments là C2000 Experimenter Kits
Hình II.3 C2000 Experimenter Kits
Trang 20Hình II.4 Sơ đồ nguyên lý Experimenter Kits TMS320F28335
Trang 21II.2 Matlab Embeded Target
II.2.1 Giới thiệu
Matlab Embeded target là 1 bộ công cụ trung gian của matlab cho phép người sử dụng tạo ra Code C ứng với từng loại vi điều khiển phù hợp với trình biên dịch cho loại vi điều khiển đó Code C được tạo ra từ mô hình Simulink cho phép người lập trình ít tốn thời gian hơn cho việc lập trình và khởi tạo hệ thống thống
Hiện tại Matlab Embeded Matlab target hỗ trợ rất nhiều loại vi điều khiển khác nhau
từ đơn giản đến phức tạp,từ 16bit đến 32bit.Một số loại vi điều khiển được hỗ trợ có thể kể tới là :
¾ Họ Vi Điều Khiển Blackfin của Analog device
¾ 32bit PowerPC của FreeScale : MPC5xx
¾ Dòng vi điều khiển 16bit của Infineon C166
¾ Các Vi điều khiển của họ TMS320
¾ PIC18 của Microchip
II.2.2 Embeded Matlab target cho TMS320F28335
Để sử dụng được bộ công cụ này cho TMS320 nói chung và TMS320F28335 nói riêng cần phải cài sẵn Code composer compiler của TI.Các khổi chức năng được hỗ
trợ bởi bô công cụ này được tìm thấy ở mục Target support package của Simulink
Trang 22Hình II.5 Các Vi điều khiển trong họ C2000 được hỗ trợ
Hình II.6 Các khối chức năng được hỗ trợ bởi Embeded Matlab Target
Trang 23Chương III: XÂY DỰNG MÔ HÌNH TOÁN CHO HỆ CON
LẮC NGƯỢC SONG SONG VÀ ƯỚC LƯỢNG THÔNG SỐ
III.1 Mô hình toán học hệ con lắc ngược song song
Hình III.1 Hệ quy chiếu đối với hệ con lắc ngược song song
Hệ thống con lắc ngược song song được mô tả như hình trên Hai cánh tay được kết nối với một trục đĩa được điều khiển bởi một động cơ DC Mục tiêu của việc điều khiển là cân bằng cả 2 cánh tay ở vị trí ngược lại so với vị trí ban đầu của chúng Các biến của hệ thống được mô tả như sau:
: momen ngoại lực tác động vào đĩa
: góc dịch chuyển của trục đĩa so với phương ngang (rad)
: góc lệch của cánh tay thứ nhất so với trục thẳng đứng (rad)
: góc lệch của cánh tay thứ hai so với trục thẳng đứng (rad)
Các tham số của hệ thống được mô tả như bảng dưới:
Trang 24Thông số Ký hiệu Đơn vị
Khối lượng của cánh tay thứ nhất
Khối lượng của cánh tay thứ hai
Độ dài của cánh tay thứ nhất
Độ dài của cánh tay thứ hai
Bán kính của đĩa quay
Phương trình phi tuyến động của hệ thống có thể được suy ra từ phương trình Lagrange
III.1.1 Mô hình hóa hệ phi tuyến động
Phương trình toán học của hệ thống có thể suy ra từ hằng số Lagrange
trong đó là động năng, là thế năng Biểu thức của phương trình Lagrange như sau:
1 Tiếp theo ta sẽ lần lượt tính toán các biểu thức của động năng, thế năng, năng lượng tổn hao của hệ thống
Động năng:
Tổng động năng của hệ thống là:
Trang 2512
12
12
1
2 2 Trong đó , lần lượt là vận tốc của trọng tâm hai cánh tay thứ nhất và thứ hai Để tính toán vận tốc của mỗi cánh tay ta cần tính được tọa độ Descartes của mỗi cánh tay
Hình III.2 Quy đổi các trục tọa độ
Gọi , , là các vector đơn vị của hệ tọa độ Descartes và , , là các vector đơn vị của hệ tọa độ góc ′ là vector đơn vị dọc theo trục của cánh tay con lắc, do đó ta suy ra được biểu thức liên hệ sau:
Trang 26, ,
8 Vận tốc của cánh tay thứ j trong hệ tọa độ Descartes sẽ là:
11 Suy ra:
12
12
12
12
12 Thay biểu thức (12) vào biểu thức (2) ta suy ra được biểu thức tổng động năng của hệ thống là:
1
2
12
12
12
12
121
2
12
12
13
Thế năng của hệ thống:
Biểu thức thế năng của hệ con lắc ngược song song là:
14 Năng lượng tổn hao: năng lượng tổn hao của hệ thống phụ thuộc vào lực ma sát:
12
12
1
2 15
Từ (13), (14) ta có thể viết lại biểu thức Lagrange như sau:
Trang 2712
12
12
121
2
12
121
2
16
Hệ tọa độ tổng quát của hệ thống là , , , ngoại lực tác động lên hệ thống
là , 0,0 Từ các biểu thức (1) đến (16) phương trình đặc tính động của hệ thống được viết theo dạng sau:
0
0 17 Trong đó:
(18)
Trang 28Từ (17), tín hiệu điều khiển ngõ vào là moment đặt vào trục quay của đĩa Thực
tế, ta sử dụng động cơ DC để điều khiển trục quay này, vì vậy ta sẽ chuyển tín hiệu điều khiển sang điện áp
Trong trường hợp bỏ qua ảnh hưởng của cuộn cảm trong động cơ, mối quan hệ giữa moment và điện áp V được cho bởi:
20 Trong đó , , là các thông số của động cơ được cho ở bảng 1 Thay biểu thức (20) vào biểu thức (17) ta thu được phương trình hệ thống động của hệ con lắc ngược song song dùng động cơ DC như sau:
III.1.2 Tuyến tính hóa hệ thống
Từ yêu cầu điều khiển là giữ hai con lắc dựng ngược theo phương thẳng đứng, điểm vận hành của hệ thống là 0 Theo lý thuyết chuỗi Taylor, với giá trị
Trang 29Đặt biến trạng thái và , ta có thể đưa các biểu thức (23) – (25) về dạng sau:
26 Trong đó:
Tiếp theo ta xác tìm mô hình tuyến tính hóa tại quanh điểm cân bằng ứng với
tự, ta xấp xỉ chuỗi Taylor tại
Trang 30Đặt biến trạng thái và , ta có thể đưa các biểu thức (27) – (29) về dạng sau:
Trong đó:
III.2 Ước lượng thông số và nhận dạng hệ thống
Để có thể xây dựng bộ điều khiển cho mô hình vật lý ta thường phải biết các thông số của hệ thống Tuy nhiên vì 1 số lý do ( linh kiện cũ,các ảnh hưởng sai số cơ khí….) một số thông số ta không biết hoặc không thể đo được do vậy cần tiến hành ước lượng các thông số chưa biết này để có thể xây dựng bộ điều khiển thiết bị hoạt động theo ý muốn của người thiết kế Mô hình ước lượng tham số càng chính xác càng gần với thực tế thì chất lượng của bộ điều khiển càng tốt Để tiến hành ước lượng tham số và nhận dạng hệ thống ta cho vào hệ thống 1 kích thích ( tín hiệu thử) và tiến hành đo đạc quan sát và thu thập “phản ứng” của hệ thống ứng với tín hiệu thử này Dùng các dữ kiện này làm cơ sở để xây dựng các phương trình ước lượng hệ thống
Trang 31Hình III.3 Quá trình ước lượng tham số
Nhiều kỹ thuật nhận dạng đã và đang được phát triển như phương pháp bình phương cực tiểu, phương pháp tập hợp hóa , phương pháp mô hình không tham số nhờ phân tích phổ tín hiệu, v.v Trong bài toán nhận dạng mô hình có tham số, nhiều yếu
tố ảnh hưởng đến kết quả nhận dạng như: mô hình nhận dạng, mô hình nhiễu, tín hiệu kích thích, v.v Mô hình nhận dạng lại phụ thuộc vào việc chọn bậc của các đa thức đối với mô hình hàm truyền đạt, hay số chiều của các ma trận trạng thái đối với mô hình phương trình trạng thái
Nếu người sử dụng hoàn toàn không có thông tin về đối tượng nhận dạng, thường
gọi là hộp đen, thì việc nhận dạng rất khó khăn dẫn đến kết quả nhận dạng chứa các
sai số do nhiều nguyên nhân khác nhau.Mà nguyên nhân lớn nhất là mô hình trạng thái của chọn để nhận dạng khác với mô hình trạng thái thực của hệ thống vật lý Trong trường hợp người sử dụng đã biết một phần thông tin của đối tượng hay thông tin về mô tả toán học của mô hình đối tượng, làm thế nào cung cấp các thông tin này cho bài toán nhận dạng Một kiểu mô hình đối tượng trong đó đã biết một phần
thông tin được gọi là mô hình gần rõ, hay mô hình hộp xám Khi xây dựng tốt cấu
trúc của mô hình thì kết quả nhận dạng sẽ rất chính xác, tránh được các sai số do mô hình gây ra Phương pháp nhận dạng mô hình hộp xám này có thể được ứng dụng để
Trang 32nhận dạng nhanh một đối tượng hay theo dõi sự biến đổi của một thông số nào đó trong mô hình
Trong luận văn này nhằm tận dụng những hiểu biết về mô hình toán của hệ
Con lắc ngược song song tác giả sử dụng mô hình hộp xám và phương pháp bình phương cực tiểu để ước lượng các thông số chưa biết của khi xây dựng bộ điều khiển
cho hệ Con lắc ngược song song
III.3 Mô hình hộp xám cho hệ Con lắc ngược song song
Hệ Con lắc ngược song song có 6 thông số cần nhận dạng, lần lượt là moment quán tính và hệ số ma sát của trục quay, cánh tay con lắc 1, cánh tay con lắc 2 Các hệ
số này được ký hiệu trong phương trình lần lượt là , , , , , Ta cần xây dựng phương trình để ước lượng các thông số này
Từ phương trình (21) ở phần III.1, ta viết lại các phương trình rồi rút các hệ số cần nhận dạng về một vế, ta thu được các phương trình sau :
Trang 33Xét trường hợp 0, 0, 0, hệ không có moment ngoại lực, trục quay đứng yên, ta có hệ 2 cánh tay dao động tự do, khi đó hệ phương trình nhận dạng đối với hai cánh tay có thể rút gọn như sau :
Trang 34Chương IV: THU THẬP DỮ LIỆU VÀ ƯỚC LƯỢNG THAM
SỐ
IV.1 Thu thập dữ liệu
IV.1.1 Cảm biến thu thập dữ liệu
Đối với hệ thống Con lắc ngược song song chúng ta cần thu thập các dữ liệu về góc quay của trục động cơ ( ) và góc lệch của 2 cánh tay ( và ) Ở đây tác giả sử dụng ba bộ encoder để phản hồi các thông số , và
Trong mô hình thực tế, tác giả đã sử dụng 2 bộ encoder gắn đồng trục với trục quay của 2 cánh tay để đo góc lệch của chúng Encoder được sử dụng là loại encoder
từ có độ phân giải 2048 xung/vòng
Hình IV.1 Magnetic Encoder RE90C – 2048C
Tín hiệu từ encoder sẽ được đưa vào module EQEP của DSP, qua module này tín hiệu xung sẽ được nhân 4, vì vậy ta có công thức tính góc lệch như sau :
Trang 35Động cơ DC servo có gắn kèm một bộ encoder có độ phân giải 500 xung/vòng
sẽ được sử dụng để đo góc quay của trục động cơ ( ) Ở đây, do ta đã sử dụng cả 2 module EQEP của DSP để đọc tín hiệu góc lệch của 2 cánh tay nên tác giả sử dụng thêm module INTERRUPT của DSP để đo góc quay Tín hiệu từ 2 kênh A, B của encoder sẽ được đưa vào 2 ngõ interrupt của DSP Trong DSP, ta sẽ viết một chương trình phục vụ ngắt để đọc tín hiệu từ 2 kênh này Qua chương trình này, số xung encoder sẽ được nhân 2, vì vậy ta có công thức tính góc quay như sau :
_
_
Nhược điểm của encoder là không xác định được góc 0 ban đầu nên trước khi
hệ thống hoạt động ta phải đưa các góc quay về vị trí mặc định ban đầu (start position) Đối với hệ Con lắc ngược song song, vị trí ban đầu được quy định là vị trí ứng với góc bất kỳ và 2 cánh tay con lắc có phương thẳng đứng hướng xuống (vị trí cân bằng bền)
IV.1.2 Xử lý tín hiệu đo đạc
IV.1.2.1 Lọc dữ liệu
Tín hiệu thô thu được thường không chuẩn và bị nhiễu rất nhiều Hơn nữa,việc lấy mẫu và lưu giữ dữ liệu sẽ tạo đã bị lỗi do bị cắt xén Sau khi chuyển về dạng chuẩn, dữ liệu phải được lọc trước khi đem đi nhận dạng hệ thống Bộ lọc được sử dụng là một bộ lọc số đáp ứng xung vô hạn (IIR) có hàm truyền đạt:
0.15
Khi sử dụng bộ lọc kiểu IIR, tín hiệu đã được lọc sẽ bị méo pha Do đó, khi thực hiện bộ lọc này, tín hiệu đã được lọc phải được đảo chiều trong chuỗi tín hiệu và tiếp tục được đưa vào bộ lọc lần thứ 2 Bằng cách này, tất cả các thành phần tần số đi qua bộ lọc 2 lần, mỗi lần theo 1 hướng khác nhau Sự trễ của mỗi thành phần riêng rẽ này là như nhau và sẽ không còn sự lệch pha Bộ lọc tương đương để thực hiện thao
Trang 36Ta có thể sử dụng hàm filtfilt() trong MATLAB để lọc dữ liệu Hàm này có bao
gồm cả bộ lọc đảo chiều, đảm bảo tín hiệu sau khi lọc cùng pha với tín hiệu ngõ vào
Với tần số lấy mẫu là 100Hz, ta có tần số cắt của bộ lọc là 1.6673
¾ Dạng tín hiệu của dữ liệu sau khi lọc :
Hình IV.2 Dạng tín hiệu phản hồi vị trí, vận tốc và gia tốc của trục động cơ
Trang 37Hình IV.3 Dạng tín hiệu phản hồi góc quay, vận tốc góc và gia tốc góc của cánh tay 1
Hình IV.4 Dạng tín hiệu phản hồi góc quay, vận tốc góc và gia tốc góc của cánh tay 2
Trang 38IV.1.2.2 Kiểm tra đặc tính của mạch động lực điều khiển động cơ
Do đặc tính vật lý của các linh kiện điện tử sử dụng như transistor và đặc tính
trigger của IC 74HC14 nên xung kích ngõ ra có sự trễ.Sự trễ này ảnh hưởng đến việc
điều khiển vì tín hiệu điều khiển ngõ ra không giống như mong muốn.Ta tiến hành đo
đạc dùng giao động ký số để xác định đặc tính trễ của mạch động lực
Bảng đặc tính trễ của mạch động lực
Phần trăm công suất đặt (%)
Phần trăm ngõ ra trên dao động ký (%)
Duty trễ ở ngõ ra (%)
Để khắc phục sự trễ này, ta thêm một khâu hiệu chỉnh phần trăm công suất ngõ ra
PWM_fixed có nội dung :
Trang 40IV.1.3 Chương trình thu thập dữ liệu từ DSP
Hình IV.5 Chương trình thu thập dữ liệu từ DSP
¾ Các khối khởi động hệ thống:
Hình IV.6 Các khối Initialze, Header, Source, Output
Các khối này cho phép chúng ta khai báo các thông số và hàm khi khởi động chương trình Do đặc điểm của chương trình là đọc tín hiệu góc quay của trục động cơ bằng External Interrupt nên ta cũng khai báo các chương trình đọc encoder trong các khối này
¾ Khối tín hiệu kích: