Sadece% 1 direnç kullanmak ve hatayı kalibre etmek ne kadar uygun?


9

Şu anda, bir voltaj bölücü aracılığıyla doğru voltaj ölçümü elde etmek için% 0.1 direnç kullanıyorum. Bununla birlikte, maliyet yüksek, bu yüzden% 0.5 veya% 1 direnç kullanmayı ve üretim sırasında hassas bir voltaj referansı kullanarak yazılımdaki hatayı kalibre etmeyi düşünüyordum. Bunu başarıyla yapan var mı? Hangi tuzaklarla karşılaşabilirim?


Ne tür üretim araçlarına erişiminiz var? Tırnak yatağı programcısı / test cihazı gibi bir şey alabilir / inşa edebilir misiniz?
Kevin Vermeer

@reemrevnivek - Şu anda değil. PCB üreticim her kartı e-test ediyor, ancak lehimin çalışacağı garanti edilmiyor.
Thomas O

40 yıl önce delikli tahtalarda, bu çalıştığım yerde oldukça yaygındı (endüstriyel elektronik). Seçilecek direnç taret terminallerinde olacaktır, böylece daha sonra kolayca eklenebilir. Bir SMT tahtasında, bunun maliyet etkin olacağını hayal etmek zor.
Mattman944

Yanıtlar:


6

Yani:

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

Rx bilinmeyen bir dirençtir (muhtemelen bir çeşit sensör). Ve R_x'i etkili bir şekilde hesaplamak için şu anda% 0.1'de R_fixed kullanıyorsunuz, ancak belki de% 1 daha düşük toleranslı daha ucuz bir sabit direnç kullanmak istiyorsunuz. Bunu yaparken, artan hatayı düzeltmek için üretim sırasında bir tür kalibrasyon yapmak istersiniz, doğru mu?

Bunu yapmanın yolu, hesaplamanızda bir "ofset" görevi gören EEPROM'a (veya başka bir kalıcı belleğe) bir bayt koymaktır ve bunu yapmak mükemmel bir şeydir. Mesele şu ki, kalibrasyon aktivitesini yapmak için üretim sırasında size biraz zaman harcayacak. Kalibrasyonu yapmak için, R_x devresinin yerine geçmek için% 1 direncinize nominal olarak karşılaştırılabilir değerdeki% 0,1 dirençlerden birine (R_cal olarak adlandırın) ihtiyacınız olacaktır. V_sensed'ı ölçerek, R_fixed'in değerini daha kesin bir şekilde çıkarabilirsiniz (yani% 0,2 gibi).

R_cal ve R_fixed nominal olarak aynı değerse, V_sensed'ın Vcc / 2'ye eşit olmasını beklersiniz. Vcc / 2'den ölçülen sapmayı bir kalibrasyon ofset baytı olarak saklar ve her zaman ADC'niz tarafından algılanan şekilde V_sensed'a eklersiniz.

Gördüğüm gibi, tuzak, ölçümü yapmak ve daha sonra değeri depolamakla ilgili bir sürü çalışma olması. Bir tuzak olarak düşünülmesi gereken bir başka şey, sıcaklığın nominal değerinden sapma direncine neden olmada rol oynayabileceğidir, bu nedenle makul derecede iyi sıcaklık kontrollü bir kalibrasyon ortamı isteyeceksiniz. Son olarak, başka bir potansiyel hata hatası kaynağı olduğu için kalibre edilmiş ölçüm ekipmanı kullanmayı unutmayın. Düşünebileceğim son bir tuzak, kalibrasyon baytının ADC'nizin lsb birimlerinde saklanması gerektiğidir (bu nedenle 12 bitlik bir ADC'niz varsa, kalibrasyon ofset baytı birimleri "Vcc / 2 ^ 12 Volt" olmalıdır) .

Düzenle

Büyük bir voltajı aşağıdaki gibi daha düşük bir ölçeğe bölmek için iki sabit direnç kullanıyorsanız:

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

Bölüm yeniden düzenlendi

Şimdi üretimdeki bir kalibrasyon adımı sırasında V_in'i uyarmak için hassas bir voltaj referansı (V_cal olarak adlandırın) kullanmak istiyorsunuz. Orada sahip olduğunuz teoride:

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

Ama gerçekte sahip olduğunuz şey:

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

Gerçekte, gerçekte direnç değerlerinden tahmin edebileceğinizden farklı bir aktarım işlevi eğimine sahipsiniz. Öngörülen bölücü aktarım işlevinden sapma, giriş voltajına göre doğrusal olacaktır ve 0V girişinin size 0V çıkış vereceğini güvenli bir şekilde kabul edebilirsiniz, bu nedenle bir hassas voltaj referans ölçümü yapmak, bu doğrusal ölçek faktörünü karakterize etmek için size yeterli bilgi vermelidir. . Yani:

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

Ve ölçülen voltajın bir fonksiyonu olarak voltajı belirlemek için kalibre değeriniz olarak slope_actual kullanırsınız.

@markrages'in izniyle

Direnç değerlerine gerçek eğim hassasiyetini elde etmek için kısmi farklılaşma gerekir:

alternatif metin


Her iki bölücü direnci için% 1 kullanmak istiyorum. 40V'a kadar sinyalleri okumak için bir voltaj bölücü kullanıyorum. Söyledikleriniz hala geçerli mi? Ve ±% 0,05 muhtemelen iyi olsa da, hassas bir voltaj referansı arayacağım ve bunu yapan DIP IC'leri alabilirsiniz.
Thomas O

@Tamamlar, sorunuzu yanlış anladım ... bilinmeyen bir direnci ölçmek için değil, büyük bir voltajı düşürmek için bir voltaj bölücü kullanıyorsunuz ... Cevabımı buna göre değiştireceğim.
vicatcu

Hatanın doğrusal olmayacağından emin değilim, şimdi rezistans ısıtması için yok sayılıyor. Her bölücü için sabit bir doğrusal faktör olmalıdır (tahtada dört tane vardır), çünkü bölücü sabit bir miktara bölünür. Sıfır volt ile, sıfır volt ADC, artı bir sayıyı okumasına neden olabilecek ofset hatası ile ölçülmelidir, bu yüzden ofset hakkında endişelenmem gerekmiyor ... Bir şey eksik olmadığı sürece?
Thomas O

üzgünüm, doğrusal olmayan muhtemelen geçmişe bakıldığında yanlış terimdi. Kalibrasyondan etkili bir şekilde alacağınız bir ölçek faktörü, değil mi? Tahmin edilen sapma, giriş voltajına göre doğrusal olacaktır. Dolayısıyla, bazı "ölçüme dayalı öngörülen V" verildiğinde, gerçek V'nin bir faktörle çarpılması gerekecektir. Ne olur doğrusal olmayan olmak bir ofset gerilim olduğunu varsayarak içinde hatadır.
vicatcu

5

Benim için zor olacak, ancak imkansız değil.

  • Genellikle% 0,1 anma dirençleri daha düşük TC = sıcaklık katsayılarına sahiptir, neme, lehimlemeye (termal şok) daha dayanıklıdır, zamanla daha düşük sürüklenmeye sahiptir, ...% 1'den fazla anma dirençleri. Bu nedenle, birçok direnç değişikliği kaynağı dikkate alınmalıdır.
  • 40V seviyesinde kendi kendine ısınma etkisi anlamlı olabilir, bu nedenle uygun güç derecesine sahip dirençler kullanılmalıdır.
  • TC <20ppm / derece ve dirençten dirence (+ - 10ppm fark) benzer TC'ye sahip kaliteli% 1 dirençler vardır, ancak bu aynı tip, nominal değer ve güç dirençleri için geçerlidir. Voltaj bölücüde bu tip dirençlerin doğru kullanımı, ortalama TC'nin etkisini iptal edecektir. Sadece TC'deki farkın çıkış voltajı üzerinde etkisi olacaktır. Böylece aynı değerdeki dirençleri kullanarak hassas bölücüler elde etmek mümkündür.
  • Farklı nominal değerlere sahip dirençler daha farklı TC'ye sahip olabilir. Ve kendi kendine ısınmanın farklı bir etkisi olacaktır - yüksek dirençli dirençte daha fazla güç, onu daha fazla ısıtacak ve direnci değiştirecektir.
    Sonuç: Üretimde çok sayıda direnç kullanıyorsanız (aynı kartın / bölücünün uzun serisi) ve dirençlerin maliyeti anlamlıysa, değiştirmeyi düşünebilirsiniz. Aksi takdirde büyük olasılıkla çabaya değmez.

4

Bu yaklaşım% 5'ten% 1'e kadar iyi çalışır. % 1'den% 0.1'e kadar, direnci ve dolayısıyla voltajı değiştiren sıcaklık dalgalanmalarıyla hassasiyetinizin bozulmaya başlayacağından şüpheleniyorum.

Bilinmeyen bir nedenden ötürü, izotermal bir ortamda çalışıyorsanız ve dirençlerinizin hepsi sabit akımsa, kendi kendine ısıtma öngörülebilirse, hala uygulanabilir.


I şekil sıcaklığı, cihazımın -40 ° C ila + 70 ° C çalışma aralığında tipik ± 100ppm / ° C direncini% -0.4 ila +% 0.7 (veya tersi) etkileyebilir. Gerekirse, bunu da kalibre edebilirim. Yüksek sıcaklıklara maruz kalma olasılığı daha yüksektir ve bunu test etmek için kartı ısıtabilirim.
Thomas O

3
Bazen akıllı tasarım ile direnç tempco'larını iptal edebilirsiniz. Tasarımınızda bu tür direnç çiftlerini belirlerseniz, termal kuplajı en üst düzeye çıkarmak için bunları düzende yan yana koyun. Veya direnç dizileri bile kullanın.
markrages

@markrages, Her iki direnç de + 100ppm / ° C ise, her ikisi de aynı fraksiyondan çıkacağı için hatayı en aza indirir mi? Teorik olarak, her iki direncin eşit miktarlarda kaydığı varsayılarak, çıktı değişmemelidir. Pratikte, özellikle voltaj referansının (LM4040) kendisi sürüklenebileceğinden, muhtemelen olurdu.
Thomas O

@Thomas. Evet, fikir bu. Bakalım, LM4040 100ppm / C en kötü durum, 1mA veya daha düşük tipik 15ppm iddia ediyor. Tipik sıcaklık yanıtı veri sayfasında çizilir ve kolayca iptal edilebilen bir şeye benzemez. Sanırım bir NTC termistörünü yapıştırabilir ve sabit (yükseltilmiş) bir sıcaklıkta tutmak için "fırınlayabilirsiniz", ancak bir güç bütçesinde iseniz.
markrages

4

Kalibre edebilirsiniz:

  • Üretim toleransı [2] [3], (+/- 1 *%) = kalibre edilebilir
  • Lehim ısısı [2] [3], lehimlemeye bağlı direnç değişimi (+/- 0,2 * ila% 1) = kalibre edilebilir

Ancak diğer tüm toleransları unutmayın:

  • TCR [2] [3], sıcaklık katsayısı direnci (+/- 50 ila 100 * ppm / C)
  • VCR [2], voltaj katsayısı direnci (+/- 25 * ppm / V)
  • Çevresel faktörler, yaşam boyu direnç değişimi (155 ° C'de <= + / -% 3 *, 225 000 saat) [2] [3] [4]

* Tüm değerlerin direnç markaları ve ürünleri arasında farklılık gösterebileceğini unutmayın.

[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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.