Cảm biến gia tốc Accelerometer MMA7455L

Status
Not open for further replies.

2death

Cố Vấn CLB
Staff member
Cảm biến accelerometer mà dịch thành "cảm biến gia tốc" nghe chừng chưa được hợp lý lắm, do đó trong bài này ra sẽ gọi nó là "accelerometer".

Hiện nay, các accelerometer đều được chế tạo theo công nghệ MEMS, nhờ vậy giá thành các loại cảm biến này trở nên rẻ hơn nhiều so với các công nghệ chế tạo cũ (giá dưới 5$).

Accelerometer thường được ứng dụng trong xác định "gia tốc tĩnh", tức là gia tốc trọng trường.

Tuỳ theo số trục của cảm biến (1, 2 hay 3 trục), giá trị đọc về của cảm biến sẽ là "hình chiếu của gia tốc trọng trường" trên từng trục toạ độ tương ứng.

Ta nhớ rằng, gia tốc trọng trường tại một địa điểm là không đổi. Khi cảm biến quay 1 góc nào đó, hệ trục toạ độ gắn với cảm biến cũng quay theo, và do đó, hình chiếu của gia tốc trọng trường lên các trục toạ độ đó sẽ thay đổi.

Từ các giá trị đó, ta xác định được góc nghiêng hiện tại của cảm biến, cũng như góc mà cảm biến đã quay đi so với vị trí trước.

Ví dụ sau thời gian T mà đọc được cảm biến đã quay 1 góc bao nhiêu độ, ta suy ra được vận tốc. Nếu tích phân vận tốc này ta sẽ có quỹ đạo chuyển động của cảm biến.

Giá trị đọc về của các accelerometer thường được tính theo đơn vị "g", g tức là gia tốc trọng trường. Do đó kết quả tính toán góc nghiêng, sau khi chia cho nhau sẽ mất đi thành phần "g" --> Kết quả đo góc không phụ thuộc gia tốc trọng trường, tức không phụ thuộc vào vị trí địa lý.


Về cảm biến Accelerometer MMA7455L:

+ Sản phẩm của hãng Freescale.
+ 3 trục toạ độ X, Y, Z. Giá trị đọc về từ cảm biến là hình chiếu của g trên 3 trục này.
+ Chỉnh được tầm đo +/-2g, +/-4g, +/-8g.
+ Điện áp hoạt động: 2.4V - 3.6V
+ Kết quả ngõ ra dạng Digital, có thể lựa chọn kết quả dạng 10-bit hoặc 8-bit.
+ Giao tiếp theo chuẩn truyền thông I2C và SPI.
+ Chỉnh offset và calib bằng phần mềm (thông qua các thanh ghi User Assigned)

Đóng gói: kích thước cảm biến 3mm x 5mm x 1mm, LGA 14 chân (chân gầm). Kiểu đóng gói này không hàn được bằng mỏ hàn. Phải dùng máy khò (đem ra cho bọn sửa điện thoại di động thì họ hàn được).


Ứng dụng:
+ Phát hiện chuyển động shock, rơi hoặc dao động, rung lắc.
+ Đo đạc góc nghiêng.
+ ... (chưa nghĩ ra hết)

Ví dụ áp dụng:
- Hiệu chỉnh độ nghiêng trong la bàn điện tử (E-Compass Tilt Compensation)
- HDD: Phát hiện rơi (Freefall Detection)
- Laptop PC: Phát hiện rơi, chống trộm (Freefall Detection, Anti-Theft)
- 3D Gaming: Cảm biến độ nghiêng và chuyển động, ghi lại thao tác (Tilt and Motion Sensing, Event Recorder)
- Là một thành phần của IMU, dùng trong các robot tự hành, máy bay trực thăng, robot tự cân bằng, ...

Tài liệu sau viết bằng tiếng Việt, trình bày về cảm biến Acclerometer MMA7455L, các phương pháp, giải thuật tính toán giá trị góc nghiêng, thuật toán calib cho cảm biến.
[DOWN]http://www.mediafire.com/?5x5m968q0qb0t85[/DOWN]

Datasheet MMA7455L

***Note:

- Hiện nay freescale không cho sample về Việt Nam nữa, cảm biến này ở Việt Nam cũng có bán nhưng với giá khá cao (>100k).

- CLB hiện đang có mẫu của MMA7455L (khoảng gần 10 con), tuy nhiên lưu ý rằng cảm biến này khó hàn. Nếu làm mạch ủi rồi khò chip vào thì dễ bị dính chân. Các bạn nên đi đặt board, board này kích thước chỉ chừng 2x2cm, có các header để lấy các chân cảm biến ra. Khò cảm biến trên board này sẽ an toàn hơn.

- Quan trọng: CLB còn 2 module cảm biến MMA7455L (đã hàn sẵn vào board, có header lấy chân ra), giống hình này:

Board accelerometer là cái miếng bên trên màu xanh nước biển đậm. Board ở dưới là board chứa vi điều khiển để đọc dữ liệu từ accelerometer.


Đề tài ứng dụng của khoá học PIC:

- Đề tài 1: đọc dữ liệu từ MMA7455L qua chuẩn giao tiếp SPI, tính toán ra 3 giá trị góc nghiêng và gửi dữ liệu về PC, vẽ đồ thị 3 góc nghiêng này.
- Đề tài 2: tương tự đề tài 1, nhưng thay bằng chuẩn I2C.

Số lượng board đã hàn là 2 module, ưu tiên bạn (hoặc nhóm bạn) đăng kí sớm.
Ngoài số lượng 2 module này, còn 10 cảm biến nữa, các bạn nào muốn làm việc với cảm biến này có thể đăng kí (sẽ có hướng dẫn làm board).
 
Cho em đăng kì suất với. Em tên là Hoàng Nguyễn Anh Tuấn, MSSV: 40903079. Lúc trước em có mua con accelerometer MMA 72600 về mày mò mà chả được cái gì. Giờ đổi sang làm con này, có mấy anh chị chĩ giáo hy vong làm được cái gì đó.
 

tungbk

Cố Vấn CLB
Staff member
Em là Tùng bên lớp KSTD08; đầu năm cũng định lập nhóm tìm hiểu các loại Sensor và cũng đang học môn Đo lường Công Nghiệp liên quan đến các loại Cảm biến .Giờ có mấy anh chị mở topic này cũng rất hay.Hi vọng sau thi giữa kì có thể tham gia chủ đề này nhiều hơn.
(có gì chị ưu ái:):) cho lớp em 1 board sample:) nhưng sau thi giữa kì mới làm được)
 

2death

Cố Vấn CLB
Staff member
Với 2 board có sẵn sẽ giao cho lớp k08 1 board, lớp k09 1 board.
Sau thi giữa kì sẽ bắt đầu làm.

Đây mới là 2 đề tài nhỏ trong số các đề tài nhỏ sẽ giao cho các bạn 2 lớp C2, C3 tìm hiểu. Các đề tài dạng này mang tính chất là ứng dụng kiến thức về Vi điều khiển đã được học. Chúng ta sẽ tập làm quen với các đề tài nhỏ nhỏ thế này trước khi làm các đề tài nghiên cứu thật sự.

Và vì là "đề tài" nên sau khi hoàn thành chúng ta sẽ có phần báo cáo, bao gồm code, chương trình máy tính, tài liệu hướng dẫn, ... Vậy đây cũng là 1 dịp để các bạn quen với việc viết báo cáo và trình bày "thành tựu" của mình :) (sẽ có ích trong tương lai :D)

Cách thực hiện cụ thể sẽ bàn bạc với các bạn sau khi thi.

Bạn Anh Tuấn (k09) và bạn Tùng (k08) có thể thêm thành viên cùng làm cho vui.
 
Chị Phương gửi cho em cái sơ đồ chân của Board MMA7455, để em làm lại mạch main nha.
 

2death

Cố Vấn CLB
Staff member
Đây là files Capture và Layout mạch MMA7455 Adapter (tức là cái để gắn cái board MMA7455 Stamp lên đó).
Trong này chưa vẽ vi điều khiển, nguồn, ... gì hết. Chỉ có các chân để gắn board Stamp lên và nối dây ra ngoài. Vì con này có thể giao tiếp SPI hoặc I2C nên trong schematic chị cũng vẽ 2 options.

Em xem qua rồi vẽ lại mạch Main sao cho phù hợp.

MMA7455L Adapter.rar

(Em cũng nên vẽ 2 options để mình có thể chọn SPI/I2C để gửi dữ liệu về PIC, đề phòng 1 trong 2 cái có trục trặc hoặc phải đọc các cảm biến khác)
 
Status
Not open for further replies.
Top