Индикаторы загрузки своими руками

ИНДИКАТОР ЗАГРУЗКИ ПК И SSD

USB монитор загрузки компьютера — это устройство на базе PIC18F2550, которое показывает производительность вашего компьютера с помощью двух аналоговых стрелочных измерителей и индикатора RGB LED. Конструкция основана на стандартном VU-метре, который управляется с помощью ШИМ от микроконтроллера.

Вместо одноцветного мигающего светодиода (как в типовом ПК) в этом проекте используется RGB-светодиод, интенсивность которого изменяется в зависимости от уровня использования загрузки процессора, а цвет — от чтения / записи HDD. Также была добавлена кнопка, позволяющая быстро включать и отключать устройство без необходимости делать это мышкой на экране.

Управляющая программа для PIC18F2550 написана на языке Hi-Tech C, а программное обеспечение хоста Windows на C # с использованием Open Source Framework для устройств USB Generic HID на основе PIC18F и Windows.

Аппаратная часть

Аппаратное обеспечение основано на микроконтроллере PIC18F2550, который имеет встроенный USB. Минимальное количество компонентов использовалось для подключения устройства к порту USB, а также к коммутатору, стрелочным индикаторам и LED RGB. Общая принципиальная схема приведена далее.

Два потенциометра включены в конструкцию, чтобы провести быструю калибровку мощности полного отклонения, требуемой VU-метром (поскольку это может меняться на разных стрелочниках). Резисторы RGB LED были выбраны в соответствии с техническими данными светодиодов, чтобы обеспечить максимальную яркость, так как будем контролировать выход с помощью ШИМ. МК PIC работает на частоте 20 МГц, что позволяет использовать полную частоту ФАПЧ 48 МГц (это полезно, поскольку плавное ШИМ-управление светодиодом требует максимально возможной скорости процессора).

Плата печатная монитора загрузки

Чтобы разместить устройство на минимально возможном пространстве, разработана односторонняя печатная плата. Тем не менее, конструкция достаточно проста для того, чтоб ее можно было легко собрать на макетке, если у вас нет возможности для травления печатных плат. Вот изображение печатной платы.

Обратите внимание, что разъем USB направлен вниз, это позволяет подключить соединение внутри корпуса, позволяя проложить кабель по задней панели устройства. Возможно заменить кабель USB, если требуется, на более длинный или короткий, либо вообще напрямую припаять кабель к печатной плате.

Все подключенные устройства соединяются с использованием разъемов в стиле Molex, что позволяет легко собирать и разбирать индикатор. Вот готовая печатная плата с деталями и со всеми подключенными периферийными компонентами.

Светодиод RGB тут с прозрачными линзами, это означает что смешение цветов трудно увидеть крупным планом, чтоб поправить это можете рассеять свет линзы, отполировав ее до молочно-белой. Например протерев её тонкой наждачной бумагой.

Чтобы изменить шкалу VU-метра, снимите пластиковую крышку с передней части и используйте острый нож, чтобы срезать существующую.

После удаления наклейки отсканируйте изображение в Фотошопе и проведите замену логарифмической линейной процентной шкалой.

Получив желаемый дизайн, распечатайте его на толстой глянцевой фотобумаге, а затем вырежьте по своим размерам. Затем новую шкалу снова приклейте к измерителю (с использованием полоски двухстороннего скотча) и снова соберите индикатор, используя клей.

Прошивка контроллера

Управляющая программа контролирует положение двух индикаторов с помощью двух встроенных модулей генератора ШИМ, включенных в PIC18F2550. Это обеспечивает точную ШИМ с 10-битным разрешением без нагрузки на сам процессор. Программа принимает процент от 0 до 100 и устанавливает соответствующий рабочий цикл для перемещения стрелок.

Единственная проблема здесь заключается в том, что измерители VU являются в основном логарифмическими (посмотрите на расстояния на исходной маркировочной панели, вы увидите, что разметка дБ не ровная, с правой стороны измерителя наблюдается гораздо большее деление на дБ). Это означает, что при рабочем цикле 50% стрелка будет указывать чуть вправо, а не прямо, как здесь нужно.

Для перевода из линейной шкалы в логарифмическую требуется немного работы и математики. Сначала настроим устройство и подключим мультиметр к выходу ШИМ от PIC, чтобы измерить эффективный выход в мВ. По мере увеличения рабочего цикла измерим выходную мощность в мВ, чтобы получить 25%, 50%, 75% и 100% по новой шкале. Это позволяет построить график, показывающий взаимосвязь между входным напряжением и отображаемым процентом:

Читайте также:  Как сделать баскетбольную корзину своими руками

Как видите на рисунке, когда была получена аппроксимация кривой логарифмического выхода, использовалась функция линии тренда в Excel, чтобы вычислить аппроксимацию полинома для кривой. Затем этот расчет был скопирован в программу, что позволило МК рассчитать правильную базу рабочих циклов ШИМ на желаемом процентном соотношении.

Для светодиода RGB устройству потребовалось еще 3 канала ШИМ, поскольку VU-метр использует 2 встроенных генератора ШИМ. Цикл широтно-импульсной модуляции светодиодных цветов составляет 60 Гц и дает 128 уровней яркости.

Чтобы получить правильное смешение цветов на LED индикаторе, важно учитывать относительные уровни яркости цветов, так как светодиод RGB не выдает одинаковую яркость для разных цветов. Это приведет к плохо согласованным уровням, когда попытаемся получить определенные комбинации RGB.

Чтобы обойти эту проблему, установил фототранзистор на макетке, подключенный к мультиметру. Фототранзистор выдает переменное напряжение в зависимости от количества света, которое он получает — как простейший экспонометр. Связав светодиод RGB и фототранзистор вместе с помощью черной изоленты, получилось установить ШИМ каждого цвета на разных уровнях. Выходное напряжение фототранзистора для каждого цвета и уровня было затем нанесено на график с использованием Excel. На графике видно что красный — самый яркий цвет, затем синий, а затем зеленый:

Опять же, используя функцию линии тренда в Excel, построите линейную линию и получите расчет, необходимый для аппроксимации яркости светодиода при известной входной мощности. Используя зеленый светодиод в качестве эталона (так как это самая низкая яркость), можете рассчитать остальные.

Выход каждого цвета измеряется с помощью фототранзистора, подключенного к источнику питания 5 В и мультиметра. К светодиоду применяется 256-шаговое разрешение ШИМ, а яркость выводится от 0 до 255 с шагом 32 уровня. Выходное напряжение красного, зеленого и синего измеряется отдельно. Все три цвета показывают линейный вывод.

Исходя из результатов, от 0 до 255 показаны линейные линии тренда, показывающие прогнозируемый уровень освещенности на всех выходных мощностях. Цвет с наименьшей максимальной интенсивностью (зеленый) используется с 0, представляющим выкл, и 255, представляющим максимальную яркость. Два других цвета масштабируются в соответствии с множителем линии тренда:

Красный = 0,0071 * х

Синий = 0,0064 * х

Где х — это шаг ШИМ. Затем надо должны масштабировать результат в соответствии с диапазоном цвета самой низкой интенсивности (зеленого), то есть для красного цвета, если x = 187:

Масштабная интенсивность = (255 / 1,1985) * (0,0047 * x)

Где 1,1985 — максимальная яркость зеленого светодиода, а 255 — количество шагов в шкале.

Затем, чтобы получить требуемый выход ШИМ (x) из масштабированной интенсивности (y), просто решаем уравнение и упрощаем:

х = 47 * у / 71

Таким образом, если яркость по отношению к зеленому равна 255, фактический выход ШИМ для красного должен быть 168,8.

Синий рассчитывается точно так же:

х = 47 * у / 64

Чтобы настроить шкалу, просто меняем последний номер (71 или 64). Если вы увеличиваете число, выходная линия тренда становится более плоской (меньше светоотдачи), а если уменьшаете — линия тренда становится круче (больше светоотдачи). Это можно использовать для настройки на ваш индивидуальный светодиод.

Программное обеспечение индикатора

Программа для Windows написана на C # и позволяет настроить USB-устройство для отображения нескольких индикаторов производительности. Вы можете контролировать следующие элементы:

  1. Загрузка процессора (всего или на ядро)
  2. Использование жесткого диска (всего или на физический диск)
  3. Использование памяти
  4. Использование сети (на карту / устройство)
Читайте также:  Как покрасить мтз своими руками

Вот скриншот приложения в действии:

Кроме того, мониторинг сети позволяет сменить полосу пропускания по умолчанию (которая была бы 1000 Мбит / с для высокоскоростной карты Ethernet) и установить ее на более низкий уровень. У меня обычно это значение 15 Мбит / с, что является максимальной пропускной способностью моего широкополосного соединения.

Вы также можете настроить индикатор загрузки жесткого диска, чтобы установить цвет который должен отображаться если диск пишет, читает или обе операции сразу. Есть возможность изменять интенсивность отображаемого цвета в зависимости от использования HDD, то есть при интенсивном использовании винчестера светодиод становится ярче.

Приложение также поддерживает отображение статуса индикатора жесткого диска на панели задач. Это полезно если вы хотите чтобы и USB-устройство, и рабочий стол показывали, что происходит с жесткими дисками.

Программа также позволяет установить функцию аппаратной кнопки на устройстве. Вы можете использовать это дело чтобы отключить стрелочники, светодиод или оба сразу. Существует дополнительная опция «отключить USB», которая заставляет PIC контроллер вообще отключить порт USB. Файлы скачать можно тут

Источник

Индикатор загрузки процессора и винчестера своими руками

Индикаторы загрузки, о которых пойдет речь, являются не только улучшением внешнего вида, но и несут чисто практическую пользу.

Эта статья состоит из двух независимых частей: индикатор загрузки процессора и винчестера.

Индикатор загрузки винчестера

Перед началом создания индикатора я решил поискать наиболее оптимальную схему. Пролистав ряд сайтов, я обнаружил относительно небольшое разнообразие схем. Один из самых главных критериев – получить качественный мод за сравнительно малые деньги. В большинстве схем применяются микросхемы LM3914, которые не так уж дешевы. Поэтому я стал искать микросхему индикатора уровня с выводом на 5-8 светодиодов. Выбор пал на AN6884 по причине своей малой цены и широкой доступности. Эта микросхема имеет на выходе пять светодиодов, и пропускает через каждый ток 7mA.

Для считывания сигнала используется два провода идущих с материнской платы, к которым подключается светодиод индикации винчестера расположенный на передней панели. Вместо светодиода к ним подключается вход оптрона (см схему). Даже если перепутать полярность ничего не сгорит. Оптрон на схеме необходим для электрической развязки цепей материнской платы и индикатора (это в первую очередь нужно для защиты мат. платы).

При нулевой загрузке – фототранзистор внутри оптрона заперт – при этом С6 разряжается через R11. При повышении загрузки винчестера — фототранзистор открыт, и через него начинает заряжаться С6. Напряжение на С6 изменяется пропорционально уровню загрузки. В зависимости от емкости С6 изменяется скорость изменения уровня загрузки.

Напряжение с С6 снимается через делитель R12, R14. Подстроечный резистор R14 используется для изменения чувствительности индикатора.

Светодиоды можно устанавливать любые и на свое усмотрение. У себя я установил для трех меньших уровней – зеленые, а для двух больших — красные.

Схема индикатора винчестера

Настройка индикатора сводится к установке его чувствительности при помощи R14.

Индикатор загрузки процессора

Когда индикатор винчестера был уже сделан, я стал подумывать об индикаторе чего-то еще. Выбор пал на индикатор загрузки процессора.

В процессе поисков было найдено два варианта – через LPT и через COM.

Я выбрал COM порт только потому, что он не был задействован, в отличие от LPT. В процессе поисков нашел статью Clear66, в которой он рассказывал о подключении автомобильного тахометра к COM порту. Эта идея мне понравилась больше всего тем, что не нужно делать специальные схемы преобразования цифровых значений в аналоговый сигнал. Для управления используется программа PCTach (ссылка на скачивание — в конце статьи).

Читайте также:  Банановые чипсы своими руками

Но так как под рукой в тот момент не оказалось хоть какого-то тахометра пришлось делать самодельный вариант фабричного. После сборки и настройки индикатор загрузки процессора стал показывать более-менее точно.

Но мне не нравилась повышенная скорость отображения уровня загрузки, что выражалось излишним дерганьем стрелки индикатора при неравномерной загрузке процессора. Но это исправилось добавлением дополнительного конденсатора параллельно микроамперметру.

Вид стрелочного индикатора меня мало устраивал, и я решил искать ему альтернативу. В конечном итоге индикатор стал светодиодным, причем не шкала из светодиодов, а два направленные навстречу друг другу светодиоды разного цвета свечения. Отображение величины уровня загрузки производится за счет плавного изменения яркости светодиодов.

Для изготовления индикатора я использовал оргстекло 4-5мм и два светодиода: красного и синего цвета свечения. Из оргстекла вырезается полоска размерами 150мм на 15мм. После этого по краям полоски вырезаются места под светодиоды. Торцы и одну сторону полоски нужно зашкурить нулевой наждачной бумагой до равномерного матового состояния. Это нужно для равномерного рассеивания света. К обратной стороне (которая не обработана наждачной бумагой) и по бокам полоски приклеивается полоска из фольги для отражения лучей светодиодов. Когда полоска готова – приклеиваются светодиоды.

Расположение светодиодов в полоске оргстекла

Когда светодиоды уже приклеены – по концам полоски приклеивается изолента или самоклеющаяся пленка. Это нужно для того, чтобы светодиоды светили только в нужной части полоски.

Синий сверху символизирует холод, т.е. низкую загрузку процессора. Красный снизу символизирует нагрев, т.е. большую загрузку. Загрузка процессора пропорциональна переходу цветов между собой. Провода, идущие к плате, и резистор 68-100 Ом фиксируется с одного края полоски при помощи термоклея.

Для плавного изменения яркости светодиодов используется схема формирования ШИМ сигнала. При таком способе управления яркость светодиодов изменяется от отношения времени свечения и времени, когда он не горит. Такой способ лучше управления напряжением тем, что яркость светодиодов изменяется пропорционально напряжению.

Схема состоит из следующих блоков:

формирователь напряжения на DA1.1

генератор пилообразного сигнала на DA2

блок сравнения напряжений на DA1.2 DA1.3

Резисторный делитель R4,R3 устанавливает напряжение равное 1,2 вольт, которое приблизительно равно минимальному напряжению пилообразных импульсов DA2. Импульсы снимаются с третьего вывода COM порта компьютера. При высоком входном уровне конденсатор C1 заряжается через резистор R1 и диод D1. При низком входном уровне конденсатор C1 разряжается через R2. На C1 формируется напряжение пропорциональное уровню загрузки процессор. Так как амплитуда этого напряжения меньше амплитуды пилообразных импульсов DA2 в схеме присутствует усилитель на DA1.1. Регулировка максимального уровня индикатора производится путем изменения коэффициента усиления при помощи R6. Цепочка R7,C3 окончательно сглаживает пульсации напряжения с выхода усилителя. ШИМ формируется посредством сравнения измеряемого напряжения и пилообразных импульсов.

DA1.2 формирует прямой, а DA1.3 инвертированный сигнал ШИМ. Эти два сигнала далее поступают на светодиоды, предварительно усиленные ключами на транзисторах T3,T4.

Схема индикатора процессора

Так как оба индикатора расположены на передней панели — плату я делал для них общую. С одного края платы расположены две дорожки в виде полосок. К этим полоскам припаиваются две гайки М3. Впереди в каркасе корпуса просверливается два отверстия 3мм так, чтобы они соответствовали расстоянию между центрами гаек на плате. Далее в эти гайки на плате закручивается два винта М3, которые проходят через отверстия в каркасе.

Индикатор загрузки процессора с различными уровнями загрузки:

Источник

Оцените статью