Cảm biến Accelerometer ADXL

Một phần của tài liệu Xây dựng mô hình và thiết kế bộ điều khiển cân bằng robot hai bánh sử dụng vi điều khiển PIC (Trang 45)

m.g.h γ =I.α Hay

3.3.1Cảm biến Accelerometer ADXL

ADXL345 rất nhỏ gọn, điện năng tiêu thụ thấp, điện áp sử dụng 3,3v. Đây là thiết bị để đo gia tốc 3 trục với độ phân giải 13 bit và độ nhạy lên đến ±16 g, dữ liệu ra dạng số có thể truy cập theo chuẩn SPI (3 hoặc 4 dây) hoặc được sử dụng qua giao thức truyền thông nối tiếp I2C. ADXL345 rất thích hợp cho ứng dụng thiết bị di động. Nó được ứng dụng trong các đề tài đo góc nghiêng cũng như để xác định gia tốc của chuyển động. Nó có độ phân giải cao (3,9mg/LSB) cho phép đo chính xác ngay cả khi góc nghiêng nhỏ hơn 10.

Cảm biến được cung cấp một số chức năng đặc biệt. Quá trình hoạt động và phát hiện góc nghiêng được sử dụng bất kì trên trục nào do người dùng quy định. Tín hiệu đầu ra có thể được nhân đôi thông qua 2 chân ngắt ngoài. Cảm biển có thể không hoạt động nếu 2 chân này không hoạt động. ADXL được tích hợp chế độ tiết kiệm điện thông minh, sử dụng điện áp thấp. Được đóng gói với kích thước (3*5*1) mm 14 chân dạng vỏ than.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Hình 3. 4 Sơ đồ chân ADXL345

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bảng 3. 1 Chức năng chân ADXL345

Nguyên lý hoạt động: ADXL345 là một hệ thống đo gia tốc đầy đủ 3 trục với

phạm vi đo được chọn từ . Nguồn điện áp sử dụng có thể sử

dụng VS hoặc VDD I/O mà không hề làm hỏng ADXL345, cấp độ sử dụng điện áp được thiết lập với điện áp cung cấp VDD I/O phải có mặt để đảm bảo rằng không tạo ra xung đột trên bus truyền thông. Trong một vài ứng dụng VDD I/O có thể được sử dụng như một nguồn cung cấp chính VS trong chế độ sử dụng 2 nguồn. Tuy nhiên VDD I/O có thể khác VS để phù hợp với điện áp sử dụng mong muốn, miễn là VS lớn hơn hoặc bằng VDD I/O. Sau khi VS được sử dụng thiết bị được chuyển sang chế độ standby và chờ tới khi VDD I/O được sử dụng thiết bị mới bắt đầu hoạt động. Điều này được cài đặt trong bit D3 trong thanh ghi POWER_CTL

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

tại địa chỉ 0x2D. Khi ở chế độ chờ các thanh ghi có thể cấu hình để ghi hoặc đọc và sau đó mới cho phép chế độ đo.

Chế độ tiết kiệm năng lượng: ADXL345 tự động điều chỉnh điện năng tiêu thụ của nó tỷ lệ tương ứng với tốc độ dữ liệu đầu ra của nó.

Bảng 3. 2 Điện năng tiêu thụ ứng với tốc độ truyền dữ liệu

Nếu muốn tiết kiệm điện năng tiêu thụ ta chỉ cần cài đặt chế độ tiết kiệm điện năng có sẵn của ADXL345. Trong chế độ này tỉ lệ lấy mẫu giảm xuống từ 12,5 tới 400Hz cho phép tiết kiệm điện năng đồng thời nhiễu lớn hơn. Để thiết lập chế độ tiết kiệm điện năng ta chỉ việc cài đặt bit LOW_POWER (bit 4) trong thanh ghi BW_RATE (ở địa chỉ 0x2C). Dòng điện tiêu thụ trong chế độ tiết kiệm được thể hiện trong bảng. Trong chế độ này tốc độ bit rate ngoài giá trị của bảng không đem

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

lại lợi cho người dùng. Vì vậy nhà sản xuất khuyến khích chỉ sử dụng giá trị có trong bảng dưới đây.

Bảng 3. 3 Điện năng tiêu thụ trong chế độ tiết kiệm điện năng

- Các giá trị tiêu thụ hiện nay được thể hiện trong trên là cho VS là 2,5 V. - Chế độ tự động nghỉ: Điện năng tiêu thụ sẽ được tiết kiệm khi ADXL345 tự động chuyển sang chế độ nghỉ. Để kích hoạt chế độ này ta thiết lập giá trị thanh ghi THRESH_INACT (có địa chỉ 0x25) mỗi giá trị có nghĩa hoạt động riêng (giá trị thích hợp phụ thuộc vào ứng dụng cụ thể) sau đó thiết lập các bít AUTO_SLEEP (bit D4) và bit liên kết (bit D5) trong thanh ghi POWER_CTL (có địa chỉ 0x2D). Dòng tiêu thụ cực tiểu tại giá trị bit rate 12,5 là 23 cho VS là 2,5V.

- Chế độ standby: Trong chế độ tiêu thụ điện năng thấp hơn chế độ standby có thể được kích hoạt. Trong chế độ standby điện năng tiêu thụ có thể giảm xuống 0,1µA. Chế độ này phép đo không được thực hiện. Chế độ standby được cài đặt bằng bit D3 trong thanh ghi POWWER_CTL.

- Truyền thông nối tiếp: ADXL345 được cài đặt sẵn chế độ truyền I2C và SPI. Trong cả 2 trường hợp ADXL345 hoạt động như 1 slave. Để bật chế độ I2C ta phải kích hoạt chân CS lên mức cao với VDD I/O hoặc được điều khiển bởi một bộ điều khiển bên ngoài bởi vì không có chế độ mặc định nếu CS không được kết nối. Do đó nếu không cài đặt chế độ cho chân CS có thể dẫn đến thiết bị không có khă năng giao tiếp với thiết bị ngoài. Trong chế độ SPI chân CS được kiểm soát bởi Master.

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Trong cả 2 chế độ I2C và SPI dữ liệu truyền từ ADXL345 tới Master có thể được bỏ qua quá trình ghi (nghĩa là chỉ thực hiện quá trình đọc dữ liệu).

SPI: Trong chế độ SPI ta có thể sử dụng 3 hoặc 4 dây như được thể hiện trong hình . Để chọn chức năng này ta có thể cài đặt bit D6 trong thanh ghi DATA_FORMAT (có địa chỉ 0x31)

Tốc độ clock tối đa cho SPI là 5Mhz với điện dung tải tối đa là 100pF. Chân SDO được khuyến cáo nên mắc điện trở 10K nối với VDD I/O hoặc nối với Mass. Chân CS là chân cho phép truyền được điều khiển bởi SPI Master. CS được kéo xuống thấp để bắt đầu quá trình truyền và được đưa lên cao khi kết thúc quá trình truyền. SCLK có thể được đưa lên mức cao trong một khoảng thời gian trong khi không có quá trình truyền sảy ra. SDI và SDO là các đầu vào và đầu ra dữ liệu tương ứng. Dữ liệu được lấy mẫu tại các sườn lên của xung SCLK.

Để đọc hoặc ghi nhiều byte dữ liệu trong 1 lần truyền, các byte này được nằm ngay sau bit R/W và byte đầu tiên. Ngay sau khi byte địa chỉ được truyền đi byte tiếp theo (gồm 8 xung clock) được tạo ra bởi ADXL345 truyền để thực hiện quá

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

trình ghi hay đọc. Điều này được thực hiện cho tới khi xung clock cuối cùng kết thúc. Chân CS được đặt lại để thực hiện lần ghi đọc tiếp theo.

Hình 3. 6 Giản đồ xung giao thức truyền thông SPI4 –wire write

Hình 3. 7 Giản đồ xung giao thức truyền thông SPI4 –wire read

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Giản đồ thời gian cho SPI 3 dây được thể hiện hình trên, tương ứng chế độ SPI 4 dây. Độ chính xác quá trình hoạt động, các ngưỡng logic, các mức thời gian trong bảng 3.4 và 3.5 phải được đáp ứng tại mọi thời điểm. (adsbygoogle = window.adsbygoogle || []).push({});

Bảng 3. 4 SPI Digital Input/Output

Bảng 3. 5 SPI Timing

Khi sử dụng ở tốc độ dữ liệu ra là 3200Hz và 1600Hz với SPI tốc độ khuyến cáo là lớn hơn hoặc bằng 2Mhz. Ở tốc độ 800Hz là 400Khz và ở 200Hz là 100Khz. Ngoài khuyến cáo trên có thể gây ánh hưởng tới kết quả đầu ra không như ý muốn do bị mất mẫu hoặc ảnh hưởng do nhiễu.

I2C: Khi CS được đưa lên mức cao VDD I/O thiết bị chuyển sang chế độ truyền I2C. Trong chế độ này chỉ cần đòi hỏi 2 dây kết nối. Nó hỗ trợ chế độ truyền từ 100Khz tới 400Khz nếu đáp ứng được các thông số trong bảng. Nó có thể ghi hay đọc một hay nhiều byte như trong hình 3.9 với chân ALL_ADDRESS được nối với

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

mức cao. 7 bit địa chỉ cho I2C là 0x1D. Tiếp theo đó là bit , giá trị 0x3A cho quá trình ghi và 0x3B cho quá trình đọc. Một địa chỉ thay thế tại 0x53 có thể được chọn khi chân ALT ADDRESS (chân 12) được nối Mass với giá trị 0xA6 cho quá trình ghi và 0xA7 cho quá trình đọc.

Hình 3. 9 Kết nối dây cho I2C

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

Bảng 3. 7 I2C Timing (TA = 25°C, VS = 2.5 V, VDD I/O = 1.8 V)

Hình 3. 10 I2C Device Addressing

Không có nội trở hay một điện trở kéo lên mức cao hay ghim xuống mức thấp cho bất kì chân không nào không sử dụng. Do đó nó có thể không hiểu hoặc không có chế độ mặc định cho các chân CS và ALT ADDRESS khi không được kết nối. Đó cũng là yêu cầu là chân CS phải được nối với VDD I/O và chân ALY ADDRESS phải được nối mức cao hoặc nối Mass.

Ngắt: ADXL345 được trang bị 2 chân điều khiển ra ngắt INT1 và INT2. Cả 2 chân cấu tạo dạng đẩy-kéo có trở kháng thấp. Mặc định các chân này được đặt ở mức cao, ta có thể thay đổi mặc định này ở bit INT_INVERT trong thanh ghi DATA_FORMAT (địa chỉ 0x31). Ngắt được kích hoạt khi thiết lập bit thích hợp trong thanh ghi INT_ENABLE (tại địa chỉ 0x2E) được phản ánh qua chân INT1 và INT2 dựa trên nội dung của thanh ghi INT_MAP (địa chỉ 0x2F). Khi cấu hình các

Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn

chân ngắt ta nên thiết lập các hàm và bản đồ ngắt trước khi thực hiện ngắt. Khi thay đổi cấu hình ngắt ta nên disables chân ngắt trước khi thay đổi hàm ngắt trong thanh ghi INT_ENABLE. Để thực hiện ngắt tiếp theo ta lại cấu hình hàm ngắt trong thanh ghi INT_ENABLE trước khi enables các chân ngắt. Việc làm nay có thể tránh được các ngắt ngẫu nhiên khi thay đổi hàm ngắt. Các ngắt được thiết lập hoặc hủy bằng cách đọc dữ liệu trong các thanh ghi có địa chỉ từ 0x32 tới 0x37 cho tới khi các nguồn ngắt trong thanh ghi INT_SOURCE (địa chỉ 0x30) không còn giá trị. Điều này mô tả các ngắt được thiết lập trong thanh ghi INT_ENABLE và được giám sát bằng thanh ghi INT_SOURCE.

Một phần của tài liệu Xây dựng mô hình và thiết kế bộ điều khiển cân bằng robot hai bánh sử dụng vi điều khiển PIC (Trang 45)