Mục lục
LỜI MỞ ĐẦU. 1
CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN SỐ . 3
1.1 KHÁI NIỆM VỀ HỆ THỐNG ĐIỀU KHIỂN SỐ . 3
1.1.1 Khái quát chung về điều khiển số . 3
1.1.2 Cấu trúc của một hệ thống điều khiển số. 4
1.1.3 Một vài hệ thống ứng điều khiển số trong thực tế . 5
1.2 MÔ HÌNH TÍN HIỆU VÀ HỆ THỐNG. 11
1.2.1 Mô hình hệ thống điều khiển số . 11
1.2.2 Mô hình khâu ADC . 12
1.2.3 Mô hình khâu DAC . 13
1.2.4 Hàm truyền của khâu chậm bậc không (ZOH) . 14
1.2.5 Kết hợp hàm truyền của các khâu DAC, hệ thống con Analog và
Khâu ADC. 15
1.2.6 Hàm truyền vòng kín của hệ thống . 17
1.2.7 Mô hình nhiễu trong hệ thống điều khiển số . 18
1.3 ĐIỀU KHIỂN SỐ TRUYỀN ĐỘNG ĐIỆN . 19
CHƯƠNG 2. DSP TMS320F2812 VÀ CÁC CÔNG CỤ HỖ TRỢ PHÁT
TRIỂN . 24
2.1 CẤU TRÚC DSP TMS320F2812. 24
2.1.1 Giới thiệu chung . 24
2.1.2 Cổng vào ra số ( Digital I/O ) . 27
2.1.3 Chuyển đổi tương tự số ( ADC). 36
2.1.4 Hệ thống ngắt F2812 . 44
2.1.5 Modul quản lý sự kiện (EV ). 50
2.2 BOARD EZDSP F2812 . 53
2.2.1 Cấu tạo . 53
2.2.2 Thiết lập chế độ hoạt động của board mạch với các Jumper. 55
129
2.3 CÁC MÔI TRƯỜNG PHẦN MỀM HỖ TRỢ PHÁT TRIỂN DSP C2000 58
2.3.1 Sử dụng trình biên dịch CCS . 58
2.3.2 Sử dụng môi trường lập trình đồ họa ViSsim. 59
2.3.2 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000 . 62
2.4 SỬ DỤNG MATLAB ĐỂ TẠO MÃ LỆNH VÀ THU THẬP DỮ LIỆU TỪ
DSP TMS320F2812 . 63
2.4.1 Sử dụng thư viện tic200lib. 63
2.4.2 Các khối thư viện. 68
CHƯƠNG 3. THỰC HIỆN BỘ ĐIỀU KHIỂN SỐ SỬ DỤNG DSP
TMS320F2812 . 80
3.1 MÔ TẢ HỆ THỐNG ĐIỀU KHIỂN . 80
3.1.1 Đối tượng điều khiển . 80
3.1.2 Thiết bị đo lường . 84
3.1.3 Thiết bị điều khiển. 90
3.2 THỰC HIỆN CÁC CẤU TRÚC ĐIỀU KHIỂN . 99
3.2.1 Các cấu trúc điều khiển. 99
3.2.2 Tổng hợp bộ điều khiển và mô phỏng offline. 104
3.2.3 Điều khiển realtime với DSP F2812 . 111
KẾT LUẬN. 120
TÀI LIỆU THAM KHẢO . 121
PHỤ LỤC 1 . 122
PHỤ LỤC 2 . 127
129 trang |
Chia sẻ: lethao | Lượt xem: 4051 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu thực hiện bộ điều khiển số trên nền tảng DSP TMS320C2000S, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
các cổng mở rộng P8-P4 bvà P2 tương ứng. Tuy nhiên nhà sản xuất chưa gắn
Jumper này vào, nếu người sử dụng muốn đưa nguồn ra ngoài để sử dụng thì cần
phải hàn jumper này vào. Cần phải xem xét khả năng cung cấp công suất của
nguồn ổn áp trong mạch eZdspF2812 với yêu cầu của tải bên ngoài. chúng ta
không nên sử dụng những nguồn này mà nên cung cấp nguồn riêng khi mở rộng
giao tiếp bên ngoài. Phải chú ý là khi giao tiếp với các port của DSP
TMS320C2000, thì mức điện áp không được vượt ra khỏi tầm 0-3.3V. Tuyệt đối
không cung cấp nguồn 5V trực tiếp vào các pin của DSP.
b) JP1
Lựa chọn chế độ hoạt động cho DSP
Hình 2.43 Thiết lập chế độ hoạt động cho DSP
Đặt Jumper ở vị trí 2 – 3 để chọn chế độ Microcomputer.
c)JP7, JP8, JP11, JP12: lựa chọn chế độ Boot
Các Jumper JP7, 8,11 & 12 được dùng để xác định chế độ mà DSP sẽ khởi động
sau khi cung cấp nguồn. Để có tín hiệu ’High’, đặt jumper ở vị trí 1 – 2, còn
trạng thái ’Low’ sẽ đạt được khi đặt jumper ở vị trí 2 – 3.
Hình 2.44 Lựa chọn chế độ boot
57
Thông thường ta đặt chế độ boot ở trạng thái ’FLASH’ hoặc ’H0’:
∙ Ở chế độ FLASH, chương trình được nạp vào bộ nhớ Flash (ở dòng F) hoặc
Rom (ở dòng C), chúng ta chỉ nên đặt boot ở chế độ Flash khi chương trình đã
hoàn thiện hoặc muốn cho hệ thống chạy ở chế độ ’Stand Alone’.∙ Ở chế độ H0,
chương trình được đổ vào bộ nhớ RAM nội hoặc ngoại của board mạch eZd-
spF2812, chế độ này thích hợp cho việc phát triển chương trình. Tuy nhiên khi
khởi động lên,chương trình phải được nạp từ host (tức là PC) vì bộ nhớ RAM
không lưu giữ được dữ liệu khi nguồn mất đi. Ưu điểm của chế độ boot từ H0 là
hệ thống hoạt động ở tốc độ cao nhất (khoảng 150MHZ), so với chế độ Flash
(khoảng 120 130MHZ). Vấn đề chọn chế độ boot khá quan trọng, nên sẽ được
đề cập đến trong các phần sau nữa.
d) JP9, PLL disable
JP9 cho phép / không cho phép mức logic PLL trong DSP.
Hình 2.45 Thiết lập PLL
Nếu chế độ PLL không được chọn, DSP sẽ hoạt động với tần số bằng tần
số thạch anh bên ngoài, là 30Mhz. Trường hợp chế độ PLL được chọn, tần số
DSP hoạt động phụ thuộc vào cài đặt PLL ở chương trình, nhưng không được
vượt quá 150Mhz. Theo mặc định, chúng ta sẽ chọn chế độ cho phép PLL. Như
vậy trước khi thực hiện chương trình trên board mạch, chúng ta phải chú ý đến
việc thiết lập Jumper trước tiên. Việc thiết lập jumper sai có thể dẫn đến chương
trình chạy không đúng mục đích.\
58
2.3 CÁC MÔI TRƯỜNG PHẦN MỀM HỖ TRỢ PHÁT TRIỂN DSP
C2000
2.3.1 Sử dụng trình biên dịch CCS
CCS – Code Composer Studio là môi trường soạn thảo IDE của Texas
Instrument cho các thế hệ DSP cũng như MCU của TI, bao gồm việc soạn thảo
mã lệnh, dịch, liên kết và debug chương trình.Ưu điểm rất lớn của CCS là khả
năng kết nối với phần cứng, debug online, vẽ đồ thị thời gian thực . . .CCS là sẽ
giúp cho quá trình phát triển giải thuật cải thiện đáng kể về thời gian. Tuy nhiên
để CCS kết nối được với phần cứng khác nhau thì cần phải thiếp lập kết nối
CCS với phần cứng đó [5,7].
Việc làm quen với CCS sẽ giúp cho chúng ta tiết kiệm được nhiều thời
gian hơn khi phát triển các project trên môi trường này. Môi trường làm việc của
CCS được tóm gọn như sau:
Hình 2.46 Môi trường soạn thảo Code Composer Studio
- Source: C và Assembly.
- Libraries
- DSP/BIOS config., dùng để tạo nhân điều hành cho chương
- Linker command file: F2812_EzDSP_RAM_lnk.cmd và
DSP281x_Headers_BIOS.cmd, hai file này dùng để cấu hình cho việc phân chia
59
bộ nhớ và dịch mã nguồn. Để nạp chương trình vào DSP và cho chạy chương
trình này, chúng ta làm như sau:
- Kết nối CCS với phần cứng: > Debug > connect. Ta sẽ thấy có một cửa
sổ bong bóng hiện ra báo là đã kết nối được với phần cứng.
- Dịch chương trình: Project > Build (F7). Nếu không có lỗi nào, mục
Status Window sẽ báo là không có lỗi biên dịch chương trình.
- Nạp chương trình vào phần cứng: > File> Load Program, chọn thư mục
Debug, rồi chọn file nạp vào DSP
- Chạy chương trình: > Debug > Run
Debug chương trình
Debug là công việc thường xuyên khi viết chương trình, vì vậy tìm hiểu
môi trường debug của CCS là cần thiết. CCS cung cấp một hệ thống các công cụ
giúp cho công việc debug diễn ra thuận lợi.
Khi Debug với CCS người lập trình có thể thêm vào các Break Point
,quan sát sự thay đổi của một biến hay debug từng bước để kiểm tra từng đoạn
chương trình.
2.3.2 Sử dụng môi trường lập trình đồ họa ViSsim
a) giới thiệu
VisSim/Embedded Controls Developer là một trong những công cụ bộ
công cụ hữu ích của VisSim giống như embedded ide của matlab .Là môi trường
phần mềm phát triển tích hợp ,VisSim cho phép xây xựng một cách nhanh
chóng bộ điều khiển nhúng trên họ DSPC2000 của Texas Instruments [13] .
VisSim/Embedded Controls Developer bao gồm
VisSim PE: Môi trường để xây dựng các khối chương trình và mô phỏng
VisSim/Fixed Point™: Các khối xử lý số học dấu phẩy tĩnh và mô phỏng
các phép toán dấu phẩy tĩnh
TI C2000 Digital Motor Control (DMC) Block Set : Các khối thư viện hỗ
trợ điều khiển động cơ .
Liên kết visSim-Code Composer Studio (CCS)
60
Tự động tạo mã lệnh TI C2000 DSP target và CCS
Hỗ trợ TI C2000 CAN Bus
Hỗ trợ Serial LCD
b) Các bước xây dựng hệ thống
Bước đầu tiên trong quá trình xây dựng bộ điều khiển trên DSPC2000 là
xây dựng mô hình toán .Từ các mô hình toán có sẵn người lập trình sử dụng các
khối có sẵn trong thư viện để sử dụng và kết nối các khối theo một cấu trúc xác
định như hình phía dưới .
Hình 2.47 Mô hình trên VisSim
Tiếp theo là tiến hành mô phỏng .Người lập trình sử dụng các khối đại
diện cho bộ điều khiển hay bộ lọc để tạo ra mã lệnh biên dịch và liên kết nạp
xuống DSP .Sau đó có thể dễ dàng so sánh kết quả mô phỏng và thực nghiệm để
chứng tỏ rằng nó là giống nhau .
61
Hình 2.48 Môi trường lập trình đồ họa ViSsim
Các giao diện đồ họa GUI cho phép giữ lại các thuật thoán thực hiện trên
DSp giúp phân tích các đặc tính thực của đối tượng . Các mã ANSI C có thể
được tạo ra trực tiếp cùng với Composer Studio cho phép mã lệnh tạo ra tích
hợp với các mã khác được phát triển người sử dụng.
TI C2000 Digital Motor Control (DMC) Block Set là khối thư viện điều
khiển số động cơ bao gồm các mã C tương tứng ( chỉ sử dụng để mô phỏng ) và
phiên bản C-callable (sử dụng để mô phỏng DSP-in-the-loop) . Các thư viện TI
C2000DMC bao gồm các khối DMC như điều chỉnh PI, PWM , điều chế không
gian Vector …..
Hình 2.49 Hộp thoại thiết lập tham số bộ PID ViSsim
Như vậy về cơ bản VisSim giống như matlab trong quá trình xậy dựng
biên dịch và nạp chương trình xuống DSP .VisSim rất mạnh vẽ việc thu thập dữ
liệu từ DSP ,thuận lợi trong việc phân tích đặc tính hệ thống trong khi công việc
này khó khăn hơn với phần mềm embedded ide link target C2000 của
62
matlab.Tuy nhiên các khối thư viện của VisSim còn hạn chế trong khi đây là
điểm mạnh của matlab.
2.3.2 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000
Matlab là một bộ chương trình phần mềm lớn của lĩnh vực tính toán số
.Tên bộ chương trình chính là tữ viết tắt MATrix LABoratory thể hiện hướng
chính của chương trình là các phép tính véc tơ , ma trận.Matlab được ứng dụng
rộng rãi trong kha học kỹ thuật nhờ khả năng xử lý toán học rất mạnh của nó và
một số lượng thư viện toolbox lớn sử dụng để mô phỏng hay điều khiển trực tiếp
từ matlab [3] .
Một tiện ích của phần mềm matlab được sử dụng rất phổ biến trên thế giới
hiện nay là lập trình nhúng và thu thập dữ liệu từ các hệ nhúng .Matlab hỗ trợ
các gói công cụ cho từng loại vi xử lý nhúng và hỗ trợ rất mạnh cho vi xử lý tín
hiệu số của Texas Intrument bao gồm các họ vi xử lý C2000,C5000 và C6000.
Việc lập trình từ matlab được thực hiện theo hình sau [15] :
Hình 2.50 Phương thức liên kết matlab và TIC2000
Các bước sử dụng matlab để lập trình cho DSPTIC2000
- Xây dựng chương trình trên simulink
- Mô phỏng
Chú ý : trong một số trường hợp có thể chạy được mô hình khi mô phỏng nhưng
nó không chạy đúng trong các mã lệnh được tạo ra khi nạp xuống vi xử lý .Do
63
đó cần có kiến thức nhất định về từng họ vi xử lý trước khi sử dụng matlab để
xây dựng hệ thống trên nền tảng các vi xử lý này.
- Tạo mã lệnh (C/ASM)
- Nạp chương trình cho C2000 thông qua chương trình Code Composer
Studio
- Chạy chương trình và debug
2.4 SỬ DỤNG MATLAB ĐỂ TẠO MÃ LỆNH VÀ THU THẬP DỮ LIỆU
TỪ DSP TMS320F2812
2.4.1 Sử dụng thư viện tic200lib
a)Giới thiệu
Phần này sử dụng ví dụ để giải thích cách tạo ra một mô hình simulink sử
dụng gói phần mềm hỗ trợ cho board.Ví dụ này tạo ra một mô hình thực hiện
điều khiển hệ số duty PWM bằng cách điều khiển độ rộng xung .Điện áp tương
tự được lấy bên ngoài thông qua bộ biến đổi ADC làm tín hiệu điều khiển .Mô
hình này cũng được cung cấp trong thư viện demo của matlab .
b) Các bước sử dụng matlab – simulink cho DSP C2000
Khởi động thư viện c2000lib
Từ dấu nhắc gõ lệnh
>> C2000lib
Để mở C2000lib ,bao gồm các khối thư viện được xây dựng cho board
của bạn
Hình 2.48 Thư viện TIC2000
64
Khái quát chung về các khối trong thư viện c2000lib [14]
- C2000 RTDX Intrumentation ( rtdx blocks ) khối này thêm kênh truyền
thông RTDX vào mô hình simulink .
- C2000 Target Preferences (c2000tgtpreflib) – Các khối này để xác định
Target Preferences và các tùy chọn.Chúng ta không kết nối khối này với
bất kỳ khối nào khác .
- Host SCI Blocks (c2000scilib) – Khối này thiết lập cấu hình cho truyền
thông CAN.
- Host SCI Blocks (c2000scilib) – Khối này thiết lập giao diện truyền thông
phía host-side để truyền và nhận dữ liệu qua cổng nối tiếp.
Hỗ trợ các Chip [14]
• C280x (c280xlib) — Blocks to configure the F2808 eZdsp DSK or on
C280x-based custom boards
• C281x (c281xlib) — Blocks to configure the F2812 eZdsp DSK or on
C281x-based custom boards
• C28x3x (c2833xlib) — Blocks to configure the F2833 eZdsp DSK or on
C28x3x-based custom boards
• C2802x (c2802xlib) — Blocks to configure the C2802x eZdsp DSK or
on C2802x-based custom boards
• C2803x (c2803xlib) — Blocks to configure the C2803x eZdsp DSK or
on C2803x-based custom boards
• Custom C2000 (c2000xlib) — Blocks to configure C2000-based custom
boards
Các thư viện tối ưu hóa
Các thư viện tối ưu hóa c2000optimizedblks bao gồm
- C28x IQ math library (tiiqmathlib) – bao gồm các khối toán học dấu phẩy
tĩnh cho C28x Target.
- 28x DMC Library (c28xdmclib) – Bao gồm các khối toán học dấu phẩy
tĩnh phục vụ cho điều khiển số động cơ cùng với C28x DSP.
Cài đặt tham số mô hình
65
Nhiệm vụ sơ bộ cho việc thiết lập một mô hình mới bao gồm thêm một
khối Target Preferences và thiết lập các tham số mô phỏng .
1.Trong thư viện C2000lib chọn File>New>Model để tạo một mô hình
simulink.
2.Trong cửa sổ Library c2000lib double-click vào khối C2000 Target
Preferences.
3. Từ cửa sổ Target Preferences kéo khối F2812 EZDSP vào mô hình.
4. Chọn YES để cho phép tự động cài đặt .Các cài đặt trong bảng dưới
đây sẽ được tạo ra trong hộp thoại Simulation > Configuration Parameters
Chú ý : Để thực hiện một stop-time trong các mã lệnh được tạo ra bạn phải đặt
một khối Stop trong mô hình.
- Một khối Target Preferences phải có ở trong mỗi một mô hình .Nó không
kết nối với bất kỳ khối nào khác mà đứng một mình có tác dụng thiết lập
các tham số mô hình (thiết lập các thông số phần cứng )
5.Từ menu chính của mô hình bạn chọn Simulation > Configuration
Parameters để xác nhận và thiết lập các tham số mô phỏng cho mô hình này.Các
tham số bạn thiết lập trong hộp thoại này thuộc về mô hình mà chúng ta đang
xây dựng chúng được lưu cùng với mô hình và được lưu trữ trong tập tin mô
hình.
66
6.Sử dụng bảng Real-Time Workshop cho mô hình Real-Time
Hình2.51 Hộp thoại Configuration Parameters
7. Sử dụng nút Browse để tìm và chọn một tập tin cấu hình Target ,
ccslink_grt.tlc hoặc ccslink_ert.tlc .Khi bạn làm điều này phần mềm Real-Time
Workshop lựa chọn các tập tin hệ thống Target phù hợp và tạo ra các điều khiển
.
8. Thiết lập cấu hình các tham số nhấn tổ hợp phím Ctrl + E và điều chỉnh
các tham số này ( xem lại phần thiết lập tham số mô hình và phần giới thiệu về
việc tạo ra một mô hình chạy trên Target).
Thêm các khối vào mô hình
1. Open hay double-click vào C281x library, c281xlib.
67
Hình 2.52 Các khối ngoại vi trong thư viện TIC2000lib
2. Kéo khối C281x ADC vào mô hình . Double-click vào khối ADC và
cài đặt thời gian lấy mẫu là 64/80000 .Sử dụng giá trị mặc định cho tất cả
thông số khác .
Kéo khối C281x PWM vào mô hình Double-click vào khối PWM để cài
đặt các thông số như bảng phía dưới .
Hình 2.53 Thiết lập tham số PWM
68
3. Nhập lệnh >>simulink từ Matlab để mở simulink .Trong thư viện
Math của simulink kéo khối Gain vào mô hình và thiết lập các thông số như sau.
4. Kết nối khối ADC với Gain và đến PWM như hình phía dưới .
Hình 2.54 Ví dụ thay đổi động rộng xung PWM bằng đầu vào ADC
Tạo ra mã lệnh từ mô hình
Phần này giới thiệu tóm tắt làm thế nào để tạo ra mã lệnh từ các mô hình
real-time.
Chúng ta bắt đầu quá trình tạo mã lệnh tự động từ cửa sổ mô hình
simulink bằng cách nhấp vào cửa sổ Generate code trong bảng Real-Time
Workshop của hộp thoại Configuration Parameters .Một cách khác là click vào
nút Incremental Build trên thanh công cụ của mô hình .Hay là sử dụng phím tắt
Ctrl + B khi mô hình đang được mở.
Chú ý : Sau khi biên dịch xong , trong CCS chúng ta sẽ thấy project cùng
với các tập tin .
2.4.2 Các khối thư viện
1.Absolute iqn
khối này tính toán giá trị tuyệt đối cảu đầu vào IQ .Dầu ra cũng là một số
IQ
69
2. Arctangent IQN
khối arctangent tính toán arctang của số IQ đầu vào và đầu ra là một số IQ
.
- arctan2 : tính arctang của 4 góc phần tư đầu ra là radians giá trị từ - π
đến π .
- arctan2pu : tính arctang trên mỗi đơn vị .Nếu arctan2(B,A) >=0
,arctan2pu(B,A) = atan2(B,A)/2*π .Nếu không arctan2pu(B,A) =
arctan2pu(B,A)=arctan2(B,A)/(2* π+1).Đầu ra nằm trong mỗ đơn vị Radian với
giá trị từ 0 đến 2* π rad [14].
chú ý : thứ tự đầu vào cho khối arctangent IQN tương ứng với quy ước của
texas Intrument với A ở trên và B ở dưới [14] .
3. GPIO Digital input
Khối này thiết lập các chân vào ra mục đích chung I/O(GPIO).Thanh ghi
điều khiển chia sẻ các chân vào ra số .Mỗi cổng I/O có một thanh ghi MUX
được dùng để chọn hoạt động các ngoại vi hoặc đầu vào ra số .
4. C281x GPIO digital output
Khối này thiết lập các chân vào ra mục đích chung I/O(GPIO).Thanh ghi
điều khiển chia sẻ các chân vào ra số .Mỗi cổng I/O có một thanh ghi MUX
được dùng để chọn hoạt động các ngoại vi hoặc đầu vào ra số .
70
5.Watch dog
Khối này thiết lập bộ đếm cho modul watchdog để reset DSP .
Hộp thoại
Hình 2.55 Hộp thoại bộ Watch dog
Watchdog couter reset source
- INPUT : Tạo ra một cổng đầu vào trên khối watchdog.đầu vào tín hiệu
reset bộ đếm.
- Sperify viadialog : Sử dụng giá trị của thời gian lấy mẫu để reset timer .
- Sample time ( thời gian lấy mẫu ) :Sau mỗi khoảng thời gian bộ
watchdog timer được reset .
6. Bộ Chuyển đổi tín hiệu tương tự sang tín hiệu số - ADC
Thiết lập khối ADC của C281x .ADC của C281x thực hiện chuyển đổi tương tự
sang số của các tín hiệu kết nối với các chân ADC đầu vào được chọn .Giá trị
đầu ra các khối ADC được lưu trữ trong các thanh ghi .
Sự kích hoạt :
Các chế độ kích hoạt ADC phụ thuộc vào các thiết lập bên trong single
source start of conversion (SOC) .Trong chế độ không đồng bộ các ADC thường
71
được kích hoạt bằng phần mềm tại mỗi khoảng thời gian lấy mẫu quy định tại
các khối ADC .
Trong chế độ đồng bộ các bộ quản lý sự kiện (EV) được liên kết với ADC
và kích hoạt ADC .Trong trường hợp này ADC được đồng bộ với các bộ điều
biến độ rộng xung PWM.ADC start conversion được đặt từ khối PWM .
Chú ý : ADC không thể đồng bộ cùng với PWM nếu ADC hoạt động ở
chế độ cascaded .
Đầu ra của C281x ADC là một véc tơ kiểu Unit16.Giá trị đầu vào trong
khoảng từ 0 đến 4095 bởi vì ADC là 12bit .
7.CAP - Bắt giữ sự kiện
Thiết lập tham số của bộ CAP của modul quản lý sự kiện (EV) .Bộ capture sẽ
chuyển giá trị của bộ định thời vào ngăn xếp FIFO khi có sườn lên ,sườn xuống
hoặc cả sườn lên và sườn xuống.
C281x có 6 bộ capture – 3 bộ được ghép vào 1 modul EV .Capture 1,2, 3
là EVA và 4,5,6 thuộc EVB .Mỗi capture tương ứng với một chân capture đầu
vào .
Mỗi nhóm modul capture có thể sử dụng một trong hai bộ định thời mục
đích chung .EVA là timer1 hoặc timer2 và EVB là timer3 hoặc timer4 .Khi cos
sự kiện xảy ra trên các chân capture đàu vào thì module này lưu trữ giá trị hiện
tại của bộ định thời vào hai ngăn xếp FIFO .
Chú ý :Chúng ta có thể có 2 khối CAP trong mô hình của bạn .Mỗi khối cho một
modul EV .
đầu ra (Output ) : mỗi khối có hai đầu ra .Một đầu ra cnt ( count ) và một
tùy chọn là đầu ra cờ trạng thái FIFO .Các giá trị cờ trạng thái đầu ra là :
- 0 – FIFO rỗng : Không có capture xảy ra hay giá trị lưu trữ tước đó
- 1 – FIFO có một entry ở thanh ghi trên cùng của ngăn xếp
- 2 – FIFO có 2 entry ở trong ngăn xếp
72
- 3 – Có 2 entry ở trong ngăn xếp và một hay nhiều giá trị capture bị bỏ
qua .Điều này xảy ra vì một capture xảy ra trước khi ngăn xếp FIFO
được đọc .Các giá trị mới được đặt ở thanh ghi phía dưới .Giá trị của
thanh ghi phía dưới bị đẩy lên trên và giá trị trên đầu bị đẩy ra khỏi
ngăn xếp .
8.PWM - Điều biến độ rộng xung
DSP F2812 bao gồm một bộ điều biến độ rộng xung PWM được sử dụng
để tạo ra các tín hiệu khác nhau .Khối này cung cấp các tùy chọn để thiết lập bộ
quản lý sự kiện A hoặc B để tạo ra dạng sóng theo yêu cầu .12 PWM được cấu
thành với 6 cặp ,3 cặp trong mỗi modul .Các modul PWM của C281x chia sẻ Gp
timer với các khối khác .
Chú ý : Tất cả các đầu vào khối PWM phải là giá trị vô hướng .
9.C281x TIMER
Thiết lập bộ định thời mục đích chung ( general purpose timer – GPtimer
) trong modul quản lý sự kiện .
C281x gồm 2 modul quản lý sự kiện .Mỗi modul có chứa 2 bộ định thời
mục đích chung GPtimer >bạn có thể sử dụng những bộ timer làm căn cứ thời
gian độc lập cho các ứng dụng khác nhau .Sử dụng khối timer C281x để thiết lập
chu kỳ của các timer .Mỗi mô hình có thể có 4 khối timer .
Các modul C281x timer thiết lập GPtimer để cho các khối khác “chia sẻ “
10.QEP – Bộ mã hóa xung encoder
73
Mỗi bộ quản lý sự kiện trên F2812 có 3 đơn vị capture ,modul A là 1,2,3
và modul B là 4,5,6 .Các bộ mã hóa xung encoder ( QEP ) Giải mã và đếm các
xung encoder ở đầu vào của các chân capture .Xung QEP là 2 chuỗi xung tần số
thay đổi và lêch nhau một góc 900 ( hay laf ¼ chu kỳ ) .Mạch đếm cả hai cạnh
lên và xuống của xung QEP vì vậy tần số clock QEP là 4 lần tần số của mõi
kênh đầu vào.
QEP kết hợp với các encoder quang rất hữu ích để đo tốc độ và thông tin
định vị đĩa quay .Mạch logic trong QEP xác định chiều quay căn cứ trên 2 tín
hiệu xung encoder .Nếu QEP1 nhận tín hiệu trước (QEP1 sequence leads ) thì
các bộ định thời mục đích chung đếm lên và nếu QEP2 nhận tín hiệu trước
(QEP2 sequence leads ) thì bộ định thời đếm xuống .Số xung đếm và tần số xác
định vị trí và tốc độ .
11.Software interrupt trigger
kích hoạt các ngắt “không che được” từ phần mềm.
Khi thêm khối này vào mô hình ,khối này kiểm tra giá trị đầu vào .Khi giá
trị đầu vào lớn hơn giá trị trong phần mềm thì kích hoạt ngắt phần mềm ,khối
này tác động đến các khối ngắt phần cứng trong mô hình .
Để sử dụng khối này ,thêm khối ngắt phần cứng vào mô hình để quá trình
kích hoạt ngắt phần mềm từ khối này đi đến dịch vụ phục vụ ngắt trên vi xử lý
.Đặt số hiệu của ngắt vào một khối ngắt phần cứng(HardwareInterrup) để giá trị
đặt này vào trong CPU interrupt number .
Các ngắt CPU và số hiệu ngắt PIE cùng xác định một ngắt duy nhất cho
một modul ngoại vi hay một ngoại vi.
12.Clarke transformation
Chuyển đổi hệ tọa độ ba pha cân bằng sang hai pha vuông góc
74
Khối này chuyển đổi ba pha cân bằng sang hai pha vuông góc .Việc chuyển đổi
được thực hiện theo phương trình sau [14]
(2.3)
Và được minh họa trong hình sau [14]
Hình 2.56 chuyển đổi hệ tọa độ ba pha cân bằng (abc) sang
hai pha vuông góc (dq)
Đầu vào của khối là pha a (As) và pha b (Bs) là thành phần của ba pha
cân bằng và đầu ra là hướng trục quay (direct axis ) (Alpha) , trục vuông
góc(quadrature axis) (Beta ) của tín hiệu chuyển đổi .
Đầu ra được định nghĩa bởi các phép toán dưới đây và được minh họa
bằng hình vẽ [14]
(2.4)
75
Hình 2.57 Véc tơ dòng trong hệ tọa độ abc và dq
13.Inverse park transformation
Chuyển đổi hệ quy chiếu véc tơ quay sang hệ quy chiếu hai pha cố định
Khối này chuyển đổi véc tơ trong một hệ quy chiếu quay sang hệ quy chiếu hai
pha cố định .Việc chuyển đổi được thực hiện theo công thức sau [14]
Và hình vẽ
Hình 2.58 Chuyển đổi véc tơ dòng stato từ hệ tọa độ quay DQ
sang hệ tọa độ cố định dq
76
Đầu vào của khối là hướng trục quay (direct axis) Ds và trục vuông góc (
quadrature axis) Qs .Thành phần của tín hiệu chuyển đổi trong khung quay và
góc pha (Angle) giữa khung quay và khung cố định.
Đầu ra là direct axis ( alpha ) và quadrature axis ( Beta ) .Thành phần của
tín hiệu chuyển đổi (transformed signal).
14.Space vector generator
Điều chỉnh hệ số duty để tạo điện áp xác điịnh trên stato
Khối này tính toán hệ số duty thích hợp để tạo ra một giá trị điện áp Stato
xác định sử dụng kỹ thuật véc tơ không gian PWM .Độ rộng xung véc tơ không
gian là một dãy chuyển mạch của ba van phía cao của một biến tần ba pha
nguồn áp và được sử dụng trong các ứng dụng như cảm ứng ,động cơ AC ,động
cơ đồng bộ nan châm vĩnh cửu .Các chuyển mạch tạo ra dạng “sin giả” trong
Stato .
Đầu vào của khối
Thành phần Alpha – véc tơ điên áp stato trong hệ quy chiếu cố định (Ua)
Thành phần beta – Véc tơ điện áp stato trong hệ quy chiếu cố định (Ub)
Hai thành phần này được tạo ra bởi inverse clacke và projected into reference
phase voltages . Điện áp đầu ra được điều chỉnh thông qua PWM1(Ta)
,PWM3(Tb) và PWM5 (Tc).
15.Park Transformation
Chuyển đổi hệ thống véc tơ 2 pha cố định sang hệ véc tơ quay
77
Khối này chuyển đổi véc tơ trong hệ hai pha cố định thành khung véc tơ
quay .Việc chuyển đổi được thực hiện theo phương trình sau [14]
(2.6)
Và trong hình
Hình 2.58 Chuyển đổi véc tơ dòng stato từ hệ tọa độ cố định dq
sang hệ tọa độ quay DQ
Đầu vào khối là derect axis ( alpha) và quadrature axis ( beta ) thành phần
của tín hiệu chuyển đổi và góc pha (angle ) giữa khung cố định và khung quay
Đầu ra là direct axis ( DS) và quadrature axis ( QS) thành phần của tín
hiệu chuyển đổi khung quay (transformed signal in the rotating frame) .
16.PID controler – Bộ điều khiển PID C2000
Mục đích : Thực hiện bộ điều khiển PID
Thư viện : “C281xDMC(C281xDMClib)”
Mô tả :
Khối này thực hiện một bộ biến đổi PID số 32 bit cùng với anti-windup
correction .Đầu vào là giá trị tham chiếu (ref) hay giá trị đặt và tín hiệu phản hồi
(fbd) .Dưới đây là sơ đồ bộ PID cùng với anti-windup [14]
78
Hình 2.59 Sơ đồ khối bộ PID
Các phương trình vi phân mô tả bộ điều khiển PID trước khi bão hòa:
(2.6)
Ở đây Ppresat là đầu ra của bộ PID trước khi bão hòa ,Up là thành phần tỉ lệ ,Ui là
thành phần tích phân và Ud là thành phần vi phân.
Thành phần tỉ lệ :
(2.6)
Ở đây Kp là hệ số tỷ lệ và e(t) là sai lệch giữa giá trị đặt và giá trị phản hồi
Thành phần tích phân
(2.6)
Ở đây Kc là hệ số hiệu chỉnh tích phân của bộ PID
Thành phần vi phân
79
(2.6)
Ở đây Td là hằng số thời gian vi phân của bộ PID .Trong miền thời gian
gián đoạn hệ số vi phân là Kd = Td/T và hệ số tích phân là Ki = T/Ti ,Khi T là
thời gian lấy mẫu và Ti là hằng số thời gian tích phân của bộ PID
Sử dụng phương pháp xấp xỉ gần đúng ,Phương trình vi phân phương
trình vi phân này có thể chuyển thành các phương trình vi phân sau :
(2.6)
17.Speed measurement
Khối này tính toán tốc độ động cơ căn cứ trên vị trí roto khi xác định
được hướng .Đầu vào là góc điện ( theta ) và hướng quay (dir )từ encoder .Đầu
ra là tốc độ được mã hóa từ 0 – 1trong định dạng Q ,tần số ( Freq ) và tốc độ
vòng/phút.
80
CHƯƠNG 3. THỰC HIỆN BỘ ĐIỀU KHIỂN SỐ SỬ DỤNG
DSP TMS320F2812
3.1 MÔ TẢ HỆ THỐNG ĐIỀU KHIỂN
3.1.1 Đối tượng điều khiển
a) Cơ bản về động cơ điện một chiều
Động cơ điện một chiều hay còn gọi là động cơ điện hoạt động với dòng
điện một chiều hay còn gọi là động cơ DC .Nguyên tắc hoạt động của động cơ
điện một chiều
.
Hình 3.1 Nguyên lý hoạt động của động cơ điện một chiều
Stator của động cơ điện 1 chiều thường là 1 hay nhiều cặp nam châm vĩnh
cửu, hay nam châm điện, rotor có các cuộn dây quấn và được nối với nguồn điện
một chiều, 1 phần quan trọng khác của động cơ điện 1 chiều là bộ phận chỉnh
lưu, n
Các file đính kèm theo tài liệu này:
- Nghiên cứu thực hiện bộ điều khiển số trên nền tảng DSP TMS320C2000S.pdf