Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP NGUYỄN HẢI YẾN
ỨNG DỤNG VI XỬ LÝ TÍN HIỆU SỐ TMS320 ĐỂ ĐIỀU
KHIỂN ĐỘNG CƠ BƢỚC PHỤC VỤ CÔNG TÁC ĐÀO TẠO
TẠI TRUNG TÂM THÍ NGHIỆM TRƢỜNG ĐẠI HỌC KĨ
THUẬT CÔNG NGHIỆP VÀ TRƢỜNG CAO ĐẲNG CÔNG
NGHIỆP THÁI NGUYÊN LUẬN VĂN THẠC SĨ KỸ THUẬT
Chuyên ngành: Kỹ thuật điều khiển và tự động hóa THÁI NGUYÊN, 2014
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi, các số liệu, kết
quả nêu trong luận văn này là trung thực và là công trình nghiên cứu của riêng tôi,
luận văn này không giống hoàn toàn bất cứ luận văn hoặc các công trình đã có trước
đó.
Thái Nguyên, tháng năm 2014
TÁC GIẢ LUẬN VĂN Nguyễn Hải Yến
i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
MỤC LỤC
Trang
Trang phụ bìa
Lời cam đoan
1.1.3 Sơ đồ chân của F2812.
6
1.1.4 Sơ đồ khối chức năng của F2812
7
1.1.5 Tổ chức không gian nhớ
15
1.2. Các môi trường phần mềm hỗ trợ phát triển TMS320F2812
18
1.2.1 Sử dụng trình biên dịch CCS (Code Composer Studio)
18
1.2.2 Sử dụng môi trường lập trình đồ họa ViSsim
19
1.2.3 Matlab và gói phần mềm hỗ trợ lập trình cho DSP TIC2000
20
1.3. Một số ví dụ của TMS320F2812 trong điều khiển
27
1.3.1. Ứng dụng DSP TMS320F28x và Matlab trong lĩnh vực điều khiển tự
động
27
1.3.2 Ví dụ sử dụng TMS320 trong điều khiển động cơ một chiều
27
1.4 Kết luận chương 1
28
i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
CHƢƠNG 2: MÔ HÌNH TOÁN HỌC CỦA ĐỘNG CƠ BƢỚC
29
2. 1 Cấu tạo động cơ bước.
29
44
3.1.3 Điều khiển phản hồi tín hiệu ra
45
3.2 Cấu trúc điều khiển động cơ bước.
45
3.2.1 Đối tượng điều khiển
47
3.2.2 Thiết bị điều khiển
48
3.3 Sơ đồ kết nối TMS320 và động cơ bước.
56
3.4 Kết nối các thiết bị.
56
3.5 Kết luận chương 3
57
CHƢƠNG 4: THÍ NGHIỆM VÀ KẾT LUẬN
58
4.1 Kết quả mô phỏng trong MATLAB
58
4.1.1 Sơ đồ chi tiết.
58
4.1.2 Kết quả mô phỏng
60
4.2 Thí nghiệm
61
4.2.1 Chế độ bước đủ (2 pha on)
61
4.2.2.Chế độ bước đủ (1 pha on)
63
i
Momen xoắn của tải: T
l
Hệ số ma sát: F
Vận tốc của rotor:
Điện trở của cuộn dây: R
Điện cảm của cuộn dây: L
iv
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
DANH MỤC CÁC HÌNH
Hình 1.1 Sơ đồ bố trí 176 chân của vi xử lí tín hiệu số TMS320F2812 6
Hình 1.2 Sơ đồ bố trí khối cấu trúc của TMS320F2812 7
Hình 1.3 Tổ chức không gian nhớ 16
Hình 1.4 Sơ đồ cấu trúc điều khiển động một chiều. 27
Hình 2.1 :Sơ đồ động cơ bước dùng nam châm vĩnh cửu 30
Hình 2.2 Động cơ bước đơn cực 31
Hình 2.3 Động cơ bước lưỡng cực 31
Hình 2.4Mặt cắt ngangcủađộng cơ bướcbiến từ trở 32
Hình 2.5 Sơ đồ mặt cắt ngang của động cơ bước lai 32
Hình 2.6 Sơ đồ nguyên lí động cơ bước m pha với rotor 2 cực và các lực điện
từ khi điều khiển bằng xung 1 cực. 33
Hình 2.8 Giản đồ xung trong chế độ half drive 36
Hình 2.9 giản đồ xung trong chế độ ware drive 36
Hình 2.10 Giản đồ xung của chế độ vi bước 37
Hình 2.11 Mô hình động cơ bước 41
Bảng 2.1 Chuyển mạch của các cuộn dây chế độ bước đủ 35
Bảng 2.2 Chuyển mạch của các cuộn dây chế độ nửa bước 35
Bảng 3.1 Bảng thông số động cơ bước 47
Bảng 4.1 Thứ tự cấp xung vào cuộn dây chế độ bước đủ (2 pha on) 61
Bảng 4.2 Thứ tự cấp xung điều khiển cho các cuộn dây chế độ bước đủ (1
pha on) 64
Bảng 4.3 Thứ tự cấp xung điều khiển vào cuộn dây chế độ nửa bước 66
Bảng 4.4 Thứ tự cấp xung điều khiển vào cuộn dây chế độ vi bước 68
1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
MỞ ĐẦU
1.Lí do chọn đề tài.
Chúng ta đang sống trong một kỷ nguyên hiện đại và đang được thừa hưởng
những thành quả tiến bộ của khoa học kỹ thuật. Cùng với sự phát triển của các
nghành khoa học kỹ thuật khác như điện tử, tin học, công nghệ điện tử viễn thông,
tự động hóa các dây truyền sản xuất vì vậy ngành tự động hóa đang phát triển mạnh
mẽ nó góp phần tăng năng xuất lao động và giảm chi phí về giá thành của các mặt
hang vì vậy tự động hóa không chỉ hiện đại và đa dạng mà còn có nhiều phương án
tối ưu nhằm tiết kiệm chi phí và nâng cao hiệu quả trong sản xuất.
Trong tự động hoá động cơ bước được ứng dụng hết sức rộng rãi. Động cơ
bước được dùng để điều khiển chuyển động của cánh tay robot, điều khiển tiêu cự
trong các hệ thống quang học, điều khiển định vị trong các hệ quan trắc, điều khiển
lập trình trong các thiết bị gia công cắt gọt kim loại… Trong công nghệ máy tính,
động cơ bước được dung trong ổ cứng, ổ mềm trong máy in.
Đặc biệt xuất phát từ yêu cầu nghiên cứu, đào tạo thực hành tại trung tâm thí
nghiệm trường đại học kĩ thuật công nghiệp và trường cao đẳng công nghiệp Thái
Nguyên.
Từ những lí do trên mà tôi đã lựa chọn đề tài “Ứng dụng vi xử lí tín hiệu số
Tiến hành mô phỏng bằng MATLAB, chạy thử nghiệm động cơ bước ở các
chế độ bước đủ, nửa bước, vi bước.
Để hoàn thành được luận văn này, tôi đã được gia đình, bạn bè, thầy cô giúp
đỡ rất nhiều. Tôi xin chân thành cảm ơn các thầy giáo, cô giáo, của trường
ĐHKTCN Thái Nguyên, xin cảm ơn bạn bè, đồng nghiệp đã giúp đỡ tôi trong thời
gian qua. Tôi xin gửi lời cảm ơn trân trọng nhất tới thầy giáo hướng dẫn TS Cao
Xuân Tuyển đã tận tình chỉ bảo để tôi có thể hoàn thành được luận văn.
Thái Nguyên, ngày tháng năm 2014
TÁC GIẢ LUẬN
Nguyễn Hải Yến
3
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
CHƢƠNG 1
KHÁI QUÁT VỀ VI XỬ LÍ TÍN HIỆU SỐ TMS320F2812
1.1 Tổng quan về phần cứng TMS320F2812.
1.1.1 Giới thiệu chung.
Ngày nay máy tính dần trở thành một phần không thể thiếu trong hầu hết các
hệ thống điều khiển. Với sự ra đời của các vi xử lí, tốc độ xử lí và tần số hệ thống
ngày càng cao làm cho sự xuất hiện của máy tính trong các hệ thống điều khiển tăng
lên đáng kể. Ưu điểm nổi bật của các hệ thống điều khiển số thể hiện ở khả năng dễ
dàng xây dựng và sửa đổi thuật toán điều khiển, độ chính xác cao, giá thành hù hợp.
Tuy nhiên hệ thống điều khiển số cũng có nhược điểm là tốc độ xử lí phụ thuộc vào
năng lực tính toán của các vi xử lí. Tuy nhiên vấn đề này đã được cải thiện đáng kể
trong các máy tính số hiện nay đảm bảo thực hiện tốt lí thuyết điều khiển hiện đại
với chất lượng cao. Vì vậy điều khiển số là một bước phát triển hoàn toàn phù hợp
với xu hướng phát triển của điều khiển tự động và tự động hóa
TMS320F2812 là thành viên của họ TMS320C28x ™ DSP, được tích hợp
cao, hiệu suất cao, là giải pháp cho các yêu cầu ứng dụng điều khiển. C28x ™ DSP
là thành viên mới nhất của nền tảng TMS320C2000 ™ DSP. C28x là một công cụ
- Mã nguồn tương thích với TMS320F320x/LF240x
* Bộ nhớ trên phiến (On- chip memory).
- Có 128Kx16 Flash( 4 mảng 8Kx16 và sáu mảng 6Kx16).
- 1Kx16 loại OTP ROM.
- L0 và L1: 2 khối loại 4Kx16.
- Có Ram truy cập đơn.
- H0: 1 khối 8Kx16 SARAM.
- M0 và M1: 2 khối loại 1Kx16 SARAM.
* Boot ROM(4Kx16).
- Có Boot Modes bằng Software.
- Standard math Tables.
5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
* Giao diện ngoài
Tối đa 1M bộ nhớ
* Kiểm soát xung đồng hồ và hệ thống.
- Hỗ trợ thay đổi hệ số PLL.
- Oscillator trên phiến.
- Modul đồng hồWatchdog.
* Ngắt ngoài.
* Khối hỗ trợ mở rộng (Peripheral Interrupt Expansion: PIE) tới 45 ngắt ngoại vi.
* Mã khóa an toàn 128 Bit.
- Bảo vệ Flash/ OTP và L0/L1 SARAM.
- Chống kĩ thuật phá Firmware.
* 3 đồng hồ CPU 32-Bit.
* Ngoại vi điều khiển máyđiện.
- Hai bộ Event Managers (EVA, EVB).
- Đủ cho tới 240 ngoại vi.
* Ngoại vi tuần tự( Serial Peripheral Interfaces: SCIS), Standard UART.
nguồn C28x hoàn toàn tương thích với các chip loại 24x/240x, tạo điều kiện cho
người sử dụng 240x có thể sử dụng các loại mảng mã quan trọng của họ. Thêm vào
đó, dòng C28x có khả năng sử dụng hữu hiệu C/C++, cho phép người sử dụng
không chỉ cài đặt phần mềm điều khiển phức hợp bằng ngôn ngữ bậc cao, còn có
thể phát triển các thuật toán học. Dòng C28x thực hiện có hiệu quả các phép tính
cũng như các bài toán điều khiển thời gian thực thường thấy trong các hệ thống thiết
bị điều khiển tự động. Khả năng cao đó đã cho phép loại bỏ yêu cầu sử dụng thêm
vi xử lí thứ hai, thường thấy trong nhiều hệ thống. Phép nhân MAC 32x32 bit MAC
của C28x và các khả năng xử lí 64 bit đã cho phép C28x xử lí hữu hiệu các vấn đề
8
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
tính số bậc cao, mà trong nhiều trường hợp đòi hỏi phải dùng tới giải pháp vi xử lí
dấu phẩy động đắt tiền. Thêm vào đó, tốc độ đáp ứng ngắt nhanh kèm theo khả
năng cất giữ nội dung các thanh ghi quan trọng, đã cho phép F2812 xử lí các sự
kiện bất thường với thời gian trễ bé nhất.
* Hệ thống BUS ghép nối với bộ nhớ (Memory bus, cấu trúc Harvard).
Cũng như những chip DSP khác, hệ thống nhiều bus được dùng để trao đổi số
liệu giữa CPU, bộ nhớ và ngoại vi. Kiến trúc bộ nhớ của C28x chứa những bus đọc
chương trình, bus đọc số liệu và ghi số liệu.Bus đọc chương trình có 22 lines địa chỉ
và 32 lines dữ liệu.32 lines dữ liệu cho phép truy cập 32 bit chức năng trong 1 nhịp
duy nhất. Kiến trúc nhiều bus, còn gọi là Harvard Bus, cho phép C28x lấy lệnh, đọc
và ghi dữ liệu trong vòng 1 chu kì máy. Tất cả những ngoại vi và bộ nhớ được gắn
vào bus bộ nhớ có thể được phân cấp ưu tiên truy cập bộ nhớ. Nói chung, ưu tiên
của bus bộ nhớ truy cập có thể được tóm tắt như sau:
- Cao nhất:
+ Ghi dữ liệu (ghi dữ liệu và chương trình không thể xảy ra đồng thời trên bus
bộ nhớ).
+ Viết chương trình (ghi dữ liệu và chương trình không thể xảy ra đồng thời
trên bus bộ nhớ).
TID ( Kiểm tra dữ liệu trong )
TDO ( kiểm tra dữ liệu ngoài)
TCK ( kiểm tra đồng hồ )
TMS ( kiểm tra chế độ chọn)
TRST( kiểm tra thiết lập tùy chọn)
* Giao diện ngoài (External Interface, XINTF ).
Giao tiếp bất đồng bộ bao gồm 19 dây địa chỉ, 16 dây số liệu và 3 dây chọn
chip. Các dây chọn chip được tổ chức liên kết với 5 vùng ngoài chip Zones 0, 1, 2,
6 và 7. Vùng 0 và 1 chia nhau sử dụng chung 1 dây chọn chip share a single chip-
select, vùng 6 và 7 chung nhau sử dụng 1 dây khác. Từng vùng trong số 5 vùng trên
có thể được lập trình với các số lượng nhịp đợi (wait states) khác nhau, tín hiệu đòi
hỏi thời gian giữ của từng vùng đều có thể được lập trình với thời gian đợi hoặc
không. Trạng thái đợi, dây chọn chip và tín hiệu đòi là khả trình đã làm cho việc
giao tiếp với bộ nhớ ngoài và với ngoại vi trở nên rất linh hoạt.
10
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
* Flash
Chip F2812 có:
- 126Kx 16 bộ nhớ Flash nhúng trên phiến.
- 1Kx16 loại OTP
Bộ nhớ Flash được tổ chức thành
- 4 mảng 8Kx16 và
- 6 mảng 16Kx16
- Người sử dụng có thể xóa, lập trình hay kiểm tra các mảng hoàn toàn độc
lập. Tuy nhiên không thể đồng thời chạy một mảng và xóa, ghi một mảng khác. Kĩ
thuật chồng kênh khi (pipelining) khi truy cập bộ nhớ đã làm tăng tính năng của bộ
nhớ Flash. Bộ nhớ Flash/OTP được tổ chức xen ở cả hai không gian nhớ chương
trình và số liệu, phục vụ cả hai nhu cầu chạy chương trình hoặc cất giữ số liệu.
* Các khối nhớ M0, M1 SARAMs.
- Một từ khóa 128 bit, mã hóa cứng với 16 nhịp chờ.
Người sử dụng tự nạp từ khóa này vào Flash. Một Module mã bảo mật (code
security module, CSM) được dùng để bảo vệ các khối Flash/OTP và L0/L1
SARAM. Khả năng bảo mật cho phép phòng chống đọc trộm hoặc nội dung bộ nhớ
qua cổng JTAG, hoặc mã chương trình từ các bộ nhớ ngoài, hoặc tìm cách boot nạp
phần mềm lạ với khả năng xuất ra ngoài nội dung các khối nhớ đã được khóa mã
bảo mật. Để truy cập các khối nhớ đó, người sử dụng phải nhấp đúng giá trị khóa
128 bit, trùng đúng với giá trị cất trong Flash.
* Khối mở rộng ngắt ngoại vi ( Peripheral Interupt Exansion, PIE)
Khối PIE phục vụ xen kênh nhiều nguồn ngắt khác nhau và qui chúng về
thành một tập nhỏ các đầu ngắt. Khối PIE có thể hỗ trợ 96 ngắt ngoại vi. Trên chip
F2812
- Ngoại vi sử dụng tất cả 45 trong tổng số 96 ngắt.
- 96 ngắt được phân thành các nhóm, mỗi nhóm là 8 ngắt và được gán cho 1
trong số 12 dây ngắt của CPU (INT1 tới INT12).
- Mỗi ngắt đều có vector ngắt riêng cất trong RAM mà người sử dụng có thể
ghi, xóa.
Khi phục vụ ngắt CPU sẽ tự động đọc vector ngắt. Thao tác đọc đó cần 9 nhịp
xung đồng hồ của CPU và sẽ cất nội dung của các thanh ghi quan trọng. Nhờ vậy,
CPU có thể phản ứng nhanh với các sự kiện ngắt. Việc phân cấp ưu tiên của ngắt sẽ
do Hardware và software điều khiển. Từng ngắt riêng rẽ có thể bị cấm, hay cho
phép trong khối PIE.
12
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
* Các ngắt ngoài ( External Interrupts, XINT1, 2, 13, XNMI ).
Chip F2812 hỗ trợ 3 ngắt ngoài là loại có thể che chắn ( masked) được
(XINT1, 2, 13). XINT 13 được liên kết với một ngắt ngoài không che được
(XNMI). Tín hiệu liên kết có tên là XNMI_ XINT13. Mỗi ngắt đều có thể được
chọn bởi sườn âm hoặc sườn dương của tín hiệu ngắt và như vậy cũng có thể cấm
khỏi trạng thái IDLE.
- STANDBY: Ngừng xung đồng hồ của CPU và ngoại vi. Chế độ này ngừng
cả bộ dao động và chức năng PLL. Một sự kiện ngắt ngoài sẽ đánh thức vi xử lí và
ngoại vi. Trạng thái hoạt động sẽ quay trở lại ở nhịp tiếp ngay sau khi phát hiện
được sự kiện ngắt.
- HALT: Ngừng bộ dao động. Chế độ này ngừng hoạt động toàn chip về trạng
thái tiêu thụ ít năng lượng. Chỉ tín hiệu reset hoặc XNMI có thể đánh thức chip ra
khỏi chế độ này.
* Peripheral Frames 0, 1, 2 (PFn)
F281x và C281x chia thiết bị ngoại vi thành 3 mảng. Các ngoại vi được tổ
chức như sau:
- PF0: + XINTF Thanh ghi lập cấu hình giao diện ngoài.
+ PIE Thanh ghi cho phép kiểm tra ngắt PIE và bảng vecto PIE
+ Flash Thanh ghi điều khiển Flash, lập trình, xóa, kiểm tra
+ Timers Thanh ghi đồng hồ CPU 0,1,2.
+ CSM thanh ghi KeY bảo mật.
- PF1: + Ecan Thanh ghi hộp thoại và kiểm tra eCan.
- PF2: + SYS Thanh ghi kiểm tra hệ thống.
+ GPIO thanh ghi lập cấu hình xen kênh và kiểm tra vào/ ra GPIO.
+ EV thanh ghi điều khiển của bộ xử lí sự kiện (EVA/ EVB).
+ McBSP thanh ghi điều khiển McBSP và TX/ RX.
+ SCI Thanh ghi điều khiển giao diện tuần tự truyền thông (SCI) và RX/ TX.
+SPI thanh ghi điều khiển giao diện tuần tự của ngoại vi (SPI) và RX/TX.
+ ADC thanh ghi điều khiển bộ ADC 12 bit.
* Bộ xen kênh vào/ ra đa năng (General-Purpose Input/Output GPIO
Multiplexer).
14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Hầu hết các tín hiệu ngoại vi đều được xen kênh với tín hiệu I/O đa năng. Điều
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên
Audio DAC loại stereo có chất lượng cao. Các thanh ghi thu và phát của McBSP hỗ trợ
FIFO 16 mức. Điều này đã giảm đáng kể sự trùng lặp khi phục vụ ngoại vi loại này.
- SPI: Là một cổng I/O tuần tự tốc độ cao, cho phép dịch chuyển một chuỗi
bit tuần tự với chiều dài khả trình từ 1 đến 16 bit vào hay ra khỏi chip chỉ trong 1
lần gửi bit do ta lập trình. Thông thường, SPI được sử dụng để truyền thông giữa
chip DSP controller và ngoại vi ngoài, hoặc một vi xử lí khác. Các ứng dụng đặc
trưng bao gồm I/O ngoài hoặc mở rộng ngoại vi bằng các thanh ghi dịch, các bộ
đệm hiển thị và các bộ ADC. Việc truyền thông giữa nhiều đơn vị cũng được hỗ trợ
nhờ chế độ hoạt động master / slave.
- SCI: Giao diện truyền thông tuần tự này là một cổng tuần tự không đồng bộ hai
dây, thường được gọi là UART. Trên chip F2812 cổng này hỗ trợ FIFO thu phát 16 mức.
1.1.5 Tổ chức không gian nhớ
Hình 1.3 giới thiệu tổ chức không gian nhớ của F2812. Ta có thể thấy rõ
không gian đó gồm hai vùng chính. Vùng trên phiến( On- chip memory) và vùng
ngoài phiến( External memory). Trích tài liệu tham khảo[2].
Toàn bộ không gian nhớ được chia thành các vùng nhớ
+ 0x000000-0x0003FF, 1Kx16 SARAM( vùng M0)
+ 0x000400-0x0007FF, 1Kx16 SARAM( vùng M1)
+ 0x008000-0x008FF, 4Kx16 SARAM( vùng L0)
+ 0x009000-0x009FFF, 4Kx16 SARAM( vùng L1)
+ 0x3D7800-0x3D7C00, 1Kx16 OTP ROM( vùng M0)
+ 0x3D8000-0x3F7FFF, 128Kx16FLASH EPROM
+ 0x3F8000-0x3F9FFF, 8Kx16 SARAM ( vùng H0)
+ 0x3FF000-0x3FFFFF, 4Kx16 ROM (BOOT ROM)
Là những vùng vừa dùng làm bộ nhớ chương trình vừa làm bộ nhớ dữ liệu.