Đồ án kỹ thuật điện tử khảo sát cảm biến gia tốc - Pdf 23



ĐỒ ÁN KỸ THUẬT ĐIỆN TỬ KHẢO SÁT CẢM BIẾN GIA TỐC Sinh viên thực hiện Cán bộ hướng dẫn
Trần Thanh Sang 1101041 TS. Trần Thanh Hùng

Title: Survey of Acceleration sensor
TÓM TẮT
Ngày nay, cảm biến gia tốc là một trong những loại cảm biến được sử dụng rộng rãi trong
nhiều thiết bị hiện đại. Do vậy, đề tài thực hiện khảo sát dữ liệu của cảm biến gia tốc nhằm
cung cấp cái nhìn khái quát về cảm biến gia tốc, cũng như cung cấp các thông tin hữu ích
cho các đề tài khác sử dụng cùng loại hoặc khác loại cảm biến gia tốc, hoặc phát triển các
ứng dụng có liên quan (các ứng dụng điều khiển, định hướng trong không gian,…). Để thực
hiện đề tài, vi điều khiển MSP430 được sử dụng để đọc dữ liệu rồi truyền đến máy tính để
có thể vẽ đồ thị dữ liệu bằng phần mềm Matlab. Dữ liệu thu thập được cập nhật liên tục
với độ chính xác khá cao, đáp ứng được yêu cầu của các ứng dụng đòi hỏi độ nhạy cao
trong nhiều lĩnh vực như khoa học không gian, y sinh, công nghiệp ô tô, điện tử dân dụng,…
Từ khóa: cảm biến gia tốc, giao tiếp I
2
C, UART, MSP430G2452, Matlab GUI,…
1 GIỚI THIỆU
Gia tốc là một đại lượng vật lí quan trọng dùng để mô tả chuyển động. Ngày nay,
với sự phát triển vượt bậc của khoa học – công nghệ, việc đo đạc gia tốc trở nên dễ
dàng và chính xác hơn nhờ các loại cảm biến gia tốc. Cảm biến gia tốc được ứng
dụng rộng rãi trong nhiều thiết bị như các thiết bị y tế hiện đại, bộ phận định hướng
và điều khiển vận tốc trong ô tô, bộ phận định vị trên tên lửa, tàu không gian, các
thiết bị đo độ rung, độ chấn động,…Do đó, đề tài được nghiên cứu nhằm cung cấp
những thông tin cơ bản nhất về cảm biến gia tốc, tạo cơ sở cho những nghiên cứu
khác. Đề tài chọn cảm biến gia tốc BMA150 của hãng Bosch Sensortec để khảo sát.
Nguồn tài liệu tham khảo để thực hiện đề tài bao gồm datasheet của cảm biến gia
tốc BMA150 và các thông tin sưu tầm được trên Internet.

1
Sinh viên lớp Kỹ thuật máy tính K36, Mã số SV: 1101041, Số ĐT: 01678767576,
email:
2

nguyên tắc thay đổi điện dung. Cấu tạo của mỗi cảm biến con là một hệ khối lượng
– lò xo như Hình 2(a), trong đó khối
m
gắn với bản tụ nằm giữa hệ 2 tụ điện mắc
nối tiếp có khoảng cách giữa hai bản tụ có thể thay đổi được, như Hình 2(b).

(a) (b)
Hình 2: Hệ khối lượng – lò xo để đo gia tốc (a) và mô hình hai tụ mắc nối tiếp (b)
CẢM BIẾN
GIA TỐC
MÁY TÍNH VI ĐIỀU KHIỂN
Đồ án kỹ thuật điện tử Trường Đại học Cần Thơ

3
Dưới tác động của lực bên ngoài làm điện dung của hai tụ điện này thay đổi
(∆C = C
A
– C
B
), có thể tính được độ dịch chuyển của bản tụ trung gian dựa vào công
thức (với x nhỏ):

Trong đó:
x
là độ dịch chuyển,
x
0
là khoảng cách giữa 2 bản tụ, C là điện dung của
tụ. Tính được độ dịch chuyển
x

C đến 97.5
o
C, có thể thay đổi thang đo theo yêu cầu sử dụng.
˗ Hỗ trợ các chuẩn giao tiếp bao gồm I
2
C, SPI với các phím ngắt có thể lập
trình để thông báo dữ liệu mới đã được cập nhật.
˗ Hỗ trợ nhiều loại ngắt có thể được lập trình để đo sự chuyển động hoặc nâng
cao tầm đo của cảm biến hoặc để thiết lập các chức năng nâng cao.
˗ Hỗ trợ 2 chế độ hoạt động là normal mode (chế độ bình thường) và sleep
mode (chế độ ngủ) để tối ưu năng lượng tiêu thụ.
 Sơ đồ các khối chức năng, sơ đồ chân và chức năng các chân của cảm biến
BMA150 được hiển thị lần lượt trong Hình 3, Hình 4 và Bảng 1.

Đồ án kỹ thuật điện tử Trường Đại học Cần Thơ

4

Hình 3: Sơ đồ các khối chức năng bên trong cảm biến gia tốc BMA150

Hình 4: Sơ đồ chân cảm biến gia tốc BMA150
Bảng 1: Chức năng các chân của BMA150
PIN Tên Chức năng
1 Chân dành riêng Không kết nối
2 V
DD
Nguồn cung cấp
3 GND Ground
4 INT Interrupt
5 CSB Chọn chip

Sensors Xplained [2], vị trí của cảm biến và các chân phục vụ giao tiếp I
2
C được
xác định như Hình 5. Board Inertial One Sensors Xplained được tích hợp 3 loại cảm
biến 3 trục, bao gồm cảm biến gia tốc BMA150, cảm biến con quay hồi chuyển
ITG3200 và cảm biến la bàn AK9875. Board hỗ trợ giao tiếp I
2
C giữa các cảm biến
với vi điều khiển qua các chân SCL và SDA. Trong board Inertial One Sensors
Xplained, địa chỉ để giao tiếp I
2
C (slave address) của BMA150 là 38h. Hình 5: BMA150 trên board Inertial One Sensors Xplained
2.1.2 Giới thiệu về vi điều khiển MSP430G2452[3] và kit Launchpad
 Vi điều khiển MSP430G2452 thuộc họ vi điều khiển MSP430 do Texas
Instrument (TI) sản xuất, có các đặc điểm chung của họ MSP430 như: thiết kế theo
cấu trúc RISC 16-bit, là dòng vi điều khiển siêu tiết kiệm năng lượng, công suất tiêu
thụ cực thấp, điện áp nguồn khoảng 1.8V – 3.6V và một số tính năng khác. Đề tài
sử dụng module USI được hỗ trợ trong MSP430G2452 để giao tiếp I
2
C với cảm biến
gia tốc BMA150.
 Kit Launchpad (Hình 6) là một kit ứng dụng nhỏ do TI sản xuất, hỗ trợ nhiều
loại MSP430 nạp chương trình và giao tiếp dữ liệu. Đề tài dùng kit Launchpad sử
dụng vi điều khiển MSP430G2452 để tiến hành giao tiếp I

 Phần mềm IAR Embedded Workbench: Sử dụng để lập trình và nạp chương trình
vào MSP430G2452 thông qua kit Launchpad. Lưu đồ giải thuật của chương trình
đọc dữ liệu cảm biến và truyền lên máy tính được thể hiện ở Hình 8. Có thể chia giải
thuật này làm 2 phần: Vi điều khiển đọc dữ liệu cảm biến và Vi điều khiển truyền
dữ liệu nhận được đến máy tính để vẽ đồ thị.
˗ Vi điều khiển đọc dữ liệu cảm biến: Đầu tiên, MSP430G2452 tiến hành giao
tiếp I
2
C với BMA150 để thiết lập thanh ghi chọn thang đo và băng thông (địa
chỉ 14h) để chọn độ rộng thang đo và băng thông mong muốn (có thể để mặc
MSP430G2452
Đồ án kỹ thuật điện tử Trường Đại học Cần Thơ

7
định). Sau đó, việc đọc các thanh ghi chứa giá trị gia tốc 3 trục X, Y, Z và
nhiệt độ được thực hiện lặp lại với tần số


( < 3)
. Đề tài tiến hành đọc
dữ liệu này với tần số 20Hz.
˗ Vi điều khiển truyền dữ liệu nhận được đến máy tính để vẽ đồ thị: Sau khi
nhận được dữ liệu từ cảm biến, vi điều khiển sẽ tiến hành gửi từng byte dữ
liệu này đến máy tính thông qua giao tiếp UART nếu nhận được yêu cầu nhận
dữ liệu từ máy tính (do Matlab GUI gửi qua cổng COM). Dữ liệu này sẽ được
hiển thị hoặc vẽ đồ thị trực tiếp trong Matlab GUI.


Begin
Khai báo biến toàn cục được sử dụng
Khai báo chương trình con
Khởi tạo I
2
C và UART
Chọn giới hạn đo (thang đo), băng thông
ĐÚNG
SAI
Nhận được tín hiệu yêu cầu

đọc dữ liệu từ máy tính?
Gọi hàm truyền các byte dữ liệu gia tốc
và nhiệt độ lên máy tính thông qua UART
Đọc giá trị gia tốc 3 trục X, Y, Z
và giá trị nhiệt độ
Đồ án kỹ thuật điện tử Trường Đại học Cần Thơ

8
GUI được thiết kế như Hình 9, bao gồm: 1 toggle button “ON/OFF” để điều
khiển việc mở/tắt chức năng vẽ đồ thị; 1 static text hiển thị tên đồ thị là
“ACCELERATION DATA”; 2 panel để hiển thị 2 nhãn “ON/OFF READ”
và “TEMPERATURE”; 1 edit text để hiển thị dữ liệu nhiệt độ; 3 đồ thị dữ
liệu tương ứng với 3 trục X, Y, Z. Khi nhấn nút ON/OFF, việc nhận dữ liệu
được kích hoạt và Matlab GUI sẽ vẽ đồ thị dữ liệu này cho đến khi nút
ON/OFF được nhấn lần nữa.

Hình 9: Giao diện GUI trong Matlab để vẽ đồ thị dữ liệu
3 KẾT QUẢ VÀ ĐÁNH GIÁ
Dữ liệu cảm biến được đọc một cách liên tục và truyền lên máy tính với tần số 96Hz,

 Tần số truyền nhận dữ liệu trên cổng COM: Do tần số baurd là 9600, khung
truyền là 10 bit nên số khung truyền hay số byte truyền nhận trong 1 giây là
9600/10 = 960 byte. Mặt khác, mỗi lần truyền nhận 10 byte dữ liệu, bao gồm 1 byte
yêu cầu nhận dữ liệu, 2 byte báo nhận, 6 byte giá trị gia tốc 3 trục và 1 byte giá trị
nhiệt độ. Từ đó suy ra tần số truyền nhận là 960/10 = 96 Hz.
 Giá trị gia tốc trên 3 trục độc lập với nhau, khi di chuyển board theo phương của
một trục nào đó không làm ảnh hưởng đến giá trị gia tốc của hai trục còn lại. Ở vị
trí cân bằng, giá trị gia tốc của một trục bằng g (giá trị vector gia tốc trọng trường)
nếu cùng hướng với vector gia tốc trọng trường g (phương thẳng đứng và hướng từ
dưới lên) và bằng -g nếu ngược hướng.
 Giá trị tuyệt đối của gia tốc trên một trục càng lớn khi di chuyển board với vận
tốc thay đổi càng nhanh (hay vận tốc biến thiên càng nhanh), giá trị này dương khi
di chuyển cùng hướng và âm khi di chuyển ngược hướng với trục đã chọn.
4 KẾT LUẬN VÀ ĐỀ NGHỊ
Đề tài đã ứng dụng vi điều khiển MSP430G2452 giao tiếp với cảm biến gia tốc
BMA150 theo chuẩn truyền thông I
2
C để đọc dữ liệu sau đó truyền UART lên máy
tính và sử dụng chức năng GUI trong Matlab để vẽ đồ thị dữ liệu. Kết quả đã đọc và
vẽ được đồ thị dữ liệu một cách liên tục, đáp ứng được yêu cầu đề tài.
Ưu điểm của đề tài là đã đọc và vẽ được dữ liệu một cách liên tục, việc đồng bộ giữa
các phần cứng khác nhau khá tốt, dữ liệu trả về có độ ổn định và tính chính xác khá
cao. Tuy vậy, giao diện GUI vẫn còn khá đơn điệu; việc khai thác thêm các chức
năng cũng như việc ứng dụng ngắt để đồng bộ dữ liệu còn nhiều hạn chế.
Y
X
Z
Đồ án kỹ thuật điện tử Trường Đại học Cần Thơ

10


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status