Jak opłacalne jest użycie tylko 1% rezystorów i skalibrowanie błędu?

9

W tej chwili używam rezystorów 0,1%, aby uzyskać dokładny pomiar napięcia przez dzielnik napięcia. Koszt jest jednak wysoki, więc zastanawiałem się nad użyciem rezystorów 0,5% lub 1% i skalibrowaniem błędu w oprogramowaniu przy użyciu precyzyjnego napięcia odniesienia podczas produkcji. Czy ktoś zrobił to z powodzeniem? Z jakimi pułapkami mogę się spotkać?

Thomas O
źródło
Do jakiego rodzaju narzędzi produkcyjnych masz dostęp? Czy możesz zdobyć / zbudować coś takiego jak programista / tester od paznokci?
Kevin Vermeer,
@reemrevnivek - Obecnie nie. Mój producent PCB testuje E każdą płytką, ale nie ma gwarancji, że lutowanie będzie działać.
Thomas O
40 lat temu na płytkach przelotowych było to dość powszechne tam, gdzie pracowałem (elektronika przemysłowa). Rezystor, który zostanie wybrany, będzie znajdował się na zaciskach głowicy rewolwerowej, dzięki czemu można go później łatwo dodać. Na płycie SMT trudno sobie wyobrazić, że byłoby to opłacalne.
Mattman944

Odpowiedzi:

6

Więc masz:

          R_x         R_fixed
Vcc -----^v^v^----+----^v^v^------- Gnd
                  |
                  |
                  +--- V_sensed --- ADC input

Rx to jakiś nieznany opór (prawdopodobnie jakiś czujnik). I używasz teraz R_fixed na 0,1%, aby skutecznie obliczyć R_x, ale chcesz użyć tańszego rezystora stałego o niższej tolerancji, być może 1%. Czy robiąc to, chcesz wykonać jakąś kalibrację podczas produkcji, aby skorygować zwiększony błąd, prawda?

Skończyło się to umieszczeniem bajtu w pamięci EEPROM (lub innej nieulotnej pamięci), która działa jak „przesunięcie” w obliczeniach i jest to całkowicie wykonalne. Chodzi o to, że wykonanie kalibracji będzie kosztowało trochę czasu podczas produkcji. Aby wykonać kalibrację, potrzebujesz jednego z tych rezystorów 0,1% (nazwij to R_cal) o nominalnie porównywalnej wartości do 1% rezystora, aby zastąpić R_x w obwodzie. Mierząc V_sensed, możesz dokładniej wnioskować o wartości R_fixed (tj. Do około 0,2%).

Jeśli R_cal i R_fixed mają nominalnie tę samą wartość, można oczekiwać, że V_sensed będzie równy Vcc / 2. Zachowałbyś zmierzone odchylenie od Vcc / 2 jako bajt przesunięcia kalibracji i zawsze dodawałeś go do V_sensed, jak postrzegane przez ADC.

Pułapka, jak widzę, polega na tym, że jest mnóstwo pracy związanej z pomiarem, a następnie z przechowywaniem wartości. Inną rzeczą, którą należy rozważyć jako pułapkę, jest to, że temperatura może odgrywać rolę w powodowaniu odchylenia rezystancji od jej wartości nominalnej, więc będziesz potrzebować rozsądnie dobrze kontrolowanego środowiska kalibracyjnego z kontrolowaną temperaturą. Wreszcie nie zapomnij użyć skalibrowanego sprzętu pomiarowego, ponieważ jest to kolejne potencjalne źródło błędu addytywnego. Ostatnią pułapką, o której mogę myśleć, jest to, że bajt kalibracji powinien być przechowywany w jednostkach lsb twojego ADC (więc jeśli masz 12-bitowy ADC, jednostki bajtu przesunięcia kalibracji powinny mieć wartość „Vcc / 2 ^ 12 woltów”) .

Edytować

Jeśli używasz dwóch stałych rezystorów, aby podzielić duże napięcie na niższą skalę w następujący sposób:

        R1_fixed       R2_fixed
V_in -----^v^v^----+----^v^v^------- Gnd
                   |
                   |
                   +--- V_sensed --- ADC input

Ponownie edytowana sekcja

Więc teraz chcesz użyć precyzyjnego napięcia odniesienia (nazwij to V_cal), aby stymulować V_in podczas etapu kalibracji w produkcji. Teoretycznie masz to:

V_sensed = V_predicted = V_cal * R2_fixed / (R1_fixed + R2_fixed) = V_cal * slope_fixed

Ale w rzeczywistości masz:

V_sensed = V_measured = V_cal * R2_actual / (R1_actual + R2_actual) = V_cal * slope_actual

W rzeczywistości masz inne nachylenie funkcji przenoszenia w rzeczywistości, niż można by się spodziewać na podstawie wartości rezystora. Odchylenie od przewidywanej funkcji przenoszenia dzielnika będzie liniowe w stosunku do napięcia wejściowego i można bezpiecznie założyć, że 0 V da Ci 0 V poza, więc wykonanie jednego precyzyjnego pomiaru napięcia odniesienia powinno dostarczyć wystarczających informacji do scharakteryzowania tego współczynnika skali liniowej . Mianowicie:

V_measured / V_predicted = slope_fixed / slope_actual 
slope_actual = slope_fixed * V_measured / V_predicted

I użyłbyś slope_actual jako swojej skalibrowanej wartości do określenia napięcia jako funkcji mierzonego napięcia.

poniżej dzięki uprzejmości @markrages

Aby uzyskać rzeczywistą czułość nachylenia na wartości rezystora, konieczne jest częściowe zróżnicowanie:

alternatywny tekst

vicatcu
źródło
Chcę użyć 1% dla obu rezystorów dzielących. Używam dzielnika napięcia do odczytu sygnałów do 40 V. Czy to, co mówisz, nadal obowiązuje? I będę rozglądał się za dokładnym napięciem odniesienia, chociaż ± 0,05% jest prawdopodobnie w porządku, i można uzyskać układy scalone DIP, które to robią.
Thomas O
@Thomas OK, źle zrozumiałem twoje pytanie ... używasz dzielnika napięcia do obniżenia wysokiego napięcia, a nie do pomiaru nieznanego oporu ... odpowiednio zmienię swoją odpowiedź.
vicatcu
Nie jestem pewien, czy błąd nie będzie liniowy, ignorując na razie ogrzewanie rezystorowe. Powinien to być stały współczynnik liniowy dla każdego dzielnika (na planszy są cztery), ponieważ dzielnik dzieli się tylko przez ustaloną kwotę. Przy zerowym napięciu ADC powinno mierzyć zero woltów plus błąd przesunięcia, który może spowodować odczyt jednej liczby, więc tak naprawdę nie muszę się martwić przesunięciem ... Chyba, że ​​coś mi brakuje?
Thomas O
przepraszam, nieliniowy był prawdopodobnie zły termin z perspektywy czasu. To, co skutecznie uzyskasz z kalibracji, to współczynnik skali, prawda? Odchylenie od przewidywanego będzie liniowe w stosunku do napięcia wejściowego. Biorąc pod uwagę pewne „przewidywane V na podstawie pomiaru”, rzeczywiste V będzie musiało zostać pomnożone przez pewien współczynnik. Co by być nieliniowa jest błąd w założeniu był to offset napięcia.
vicatcu
5

Dla mnie będzie to trudne, ale nie niemożliwe.

  • Zwykle rezystory znamionowe 0,1% mają niższe współczynniki TC = temperatury, są bardziej odporne na wilgoć, lutowane (szok termiczny), mają mniejszy dryf z czasem, niż rezystory znamionowe 1%. Dlatego należy wziąć pod uwagę wiele źródeł zmian oporu.
  • Na poziomie 40 V efekt samozagrzania może być znaczący, dlatego należy stosować rezystory o odpowiedniej mocy znamionowej.
  • istnieją dobrej jakości rezystory 1%, mające TC <20ppm / deg, i podobne TC od rezystora do rezystora (różnica + - 10ppm), ale dotyczy to tego samego typu, wartości nominalnej i rezystorów mocy. Właściwe stosowanie tego typu rezystorów w dzielniku napięcia anuluje wpływ średniego TC. Tylko różnica TC będzie miała wpływ na napięcie wyjściowe. Można więc uzyskać precyzyjne dzielniki, używając rezystorów o tej samej wartości.
  • Rezystory o różnych wartościach nominalnych mogą mieć więcej różnych TC. A samozagrzewanie będzie miało inny wpływ - więcej mocy rozproszonej na rezystorze o wyższej rezystancji bardziej go podgrzeje i zmieni rezystancję.
    Wniosek: Jeśli używasz wielu rezystorów w produkcji (długie serie tej samej płyty / dzielnika), a koszt rezystorów jest znaczący, możesz rozważyć wymianę. W przeciwnym razie najprawdopodobniej nie jest to warte wysiłku.
czgut
źródło
4

Takie podejście działa dobrze, przechodząc z 5% do 1%. Przechodząc od 1% do 0,1%, podejrzewam, że zaczniesz niszczyć swoją dokładność przez wahania temperatury zmieniające rezystancję, a tym samym napięcie.

Jeśli z jakiegoś nieznanego powodu pracujesz w środowisku izotermicznym, a wszystkie twoje rezystory mają stały prąd, więc samonagrzewanie jest przewidywalne, nadal jest opłacalne.

pingswept
źródło
Uważam, że temperatura może wpływać na typowy rezystor ± 100 ppm / ° C o -0,4% do + 0,7% (lub odwrotnie) w zakresie roboczym od -40 ° C do + 70 ° C mojego urządzenia. W razie potrzeby mógłbym to również skalibrować. Bardziej prawdopodobne jest, że będzie wystawiony na działanie wysokich temperatur i mogę to ogrzać, aby to przetestować.
Thomas O
3
Czasami dzięki sprytnemu projektowi można zmusić tempco opornika do anulowania. Jeśli zidentyfikujesz takie pary rezystorów w swoim projekcie, umieść je obok siebie w układzie, aby zmaksymalizować sprzężenie termiczne. Lub nawet użyj macierzy rezystorów.
markrages
@markrages, Jeśli oba rezystory mają + 100 ppm / ° C, czy to zminimalizuje błąd, ponieważ oba wyjdą z tego samego ułamka? Teoretycznie, zakładając, że oba oporniki dryfują w równych ilościach, moc wyjściowa nie powinna się zmienić. W praktyce prawdopodobnie tak by było, zwłaszcza że sama wartość napięcia odniesienia (LM4040) może dryfować.
Thomas O
@Tomasz. Tak, to jest pomysł. Zobaczmy, LM4040 twierdzi, że najgorszy przypadek to 100ppm / C, typowo 15ppm przy 1mA lub mniej. Typowa reakcja temperaturowa jest wykreślona w arkuszu danych i nie wygląda na coś, co można łatwo anulować. Myślę, że możesz przykleić do niego termistor NTC i „upiec” go, aby utrzymać go w stałej (podwyższonej) temperaturze, ale nie, jeśli masz ograniczony budżet mocy.
markrages
4

Możesz skalibrować:

  • Tolerancja produkcji [2] [3], (+/- 1 *%) = można skalibrować
  • Ciepło lutowane [2] [3], zmiana rezystancji spowodowana lutowaniem (+/- 0,2 * do 1%) = można skalibrować

Ale nie zapomnij o wszystkich innych tolerancjach:

  • TCR [2] [3], rezystancja współczynnika temperaturowego (+/- 50 do 100 * ppm / C)
  • VCR [2], rezystancja współczynnika napięcia (+/- 25 * ppm / V)
  • Czynniki środowiskowe, zmiana rezystancji w ciągu życia (<= +/- 3% * w 155 ° C, 225 000 h) [2] [3] [4]

* Należy pamiętać, że wszystkie wartości mogą się różnić między markami rezystorów i produktami.

[1] https://www.vishay.com/docs/28809/driftcalculation.pdf

[2] https://www.digikey.se/sv/ptm/v/vishay-beyschlag/mm-hv-high-voltage-thin-film-melf-resistors/tutorial

[3] https://industrial.panasonic.com/cdbs/www-data/pdf/RDA0000/AOA0000C304.pdf

[4] MIL-STD R-10509

warpi
źródło