Kalibracja wejść napięciowych MPCC¶
Narzędzie wyznacza współczynniki korekcji c0 i c1 siedmiu wejść
napięciowych (AFE) węzła MPCC na podstawie pomiarów wzorcowych, zapisuje je do
węzła i potwierdza wynik sprawdzeniem wielopunktowym. Otwierane jest z menu
Narzędzia → Kalibracja wejść napięciowych MPCC… okna głównego.
Kalibracja jest czynnością okazjonalną i wymaga stanowiska pomiarowego, dlatego narzędzie jest osobnym, wyłączalnym projektem, a nie zakładką modułu (ADR 0001).
Stanowisko¶
| Element | Rola |
|---|---|
| Agilent 34970A z kartą 34907A | zadajnik: wyjście DAC (±12 V, rozdzielczość 1 mV) |
| HP 34401A | wzorzec: pomiar napięcia w punkcie połączeniowym |
| Adapter USB–GPIB | dostęp do obu przyrządów przez VISA |
| NI-VISA albo Keysight IO Libraries | biblioteka visa64.dll |
| Adapter CAN (slcan) | połączenie z węzłem, jak przy zwykłej pracy |
flowchart LR
DAC["34970A / 34907A<br/>DAC1 (s04)"] -->|HI| J(("punkt<br/>połączeniowy"))
J --> AFE["MPCC<br/>CH0 … CH6"]
J -->|HI| DMM["34401A<br/>DCV"]
DAC -. LO .-> G(("GND MPCC"))
DMM -. LO .-> G
PC["CanSensorHub"] -->|VISA / GPIB| DAC & DMM
PC <-->|CAN| AFE
Wymagania dotyczące połączeń:
- Multimetr mierzy w punkcie połączeniowym, bezpośrednio przy zaciskach węzła. Spadek napięcia na przewodzie od zadajnika nie wchodzi wtedy do wyniku, bo wzorcem jest napięcie faktycznie obecne na wejściach.
- Zaciski LO obu przyrządów są dołączone do masy węzła w jednym punkcie. Oddzielne ścieżki powrotne tworzą pętlę masy, której spadek napięcia dodaje się do mierzonego.
- Wszystkie kalibrowane wejścia są połączone równolegle. Jeden przebieg kalibruje wszystkie wybrane kanały. Górna granica zakresu nie może przekraczać zakresu najmniejszego z dołączonych wejść.
Kanały 0–3 a pełna skala ADC
Dzielnik 25k/15k przy 5 V na wejściu daje na pinie ~3,0 V, czyli pełną skalę ADC (VDDA ≈ 3,0 V, referencja LM4040). Tolerancja dzielnika może wprowadzić przetwornik w nasycenie przed osiągnięciem 5 V. Domyślna górna granica zakresu wynosi 4,8 V. Punkty w nasyceniu są wykrywane i pomijane.
Kanały 4–6 przy zakresie 5 V
Kanały o zakresie ~30 V, kalibrowane napięciem do 5 V, są skorygowane w dolnej jednej szóstej zakresu. Korekcja wzmocnienia ekstrapoluje się na cały zakres, ale jej niepewność powyżej 5 V nie jest potwierdzona sprawdzeniem.
Model korekcji w węźle¶
Firmware MPCC przelicza napięcie na pinie ADC na napięcie wejściowe według modelu
z parametrami kanału CAL_ADCn_C0, CAL_ADCn_C1, CAL_ADCn_TC, wspólnym
CAL_ADC_TREF i temperaturą płytki T z czujnika STS31.
Węzeł udostępnia wyłącznie wynik przeliczenia (READ_ADC, 1 mV). Narzędzie
dopasowuje prostą V_ref = a · V + b do odczytów wykonanych przy bieżących
współczynnikach i wylicza nowe przez złożenie:
Uzasadnienie i odrzucone warianty:
ADR 0004. Wynik nie
zależy od stanu wyjściowego współczynników. Ponowna kalibracja węzła już
skalibrowanego daje a ≈ 1 i b ≈ 0.
Przebieg¶
- Połączenie i urządzenie. W oknie głównym nawiązać połączenie z magistralą i dodać urządzenie MPCC. Narzędzie korzysta z tego samego połączenia.
- Przyrządy. Wyszukaj przyrządy — narzędzie wyszukuje adresy GPIB, USB
i LAN, wysyła do każdego
*IDN?i podpowiada przypisanie 34401A oraz 34970A. Porty szeregowe są pomijane, chyba że operator zaznaczy je jawnie. Zapytanie identyfikacyjne na porcie innego urządzenia, w tym adaptera CAN, zakłóca jego pracę. Przed pomiarem narzędzie sprawdza, czy we wskazanym gnieździe jest karta 34907A. - Węzeł. Odczytaj — identyfikacja węzła (UID, wersja firmware), bieżące
współczynniki,
MEASURE_PERIOD,Trefi stan blokadyCAL_LOCK. - Kalibracja. Dla każdego punktu: nastawa DAC, ustalenie, równoległa seria
odczytów multimetru i rundy
READ_ADCwszystkich wybranych kanałów, kontrola rozrzutu wzorca (z powtórzeniem punktu), temperatura płytki. Próbki węzła odstające od mediany serii (próg: 6 σ z MAD, nie mniej niż 10 mV) są odrzucane i zgłaszane w dzienniku — typowo jest to odczyt sprzed zmiany nastawy, gdy ustalanie było zbyt krótkie. Po ostatnim punkcie DAC wraca do 0 V — również po przerwaniu i po błędzie. - Zestawienie. Tabela pokazuje dla każdego kanału
a,b, residua dopasowania oraz współczynniki bieżące i nowe. Kanał jest odrzucany z opisem przyczyny, gdy:- residuum dopasowania przekracza tolerancję sprawdzenia — tor nie jest liniowy w zakresie kalibracji, a korekcja liniowa tego nie usunie;
- korekcja jest nierealna (domyślnie powyżej 5 % wzmocnienia albo 100 mV przesunięcia), co wskazuje zwykle błąd połączeń.
- Zapis. Po zaznaczeniu pola zatwierdzenia — Zapisz do węzła i sprawdź.
- Sprawdzenie. Automatycznie po zapisie, w punktach leżących między punktami kalibracji. Wynik PASS/FAIL na kanał względem tolerancji. Sprawdzenie można też uruchomić samodzielnie (Tylko sprawdzenie) jako weryfikację okresową, bez zmiany współczynników.
Zapis do węzła¶
Kolejność kroków (ADR 0005):
CAL_LOCK = 0(tylko RAM).c1ic0każdego przyjętego kanału; każdy zapis musi zwrócićOK.- Odczyt zwrotny i porównanie z wartościami wysłanymi (na poziomie
float). CAL_LOCK = 1.SAVE_CONFIG— nowe współczynniki i blokada trafiają do pamięci nieulotnej jednocześnie.- Kontrola
CAL_LOCK = 1.
Niepowodzenie przed SAVE_CONFIG przywraca poprzednie współczynniki
i blokadę, bez zapisu do pamięci nieulotnej. Stan pamięci nieulotnej węzła
pozostaje wtedy niezmieniony.
SAVE_CONFIG utrwala całą konfigurację
Zmiany innych parametrów węzła wykonane wcześniej w RAM i niezapisane zostaną utrwalone razem z kalibracją.
Przywrócenie wartości domyślnych¶
Przywróć domyślne przygotowuje zapis wartości domyślnych z rejestru
parametrów węzła (c0 = 0, c1 nominalne dzielnika — 1,6667 dla kanałów 0–3,
10,0 dla kanałów 4–6 — oraz tc = 0) dla kanałów wybranych w ustawieniach.
Kanały, które już mają wartości domyślne, są pomijane. Zapis wymaga
zatwierdzenia i przebiega tą samą sekwencją co zapis kalibracji, lecz nie
wymaga przyrządów. Pozostała konfiguracja węzła nie jest zmieniana — w
odróżnieniu od komendy LOAD_DEFAULTS, która przywraca wartości domyślne
wszystkich parametrów, w tym adresu węzła.
Ustawienia¶
| Ustawienie | Domyślnie | Znaczenie |
|---|---|---|
| Zakres | 0,1 … 4,8 V | napięcia zadawane, 0 … 12 V (DAC); punkt 0 V jest dozwolony — ujemny offset DAC (rzędu 1 mV) ADC odczytuje jako 0, co ogranicza błąd tego punktu do wartości offsetu |
| Kalibracja | wielopunktowa, 5 pkt | dwupunktowa: krańce zakresu, prosta dokładna; wielopunktowa: najmniejsze kwadraty, residua ujawniają nieliniowość |
| Punkty sprawdzenia | 6 | leżą w połowie między punktami siatki |
| Wzorzec — próbki | 10 | seria jednym wyzwoleniem (SAMP:COUN), maks. 512 |
| NPLC | 10 | od 10 wzwyż tłumienie przydźwięku sieci |
| Autozero | wł. | kompensacja dryfu offsetu, dwukrotnie dłuższy odczyt |
| Węzeł — rundy odczytu | 10 | rundy READ_ADC na punkt |
| Odstęp rund | 0 = MEASURE_PERIOD |
krótszy odstęp odczytuje wielokrotnie tę samą próbkę |
| Ustalanie | 0 = 2 × MEASURE_PERIOD + 500 ms |
czas po zmianie nastawy; nigdy krócej niż 2 × MEASURE_PERIOD |
| Maks. σ wzorca | 0,5 mV | powyżej — powtórzenie punktu |
| Maks. prób punktu | 3 | po wyczerpaniu punkt jest przyjmowany z ostrzeżeniem |
| Tolerancja sprawdzenia | 5 mV | kryterium PASS; także największe dopuszczalne residuum dopasowania |
| Maks. korekcja wzmocnienia | 0,05 | |a − 1|; powyżej — kanał odrzucony |
| Maks. korekcja przesunięcia | 100 mV | |b|; powyżej — kanał odrzucony |
Multimetr pracuje na stałym zakresie, dobranym do górnej granicy: najmniejszy
zakres, który mieści ją ze 120 % przekroczeniem zakresu przyrządu (do 11,9 V —
zakres 10 V, powyżej — 100 V), z impedancją wejściową powyżej 10 GΩ
(INP:IMP:AUTO ON). Odczyt przekroczenia zakresu („OVLD”, wartość 9,9E+37)
przerywa pomiar. Przerywa go też wzorzec odbiegający od nastawy o więcej niż
5 % + 0,1 V — oznacza to błąd połączeń stanowiska, nie błąd węzła.
Rozdzielczość READ_ADC wynosi 1 mV. Rozdzielczość poniżej 1 mV wynika
z uśredniania rund, w których szum toru ADC działa jak dither. Wydłużenie
serii zmniejsza niepewność średniej proporcjonalnie do 1/√n.
Ustawienia są zapisywane w %AppData%\CanSensorHub\tools\mpcc-afe-cal.json.
Przycisk Ustawienia domyślne przywraca wartości z tabeli powyżej; wybrane
przyrządy (adresy, gniazdo i wyjście DAC) pozostają bez zmian.
Raport¶
Każda operacja zapisuje raport CSV w %AppData%\CanSensorHub\calibration\,
o nazwie MPCC-AFE_<UID>_<data>-<czas>.csv. Kolejne operacje jednej sesji
(kalibracja, zapis i sprawdzenie) uzupełniają ten sam plik.
| Sekcja | Zawartość |
|---|---|
[Sesja] |
wersja narzędzia, tryb, węzeł (NODE, UID, firmware), przyrządy (*IDN?), Tref, MEASURE_PERIOD |
[Ustawienia] |
parametry przebiegu |
[Wspolczynniki przed] |
stan węzła przed operacją |
[Punkty kalibracji] |
nastawa, średnia i σ wzorca, temperatura, średnia, σ i liczność serii każdego kanału |
[Dopasowanie] |
a, b, R², residuum maksymalne, k, współczynniki przed i po, decyzja |
[Zapis do wezla] |
wynik i dziennik kroków |
[Punkty sprawdzenia], [Sprawdzenie] |
dane surowe i wynik PASS/FAIL na kanał |
Raport zawiera dane surowe, co pozwala przeliczyć kalibrację innym modelem bez powtarzania pomiarów.
Obok raportu CSV powstaje raport HTML o tej samej nazwie — dokument do odczytu i druku: wynik PASS/FAIL, tabela współczynników i sprawdzenia, wykres błędu przed kalibracją i w sprawdzeniu, kontekst (węzeł, przyrządy, ustawienia), dziennik zapisu do węzła i tabele punktów. Otwórz raport pokazuje go w domyślnej przeglądarce, a Zapisz PDF tworzy z niego plik PDF przeglądarką Google Chrome (albo Microsoft Edge) uruchomioną bez okna (ADR 0006).
Tryb symulatora¶
W trybie symulatora zadajnik i multimetr są symulowane i dołączone do wejścia
analogowego magistrali symulowanej. Symulowany węzeł MPCC ma dzielniki
z błędami rzędu 0,5 % i przesunięciami rzędu miliwoltów, szum toru ADC oraz
egzekwuje blokadę CAL_LOCK jak firmware. Przebieg, zapis i raport są
identyczne jak na stanowisku.
Budowanie bez narzędzia¶
Narzędzie jest dołączane domyślnie. Build bez narzędzi serwisowych:
./build_release.ps1 -NoTools
dotnet publish src/CanSensorHub.App/CanSensorHub.App.csproj -c Release -p:WithTools=false
Aplikacja zbudowana w ten sposób nie pokazuje przycisku „Narzędzia”.