Наши партнеры ArtmMisto
П. Височанський, м Рибниця, Придністров'я, Молдова
У сучасних комп'ютерах є, як правило, вбудований-ні засоби стеження за температурою процесора і інших відповідальних вузлів. Це запобігає їх перегрівання і тим самим вихід з ладу в разі перевантаження або будь-яких несправностей. На жаль, в більшості комп'ютерних блоків живлення подібний захист відсутній, що може привести до псування не тільки окремих компонентів, але і всього комп'ютера. Пропоноване пристрій і програма сигналізують про перевищення допустимої температури блоку живлення, а при необхідності і автоматично вимикають комп'ютер.
Причиною перевищення допустимої температури блоку живлення комп'ютера може стати перевантаження при виконанні ресурсоємних додатків, наприклад, сучасних 3D ігор. Але частіше це відбувається через різного роду несправностей, скажімо, зупинки охолоджувального блоку живлення вентилятора. Вчасно виявити це вдається далеко не завжди. Тому важливим є контроль температури з автоматичним повідомленням користувача про перевищення допустимого значення.
Для вимірювання температури всередині блоку живлення було розроблено пристрій, схема якого показана на рис. 1. Оскільки датчик температури ВК1 не можна безпосередньо підключити до шини USB, мікроконтролер DD1 служить "посередником" між ним і шиною. Діоди VD1 і VD2 призначені для зниження напруги 5 В, що надходить з лінії Vbus, приблизно до 3,6 В, що потрібно для узгодження рівнів напруги на висновках мікроконтролера і на сигнальних лініях USB.
Через резистор R2 на лінію D- надходить напруга, що сигналізує комп'ютера, що до нього підключено так зване низькошвидкісне USB-уст-ройство. Резистори R5 і R6 пригнічують "дзвін" на перепадах імпульсних сигналів.
До лінії РВО мікроконтролера підключений цифровий датчик температури DS18B20 (ВК1), здатний вимірювати температуру в інтервалі від -50 до +125 ° С з абсолютною похибкою ± 0,5 ° С. Датчик необхідно закріпити на одному з теплоотво-дів в блоці живлення комп'ютера.
Програма мікроконтролера DD1 написана на мові BASIC в середовищі програмування BASCOM AVR (демонстраційна версія знаходиться за адресою php?option=com_docman&task=doc_download&gid=139<emid=54> http://www.mcselec.com/ index.php? option = com_ docman & task = doc_download & gid = 139 & ltemid = 54 ). У програмі використаний USB-драйвер "Virtual USB-port" ( php?option=com_docman&task=doc_download&gid=231<emid=54> http://www.mcselec.com/index.php?option=com_ docman & task = doc_download & gid = 231 & ltemid = 54 ).
Завантаження програми в мікроконтролер проводилася за допомогою утиліти AvrProg, що входить до складу середовища розробки AVR Studio. Конфігурація мікроконтролера повинна відповідати показаної на рис. 2.
При підключенні блоку контролю температури до одного з роз'ємів USB комп'ютера операційна система останнього пізнає його як НID-пристрій з ім'ям "PC_TermoControl" і встановить для нього один із стандартних драйверів.
Розроблена і запропонована увазі читачів програма PC_TermoControl.exe не тільки відображає на моніторі комп'ютера поточне значення контрольованої температури, але і повідомляє користувача про перевищення нею встановленого порога, а при необхідності самостійно вимикає комп'ютер. Вона створена в середовищі PureBasic версії 4.41 з використанням розробленої мною бібліотеки функцій "НЮ Lib", що забезпечує взаємодію з USB HID-пристроїв і.
Після запуску програма додає свій значок на панель задач Windows. Для настройки потрібно натиснути правою кнопкою миші по цьому значку і вибрати в меню пункт "Налаштування".
Відкриється вікно, показане на рис. 3. В поле "Поточна температура" завжди відображається останнє виміряне датчиком значення температури. Цю ж інформацію можна отримати, навівши курсор миші на значок програми на панелі завдань.
Програма буде автоматично запускатися при старті операційної системи, якщо відзначений пункт "Додати програму в автозавантаження". Коли відзначений пункт "Спливаючі повідомлення над треєм", програма в вікнах, спливаючих над панеллю задач, повідомляє про такі події, як підключення або відключення пристрою, перевищення заданої температури.
Щоб програма стежила за перевищенням допустимого порогу температури, слід поставити галочку навпроти пункту "Включити стеження за температурою", інакше вона буде працювати як звичайний термометр, що вимірює поточну температуру. В останньому випадку в меню програми можна дозволити постійну присутність на екрані напівпрозорого плаваючого вікна з поточним значенням температури. В поле "Максимально допустима температура" повинен бути вказаний допустиму межу
температури, після перевищення якого програма виконає дії, зазначені в області "Виконати при перевищенні температури". Наприклад, можна включити повідомлення користувача про аварійну ситуацію звуковим сигналом або появою на екрані вікна, приблизний вигляд якого показаний на рис. 4.
Опція "Вимкнути комп'ютер" може бути корисна, якщо включений комп'ютер часто залишається без нагляду. Комп'ютер буде вимкнено через 10 секунд після встановлення факту перевищення температури. Це час можна збільшити до хвилини, зазначивши відповідний пункт. Автоматичне виключення комп'ютера дозволить запобігти можливі наслідки такої несправності, як зупинка вентилятора в блоці живлення. Адже в черговому режимі примусове охолодження не потрібно
Якщо контроль температури дозволений і вона перевищує заданий поріг, програма переходить в аварійний режим роботи. Виконуються всі дозволені в області "Виконати при пре-
підвищенні температури "(див. рис. 3) дії.
Подвійне клацання лівою кнопкою миші по значку на панелі задач або закривання вікна з попередженням (рис. 4) вимкне захист, виведе повідомлення, показане на рис. 5, і переведе програму в режим відображення поточної температури, навіть якщо вона перевищує допустиму. Захист буде знову включена лише після зниження температури нижче порога або після перезапуску програми.
Передбачено ще один рівень захисту - виключення комп'ютера при температурі 120 ° С. Це значення жорстко задано в програмі. Якщо воно перевищено, відкриється вікно з повідомленням, пролунає безперервний звуковий сигнал і через 10 з комп'ютер буде вимкнений. Цей захист не можна відключити. Запобігти вимикання комп'ютера можна негайним зняттям позначки з пункту "Включити стеження за температурою" у вікні налаштувань програми PC_TermoControl або повним завершенням роботи цієї програми.
При необхідності в програми (як для мікроконтролера, так і комп'ютерну) можна внести зміни, надавши їм нових властивостей. Однак отредактірован-
ні вихідні тексти програм доведеться компілювати заново.
Для безпомилкової компіляції комп'ютерної програми потрібно спочатку встановити бібліотеку "HID Lib", розпакувати вміст архіву HID_Lib_4.41.rar в папку зі встановленою середовищем PureBasic версії 4.40 або 4.41. При цьому файли з папок архіву повинні бути додані в однойменні папки PureBasic.
Компіляція програми мікроконтролера виконувалася в системі розробки програм BASCOM AVR версії 1.11.9.5. Попередньо файл swusb.LBX (бібліотека драйвера USB) був поміщений в папку LIB пакета BASCOM AVR.
Від редакції. Виконувані і завантажувальні файли, а також вихідні тексти програми мікроконтролера і комп'ютерної програми PCJTermoControl знаходяться на нашому FTP-сервері за адресою ftp://ftp.radio.ru/pub/2011/03/tguard.zip>
Від автора:У схемі пристрою є помилка. Правий висновок резистора R5, повинен бути з'єднаний ні з висновком 5 мікроконтролера, а з висновком 3, тоді пристрій визначається комп'ютером і нормально працює. Якщо з якої-небудь причини не бажана модифікація схеми (скажімо, не хочеться різати друковані провідники на платі і ставити перемички), то можна завантажити до мікроконтролер альтернативну версію прошивки .
додав: php?id=Admin> Павло (Admin)Автор: П. Височанський (Радіо №3, 2011 рік)
Вас може зацікавити:
- БП для трансивера з комп'ютерного джерела живлення AT / ATX
- Робимо кермо і педалі до комп'ютера
- Регулятор швидкості вентилятора (Варіант 1)
- Сам собі монтер (Інструкція по монтажу локальних мереж)
- ІК-порт для комп'ютера (для підключення до материнки) - 2 варіант
Php?