1. april, 2018

Večkanalno merjenje temperature v poljubnem okolju

Revija logo digikey 300x150 - Večkanalno merjenje temperature v poljubnem okoljuDigi-Key Electronics
Avtor: Rich Miron
2018_262_40

 

Merjenje temperature, kar je običajna zahteva za številne vrste uporabe, je lahko velik izziv za razvijalce, ki si prizadevajo za izjemno natančne rezultate. Posledica poskušanja premagovanja tega izziva so običajno kompleksne zasnove in podaljšani razvojni cikli. Vendar pa so postopoma na voljo nove naprave, ki to kompleksnost lahko zmanjšajo.

SE262 40 01 300x230 - Večkanalno merjenje temperature v poljubnem okolju

Slika 1: Razvijalci lahko s čipom Linear Technology LTC2986-1, ki zagotavlja deset vhodnih kanalov, programirljive tokovne vire, vgrajene linearizacijske tabele in zmožnost zaznavanja napak, povežejo številne temperaturne senzorje. (Vir slike: Linear Technology)

V tem članku so najprej na kratko obravnavane zahteve za merjenje temperature in izzivi, povezani z razvijanjem natančnih rešitev. Nato je predstavljen temperaturni senzor LTC2986-1 podjetja Linear Technology in podana razlaga, kako senzor pomaga pri premagovanju omenjenih izzivov, v sklepu pa je prikazano, kako lahko razvijalci izkoristijo prednosti funkcij različnih temperaturnih senzorjev, vključno s termoelementi, uporovnimi termometri in termistorji, pri običajnih vrstah uporabe.

Tehnike in zahteve za merjenje temperature

Da izpolnijo specifične zahteve za stroške, natančnost in temperaturni obseg pri ustvarjanju robustnih sistemov za merjenje temperature, razvijalci uporabljajo različne vrste senzorjev. Termoelementi se na primer običajno uporabljajo v zahtevnih okoljih, pri čemer lahko izmerijo temperaturo v razponu od –265 °C do več kot 1800 °C.

Med delovanjem proizvajajo napetost, ki je funkcija temperaturne razlike med konico in njenim hladnim spojem oziroma koncema dveh žic, ki sestavljata termoelement. Zaradi tega je splošna natančnost merjenja odvisna od natančne meritve napetosti termoelementa in hladnega spoja.

Medtem ko zaradi Seebeckovega pojava termoelementi proizvajajo gradiente napetosti, drugi običajni temperaturni senzorji, vključno z uporovnimi termometri, termistorji in celo diodami, za proizvodnjo izhodne napetosti, odvisne od temperature, potrebujejo vzbujalni tok. Uporovni termometri in termistorji kot uporovne naprave dodatno zahtevajo senzorski upor za zaznavanje natančnosti, ki je nameščen zaporedno z virom vzbujalnega toka. Senzorski upor skupaj z uporovno napravo ustvari uporovno omrežje za ratiometrično merjenje napetosti v senzorju. Nazadnje morajo razvijalci za vsako vrsto senzorja uporabiti tudi ustrezne metode za pretvarjanje meritev v linearne podatke o temperaturi s pomočjo iskalnih tabel ali enačb.

SE262 40 02 300x194 - Večkanalno merjenje temperature v poljubnem okolju

Slika 2: Senzor Linear Technology LTC2986-1 lahko za prilagojene naprave uporablja tabele, ki jih ustvarijo razvijalci sami, pri čemer samodejno generira napake, če vhodne vrednosti ne ustrezajo razpoložljivemu obsegu vhodnih podatkov. (Vir slike: Linear Technology)

Poleg načrtovanja senzorjev se razvijalci spopadajo s številnimi izzivi, da zagotovijo pravilno delovanje sistema za merjenje temperature. Temperaturni senzorji so običajno nameščeni na mestih, izpostavljenih zahtevnim pogojem v tovarnah, poslovnih prostorih, stavbah in domovih oziroma povsod, kjer uporaba zahteva zmožnost merjenja temperaturnih gradientov v zraku ali tekočinah. Zaradi dolge kabelske napeljave med senzorji in vhodi merilnih sistemov pri industrijskih vrstah uporabe so kabli izpostavljeni električnim šumom, obrabi in zunanjim virom napetosti, ki lahko poškodujejo tako senzorje kot njihove merilne sisteme.

Pri obravnavi številnih dejavnikov, ki lahko vplivajo na zmogljivost sistemov za merjenje temperature, inženirji uporabljajo različne metode. Potreba po večjih količinah temperaturnih senzorjev se povečuje, tradicionalni pristopi pa običajno privedejo do večje kompleksnosti zasnove, ki povzroči zvišanje stroškov uporabe in vzdrževanja. Rešitev je senzor Linear Technology LTC2986-1, ki zagotavlja natančne meritve temperature z več senzorji in minimalnim naporom razvijalcev.

Zmanjšanje kompleksnosti

SE262 40 03 300x78 - Večkanalno merjenje temperature v poljubnem okolju

Slika 3: Senzor Linear Technology LTC2986-1 generira neodpravljive in odpravljive napake za vse odčitke senzorjev, vključno z dodatnimi rezultati za meritve hladnih spojev, povezanih s termoelementi, kot je prikazano na tej sliki. (Vir slike: Linear Technology)

Senzor Linear Technology LTC2986-1 je večkanalni sistem za merjenje temperature z vgrajeno podporo za večino senzorjev, vključno s termoelementi, uporovnimi termometri, termistorji, diodami in aktivnimi analognimi temperaturnimi senzorji, njegov namen pa je poenostaviti zasnovo. Ker ta naprava vključuje popolne poti signalov, pretvorbo, linearizacijo in druge funkcije, lahko razvijalci načrtujejo visoko natančne zasnove za merjenje temperature z nekaj dodatnimi komponentami, ki dopolnjujejo temperaturne senzorje (slika 1). Čeprav starejši modeli serije, kot je Linear Technology LTC2984, ponujajo več vhodnih kanalov, senzor LTC2986-1 zagotavlja dodatne načine delovanja, ki omogočajo edinstvene rešitve za izboljšanje natančnosti, kot je opisano spodaj.

Za uporovne termometre, termistorje in diode naprava samodejno generira vzbujalni tok pri določenih vrednostih, izmeri napetost senzorja in ustvari lineariziran rezultat v °C ali °F. Senzor LTC2986-1 je vnaprej programiran s pretvorbo in linearizacijo podatkov za večino uporovnih termometrov in termistorjev. Prav tako je vnaprej konfiguriran za skoraj vse standardne termoelemente ter podpira kompenzacijo hladnih spojev pri uporabi uporovnih termometrov, termistorjev, diod in aktivnih analognih temperaturnih senzorjev. Pri merjenju temperature naprava samodejno reši polinomske enačbe, povezane s pretvarjanjem izhodne napetosti termoelementov in meritev hladnih spojev v uporaben odčitek temperature. Za splošnejše zahteve pretvarjanja lahko razvijalci uporabijo analogno-digitalne pretvornike senzorja LTC2986-1, ki omogočajo izvajanje enostranskih ali diferencialnih meritev napetosti, generiranje neobdelanih rezultatov napetosti in pretvarjanje rezultatov s pomočjo programirljive iskalne tabele.

SE262 40 04 300x253 - Večkanalno merjenje temperature v poljubnem okolju

Slika 4: Standardni 4-žični uporovni termometer omogoča toku, da zaobide zaporedne upore, ki se uporabljajo za zaščito merilnih kanalov (CH3 in CH4 na sliki), zato je zaradi zelo nizkega uhajanja toka skozi te kanale napaka v meritvi omejena. (Vir slike: Linear Technology)

Poleg podatkov za naprave, skladne z industrijskimi standardi, se lahko ta naprava uporablja s prilagojenimi uporovnimi termometri, termoelementi, diodami, aktivnimi senzorji in termistorji. V pomnilnik prilagojenih naprav razvijalci naložijo tabelo, ki vsebuje do 64 podatkovnih točk, ki predstavljajo razmerje med izhodnimi vrednostmi senzorja in temperaturo. V primeru prilagojenih termistorjev pa lahko v napravo neposredno naložijo do šest Steinhart-Hart-ovih koeficientov, ki jih običajno zagotovijo proizvajalci termistorjev. Te prilagojene koeficiente in tabele naprava uporablja za interpolacijo končne temperature med postopkom pretvarjanja in za zaznavanje odpravljivih napak, tako kot pri podatkih, vgrajenih v običajne senzorje (slika 2).

Izboljšana natančnost in zaščita

Pri postopku pretvarjanja naprava uporablja več ciklov, ki zagotavljajo večjo natančnost. Pri običajnem delovanju naprava uporablja dva cikla pretvarjanja, s katerima uskladi napake odmika in šume, preden ustvari rezultat končne temperature. Razvijalci lahko napravo uporabljajo tudi v načinu s tremi cikli, ki zagotavlja nekaj prednosti na račun počasnejšega merjenja; približno 251 ms (milisekund) pri načinu s tremi cikli v primerjavi s približno 167 ms pri načinu z dvema cikloma.

V načinu s tremi cikli lahko naprava izvede zaznavanje odprtega tokokroga, tako da generira tokovni impulz v prvem ciklu, nato pa izvede običajni postopek pretvarjanja v dveh ciklih. Če naprava med nadaljnjimi cikli pretvarjanja zazna veliko napetost, nastavi bit stanja za poročanje o neodpravljivi napaki, ki nakazuje morebitno poškodbo termoelementa ali kabla. Poleg neodpravljivih napak zaradi odprtega tokokroga lahko naprava poroča o številnih drugih napakah (slika 3).

SE262 40 05 300x246 - Večkanalno merjenje temperature v poljubnem okolju

Slika 5: Razvijalci lahko napravo Linear Technology LTC2986-1 konfigurirajo tako, da za vzbujalni tok uporablja sosednji kanal, s čimer 2-žičnim uporovnim termometrom in termistorjem zagotavlja prednosti Kelvinovega zaznavanja. (Vir slike: Linear Technology)

Poleg zaščite uporabe pred napakami senzorjev razvijalci običajno uporabljajo tehnike načrtovanja, namenjene za zaščito merilnega sistema. Temperaturni senzorji se običajno uporabljajo v zahtevnih okoljih. Senzorji, kot so termoelementi, so pogosto nezaščiteni, s čimer omogočajo lahko dostopno prevodno pot do vhoda merilnega sistema. Tudi pri ovitih senzorjih, kot so uporovni termometri ali termistorji, se lahko kabli poškodujejo in s tem povzročijo kratek stik vodnikov zaradi visoke ali medsebojne napetosti. Poleg tega lahko celo previdni upravljavci in tehniki pomotoma nepravilno povežejo kable, zlasti pri vrstah uporabe, ki so namenjene za delovanje z univerzalnimi povezavami strojne opreme za različne vrste senzorjev.

Da zaščitijo merilni sistem pred prenapetostjo, razvijalci med senzorjem in vhodnim kanalom merilnega sistema običajno namestijo upore za omejitev toka. Običajno dodajo tudi kondenzator, da ustvarijo nizkoprepustni filter za oslabitev virov šumov. Ti filtri lahko podaljšajo čas umirjanja, kar je zlasti težavno pri pristopih, pri katerih se uporabljajo impulzi vzbujalnega toka, kot v postopku pretvarjanja senzorja LTC2986-1, opisanem zgoraj. Poleg težav, ki jih povzroča čas umirjanja, lahko na natančnost merjenja vpliva uporaba zaščitnih uporov.

Senzor LTC2986-1 je opremljen s funkcijami in načini delovanja, ki so namenjeni posebej za zmanjšanje sekundarnih škodljivih učinkov zaščitnih uporov. Da odpravijo podaljšani čas umirjanja zaradi večjih filtrov na vhodih naprav, lahko razvijalci na primer programirajo dodatno zakasnitev časa preklopa multiplekserja na vhodu naprave. Edinstveni načini naprave za vzbujalni tok imajo morda večji vpliv na rezultate in odpravljajo temeljno težavo povečane zaporedne upornosti, povezane z zaščitnimi upori.

SE262 40 06 300x237 - Večkanalno merjenje temperature v poljubnem okolju

Slika 6: Za konfiguracijo naprave Linear Technology LTC2986-1 razvijalci ustvarijo podatkovne bloke za dodelitev kanalov, ki vsebujejo podrobnosti z njimi povezanega senzorja. (Vir slike: Linear Technology)

Čeprav so ključnega pomena za varnost, zlasti zaščitni upori povzročajo težave pri poljubni uporovni napravi, kot je uporovni termometer ali termistor. Dodatna namestitev zaščitnega upora na uporovno napravo z dvema priključkoma vpliva na merjenje napetosti, saj vzbujalni tok teče prek dodatne zaporedne upornosti zaščitne komponente. Ker so senzorji upori, se razvijalci običajno spopadajo z izzivom, kako ločiti upornost senzorja od dodatne zaporedne upornosti, povezane z zaščitnimi upori in njihovimi vodniki.

Da bi odpravili to težavo, so inženirji uporabili 3-žične uporovne termometre, pri čemer so za meritev upornosti vodnikov uporabili upornost med enim priključkom uporovnega termometra in dodatno žico. Seveda takšen pristop zahteva previdno ujemanje dolžine vodnika in zaporedne upornosti, da se zagotovi natančnost. Če želite preprečiti težave pri ujemanju, je na voljo še boljša rešitev, in sicer 4-žično ali Kelvinovo zaznavanje, pri čemer se na vsakem priključku uporablja upor (slika 4).

Pri tej konfiguraciji teče tok po poti (CH1 do CH5 na sliki 4), ki ne zajema zaporednih zaščitnih uporov na merilnih kanalih (CH3 in CH4). Vsak tok, ki teče po merilnih kanalih, je omejen na slepi tok naprave. Ker je vhodni slepi tok za senzor LTC2986-1 manjši od 1 nA (nanoamper), z njim povezane napake v meritvi običajno dosežejo vrednosti, ki so precej nižje od zahtevanih ravni ločljivosti.

Vendar pri senzorju LTC2986-1 ta pristop ni omejen na 4-žične uporovne termometre. Inženirji lahko konfigurirajo napravo tako, da izvaja Kelvinovo zaznavanje s 3- in 2-žičnimi uporovnimi termometri ter termistorji.

SE262 40 07 300x94 - Večkanalno merjenje temperature v poljubnem okolju

Slika 7: Podatki za dodelitev kanalov vsebujejo konfiguracijske podrobnosti posameznega senzorja. Na tej sliki je prikazan pomnilniški razpored, povezan z uporovnim termometrom PT-100, ki je prikazan v zgornjem levem delu slike 6. (Vir slike: Linear Technology)

Za vsako od teh vrst senzorjev naprava LTC2986-1 omogoča edinstven način vzbujanja, ki za tokovno pot uporablja sosednji kanal. Ta način razvijalci uporabijo tako, da dodatni zaščitni upor med posameznim priključkom senzorja povežejo z ločenim vhodom za napravo LTC2986-1. Nato pa to dodatno tokovno pot omogočijo tako, da preprosto v konfiguracijskem registru naprave LTC2986-1 nastavijo bit in ustrezno konfigurirajo vhodne kanale (slika 5). Tako kot pri bolj običajni 4-žični napravi se vzbujalni tok izogiba merilnemu kanalu, pri čemer se ustrezno zmanjša število napak v meritvi.

Ne glede na to, ali razvijalci uporabijo ta alternativni način vzbujanja ali ne, morajo za napravo LTC2986-1 upoštevati osnovni protokol za nameščanje senzorjev. Če želijo uporabiti povezave senzorjev, morajo s pomočjo konfiguracijskih podatkov senzorjev dodeliti kanale in naložiti povezana mesta pomnilnika (slika 6). Ti podatki za dodelitev kanalov so shranjeni v zaporednih mestih v pomnilniku RAM, pri čemer komunicirajo neposredno z vsakim od desetih kanalov naprave. Ko je pomnilnik RAM programiran, lahko razvijalci ohranijo konfiguracijo v pomnilniku EEPROM, vgrajenem v napravi, za namene obnovitve po nadaljnjih ciklih stanja pripravljenosti ali izklopa.

Za vsak podatkovni blok za dodelitev kanalov v pomnilniku razvijalci določijo podrobnosti konfiguracije senzorja, ki vključujejo vnaprej določene vrednosti za vrsto senzorja, kanal, konfiguracijo senzorja, vzbujalni tok in običajne ali prilagojene podatke o pretvarjanju. Spodaj (slika 7) je prikazan pomnilniški razpored za uporovni termometer PT-100, ki je prikazan v zgornjem levem delu slike 6.

Konfiguriranje ustreznih pomnilniških razporedov za posamezen kanal v kompleksnem večsenzornem sistemu za merjenje temperature zahteva izjemno pozornost za vsako podrobnost. Ker ima naprava vgrajeno podporo za številne modele in vrste senzorjev, morajo razvijalci izbrati pravilno kodo za določen senzor. Napake v konfiguraciji bi verjetno resno ogrozile rezultate.

SE262 40 08 300x156 - Večkanalno merjenje temperature v poljubnem okolju

Slika 8: Predstavitvena programska oprema podjetja Linear Technology LTC2986 poenostavlja uporabo naprave, pri čemer omogoča izbiro vnaprej določenih konfiguracij s spustnih menijev za povezane plošče strojne opreme in primerov s podatkovnega lista za napravo LTC2986-1. (Vir slike: Linear Technology)

Podjetje Linear Technology ponuja brezplačno predstavitveno programsko opremo LTC2986 za operacijski sistem Windows®, ki razvijalcem omogoča določanje konfiguracij z uporabo spustnih menijev z možnostmi za vsak kanal ter odpravlja potrebo po ročni konfiguraciji. Razvijalci lahko naložijo primere konfiguracij iz predstavitvenih plošč ali določenih diagramov, prikazanih na podatkovnem listu naprave LTC2986-1 (slika 8).

Konfiguracija dveh 4-žičnih uporovnih termometrov, prikazana na sliki 6, je na primer vzeta iz slike 22 na podatkovnem listu naprave LTC2986-1. Če v konfiguracijskem spustnem meniju v programu izberete to sliko, določite nastavitve, ki ustrezajo tisti konfiguraciji (slika 9).

Poleg poenostavljenega ustvarjanja konfiguracij lahko program oceni prilagojene konfiguracije, da zagotovi pravilne dodelitve. Predvsem pa lahko program ustvari ustrezen nabor glav v programskem jeziku C in rutine programske opreme, ki jih je mogoče izvesti s ploščo Linduino One DC2026 podjetja Linear Technology, združljivo s platformo Arduino, brez dodatnega napora.

Generiranje kode v programskem jeziku C za konfiguracijo, prikazano na sliki 9, na primer samodejno generira rutino inicializacije, ki vsebuje dodelitev programske opreme, ki uporablja zahtevani pomnilniški razpored, prikazan na sliki 7. Kot je prikazano na seznamu 1, generirana koda uporablja spremljevalni nabor določenih konstant, da ustvari ustrezne stavke za dodelitev kanalov (seznam 1).

SE262 40 09 300x156 - Večkanalno merjenje temperature v poljubnem okolju

Slika 9: Predstavitvena programska oprema Linear Technology LTC2986 ponuja podrobne konfiguracije, ki se uporabljajo za ustvarjanje podatkov dodelitve kanalov. (Vir slike: Linear Technology)

Ne glede na to, ali se uporablja platforma Linduino ali druga strojna oprema, generirani nabor znakov predstavlja ključne vzorce zasnove, ki so povezani z uporabo senzorja LTC2986-1. Fragment kode s seznama 1 na primer prikazuje osnovno zanko za zbiranje podatkov. S pregledom generirane kode lahko razvijalci preučijo podrobne postopke, povezane z uporabo naprave. Najvišja stopnja funkcije x measure_channel, prikazane na seznamu 1, na primer komunicira z nizkimi stopnjami rutin, ki dostopajo do registrov naprave, da zaženejo pretvarjanje, počakajo na dokončanje in odčitajo rezultat (seznam 2). V tem primeru generirani programi rezultate preprosto odtisnejo na konzolo, vendar lahko raziskovalci kodo za določeno vrsto uporabe zlahka spremenijo (seznam 2).

Z uporabo kompleta Linear Technology DC2608A lahko začnejo raziskovalci poleg programske opreme hitro razvijati tudi strojno opremo naprave LTC2986-1. Komplet DC2618 je namenjen za uporabo s platformo Linduino ter vključuje predstavitveno ploščo, ki vsebuje senzor LTC2986-1 in ploščo za preizkušanje. Uporaba kompleta skupaj s predstavitveno programsko opremo LTC2986 omogoča platformo za hitro razvijanje vrst uporabe, namenjenih za zaznavanje temperature.

Sklep

Uporaba sistemov za merjenje temperature v zahtevnih okoljih ponuja razvijalcem številne izzive, ki zajemajo tudi neskladja med zaščitnimi mehanizmi in natančnostjo merjenja. S senzorjem LTC2986-1 in z njim povezanimi razvojnimi orodji lahko zdaj inženirji hitro uporabijo sisteme, ki omogočajo varno in natančno merjenje temperature.

www.digikey.com

Seznam 1: Koda, generirana s predstavitveno programsko opremo Linear Technology LTC2986, samodejno ustvari stavke za dodelitev kanalov, vključno z dodelitvijo kanala 4, ki ustreza pomnilniškemu razporedu, prikazanem na sliki 7. (Vir kode: Linear Technology)
. . .
void configure_channels()
{
uint8_t channel_number;
uint32_t channel_assignment_data;

// —– Channel 2: Assign Sense Resistor —–
channel_assignment_data =
SENSOR_TYPE__SENSE_RESISTOR |
(uint32_t) 0x9C4000 << SENSE_RESISTOR_VALUE_LSB; // sense resistor – value: 10000.
assign_channel(CHIP_SELECT, 2, channel_assignment_data);
// —– Channel 4: Assign RTD PT-100 —–
channel_assignment_data =
SENSOR_TYPE__RTD_PT_100 |
RTD_RSENSE_CHANNEL__2 |
RTD_NUM_WIRES__4_WIRE |
RTD_EXCITATION_MODE__ROTATION_SHARING |
RTD_EXCITATION_CURRENT__100UA |
RTD_STANDARD__ITS_90;
assign_channel(CHIP_SELECT, 4, channel_assignment_data);
// —– Channel 7: Assign RTD PT-500 —–
channel_assignment_data =
SENSOR_TYPE__RTD_PT_500 |
RTD_RSENSE_CHANNEL__2 |
RTD_NUM_WIRES__4_WIRE |
RTD_EXCITATION_MODE__NO_ROTATION_SHARING |
RTD_EXCITATION_CURRENT__50UA |
RTD_STANDARD__AMERICAN;
assign_channel(CHIP_SELECT, 7, channel_assignment_data);

}
. . .
// ————– Run the LTC2986 ————————————-

void loop()
{
measure_channel(CHIP_SELECT, 4, TEMPERATURE); // Ch 4: RTD PT-100
measure_channel(CHIP_SELECT, 7, TEMPERATURE); // Ch 7: RTD PT-500
}

 

Seznam 2: Predstavitvena programska oprema Linear Technology LTC2986 generira kodo, pripravljeno za uporabo s platformo Linduino, vključno s podpornimi rutinami za izvajanje nizke stopnje dostopa do kanalov naprave, kot je prikazano na tem odlomku. (Vir kode: Linear Technology)

// *****************
// Measure channel
// *****************
void measure_channel(uint8_t chip_select, uint8_t channel_number, uint8_t channel_output)
{
 convert_channel(chip_select, channel_number);
 get_result(chip_select, channel_number, channel_output);
}

void convert_channel(uint8_t chip_select, uint8_t channel_number)
{
 // Start conversion
 transfer_byte(chip_select, WRITE_TO_RAM, COMMAND_STATUS_REGISTER, CONVERSION_CONTROL_BYTE | channel_number);

wait_for_process_to_finish(chip_select);
}

. . .

void wait_for_process_to_finish(uint8_t chip_select)
{
 uint8_t process_finished = 0;
 uint8_t data;
 while (process_finished == 0)
 {
 data = transfer_byte(chip_select, READ_FROM_RAM, COMMAND_STATUS_REGISTER, 0);
 process_finished = data & 0x40;
 }
}

// *********************************
// Get results
// *********************************
void get_result(uint8_t chip_select, uint8_t channel_number, uint8_t channel_output)
{
 uint32_t raw_data;
 uint8_t fault_data;
 uint16_t start_address = get_start_address(CONVERSION_RESULT_MEMORY_BASE, channel_number);
 uint32_t raw_conversion_result;

raw_data = transfer_four_bytes(chip_select, READ_FROM_RAM, start_address, 0);

Serial.print(F("\nChannel "));
 Serial.println(channel_number);

// 24 LSB's are conversion result
 raw_conversion_result = raw_data & 0xFFFFFF;
 print_conversion_result(raw_conversion_result, channel_output);

// If you're interested in the raw voltage or resistance, use the following
 if (channel_output != VOLTAGE)
nadaljevanje seznama 2

nadaljevanje seznama 2

{
 read_voltage_or_resistance_results(chip_select, channel_number);
 }

// 8 MSB's show the fault data
 fault_data = raw_data >> 24;
 print_fault_data(fault_data);
}
Tags: