Giới thiệu về nRF51822

Một phần của tài liệu Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE (Trang 37)

nRF51822 là một SoC mạnh mẽ, độ linh hoạt cao thích hợp lý tưởng cho Bluetooth Low Energy và các ứng dụng khơng dây 2.4GHz cơng suất cực thấp. nRF51822 được xây dựng dựa trên bộ xử lý ARM® Cortex™ M0 với bộ nhớ trong 256kB/128kB và RAM 32kB/16kB để tăng hiệu suất ứng dụng. Bộ truyền nhận dữ liệu 2.4 GHz nhúng trong module hỗ trợ cả giao tiếp BLE và Nordic Gazell 2.4GHz tương thích với các dịng sản phẩm nRF24L của Nordic Semiconductor.

NRF51822 kết hợp được với nhiều thiết bị ngoại vi analog và digital mà cĩ thể tương tác với nhau mà khơng cần sự can thiệp của CPU thơng qua hệ thống PPI (Programmable Peripheral Interconnect). Sơ đồ phân bố 31 chân GPIO linh hoạt cho phép các I/O như giao tiếp nối tiếp, điều chế độ rộng xung PWM và giải điều chế vuơng gĩc cĩ thể kết nối đến bất kì chân thiết bị bắt buộc theo yêu cầu PCB. Điều này cho phép một thiết kế linh hoạt với nhiều kiểu kết nối và ứng dụng.

NRF51822 hỗ trợ giao thức BLE và giao thức 2.4GHz bao gồm Gazell. nRF5188 chỉ yêu cầu một nguồn cung cấp và cho phép người dùng điều chỉnh trên bộ điều chỉnh tuyến tính tích hợp trong chip trong khoảng từ 1.8-3.6V. Một chế độ trực tiếp 1.8V và bộ chuyển đổi DC-DC kiểu Buck cung cấp khoảng điện áp 2.1-3.6V. Việc sử dụng nguồn chuyển đổi DC-DC cĩ thể được điều khiển trong quá trình hoạt động và cho phép nRF51822 hoạt động tại nguồn tối đa 3V 10nA.

2.6.2. Thơng số kỹ thuật, ính năng c a board nRF51822

 Đặc điểm của nRF51822

- Chip đơn, độ linh hoạt cao, thiết bị đa giao thức 2.4GHz.

- CPU 32-bit ARM Cortex M0.

- Bộ nhớ trong 256kB/128kB và RAM 32kB/16kB.

- Hỗ trợ stack giao thức BLE.

- Chế độ bảo vệ an tồn khi hoạt động.

- API điều khiển event.

- Tương thích với dịng nRF24L của Nordic.

- 3 tốc độ truyền (2Mbps/1Mbps/250kbps).

- +4dBm output power

- Độ nhạy -93dBm đối với Bluetooth low energy.

- Hệ thống PPI cho các ứng dụng địi hỏi tối đa hiệu suất và đơn giản chương trình.

- Hệ thống quản lý hiệu năng tự động với từng thiết bị ngoại vi.

- Khoảng nhiệt độ hoạt động: -40oC đến 105oC.  Các ứng dụng của nRF51822

- Các ứng dụng BLE.

- Thiết bị đeo tay.

- Beacons.

- Giám sát sạc khơng dây.

- Thiết bị ngoại vi PC.

- Điều khiển từ xa các thiết bị điện tử.

- Cảm biến tiệm cận, cảm biến báo động.

- Smart Home.

- Các cảm biến theo dõi sức khỏe, luyện tập thể dục.

- Các thẻ RF thơng minh.

- Các ứng dụng trị chơi điện tử.

- Thiết bị gia dụng thơng minh.

- Các cảm biến thương mại và cơng nghiệp.

- Chiếu sáng.

 Thơng số kỹ thuật của nRF51822

- Dải tần số: 2.4GHz ISM ( 2.40000 – 2.4835GHz)

- Tốc độ truyền on-air: 250 kbps, 1 Mbps hoặc 2 Mbps

- Điều chế: GFSK

- Cơng suất ngõ ra (khả trình): 4 to -20dBm trong các bước 4dB.

- Độ nhạy:

 -93dBm Bluetooth low energy

 -96dBm at 250kb

 -90dBm at 1Mbs

 -85dBm at 2Mbs

- Vi xử lý: 32-bit ARM Cortex M0

- Bộ nhớ: 256kB/128kB

- Dịng tiêu thụ: - 2.6 μA khi tất cả thiết bị ngoại vi ở chế độ nghỉ

- Bảo mật: 128-bit AES

- GPIO: 31 chân cấu hình được

- Digital I/O: SPI, 2-wire, UART, Giải điều chế cầu phương.

- Ngoại vi:  10-bit ADC  RNG  Cảm biến nhiệt độ  RTC - PPI: 16 kênh - Điều chỉnh điện áp:  LDO 1.8V-3.6V  LDO bypass 1.75V – 1.95V  Buck DC/DC 2.1V - 3.6V

- Timers/Counter: 2 x 16 bit, 1 x 24bit, 2 x 24bit, RTC  Sơ ồ chân c a nRF51822:

2.7. MPU-6050

2.7.1. Giới thiệu về MPU-6050

Sensor MPU-6050 là dịng cảm biến tích hợp theo dõi chuyển động 6 trục, bao gồm con quay hồi chuyển 3 trục, cảm biến gia tốc 3 trục và một xử lý chuyển động số (DMP) nằm trong một sensor kích thước 4x4x0.9mm. Với bus giao tiếp I2C, cảm biến nhận dữ liệu trực tiếp từ la bàn ngồi để cung cấp ngõ ra cảm biến chuyển động 9 trục. MPU-6050 tích hợp 6 trục, board điều khiển tích hợp, firmware hiệu chuẩn cho phép nhà sản xuất loại bỏ các thành phần riêng rẽ phức tạp và tốn kém của hệ thống, đảm bảo hiệu suất tối ưu cho người dùng. MPU-6050 cũng được thiết kế để giao tiếp với nhiều cảm biến số khơng quán tính như cảm biến áp suất trên các port I2C phụ trợ.

MPU-6050 cĩ ba bộ ADC 16 bit để số hĩa ngõ ra của con quay hồi chuyển và ba ADC dùng để số hĩa ngõ ra cảm biến gia tốc. Để theo dõi chính xác cả chuyển động nhanh và chậm, MPU sử dụng một con quay hồi chuyển khả trình với các khoảng 250, 500, 1000 và 2000o/sec (dps) và một bộ đo gia tốc khả trình ±2g, ±4g, ±8g, and ±16g.

Một bộ đệm FIFO on-chip 1024 bytes giúp giảm tổn hao cơng suất hệ thống bằng cách cho phép bộ xử lý đọc dữ liệu từ cảm biến theo xung và vào chế độ cơng suất thấp khi MPU thu thập nhiều dữ liệu hơn. Việc cần thiết của xử lý on-chip và các thành phần cảm biến cần thiết cho nhiều ứng dụng dựa trên cảm biến chuyển động, MPU-6050 cho phép ứng dụng MotionInterface cơng suất thấp trong các ứng dụng di động với yêu cầu xử lý được giảm cho bộ xử lý hệ thống. Bằng cách cung cấp ngõ ra tích hợp MotionFusion, DMP trong MPU-6050 giúp giảm việc tính tốn cho bộ xử lý, giảm thiểu việc thường xuyên phải kiểm tra ngõ ra cảm biến chuyển động. Giao tiếp với các thanh ghi thiết bị thơng qua chuẩn giao tiếp I2C với tần số 400kHz. Cĩ thêm các tính năng bao gồm cảm biến nhiệt và bộ giao động on-chip với dung sai 1% trên khoảng nhiệt độ hoạt động.

InvenSense đã giảm kích thước MPU-6050 xuống cịn 4x4x0.9mm trong khi vẫn cung cấp được cơng suất nhất, nhiễu ít hơn và giá thành thấp hơn. Cảm biến MPU- 6050 cĩ khả năng chống shock mạng mẽ lên đến 10,000g và các bộ lọc thơng thấp khả trình cho con quay hồi chuyển, cảm biến gia tốc và cảm biến nhiệt.

MPU-6050 cĩ khả năng hoạt động với khoảng nguồn cung cấp rộng từ 2.375V- 3.46V. Hơn nữa, MPU-6050 cịn cung cấp chân VLOGIC (bên cạnh chân VDD) để cài đặt mức logic trên giao tiếp I2C. Điện áp VLOGIC cĩ thể là 1.8V 5% hoặc VDD.

2.7.2. Cá ính năng a MPU-6050

Con quay hồi chuyển

Con quay hồi chuyển ba trục MEMS trong MPU-6050 bao gồm các đặc điểm sau:

- Bộ cảm biến gĩc quay ngõ ra số trục x, trục y và trục z (con quay hồi chuyển) với các khoảng lập trình được ±250, ±500, ±1000, and ±2000°/sec

- Tín hiệu đồng bộ bên ngồi được kết nối với chân FSYNC hỗ trợ đồng bộ hĩa hình ảnh, video và GPS.

- Bộ ADC 16-bit tích hợp cho phép lấy mẫu đồng thời con quay hồi chuyển.

- Độ ổn định về độ nhạy và ngưỡng nhiệt độ giúp giảm việc phải canh chỉnh.

- Cải thiệt việc hoạt động ở nhiễu tần số thấp.

- Bộ lọc thơng thấp khả trình.

- Dịng hoạt động con quay hồi chuyển: 3.6mA.

- Dịng standby: 5µA.

- Hệ số cân chỉnh khoảng độ nhạy của nhà máy.

- Tự kiểm tra bởi người sử dụng.  Cảm biến gia tốc

- Cảm biến gia tốc ba trục MEMS trong MPU-6050 bao gồm các đặc tính sau:

- Bộ cảm biến gĩc quay ngõ ra số trục x, trục y và trục z (con quay hồi chuyển) với các khoảng lập trình được ±2g, ±4g, ±8g and ±16g.

- Bộ ADC 16-bit tích hợp cho phép lấy mẫu đồng thời mà khơng cần bộ ghép kênh ngồi.

- Dịng hoạt động bình thường: 500µA.

- Chế độ dịng tiêu thụ thấp: 10μA tại 1.25Hz, 20μA tại 5Hz, 60μA tại 20Hz, 110μA tại 40Hz.

- Định vị và phát hiện định hướng.

- Phát hiện chạm.

- Ngắt khả trình.

- Ngắt high-G.

- Tự kiểm tra bởi người sử dụng.  Cá ính năng hêm

- MPU-6050 bao gồm các tính năng thêm:

- MotionFusion 9 trục thực hiện bởi DMP (Digital Motion Processor) on-chip.

- Dịng hoạt động 3.9mA khi cảm biến cả 6 trục và DMP được kích hoạt.

- Khoảng điện áp cung cấp 2.375-3.46V.

- Điện áp tham chiếu VLOGIC hỗ trợ điện áp giao tiếp I2 C.

- Kích thước nhỏ gọn: 4x4x0.9mm.

- Độ nhạy chéo giữa trục gia tốc và trục con quay nhỏ nhất.

- Bộ đệm FIFO 1024 bytes giúp giảm cơng suất tiêu thụ bằng cách cho phép các chip xử lý chính đọc dữ liệu trong các xung và sau đĩ chuyển qua chế độ cơng suất thấp khi MPU đọc nhiều dữ liệu hơn.

- Cảm biến nhiệt độ ngõ ra số.

- Bộ lọc số khả trình cho con quay hồi chuyển, cảm biến gia tốc và cảm biến nhiệt độ.

- Khả năng chống shock 10,000g.

- Fast mode I2C 400kHz để giao tiếp với các thanh ghi.  Xử lý chuyển ộng

- Bộ xử lý chuyển động số nội (DMP) hỗ trợ thuật tốn nhận dạng cử chỉ và xử lý chuyển động 3-D.

- MPU-6050 thu thập dữ liệu của con quay hồi chuyển và cảm biến gia tốc trong khi đồng bộ tốc độ lấy mẫu với tốc độ định trước của người sử dụng. Tồn bộ dữ liệu thu thập được của MPU-6050 bao gồm dữ liệu con quay ba trục, dữ liệu gia tốc ba trục và dữ liệu nhiệt độ.

- FIFO đệm các dữ liệu hồn chỉnh, giảm thời gian cần để xử lý trện bộ xử lý hệ thống, cho phép bộ xử lý đọc dữ liệu từ FIFO nhanh hơn. Sauk hi đọc dữ liệu từ FIFO, bộ xử lý cĩ thể tiết kiệm năng lượng bằng cách chuyển qua chế độ ngủ đơng tiết kiệm năng lượng, trong khi MPU tiếp tục thu thập dữ liệu.

- Các thanh ghi ngắt hỗ trợ các tính năng như nhận diện cử chỉ, lướt, phĩng to, cuộn, phát hiện chạm và phát hiện rung.

- Bộ lọc thơng thấp lập trình số.

- Chức năng đếm bước cơng suất thấp cho phép bộ xử lý ngủ đơng trong khi DMP vẫn tiếp tục đếm.

2.7.3. Sơ ồ chân MPU-6050

Sơ đồ phân bố chân nhìn từ mặt trước của MPU-6050 được mơ tả trong hình 2.8.

Hình 2.13: Sơ đồ phân bố chân của MPU-6050 (top view)

Bảng 2.5: Sơ đồ chân pinout của MPU-6050

Chân Tên chân Mơ tả

1 CLKIN Ngõ vào clock tham chiếu ngồi. Nối với GND nếu khơng sử dụng.

6 AUX_DA Chân dữ liệu nối tiếp Master I

2C, dùng để kết nối sensor ngồi.

7 AUX_CL Clock nối tiếp Master I2C, dùng để kết nối với sensor ngồi. 8 VLOGIC Nguồn cung cấp cho I/O số.

9 AD0 Địa chỉ LSB của slave I2

C (AD0). 10 REGOUT Kết nối lọc điều chỉnh.

11 FSYNC Ngõ vào số đồng bộ frame. Nối với GND nếu khơng sử dụng.

12 INT Ngắt ngõ ra số

13 VDD Nguồn cung cấp và điện áp cấp I/O số

18 GND Nối đất

19,21 RESV Dự phịng. Khơng kết nối. 20 CPOUT Kết nối với tụ nạp

22 RESV Dự phịng. Khơng kết nối. 23 SCL Xung clock cho I2C (SCL) 24 SDA Data cho I2C (SDA)

2,3,4,5, 14,15,

16,17

NC

Khơng kết nối

2.8. Mạch charge pin Lithium TP4056

Mạch charge TP4056 là mạch charge 3.7V cho các dịng pin Lithium, pin Ultrafire cĩ dịng sạc tối đa lên đến 1A. Mạch charge cĩ IC quản lý charge để tự ngắt khi pin yếu dưới 2.4V. Hình 2.9 là mạch TP4056 trong thực tế.

 Thơng số kĩ thuật của mạch:

- Điện áp vào: Micro USB 4.5-5.5V DC.

- Dịng charge tối đa: 1000mA.

- Điện áp ngưỡng tự động ngắt: 4.2V 1%.

- Điện áp ngưỡng cần charge: 2.5V.

- Tích hợp tự động ngắt bảo vệ pin khi pin yếu dưới 2.4V.

- Nhiệt Độ Hoạt Động: -10 -->85 °C

- Kích thước: 2.6 x 1.7cm.

- Trọng lượng: 10g.  Tính năng:

- Sử dụng sạc Pin 3.7V, Pin Ultrafire, Pin Lithium.

- Chế độ đang sạc LED báo màu đỏ.

- Chế độ sạc pin đầy LED báo màu xanh.

- Mạch sạc cĩ chế độ tự ngắt khi sạc đầy pin.

Hình 2.14: Mạch charge TP4056 1A 2.9. Pin Lipo 3.7V 500mA

Pin Lipo, viết tắt của Lithium Polymer, là loại pin cĩ kích thước nhỏ gọn, dịng xả lớn, tuổi thọ cao, pin cĩ điện áp trung bình 3.7V, charge đầy là 4.2V.

Thơng số kỹ thuật:

- Số cell: 01.

- Điện áp trung bình 3.7VDC, charge đầy 4.2VDC.

- Dung lượng: 500mA.

- Kích thước: 20 x 30 x 6 mm.

- Khối lượng: 7.2 g.

Hình 2.15: Pin lipo 3.7V 500mA 2.10. Weka

Weka (Waikato Environment for Knowledge Analysis) là phần mềm machine learning được viết trên nền tảng Java, được phát triển bởi Đại học Waikato, New Zealand. Đây là phần mềm miễn phí được cấp phép bởi GNU (General Public License).

Weka bao gồm các cơng cụ trực quan và thuật tốn cùng với giao diện người dùng (GUI) giúp hỗ trợ phân tích dữ liệu và dự đốn mơ hình. Các ưu điểm của Weka bao gồm:

- Mã nguồn mở.

- Giao diện đồ họa người dùng (GUI): cho phép thực hiện các project machine learning mà khơng cần lập trình.

- Java API: Weka được viết bằng ngơn ngữ Java do đĩ nĩ cĩ thể trên hầu hết các nền tảng máy tính hiện tại.

2.10.1. Giới thiệu giao diện c a Weka

Hình 2.16 là giao diện của chương trình Weka khi khởi động, bao gồm:

- Explorer: xử lý dữ liệu và thuật tốn muốn sử dụng trong Experimenter.

- Experimenter: giao diện để thí nghiệm với tập dữ liệu và thuật tốn đã xử lý

trong Explorer.

- Knowledge Flow: Giao diện giúp theo dõi quá trình huấn luyện và chạy các

mơ hình đã tạo bao gồm: load và xử lý dữ liệu ngõ vào, chạy thuật tốn và trình bày kết quả.

Hình 2.16: Giao diện Weka version 3.8.1

Explorer bao gồm 5 tab :

- Preprocess: load tập dữ liệu và biến đổi về dạng mong muốn.

- Classify: Chọn và chạy các thuật tốn phân loại và hồi quy.

- Cluster: Chọn và chạy các thuật tốn phân loại nhĩm.

- Associate: Chạy các thuật tốn liên kết để trích xuất đặc trưng của tập dữ liệu.

- Select Attributes: Chạy các thuật tốn thuộc tính trên tập dữ liệu để chọn ra các thuộc tính liên quan đến tính năng mong muốn dự đốn.

- Visualize: Biểu diễn mối quan hệ giữa các thuộc tính.

- Current relation cho biết các thơng số của file dữ liệu bao gồm tên của file (Relation), số mẫu (instances) và số thuộc tính (attributes).

Hình 2.17: Giao diện của Explorer trong Weka

Weka Experimenter

Hình 2.18: Giao diện Weka Experimenter

Giao diện cho phép thử nghiệm trên các thuật tốn và tập dữ liệu, chạy thử nghiệm và phân tích kết quả.

Knowledge Flow

Hình 2.19: Giao diện Knowledge Flow

Giao diện cho phép theo dõi quá trình huấn luyện dưới dạng hình ảnh đồ thị và chạy các mơ hình đã tạo ra, bao gồm load và biến đổi dữ liệu ngõ vào, chạy thuật tốn và trình bày kết quả.

2.10.2. Chuẩn bị dữ liệu cho Weka

Weka chấp nhận các dữ liệu dưới dạng file “.arff”. File ARFF (Attribute-Relation File Format – kiểu file dữ liệu dạng quan hệ - thuộc tính) là kiểu file text ASCII liệt kê danh sách các trường hợp chia sẻ một tập thuộc tính. File ARFF cĩ hai phần

Một phần của tài liệu Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE (Trang 37)