Комп'ютерний термометр на основі DS18S20

Комп'ютерний термометр на основі DS18S20

Автор: Рідіко Леонід Іванович

У корпусі сучасного комп'ютера сконцентровано велику кількість елементів, що виділяють тепло. За великим рахунком, тепло виділяє практично все, так як будь-яка працююча електронна схема розсіює деяку потужність. Однак є елементи, які є досить інтенсивними джерелами тепла. Це процесор, чіпи на материнській платі і на відеокарті, елементи на платі жорсткого диска, елементи блоку живлення тощо. Давно минули ті часи, коли процесор міг працювати без примусового охолодження. Вже став звичним кулер на відеокарті, іноді він встановлюється також на північний міст чіпсета і на жорсткий диск. Сучасний корпус зазвичай має місця для встановлення додаткових вентиляторів, які покликані продувати весь внутрішній обсяг корпусу комп'ютера. Особливо гостро проблема охолодження стоїть для комп'ютерів, насичених платами розширення, а також для комп'ютерів з «розігнаними» процесорами.


Надійність напівпровідникових приладів при підвищенні робочої температури падає, не кажучи вже про надійність і довговічність жорсткого диска. Однак підвищена температура всередині корпусу комп'ютера веде не тільки до скорочення терміну служби компонентів, але і до нестійкої роботи, якщо якийсь компонент перегрівається.

У світлі сказаного дуже важливо забезпечити належне охолодження компонентів і правильну вентиляцію корпусу. Правильно вибрати кількість і тип вентиляторів, а також правильно організувати повітряні потоки є досить складною справою, оскільки вільний обсяг всередині корпусу має складну конфігурацію, і потокам повітря заважають різні предмети, в тому числі дроти. Іноді застосування більш потужного вентилятора дає гірший ефект, ніж правильний розподіл повітряних потоків від малопотужного вентилятора. До того ж потужний вентилятор зазвичай має високий рівень шуму. Теоретично розрахувати потоки неможливо, тому діяти доводиться інтуїтивно, методом проб і помилок. Основна трудність полягає в тому, що дуже важко оцінити ефективність того чи іншого вжитого заходу через відсутність засобів контролю температури. Наявні на деяких материнських платах і жорстких дисках термодатчики дозволяють судити лише про температуру в декількох точках. Тому доводиться заміряти температуру компонентів «на дотик», що не можна назвати точним і повторюваним методом.

При експериментах з охолодженням компонентів комп'ютера неоціненну допомогу може надати незалежний термометр. Такий термометр повинен мати невеликий за розмірами датчик для його легкого розміщення на різних компонентах, датчик повинен мати маленьку інерційність для можливості швидкого проведення вимірювань, ну і, звичайно, досить високу точність вимірювань. До того ж, термометр повинен бути не дорогим. Всім цим вимогам задовольняють цифрові датчики температури, що випускаються фірмою DALLAS Semiconductor (тепер це вже MAXIM), які можуть бути підключені до послідовного порту комп'ютера.

Широко поширена мікросхема цифрового термометра DS18S20, що випускається фірмою DALLAS, забезпечує вимірювання температури в діапазоні -55.. + 125 ° C з дискретністю 0.5 ° C. Вартість мікросхеми DS18S20 становить приблизно 2 $, вартість деталей адаптера для підключення її до COM-порту комп'ютера - ще менше. Докладний опис мікросхеми DS18S20 можна знайти за посиланням: http://pdfserv.maxim-ic.com/arpdf/DS18S20.pdf.



Ріс. 1. Вигляд мікросхеми цифрового термометра DS18S20.

За допомогою додаткових обчислень дискретність представлення температури можна зменшити, в нашому випадку вона дорівнює 0.1 ° C. Найпривабливішим є те, що такий термометр вже відкалібрований на заводі, гарантована точність становить ^ 0.5 ° C в діапазоні -10.. + 85 ° C і ^ 2 ° C у всьому діапазоні робочих температур. Типова крива помилки вимірювання температури наведена на рис. 2.




Ріс. 2. Типова крива помилки термометра DS18S20.

Незважаючи на обмежену абсолютну точність, мала дискретність уявлення температури є досить бажаною, оскільки дуже часто на практиці потрібні відносні вимірювання.

DS18S20 допускає напругу харчування від + 3 до + 5.5В. У режимі очікування споживаний струм близький до нуля (менше 1мкА), а під час перетворення температури він дорівнює приблизно 1мА. Процес перетворення триває максимум 750мс.

Принцип дії цифрових датчиків температури фірми DALLAS заснований на підрахунку кількості імпульсів, що виробляються генератором з низьким температурним коефіцієнтом у часовому інтервалі, який формується генератором з великим температурним коефіцієнтом. Лічильник ініціалізується значенням, що відповідає -55 ° C (мінімальній вимірюваній температурі). Якщо лічильник досягає нуля перед тим, як закінчується часовий інтервал (це означає, що температура більше -55 ° C), то регістр температури, який також ініціалізований значенням -55 ° C, інкрементується. Одночасно лічильник передбачається новим значенням, яке задається схемою формування нахилу характеристики. Ця схема потрібна для компенсації параболічної залежності частот генераторів від температури. Лічильник знову починає працювати, і якщо він знову досягає нуля, коли інтервал ще не закінчено, процес повторюється знову. Схема формування нахилу завантажує лічильник значеннями, які відповідають кількості імпульсів генератора на один градус Цельсія для кожного конкретного значення температури. По закінченню процесу перетворення регістр температури буде містити значення температури.

Для DS18S20 температура представляється у вигляді 9-бітного значення в додатковому коді. Оскільки це значення займає 2 байти, всі розряди старшого байту дорівнюють знаковому розряду. Дискретність уявлення температури становить 0.5 ° C. Залежність вихідного коду від температури наведена в таблиці:

Температура

Вихідний код (Binary)

Вихідний код (Hex)

 

Ст. байт

Мл. байт

   

+125°C

0000 0000


1111 1010

00FAh

+25°C

0000 0000

0011 0010


0032h

+0.5°C

0000 0000

0000 0001

0001h


0°C

0000 0000

0000 0000

0000h

-0.5°C


1111 1111

1111 1111

FFFFh

-25°C

1111 1111

1100 1110

FFCEh

-55°C

1111 1111

1001 0010

FF92h

Більш висока роздільна здатність може бути отримана, якщо зробити додаткові обчислення на основі значень COUNT_REMAIN (значення, що залишилося в лічильнику в кінці вимірювання) і COUNT_PER_C (кількість імпульсів на один градус для даної температури), які доступні. Для обчислень потрібно взяти лічене значення температури і відкинути молодший біт. Отримане значення назвемо TEMP_READ. Тепер дійсне значення температури може бути обчислено за формулою:


TEMPERATURE=TEMP_READ-0.25+(COUNT_PER_C - COUNT_REMAIN)/COUNT_PER_C

У нашому випадку такий розрахунок дозволяє отримати дискретність подання температури 0.1 ° C.

Кожен екземпляр DS18S20 має унікальний 48-бітний номер, записаний за допомогою лазера в ПЗУ в процесі виробництва. Цей номер використовується для адресації пристроїв. Крім серійного номера в ПЗУ міститься код сімейства (для DS18S20 це 10h) і контрольна сума.

Крім ПЗУ DS18S20 має проміжну ОЗУ об'ємом 8 байт, плюс два байти енергонезалежної пам'яті. Карта пам'яті DS18S20 показана на малюнку:



Ріс. 3. Карта пам'яті DS18S20.

Байти ^ і TL являють собою температурні пороги, з якими порівнюються 8 біт кожного виміреного значення температури (молодший біт відкидається). За допомогою спеціальної команди можна організувати сигналізацію виходу температури за межі цих порогів. Якщо така функція не потрібна, байти ^ і TL можна використовувати для зберігання будь-яких даних користувача.

Зчитування значення виміреної температури, а також передача команди початку перетворення та інших команд проводиться за допомогою 1-проводового інтерфейсу (1-WireTM) фірми DALLAS. На основі цього інтерфейсу фірма DALLAS навіть створила мережу, звану microLAN (або LAN). Для роботи в цій мережі випускається цілий ряд пристроїв, таких як адресовані ключі, АЦП, термометри, годинники реального часу, цифрові потенціометри. До речі, такий же протокол обміну мають і цифрові ключі IButton (або Touch Memory), які зараз широко використовуються в системах обмеження доступу.

Протокол, який використовується 1-проводовим інтерфейсом, досить простий. У будь-який момент часу на 1-проводовій шині можна виділити пристрій-майстер, яким може бути мікропроцесор або комп'ютер, і підлеглий пристрій, в нашому випадку це мікросхема термометра. Оскільки у нас на шині присутні тільки майстер і всього один підлеглий пристрій, можна опустити все те, що пов'язано з адресацією пристроїв. У результаті потрібно знати лише протокол передачі байтів, які можуть бути командами або даними.

Спочатку розглянемо апаратну конфігурацію. 1-дротова шина є двонаправленою. На рис. 4 показано апаратну конфігурацію інтерфейсної частини DS18S20 і майстра шини. У кожного 1-дротового пристрою до шини підключено вхід приймача і вихід передавача з відкритим стоком. Відкритий стік дозволяє підключати до шини безліч пристроїв, забезпечуючи логіку «монтажне або». Генератор струму 5мкА забезпечує на вході 1-дротового пристрою низький логічний рівень, коли шина не підключена. Оскільки лінія тактового сигналу відсутня, обмін є синхронним. Це означає, що в процесі обміну потрібно досить точно витримувати необхідні тимчасові співвідношення.



Ріс. 4. Апаратна конфігурація інтерфейсної частини 1-дротових пристроїв.

1-дротова шина оперує з TTL-рівнями, тобто логічна одиниця представлена рівнем напруги близько 5V, а логічний нуль - напругою поблизу 0V. У вихідному стані на лінії присутній рівень логічної одиниці, який забезпечується підтягуючим резистором номіналом близько 5Ком.

Ініціатором обміну по 1-проводовій шині завжди виступає майстер. Всі пересилання починаються з процесу ініціалізації. Ініціалізація проводиться в наступній послідовності (рис. 5):



Ріс. 5. Ініціалізація обміну по 1-проводовій шині.

  • Майстер надсилає імпульс скидання (reset pulse) - сигнал низького рівня тривалістю не менше 480 мкс.
  • За імпульсом скидання слідує відповідь підлеглого пристрою (presence pulse) - сигнал низького рівня тривалістю 60 - 240 мкс, який генерується через 15 - 60 мкс після завершення імпульсу скидання.

Відповідь підлеглого пристрою дає майстру зрозуміти, що на шині присутній термометр і він готовий до обміну. Після того, як майстер виявив відповідь, він може передати термометру одну з команд. Передача ведеться шляхом формування майстром спеціальних тимчасових інтервалів (time slots). Кожен часовий інтервал служить для передачі одного біта. Першим передається молодший біт. Інтервал починається імпульсом низького рівня, тривалість якого лежить в межах 1 - 15 мкс. Оскільки перехід з одиниці в нуль менш чутливий до ємності шини (він формується відкритим транзистором, в той час як перехід з нуля в одиницю формується підтягуючим резистором), саме цей перехід використовують 1-проводові пристрої для синхронізації з майстром. У підпорядкованому пристрої запускається схема тимчасової затримки, яка визначає момент зчитування даних. Номінальне значення затримки дорівнює 30 мкс, однак, воно може коливатися в межах 15 - 60 мкс. За імпульсом низького рівня йде біт, що передається. Він повинен утримуватися майстром на шині протягом 60 - 120 мкс від початку інтервалу. Часовий інтервал завершується переведенням шини в стан високого рівня на час не менше 1 мкс. Потрібно зазначити, що обмеження на цей час зверху не накладається. Аналогічним чином формуються тимчасові інтервали для всіх бітів, що передаються (рис. 6):



Ріс. 6. Передачу біта по 1-проводовій шині.

Першою командою, яку повинен передати майстер для DS18S20 після ініціалізації, є одна з команд функцій ПЗУ. Всього DS18S20 має 5 команд функцій ПЗУ:

  • Read ROM [33h]. За допомогою цієї команди ви можете прочитати вміст ПЗУ. У відповідь на цю команду DS18S20 передає 8-бітний код сімейства (10h), потім 48-бітний серійний номер, а потім 8-бітну CRC для перевірки правильності прийнятої інформації.
  • Match ROM [55h]. Ця команда дозволяє адресувати на шині конкретний термометр. Після цієї команди майстер повинен передати потрібний 64-бітний код, і тільки той термометр, який має такий код, буде «відгукуватися» до наступного імпульсу скидання.
  • Skip ROM [CCh]. Ця команда дозволяє пропустити процедуру порівняння серійного номера і тим самим заощадити час в системах, де на шині є всього один пристрій.
  • Search ROM [F0h]. Ця досить складна команда дозволяє визначити серійні номери всіх термометрів, присутніх на шині.
  • Alarm Search [ECh]. Ця команда аналогічна попередній, але «відгукуватися» будуть тільки ті термометри, у яких результат останнього виміру температури виходить за попередньо встановлені межі ^ і TL.

Оскільки у нас всього один пристрій, найбільш підходящою для нас функцією є функція Skip ROM. Крім неї ще може бути корисною функція Read ROM, яка дозволяє ідентифікувати підключений на шину пристрій за його кодом сімейства і серійним номером.

Прийнявши команду Read ROM, DS18S20 буде готовий передати 64-бітний код, який майстер повинен прийняти.

При прийомі даних від підлеглого пристрою тимчасові інтервали для прийнятих бітів теж формує майстер. Інтервал починається імпульсом низького рівня тривалістю 1 - 15 мкс. Потім майстер повинен звільнити шину, щоб дати можливість термометру вивести біт даних. По переходу з одиниці в нуль DS18S20 виводить на шину біт даних і запускає схему тимчасової затримки, яка визначає, як довго біт даних буде присутній на шині. Цей час лежить у межах 15 - 60 мкс. Для того щоб дані на шині, яка завжди володіє деякою ємністю, гарантовано встановилися, потрібен деякий час. Тому момент зчитування даних майстром повинен відстояти якомога далі, але не більш ніж на 15 мкс від початку тимчасового інтервалу (Рис 7):



Ріс. 7. Читання біта по 1-проводовій шині.

Прийом байту починається з молодшого біта. Спочатку йде байт коду сімейства. За кодом сімейства йде 6 байт серійного номера, починаючи з молодшого. Потім йде байт контрольної суми (CRC). У обчисленні байту контрольної суми беруть участь перші 7 байт, або 56 біт, що передаються. Для обчислення використовується наступний поліном:


CRC = X8+X5+X4+1

Після прийому даних майстер повинен обчислити контрольну суму і порівняти отримане значення з переданою CRC. Якщо ці значення збігаються, значить, прийом даних пройшов без помилок. Можна також обчислити контрольну суму для всіх 64 прийнятих біт, яка в цьому випадку повинна бути дорівнювати нулю. Блок-схема алгоритму обчислення контрольної суми показана на рис. 8. Алгоритм використовує операції зсуву і «виключного або». Квадратики показують біти змінної, яка використовується для обчислення CRC. Перед обчисленням її необхідно обнулити, а потім на вхід алгоритму потрібно послідовно подати 56 прийнятих біт в тому порядку, в якому вони були прийняті. У результаті змінна буде містити значення CRC.



Ріс. 8. Блок-схема алгоритму обчислення контрольної суми.

Такий же алгоритм обчислення контрольної суми використовується і в разі читання проміжного ОЗУ, тільки там лічена з термометра CRC (9-й байт) розрахована для 8-ми байтів даних.

Після обробки однієї з команд функцій ПЗУ, DS18S20 здатний сприймати ще кілька команд:

  • Write Scratchpad [4Eh]. Ця команда дозволяє записати дані в проміжну ОЗУ DS18S20.
  • Read Scratchpad [BEh]. Ця команда дозволяє рахувати дані з проміжної ОЗУ.
  • Copy Scratchpad [48h]. Ця команда копіює байти ^ і TL з проміжного ОЗУ в енергонезалежну пам'ять. Ця операція вимагає близько 10мс.
  • Convert T [44h]. Ця команда запускає процес перетворення температури.
  • Recall E2 [B8h]. Ця команда діє зворотним чином по відношенню до команди Copy Scratchpad, тобто вона дозволяє вважати байти ^ і TL з енергонезалежної пам'яті в проміжну ОЗУ. Якщо увімкнено, ця команда виконується автоматично.
  • Read Power Supply [B4h]. Ця команда дозволяє перевірити, чи використовує DS18S20 паразитне харчування. Справа в тому, що DS18S20 можна підключати всього за допомогою двох проводів, в цьому випадку для харчування використовується лінія даних. Особливості цього режиму ми тут розглядати не будемо.

При використанні DS18S20 тільки для вимірювання температури потрібні всього дві з цих команд: Convert T и Read Scratchpad.

Послідовність дій при вимірюванні температури повинна бути такою:

  • Надсилаємо імпульс скидання і приймаємо відповідь термометра.
  • Надсилаємо команду Skip ROM [CCh].
  • Надсилаємо команду Convert T [44h].
  • Формуємо затримку мінімум 750мс.
  • Надсилаємо імпульс скидання і приймаємо відповідь термометра.
  • Надсилаємо команду Skip ROM [CCh].
  • Надсилаємо команду Read Scratchpad [BEh].
  • Читаємо дані з проміжної ОЗП (8 байт) і CRC.
  • Перевіряємо CRC, і якщо дані вважаються вірними, обчислюємо температуру.

Для підключення DS18S20 до COM-порту комп'ютера використовується адаптер, схема якого наведена на рис. 9, де показано вікно допомоги програми.



Ріс. 9. Вікно програми зі схемою адаптера.

Схема цього адаптера не така проста, як, наприклад, схема адаптера DS9097 фірми Dallas. Це пов'язано в першу чергу з тим, що хотілося мати спільну «землю» комп'ютера і 1-проводової шини. Для живлення DS18S20 використовується лінія DTR послідовного порту. Адаптер забезпечує на вході RXD порту комп'ютера лише однополярні рівні, що, строго кажучи, не відповідає специфікації RS-232C. Однак більшість портів з такими рівнями працюють нормально. Замість зазначених на схемі n-канальних МОТ-транзисторів можна застосувати близькі за параметрами транзистори інших типів, наприклад, 2N7000. Підійдуть також вітчизняні транзистори KP501 або KP505. В принципі, можна застосувати і біполярні транзистори, додавши в бази обмежувальні резистори. Конструктивно адаптер виконаний в корпусі роз'єму D-SUB-25 (рис. 10):



Ріс. 10. Зовнішній вигляд адаптера.

Роз'єм паяється прямо на плату, яка входить між рядами контактів. Інша сторона плати виконана подовженою і виходить за межі корпусу роз'єму. У цю частину плати впаян 3-х контактний гвинтовий термінал (рис. 11):



Ріс. 11. Малюнок друкарської плати адаптера.

Можна зовсім обійтися без друкованої плати, а виконати монтаж адаптера навісним способом на контактах роз'єму.

До гвинтового терміналу підключається мікросхема термометра за допомогою дротів, довжина яких може становити до декількох метрів. Якщо датчик термометра використовується в кімнатних умовах, то ніяких заходів щодо його захисту застосовувати не потрібно, необхідно тільки заізолювати висновки. Якщо ж передбачається вимірювати температуру зовнішнього повітря або якихось агресивних середовищ, датчик термометра необхідно упакувати. Наприклад, можна взяти алюмінієвий корпус електролітичного конденсатора відповідного діаметра і помістити туди датчик, заповнивши весь вільний об'єм теплопровідною пастою. Зверху таку склянку необхідно загерметизувати.

Описаний адаптер також підходить для зчитування електронних ключів IButton і для підключення інших однопровідних пристроїв.

Програма ds1820.exe, що працює під Win95/98/ME/NT, дозволяє зчитувати і відображати показання термометра, а також зчитувати серійний номер і програмувати два користувальницьких байта. Ця програма крім термометра DS18S20 підтримує і його попередника DS1820.

Перегляд головного вікна програми показано на рис. 12:



Ріс. 12. Перегляд головного вікна програми.

Вікно має такі елементи керування:

  • Поле Device ID, куди виводиться код сімейства 1-проводового пристрою. Для DS1820 і DS18S20 він дорівнює 10h.
  • Поле Device Name, де наводиться розшифровка типу пристрою.
  • Поле Serial number, куди виводиться серійний номер, записаний у ПЗУ.
  • Поле CRC, де відображається результат перевірки контрольної суми (OK або FAIL).
  • Поле ^/User byte 1, куди ви можете ввести значення у шістнадцятковій формі, яке буде записано до регістру ^.
  • Поле TL/User byte 2, куди можна ввести значення у шістнадцятковій формі, яке буде записано до регістру TL.
  • Кнопка Start запускає процес вимірювання температури. Перетворення виконуються періодично, а вимірювана величина виводиться в поле температури. Дискретність уявлення становить 0.1 ° C, що досягається додатковими обчисленнями.
  • Кнопка Exit дозволяє вийти з програми.

Крім того, вгорі вікна є меню, що складається з трьох пунктів: Port, Utilites и Help.



Ріс. 13. Меню Port у розгорнутому вигляді.

Меню Port у розгорнутому вигляді показано на рис. 13. Це меню дозволяє відкрити один з чотирьох портів COM1 - COM4. Крім того, меню дозволяє закрити порт і вийти з програми. У списку активні тільки доступні порти (тобто ті, які фізично присутні і не зайняті в даний момент іншими додатками). Коли порт відкривається, перевіряється наявність на цьому порту адаптера (достатньо з'єднання TXD - RXD). Якщо адаптера не виявлено, виводиться відповідне повідомлення (рис. 14):



Ріс. 14. Повідомлення про помилку при відсутності адаптера.

Меню Help містить зображення принципової схеми адаптера і інформацію про розробника програми.

Для зберігання параметрів програма використовує ini-файл, який створюється автоматично в тому ж директорії, де розташований exe-файл. Ini-файл містить інформацію про положення вікна програми та номер порту COM:

[General]
Left=427
Top=295
COM port=2

Якщо в існуючому ini-файлі вказано номер COM-порту, який на момент запуску програми зайнятий або відсутній, виводиться спеціальне повідомлення (рис. 15):



Ріс. 15. Повідомлення про помилку при недоступності порту.

Меню Utilites (рис. 16) містить три пункти:

  • Read ROM - зчитування вмісту ПЗУ (код сімейства, серійний номер), а також зчитування ^ і TL.
  • Start Conv. - дублює кнопку Start основного вікна.
  • Write User Bytes - записує значення ^ і TL, які введені у відповідних полях.



Ріс. 16. Меню Utilites у розгорнутому вигляді.

Обмін, який проводиться по 1-проводовій шині, вимагає досить точного дотримання тимчасових співвідношень мікросекундного діапазону. Працюючи під Windows, точно сформувати такі інтервали програмним способом неможливо. Тому необхідні тимчасові інтервали формуються апаратно мікросхемою приймача послідовного порту, який використовується не зовсім зазвичай.

Для створення імпульсу скидання та прийому відповіді порт налаштовується на швидкість 9600 бод, довжина символу 8 біт, і передається число F0h. Це призводить до формування імпульсу скидання низького рівня (з урахуванням інверсії адаптера) тривалістю приблизно 520 мкс (стартовий біт + 4 біт, що передаються). За ним слідує імпульс високого рівня такої самої тривалості (4 біти + стоповий біт), протягом якого очікується відповідь термометра. Якщо термометр не з'єднано, порт прийме число F0h не спотвореним. Але якщо термометр сформував імпульс відповіді, то прийняте число буде містити більшу кількість одиниць, ніж чотири. Таким чином визначається наявність відповіді.

Для створення інтервалів прийому та передачі бітів порт налаштовується на швидкість 115200 бод. Стартовий біт починає часовий інтервал, потім йдуть 8 одиничних або нульових біт, залежно від значення біта, який потрібно передати. Закінчується послідовність стоповим битом, який на деякий час встановлює на 1-проводовій шині високий рівень. Вигляд цієї послідовності повністю відповідає необхідному виду часового інтервалу передачі біта, за винятком того, що обмін є повільнішим, ніж здатна забезпечити 1-дротова шина: на один біт витрачається приблизно 87 мкс.

Прийом з боку передавача послідовного порту нічим не відрізняється від передачі одиничного біта. Проаналізувавши прийнятий послідовним портом символ можна встановити, який біт передав термометр. У разі нульового біта один або кілька бітів прийнятого портом байту будуть поодинокими (з урахуванням інверсії адаптера).

Для роботи з COM-портом програма користується функціями API через спеціальну «оберточну» динамічну бібліотеку comapi32.dll. Однак швидкість обміну виходить набагато нижче розрахункової через те, що перемикання швидкості COM-порту (виклик функції SetCommState зі зміненим значенням поля BaudRate структури DCB) йде дивно довго (близько 200 мілісекунд!). Це дуже неприємна властивість API.

Програма DS1820.zip разом з вихідним текстом на Delphi 5 source20.zip поширюється безкоштовно.

При використанні термометра необхідно враховувати, що корпус DS18S20 зроблений з матеріалу з відносно поганою теплопровідністю. Тому витік тепла через висновки і підключені до них дроти може бути досить відчутним. Для зменшення помилки вимірювання слід використовувати дроти малого перерізу.

Крім вимірювання температури компонентів всередині корпусу комп'ютера, цей термометр можна використовувати і для інших цілей, наприклад, як кімнатний або як зовнішній термометр.

Додаткові матеріали

Порівняння кулерів для P4. Q4 `2002
Порівняння кулерів для роз "єму SocketA. Q4 `2002
Порівняння кулерів для P4. Q3 `2002
Порівняння кулерів для роз "єму SocketA. Q3 `2002
Порівняння кулерів для роз "єму SocketA. Q2 `2002
«» Майстер «» охолодження Badong
Енциклопедія процесорних кулерів
Тестуємо термопасти
Кулери з алюмінієвими вентиляторами. Titan проти Spire
Прогресивні технології охолодження процесорів
TMD вентилятор від Y.S. Tech
Тестуємо системні вентилятори
Огляд системного кулера Fanner PC Vent II
Тюнінг системи - знижуємо шуми в блоці живлення

Image

Publish modules to the "offcanvas" position.