UM2275
คู่มือการใช้งาน
เริ่มต้นใช้งานไลบรารีการตรวจจับการล้มแบบเรียลไทม์ MotionFD ในส่วนขยาย X-CUBE-MEMS1 สำหรับ STM32Cube
การแนะนำ
MotionEC คือส่วนประกอบไลบรารีมิดเดิลแวร์ของซอฟต์แวร์ X-CUBE-MEMS1 และทำงานบน STM3z2 โดยให้ข้อมูลแบบเรียลไทม์เกี่ยวกับทิศทางของอุปกรณ์และสถานะการเคลื่อนที่โดยอิงจากข้อมูลจากอุปกรณ์
โดยจะให้ผลลัพธ์ต่อไปนี้: การวางแนวอุปกรณ์ (ควอเทอร์เนียน มุมออยเลอร์) การหมุนอุปกรณ์ (ฟังก์ชันไจโรสโคปเสมือน) เวกเตอร์แรงโน้มถ่วง และการเร่งความเร็วเชิงเส้น
ไลบรารีนี้มีวัตถุประสงค์เพื่อทำงานกับ ST MEMS เท่านั้น
อัลกอริทึมนี้จัดทำไว้ในรูปแบบไลบรารีแบบคงที่ และได้รับการออกแบบมาเพื่อใช้กับไมโครคอนโทรลเลอร์ STM32 ที่ใช้สถาปัตยกรรม ARM® Cortex®-M0+, ARM® Cortex®-M3, ARM® Cortex®-M33, ARM® Cortex®-M4 และ ARM® Cortex®-M7
สร้างขึ้นจากเทคโนโลยีซอฟต์แวร์ STM32Cube เพื่อความสะดวกในการพกพาผ่านไมโครคอนโทรลเลอร์ STM32 ต่างๆ
ซอฟต์แวร์มาพร้อมกับ sampการใช้งานทำงานบนบอร์ดขยาย X-NUCLEO-IKS4A1 หรือ X-NUCLEO-IKS01A3 บนบอร์ดพัฒนา NUCLEO-F401RE, NUCLEO-U575ZI-Q หรือ NUCLEO-L152RE
ตัวย่อและตัวย่อ
ตารางที่ 1. รายการตัวย่อ
คำย่อ | คำอธิบาย |
เอพีไอ | อินเทอร์เฟซการเขียนโปรแกรมแอปพลิเคชัน |
บีเอสพี | แพ็คเกจสนับสนุนบอร์ด |
กุ้ยช่าย | อินเทอร์เฟซผู้ใช้แบบกราฟิก |
ฮาล | ชั้นนามธรรมของฮาร์ดแวร์ |
ไอดีอี | สภาพแวดล้อมการพัฒนาแบบบูรณาการ |
ไลบรารีมิดเดิลแวร์ MotionFD ในซอฟต์แวร์ขยาย X-CUBE-MEMS1 สำหรับ STM32Cube
2.1 MotionFD เหนือview
ไลบรารี MotionFD ขยายการทำงานของซอฟต์แวร์ X-CUBE-MEMS1
ห้องสมุดรวบรวมข้อมูลจากเครื่องวัดความเร่งและเซ็นเซอร์ความดัน และให้ข้อมูลเกี่ยวกับเหตุการณ์ผู้ใช้ล้มโดยอิงจากข้อมูลจากอุปกรณ์
ห้องสมุดได้รับการออกแบบสำหรับ ST MEMS เท่านั้น ฟังก์ชันและประสิทธิภาพเมื่อใช้เซ็นเซอร์ MEMS อื่นๆ จะไม่ถูกวิเคราะห์ และอาจแตกต่างอย่างมากจากที่อธิบายไว้ในเอกสาร
Sampการใช้งานนี้ใช้ได้กับบอร์ดขยาย X-NUCLEO-IKS4A1 และ X-NUCLEO-IKS01A3 ที่ติดตั้งบนบอร์ดพัฒนา NUCLEO-F401RE, NUCLEO-U575ZI-Q หรือ NUCLEO-L152RE
2.2 ไลบรารี MotionFD
ข้อมูลทางเทคนิคที่อธิบายฟังก์ชันและพารามิเตอร์ของ MotionFD API อย่างครบถ้วนสามารถพบได้ใน HTML ที่คอมไพล์ใน MotionFD_Package.chm file อยู่ในโฟลเดอร์เอกสาร
2.2.1 คำอธิบายไลบรารี MotionFD
ไลบรารีการตรวจจับการล้มของ MotionFD จัดการข้อมูลที่ได้รับจากเซ็นเซอร์วัดความเร่งและความดัน โดยมีคุณสมบัติดังนี้:
- ความสามารถในการแยกแยะว่าผู้ใช้ล้มลงหรือไม่
- การจดจำนั้นอาศัยข้อมูลจากเซ็นเซอร์วัดความเร่งและแรงดันเท่านั้น
- ข้อมูลเซ็นเซอร์วัดความเร่งและแรงดันที่จำเป็นampความถี่เสียงหลิงคือ 25 เฮิรตซ์
- ความต้องการทรัพยากร:
– Cortex-M3: โค้ด 3.6 kB และหน่วยความจำข้อมูล 3.2 kB
– Cortex-M33: โค้ด 3.4 kB และหน่วยความจำข้อมูล 3.2 kB
– Cortex-M4: โค้ด 3.4 kB และหน่วยความจำข้อมูล 3.2 kB
– Cortex-M7: โค้ด 3.4 kB และหน่วยความจำข้อมูล 3.2 - ใช้ได้กับสถาปัตยกรรม ARM Cortex-M3, ARM Cortex-M33, ARM Cortex-M4 และ ARM Cortex-M7
2.2.2 API ของ MotionFD
API ของไลบรารี MotionFD คือ:
- uint8_t MotionFD_GetLibVersion (อักขระ * เวอร์ชัน)
– ดึงข้อมูลเวอร์ชันไลบรารี
– *version เป็นตัวชี้ไปยังอาร์เรย์ที่มีอักขระ 35 ตัว
– ส่งคืนจำนวนอักขระในสตริงเวอร์ชัน - โมฆะ MotionFD_Initialize(โมฆะ)
– ดำเนินการเริ่มต้นไลบรารี MotionFD และตั้งค่ากลไกภายใน
บันทึก: ต้องเรียกใช้ฟังก์ชันนี้ก่อนใช้ไลบรารีการตรวจจับการตก และต้องเปิดใช้งานโมดูล CRC ในไมโครคอนโทรลเลอร์ STM32 (ในรีจิสเตอร์เปิดใช้งานนาฬิกาต่อพ่วง RCC)
- โมฆะ MotionFD_Update (MFD_input_t *data_in, MFD_output_t *data_out)
– ดำเนินการอัลกอริทึมการตรวจจับการล้ม
– พารามิเตอร์ *data_in เป็นตัวชี้ไปยังโครงสร้างที่มีข้อมูลอินพุต
– พารามิเตอร์สำหรับประเภทโครงสร้าง MFD_input_t คือ:
◦ AccX คือค่าเซนเซอร์วัดความเร่งในแกน X เป็นหน่วยมก.
◦ AccY คือค่าเซนเซอร์วัดความเร่งในแกน Y เป็นหน่วย mg
◦ AccZ คือค่าเซนเซอร์วัดความเร่งในแกน Z เป็นมิลลิกรัม
◦ กดเป็นค่าเซนเซอร์ความดันเป็น hPa
– พารามิเตอร์ *data_out คือตัวชี้ไปยังค่า enum ที่มีรายการดังต่อไปนี้:
◦MFD_NOFALL = 0
◦MFD_FALL = 1 - โมฆะ MotionFD_SetKnobs (float fall_threshold, int32_t fall_altitude_delta, float sleeping_time)
– ตั้งค่าพารามิเตอร์การกำหนดค่าไลบรารี
– เกณฑ์การเร่งความเร็ว fall_threshold ในหน่วย mg
– fall_altitude_delta ความแตกต่างของระดับความสูงเป็นเซนติเมตร
– เวลานอนเป็นวินาทีโดยไม่เคลื่อนไหวหลังเกิดการกระแทก - โมฆะ MotionFD_GetKnobs(float *fall_threshold, int32_t *fall_altitude_delta, float *lying_time)
– รับพารามิเตอร์การกำหนดค่าไลบรารี
– เกณฑ์การเร่งความเร็ว fall_threshold ในหน่วย mg
– fall_altitude_delta ความแตกต่างของระดับความสูงเป็นเซนติเมตร
– เวลานอนเป็นวินาทีโดยไม่เคลื่อนไหวหลังเกิดการกระแทก
2.2.3 แผนภูมิการไหลของ API
2.2.4 รหัสสาธิต
โค้ดสาธิตต่อไปนี้จะอ่านข้อมูลจากเครื่องวัดความเร่งและเซ็นเซอร์แรงดัน และรับโค้ดเหตุการณ์การตก
2.2.5 ประสิทธิภาพอัลกอริทึม
อัลกอริทึมการตรวจจับการล้มจะใช้เฉพาะข้อมูลจากเครื่องวัดความเร่งและเซ็นเซอร์ความดัน และทำงานที่ความถี่ต่ำ (25 เฮิรตซ์) เพื่อลดการใช้พลังงาน
2.3 วินาทีampแอปพลิเคชัน
มิดเดิลแวร์ MotionFD สามารถจัดการได้อย่างง่ายดายเพื่อสร้างแอปพลิเคชันของผู้ใช้ampแอปพลิเคชัน le มีอยู่ในโฟลเดอร์แอปพลิเคชัน
ได้รับการออกแบบให้ทำงานบนบอร์ดพัฒนา NUCLEO-F401RE, NUCLEO-U575ZI-Q หรือ NUCLEO-L152RE ที่เชื่อมต่อกับบอร์ดขยาย X-NUCLEO-IKS4A1 หรือ X-NUCLEO-IKS01A3
แอปพลิเคชันจะจดจำเหตุการณ์การล้มของผู้ใช้แบบเรียลไทม์
ภาพด้านบนแสดงปุ่มผู้ใช้ B1 และ LED ทั้งสามดวงของบอร์ด NUCLEO-F401RE เมื่อบอร์ดได้รับพลังงาน LED LD3 (PWR) จะเปิดขึ้น
ต้องใช้สาย USB ในการเชื่อมต่อเพื่อตรวจสอบข้อมูลแบบเรียลไทม์ บอร์ดนี้ใช้พลังงานจากพีซีผ่านการเชื่อมต่อ USB โหมดการทำงานนี้ช่วยให้ตรวจจับเหตุการณ์ผู้ใช้ล้มได้ ตรวจวัดความเร่ง และข้อมูลเซ็นเซอร์ความดัน เวลาamp และในที่สุดข้อมูลเซนเซอร์อื่นๆ แบบเรียลไทม์โดยใช้ MEMS-Studio
2.4 แอปพลิเคชัน MEMS-สตูดิโอ
ของampแอปพลิเคชันนี้ใช้แอปพลิเคชัน MEMS-Studio ซึ่งสามารถดาวน์โหลดได้จาก www.st.com.
ขั้นตอนที่ 1. ตรวจสอบให้แน่ใจว่าได้ติดตั้งไดรเวอร์ที่จำเป็นแล้ว และบอร์ด STM32 Nucleo พร้อมบอร์ดขยายที่เหมาะสมเชื่อมต่อกับพีซี
ขั้นตอนที่ 2. เปิดแอปพลิเคชัน MEMS-Studio เพื่อเปิดหน้าต่างแอปพลิเคชันหลัก
หากบอร์ด STM32 Nucleo ที่มีเฟิร์มแวร์ที่รองรับเชื่อมต่อกับพีซี ระบบจะตรวจพบโดยอัตโนมัติ
กดปุ่ม [เชื่อมต่อ] เพื่อสร้างการเชื่อมต่อกับบอร์ดประเมินผล
ขั้นตอนที่ 3. เมื่อเชื่อมต่อกับบอร์ด STM32 Nucleo ที่มีเฟิร์มแวร์ที่รองรับ แท็บ [การประเมินไลบรารี] จะเปิดขึ้น
หากต้องการเริ่มและหยุดการสตรีมข้อมูล ให้สลับ [เริ่ม] ที่เหมาะสม หรือ [หยุด]
ปุ่มบนแถบเครื่องมือแนวตั้งด้านนอก
ข้อมูลที่มาจากเซ็นเซอร์ที่เชื่อมต่อสามารถเป็นได้ viewโดยเลือกแท็บ [Data Table] บนเครื่องมือแนวตั้งด้านใน
ขั้นตอนที่ 4. คลิกที่ [การตรวจจับการล้ม] เพื่อเปิดหน้าต่างแอปพลิเคชันเฉพาะ
ขั้นตอนที่ 5. คลิกที่ [บันทึกลงใน File] เพื่อเปิดหน้าต่างการกำหนดค่าการบันทึกข้อมูล เลือกข้อมูลเซ็นเซอร์และการตรวจจับการล้มที่จะบันทึกใน fileคุณสามารถเริ่มหรือหยุดการบันทึกได้โดยการคลิกที่ปุ่มที่เกี่ยวข้อง
ขั้นตอนที่ 6. โหมด Data Injection สามารถใช้เพื่อส่งข้อมูลที่ได้รับก่อนหน้านี้ไปยังไลบรารีและรับผลลัพธ์ เลือกแท็บ [Data Injection] บนแถบเครื่องมือแนวตั้งเพื่อเปิดโหมดเฉพาะ view สำหรับฟังก์ชันการทำงานนี้
ขั้นตอนที่ 7. คลิกปุ่ม [เรียกดู] เพื่อเลือก file โดยใช้ข้อมูลที่จับไว้ก่อนหน้านี้ในรูปแบบ CSV
ข้อมูลจะถูกโหลดเข้าสู่ตารางในปัจจุบัน view.
ปุ่มอื่นๆ จะสามารถใช้งานได้ คุณสามารถคลิกที่ปุ่ม:
– ปุ่ม [โหมดออฟไลน์] เพื่อเปิด/ปิดโหมดออฟไลน์ของเฟิร์มแวร์ (โหมดที่ใช้ข้อมูลที่บันทึกไว้ก่อนหน้านี้)
– ปุ่ม [เริ่ม]/[หยุด]/[ก้าว]/[ทำซ้ำ] เพื่อควบคุมการส่งข้อมูลจาก MEMS-Studio ไปยังไลบรารี
2.5 อ้างอิง
แหล่งข้อมูลต่อไปนี้ทั้งหมดสามารถดูได้ฟรีที่ www.st.com
- UM1859: การเริ่มต้นใช้งาน MEMS การเคลื่อนไหว X-CUBE-MEMS1 และส่วนขยายซอฟต์แวร์เซ็นเซอร์สิ่งแวดล้อมสำหรับ STM32Cube
- UM1724: บอร์ด STM32 Nucleo-64 (MB1136)
- UM3233: เริ่มต้นใช้งาน MEMS-Studio
ประวัติการแก้ไข
ตารางที่ 4 ประวัติการแก้ไขเอกสาร
วันที่ | เวอร์ชัน | การเปลี่ยนแปลง |
22 ก.ย. 2017 | 1 | การเปิดตัวครั้งแรก |
6 ก.พ. 18 | 2 | เพิ่มการอ้างอิงถึงบอร์ดพัฒนา NUCLEO-L152RE และตารางที่ 2 อัลกอริธึมเวลาที่ผ่านไป (μs) |
21 มี.ค. 18 | 3 | อัปเดตบทนำและส่วนที่ 2.1 ของ MotionFDview. |
19 ก.พ. 19 | 4 | อัปเดตตารางที่ 2 อัลกอริธึมเวลาที่ผ่านไป (μs) และรูปที่ 2 STM32 Nucleo: LED, ปุ่ม, จัมเปอร์ เพิ่มข้อมูลความเข้ากันได้ของบอร์ดขยาย X-NUCLEO-IKS01A3 |
17 ก.ย. 24 | 5 | อัปเดตส่วนบทนำ ส่วนที่ 2.1: MotionFD เสร็จสิ้นviewส่วนที่ 2.2.1: คำอธิบายไลบรารี MotionFD ส่วนที่ 2.2.2: API ของ MotionFD ส่วนที่ 2.2.5: ประสิทธิภาพของอัลกอริทึม ส่วนที่ 2.3: Sampแอปพลิเคชัน ส่วนที่ 2.4: แอปพลิเคชัน MEMS-Studio |
หมายเหตุสำคัญ - โปรดอ่านอย่างละเอียด
STMicroelectronics NV และบริษัทในเครือ (“ST”) ขอสงวนสิทธิ์ในการเปลี่ยนแปลง แก้ไข ปรับปรุง ปรับเปลี่ยน และปรับปรุงผลิตภัณฑ์ ST และ/หรือเอกสารนี้ได้ตลอดเวลาโดยไม่ต้องแจ้งให้ทราบ ผู้ซื้อควรได้รับข้อมูลล่าสุดที่เกี่ยวข้องกับผลิตภัณฑ์ ST ก่อนทำการสั่งซื้อ ผลิตภัณฑ์ ST จะถูกขายตามข้อกำหนดและเงื่อนไขการขายของ ST ที่ใช้ในขณะที่ยืนยันคำสั่งซื้อ
ผู้ซื้อจะต้องรับผิดชอบแต่เพียงผู้เดียวในการเลือก การคัดเลือก และการใช้ผลิตภัณฑ์ ST และ ST จะไม่รับผิดชอบต่อความช่วยเหลือในการใช้งานหรือการออกแบบผลิตภัณฑ์ของผู้ซื้อ
ST ไม่อนุญาตให้มีใบอนุญาตใดๆ ไม่ว่าโดยชัดแจ้งหรือโดยนัยในสิทธิในทรัพย์สินทางปัญญาใดๆ
การขายต่อผลิตภัณฑ์ ST ที่มีข้อกำหนดแตกต่างจากข้อมูลที่กำหนดไว้ในที่นี้ จะทำให้การรับประกันใดๆ ที่ ST ให้ไว้สำหรับผลิตภัณฑ์ดังกล่าวเป็นโมฆะ
ST และโลโก้ ST เป็นเครื่องหมายการค้าของ ST สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเครื่องหมายการค้า ST โปรดดูที่ www.st.com/trademarksชื่อผลิตภัณฑ์หรือบริการอื่น ๆ ทั้งหมดเป็นทรัพย์สินของเจ้าของที่เกี่ยวข้อง
ข้อมูลในเอกสารฉบับนี้แทนที่และเปลี่ยนแทนข้อมูลที่เคยให้ไว้ก่อนหน้านี้ในเอกสารฉบับก่อนหน้าใดๆ
© 2024 STMicroelectronics – สงวนลิขสิทธิ์
เอกสาร / แหล่งข้อมูล
![]() |
ไลบรารีการตรวจจับการล้มแบบเรียลไทม์ ST X-CUBE-MEMS1 MotionFD [พีดีเอฟ] คู่มือการใช้งาน ไลบรารีการตรวจจับการล้มแบบเรียลไทม์ X-CUBE-MEMS1 MotionFD, X-CUBE-MEMS1, ไลบรารีการตรวจจับการล้มแบบเรียลไทม์ MotionFD, ไลบรารีการตรวจจับการล้มแบบเรียลไทม์, ไลบรารีการตรวจจับการล้ม, ไลบรารีการตรวจจับ, ไลบรารี |