Оглавление:
- Шаг 1: Подготовка схем
- Шаг 2: Создание чертежа печатной платы
- Шаг 3: пайка
- Шаг 4: Подготовка к тестированию
- Шаг 5: Тестирование (средняя температура процессора)
- Шаг 6: Тестирование (ЦП требуется уровень охлаждения)
- Шаг 7.Питание цепи ИНДИКАТОРА
- Шаг 8: Подключение RPI
- Шаг 9: Программа Python
- Шаг 10: Работа ИНДИКАТОРА
- Шаг 11: Создание альтернативы (с использованием транзистора NPN) и дальнейшее развитие
Видео: Индикатор температуры процессора Raspberry Pi: 11 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
Ранее я представил простую схему индикатора рабочего состояния raspberry pi (далее - RPI).
На этот раз я объясню еще одну полезную схему индикатора для работы RPI без монитора (без монитора).
Схема выше показывает температуру процессора на 4 различных уровнях, таких как:
- Зеленый светодиод загорается, когда температура процессора находится в пределах 30 ~ 39 градусов
- Желтый светодиод указывает на повышение температуры в диапазоне от 40 до 45 градусов.
- 3-й красный светодиод показывает, что процессор немного нагрелся, достигнув 46 ~ 49 градусов
- Еще один красный светодиод будет мигать, когда температура превышает 50 градусов
Вышеуказанные диапазоны температур процессора являются моей личной концепцией дизайна (другие диапазоны температур можно настроить, изменив условия тестирования программы Python, которая управляет этой схемой).
Используя эту схему, вы не обязательно часто выполняете команду «vcgencmd measure_temp» на консольном терминале.
Эта схема должна постоянно и удобно информировать текущую температуру процессора.
Шаг 1: Подготовка схем
Хотя вы можете управлять 4 светодиодами напрямую, используя только коды Python, логика управления программой будет загружать RPI и, как следствие, температура процессора будет увеличиваться еще больше, потому что вы должны постоянно запускать немного сложный код Python.
Поэтому я минимизирую сложность кода Python настолько просто, насколько это возможно, и перекладываю логику управления светодиодами на внешнюю аппаратную схему.
Схема индикатора температуры процессора (далее ИНИКАТОР) состоит из следующих основных частей.
- Два оптопары подключены к контактам RPI GPIO для получения данных об уровне температуры, таких как 00-> LOW, 01-> Medium, 10-> High, 11-> Требуется охлаждение.
- 74LS139 (или 74HC139, декодер и демультиплексор от 2 до 4) управляющие выходы (Y0, Y1, Y2, Y3) в соответствии с входами (A, B)
- Когда температура находится в пределах 30 ~ 39 градусов, код Python выводит 00 на контакты GPIO. Следовательно, 74LS139 получает входные данные 00 (A-> 0, B-> 0)
- При вводе 00 выход Y0 становится НИЗКИМ. (См. Таблицу истинности 74LS139)
- Когда выход Y0 становится LOW, он активирует транзистор 2N3906 PNP, и в результате загорается зеленый светодиод.
- Аналогично, Y1 (01 -> CPU temperature medium) должен загореться желтым светодиодом и т. Д.
- Когда Y3 становится LOW, DB140 активирует цепь мигания светодиода NE555 (это обычный светодиодный мигатель на базе микросхемы 555), которая является нагрузкой на транзистор PNP BD140.
Наиболее важным компонентом этой схемы является 74LS139, который декодирует входные 2 цифры в 4 разных одиночных выхода, как показано в таблице истинности ниже.
Вход | Выход
G (Включить) | B | А | Y0 | Y1 | Y2 | Y3 |
H | X | X | H | H | H | H |
L | L | L | L | H | H | H |
L | L | H | H | L | H | H |
L | H | L | H | H | L | H |
L | H | H | H | H | H | L |
Когда выход 74LS139 становится LOW, транзистор типа PNP может упростить общую схему, поскольку транзистор PNP включается, когда клемма базы становится LOW. (Я покажу версию NPN в конце этой истории)
Поскольку в цепь светодиодного мигающего индикатора NE555 включен потенциометр 100K, время включения / выключения красного светодиода можно свободно регулировать в соответствии с потребностями.
Шаг 2: Создание чертежа печатной платы
Поскольку поясняется схема работы ИНДИКАТОРА, приступим к изготовлению схемы.
Перед пайкой чего-либо на универсальной плате подготовьте показанный выше чертеж печатной платы, чтобы свести к минимуму любые ошибки.
Чертеж сделан с использованием точки питания для определения местоположения каждой части на универсальной плате и создания схем разводки между частями с проводами.
Поскольку изображения выводов микросхемы и транзистора совмещены с рисунком разводки печатной платы, пайка может быть выполнена с использованием этого чертежа.
Шаг 3: пайка
Хотя исходный чертеж печатной платы сделан без использования одиночных проводов для соединения компонентов на печатной плате, я паяю несколько иначе.
Используя однопроволочный провод (не оловянный), я пытаюсь уменьшить универсальный размер печатной платы, содержащей схему ИНДИКАТОРА.
Но, как вы можете видеть на стороне пайки печатной платы, я использую оловянную проволоку также в соответствии с рисунками, изображенными на чертеже печатной платы.
Когда каждый компонент подключен в соответствии с оригинальным дизайном чертежа печатной платы, завершенная пайка печатной платы, включая цепь ИНДИКАТОРА, будет работать правильно.
Шаг 4: Подготовка к тестированию
Перед подключением RPI готовая схема требует тестирования.
Поскольку возможны любые ошибки при пайке, для предотвращения повреждений в случае короткого замыкания или неправильного подключения используется источник питания постоянного тока.
Для тестирования ИНДИКАТОРА к разъему питания 5В схемы подключаются два дополнительных кабеля питания.
Шаг 5: Тестирование (средняя температура процессора)
Когда вход 5 В не подается, то 74LS139 декодирует вход и активирует выход Y0 как НИЗКИЙ (горит зеленый светодиод).
Но на вход A подается 5 В, выход Y1 74LS139 активируется (LOW).
Поэтому горит желтый светодиод, как показано на рисунке выше.
Шаг 6: Тестирование (ЦП требуется уровень охлаждения)
Когда на оба входа (A и B) 74LS139 подается 5 В, мигает 4-й красный светодиод.
Частоту мигания можно изменить, отрегулировав 100K VR, как показано на рисунке выше.
По завершении тестирования два 3-контактных кабеля Molex с розеткой можно удалить.
Шаг 7. Питание цепи ИНДИКАТОРА
Для питания цепи ИНДИКАТОРА я использую обычное зарядное устройство для мобильного телефона с выходным напряжением 5 В и адаптер USB типа B, как показано на рисунке выше.
Чтобы избежать проблем с RPI, подключив 3,3 В GPIO и цепь ИНДИКАТОРА с питанием 5 В, сигнальный интерфейс и источник питания полностью изолированы друг от друга.
Шаг 8: Подключение RPI
Для сопряжения схемы ИНДИКАТОРА с RPI необходимо выделить два контакта GPIO вместе с двумя контактами заземления.
Особых требований к выбору контактов GPIO нет.
Вы можете использовать любые контакты GPIO для подключения ИНДИКАТОРА.
Но проводные контакты должны быть обозначены как входы для 74LS139 (например, A, B) в программе Python.
Шаг 9: Программа Python
По завершении схемы требуется создание программы на Python для использования функции ИНДИКАТОР.
Пожалуйста, обратитесь к блок-схеме выше для получения более подробной информации о логике программы.
# - * - кодировка: utf-8 - * -
подпроцесс импорта, сигнал, sys
время импорта, повторно
импортировать RPi. GPIO как g
А = 12
В = 16
g.setmode (g. BCM)
g.setup (A, g. OUT)
g.setup (B, g. OUT)
##
def signal_handler (sig, frame):
print ('Вы нажали Ctrl + C!')
g.output (A; Ложь)
g.output (B; Ложь)
f.close ()
sys.exit (0)
signal.signal (сигнал. SIGINT, обработчик_сигнала)
##
в то время как True:
f = open ('/ home / pi / My_project / CPU_tempera_log.txt', 'a +')
temp_str = subprocess.check_output ('/ opt / vc / bin / vcgencmd measure_temp', shell = True)
temp_str = temp_str.decode (кодировка = 'UTF-8', errors = 'strict')
CPU_temp = re.findall ("\ d + \. / D +", temp_str)
# извлечение текущей температуры процессора
current_temp = float (CPU_temp [0])
если current_temp> 30 и current_temp <40:
# низкая температура A = 0, B = 0
g.output (A; Ложь)
g.output (B; Ложь)
время сна (5)
elif current_temp> = 40 и current_temp <45:
# температура среды A = 0, B = 1
g.output (A; Ложь)
g.output (B, Истина)
время сна (5)
elif current_temp> = 45 и current_temp <50:
# высокая температура A = 1, B = 0
g.output (A, Истина)
g.output (B; Ложь)
время сна (5)
elif current_temp> = 50:
# Требуется высокое охлаждение процессора A = 1, B = 1
g.output (A, Истина)
g.output (B, Истина)
время сна (5)
current_time = время.время ()
formated_time = time.strftime ("% H:% M:% S", time.gmtime (текущее_время))
f.write (str (время_форматирования) + '\ t' + str (current_temp) + '\ n')
f.close ()
Основная функция программы Python приведена ниже.
- Сначала установите GPIO 12, 16 как выходной порт
- Определение обработчика прерывания Ctrl + C для закрытия файла журнала и выключения GPIO 12, 16
- При входе в бесконечный цикл открыть файл журнала в режиме добавления
- Считайте температуру процессора, выполнив команду «/ opt / vc / bin / vcgencmd measure_temp»
- Когда температура находится в диапазоне 30 ~ 39, на выходе 00 загорится зеленый светодиод.
- Когда температура находится в диапазоне 40 ~ 44, тогда на выходе 01 загорится желтый светодиод.
- Когда температура находится в диапазоне 45 ~ 49, выведите 10, чтобы загорелся красный светодиод.
- Когда температура выше 50, на выходе 11 должен мигать красный светодиод.
- Запись отметки времени и данных температуры в файл журнала
Шаг 10: Работа ИНДИКАТОРА
Когда все в порядке, вы увидите, что каждый светодиод горит или мигает в зависимости от температуры процессора.
Вам не нужно вводить команду оболочки, чтобы проверить текущую температуру.
После сбора данных в файле журнала и визуализации текстовых данных в графике с помощью Excel результат показан на рисунке выше.
При высоких нагрузках (запуск двух браузеров Midori и воспроизведение видео на Youtube) температура процессора резко возрастает до 57,9 ° C.
Шаг 11: Создание альтернативы (с использованием транзистора NPN) и дальнейшее развитие
Это предыдущий пример проекта INDICATOR с использованием транзисторов NPN (2N3904 и BD139).
Как видите, еще одна микросхема (74HC04, четырехканальные инверторы) необходима для управления транзистором NPN, поскольку для включения транзистора на базу NPN должно подаваться напряжение ВЫСОКОГО уровня.
Подводя итог, можно сказать, что использование транзистора NPN добавляет ненужной сложности для создания схемы ИНДИКАТОРА.
Для дальнейшего развития этого проекта я добавлю охлаждающий вентилятор, как показано на рисунке выше, чтобы сделать схему ИНДИКАТОРА более полезной.
Рекомендуемые:
Индикатор загрузки процессора Raspberry Pi: 13 шагов
Индикатор загрузки процессора Raspberry Pi: при запуске Raspberry Pi (RPI) в режиме без монитора без монитора консоли отсутствуют определенные визуальные индикаторы, позволяющие определить, что RPI действительно что-то делает. Несмотря на то, что удаленный терминал используется с SSH, время от времени выполняется команда Linux
Блок охлаждающего вентилятора Raspberry Pi с индикатором температуры процессора: 10 шагов (с изображениями)
Блок охлаждающего вентилятора Raspberry Pi с индикатором температуры процессора: в предыдущем проекте я представил схему индикатора температуры процессора Raspberry Pi (далее RPI). Схема просто показывает различные уровни температуры процессора RPI 4 следующим образом: - Зеленый светодиод загорается, когда Температура процессора в пределах 30 ~
Вентилятор с ШИМ-регулировкой в зависимости от температуры процессора для Raspberry Pi: 4 шага (с изображениями)
Вентилятор с ШИМ-регулировкой в зависимости от температуры процессора для Raspberry Pi: многие корпуса для Raspberry Pi поставляются с небольшим вентилятором на 5 В для охлаждения процессора. Однако эти вентиляторы обычно довольно шумные, и многие люди подключают их к контакту 3V3, чтобы уменьшить шум. Эти вентиляторы обычно рассчитаны на 200 мА, что довольно
Контроллер вентилятора с приводом от процессора и графического процессора: 6 шагов (с изображениями)
Контроллер вентилятора с процессором и графическим процессором: недавно я обновил свою видеокарту. Новая модель графического процессора имеет более высокий TDP, чем мой процессор и старый графический процессор, поэтому я также хотел установить дополнительные вентиляторы корпуса. К сожалению, у моего MOBO всего 3 разъема для вентиляторов с регулировкой скорости, и их можно подключить только к
Индикатор температуры и влажности от Arduino: 7 шагов (с изображениями)
Индикатор температуры и влажности от Arduino: в этой инструкции будет показано, как сделать коробку, которая может отображать температуру и влажность с помощью Arduino. Вы можете поставить эту коробку на стол для измерения температуры и влажности в вашей комнате. уплотненный ф