NGIMU User Manual
Bersyon 1.6
Pampublikong Pagpapalabas
Mga update sa dokumento
Ang dokumentong ito ay patuloy na ina-update upang isama ang karagdagang impormasyon na hinihiling ng mga user at mga bagong feature na ginawang available sa mga update sa software at firmware. Pakisuri ang x-io
Mga teknolohiya website para sa pinakabagong bersyon ng dokumentong ito at firmware ng device.
Kasaysayan ng bersyon ng dokumento
Petsa | Bersyon ng dokumento | Paglalarawan |
13 Ene 2022 | 1.6 |
|
16 Okt 2019 | 1.5 |
|
24 Hul 2019 | 1.4 |
|
07 Nob 2017 | 1.3 |
|
10 Ene 2017 | 1.2 |
|
19 Okt 2016 | 1.1 |
|
23 Set 2016 | 1.0 |
|
19 Mayo 2016 | 0.6 |
|
29 Mar 2016 | 0.5 |
|
19 Nob 2015 | 0.4 |
|
30 Hunyo 2015 | 0.3 |
|
9 Hunyo 2015 | 0.2 |
|
12 Mayo 2015 | 0.1 |
|
10 Mayo 2015 | 0.0 |
|
Tapos naview
Ang Next Generation IMU (NGIMU) ay isang compact na IMU at data acquisition platform na pinagsasama ang mga onboard na sensor at mga algorithm sa pagpoproseso ng data na may malawak na hanay ng mga interface ng komunikasyon upang lumikha ng isang versatile na platform na angkop sa parehong real-time at data-logging na mga application.
Nakikipag-usap ang device gamit OSC at sa gayon ay katugma kaagad sa maraming software application at diretsong isama sa mga custom na application na may mga library na available para sa karamihan ng mga programming language.
1.1. Mga on-board na sensor at data acquisition
- Triple-axis gyroscope (±2000°/s, 400 Hz sampang rate)
- Triple-axis accelerometer (±16g, 400 Hz sampang rate)
- Triple-axis magnetometer (±1300 µT)
- Barometric pressure (300-1100 hPa)
- Halumigmig
- Temperatura1
- Baterya voltage, kasalukuyan, porsyentotage, at oras na natitira
- Mga analog input (8 channel, 0-3.1 V, 10-bit, 1 kHz sampang rate)
- Auxiliary serial (RS-232 compatible) para sa GPS o custom na electronics/sensors
- Real-time na orasan at
1.2. On-board na pagproseso ng data
- Ang lahat ng mga sensor ay naka-calibrate
- Ang AHRS fusion algorithm ay nagbibigay ng pagsukat ng oryentasyong nauugnay sa Earth bilang isang quaternion, rotation matrix, o mga anggulo ng Euler
- Ang AHRS fusion algorithm ay nagbibigay ng pagsukat ng linear acceleration
- Ang lahat ng mga sukat ay timestamped
- Pag-synchronize ng timestamppara sa lahat ng device sa isang Wi-Fi network2
1.3. Mga interface ng komunikasyon
- USB
- Serial (RS-232 compatible)
- Wi-Fi (802.11n, 5 GHz, built-in o external na antennae, AP o client mode)
- SD card (maa-access bilang panlabas na drive sa pamamagitan ng USB)
1.4. Pamamahala ng lakas
- Power mula sa USB, panlabas na supply o baterya
- Nagcha-charge ang baterya sa pamamagitan ng USB o panlabas na supply
- Timer ng pagtulog
1Ang mga on-board na thermometer ay ginagamit para sa pagkakalibrate at hindi nilayon upang magbigay ng tumpak na pagsukat ng temperatura sa paligid.
2 Ang pag-synchronize ay nangangailangan ng karagdagang hardware (Wi-Fi router at master ng pag-synchronize).
- Motion trigger gumising
- Timer ng gising
- 3.3 V supply para sa electronics ng gumagamit (500 mA)
1.5. Mga tampok ng software
- Open-source GUI at API (C#) para sa Windows
- I-configure ang mga setting ng device
- I-plot ang real-time na data
- Mag-log ng real-time na data sa file (CSV file format para gamitin sa Excel, MATLAB, atbp.)
- Mga tool sa pagpapanatili at pagkakalibrate Error! Hindi tinukoy ang bookmark.
Hardware
2.1. Power button
Pangunahing ginagamit ang power button para i-on at i-off ang device (sleep mode). Ang pagpindot sa button habang naka-off ang device ay i-on ito. Ang pagpindot nang matagal sa button sa loob ng 2 segundo habang ito ay naka-on ay i-off ito.
Ang button ay maaari ding gamitin bilang data source ng user. Magpapadala ang device ng timestamped button na mensahe sa tuwing pinindot ang button. Maaari itong magbigay ng maginhawang input ng user para sa mga real-time na application o isang kapaki-pakinabang na paraan ng pagmamarka ng mga kaganapan kapag nagla-log ng data. Tingnan ang Seksyon 7.1.1 para sa higit pang impormasyon.
2.2. mga LED
Nagtatampok ang board ng 5 LED indicator. Ang bawat LED ay may ibang kulay at may nakalaang papel. Ang talahanayan 1 ay naglilista ng papel at nauugnay na pag-uugali ng bawat LED.
Kulay | Nagpapahiwatig | Pag-uugali |
Puti | Katayuan sa Wi-Fi | Naka-off – Hindi pinagana ang Wi-Fi Mabagal na pagkislap (1 Hz) - Hindi konektado Mabilis na pagkislap (5 Hz) – Nakakonekta at naghihintay ng IP address Solid – Nakakonekta at nakuha ang IP address |
Asul | – | – |
Berde | Status ng device | Isinasaad na naka-on ang device. Kukurap din ito sa bawat oras na pinindot ang pindutan o natanggap ang isang mensahe. |
Dilaw | Katayuan ng SD card | Naka-off – Walang SD card Mabagal na pagkislap (1 Hz) – May SD card ngunit hindi ginagamit Solid – Nasa SD card at kasalukuyang nagla-log in |
Pula | Nagcha-charge ang baterya | Naka-off – Hindi nakakonekta ang charger Solid – Nakakonekta ang charger at kasalukuyang nagcha-charge Kumikislap (0.3 Hz) – Nakakonekta ang charger at kumpleto ang pag-charge Mabilis na pagkislap (5 Hz) – Hindi nakakonekta ang charger at mas mababa sa 20% ang baterya |
Talahanayan 1: Pag-uugali ng LED
Ang pagpapadala ng command na kilalanin sa device ay magiging sanhi ng mabilis na pagkislap ng lahat ng LED sa loob ng 5 segundo.
Maaaring magamit ito kapag sinusubukang tumukoy ng isang partikular na device sa loob ng isang pangkat ng maraming device. Tingnan ang Seksyon 7.3.6 para sa higit pang impormasyon.
Maaaring hindi paganahin ang mga LED sa mga setting ng device. Ito ay maaaring magamit sa mga application kung saan ang liwanag mula sa mga LED ay hindi kanais-nais. Ang utos na kilalanin ay maaari pa ring gamitin kapag ang mga LED ay hindi pinagana at ang berdeng LED ay kumikislap pa rin sa tuwing pinindot ang pindutan. Nagbibigay-daan ito sa user na tingnan kung naka-on ang device habang naka-disable ang mga LED.
2.3. Pantulong na serial pinout
Inililista ng talahanayan 2 ang auxiliary serial connector pinout. Ang Pin 1 ay pisikal na minarkahan sa connector ng isang maliit na arrow, tingnan ang Figure 1.
Pin | Direksyon | Pangalan |
1 | N/A | Lupa |
2 | Output | RTS |
3 | Output | 3.3 V na output |
4 | Input | RX |
5 | Output | TX |
6 | Input | CTS |
Talahanayan 2: Auxiliary serial connector pinout
2.4. Serial na pinout
Inililista ng talahanayan 3 ang serial connector pinout. Ang Pin 1 ay pisikal na minarkahan sa connector ng isang maliit na arrow, tingnan ang Figure 1.
Pin | Direksyon | Pangalan |
1 | N/A | Lupa |
2 | Output | RTS |
3 | Input | 5 V input |
4 | Input | RX |
5 | Output | TX |
6 | Input | CTS |
Talahanayan 3: Pinout ng serial connector
2.5. Analogue inputs pinout
Ang talahanayan 4 ay naglilista ng mga analogue input connector pinout. Ang Pin 1 ay pisikal na minarkahan sa connector ng isang maliit na arrow, tingnan ang Figure 1.
Pin | Direksyon | Pangalan |
1 | N/A | Lupa |
2 | Output | 3.3 V na output |
3 | Input | Analogue channel 1 |
4 | Input | Analogue channel 2 |
5 | Input | Analogue channel 3 |
6 | Input | Analogue channel 4 |
7 | Input | Analogue channel 5 |
8 | Input | Analogue channel 6 |
9 | Input | Analogue channel 7 |
10 | Input | Analogue channel 8 |
Talahanayan 4: Analogue input connector pinout
2.6. Mga numero ng bahagi ng connector
Ang lahat ng board connectors ay 1.25 mm pitch Molex PicoBlade™ Header. Ang talahanayan 5 ay naglilista ng bawat numero ng bahagi na ginamit sa pisara at ang mga inirerekomendang numero ng bahagi ng kaukulang mga konektor sa pagsasama.
Ang bawat mating connector ay nilikha mula sa isang plastic housing part at dalawa o higit pang crimped wires.
Konektor ng board | Numero ng bahagi | Mating part number |
Baterya | Molex PicoBlade™ Header, Surface Mount, Right-Angle, 2-way, P/N: 53261-0271 | Molex PicoBlade™ Housing, Babae, 2-way, P/N: 51021-0200
Molex Pre-Crimped Lead Single-Ended PicoBlade™ Female, 304mm, 28 AWG, P/N: 06-66-0015 (×2) |
Pantulong na serial / Serial | Molex PicoBlade™ Header, Surface Mount, Right-Angle, 6-way, P/N: 53261-0671 | Molex PicoBlade™ Housing, Babae, 6-way, P/N: 51021-0600 Molex Pre-Crimped Lead Single-Ended PicoBlade™ Female, 304mm, 28 AWG, P/N: 06-66-0015 (×6) |
Mga input ng analog | Molex PicoBlade™ Header, Surface Mount, Right-Angle, 10-way, P/N: 53261-1071 | Molex PicoBlade™ Housing, Babae, 10-way, P/N: 51021-1000 Molex Pre-Crimped Lead Single-Ended PicoBlade™ Female, 304mm, 28 AWG, P/N: 06-66-0015 (×10) |
Talahanayan 5: Mga numero ng bahagi ng board connector
2.7. Mga sukat ng board
Isang 3D na HAKBANG file at mechanical drawing na nagdedetalye sa lahat ng mga sukat ng board ay available sa x-io
Mga teknolohiya website.
Plastic na pabahay
Ang plastic housing ay nakapaloob sa board na may 1000 mAh na baterya. Ang housing ay nagbibigay ng access sa lahat ng board interface at translucent para makita ang mga LED indicator. Ipinapakita ng Figure 3 ang board na naka-assemble na may 1000 mAh na baterya sa plastic housing.
Figure 3: Board assembled na may 1000 mAh na baterya sa isang plastic housing
Isang 3D na HAKBANG file at mechanical drawing na nagdedetalye ng lahat ng dimensyon ng pabahay ay available sa x-io Technologies website.
Mga input ng analog
Ang interface ng analogue input ay ginagamit upang sukatin ang voltages at kumuha ng data mula sa mga panlabas na sensor na nagbibigay ng mga sukat bilang isang analogue voltage. Para kay example, ang isang resistive force sensor ay maaaring isaayos sa isang potensyal na divider circuit upang magbigay ng mga sukat ng puwersa bilang isang analogue voltage. VoltagAng mga sukat ay ipinapadala ng device bilang timestamped analogue input ng mga mensahe tulad ng inilarawan sa Seksyon 7.1.13.
Ang analogue inputs pinout ay inilarawan sa Seksyon 2.3, at ang mga numero ng bahagi para sa isang mating connector ay nakalista sa Seksyon 2.6.
4.1. Mga pagtutukoy ng analog input
- Bilang ng mga channel: 8
- Resolusyon ng ADC: 10-bit
- Samprate ng le: 1000Hz
- Voltage saklaw: 0 V hanggang 3.1 V
4.2. 3.3 V na output ng supply
Ang analog input interface ay nagbibigay ng 3.3 V na output na maaaring magamit upang paganahin ang mga panlabas na electronics. Naka-off ang output na ito kapag pumasok ang device sa sleep mode para pigilan ang external electronics na maubos ang baterya kapag hindi aktibo ang device.
Pantulong na serial interface
Ang auxiliary serial interface ay ginagamit upang makipag-ugnayan sa mga panlabas na electronics sa pamamagitan ng serial connection.
Para kay example, Appendix A ay naglalarawan kung paano maaaring direktang konektado ang isang GPS module sa auxiliary serial interface upang mag-log at mag-stream ng data ng GPS kasama ng umiiral na data ng sensor. Bilang kahalili, ang isang microcontroller na konektado sa auxiliary serial interface ay maaaring gamitin upang magdagdag ng pangkalahatang layunin na input/output functionality.
Ang auxiliary serial interface pinout ay inilarawan sa Seksyon 2.3, at ang mga numero ng bahagi para sa isang mating connector ay nakalista sa Seksyon 2.6.
5.1. Pantulong na serial na detalye
- Rate ng baud: 7 bps hanggang 12 Mbps
- Kontrol sa daloy ng hardware ng RTS/CTS: pinagana/na-disable
- Baliktarin ang mga linya ng data (para sa RS-232 compatibility): pinagana/na-disable
- Data: 8-bit (walang party)
- Stop bits: 1
- Voltage: 3.3 V (mapagparaya ang mga input sa RS-232 voltages)
5.2. Nagpapadala ng data
Ipinapadala ang data mula sa auxiliary serial interface sa pamamagitan ng pagpapadala ng auxiliary serial data message sa
aparato. Tingnan ang Seksyon 7.1.15 para sa higit pang impormasyon.
5.3. Pagtanggap ng data
Ang data na natanggap ng auxiliary serial interface ay ipinapadala ng device bilang auxiliary serial data message gaya ng inilarawan sa Seksyon 7.2.1. Ang mga natanggap na byte ay bina-buffer bago ipadala nang magkasama sa isang mensahe kapag natugunan ang isa sa mga sumusunod na kundisyon:
- Ang bilang ng mga byte na nakaimbak sa buffer ay tumutugma sa laki ng buffer
- Walang mga byte na natanggap nang higit sa panahon ng pag-timeout
- Reception ng isang byte na katumbas ng framing character
Maaaring isaayos ang laki ng buffer, timeout, at framing sa mga setting ng device. Isang exampAng paggamit ng mga setting na ito ay upang itakda ang framing character sa halaga ng isang bagong-line na character ('\n', decimal value 10) upang ang bawat ASCII string, na tinapos ng isang bagong-line na character, na natanggap ng isang auxiliary serial interface ay ipinadala bilang isang hiwalay na time-stamped na mensahe.
5.4. OSC passthrough
Kung ang OSC passthrough mode ay pinagana, ang auxiliary serial interface ay hindi magpapadala at makakatanggap sa paraang inilarawan sa Seksyon 5.2 at 5.3. Sa halip, ang auxiliary serial interface ay magpapadala at makakatanggap ng mga OSC packet na naka-encode bilang mga SLIP packet. Ang nilalaman ng OSC na natanggap ng auxiliary serial interface ay ipinapasa sa lahat ng aktibong channel ng komunikasyon bilang timestamped OSC bundle. Ang mga mensahe ng OSC na natanggap sa pamamagitan ng anumang aktibong channel ng komunikasyon na hindi nakikilala ay ipapasa sa auxiliary serial interface. Nagbibigay-daan ito sa direktang komunikasyon sa mga third-party at custom na serial-based na OSC device sa pamamagitan ng mga mensaheng ipinadala at natanggap kasama ng kasalukuyang trapiko ng OSC.
Ang NGIMU Teensy I/O Expansion HalampIpinapakita ng le kung paano magagamit ang isang Teensy (isang Arduino-compatible microcontroller) na konektado sa auxiliary serial interface para makontrol ang mga LED at magbigay ng data ng sensor gamit ang OSC passthrough mode.
5.5. Kontrol sa daloy ng hardware ng RTS/CTS
Kung ang kontrol sa daloy ng hardware ng RTS/CTS ay hindi pinagana sa mga setting ng device, maaaring manual na kontrolin ang input ng CTS at output ng RTS. Nagbibigay ito ng pangkalahatang layunin na digital input at output na maaaring magamit upang mag-interface sa panlabas na electronics. Para kay example: upang makita ang pagpindot ng isang pindutan o upang kontrolin ang isang LED. Ang RTS output state ay itinakda sa pamamagitan ng pagpapadala ng auxiliary serial RTS na mensahe sa device gaya ng inilarawan sa Seksyon 7.2.2. Isang orasamped auxiliary serial CTS na mensahe ay ipinapadala ng device sa tuwing ang CTS input states ay nagbabago gaya ng inilarawan sa Seksyon 7.1.16.
5.6. 3.3 V na output ng supply
Ang auxiliary serial interface ay nagbibigay ng 3.3 V na output na maaaring magamit upang paganahin ang mga panlabas na electronics. Naka-off ang output na ito kapag pumasok ang device sa sleep mode para pigilan ang external electronics na maubos ang baterya kapag hindi aktibo ang device.
Magpadala ng mga rate, sampmga rate, at orasamps
Ang mga setting ng device ay nagbibigay-daan sa user na tukuyin ang rate ng pagpapadala ng bawat uri ng mensahe ng pagsukat, halimbawaample, sensors message (Seksyon 7.1.2), quaternion message (Seksyon 7.1.4), atbp. Ang rate ng pagpapadala ay walang epekto sa sample rate ng kaukulang mga sukat. Ang lahat ng mga sukat ay nakuha sa loob sa nakapirming sample rates na nakalista sa Table 6. The timesamp para sa bawat pagsukat ay nalikha kapag ang sample ay nakuha. Ang orasamp samakatuwid ay isang maaasahang pagsukat, independiyente sa latency o buffering na nauugnay sa isang ibinigay na commutation channel.
Pagsusukat | Sample Rate |
Gyroscope | 400 Hz |
Accelerometer | 400 Hz |
Magnetometer | 20 Hz |
Barometric pressure | 25 Hz |
Halumigmig | 25 Hz |
Temperatura ng processor | 1 kHz |
Gyroscope at accelerometer na temperatura | 100 Hz |
Temperatura ng sensor ng kapaligiran | 25 Hz |
Baterya (porsyentotage, oras upang walang laman, voltage, kasalukuyan) | 5 Hz |
Mga input ng analog | 1 kHz |
RSSI | 2 Hz |
Talahanayan 6: Nakapirming panloob na sample rate
Kung ang isang tinukoy na rate ng pagpapadala ay mas malaki kaysa sa sampang rate ng associate measurement pagkatapos ay uulitin ang mga pagsukat sa loob ng maraming mensahe. Ang mga paulit-ulit na pagsukat ay maaaring matukoy bilang paulit-ulit na timestamps. Posibleng tukuyin ang mga rate ng pagpapadala na lumampas sa bandwidth ng isang channel ng komunikasyon. Magreresulta ito sa pagkawala ng mga mensahe. Orasamps ay dapat gamitin upang matiyak na ang sistema ng pagtanggap ay matatag sa mga nawawalang mensahe.
Protocol ng komunikasyon
Ang lahat ng komunikasyon ay naka-encode bilang OSC. Ang data na ipinadala sa UDP ay gumagamit ng OSC ayon sa detalye ng OSC v1.0. Ang data set sa USB, serial o nakasulat sa SD card ay OSC na naka-encode bilang mga SLIP packet ayon sa detalye ng OSC v1.1. Ang pagpapatupad ng OSC ay gumagamit ng mga sumusunod na pagpapasimple:
- Ang mga mensahe ng OSC na ipinadala sa device ay maaaring gumamit ng mga numerical na uri ng argumento (int32, float32, int64, oras ng OSC tag, 64-bit na double, character, boolean, nil, o Infinitum) na magkakapalit, at mga blob at string na mga uri ng argumento nang magkapalit.
- Ang mga pattern ng OSC address na ipinadala sa device ay maaaring walang anumang mga espesyal na character: '?', '*', '[]', o '{}'.
- Ang mga mensahe ng OSC na ipinadala sa device ay maaaring ipadala sa loob ng mga bundle ng OSC. Gayunpaman, ang pag-iiskedyul ng mensahe ay hindi papansinin.
7.1. Data mula sa device
Ang lahat ng data na ipinadala mula sa device ay ipinadala bilang isang timestamped OSC bundle na naglalaman ng isang mensahe ng OSC.
Ang lahat ng data message, maliban sa button, auxiliary serial at serial message, ay patuloy na ipinapadala sa mga rate ng pagpapadala na tinukoy sa mga setting ng device.
Ang orasamp ng isang bundle ng OSC ay isang oras ng OSC tag. Ito ay isang 64-bit fixed-point na numero. Tinukoy ng unang 32 bits ang bilang ng mga segundo mula noong 00:00 noong ika-1 ng Enero, 1900, at ang huling 32 bit ay tumutukoy sa mga fractional na bahagi ng isang segundo sa isang katumpakan na humigit-kumulang 200 picoseconds. Ito ang representasyong ginagamit ng Internet NTP timestamps. Isang oras ng OSC tag maaaring i-convert sa isang decimal na halaga ng mga segundo sa pamamagitan ng unang pagbibigay-kahulugan sa halaga bilang isang 64-bit na unsigned integer at pagkatapos ay paghahatiin ang halagang ito sa 2 32. Mahalagang ang pagkalkula na ito ay ipatupad gamit ang isang double-precision na floating-point na uri kung hindi, ang kakulangan ng katumpakan ay magreresulta sa mga makabuluhang error.
7.1.1. Mensahe ng pindutan
OSC address: /button
Ang mensahe ng button ay ipinapadala sa bawat oras na pinindot ang power button. Walang mga argumento ang mensahe.
7.1.2. Mga sensor
OSC address: /sensors
Ang mensahe ng sensor ay naglalaman ng mga sukat mula sa gyroscope, accelerometer, magnetometer, at barometer. Ang mga argumento ng mensahe ay buod sa Talahanayan 7.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Ang gyroscope x-axis sa °/s |
2 | lumutang32 | Ang gyroscope y-axis sa °/s |
3 | lumutang32 | Gyroscope z-axis sa °/s |
4 | lumutang32 | Accelerometer x-axis sa g |
5 | lumutang32 | Ang accelerometer y-axis sa g |
6 | lumutang32 | Accelerometer z-axis sa g |
7 | lumutang32 | Magnetometer x axis sa µT |
8 | lumutang32 | Magnetometer y axis sa µT |
9 | lumutang32 | Magnetometer z axis sa µT |
10 | lumutang32 | Barometer sa hPa |
Talahanayan 7: Mga argumento ng mensahe ng sensor
7.1.3. Mga magnitude
OSC address: /magnitudes
Ang mensahe ng magnitudes ay naglalaman ng mga sukat ng gyroscope, accelerometer, at magnetometer magnitude. Ang mga argumento ng mensahe ay ibinubuod sa Talahanayan 8: Mga magnitude na argumento ng mensahe.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Gyroscope magnitude sa °/s |
2 | lumutang32 | Accelerometer magnitude sa g |
3 | lumutang32 | Magnetometer magnitude sa µT |
Talahanayan 8: Magnitude na mga argumento ng mensahe
7.1.4. Quaternion
OSC address: /quaternion
Ang quaternion na mensahe ay naglalaman ng quaternion output ng onboard na AHRS algorithm na naglalarawan sa oryentasyon ng device na nauugnay sa Earth (NWU convention). Ang mga argumento ng mensahe ay buod sa Talahanayan 9.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Quaternion w elemento |
2 | lumutang32 | Quaternion x elemento |
3 | lumutang32 | Quaternion y elemento |
4 | lumutang32 | Quaternion z elemento |
Talahanayan 9: Quaternion na mga argumento ng mensahe
7.1.5. Rotation matrix
OSC address: /matrix
Ang mensahe ng rotation matrix ay naglalaman ng output ng rotation matrix ng onboard na AHRS algorithm na naglalarawan sa oryentasyon ng device na nauugnay sa Earth (NWU convention). Ang mga argumento ng mensahe ay naglalarawan sa matrix sa row-major order gaya ng buod sa Talahanayan 10.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Rotation matrix xx na elemento |
2 | lumutang32 | Rotation matrix xy element |
3 | lumutang32 | Rotation matrix xz na elemento |
4 | lumutang32 | Rotation matrix yx na elemento |
5 | lumutang32 | Rotation matrix yy elemento |
6 | lumutang32 | Rotation matrix Yz na elemento |
7 | lumutang32 | Rotation matrix Zx na elemento |
8 | lumutang32 | Rotation matrix zy element |
9 | lumutang32 | Rotation matrix zz na elemento |
Talahanayan 10: Mga argumento ng mensahe ng rotation matrix
7.1.6. Mga anggulo ng Euler
OSC address: /Euler
Ang mensahe ng mga anggulo ng Euler ay naglalaman ng output ng anggulo ng Euler ng onboard na AHRS algorithm na naglalarawan sa oryentasyon ng device na nauugnay sa Earth (NWU convention). Ang mga argumento ng mensahe ay buod sa Talahanayan 11.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Roll (x) anggulo sa degrees |
2 | lumutang32 | Pitch (y) angle sa degrees |
3 | lumutang32 | Yaw/heading (z) angle sa degrees |
7.1.7. Linear acceleration
OSC address: /linear
Ang mensahe ng linear acceleration ay naglalaman ng linear acceleration na output ng onboard sensor fusion algorithm na naglalarawan ng gravity-free acceleration sa sensor coordinate frame. Ang mga argumento ng mensahe ay buod sa Talahanayan 12.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Pagpapabilis sa sensor x-axis sa g |
2 | lumutang32 | Pagpapabilis sa sensor y-axis sa g |
3 | lumutang32 | Pagpapabilis sa sensor z-axis sa g |
Talahanayan 12: Mga argumento ng mensahe ng linear acceleration
7.1.8. Bumibilis ng lupa
OSC address: /earth
Ang Earth acceleration message ay naglalaman ng Earth acceleration output ng onboard sensor fusion algorithm na naglalarawan ng gravity-free acceleration sa Earth coordinate frame. Ang mga argumento ng mensahe ay buod sa Talahanayan 13.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Pagpapabilis sa Earth x-axis sa g |
2 | lumutang32 | Pagpapabilis sa Earth y-axis sa g |
3 | lumutang32 | Pagpapabilis sa Earth z-axis sa g |
Talahanayan 13: Mga argumento ng mensahe ng Earth acceleration
7.1.9. altitud
OSC address: /altitude
Ang mensahe ng altitude ay naglalaman ng pagsukat ng altitude sa itaas ng antas ng dagat. Ang argumento ng mensahe ay buod sa Talahanayan 14.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Altitude sa itaas ng antas ng dagat sa m |
Talahanayan 14: Altitude message argument
7.1.10. Temperatura
OSC address: /temperatura
Ang mensahe ng temperatura ay naglalaman ng mga sukat mula sa bawat onboard na sensor ng temperatura ng device. Ang mga argumento ng mensahe ay buod sa Talahanayan 15.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Temperatura ng gyroscope/accelerometer sa °C |
2 | lumutang32 | Temperatura ng barometer sa °C |
Talahanayan 15: Mga argumento ng mensahe sa temperatura
7.1.11. Halumigmig
OSC address: /humidity
Ang mensahe ng halumigmig ay naglalaman ng kaugnay na pagsukat ng halumigmig. Ang argumento ng mensahe ay buod sa Talahanayan 16.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Relatibong halumigmig sa % |
Talahanayan 16: Argumento ng mensahe ng kahalumigmigan
7.1.12. Baterya
OSC address: /baterya
Ang mensahe ng baterya ay naglalaman ng baterya voltage at kasalukuyang mga sukat pati na rin ang mga estado ng fuel gauge algorithm. Ang mga argumento ng mensahe ay buod sa Talahanayan 17.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Antas ng baterya sa % |
2 | lumutang32 | Oras upang mawalan ng laman sa ilang minuto |
3 | lumutang32 | Baterya voltage sa V |
4 | lumutang32 | Kasalukuyang baterya sa mA |
5 | string | Estado ng charger |
Talahanayan 17: Mga argumento ng mensahe ng baterya
7.1.13. Mga input ng analog
OSC address: /analogue
Ang mensahe ng analogue input ay naglalaman ng mga sukat ng analogue input voltages. Ang mga argumento ng mensahe ay buod sa Talahanayan 18.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Channel 1 voltage sa V |
2 | lumutang32 | Channel 2 voltage sa V |
3 | lumutang32 | Channel 3 voltage sa V |
4 | lumutang32 | Channel 4 voltage sa V |
5 | lumutang32 | Channel 5 voltage sa V |
6 | lumutang32 | Channel 6 voltage sa V |
7 | lumutang32 | Channel 7 voltage sa V |
8 | lumutang32 | Channel 8 voltage sa V |
Talahanayan 18: Ang mga argumento ng mensahe ng analog input
7.1.14. RSSI
OSC address: /RSSI
Ang mensahe ng RSSI ay naglalaman ng pagsukat ng RSSI (Receive Signal Strength Indicator) para sa wireless na koneksyon. Valid lang ang pagsukat na ito kung gumagana ang module ng Wi-Fi sa client mode. Ang mga argumento ng mensahe ay buod sa Talahanayan 19.
Pangangatwiran | Uri | Paglalarawan |
1 | lumutang32 | Pagsusukat ng RSSI sa dBm |
2 | lumutang32 | Pagsusukat ng RSSI bilang isang porsyentotage kung saan ang 0% hanggang 100% ay kumakatawan sa saklaw -100 dBm hanggang -50 dBm. |
Talahanayan 19: Argumento ng mensahe ng RSSI
7.1.15 Pantulong na serial data
OSC address: /aux serial
Ang auxiliary serial message ay naglalaman ng data na natanggap sa pamamagitan ng auxiliary serial interface. Ang argumento ng mensahe ay maaaring isa sa dalawang uri depende sa mga setting ng device bilang summarized sa Talahanayan 20.
Pangangatwiran | Uri | Paglalarawan |
1 | patak | Natanggap ang data sa pamamagitan ng auxiliary serial interface. |
1 | string | Ang data na natanggap sa pamamagitan ng auxiliary serial interface na ang lahat ng mga null byte ay pinalitan ng pares ng character na “/0”. |
Talahanayan 20: Auxiliary serial data message argument
7.1.16 Pantulong na serial CTS input
OSC address: /aux serial/cts
Ang auxiliary serial CTS input message ay naglalaman ng CTS input state ng auxiliary serial interface kapag ang hardware flow control ay hindi pinagana. Ang mensaheng ito ay ipinapadala sa tuwing nagbabago ang estado ng CTS input. Ang argumento ng mensahe ay buod sa Talahanayan 21.
Pangangatwiran | Uri | Paglalarawan |
1 | boolean | Katayuan ng pag-input ng CTS. Mali = mababa, Tama = mataas. |
Talahanayan 21: Auxiliary serial CTS input message argument
7.1.17. Serial na CTS input
OSC address: /serial/cts
Ang serial CTS input message ay naglalaman ng CTS input state ng serial interface kapag ang hardware flow control ay hindi pinagana. Ang mensaheng ito ay ipinapadala sa tuwing nagbabago ang estado ng CTS input. Ang argumento ng mensahe ay buod sa Talahanayan 22.
Pangangatwiran | Uri | Paglalarawan |
1 | boolean | Katayuan ng pag-input ng CTS. Mali = mababa, Tama = mataas. |
Talahanayan 22: Serial CTS input message argument
7.2. Data sa device
Ipinapadala ang data sa device bilang mga mensahe ng OSC. Ang aparato ay hindi magpapadala ng isang OSC na mensahe bilang tugon.
7.2.1. Pantulong na serial data
OSC address: /auxserial
Ang auxiliary serial message ay ginagamit upang magpadala ng data (isa o higit pang byte) mula sa auxiliary serial interface. Ang mensaheng ito ay maaari lamang ipadala kung ang 'OSC passthrough' na mode ay hindi pinagana. Ang argumento ng mensahe ay buod sa Talahanayan 23.
Pangangatwiran | Uri | Paglalarawan |
1 | OSC-blob / OSC-string | Ang data na ipapadala mula sa auxiliary serial interface |
Talahanayan 23: Mga argumento ng pantulong na serial data message
7.2.2. Auxiliary serial RTS output
OSC address: /aux serial/rts
Ang auxiliary serial RTS na mensahe ay ginagamit upang kontrolin ang RTS output ng auxiliary serial interface.
Ang mensaheng ito ay maaari lamang ipadala kung ang kontrol sa daloy ng hardware ay hindi pinagana. Ang argumento ng mensahe ay buod sa Talahanayan 24.
Pangangatwiran | Uri | Paglalarawan |
1 | Int32/float32/boolean | estado ng output ng RTS. 0 o false = mababa, non-zero o true = mataas. |
Talahanayan 24: Auxiliary serial RTS output message arguments
7.2.3. Serial na RTS na output
OSC address: /serial/rts
Ang serial RTS message ay ginagamit upang kontrolin ang RTS output ng serial interface. Ang mensaheng ito ay maaari lamang ipadala kung ang kontrol sa daloy ng hardware ay hindi pinagana. Ang argumento ng mensahe ay buod sa Talahanayan 25.
Pangangatwiran | Uri | Paglalarawan |
1 | Int32/float32/boolean | estado ng output ng RTS. 0 o false = mababa, non-zero o true = mataas. |
Talahanayan 25: Mga argumento ng mensaheng output ng Serial RTS
7.3. Mga utos
Ang lahat ng mga utos ay ipinadala bilang mga mensahe ng OSC. Kukumpirmahin ng device ang pagtanggap ng command sa pamamagitan ng pagpapadala ng kaparehong mensahe ng OSC pabalik sa host.
7.3.1. Itakda ang oras
OSC address: /oras
Ang set time command ay nagtatakda ng petsa at oras sa device. Ang argument ng mensahe ay isang OSCtimetag.
7.3.2. I-mute
OSC address: /mute
Pinipigilan ng mute command ang pagpapadala ng lahat ng mga mensahe ng data na nakalista sa Seksyon 7.1. Ipapadala pa rin ang mga mensahe ng kumpirmasyon ng command at setting ng read/write response messages. Mananatiling naka-mute ang device hanggang sa magpadala ng unmute command.
7.3.3. I-unmute
OSC address: /unmute
Ang unmute command ay mag-undo sa mute state na inilarawan sa Seksyon 7.3.2.
7.3.4. I-reset
OSC address: /reset
Ang reset command ay magsasagawa ng software reset. Katumbas ito ng pag-off at pag-on muli ng device. Ang pag-reset ng software ay isasagawa 3 segundo pagkatapos matanggap ang utos upang matiyak na magagawa ng host na kumpirmahin ang utos bago ito isagawa.
7.3.5. Matulog
OSC address: /sleep
Ilalagay ng sleep command ang device sa sleep mode (naka-off). Hindi papasok ang device sa sleep mode hanggang 3 segundo pagkatapos matanggap ang command upang matiyak na magagawa ng host na kumpirmahin ang command bago ito isagawa.
7.3.6. Pagkakakilanlan
OSC address: /identify
Ang utos ng pagtukoy ay magiging sanhi ng mabilis na pagkislap ng lahat ng LED sa loob ng 5 segundo. Maaaring magamit ito kapag sinusubukang tumukoy ng isang partikular na device sa loob ng isang pangkat ng maraming device.
7.3.7. Mag-apply
OSC address: /apply
Pipilitin ng apply command ang device na ilapat agad ang lahat ng nakabinbing setting na naisulat na ngunit hindi pa nailapat. Ang kumpirmasyon ng utos na ito ay ipinadala pagkatapos mailapat ang lahat ng mga setting.
7.3.8. Ibalik ang default
OSC address: /default
Ire-reset ng restore default na command ang lahat ng setting ng device sa kanilang mga factory default na value.
7.3.9. Nagsisimula ang AHRS
OSC address: /ahrs/initialise
Ang AHRS initialise command ay muling magsisimula sa AHRS algorithm.
7.3.10. AHRS zero yaw
OSC address: /ahrs/zero
Ang AHRS zero yaw command ay mag-zero sa yaw component ng kasalukuyang oryentasyon ng AHRS algorithm. Ang utos na ito ay maaari lamang ibigay kung ang magnetometer ay hindi pinansin sa mga setting ng AHRS.
7.3.11. Echo
OSC address: /echo
Ang echo command ay maaaring ipadala kasama ng anumang mga argumento at ang aparato ay tutugon sa isang kaparehong mensahe ng OSC.
7.4. Mga setting
Binabasa at isinusulat ang mga setting ng device gamit ang mga mensahe ng OSC. Ang tab ng mga setting ng software ng device
nagbibigay ng access sa lahat ng setting ng device at may kasamang detalyadong dokumentasyon para sa bawat setting.
7.4.1. Basahin
Binabasa ang mga setting sa pamamagitan ng pagpapadala ng mensahe ng OSC na may kaukulang setting ng OSC address at walang mga argumento. Sasagot ang device gamit ang isang mensahe ng OSC na may parehong OSC address at ang kasalukuyang value ng setting bilang argumento.
7.4.2. Sumulat
Ang mga setting ay isinulat sa pamamagitan ng pagpapadala ng isang mensahe ng OSC na may katumbas na setting ng OSC address at isang halaga ng argumento. Sasagot ang device gamit ang isang mensahe ng OSC na may parehong OSC address at ang bagong value ng setting bilang argumento.
Ang ilang pagsusulat ng setting ay hindi nalalapat kaagad dahil maaaring magresulta ito sa pagkawala ng komunikasyon sa device kung binago ang setting na nakakaapekto sa channel ng komunikasyon. Inilapat ang mga setting na ito 3 segundo pagkatapos ng huling pagsulat ng anumang setting.
7.5. Mga pagkakamali
Magpapadala ang device ng mga mensahe ng error bilang isang OSC na mensahe na may OSC address: /error at isang single-string argument.
A. Pagsasama ng GPS module sa NGIMU
Inilalarawan ng seksyong ito kung paano isama ang isang off-the-shelf na GPS module sa NGIMU. Ang NGIMU ay katugma sa anumang serial GPS module, ang "Adfruit Ultimate GPS Breakout – 66 channel na may mga update sa 10 Hz – Bersyon 3” ay pinili dito para sa mga layunin ng pagpapakita. Maaaring mabili ang modyul na ito mula sa Adafruit o anumang iba pang distributor.
A.1. Pag-setup ng hardware
Ang CR1220 coin cell battery clip at auxiliary serial interface connecter wires ay dapat na soldered sa GPS module board. Ang auxiliary serial interface connector part number ay nakadetalye sa Seksyon 2.6. Ang mga kinakailangang koneksyon sa pagitan ng auxiliary serial port at ng GPS module ay inilarawan sa Table 26. Ipinapakita ng Figure 5 ang assembled GPS module na may connector para sa auxiliary serial interface.
Pantulong na serial pin | Pin ng module ng GPS |
Lupa | “GND” |
RTS | Hindi konektado |
3.3 V na output | “3.3V” |
RX | “TX” |
TX | "RX" |
CTS | Hindi konektado |
Talahanayan 26: Mga pantulong na serial interface na koneksyon sa GPS module
Figure 4: Pinagsamang GPS module na may connector para sa auxiliary serial interface
Ang CR1220 coin cell na baterya ay kinakailangan upang mapanatili ang mga setting ng module ng GPS at upang mapagana ang real-time na orasan habang wala ang panlabas na kapangyarihan. Mawawalan ng kuryente ang module ng GPS sa tuwing naka-off ang NGIMU. Ang real-time na orasan ay makabuluhang binabawasan ang oras na kinakailangan upang makakuha ng GPS lock. Ang baterya ay maaaring asahan na tatagal ng humigit-kumulang 240 araw.
A.2. Mga setting ng NGIMU
Ang auxiliary serial baud rate na setting ay dapat itakda sa 9600. Ito ang default na baud rate ng GPS module. Ang GPS module ay nagpapadala ng data sa magkahiwalay na ASCII packet, ang bawat isa ay tinapos ng isang bagong-line na character. Ang auxiliary serial framing character na setting ay dapat na itakda sa 10 upang ang bawat ASCII packet ay timestamped at ipinadala/na-log ng NGIMU nang hiwalay. Ang auxiliary serial na 'ipadala bilang string' na setting ay dapat paganahin upang ang mga packet ay bigyang-kahulugan bilang mga string ng NGIMU software. Ang lahat ng iba pang mga setting ay dapat iwanang sa mga default na halaga upang ang mga setting ay tumugma sa mga ipinapakita sa Figure 5.
Figure 5: Mga setting ng auxiliary serial interface na na-configure para sa isang GPS module
A.3. Viewpagkuha at pagproseso ng data ng GPS
Kapag na-configure na ang mga setting ng NGIMU gaya ng inilarawan sa Seksyon A.2, matatanggap at ipapasa ang data ng GPS sa lahat ng aktibong channel ng komunikasyon bilang timestamped auxiliary serial data message gaya ng inilarawan sa Seksyon 7.1.15. Magagamit ang NGIMU GUI view papasok na data ng GPS gamit ang Auxiliary Serial Terminal (sa ilalim ng Tools menu). Ipinapakita ng Figure 6 ang papasok na data ng GPS pagkatapos na makamit ang pag-aayos ng GPS. Ang module ay maaaring tumagal ng sampu-sampung minuto upang makamit ang isang pag-aayos kapag pinalakas sa unang pagkakataon.
Figure 6: Sa darating na data ng GPS na ipinapakita sa Auxiliary Serial Terminal
Ang default na mga setting ng module ng GPS ay nagbibigay ng data ng GPS sa apat na uri ng packet ng NMEA: GPGGA, GPGSA, GPRMC, at GPVTG. Ang Manual ng Sanggunian ng NMEA nagbibigay ng isang detalyadong paglalarawan ng data na nakapaloob sa bawat isa sa mga packet na ito.
Ang NGIMU software ay maaaring gamitin upang mag-log ng real-time na data bilang CSV files o upang i-convert ang data na naka-log sa SD card file sa CSV files. Ang data ng GPS ay ibinibigay sa auxserial.csv file. Ang file naglalaman ng dalawang column: ang unang column ay ang timestamp ng isang ibinigay na NMEA packet na nabuo ng NGIMU noong ang packet ay natanggap mula sa GPS module, at ang pangalawang column ay ang NMEA packet. Dapat pangasiwaan ng user ang pag-import at interpretasyon ng data na ito.
A.4. Pag-configure para sa 10 Hz update rate
Ang mga default na setting ng GPS module ay nagpapadala ng data na may 1 Hz update rate. Maaaring i-configure ang module upang magpadala ng data na may 10 Hz update rate. Ito ay nakakamit sa pamamagitan ng pagpapadala ng mga command packet upang ayusin ang mga setting tulad ng inilarawan sa Seksyon A.4.1 at A.4.2. Ang bawat command packet ay maaaring ipadala gamit ang Auxiliary Serial Terminal ng NGIMU GUI (sa ilalim ng Tools menu). Ang GPS module ay babalik sa mga default na setting kung ang baterya ay aalisin.
Ang mga command packet na inilarawan sa seksyong ito ay nilikha ayon sa GlobalTop PMTK command packet dokumentasyon na may mga checksum na kinakalkula gamit ang isang online NMEA checksum calculator.
A.4.1. Hakbang 1 – Baguhin ang baud rate sa 115200
Ipadala ang command packet na “$PMTK251,115200*1F\r\n” sa GPS module. Ang papasok na data ay lalabas bilang 'basura' na data dahil ang kasalukuyang auxiliary serial baud rate na 9600 ay hindi tumutugma sa bagong GPS module baud rate na 115200. Ang auxiliary serial baud rate na setting ay dapat na itakda sa 115200 sa mga setting ng NGIMU bago lumabas muli ang data nang tama.
A.4.2. Hakbang 2 – Baguhin ang output rate sa 10 Hz
Ipadala ang command packet na “$PMTK220,100*2F\r\n” sa GPS module. Magpapadala na ngayon ang GPS module ng data na may 10 Hz update rate.
A.4.3. Sine-save ang mga setting ng GPS module
Awtomatikong ise-save ng module ng GPS ang mga setting. Gayunpaman, babalik ang module ng GPS sa mga default na setting kung aalisin ang baterya.
www.x-io.co.uk
© 2022
Mga Dokumento / Mga Mapagkukunan
![]() |
X-IO TECHNOLOGY NGIMU High Performance Fully Featured IMU [pdf] User Manual NGIMU, High Performance Fully Featured IMU, NGIMU High Performance Fully Featured IMU, Performance Fully Featured IMU, Fully Featured IMU, Featured IMU, IMU |