Съдържание:
- Стъпка 1: Подготовка на схеми
- Стъпка 2: Изготвяне на печатни платки
- Стъпка 3: Запояване
- Стъпка 4: Подготовка за тестване
- Стъпка 5: Тестване (Температурата на процесора е средно ниво)
- Стъпка 6: Тестване (CPU се нуждае от ниво на охлаждане)
- Стъпка 7: Захранване към INDICATOR верига
- Стъпка 8: RPI окабеляване
- Стъпка 9: Програма Python
- Стъпка 10: Работа с ИНДИКАТОР
- Стъпка 11: Алтернативно създаване (използване на NPN транзистор) и по -нататъшно развитие
Видео: Индикатор за температурата на процесора Raspberry Pi: 11 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:49
Преди това бях въвел проста схема на индикатор за работно състояние на малиново пи (по -долу като RPI).
Този път ще обясня някои по -полезни индикаторни схеми за RPI, работещи по безглавен (без монитор) начин.
Схемата по -горе показва температурата на процесора на 4 различни нива, като например:
- Зеленият светодиод се включва, когато температурата на процесора е в рамките на 30 ~ 39 градуса
- Жълтият светодиод показва, че температурата се повишава в диапазона от 40 до 45 градуса
- Третият червен светодиод показва, че процесорът става малко горещ, достигайки 46 ~ 49 градуса
- Друг червен светодиод ще мига, когато температурата надвиши 50 градуса
Горните температурни диапазони на процесора са моята лична концепция за дизайн (Други температурни диапазони могат да бъдат конфигурирани чрез промяна на тестовите условия на програмата на python, която контролира тази верига).
Използвайки тази схема, не е задължително често да изпълнявате командата „vcgencmd mere_temp“на конзолния терминал.
Тази схема непрекъснато и удобно информира текущата температура на процесора.
Стъпка 1: Подготовка на схеми
Въпреки че можете да контролирате директно 4 светодиода, като използвате само кодове на python, логиките за управление на програмата ще заредят RPI и в резултат на това температурата на процесора ще се увеличи повече, защото трябва да работите малко сложен код на python непрекъснато.
Следователно минимизирам сложността на кода на Python възможно най-лесно и разтоварвам логиката за управление на LED към външна хардуерна верига.
Схемата за индикатор на температурата на процесора (наричана по -долу INICATOR) се състои от следните основни части.
-Два опто-съединителя са свързани към 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 изходът стане нисък, той активира 2N3906 PNP транзистор и в резултат на това зеленият светодиод се включва
- По същия начин Y1 (01 -> температура на процесора) ще включи жълт светодиод и така нататък
- Когато Y3 стане НИСКИ, DB140 активира NE555 LED мигаща верига (това е обичайна 555 IC базирана LED мигачка), която е натоварване на BD140 PNP транзистор
Най -важният компонент на тази схема е 74LS139, който декодира 2 цифри, въведени в 4 различни единични изхода, както е показано в таблицата за истината по -долу.
Въвеждане | Изход
G (Активиране) | В | А | 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 става НИСКИ, транзисторът от тип PNP може да улесни цялостната схема, тъй като транзисторът PNP е включен, когато базовият терминал стане НИСКИ. (Ще покажа NPN версията в края на тази история)
Тъй като 100K потенциометър е включен в светодиодната мигаща схема NE555, времето за включване/изключване на червения светодиод може да се регулира свободно според нуждите.
Стъпка 2: Изготвяне на печатни платки
Тъй като оперативната схема на ИНДИКАТОРА е обяснена, нека започнем да правим веригата.
Преди запояване на нещо върху универсална платка, изготвянето на чертежа на печатната платка, показано по -горе, е полезно, за да се сведе до минимум всякакви грешки.
Чертежът е направен с помощта на power-point за локализиране на всяка част на универсалната дъска и направяне на схеми за свързване между части с проводници.
Тъй като изображенията на извода на IC и транзистора са разположени заедно с схемата на окабеляване на печатни платки, запояването може да се извърши с помощта на този чертеж.
Стъпка 3: Запояване
Въпреки че оригиналният чертеж на печатна платка е направен без използване на единични проводници за свързване на компоненти на печатна платка, запоявам малко по -различно.
Използвайки единичен проводник на проводници (не калайден проводник), аз се опитвам да намаля универсалния размер на печатната платка, който съдържа INDICATOR верига.
Но както можете да видите от страната на запояване на печатни платки, аз използвам тенекиена тел също според моделите, изобразени на чертежа на печатната платка.
Когато всеки компонент е свързан според оригиналния дизайн на чертежа на печатната платка, запоената печатна платка, включително схемата INDICATOR, ще работи правилно.
Стъпка 4: Подготовка за тестване
Преди свързване към RPI, готовата верига изисква тестване.
Тъй като могат да съществуват всякакви грешки при запояване, доставчикът на DC захранване се използва за предотвратяване на повреди при възникване на късо съединение или грешно окабеляване.
За тестване на INDICATOR, два допълнителни захранващи кабела са свързани към 5V захранващия конектор на веригата.
Стъпка 5: Тестване (Температурата на процесора е средно ниво)
Когато не се прилага вход 5V, тогава 74LS139 декодира входа и активира изхода Y0 като LOW (Зеленият светодиод свети).
Но 5V се прилага към вход А, изход Y1 от 74LS139 активира (LOW).
Следователно жълтият светодиод се включва, както е показано на снимката по -горе.
Стъпка 6: Тестване (CPU се нуждае от ниво на охлаждане)
Когато 5V приложи и двата входа (A и B) на 74LS139, четвъртият червен светодиод мига.
Скоростта на мигане може да се промени чрез регулиране на 100K VR, както е показано на снимката по -горе.
Когато тестването приключи, два 3 -пинов женски кабела Molex могат да бъдат отстранени.
Стъпка 7: Захранване към INDICATOR верига
За захранване на INDICATOR верига използвам общо зарядно устройство за ръчен телефон, което извежда 5V и USB адаптер тип B, както е показано на снимката по-горе.
За да се избегне проблем с RPI чрез свързване на 3.3V GPIO и 5V захранвана INDICATOR верига, сигналният интерфейс и захранването са напълно изолирани един от друг.
Стъпка 8: RPI окабеляване
За свързване на INDICATOR верига с RPI трябва да бъдат отделени два GPIO пина заедно с два заземителни щифта.
Няма конкретно изискване за избор на GPIO щифтове.
Можете да използвате всякакви GPIO щифтове за свързване на INDICATOR.
Но кабелните щифтове трябва да бъдат обозначени като входове на 74LS139 (например A, B) в програмата на python.
Стъпка 9: Програма Python
Когато веригата е завършена, е необходимо да се направи програма на python, за да се използва функцията INDICATOR.
Моля, вижте диаграма по -горе за повече подробности относно програмната логика.
#-*-кодиране: utf-8-*-
импортиране на подпроцес, сигнал, sys
време за импортиране, повторно
импортирайте RPi. GPIO като g
A = 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, False)
g.output (B, False)
f.close ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
докато е вярно:
f = отворен ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = подпроцес.check_output ('/opt/vc/bin/vcgencmd измерване_темп', черупка = вярно)
temp_str = temp_str.decode (кодиране = 'UTF-8', грешки = 'строго')
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, False)
g.output (B, False)
time.sleep (5)
elif current_temp> = 40 и current_temp <45:
# температурна среда A = 0, B = 1
g.output (A, False)
g.output (B, True)
time.sleep (5)
elif current_temp> = 45 и current_temp <50:
# висока температура A = 1, B = 0
g.output (A, True)
g.output (B, False)
time.sleep (5)
elif current_temp> = 50:
# Необходимо е охлаждане на процесора високо A = 1, B = 1
g.output (A, True)
g.output (B, True)
time.sleep (5)
current_time = time.time ()
formated_time = time.strftime ("%H:%M:%S", time.gmtime (current_time))
f.write (str (formatted_time)+'\ t'+str (current_temp)+'\ n')
f.close ()
Основната функция на програмата python е както по -долу.
- Първо задайте GPIO 12, 16 като изходен порт
- Определяне на Ctrl+C манипулатор на прекъсване за затваряне на регистрационен файл и изключване на GPIO 12, 16
- Когато влезете в безкраен цикъл, отворете регистрационния файл като режим на добавяне
- Прочетете температурата на процесора, като изпълните командата „/opt/vc/bin/vcgencmd mere_temp“
- Когато температурата е в диапазона 30 ~ 39, след това изведете 00, за да включите зеления светодиод
- Когато температурата е в диапазона 40 ~ 44, след това изведете 01, за да включите жълтия светодиод
- Когато температурата е в диапазона 45 ~ 49, след това изведете 10, за да включите червения светодиод
- Когато температурата е повече от 50, след това изведете 11, за да мигне червеният светодиод
- Запишете времеви печат и данни за температурата в лог файла
Стъпка 10: Работа с ИНДИКАТОР
Когато всичко е наред, можете да видите, че всеки светодиод е включен или мига според температурата на процесора.
Не е нужно да въвеждате командата shell, за да проверите текущата температура.
След събиране на данни в лог файла и преобразуване на текстови данни в графика с помощта на Excel, резултатът е показан на снимката по -горе.
Когато прилагате големи натоварвания (Работете с два браузъра Midori и възпроизвеждате видеоклип в Youtube), температурата на процесора се повишава до 57,9C.
Стъпка 11: Алтернативно създаване (използване на NPN транзистор) и по -нататъшно развитие
Това е предишен пример за проект INDICATOR, използващ NPN транзистори (2N3904 и BD139).
Както можете да видите още една IC (74HC04, Quad инвертори) е необходима за задвижване на NPN транзистор, тъй като напрежението на високо ниво трябва да бъде приложено към базата на NPN, за да се включи транзисторът.
Като обобщение, използването на NPN транзистор добавя ненужна сложност, за да направи INDICATOR верига.
За по -нататъшното развитие на този проект ще добавя охлаждащ вентилатор, както е показано на снимката по -горе, за да направя схемата INDICATOR по -полезна.
Препоръчано:
Raspberry Pi Box с охлаждащ вентилатор с индикатор за температура на процесора: 10 стъпки (със снимки)
Raspberry Pi Box с охлаждащ вентилатор с индикатор за температурата на процесора: Въведох схема на малина pi (наричана по-долу като RPI) индикатор за температура на процесора в предишния проект. Схемата просто показва RPI 4 различно ниво на температурата на процесора, както следва.- Зеленият светодиод се включва, когато Температурата на процесора е в рамките на 30 ~
$ 3 Компютърен вентилаторен вентилационен канал на процесора: 7 стъпки (със снимки)
$ 3 Компютърен вентилационен канал на процесора за компютър: Всмукателният канал направо отстрани на корпуса на компютъра във вентилатора на процесора може да ви осигури много по -добро охлаждане от всяка друга (въздушна) опция за охлаждане. Вместо да използвате въздух, поет от предния порт, който има време да се затопли от друг компонент
ШИМ регулиран вентилатор въз основа на температурата на процесора за Raspberry Pi: 4 стъпки (със снимки)
ШИМ регулиран вентилатор въз основа на температурата на процесора за Raspberry Pi: Много калъфи за Raspberry Pi идват с малък 5V вентилатор, за да помогнат за охлаждането на процесора. Тези вентилатори обаче обикновено са доста шумни и много хора го включват към щифта 3V3, за да намалят шума. Тези вентилатори обикновено се оценяват на 200mA, което е доста h
Охлаждаща подложка за лаптоп DIY - Страхотни лайфхакове с вентилатор на процесора - Творчески идеи - Компютърен вентилатор: 12 стъпки (със снимки)
Охлаждаща подложка за лаптоп DIY | Страхотни лайфхакове с вентилатор на процесора | Творчески идеи | Компютърен фен: Трябва да гледате това видео до края му. за разбиране на видеото
Как монтирам в стойка процесора за ефекти на китара на Line 6: 10 стъпки (със снимки)
Как монтирах процесора My Line 6 Pod Guitar Effects Processor: Купих едно от оригиналните модули Line 6 POD, когато те излязоха за първи път през 1998 г. Тогава звучеше феноменално и звучи страхотно и днес - единственият проблем беше формата му - Казано ясно, изглежда глупаво. По -важното, освен ако нямате