ST X - โลโก้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

ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD

2.2.4 รหัสสาธิต
โค้ดสาธิตต่อไปนี้จะอ่านข้อมูลจากเครื่องวัดความเร่งและเซ็นเซอร์แรงดัน และรับโค้ดเหตุการณ์การตก

ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - รหัสสาธิต 1ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - รหัสสาธิต

2.2.5 ประสิทธิภาพอัลกอริทึม
อัลกอริทึมการตรวจจับการล้มจะใช้เฉพาะข้อมูลจากเครื่องวัดความเร่งและเซ็นเซอร์ความดัน และทำงานที่ความถี่ต่ำ (25 เฮิรตซ์) เพื่อลดการใช้พลังงาน

ไลบรารีการตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - อัลกอริทึมที่ใช้เวลาผ่านไป

2.3 วินาทีampแอปพลิเคชัน
มิดเดิลแวร์ MotionFD สามารถจัดการได้อย่างง่ายดายเพื่อสร้างแอปพลิเคชันของผู้ใช้ampแอปพลิเคชัน le มีอยู่ในโฟลเดอร์แอปพลิเคชัน
ได้รับการออกแบบให้ทำงานบนบอร์ดพัฒนา NUCLEO-F401RE, NUCLEO-U575ZI-Q หรือ NUCLEO-L152RE ที่เชื่อมต่อกับบอร์ดขยาย X-NUCLEO-IKS4A1 หรือ X-NUCLEO-IKS01A3
แอปพลิเคชันจะจดจำเหตุการณ์การล้มของผู้ใช้แบบเรียลไทม์

ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - จัมเปอร์

ภาพด้านบนแสดงปุ่มผู้ใช้ 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 ที่มีเฟิร์มแวร์ที่รองรับเชื่อมต่อกับพีซี ระบบจะตรวจพบโดยอัตโนมัติ
กดปุ่ม [เชื่อมต่อ] เพื่อสร้างการเชื่อมต่อกับบอร์ดประเมินผล

ไลบรารีการตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - เชื่อมต่อ

ขั้นตอนที่ 3. เมื่อเชื่อมต่อกับบอร์ด STM32 Nucleo ที่มีเฟิร์มแวร์ที่รองรับ แท็บ [การประเมินไลบรารี] จะเปิดขึ้น
หากต้องการเริ่มและหยุดการสตรีมข้อมูล ให้สลับ [เริ่ม] ที่เหมาะสม ไอคอนไลบรารีการตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD หรือ [หยุด] ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - ไอคอน 1  ปุ่มบนแถบเครื่องมือแนวตั้งด้านนอก
ข้อมูลที่มาจากเซ็นเซอร์ที่เชื่อมต่อสามารถเป็นได้ viewโดยเลือกแท็บ [Data Table] บนเครื่องมือแนวตั้งด้านใน

ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - ตารางข้อมูล

ขั้นตอนที่ 4. คลิกที่ [การตรวจจับการล้ม] เพื่อเปิดหน้าต่างแอปพลิเคชันเฉพาะ

คลังข้อมูลตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - การตรวจจับการล้ม

ขั้นตอนที่ 5. คลิกที่ [บันทึกลงใน File] เพื่อเปิดหน้าต่างการกำหนดค่าการบันทึกข้อมูล เลือกข้อมูลเซ็นเซอร์และการตรวจจับการล้มที่จะบันทึกใน fileคุณสามารถเริ่มหรือหยุดการบันทึกได้โดยการคลิกที่ปุ่มที่เกี่ยวข้อง

ไลบรารีการตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - บันทึกลงใน File

ขั้นตอนที่ 6. โหมด Data Injection สามารถใช้เพื่อส่งข้อมูลที่ได้รับก่อนหน้านี้ไปยังไลบรารีและรับผลลัพธ์ เลือกแท็บ [Data Injection] บนแถบเครื่องมือแนวตั้งเพื่อเปิดโหมดเฉพาะ view สำหรับฟังก์ชันการทำงานนี้

ไลบรารี่ตรวจจับการล้มแบบเรียลไทม์ ST X CUBE MEMS1 MotionFD - การแทรกข้อมูล

ขั้นตอนที่ 7. คลิกปุ่ม [เรียกดู] เพื่อเลือก file โดยใช้ข้อมูลที่จับไว้ก่อนหน้านี้ในรูปแบบ CSV
ข้อมูลจะถูกโหลดเข้าสู่ตารางในปัจจุบัน view.
ปุ่มอื่นๆ จะสามารถใช้งานได้ คุณสามารถคลิกที่ปุ่ม:
– ปุ่ม [โหมดออฟไลน์] เพื่อเปิด/ปิดโหมดออฟไลน์ของเฟิร์มแวร์ (โหมดที่ใช้ข้อมูลที่บันทึกไว้ก่อนหน้านี้)
– ปุ่ม [เริ่ม]/[หยุด]/[ก้าว]/[ทำซ้ำ] เพื่อควบคุมการส่งข้อมูลจาก MEMS-Studio ไปยังไลบรารี

2.5 อ้างอิง
แหล่งข้อมูลต่อไปนี้ทั้งหมดสามารถดูได้ฟรีที่ www.st.com

  1. UM1859: การเริ่มต้นใช้งาน MEMS การเคลื่อนไหว X-CUBE-MEMS1 และส่วนขยายซอฟต์แวร์เซ็นเซอร์สิ่งแวดล้อมสำหรับ STM32Cube
  2. UM1724: บอร์ด STM32 Nucleo-64 (MB1136)
  3. 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, ไลบรารีการตรวจจับการล้มแบบเรียลไทม์, ไลบรารีการตรวจจับการล้ม, ไลบรารีการตรวจจับ, ไลบรารี

อ้างอิง

ฝากความคิดเห็น

ที่อยู่อีเมลของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องกรอกข้อมูลมีเครื่องหมาย *