Главная arrow Проекты arrow По группам arrow Микроконтроллеры arrow Индикатор интенсивности работы компьютера  
14.10.2024 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

Индикатор интенсивности работы компьютера Печать E-mail
Рейтинг: / 17
ХудшаяЛучшая 
Автор Trol   
18.08.2007 г.

Пришла как-то в голову мысль сделать светодиодный индикатор, который будет:

  • показывать интенсивность обращений к жесткому диску;
  • показывать интенсивность работы сетевой карты;
  • показывать интенсивность еще чего-нибудь (например, уровень загрузки процессора, его температуру, скорость вращения вентилятора или интенсивность работы 2й сетевой карты, если она появится в будущем).

А пришла она после того, как в компьютере начали разом «стучать» оба жестких диска, причиной чего, как выяснилось, послужил блок питания. В итоге, был приобретен новый БП помощнее, а старый АТХ-овый БП поставлен в другую машину, вместо имевшегося в ней AT-шного БП. Корпус у этого компьютера был еще эпохи 486-х и имел помимо кнопки «Reset» кнопку «Turbo» (которая когда-то позволяла понижать тактовую частоту процессора) и выключатель питания. В итоге, «Turbo» была «переквалифицирована» в включатель питания ATX, а на месте старого выключателя образовалась унылая дыра, которая прямо-таки просила, чтобы ее чем-то заделали. Вот, собственно, для затыкания этой дыры и задумывалcя индикатор.

 

Принципиальная схема получившегося устройства приведена на рис.1. и выполнена на основе микроконтроллера AT89C2051 подключенный по типовой схеме.

Принципиальная схема
Рис. 1. Принципиальная схема
 

Индикатор подключается к блоку питания ПК через разъемы Х1-Х2. Вход HDD.IN подключается к одному из выводов светодиода, светящегося во время работы жесткого диска. В момент зажигания светодиода на этом выводе напряжение понижается, что приводит к открытию транзистора VT1. Вход HDD.IN управляет первой линейкой светодиодов - LED1-LED8. Вторая линейка светодиодов (LED9-LED16) управляется со входа RESERVE.IN и была зарезервирована для дальнейшего использования. Третья линейка индикатора (LED17-LED24) отображает активность сетевой карты. Вход NET.IN подключен непосредственно к одной ножке светодиода «Link», расположенного на сетевой карте. В моменты сетевой активности этот светодиод гаснет, и напряжение на интересующем нас выводе уменьшается с ~2В до ~0В, закрывая транзистор VT2 и зажигая светодиод LED25, выведенный на переднюю панель и горящий в моменты активности сетевой карты (т.е. когда светодиод «Link» на самой сетевухе гаснет).

Экспериментирование с подключением к светодиоду показало следующее: в момент включения ПК на светодиод подается напряжение ~5В и удерживается в течении примерно секунды, после чего уменьшается до ~2В. При этом, если этот вывод подключить к точке NET.IN, без резисторов R3, R4, то сетевая карта не будет правильно инициализирована: сетевое подключение будет определено как 10 мегабитное (вместо 100 мегабитного) , при этом, сеть работать отказывается. Это было проверено для карты Compex Ready Link RE100ATX/WOL, и применимость к другим картам остается под вопросом.

Резисторы R3 и R4, подключенные ко выходу P3.3 микроконтроллера, служат для того, чтобы в момент включения схемы (т.е. и самого компьютера) установить на входе NET.IN высокий уровень для корректной инициализации сетевого адаптера. Для этого в течении секунды после запуска микроконтроллер удерживает на выходе P3.3 высокий уровень, сменяя его затем низким на все время работы индикатора.

Индикатор в работе
Рис.2
Управляющая программа написана на ассемблере под компилятор ASEM51. Исходники программы и скомпилированный код можно скачать в файловом архиве. В файле 8051.mcu описываются константы портов микроконтроллера, файл macroses.mcu содержит описания нескольких макросов для работы с 2х-байтовыми переменными (инкремент, декремент, сложение, вычитание и сравнение). Сам код программы находится в файле indicator.a51. Программа в таймере опрашивает состояния входов устройства и в зависимости от него увеличивает/уменьшает счетчики активности. Так же вычисляется, как долго находится входы в одном и том же состоянии. В зависимости от этого подпрограммы calc_hdd_level, calc_net_level и calc_reserve_level вызываются для пересчета показаний счетчика в величину уровня (т.е., число горящих светодиодов). Когда при включении/перезагрузки ПК светодиод HDD горит непрерывно, управляющая программа определяет это и сбрасывает счетчик HDD-активности, предотвращая ложные показания индикатора.
Фотография системного блока с индикатором показана на рис.2.

 


Добавить в любимые (0) | Просмотров: 61928

  Коментарии (1)
 1 Написал(а) Igor, в 20:10 16.03.2008
сигнал загруженности можно взять с каждого винта отдельно, на старых винтах даже есть площадки на платах контроллёров под распайку светодиода этого, на очень старых светодиод ваще на плате распаян. 
На новых можно найти в инете даташиты на микросхемы и определить какая ножка показывает загрузку блока шинного формирователя :)

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.

 
« Пред.   След. »
Полезные материалы по сходным темам
BannerFans.com