ARSNAV · PFG100 角速度感測器

專案規格整理與核心演算法說明 — 由韌體 repo(H743VIT6)最新主線、上位機 repo(ARSnav-2405-graph-file)與 reference-doc 規格 PDF 交叉考證而成。

基準:韌體 origin/STM32-Diff-Mode-v2310-#G26 @ 1f0d654「G008 latest」(2026-06-16) · 上位機 origin/STM32-H7-SingleEnded @ 4140e38「add latest 4019 commands」(2026-06-16) · 規格 PFG100 Embedded Table v7.3 (26-0603)。
本文件所有技術結論皆標註 commit SHA 或 檔案:行 佐證;無法由程式碼證實者標 待確認

1專案總覽

PFG100 是一具 角速度感測器(Angular Rate Sensor / gyro)。其讀出原理為:一顆受控光源(透過外部 DAC 調功率)照射感測元件,光電差動訊號經 24-bit ΔΣ ADC 取得差壓 Vd(Pdi),再由 STM32H743(H7)韌體做溫度補償、scale-factor 多項式換算,輸出角速度 W(deg/s, dps)累積角度 A(°)。一具 Faulhaber 直流馬達(IE3-1024 編碼器 / MCDC3006 控制器)作為轉動/激勵源,由 PC 上位機透過 Faulhaber MCL 腳本控制。

應用場景:由 RUDA 信件(2026-01)可知,PFG100 實際部署於 成大(NCKU) 無人船(USV)亞航(AIDC) 廠的航向/角度量測與預測,並用於研究溫度微分 dT/dt 模型。詳見 §12

MCU

STM32H743
H7B0RBT6 變體 · 韌體 main.c 3749 行

主 ADC

MCP3561
24-bit ΔΣ · SPI hspi2 · 讀單一差壓 Pdi=Vd

作用中模型

G008
對應規格 PDF · Model 100 / Ser 008

馬達

Faulhaber
2342_CR · IE3-1024 編碼器 · MCDC3006

韌體:C / STM32 HAL上位機:C# WinForms通訊:USB-CDC / UART(4.5 Mbaud) / CAN / RS232 / RS422 / MIL1553輸出:W、角度 A、診斷多訊號串流

2G001–G009 是「平行模型」(必讀)

G001…G009 是 ARSNAV 並行維護的一組 模型(models / modules)彼此平行、並列存在,不是時間先後的「世代」。每個模型是一套獨立的訊號處理 / 參數模型(含校正係數 a/b/c/k/Szc、RmOff 等旗標),各自編成獨立的韌體 hex-files/<日期>/G00X.hex,可分別燒到單元上比較或選用。

① G001–G009 = 平行模型(§7)

每個 G00X 是一個獨立模型,由 RUDA 以 Embedded Table(PDF)定義、Tony 建進韌體。佐證:每個編譯日期都同時產出 G001–G007、G009 多個 hex(並列並存、非互相取代)。main.c 內 /*PFG100-G00X START*/…END*/ 參數區塊呈現目前作用中的那一個;G008 是其中對應規格 PDF(26-0603)、目前 HEAD 作用中的模型。

② B/C/D = 共用功能模組(§6)

所有模型共用同一組功能積木:溫度補償多項式、bias nulling(B110)、光源功率收斂(B111)、BWEMA 濾波(B150)、人工死區(B16x–B19x)、靜態偵測(B200)、角度積分(C003)、診斷串流(D008–D024)。各模型之間差在「採用哪一套參數 / 設定」,功能積木相同。

本網站因此分成兩節:§6 共用功能模組(八大演算法積木)§7 G001–G009 平行模型一覽(每個模型的參數與出處)。兩者交叉索引。

3系統架構與資料流

感測元件光源(eDAC)→光電差動
MCP356124-bit ΔΣ · SPI
差壓 Pdi = Vd
STM32 內建 ADC1/2ADC1 掃 8 路 · ADC2 掃 6 路
Vs,Vm,To,Ta,Tb,Tc…
WCalculating()溫補→Vb · V=Pdi·Rm−Vb
SF 多項式 · W=SF·V
後處理扣靜態 Wz · 死區/濾波
角度 A+=W·Δt
序列輸出USB-CDC / UART
C001-003 / D008-024
上位機 GUI繪圖 P1..P16
寫 .cvt log

一句話:sensor → MCP3561 讀單一 Pdi(=Vd) + STM32 內建 ADC 掃輔助電壓/三溫度 → WCalculating() 溫補(a/b/c)算 Vb、V=Pdi·Rm−Vb、SF 8 階多項式(k)算 W=SF·V → 扣靜態零偏 Wz、過 B16x–B19x 死區/濾波 → 角度積分 A+=W·Δt → 經 USB CDC(CDC_Transmit_HS)/UART(huart1) 以 C/D 格式輸出。

採集架構修正:MCP3561 只讀單一差壓 Pdi;其「scan all 4」設定已在 main.c:635-639 被註解停用。多通道實際由 STM32 內建 ADC1(8路)/ADC2(6路) 序列掃描完成。規格文件中的 scan1~12 / S1..Sn / Snc=Sn−Sc 在 active main.c 查無對應識別子待確認4010 在韌體裡其實是 RmOff 切換,非 Snc)。

4硬體堆疊

區塊元件介面 / 韌體角色
MCUSTM32H743VIT6(H7)/ H7B0RBT6主控;跑 WCalculating 演算鏈、指令解析、序列輸出
主訊號 ADCMCP3561(24-bit ΔΣ, 多通道)SPI hspi2,外部 Vref,getDiff() main.c:991讀感測差壓 Pdi = Vd
輔助 ADCSTM32 內建 ADC1 / ADC2getScanADC1ADC1 掃 8 路、ADC2 掃 6 路:Vs,Vm,三溫度 To/Ta/Tb,Tc,Vx…
光源 DAC外部 eDAC(I²C)hi2c3, addr 0x61;0x40 即時 / 0x60 寫 EEPROM調光源功率,使 Vm 收斂(B111)
歸零 DACiDACbias nulling(B110)
馬達Faulhaber 2342_CR + IE3-1024 + MCDC3006上位機序列 9600 8N1 + MCL轉動/激勵源;由 PC 端腳本控制(非 STM32 直驅)

參考:reference-doc/Faulhaber/{2342_CR, IE3-1024, MCDC 3006S}.pdf · reference-doc/MCP3561/…DS20006181B.pdf

5訊號鏈與數學模型

核心函式 WCalculating() (20260121-H7B0RBT6/Core/Src/main.c:799-929)。流程:

5.1 溫度補償 → Vb(偏壓補償)

// main.c:804-858
x = Ta-Tac; y = Tb-Tbc; z = To-Toc;                 // 三溫度相對校正中心
for(i=0..7){ A_val += a[i]*x^i; B_val += b[i]*y^i; C_val += c[i]*z^i; }  // 各 8 階多項式
Tao=|Ta-To|; Tab=|Ta-Tb|; Tob=|To-Tb|;  tt = 2*(Tao+Tab+Tob);
P1=(Tao+Tab)/tt; P2=(Tao+Tob)/tt; P3=(Tab+Tob)/tt;  // 溫度距離權重
Vb = R*(P1*A_val + P2*B_val + P3*C_val) + (1-R)*(Q1*A_val + Q2*B_val + Q3*C_val);
// 固定權重 Q1=0.02, Q2=0.95, Q3=0.03 ; 混合係數 R=0.25  (main.c:793-796)

三個感測溫度(To/Ta/Tb)各算一條 8 階多項式(係數 a/b/c),再以「溫度彼此距離」動態權重 P 與固定權重 Q 混合,得偏壓補償 Vb

5.2 主訊號 Vd → 角速度 W

// main.c:891-929
Rm = (RmOff==1) ? 1 : (|Vm|>1e-6 ? Vmc/Vm : 1);     // RmOff 決定是否做比例校正
V  = Pdi*Rm - Vb;                                    // 扣除偏壓後的有效訊號
k0 = Szc_val; for(i=0..7) k0 += h[i]*z^i;            // SF 零次項(溫補;G008 h[]=0 → k0=Szc_val=306)
k[0] = k_RmOff[0] = k0;
SF = 0; for(i=0..7) SF += k[i]*V^i;                  // scale factor:V 的 8 階多項式
W  = SF * V;                                         // 角速度 (dps)
已知缺陷:main.c:907-912 計算 k0 的 h[] 迴圈沿用上一迴圈殘留的 z^i(未重設為 1),對任何 h≠0 的模型會把零次項算錯。G008 因 h[] 全 0 不受影響(k0=306),但其他模型需注意。建議修正:迴圈內重新從 z^0 起算。

5.3 後處理

扣靜態零偏 W_curr = W − Wz(Wz 來自 B200 靜態量測)→ 過 B16x–B19x 死區/濾波(見 §6.6)→ 角度積分 A += W·Δt/1000(ms→deg, main.c:2257)。

6八大核心演算法

這是你要的「各自的演算法」。每項標註觸發指令、實作行號與引入 commit。

6.1 溫度補償多項式(a/b/c → Vb)

用途
用三顆溫度感測(To/Ta/Tb)即時補償感測器偏壓漂移。
數學
三條 8 階多項式 + 溫度距離權重混合(見 §5.1)。
參數來源
Embedded Table 的 a0..a7 / b0..b7 / c0..c7 列、校正中心 Toc/Tac/Tbc
實作
main.c:799-858 · 演算法重構里程碑 72d48f5「h k SF new algo」

6.2 Scale-Factor 換算(k → W=SF·V)

用途
把補償後訊號 V 換成角速度 W(dps)。
數學
SF = Σ k[i]·V^i(8 階),零次項 k0 = Szc_val + Σ h[i]·z^i(溫補),W = SF·V
參數來源
Embedded Table 的 k1..k7 / Szc / h0..h7 / SF 列。
實作
main.c:907-929 · ffbbcba「c version on Szc」改以 Szc_val 表示零次項

6.3 Bias Nulling — B110(iDAC 自動歸零)

指令
B110+N(N 秒平均後歸零) → Ack B110+W,Vd,Vs,Vm,To,Ta,Vi,Tc
演算法
以 N 秒平均 W/To/Ta,得到歸零基準(後期版本以目標值 Vset 為準)。
實作 / 演進
main.c:~1153-1247 · fc1c797「add B110-B112」、6d7978e「B110 use Vset」

6.4 光源功率收斂 — B111 / B112 / B113(eDAC)

指令
B111+N+Vset(使 Vm 收斂到 Vset);B112 合併 B110+B111 遞迴收斂;B113 自動找 [Vmin,Vmax]
演算法
逐步調 I²C 外部 eDAC:Vm<Vset → dac++ ; 否則 dac--;方向翻轉計數達 100 次視為收斂,最後寫 EEPROM(控制字 0x60)。
實作
main.c:1367-1484(收斂 1367-1399、EEPROM 1465、收斂判定 1457)

6.5 Vd 後濾波 BWEMA — B150 / B151

指令
B151+N+LB(開,N=長度、LB=下界)/ B150(關)
演算法
對 Pdi/Vb/Vm 以環形 buffer 做加權移動平均(權重 bewma_aa 由下界算出),在 V 計算前預濾波。
實作
main.c:864-889;權重 calculate_bewma_weights @469;預設 B151 33 0.005 @1780 · 62ca7f0「debug on bewma」

6.6 人工死區 / 變化率濾波 — B16x / B17x / B18x / B19x

統一 filter_mode(6/7/8/9),以 W_curr=W−WzdWi=W_curr−W_prev、門檻 filter_Z

指令mode規則效果
B181/1808|W_curr|<Z ? 0 : W_curr人工死區(靜止抑制抖動)
B171/1707|W_curr|<Z ? dWi : W_curr死區內改輸出差分
B191/1909|dWi|<Z ? dWi : W_curr變化率門檻
B161/1606兩分支皆 dWi純差分(門檻無實效)

實作 main.c:938-979;命令解析 1831-1879 · 29fee6b(b170/171)、74f0c35(B190/191)

6.7 靜態偵測 — B200 / B201

指令
B200+N(N 秒內平均得靜態零偏 Wz);B201 End-of-Static 並即時歸零
演算法
N 秒內平均 W 得 Wz(zero-rate offset),後續所有輸出 W_curr = W − Wz
實作
main.c:1915-2042(Wz 用於 main.c:350/931)

6.8 角度積分與診斷串流 — C001-003 / B300 / D008-D024

連續輸出
C001{W,t} / C002{W,Δt} / C003{W,Angle};角度 A += W·Δt/1000
角度重置
B300+A:回報/重置累積角度(4eb0499 改為回報當前 A)
診斷
4008/4018 9 欄(Pdi,Vb,W,Wz,Vm,To,Ta,Tb,t);4009/4019 擴 16 欄(+Vmd,Vpc);4023 含角度;4024(D024 L-filter)Td=dTo/dt 與三組 Laguerre 濾波(γ=0.75/0.50/0.25)對 To 濾波
實作
積分 main.c:2257;4024 main.c:2689-2768(Laguerre @767-779) · 24e45b7「add D024 L-filter」、6420e76「4019 update」
commit 1f4bc82 訊息提到的「XOR」、以及 Snc=Sn−Scscan1~12 在 active main.c 查無實作 → 待確認

7G001–G009 平行模型一覽

每個 G00X 是一個獨立、平行的模型;下表列各模型的參數與原始碼出處。「原始碼 commit」標出該模型參數區塊在 main.c 的出處;數值取自各 PFG100-G00X 區塊。同一模型在不同 commit 可能被重新擬合(數值不同),實際出貨數值以 hex 發布紀錄為準。

👉 每個模型的獨立詳細頁(完整參數 + 演算法 + 更新日期 + Gmail 連結,開新分頁):模型總覽 · G001 · G002 · G003 · G004 · G005 · G006 · G007 · G008 · G009

模型原始碼 commit單元 (Mod/Ser)關鍵常數模型特徵 / 用途
G00162ca7f025 / 0Vdc=0.000751, Vmc=0.89272, k0=222.15最早 active 校正表;hex 自 2025-06-27 凍結
G002 / G002re858b6f7100 / 2Vdc=0.105949, Vmc=0.901298, k0=249.76換成量產單元;hex 變體含 RmOnOff、B1x1 統一濾波
G003c4b60f5/d85a35725 / 0v1 k0=199.25 / v2 k0=193.11同代號兩組係數(同單元重校)
G00493a2f21/ee7f684100/4 → 25/0低 Vdc=−0.0853;k0 由 0 補成 234.25把 SF 零次項補上;hex 變體含 D023、B1x1
G005—(無原始碼)未知無法還原原始碼從不存在僅有 hex(2025-05-23~12-01),無法還原校正常數
G006d95423125 / 0Vmc=1.4802, k0=237.76整組重擬合;溫度基準偏高
G007c322608012ecf125/0(多組)至少 3 組數值開發期主力 baseline;承載 B-code/D-code 演算法重構
G0081f0d654(HEAD)100 / 8見下方完整常數對應規格 PDF (26-0603) 的模型;目前 HEAD 作用中;含 Td 與 D024 L-filter;H7B0RBT6 硬體
G009e6dc0ac25 / 0Vdc=0.02940, Vmc=0.83355, k0=140.58另一顆單元;k 高階項顯著

G008 完整常數(= 現行韌體 active 區塊,對應 Embedded Table PDF)

// 20260121-H7B0RBT6/Core/Src/main.c:203-232  (PFG100-G008)
modNumber=100; serNumber=8; T_in_C=25;
Vdc=0.20331; Vsc=0; Vmc=1.75386; Toc=1.78163; Tac=1.76133; Tbc=1.77274;
a[8]={0.2025, -0.00848, -0.31429, -0.71254, 2.29539, 3.88286, -4.38058, -5.69335};
b[8]={0.20271, 0.06667, 0, 0, 0, 0, 0, 0};
c[8]={0.20233, -0.01076, -0.33671, -0.76903, 2.65449, 4.28482, -5.48742, -6.11092};
h[8]={0,0,0,0,0,0,0,0};   Szc_val=306;
k[8]={0, 0.3320, 5.1603, -0.3871, 2.8707, 0.7676, -0.5158, -0.1996};   RmOff=0;
Td=0; To_prev=0;   // 溫度微分(D024 診斷用)
RmOff 角色:RmOff 切換 Rm 的定義(1 vs Vmc/Vm)。早期 kk_RmOff 為兩套不同係數;自 8fa56c9(2025-12-03) 起兩套被校正成相同 → 在最新韌體中切換 RmOff 對 SF 係數已無差異,唯一實效是 Rm 對 V 的比例。4010(D010) 即此切換命令。

8Embedded Table 校正表(v7.3)

感測器內部「靜態可改寫 / 防覆寫」記憶體保留區的資料結構:16 個位址(Addr 0–15)× 16 欄(Col 1–16),每元素 double-byte。下表為規格 PDF 的版面(標註 G008 已知填值)。

Addr↓ / Col→12345678910111213141516
0 · IDMod#
100
Ser#
8
HW v#FW v#Ex v#·Mfg.DMfg.L········
· CalCal.nkCal.AxCal.DCal.L············
· T/VT=25Vdc
.20331
VscVmc
1.7539
TocTacTbcTccVxcVicVacVrciDA1iDA2eDA1eDA2
Vb(T) · aa0a1a2a3a4a5a6a7·
· bb0b1b2b3b4b5b6b7
· cc0c1c2c3c4c5c6c7·
k0 · hh0h1h2h3h4h5h6h7(Szc)·
SF · kSzc
306
k1
.332
k2
5.16
k3k4k5k6k7···Vs.sfcVm.sfcTo.sfcTa.sfcTb.sfc

來源:reference-doc/PFG-ET-ai1_Gxxx-260309(p1).pdf(版面)+ G008-260603(p11)(填值)。第 0 列為裝置 ID/校正資訊;a/b/c 為溫補多項式;h/k/Szc/SF 為 scale-factor。

9序列指令集(v.26-0311)

四字元 ASCII 指令,分四群。下為重點(完整見 reference-doc/CommandSet+ReleaseLog_B0)。

A 群 — 裝置 / 通訊 / 模式

指令功能回應
A000請求 產品/裝置資料'A0'+device ID block
A001請求 <GND,Vcm,VRF>'A2'+<S4,S6,S5>
A003請求 <To,Ta,Tp>'A3'+<S2,S3,S8>
A010–A015切通訊:USB / UART / CAN / RS232 / RS422 / MIL1553對應 ack
A110 / A111APC 模式(PB7 Low)/ ACC 模式(PB7 High)A110 / A111

B 群 — 演算法(見 §6)

指令功能
B00x/B01x/B02x/B03xDisable/Enable 0–3(開關各模式)
B044 / B055出廠 / 場域校正:設光源等級存 LLc / LLr
B060 / B061主 ADC 類比/前置增益重設
B110 / B111 / B112 / B113bias nulling / 光源功率 / 合併收斂 / 自動 [Vmin,Vmax]
B150/151Vd 後濾波 BWEMA 關/開
B160/161, B170/171, B180/181, B190/191死區/變化率濾波(四種演算法)
B200 / B201靜態偵測 / End-of-Static 即時歸零
B300+A累積角度重置 / 回報

C 群 — 連續感測 / D 群(4000)— 診斷

指令輸出
C001 / C002 / C003{W,t} / {W,Δt} / {W,Angle}(連續資料流)
C101 / C102 / C103W,PWM(W) / A,PWM(A) / W,PWM(A)
4001–4006{Vd,t} … {Vd,Vs,Vm,To,Ta,Tb,t} 多訊號
4008/4018, 4009/40199 欄 / 16 欄診斷串流(最新)
4023 / 4024含角度 / 含 Td + Laguerre L-filter(規格層;上位機 enum 目前到 4019 待確認

10上位機 GUI(2405dma / ARSnavPFG100)

一支 C# WinForms 序列埠診斷繪圖記錄器(專案名沿用舊版 ADLink USB-2405,但 H7 分支已全面改走 SerialPort)。

連接
列舉 COM 埠,透過 WMI 比對 VID=1195/PID=29A2 標出 (H7B0);感測埠 4.5 Mbaud 8N1 DAQSTM32.cs:63
送指令
下拉 comboBox_DCMD 取數字字串送出;非停止類指令後由 timer 週期送 1100 當 keep-alive/ACK App.cs:1346-1351
解析
ReadLine() 收一行 → 空白切成 N 欄 double → 存 results_current[],UI 依欄數自動勾選 App.cs:1053-1076
繪圖
Chart 16 條 FastLine P1..P16 + MathParser 自訂運算式欄位;X 軸滾動上限 600 秒
寫檔
.\log\TimeStamp-…\DAQ-log\No-{i}-{時間}.cvt(逗號分隔電壓,精度可設)
馬達
獨立 9600 8N1 埠;握手 VER,GTYP,…,HO,EN;MCL 腳本以 PROGSEQ…ENPROG 逐行送(每行 Sleep 20ms)MotorCommandSender.cs
重點:上位機不解析 Vd/Vs/Vm/To… 的語意欄位(一律當泛用通道 P1..PN 畫圖),無 G00X/校正/Embedded Table 字樣無韌體燒錄機制(repo 內無 .hex)。校正與模型全在韌體側;GUI 只下指令、顯示狀態(如「Bias measured/removed」)、繪圖記錄。「最新 4019 commands」=把 D 群 enum 補到 4019/4109/4119 + B110/B112 H7Command.cs:39-49

11arsnav.com 網站診斷(已確診)

RUDA 反映「網站壞了」。實測 + Gmail 考證,根因已確認

現象
網域仍解析、HTTPS 可連,但每一頁內文全空白(只剩標題 "ARSNav";首頁、/product 皆然)。sitemap.xml 骨架還在(/home-zh,/product-zh,/gallery…),最後修改 2023-09-13。
主機 / 建置
網站與信箱實際託管在 EIG / Newfold 共享主機(反查 eigbox.net,iPage / FatCow 一類,vDeck 控制台;A 記錄 66.96.147.106)。網站本身用其內建的 Weebly 建置器(約 2019-10 由你建立)。
★根因
Weebly「Starter Site」訂閱於 2024-10 退費取消 → 主機上的 Weebly 站台不再發佈內容 → 只回傳空殼(經 Cloudflare 代理)。
經過:2024-06-26 被收 $120 訂閱費 → 2024-10-09 你以「未授權續訂(Unauthorized Renewal)」申訴 → Square 客服(Dairyn)退款 $120 → 你同時於 2024-10-08 匯出整站 .zip 備份。
網域 / DNS
Cloudflare(綁 kuohsuanlo@gmail.com)只做 DNS / 代理(橘雲):arsnav.com 指向上述 EIG 主機。2021 與 2025-08 收到 Cloudflare「網域即將到期」通知 — 需確認網域已續約(目前仍解析,應仍有效)。

登入地圖(你問的「帳密在哪」)

密碼不會出現在信件裡(這是好事)。下面是「去哪登入 + 用哪個帳號」;忘記密碼一律用各服務的「Forgot password」以帳號信箱重設。
服務登入處帳號用途 / 備註
主機後台 (EIG/Newfold)
iPage / FatCow 類 · vDeck
ipage.com / fatcow.com → Control Panel
(主機商帳單信可確認是哪一家)
多半綁 kuohsuanlo@gmail.comk.lo@arsnav.com★修復主入口:管理網站檔案、Weebly 發佈、webmail、主機方案續費
Weebly
(網站建置器)
主機後台內的 Weebly/weebly.comtonylo2000@hotmail.com · kuohsuanlo@gmail.com站台設計仍在,但 2024-10 訂閱取消→未發佈。付款 PayPal=kuohsuanlo@gmail.com
Cloudflare
(網域/DNS/SSL)
dash.cloudflare.comkuohsuanlo@gmail.comDNS、代理、網域續約
Webmail
(網域信箱)
webmail.arsnav.com(66.96.147.20)k.lo@arsnav.com網域信箱,主機附帶;DMARC 報告寄此
站點備份2024-10-08 Weebly 匯出的 .zip若保留即整站完整內容(匯出連結已過期)

修復建議(救回 vs 搬遷)

A · 救回(最省事)

登入 主機後台(iPage/FatCow) → 檢查主機方案是否到期、Weebly 站台是否需重新發佈/續訂 → 重新 Publish。DNS 已指向主機(66.96.147.106),發佈後應即恢復。

B · 搬遷(不再被綁訂閱)

用 2024-10 匯出的 .zip(或重新匯出)作為靜態站,搬到 Cloudflare Pages / GitHub Pages / Vercel(免費、你已用 Cloudflare 管 DNS,接最順)。一次設定、之後不再有訂閱到期風險。

佐證:Cloudflare DNS(A 66.96.147.106 → 反查 eigbox.net EIG 主機;webmail/mx 66.96.x;SPF ip4:66.96.128.0/18);Weebly「The export of your site is ready」(2024-10-08)、「Unauthorized Renewal / Refund」串 (2024-10, squareup.com, 退款 $120);Cloudflare「arsnav.com即将到期」(2025-08-03)。

12RUDA 往來重點(Gmail 考證)

團隊與角色

Email角色
Ruda Tungruda.tung@gmail.com演算法/領域專家:定義校正表(Embedded Table)、指令(4023/4024…)、Rm 公式、各模型參數;以 PDF 下發
Tony / 羅國宣(你)kuohsuanlo@gmail.com · tonylo2000@hotmail.com韌體實作/燒錄;RUDA 信中皆稱「Tony」
T.C-Wangr122435@seed.net.tw硬體/量測:提供 008 單元「硬體 TD vs 軟體 TD」比對圖(4024)
產品應用場景(出自「Command 4023」信, 2026-01-21):PFG100 用於 成大(NCKU) 無人船(USV)亞航(AIDC) 廠內的航向/角度預測;4023 的角度輸出 A 與蒐集資料用於研究 dT/dt(溫度微分 Td)模型的動態關聯。當時部署在 G004 程式上。

往來時間軸(對應演算法里程碑)

日期主題重點 / 對應
2019-10spec / new website專案早期;arsnav.com 上線(Weebly)
2023-05B100 commandB 群指令早期定義
2025-10-23G002reG002 重新校正(→ §7 G002re)
2025-11-05Rm式附 Embedded Table v7.2(251105);驗證 Rm 兩種算法等效(→ §6.2 / RmOff)
2025-11-25~28add B170/71 · B2190/1死區/變化率濾波 B170/171、B190/191(→ §6.6)
2025-12-01B1X0/1統一濾波器 B1x0/B1x1 開關(→ §6.6)
2025-12-03G007參數G007 Embedded Table(251203),請 Tony 建進韌體(→ §7 G007)
2026-01-21Command 4023新增 4023(角度 A 輸出);NCKU USV 應用;G004 部署(→ §6.8)
2026-01-26Signal-trend measure or estimate訊號趨勢量測/估計(dT/dt 模型)
2026-02~03v.254x(長串)韌體版本 v.254x 多輪討論(→ commit「before v.254x」)
2026-03-20紅色-TO 藍色-TDTO/TD 波形比對圖
2026-04-17顧問聘僱證明書 (羅國宣)顧問聘僱關係文件(回簽)
2026-05-14008-4024(硬體TD TO 軟體TD圖)T.C-Wang 提供 008 硬體 Td vs 軟體 Td 比對(→ §6.8 / D024 Laguerre)
2026-06-03~06Warming up!專案重啟:請重燒 G008 參數、再退回前版讓測試單元(「大餅」)跑;附 G008 PDF(260309)

校正表版本鏈(RUDA 以 PDF 下發、Tony 建進韌體):Embedded Table v7.2(251105) → G007(251203) → G008(260309 / 260603, v7.3)。完全印證 §2「G00X = RUDA 定義的平行模型」。

A詞彙表

符號意義
Pdi / Vd感測差壓(MCP3561 讀),主訊號
Vb溫度補償後的偏壓(bias)
V有效訊號 = Pdi·Rm − Vb
Rm比例校正:RmOff?1:Vmc/Vm
Vm光源/監測電壓(B111 收斂目標)
To / Ta / Tb / Tc感測溫度(°C)
SFscale factor(V 的 8 階多項式)
W角速度(dps)= SF·V
Wz靜態零偏(B200 量測)
A累積角度(°)= ∫W dt
a/b/c溫補多項式係數(三溫度各一組)
k / Szc / hSF 多項式係數 / 零次基準 / 零次溫補
Td溫度微分 dTo/dt(D024 診斷)
iDAC / eDAC歸零 DAC(B110)/ 光源 DAC(B111)

B待確認清單

  1. Snc=Sn−ScSn/Sc/scan1~12/S1..Sn:active main.c 無此識別子;4010 實為 RmOff 切換 → 規格的採集欄序需與韌體對齊。
  2. commit 1f4bc82 訊息中的「XOR」無對應程式碼。
  3. 4023/4024:韌體有,但上位機 H7Command.cs enum 目前最高到 4019/4109/4119。
  4. G005 校正常數無法從 repo 還原(僅有凍結 hex,原始碼無區塊)。
  5. 各模型「同代號多組數值」反映重複校正;哪一組對應實際出貨需以 hex 發布紀錄核對。
  6. PFG100 的確切感測物理原理(光學/旋轉/MHD…)未在程式碼中明示。
  7. arsnav.com 的 builder 平台、後台帳密、網域註冊商、到期狀態 — 待 Gmail。