{"id":2991,"date":"2025-11-03T17:37:44","date_gmt":"2025-11-03T09:37:44","guid":{"rendered":"https:\/\/www.siproin-ic.com\/ssp2617-single-channel-h-bridge-driver-chip-copy\/"},"modified":"2025-11-03T18:10:47","modified_gmt":"2025-11-03T10:10:47","slug":"ssp1220-three-wire-rtd-measurement","status":"publish","type":"post","link":"https:\/\/www.siproin-ic.com\/id\/ssp1220-three-wire-rtd-measurement\/","title":{"rendered":"Pengukuran RTD tiga kabel SSP1220"},"content":{"rendered":"<h3>\u2160\u3001 Prinsip pengukuran suhu PT100 tiga kabel<\/h3>\n<p>Tujuan utama metode koneksi tiga kabel adalah untuk menghilangkan pengaruh resistansi kabel pada akurasi pengukuran. Nilai resistansi PT100 sangat kecil (100\u03a9 @ 0 \u2103), dan resistansi kabel penghubung (Beberapa sepersepuluh ohm hingga beberapa ohm, ditulis sebagai R6, R7, R15, lihat skema pengujian RTD tiga kabel) dapat menimbulkan kesalahan yang tidak dapat diabaikan. Sistem tiga kabel memecahkan masalah ini melalui desain sirkuit yang cerdas, di mana ketiga kabel RTD tiga kabel biasanya memiliki panjang yang sama, jadi dengan asumsi bahwa resistansi ketiga kabel sama (RL1 = RL2 = RL3, yaitu, R6 = R7 = R15 dalam skematik), sumber arus ganda internal (IDAC) SSP1220 digunakan untuk menetralkan efek resistansi kabel ini.<\/p>\n<p>Penjelasan rinci tentang prinsip pengukuran:<\/p>\n<ol>\n<li>Dengan menggunakan dua sumber arus yang dapat diprogram yang cocok (IDAC1 dan IDAC2) di dalam SSP1220 dan mengeluarkan arus yang sama:, disarankan agar pemilihan sumber arus kurang dari 1mA, dan nilai pemilihan sumber arus untuk pengujian ini adalah 500uA.<\/li>\n<li>Tiga resistor utama PT100 diasumsikan sama: R6 = R7 = R15 = Rl<\/li>\n<li>SSP1220 mengukur tegangan pada PT100 melalui pasangan input diferensial (AIN0, AIN1):  V<sub>MASUK<\/sub> = V<sub>AIN1<\/sub> - V<sub>AIN0<\/sub><\/li>\n<\/ol>\n<p>sedangkan: V<sub>AIN1<\/sub> = I<sub>IDAC1<\/sub> x (R<sub>L1<\/sub>+R<sub>PT100<\/sub>) + (I<sub>IDAC1<\/sub> + I<sub>IDAC2<\/sub>) x R<sub>L3<\/sub>, V<sub>AIN0<\/sub> = I<sub>IDAC2<\/sub> x R<sub>L2<\/sub> + (I<sub>IDAC1<\/sub> + I<sub>IDAC2<\/sub>) x R<sub>L3<\/sub><\/p>\n<p>Sejak: I<sub>IDAC1<\/sub> = I<sub>IDAC2<\/sub> = I<sub>IDAC<\/sub> DAN R<sub>L1<\/sub> = R<sub>L2<\/sub> = R<sub>L3<\/sub> = R<sub>L<\/sub><\/p>\n<p>menggantikannya menjadi: NIK = [I<sub>IDAC<\/sub> x (R<sub>L<\/sub> + R<sub>PT100<\/sub>) + 2I<sub>IDAC<\/sub> x R<sub>L<\/sub>] - [IIDAC x RL + 2IIDAC x RL] = I<sub>IDAC<\/sub> x R<sub>L<\/sub> + I<sub>IDAC<\/sub> x R<sub>PT100<\/sub> + 2I<sub>IDAC<\/sub> x R<sub>L<\/sub> - 2I<sub>IDAC<\/sub> x R<sub>L<\/sub> = I<sub>IDAC<\/sub> x R<sub>PT100<\/sub><\/p>\n<p>Melalui konfigurasi rangkaian yang cerdas, pengaruh resistansi timbal sepenuhnya dihilangkan dari tegangan input diferensial VIN, dan hanya penurunan tegangan pada resistor PT100 yang disertakan.<\/p>\n<ol start=\"4\">\n<li>Tegangan referensi SSP1220 Vref dihasilkan oleh penggabungan dua arus IDAC melalui resistor referensi eksternal presisi tinggi, Rref (R5), yaitu Vref = (Iidac1 + Iidac2) * R<\/li>\n<li>Dengan pengukuran rasio, kode output ADC akhir sebanding dengan (Rpt100) \/ (Rref) tanpa memperhatikan nilai absolut, akurasi, dan penyimpangan arus IDAC, sekaligus menangkal efek resistor utama Rl1 dan Rl2:<\/li>\n<\/ol>\n<p>Untuk SSP1220 24-bit, kode numerik output adalah:<\/p>\n<p>Kode = (2<sup>23<\/sup> - 1) x (V<sub>MASUK<\/sub>\/V<sub>REF<\/sub>) = (2<sup>23<\/sup> - 1) x [R<sub>PT100<\/sub>\/ (2 x R<sub>REF<\/sub>) ]<\/p>\n<p>Membalikkan nilai resistansi PT100 dengan kode ADC:<\/p>\n<p>R<sub>PT100<\/sub> = [Kode\/(2<sup>23<\/sup>-1)] x 2 x R<sub>REF<\/sub><\/p>\n<p>Terakhir, menurut karakteristik resistansi-suhu PT100 (biasanya menggunakan persamaan Callendar-Van Dusen atau metode pencarian tabel), Rpt100 dikonversi ke nilai suhu: T = f (Rpt100). Untuk PT100, pada suhu 0\u2103, R0 = 100,00\u03a9, koefisien suhu resistansi adalah sekitar \u03b1\u2248 0,00385 \u03a9\/\u03a9\/\u2103<\/p>\n<h3>\u2161 \u3001 Desain sirkuit perangkat keras<\/h3>\n<p>Menurut aplikasi tipikal dalam lembar data, rangkaian koneksi PT100 tiga kabel adalah sebagai berikut:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2992\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201-300x106.png\" alt=\"\" width=\"422\" height=\"149\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201-300x106.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201-18x6.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12201.png 554w\" sizes=\"(max-width: 422px) 100vw, 422px\" \/><\/p>\n<ol>\n<li>Petunjuk koneksi sirkuit<\/li>\n<\/ol>\n<ul>\n<li>Koneksi PT100: PT100 (sistem tiga kabel) dihubungkan seperti yang ditunjukkan dalam skema.<\/li>\n<li>Pembuatan referensi tegangan: Output IDAC1 terhubung ke AIN2 (diperlukan konfigurasi perangkat lunak internal), output IDAC2 terhubung ke AIN3 (diperlukan konfigurasi perangkat lunak internal), dan dua arus IDAC bergabung di node dan mengalir bersama melalui resistor referensi eksternal Rref (R5). Ujung lain dari REF terhubung ke AVSS arde analog. Input referensi positif SSP1220, REFP0, terhubung ke ujung atas RREF (R5) (titik penggabungan IDAC). Input referensi negatif SSP1220, REFN0, terhubung ke AVSS. Oleh karena itu, tegangan referensi, VREF = (IIDAC1 + IIDAC2) * RREF.<\/li>\n<li>Pengukuran sinyal: AIN1 untuk SSP1220 dikonfigurasikan sebagai AINP input positif diferensial dan AIN0 SSP1220 dikonfigurasikan sebagai AINN input negatif diferensial, sehingga tegangan yang diukur adalah perbedaan potensial antara AIN1 dan AIN0.<\/li>\n<li>Sirkuit pemfilteran: Filter low-pass RC perlu ditambahkan pada input analog (AIN0, AIN1, AIN2) dan input referensi (REFP0) untuk antialiasing dan peredam bising. Filter input: terdiri dari R1, R2, C1 dan C6, C5. Filter referensi: terdiri dari R3, R4, C2 dan C3, C4. Untuk mempertahankan akurasi pengukuran skala, frekuensi cut-off filter referensi harus sesuai dengan filter input.<\/li>\n<\/ul>\n<h3>\u2162\u3001Pemilihan perangkat dan penghitungan parameter<\/h3>\n<p>Tujuan desain hipotetis adalah sebagai berikut: Tipe PT100: tiga kabel; Rentang pengukuran suhu: -200\u00b0C ~ +850\u00b0C; Tegangan suplai AVDD: 3,3V (AVSS = 0V); Arus DAC: 500\u03bcA (per saluran); Laju data: 20 SPS (untuk performa noise yang optimal).<\/p>\n<ol>\n<li>Pemilihan dan penghitungan resistansi referensi (Rref)<\/li>\n<\/ol>\n<p>Rref adalah jantung dari akurasi seluruh sistem. Fungsi: Menghasilkan tegangan referensi V ref dari ADC, dan keakuratan serta kestabilannya secara langsung menentukan hasil pengukuran.<\/p>\n<p>Perhitungan Resistensi:<\/p>\n<p>Untuk memaksimalkan jangkauan ADC dan memenuhi persyaratan tegangan mode umum PGA, Vref biasanya ditetapkan sekitar setengah dari tegangan suplai. Dalam desain ini, AVDD = 3.3V dan target VREF sekitar 1.65V.<\/p>\n<p>I<sub>IDAC<\/sub> = I_IDAC1 + I_IDAC2 = 500uA + 500uA = 1mA<\/p>\n<p>R<sub>REF<\/sub> = V<sub>REF<\/sub> \/(I<sub>IDAC1<\/sub> + I<sub>IDAC2<\/sub>) = 1,65V\/1mA = 1,65k\u03a9<\/p>\n<p>Resistor dengan nilai nominal 1,65 k\u03a9 bisa dipilih. Jika tidak ditemukan, 1,62 k\u03a9 atau 1,69 k\u03a9 juga merupakan perkiraan yang dapat diterima.<\/p>\n<p>Persyaratan seleksi:<\/p>\n<p>Akurasi: Setidaknya \u00b1 0,1%, direkomendasikan \u00b1 0,05% atau lebih tinggi untuk aplikasi presisi tinggi.<\/p>\n<p>Temperatur Mengembang: Harus sangat rendah, dengan ketahanan film yang presisi, direkomendasikan \u00b15 ppm\/\u00b0C atau \u00b110 ppm\/\u00b0C.<\/p>\n<p>Stabilitas jangka panjang: tinggi.<\/p>\n<p>Jangan pernah menggunakan resistor chip 1%, 100ppm\/\u00b0C yang normal.<\/p>\n<ol start=\"2\">\n<li>Opsi arus IDAC dan penguatan PGA<\/li>\n<\/ol>\n<p>Arus IDAC: dipilih 500\u03bcA. Nilai ini memberikan keseimbangan yang baik antara konsumsi daya, efek pemanasan sendiri, dan amplitudo sinyal. Jika arus terlalu kecil, sinyal menjadi lemah dan mudah terpengaruh oleh noise; Terlalu banyak arus dapat menyebabkan PT100 memanas sendiri atau melebihi tegangan yang sesuai dengan IDAC.<\/p>\n<p>Pemilihan Penguatan PGA: PT100 memiliki tegangan yang lebih kecil (mis. 500\u03bcA \u00d7 100\u03a9 = 50mV), tetapi menggunakan pengukuran rasio (tegangan referensi juga dari IDAC), sehingga tidak perlu menguatkan untuk menghindari kejenuhan, dan pemilihan penguatan adalah 1X.<\/p>\n<ol start=\"3\">\n<li>Pemilihan komponen sirkuit filter<\/li>\n<\/ol>\n<p>Resistor Filter (R1, R2, R3, R4): Biasanya dipilih 1k\u03a9. Nilai ini cukup besar untuk menyaring secara efektif dan cukup kecil untuk menghindari tegangan offset yang signifikan pada input (karena arus bias input). Mereka juga bertindak sebagai proteksi pembatas arus.<\/p>\n<p>Kapasitor filter diferensial (C1, C2): Mengatur frekuensi cut-off bersama dengan resistor. Misalnya, untuk kecepatan data 20SPS, frekuensi cut-off dapat ditetapkan dalam puluhan Hz. fc = 1 \/ (2\u03c0 * (R1+R2) * C1)\u3002 Jika R1+R2 = 2k\u03a9 dan mengharapkan fc \u2248 16Hz, C1 = 1 \/ (2 * 2000 * 16) \u2248 4,7\u03bcF. Dalam aplikasi dunia nyata, 100nF (0,1\u03bcF) sering digunakan untuk mendapatkan bandwidth penolakan derau yang lebih luas. Jenis: Kapasitor keramik C0G (NPO) direkomendasikan karena konstanta dielektriknya yang stabil, koefisien tegangan rendah, dan efek mikroakustik yang rendah.<\/p>\n<p>Kapasitor yang difilter mode umum (C5, C6, C3, C4): Biasanya dipilih dengan urutan besaran yang lebih kecil dari kapasitor diferensial, seperti 10nF, untuk memastikan bahwa ketidakcocokan kapasitor diferensial tidak mengakibatkan noise mode umum yang berlebihan diubah menjadi noise diferensial.<\/p>\n<h3>\u2163\u3001Konfigurasi perangkat lunak<\/h3>\n<ol>\n<li><strong>Master Logic:<\/strong><\/li>\n<\/ol>\n<p>float SSP1x20_read_temperature(void)<\/p>\n<p>{<\/p>\n<p>uint32_t ADC_data;<\/p>\n<p>uint32_t ADC_temp1;<\/p>\n<p>\/\/SSP1x20_read_register(SSP1x20_REG0, 4, &amp;Read_REGTab[0]);<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN0_AIN1 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_ON;<\/p>\n<p>Write_REGTab[1]=SSP1x20_DR_20SPS|SSP1x20_MODE_NORMAL|SSP1x20_SC|SSP1x20_TS_ON| SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2]=SSP1x20_VREF_2048|SSP1x20_REJECT_OFF|SSP1x20_PSW_OFF | SSP1x20_IDAC_1000uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>SSP1x20_SendCommand (SSP1x20_CMD_START);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>while (ADC_DRDY_GAIN == 1);\/\/SSP1x20_DRDYM_DRDY<\/p>\n<ol start=\"2\">\n<li><strong>Konfigurasi utama dan deskripsi program<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Konfigurasikan register 0: MUX dan penguatan<\/strong><\/li>\n<\/ul>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN0_AIN1 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_ON;<\/p>\n<table width=\"607\">\n<tbody>\n<tr>\n<td width=\"94\">Bit<\/td>\n<td width=\"132\">Konfigurasi<\/td>\n<td width=\"132\">Fungsi<\/td>\n<td width=\"248\">Deskripsi<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT7 ~ BIT4<\/td>\n<td width=\"132\">MUX_AIN0_AIN1<\/td>\n<td width=\"132\">Pemilihan saluran input diferensial<\/td>\n<td width=\"248\">AIN0 - AIN1 \u2192 untuk pengukuran tegangan PT100<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT3 ~ BIT1<\/td>\n<td width=\"132\">GAIN_1 (keuntungan 1x)<\/td>\n<td width=\"132\">Pengaturan penguatan<\/td>\n<td width=\"248\">1\u00d7 (tidak perlu diperkuat karena Vin \u2248 1V)<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT0<\/td>\n<td width=\"132\">PGA_BYPASS_ON<\/td>\n<td width=\"132\">Bypass PGA<\/td>\n<td width=\"248\">Matikan penguat penguatan yang dapat diprogram untuk mencegah distorsi sinyal<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<ul>\n<li><strong>Register konfigurasi 1: Laju dan mode sampel<\/strong><\/li>\n<\/ul>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<table width=\"595\">\n<tbody>\n<tr>\n<td width=\"94\">Bit<\/td>\n<td width=\"113\">Konfigurasi<\/td>\n<td width=\"142\">Fungsi<\/td>\n<td width=\"246\">Deskripsi<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT7 ~ BIT5<\/td>\n<td width=\"113\">DR_20SPS<\/td>\n<td width=\"142\">Kecepatan data<\/td>\n<td width=\"246\">20 kali\/detik \u2192 cocok untuk perubahan suhu yang lambat<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT4 ~ BIT3<\/td>\n<td width=\"113\">MODE_NORMAL<\/td>\n<td width=\"142\">Mode kerja normal<\/td>\n<td width=\"246\">Tidak tunggal atau berurutan<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BITO<\/td>\n<td width=\"113\">SC<\/td>\n<td width=\"142\">Kalibrasi mandiri diaktifkan<\/td>\n<td width=\"246\">Akurasi yang lebih baik (direkomendasikan pada)<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT1<\/td>\n<td width=\"113\">TS_OFF<\/td>\n<td width=\"142\">Menonaktifkan sensor suhu internal<\/td>\n<td width=\"246\">TS_ON menghidupkan sensor suhu internal, konfigurasi untuk mengukur suhu eksternal tidak berfungsi (konfigurasi ini memiliki prioritas tertinggi)<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><\/p>\n<ul>\n<li><strong>Konfigurasikan register 2: Tegangan referensi dengan IDAC<\/strong><\/li>\n<\/ul>\n<p>Write_REGTab[2] = SSP1x20_VREF_2048 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<table width=\"597\">\n<tbody>\n<tr>\n<td width=\"94\">Bit<\/td>\n<td width=\"113\">Konfigurasi<\/td>\n<td width=\"170\">Fungsi<\/td>\n<td width=\"220\">Deskripsi<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT7 ~ BIT6<\/td>\n<td width=\"113\">VREF_2048<\/td>\n<td width=\"170\">Tegangan referensi eksternal<\/td>\n<td width=\"220\">Gunakan R_REFR_REF eksternal untuk menghasilkan tegangan referensi (misalnya, 1,65k\u03a9).<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT5 ~ BIT4<\/td>\n<td width=\"113\">TOLAK_OFF<\/td>\n<td width=\"170\">Tidak ada pemfilteran takik<\/td>\n<td width=\"220\">Tidak diperlukan kekebalan terhadap interferensi frekuensi daya<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT3<\/td>\n<td width=\"113\">PSW_OFF<\/td>\n<td width=\"170\">Jangan aktifkan sakelar daya<\/td>\n<td width=\"220\">Mempertahankan catu daya normal<\/td>\n<\/tr>\n<tr>\n<td width=\"94\">BIT2 ~ BIT0<\/td>\n<td width=\"113\">IDAC_500uA<\/td>\n<td width=\"170\">Arus eksitasi<\/td>\n<td width=\"220\">Atur ke 500 \u03bcA untuk menghindari tegangan berlebih 3,9k\u03a9 \u00d7 1mA = 3,9V &gt; 3,3V<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><strong>\u00a0<\/strong><\/p>\n<table width=\"595\">\n<tbody>\n<tr>\n<td width=\"113\">Bit<\/td>\n<td width=\"123\">Konfigurasi<\/td>\n<td width=\"151\">Fungsi<\/td>\n<td width=\"208\">Deskripsi<\/td>\n<\/tr>\n<tr>\n<td width=\"113\">BIT7 ~ BIT5<\/td>\n<td width=\"123\">IDAC1_AIN2<\/td>\n<td width=\"151\">Output IDAC1 ke AIN2<\/td>\n<td width=\"208\">Arus eksitasi mengalir melalui ujung atas PT100<\/td>\n<\/tr>\n<tr>\n<td width=\"113\">BIT4 ~ BIT2<\/td>\n<td width=\"123\">IDAC2_AIN3<\/td>\n<td width=\"151\">Output IDAC2 ke AIN3<\/td>\n<td width=\"208\">Kembali ke jalur untuk membatalkan resistensi timbal<\/td>\n<\/tr>\n<tr>\n<td width=\"113\">BIT1<\/td>\n<td width=\"123\">DRDYM_DRDY<\/td>\n<td width=\"151\">Mode DRDY<\/td>\n<td width=\"208\">Gunakan sinyal DRDY untuk memberi tahu Anda bahwa konversi telah selesai<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>(4) Konfigurasikan register 3: saluran rute IDAC dengan DRDY<\/strong><\/p>\n<ol start=\"3\">\n<li><strong>Inti PT100 tiga kawat:<\/strong><\/li>\n<\/ol>\n<p>Jalur saat ini:<\/p>\n<ul>\n<li>IDAC1 \u2192 AIN2 \u2192 PT100 \u2192 AIN1<\/li>\n<li>IDAC2 \u2192 AIN3 \u2192 AIN1 (Kembali)<\/li>\n<li>Dua arus sama \u2192 mengimbangi penurunan tegangan pada R_LEAD2R_LEAD2<\/li>\n<\/ul>\n<p><strong>uint32_t<\/strong> raw_u24 = SSP1x20_read_data_drdy();<\/p>\n<p>&nbsp;<\/p>\n<p>Keluaran SSP1220 <strong>Data 24-bit<\/strong>tetapi MCU biasanya membaca dalam 32-bit (SPI membaca 4 byte sekaligus).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>jika<\/strong> (mentah &lt; 0) mentah = -raw;<\/p>\n<p>Tegangan PT100 <strong>selalu positif <\/strong>(arus mengalir dari AIN0 ke AIN1).<\/p>\n<p>Jika mentah &lt; 0, nilai <strong>Konfigurasi perangkat lunak AIN0 dan AIN1 dibalik.<\/strong><\/p>\n<p>printf(\"Raw: %ld, R=%.3f \u03a9, Temp=%.2f \u00b0 C\\r\\n\", raw, R_pt100, suhu);<\/p>\n<p>Mencetak <strong>nilai kode asli, menghitung resistansi, dan suhu akhir<\/strong> untuk debugging yang mudah<\/p>\n<p>Jika Raw negatif\u2192 konfigurasi dibalik<\/p>\n<p>Jika R &gt; 1400\u03a9 \u2192 menunjukkan bahwa IDAC atau Rref tidak disetel dengan benar<\/p>\n<p>Jika Temp = -999 \u2192 menunjukkan bahwa nilai R berada di luar kisaran yang wajar<\/p>\n<p>&nbsp;<\/p>\n<h3>\u2164\u3001Prosedur dan hasil pengukuran<\/h3>\n<ol>\n<li><strong>Program pengukuran tegangan PT100 di kedua ujungnya:<\/strong><\/li>\n<\/ol>\n<p>void SSP1x20_ADC_MeasurePt100(void)<\/p>\n<p>{<\/p>\n<p>float V_ref = 2.048; \/\/ Tegangan referensi internal 2.048V<\/p>\n<p>\/\/printf(\"\\r\\n Pengukuran tegangan tunggal multi-titik \\r\\n\");<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN1_AIN0 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_OFF;<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_REF0 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"Write_REGTab[0]=%x\\r\\n\", Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[1]=%x\\r\\n\", Write_REGTab[1]);<\/p>\n<p>printf(\"Write_REGTab[2]=%x\\r\\n\", Write_REGTab[2]);<\/p>\n<p>printf(\"Write_REGTab[3]=%x\\r\\n\", Write_REGTab[3]);<\/p>\n<p>sementara (1)<\/p>\n<p>{<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); \/\/ Ketika pengukuran kontinu diaktifkan, perintah ini dikirim hanya sekali<\/p>\n<p>HAL_Delay (100);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>}<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>Hasil pengujian SSP1220<\/strong><\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2993\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202-300x137.png\" alt=\"\" width=\"300\" height=\"137\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202-300x137.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202-18x8.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12202.png 500w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<ol start=\"2\">\n<li><strong>Pengukuran suhu internal SSP1220<\/strong><\/li>\n<\/ol>\n<p>Fungsi uji suhu internal<\/p>\n<p>float SSP1x20_read_temperature(void)<\/p>\n<p>{<\/p>\n<p>uint32_t ADC_data;<\/p>\n<p>uint32_t ADC_temp1;<\/p>\n<p>&nbsp;<\/p>\n<p>\/\/SSP1x20_read_register(SSP1x20_REG0, 4, &amp;Read_REGTab[0]);<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN0_AIN1 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_ON;<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_ON | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_2048 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_1000uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>&nbsp;<\/p>\n<p>SSP1x20_SendCommand (SSP1x20_CMD_START);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>&nbsp;<\/p>\n<p>while (ADC_DRDY_GAIN == 1);\/\/SSP1x20_DRDYM_DRDY<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Detail konfigurasi uji suhu internal:<\/strong><\/p>\n<p><strong>\u00a0<\/strong>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_ON | SSP1x20_BCS_OFF;<\/p>\n<ul>\n<li>SSP1x20_TS_ON: <strong>Mengaktifkan sensor suhu internal<\/strong> (kritis), konfigurasi ini memiliki prioritas tertinggi<\/li>\n<li>SSP1x20_SC: Melakukan kalibrasi mandiri (disarankan)<\/li>\n<li><strong>20SPS<\/strong>: Kecepatan rendah dan akurasi tinggi, cocok untuk pengukuran suhu<\/li>\n<\/ul>\n<p>Write_REGTab[2] = SSP1x20_VREF_2048 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_1000uA;<\/p>\n<ul>\n<li>SSP1x20_VREF_2048: Gunakan <strong>tegangan referensi internal 2,048V<\/strong> (bukan REF0 eksternal!))\n<ul>\n<li>Karena sensor suhu internal adalah <strong>keluaran tegangan absolut<\/strong>, a <strong>tegangan referensi tetap <\/strong>harus digunakan untuk mengonversi suhu.<\/li>\n<\/ul>\n<\/li>\n<li><strong>IDAC_1000uA<\/strong>: Meskipun IDAC diaktifkan, <strong>IDAC dalam mode TS_ON tidak mempengaruhi pengukuran suhu internal<\/strong> (dapat diabaikan).<\/li>\n<\/ul>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<ul>\n<li>Konfigurasikan pin IDAC dan DRDY, tetapi <strong>tidak berpengaruh pada pengukuran suhu internal<\/strong> (hanya menjaga agar register tetap utuh).<\/li>\n<li><strong>2 Mulai konversi dan tunggu DRDY<\/strong><\/li>\n<\/ul>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); SPI_ADC_CS_LOW();<strong>sementara<\/strong> (ADC_DRDY_GAIN == 1); \/\/ \u7b49\u5f85 DRDY \u53d8\u4f4e<\/p>\n<ul>\n<li>Kirim perintah START untuk memulai transisi berkelanjutan<\/li>\n<li>Tunggu. <strong>pin DRDY menjadi rendah<\/strong>yang menunjukkan bahwa data sudah siap<\/li>\n<\/ul>\n<p>Pengukuran suhu ruangan dalam ruangan ditunjukkan pada gambar di bawah ini:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2994\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203-300x141.png\" alt=\"\" width=\"300\" height=\"141\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203-300x141.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203-18x8.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12203.png 479w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<h2>3. Pengukuran suhu eksternal (metode 1, perhitungan faktor yang disederhanakan 0,385)<\/h2>\n<p>Kode terkait uji suhu eksternal:<\/p>\n<p>uint32_t ADC_gain_value = 0; \/\/ Pembacaan data<\/p>\n<p>uint32_t ADC_value = 0; \/\/ Mengukur nilai data<\/p>\n<p>float tmpPt100 = 0;<\/p>\n<p>mengambang RTD = 0;<\/p>\n<p>void SSP1x20_ADC_Measure(void)<\/p>\n<p>{<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"\\r\\n Pengukuran tegangan tunggal multi-titik \\r\\n\");<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN1_AIN0 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_OFF; SSP1x20_MUX_AIN1_AIN0 Antarmuka AIN1 AIN0 harus dipilih berdasarkan diagram sirkuit yang sebenarnya<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_REF0 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[0]=%x\\r\\n\", Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[1]=%x\\r\\n\", Write_REGTab[1]);<\/p>\n<p>printf(\"Write_REGTab[2]=%x\\r\\n\", Write_REGTab[2]);<\/p>\n<p>printf(\"Write_REGTab[3]=%x\\r\\n\", Write_REGTab[3]);<\/p>\n<p>sementara (1)<\/p>\n<p>{<\/p>\n<p>&nbsp;<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); Ketika pengukuran kontinu diaktifkan, perintah ini dikirim hanya sekali<\/p>\n<p>HAL_Delay (100);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>Nilai ADC_gain_value =0;<\/p>\n<p>&nbsp;<\/p>\n<p>ADC_gain_value = SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>&nbsp;<\/p>\n<p>SPI_ADC_CS_HIGH();<\/p>\n<p>&nbsp;<\/p>\n<p>RTD = 1650*( (float) ADC_gain_value \/(0x3fffff)); \/\/Resistansi referensi 1650 ohm<\/p>\n<p>tmpPt100 = (RTD-100)\/0,38;<\/p>\n<p>__NOP();<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"R = %.3f \u03a9, Temp = %.2f \u00b0 C\\r\\n\", RTD, tmpPt100 );<\/p>\n<p>}<\/p>\n<p>Hasil pengukuran RTD tiga baris dari suhu campuran air es ditunjukkan pada gambar di bawah ini:<\/p>\n<p><strong> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2995\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204-263x300.png\" alt=\"\" width=\"156\" height=\"178\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204-263x300.png 263w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204-11x12.png 11w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12204.png 287w\" sizes=\"(max-width: 156px) 100vw, 156px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2996\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205-300x199.png\" alt=\"\" width=\"371\" height=\"246\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205-300x199.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205-18x12.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12205.png 414w\" sizes=\"(max-width: 371px) 100vw, 371px\" \/><\/strong><\/p>\n<p><strong>Pengukuran suhu eksternal (metode dua, dihitung dengan persamaan Callendar-Van Dusen) lebih akurat<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>Kode Master:<\/p>\n<p>\/\/ RTD akurasi tinggi -&gt; suhu<\/p>\n<p>static float rtd_to_temperature_iec60751(float rtd)<\/p>\n<p>{<\/p>\n<p>if (rtd &lt; 0.0f) return -999.0f; \/\/ nilai ilegal<\/p>\n<p>&nbsp;<\/p>\n<p>float t = (rtd - R0_PT100) \/ 0.385f; \/\/ tebakan awal<\/p>\n<p>&nbsp;<\/p>\n<p>if (rtd &lt;= R0_PT100) {<\/p>\n<p>\/\/T &lt; = 0\u00b0C: Gunakan persamaan lengkap<\/p>\n<p>for (int i = 0; i &lt; 10; i++) {<\/p>\n<p>float rt_calc = R0_PT100 * (1.0f + A_COEFF * t + B_COEFF * t * t + C_COEFF * (t - 100.0f) * t * t * t);<\/p>\n<p>float dr_dt = R0_PT100 * (A_COEFF + 2.0f*B_COEFF*t + C_COEFF*(4.0f*t*t*t - 300.0f*t*t));<\/p>\n<p>float error = rt_calc - rtd;<\/p>\n<p>t -= error \/ dr_dt;<\/p>\n<p>if (fabsf(error) &lt; 0.001f) break;<\/p>\n<p>}<\/p>\n<p>} else {<\/p>\n<p>\/\/ T &gt;= 0\u00b0C:: Gunakan persamaan yang disederhanakan<\/p>\n<p>for (int i = 0; i &lt; 10; i++) {<\/p>\n<p>float rt_calc = R0_PT100 * (1.0f + A_COEFF * t + B_COEFF * t * t);<\/p>\n<p>float dr_dt = R0_PT100 * (A_COEFF + 2.0f*B_COEFF*t);<\/p>\n<p>float error = rt_calc - rtd;<\/p>\n<p>t -= error \/ dr_dt;<\/p>\n<p>if (fabsf(error) &lt; 0.001f) break;<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>kembali t;<\/p>\n<p>}<\/p>\n<p>\/**<\/p>\n<p>* @pengukuran ADC saluran analog singkat (pengukuran suhu eksternal)<\/p>\n<p>* @param Tidak ada<\/p>\n<p>* @retval Tidak ada<\/p>\n<p>*\/<\/p>\n<p>uint32_t ADC_gain_value = 0; \/\/ Pembacaan data<\/p>\n<p>uint32_t ADC_value = 0; \/\/ Mengukur nilai data<\/p>\n<p>float tmpPt100 = 0;<\/p>\n<p>mengambang RTD = 0;<\/p>\n<p>void SSP1x20_ADC_Measure(void)<\/p>\n<p>{<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"\\r\\n Pengukuran tegangan tunggal multi-titik \\r\\n\");<\/p>\n<p>Write_REGTab[0] = SSP1x20_MUX_AIN1_AIN0 | SSP1x20_GAIN_1 | SSP1x20_PGA_BYPASS_OFF;<\/p>\n<p>Write_REGTab[1] = SSP1x20_DR_20SPS | SSP1x20_MODE_NORMAL | SSP1x20_SC | SSP1x20_TS_OFF | SSP1x20_BCS_OFF;<\/p>\n<p>Write_REGTab[2] = SSP1x20_VREF_REF0 | SSP1x20_REJECT_OFF | SSP1x20_PSW_OFF | SSP1x20_IDAC_500uA;<\/p>\n<p>Write_REGTab[3] = SSP1x20_IDAC1_AIN2 | SSP1x20_IDAC2_AIN3 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>\/\/ Write_REGTab[3] = SSP1x20_IDAC1_AIN3 | SSP1x20_IDAC2_AIN2 | SSP1x20_DRDYM_DRDY;<\/p>\n<p>SSP1x20_WriteRegister(SSP1x20_REG0, 4, &amp;Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[0]=%x\\r\\n\", Write_REGTab[0]);<\/p>\n<p>printf(\"Write_REGTab[1]=%x\\r\\n\", Write_REGTab[1]);<\/p>\n<p>printf(\"Write_REGTab[2]=%x\\r\\n\", Write_REGTab[2]);<\/p>\n<p>printf(\"Write_REGTab[3]=%x\\r\\n\", Write_REGTab[3]);<\/p>\n<p>sementara (1)<\/p>\n<p>{<\/p>\n<p>SSP1x20_SendCommand(SSP1x20_CMD_START); Ketika pengukuran kontinu diaktifkan, perintah ini dikirim hanya sekali<\/p>\n<p>HAL_Delay (100);<\/p>\n<p>SPI_ADC_CS_LOW();<\/p>\n<p>&nbsp;<\/p>\n<p>Nilai ADC_gain_value =0;<\/p>\n<p>ADC_gain_value = SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>ADC_gain_value = (ADC_gain_value &lt;&lt; 8) | SPI_ADC_ReadByte();<\/p>\n<p>&nbsp;<\/p>\n<p>SPI_ADC_CS_HIGH();<\/p>\n<p>&nbsp;<\/p>\n<p>#define CALIBRATED_FULL_SCALE 4210300.0f \/\/ menurut data kalibrasi<\/p>\n<p>&nbsp;<\/p>\n<p>RTD = 1650.0f * ((float) ADC_gain_value \/ CALIBRATED_FULL_SCALE);<\/p>\n<p>tmpPt100 = rtd_to_temperature_iec60751(RTD);<\/p>\n<p>__NOP();<\/p>\n<p>&nbsp;<\/p>\n<p>printf(\"R = %.3f \u03a9, Temp = %.2f \u00b0 C\\r\\n\", RTD, tmpPt100 );<\/p>\n<p>}<\/p>\n<p>}<\/p>\n<p>&nbsp;<\/p>\n<p>Hasil pengujian ditunjukkan dalam gambar:<\/p>\n<p>&nbsp;<\/p>\n<p>Uji Suhu Air Panas:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2997\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206-300x199.png\" alt=\"\" width=\"300\" height=\"199\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206-300x199.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206-18x12.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12206.png 675w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-2998\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207-300x275.jpg\" alt=\"\" width=\"215\" height=\"197\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207-300x275.jpg 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207-13x12.jpg 13w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12207.jpg 546w\" sizes=\"(max-width: 215px) 100vw, 215px\" \/><\/p>\n<p>Uji Campuran Air Es:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-2999\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208-300x205.png\" alt=\"\" width=\"300\" height=\"205\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208-300x205.png 300w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208-18x12.png 18w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12208.png 670w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img decoding=\"async\" loading=\"lazy\" class=\"alignnone  wp-image-3000\" src=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209-197x300.jpg\" alt=\"\" width=\"147\" height=\"224\" srcset=\"https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209-197x300.jpg 197w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209-8x12.jpg 8w, https:\/\/www.siproin-ic.com\/wp-content\/uploads\/2025\/11\/12209.jpg 391w\" sizes=\"(max-width: 147px) 100vw, 147px\" \/><\/p>\n<h2>4. Detail konfigurasi uji suhu eksternal:<\/h2>\n<table width=\"727\">\n<thead>\n<tr>\n<td width=\"158\"><strong>Daftar<\/strong><\/td>\n<td width=\"196\"><strong>Mengonfigurasi nilai (kode Anda)<\/strong><\/td>\n<td width=\"152\"><strong>Deskripsi fungsi:<\/strong><\/td>\n<td width=\"211\"><strong>Mengapa Anda memilih ini?<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td rowspan=\"4\" width=\"158\"><strong>REG0<\/strong><br \/>\nWrite_REGTab [0]<\/td>\n<td width=\"196\">SSP1x20_MUX_AIN1_AIN0<br \/>\n| SSP1x20_GAIN_1<br \/>\n|SSP1x20_PGA_BYPASS_OFF<\/td>\n<td width=\"152\"><strong>Masuk ke Pemilihan Saluran + Pengaturan Penguatan<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_MUX_AIN1_AIN0<\/td>\n<td width=\"152\">Input diferensial: <strong>AIN1 positif dan AIN0 negatif<\/strong><\/td>\n<td width=\"211\">PT100 terhubung ke AIN0 dan AIN1 pada kedua ujungnya dan memerlukan pengukuran tegangan diferensial. \u26a0\ufe0f <strong>Perhatikan polaritasnya<\/strong>jika konfigurasi dibalik, ADC mengeluarkan nilai negatif (mis., 0x800000), menghasilkan suhu negatif.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_GAIN_1<\/td>\n<td width=\"152\">Keuntungan = 1<\/td>\n<td width=\"211\">PT100 memiliki tegangan yang lebih kecil (mis. 500\u03bcA \u00d7 100\u03a9 = 50mV), tetapi menggunakan pengukuran rasio (tegangan referensi juga dari IDAC), jadi <strong>tidak ada amplifikasi <\/strong>diperlukan untuk menghindari kejenuhan.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_PGA_BYPASS_OFF<\/td>\n<td width=\"152\"><strong>Tidak ada PGA bypass<\/strong><\/td>\n<td width=\"211\">Pertahankan fungsi PGA (meskipun penguatan = 1) untuk memastikan jalur sinyal normal.<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"6\" width=\"158\"><strong>REG1<\/strong><br \/>\nWrite_REGTab [1]<\/td>\n<td width=\"196\">SSP1x20_DR_20SPS<br \/>\n| SSP1x20_MODE_NORMAL<br \/>\n| SSP1x20_SC<br \/>\n| SSP1x20_TS_OFF<br \/>\n| SSP1x20_BCS_OFF<\/td>\n<td width=\"152\"><strong>Kecepatan data + mode operasi<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_DR_20SPS<\/td>\n<td width=\"152\">Tingkat sampel = <strong>20 titik sampel\/detik<\/strong><\/td>\n<td width=\"211\">Kecepatan rendah meningkatkan akurasi, menekan kebisingan, dan cocok untuk pengukuran suhu (perubahan lambat).<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_MODE_NORMAL<\/td>\n<td width=\"152\">Mode konversi kontinu normal<\/td>\n<td width=\"211\">Keluaran data berkelanjutan untuk pemantauan waktu nyata.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_SC<\/td>\n<td width=\"152\"><strong>Melakukan kalibrasi mandiri<\/strong><\/td>\n<td width=\"211\">Kalibrasi setelah setiap konfigurasi, menghilangkan kesalahan offset\/gain dan meningkatkan akurasi.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_TS_OFF<\/td>\n<td width=\"152\"><strong>Matikan sensor suhu internal<\/strong><\/td>\n<td width=\"211\">Kami mengukur PT100 eksternal dan tidak memerlukan suhu internal.<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_BCS_OFF<\/td>\n<td width=\"152\">Menonaktifkan sumber arus yang terbakar<\/td>\n<td width=\"211\">Tidak, Anda tidak perlu.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\"><strong>REG2<\/strong><br \/>\nWrite_REGTab[2]<\/td>\n<td width=\"196\">SSP1x20_VREF_REF0<br \/>\n| SSP1x20_REJECT_OFF<br \/>\n| SSP1x20_PSW_OFF<br \/>\nSSP1x20_IDAC_500uA<\/td>\n<td width=\"152\"><strong>Pengaturan Tegangan Referensi + IDAC<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_VREF_REF0<\/td>\n<td width=\"152\">Gunakan <strong>referensi eksternal <\/strong>tegangan (REF0 = tegangan antara AIN2\/AIN3).<\/td>\n<td width=\"211\">Menerapkan <strong>pengukuran berbasis rasio<\/strong>: Hasil ADC = (Vpt100 \/ Vref) \u00d7 224, <strong>tidak tergantung pada arus absolut IDAC saat ini<\/strong>hanya terkait dengan Rref, tahan terhadap fluktuasi catu daya.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_REJECT_OFF<\/td>\n<td width=\"152\">Penekanan 50\/60Hz tidak diaktifkan<\/td>\n<td width=\"211\">Jika interferensi lingkungan kecil, maka dapat dimatikan; Jika berada di lingkungan frekuensi daya, disarankan untuk menghidupkan REJECT_50.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_PSW_OFF<\/td>\n<td width=\"152\">Matikan sakelar catu daya sensor<\/td>\n<td width=\"211\">PT100 didukung oleh IDAC dan tidak memerlukan PSW tambahan.<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">&nbsp;<\/td>\n<td width=\"196\">SSP1x20_IDAC_500uA<\/td>\n<td width=\"152\">Tetapkan arus sumber arus konstan = arus sumber konstan <strong>500 \u03bcA<\/strong><\/td>\n<td width=\"211\">Nilai arus umum, menyeimbangkan konsumsi daya dan amplitudo sinyal (100\u03a9 \u2192 50mV).<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\" width=\"158\"><strong>REG3<\/strong><br \/>\nWrite_REGTab[3]<\/td>\n<td width=\"196\">SSP1x20_IDAC1_AIN2<br \/>\n| SSP1x20_IDAC2_AIN3<br \/>\n| SSP1x20_DRDYM_DRDY<\/td>\n<td width=\"152\"><strong>Pin keluaran IDAC + konfigurasi DRDY<\/strong><\/td>\n<td width=\"211\">&nbsp;<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_IDAC1_AIN2<\/td>\n<td width=\"152\"><strong>Output IDAC1 ke AIN2<\/strong><\/td>\n<td width=\"211\">AIN2 ke PT100 (eksitasi)<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_IDAC2_AIN3<\/td>\n<td width=\"152\"><strong>Output IDAC2 ke AIN3<\/strong><\/td>\n<td width=\"211\">AIN3 terhubung ke resistor referensi di salah satu ujung R_ref (membentuk loop)<br \/>\n\u2192 menyadari <strong>kompensasi tiga kabel <\/strong>(mengimbangi resistansi kabel).<\/td>\n<\/tr>\n<tr>\n<td width=\"196\">SSP1x20_DRDYM_DRDY<\/td>\n<td width=\"152\">Aktifkan <strong>pin DRDY <\/strong>(Sinyal Siap Data).<\/td>\n<td width=\"211\">MCU mendeteksi level rendah DRDY melalui GPIO untuk mengetahui kapan data sedang dibaca dan menghindari polling.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>----------------------------------<\/p>\n<p>Perhitungan Rumus Kode Bagian Utama:<\/p>\n<p>RTD = 1650*((float)ADC_gain_value \/(0x3fffff)); \/\/resistansi referensi 1650 ohm tmpPt100 = (RTD-100)\/0.385;<\/p>\n<h2>Resistansi referensi 1650 ohm,<\/h2>\n<h2>Kode baris pertama RTD = 1650 * (ADC \/ 0x3FFFFF)<\/h2>\n<h2>Dirancang untuk mengonversi nilai ADC asli ke nilai resistansi PT100 (pengukuran rasio)<\/h2>\n<ul>\n<li><strong> VIN = I \u00d7 RPT100 (tegangan pada PT100)<\/strong><\/li>\n<li><strong> VREF = I \u00d7 RREF (tegangan pada resistor referensi)<\/strong><\/li>\n<\/ul>\n<p>Sumber arus konstan I adc yang sama digunakan pada kedua ujungnya<\/p>\n<p>&nbsp;<\/p>\n<p>Jadi:\u00a0\u00a0\u00a0\u00a0 <strong>Vin\/Vref = Rpt100\/Rref<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>Output ADC adalah hasil digital dari rasio ini<\/strong><\/p>\n<p><strong>Kode ADC = Vin\/Vref x 2<sup>24<\/sup><\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p>Jadi didorong kembali<\/p>\n<p><strong>Rpt100<\/strong><strong>\u200b<\/strong><strong>= Rref x ADC_Code \/ 2<sup>24<\/sup><\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>---------------------------------------<\/p>\n<h2>Kode baris kedua: tmpPt100 = (RTD - 100) \/ 0,385;<\/h2>\n<h2>Memperkirakan suhu dengan rumus perkiraan linier<\/h2>\n<p>Pada suhu 0\u00b0C, Rpt100 = 100 \u03a9<\/p>\n<p>Untuk setiap kenaikan suhu 1\u00b0C, resistansi meningkat sekitar 0,385 \u03a9<\/p>\n<p>Jadi<\/p>\n<p>&nbsp;<\/p>\n<p><strong>T <\/strong><strong>\u2248<\/strong><strong> (R-100)\/0.385<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h3>\u2165\u3001 Panduan Debugging Masalah Umum<\/h3>\n<table>\n<thead>\n<tr>\n<td width=\"158\"><strong>Anomali<\/strong><\/td>\n<td><strong>Kemungkinan penyebab<\/strong><\/td>\n<td><strong>Langkah-langkah pemecahan masalah<\/strong><\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td width=\"158\">Nilai asli ADC (mentah) adalah negatif<\/td>\n<td>AIN0 adalah kebalikan dari konfigurasi AIN1<\/td>\n<td>1. Periksa apakah konfigurasi perangkat lunak konsisten dengan koneksi ke perangkat keras<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">R_PT100&gt; 1400\u03a9<\/td>\n<td>1. 1. Konfigurasi IDAC saat ini salah; 2. Rref terbuka<\/td>\n<td>1. 1. Periksa konfigurasi IDAC dari REG2 (pastikan nilainya 500\u03bcA); 2. Ukur nilai resistansi R ref dengan multimeter untuk mengonfirmasi bahwa rangkaian tidak terbuka<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">Nilai suhunya adalah - 999\u00b0C<\/td>\n<td>PT100 melebihi kisaran 18\u03a9 ~ 330\u03a9<\/td>\n<td>1. 1. Periksa apakah PT100 terputus (ukur resistansi PT100); 2. Verifikasi Komunikasi SPI (Baca Nilai Konfigurasi Register)<\/td>\n<\/tr>\n<tr>\n<td width=\"158\">Fluktuasi suhu &gt; 0,1\u00b0C<\/td>\n<td>1. Riak besar pada catu daya; 2. Gangguan elektromagnetik<\/td>\n<td>1. Ukur riak VDD SSP1220 (diperlukan \u2264 10mV); 2. Periksa pentanahan kabel pelindung untuk menghindari gangguan<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\u2166\u3001 Tabel konfigurasi register inti SSP1220<\/h3>\n<table>\n<thead>\n<tr>\n<td width=\"72\">Daftar<\/td>\n<td width=\"130\">Mengkonfigurasi item<\/td>\n<td width=\"149\">Nilai (pengukuran suhu eksternal)<\/td>\n<td width=\"191\">Deskripsi fungsi:<\/td>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td rowspan=\"3\" width=\"72\">REG0<\/td>\n<td width=\"130\">Saluran diferensial<\/td>\n<td width=\"149\">AIN1-AIN0<\/td>\n<td width=\"191\">Cocokkan kabel PT100 untuk menghindari mentah negatif<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">keuntungan<\/td>\n<td width=\"149\">1\u00d7<\/td>\n<td width=\"191\">Hindari kejenuhan sinyal dan sesuaikan dengan pengukuran rasio<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Bypass PGA<\/td>\n<td width=\"149\">menonaktifkan<\/td>\n<td width=\"191\">Menjaga integritas jalur sinyal<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"4\" width=\"72\">REG1<\/td>\n<td width=\"130\">Tingkat pengambilan sampel<\/td>\n<td width=\"149\">20SPS<\/td>\n<td width=\"191\">Kecepatan rendah meningkatkan akurasi dan beradaptasi dengan sinyal suhu yang lambat<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Mode kerja<\/td>\n<td width=\"149\">Mode normal<\/td>\n<td width=\"191\">Konversi berkelanjutan dan keluaran data suhu secara real-time<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Kalibrasi mandiri<\/td>\n<td width=\"149\">aktifkan<\/td>\n<td width=\"191\">Menghilangkan kesalahan offset\/gain dan meningkatkan akurasi<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">TS internal<\/td>\n<td width=\"149\">menonaktifkan<\/td>\n<td width=\"191\">Pengukuran suhu eksternal tidak memerlukan sensor internal<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\" width=\"72\">\u00a0REG2<\/td>\n<td width=\"130\">Tegangan referensi<\/td>\n<td width=\"149\">REF0 Eksternal<\/td>\n<td width=\"191\">Pengukuran berbasis rasio untuk mengatasi fluktuasi arus IDAC<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Arus IDAC<\/td>\n<td width=\"149\">500\u03bcA<\/td>\n<td width=\"191\">Konsumsi Daya dan Amplitudo Sinyal yang Seimbang (50mV 100\u03a9)<\/td>\n<\/tr>\n<tr>\n<td rowspan=\"2\" width=\"72\">REG3<\/td>\n<td width=\"130\">Rute IDAC1<\/td>\n<td width=\"149\">AIN2<\/td>\n<td width=\"191\">Input arus eksitasi PT100<\/td>\n<\/tr>\n<tr>\n<td width=\"130\">Rute IDAC2<\/td>\n<td width=\"149\">AIN3<\/td>\n<td width=\"191\">Melawan resistor utama R7<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>\u2167\u3001Tabel koefisien persamaan Callendar-Van Dusen<\/h3>\n<table>\n<tbody>\n<tr>\n<td width=\"138\">Koefisien<\/td>\n<td width=\"139\">Nilai numerik<\/td>\n<td width=\"110\">Unit<\/td>\n<td width=\"166\">Lingkup aplikasi<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">R0<\/td>\n<td width=\"139\">100.0<\/td>\n<td width=\"110\">\u03a9<\/td>\n<td width=\"166\">Resistensi referensi 0\u00b0C<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">A<\/td>\n<td width=\"139\">3.9083\u00d710<sup>-3<\/sup><\/td>\n<td width=\"110\">\u2103<sup>-1<\/sup><\/td>\n<td width=\"166\">-200\u2103~600\u2103<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">B<\/td>\n<td width=\"139\">-5.775\u00d710<sup>-7<\/sup><\/td>\n<td width=\"110\">\u2103<sup>-2<\/sup><\/td>\n<td width=\"166\">-200\u2103~600\u2103<\/td>\n<\/tr>\n<tr>\n<td width=\"138\">C<\/td>\n<td width=\"139\">-4.183\u00d710<sup>-12<\/sup><\/td>\n<td width=\"110\">\u2103<sup>-4<\/sup><\/td>\n<td width=\"166\">-200\u2103~0\u2103<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong>Kode lengkap dapat diperoleh dengan menghubungi dukungan teknis kami. Kontak 18014203727<\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Pengukuran RTD tiga kabel SSP1220<\/p>","protected":false},"author":9,"featured_media":3001,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[62],"tags":[331,330],"acf":[],"_links":{"self":[{"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/posts\/2991"}],"collection":[{"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/users\/9"}],"replies":[{"embeddable":true,"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/comments?post=2991"}],"version-history":[{"count":0,"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/posts\/2991\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/media\/3001"}],"wp:attachment":[{"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/media?parent=2991"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/categories?post=2991"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.siproin-ic.com\/id\/wp-json\/wp\/v2\/tags?post=2991"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}