## 电机 + Rigol 扫描(CSV + 实时监视器) ### 扫描并写入 CSV ```bash uv run motor_rigol_scan_csv.py --mm 10 --end-mm 300 --step 40 ``` 电机驱动为 GPIO 直控(DIR/STEP),默认使用 BCM 引脚:DIR=22、STEP=27,默认细分为 8。 如需修改: ```bash uv run motor_rigol_scan_csv.py --mm 10 --end-mm 300 --step 40 --microsteps 8 --dir-pin 22 --step-pin 27 ``` ### 开启实时图形监视器(Matplotlib) 会在扫描进行时实时显示: - 相位差 `dphi (deg)` vs 位置(mm) - CH1/CH2 峰峰值 `pp (ADC counts)` vs 位置(mm) - 频率 `f0 (Hz)` vs 位置(mm) - 进度条(当前位置 + 完成百分比) ```bash uv run motor_rigol_scan_csv.py --mm 10 --end-mm 300 --step 40 --live ``` 如果在无图形界面的环境(例如纯 SSH、无 X11/Wayland)运行,Matplotlib 可能无法打开窗口;脚本会自动关闭实时监视器并继续扫描。 ### 离线可视化 CSV(多图表) 会生成 4 个子图:相位差(dphi)、峰峰值(CH1/CH2)、频率(f0)、等效延时(dt)。 弹窗显示: ```bash uv run visualize_scan_csv.py scan_20260120_154455.csv ``` 无桌面/SSH 环境下保存图片: ```bash uv run visualize_scan_csv.py scan_20260120_154455.csv --save out.png --smooth 5 --unwrap ```