Đồ án Nghiên cứu thực hiện bộ điều khiển số trên nền tảng DSP TMS320C2000S

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

pdf129 trang | Chia sẻ: lethao | Lượt xem: 3941 | Lượt tải: 2download
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:

  • pdfNghiên cứu thực hiện bộ điều khiển số trên nền tảng DSP TMS320C2000S.pdf