Цена:
Программируемый модуль интеллектуального охлаждения и питания Smart Fan and Power Expansion Board для Raspberry Pi
Система охлаждения любого современного компьютера — одна из самых важных элементов конструкции, обеспечивающая его стабильную и продолжительную работу. Польза от системы охлаждения очевидна, её главная задача заключается в поддержании нормальной рабочей температуры основных компонентов ПК, таких как вычислительный процессор, графический процессор и других важных составляющих. Всё чаще встречаются системы с водяным охлаждением, однако подавляющее большинство создаются на основе воздушного охлаждения, в техническом исполнении разделяемые на пассивные и активные. Пассивными принято называть системы, в которых для достижения достаточного уровня охлаждения, в условиях слабого воздушного потока или его полного отсутствия, применяются только теплоотводящие радиаторы, изготавливаемые из различных металлов (алюминий, медь или их сплавы). Радиаторы пассивных воздушных систем устанавливаются непосредственно на поверхность нагревающихся элементов, способствуя рассеиванию скапливаемого тепла. Активные системы создают искусственный поток воздуха, помогающий в значительной степени ускорить процесс охлаждения. К активным системам относятся самые простые и привычные вентиляторы, регулируемые вентиляторы, вентиляторы с датчиками температуры. А также полноценные комплексы, состоящие из двух и более частей: радиаторов, вентиляторов (кулеров), блоков измерения температуры и управления. Активными системами охлаждают и греющиеся компоненты компьютера, и внутреннее воздушное пространство системного корпуса.
Главный процессор Raspberry Pi представляет из себя сложную мультизадачную архитектуру из совокупности нескольких вычислительных и графических ядер. В процессоре использована уникальная технология, защищающая его от критического перегрева и последующего выхода из строя за счёт уменьшения рабочей частоты ядер. Плата расширения с умной системой активного охлаждения Smart Fan and Power позволяет добиться от платформы Raspberry Pi максимальной производительности. Благодаря встроенному цифровому температурному датчику, в модуле реализована возможность реагирования на изменения температуры окружающей среды путём изменения скорости вращения вентилятора.
Технические характеристики
Модуль Geekworm Smart Fan and Power обладает двумя полезными функциями, не связанными друг с другом на аппаратном уровне — управление напряжением на Выходе1 (аналогично принципу действия электромеханического реле) и управление напряжением вентилятора. В зависимости от условий разрабатываемого на платформе Raspberry Pi проекта, обе имеющиеся функции могут быть задействованы как отдельно, так и скомбинированы вместе.
Обзор модуля Geekworm Smart Fan and Power
Модуль работает от широкого спектра источников питания: сетевых адаптеров, блоков питания или аккумуляторных батарей с постоянным напряжением на выходе 6-14В. Схема платы системы умного охлаждения оснащёна высокоэффективным понижающим регулятором напряжения на микросхеме IR3842 с максимальной пропускной способностью тока 4А, обеспечивающего 5-вольтовым питанием Raspberry Pi (Выход2) и устройств, подключаемых к многоцелевому разъёму HT3.96-2P (Выход1). Между преобразователем IR3842 и разъёмом внешнего источника питания DC5521 присутствует дополнительный размыкающий микропереключатель.
Источники питания
Плата расширения Smart Fan and Power подаёт в цепи питания Raspberry Pi стабилизированное напряжение +5В через 40-контактный разъём GPIO. Рекомендуется подключать любой источник напряжения, обеспечивающий следующие требования: вход 110-240В AC / выход 6-14В DC, 4А.
Внимание! Не допускается подключение питания +5В через разъём micro-USB одноплатного компьютера Raspberry Pi, пока используется модуль с системой охлаждения Smart Fan and Power.
Управление напряжением Выхода1
Функция управления Выходом1 в модуле расширения Geekworm Smart Fan and Power реализована достаточно простым способом. Импульс высокого уровня, возникающий на контакте GPIO27 Raspberry Pi, управляет логическим элементом схемы, который в свою очередь замыкает цепь питания "Регулятор IR3842-Выход1".
Пример программы, включающий и выключающий напряжение Выхода1 с небольшой задержкой. Работу программы можно увидеть по зажигающемуся и гаснущему светодиодному индикатору, расположенному рядом с разъёмом Выхода1.
import RPi.GPIO as GPIO
import time
GPIO_PIN = 27
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN, GPIO.OUT)
GPIO.setwarnings(False)
while True:
#turn on the power output
GPIO.output(GPIO_PIN,GPIO.HIGH)
print "Turn on the power output"
time.sleep(10)
#turn off the power output
GPIO.output(GPIO_PIN,GPIO.LOW)
print "Turn off the power output"
time.sleep(10)
Температурный датчик, управление системой охлаждения
Управление напряжением вентилятора построено на микросхеме стандартной логики NC7SZ00, содержащей в себе простой элемент "И". Логический импульс на выходе микросхемы "И" управляет MOSFET-транзистором, замыкающим линию +5В регулятора напряжения с контактом разъёма вентилятора PH2.0. Источниками двух сигналов на входе логической микросхемы "И" служат импульсы от температурного датчика LM75A и от контакта GPIO12 контроллера Raspberry Pi.
Датчик LM75A имеет функцию аварийной сигнализации, формирующую логический импульс при выходе текущих температурных показателей за пределы значений, заранее предопределённых пользовательским приложением. Считывание температурных показателей, работа с регистрами датчика и управление выводом GPIO12 должно выполнятся кодом программы. Обмен информацией с датчиком LM75A и его программирование происходит по двум линиям SDA1/GPIO2 и SCL1/GPIO3 последовательной шины I2C. Датчику назначен I2C-адрес 0х48h.
Пример программы умного вентилятора с измерением температуры воздуха и процессора
import RPi.GPIO as GPIO
import struct
import smbus
import sys
import time
import os
Sensor_ADDRESS = 0x48
#Предельное значение температуры окружения;
ALERT_CON_TEMPERATURE = 36
#Предельное значение температуры CPU
ALERT_CPU_TEMPERATURE = 70
TEMP_REGISTER = 0
CONF_REGISTER = 1
#Контакт управления питанием вентилятора
GPIO_PIN = 12
#Переменная, отслеживающая состояние вентилятора
g_on = False
def regdata2float (regdata):
return (regdata / 32.0) / 8.0
def toFah(temp):
return (temp * (9.0/5.0)) + 32.0
def setAlertTemp():
g_bus.write_byte_data(Sensor_ADDRESS,TEMP_REGISTER,ALERT_CON_TEMPERATURE)
def clearAlert():
g_bus.write_byte_data(Sensor_ADDRESS,CONF_REGISTER,0x00)
#Initialize the sensor and others.
def init():
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN, GPIO.OUT)
GPIO.setwarnings(False)
setAlertTemp()
clearAlert()
def getTemp(self):
#msg = "Reads the temp from the sensor";
raw = g_bus.read_word_data(Sensor_ADDRESS, TEMP_REGISTER) & 0xFFFF
raw = ((raw << 8) & 0xFF00) + (raw >> 8)
ret = regdata2float(raw)
print "Current condition temperature is ", ret, "℃", "[", ALERT_CON_TEMPERATURE,"℃]"
return ret
def getCPUtemp():
cTemp = os.popen("vcgencmd measure_temp").readline()
ret = float(cTemp.replace("temp=","").replace(""C
",""))
print "Current CPU temperature is ", ret, "℃", "[", ALERT_CPU_TEMPERATURE,"℃]"
return ret
def checkTemperature():
return (getTemp(g_bus) > ALERT_CON_TEMPERATURE) or (getCPUtemp() > ALERT_CPU_TEMPERATURE)
def setFan(need_to_open):
#turn on the fan
global g_on
if (g_on and need_to_open) :
return
if (g_on == False and need_to_open == False) :
return
if need_to_open :
if g_on == False :
print "starup fan!"
GPIO.output(GPIO_PIN,GPIO.LOW)
g_on = True
else:
if g_on :
print "Stop fan!"
GPIO.output(GPIO_PIN,GPIO.HIGH)
g_on = False
g_bus = smbus.SMBus(1)
init()
while True:
print "------------------"
print time.strftime("[%Y-%m-%d %H:%M:%S] ", time.localtime())
setFan(checkTemperature())
time.sleep(3);
Пример изменения скорости вращения вентилятора на основе широтно-импульсной модуляции
import RPi.GPIO as GPIO
import time
GPIO_PIN = 12
GPIO.setmode(GPIO.BCM)
GPIO.setup(GPIO_PIN, GPIO.OUT)
p=GPIO.PWM(GPIO_PIN,50) # channel=12 frequency=50Hz
p.start(0)
try:
while 1:
for dc in range(0, 101, 5):
p.ChangeDutyCycle(dc)
time.sleep(0.5)
for dc in range(100, -1, -5):
p.ChangeDutyCycle(dc)
time.sleep(0.5)
except KeyboardInterrupt:
pass
p.stop()
GPIO.cleanup()
Документация
г. Москва, Пятницкое ш. д. 18, пав. 566
zakaz@compacttool.ru
8-495-752-55-22
Информация представленная на данном информационном ресурсе преследует исключительно рекламные цели и не является договором-офертой !
© Все права защищены 2015 - 2024г https://compacttool.ru