风扇监控电路

 

  已经商业化的产品有aquaero 5 LT USB fan controller,具体看这里

芯片都是LPC 接口,而这个好像只用在主板电路中。

从已有的设备(www.aqua-computer.de/e_content/e_aquaero.htm)看,它用USB HID接口,这样免驱动。


nuvoton的LPC芯片列表:http://www.nuvoton.com/NuvotonMOSS/Community/ProductInfo.aspx?tp_GUID=cf73485c-9e0a-4218-9bee-89dfe9a7bb87


如何用把LPC桥接到USB HID来呢?还是压根行不通?


从W83627DHG-P_W83627DHG-PT datasheet来看,只需使用其Hardware Monitor Interface就可以了,当然POWER PINS是需要接上的。

 

后来在amtel的网站上看到一篇文章“AVR441: Intelligent BLDC Fan Controller with Temperature Sensor and Serial Interface”,这个直接用amtel的芯片来控制风扇,i2c接口。乖乖,原来控制风扇用通用芯片也可以,不用上面这种专用的芯片也可以啊。不过外围电路比较复杂些。

In linux,

run sensors-detect, beside super I/O,  it also can detect I2C/smbus interface. as below:

 写道
Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): y
Using driver `i2c-i801' for device 0000:00:1f.3: Intel Cougar Point (PCH)
Module i2c-i801 loaded successfully.
Module i2c-dev loaded successfully.
Next aapter: SMBus I801 adapter at f000 (i2c-0)
Do you want to scan it? (YES/no/selectively): y
Client found at address 0x51
Probing for `Analog Devices ADM1033'... No
Probing for `Analog Devices ADM1034'... No
Probing for `SPD EEPROM'... Yes
(confidence 8, not a hardware monitoring chip)
Client found at address 0x53
Probing for `Analog Devices ADM1033'... No
Probing for `Analog Devices ADM1034'... No
Probing for `SPD EEPROM'... Yes
(confidence 8, not a hardware monitoring chip)

在lm-sensors的device列表上,其支持usb-i2c转换器的方式(其实列表上大多数芯片的都是I2C),转换器的原型在 这里 ,要搞的自己自己组装, 而且这个原型上面可以直接接sensor,奇怪,难道中间不要像nuvoton这种芯片么? 它的优点是全部开源,有详细的驱动。

 

存/取接口

LPC Iterface用不到,那寄存器从哪里读取呢?原来除了LPC,还有个有个I2C interface来读取内部寄存器。也即是SMBus Interface接口,通过SDA, SLC来上传和下载数据。taobao搜索”USB转I2C“有这种专门的芯片。国产的大多为这种:http://www.usb-i2c-spi.com/CN/prod_usb-i2c.htm ,优点在于外围元件简单,只需1个12M晶体和2个电容。缺点在于有点贵,单芯片就要50块。这个有linux的驱动,不错,不过当我下载deom的“大礼包”时,居然杀毒软件报有毒。不好靠谱啊。 正规芯片有FTDI的FT232H,不过这个功能太多,而且我看了datasheet,需要的外围电路还挺复杂的。不过后来我发现tiny-usb的i2c方案还要刷avr芯片,这个也很麻烦啊。

有的型号还支持SPI Interface,这个会更容易操作么?可以看看这里SPI、I2C、UART三种串行总线协议的区别

 

md,我又回来了。哈哈。

软件模拟的USB感觉不稳定,很是折腾,还是换为硬件的吧,谁叫我是菜鸟呢。

arduino老的 用ft232rl,淘宝上价格大概是15元。新的uno用atmel的Atmega16U2。我对比了下电路图,FTDI的更简单些。也有可能是新版的挖掘了atmel的更多功能。

原件购买


smt焊接(或者贴片焊接)。淘宝上有,不过一般都接受只小批量的生产,我猜大多数还需要提供电路图。罢了。

128-QFP或者128-LQFP的淘宝上没有相应的转接卡卖,有144接口脚间距0.5mm的形状都为长方形,不符合要求。nuvoton 128针都为长方形。W83527HG为48针,简单,可惜不含i2c接口,无望。所以剩下的只有NCT5577D 这一款:64针,0.40mm间距, 

 

 

Part Qty Name 中文名 taobao 备注
D1, D2 2 3.6V zener diode 稳压二极管,3.6v, 0.5w 不单卖

Q1 1 12Mhz crystal, HC49U package 晶振,12M赫兹

有很多

R1 1 2.2 kilo ohm resistor 电阻 2.2k 1/4W不单卖

R2, R3 2 68 ohm resistor 电阻 68欧 1/4W
R4, R5 2 10 kilo ohm resistor 电阻 10k 1/4w
C1, C2 2 22pF ceramic capacitor, 2.54mm 22pF 瓷片电容
C3 1 100nF capacitor, 5.08mm 100nF 瓷片电容
C6 1 10μF electrolytic capacitor 电解电容,圆柱体 1 ,
-- 1 USB-B print connector 可省,因为不好焊接

JP1 1 4 pin I2C connector 单排针可直接连芯片,这样就省了,对么?
U$1 1 Attiny45 DIP 20Mhz 单片机有很多
-- 1 socket for U$1 芯片座,8P 1

后来看了看Geoff's Projects ,由于加上了12v的电源调整电路,所以对输出要优化。加上470uf, 25v的电容,还有100uh, 1a or higher的电感。前者在这里 有,相当吻合。后者则不大好找,0805 package的一般都没有标注电流值。

现在差的是大4pin口的插座,要能焊接的那种。找了半天,md终于找到了,叫做“8981连接器”,这里 有。这家也有4pin的风扇接口。不过3pin的好像就没有了。

 

电源转换器用udn2981 ,用arduion的话,对于的anaglaWrite写入1~255的值,输出电压呈线性变化。这块芯片也有smd封装类型,就是可能argel上面没有这种类型的了。如果要贴片类型的,只能用UDN2982LW了

I2C协议编程

 

跟普通的PCF8574不同,NCT577D读写的时候都要加上寄存器地址,这个有和DS1621 类似,不过后者叫command,比如有读最高温度和最低温度阀值的command,这个感觉和寄存器地址差不多。在testapp/i2c_usb.c里面也有i2c_write_cmd_and_byte和i2c_write_byte这两种不同的方法,区别在于前者会发生两个字节,而后者只有一个字节。slave的芯片如何区分呢?比如如何记住前面一个是command?

 

重大失误:当I2C-USB做好后在连接NCT577D时,发现这个芯片是smbus master的,悲剧。虽然可以通过修改寄存器值而让其切换到slave的模式,但是还没连上去怎么修改寄存器呢?多个i2c master也是可以的通讯的,不过看这里 好像要芯片本身支持这种模式。

 

为什么不直接用UART?一则文档上面只是说hardware monitor只支持lpc和i2c interface,虽然芯片本身支持UART。再者,i2c好像简单点。

 

焊接工具

 

chiphell这里 的推荐,使用电烙铁goot TQ-95,然后“原装日本太洋 GOOT TQ-77RT-2C 烙铁头 TQ-77 TQ-95专用 斜咀焊咀”,这个是斜口的,方便拖焊。需要焊油么?感觉不使用也行的。

 

风扇相关

 

一般风扇为12v输入电压,比如安耐美的

 

风扇自己也有单片机,牛啊,小小东西也能做成这样。我的九州风神的PWM风扇的芯片是三洋的LB11961

 

其他的Voltage Converter

 

一个典型的例子为:http://www.linear.com.cn/product/LTC3642。这家公司生产的buck converter种类很多。可选的比und2981a多多了。

主板风扇控制电路的工作原理涉及多个电子组件和控制逻辑,以实现对风扇转速的精确调节。以下是其核心工作原理及相关故障排除方法: ### 主板风扇控制电路的工作原理 1. **PWM(脉宽调制)控制** 主板通常使用PWM信号来控制风扇的转速。PWM控制器通过改变输出信号的占空比来调整风扇电机的平均功率,从而控制其转速。例如,50%的占空比表示信号在一半时间内为高电平,另一半时间为低电平,风扇将以中等速度运行[^1]。 2. **温度传感器反馈** 主板上集成了温度传感器,用于监测CPU、GPU或其他关键部件的温度。这些传感器将温度数据反馈给主板的控制芯片组(如BIOS或专用微控制器),并根据预设的温度-转速曲线动态调整风扇转速。例如,当检测到温度升高时,控制芯片会增加PWM信号的占空比,提高风扇转速[^1]。 3. **电压调节与驱动电路** 风扇控制电路还包括一个驱动模块,负责将控制信号放大并驱动风扇电机。该模块可能包含MOSFET晶体管或专用的风扇驱动IC,确保能够提供足够的电流驱动风扇运转。此外,部分主板还支持DC模式控制,通过调节供电电压来间接控制风扇转速。 4. **BIOS/UEFI设置与自定义配置** 用户可以通过BIOS或UEFI界面调整风扇控制策略,例如设定不同温度下的目标转速、启用静音模式或性能优先模式等。高级用户还可以使用软件工具(如SpeedFan、HWiNFO等)进行更精细的控制[^1]。 ### 故障排除方法 1. **检查电源连接与供电稳定性** 确保主板风扇接口(通常是4针PWM接口)的供电稳定,使用万用表测量电压是否在正常范围内(通常为12V)。如果电压异常,可能是主板供电模块或电源单元存在问题。 2. **验证PWM信号输出** 使用示波器检查主板风扇接口的PWM信号是否正常输出。若未检测到信号,可能是BIOS设置错误、控制芯片故障或风扇接口损坏。尝试更新BIOS或更换风扇接口进行测试[^1]。 3. **排查温度传感器问题** 如果风扇转速不随温度变化而调整,可能是温度传感器失效或数据反馈路径中断。进入BIOS或使用监控软件查看当前系统温度读数,确认传感器是否正常工作。 4. **检查风扇本体及驱动电路** 如果上述步骤均无问题,可能是风扇电机本身损坏或主板上的驱动电路出现故障。尝试更换已知良好的风扇进行测试,若仍无法正常工作,则需进一步检查主板上的MOSFET、驱动IC等元件是否损坏。 ```python # 示例代码:使用Python模拟PWM信号生成 import time import RPi.GPIO as GPIO # 假设使用树莓派GPIO库 GPIO.setmode(GPIO.BCM) fan_pin = 18 # 假设风扇连接到GPIO 18 GPIO.setup(fan_pin, GPIO.OUT) pwm = GPIO.PWM(fan_pin, 100) # 设置频率为100Hz pwm.start(50) # 初始占空比为50% try: while True: duty_cycle = input("请输入风扇转速百分比 (0-100): ") pwm.ChangeDutyCycle(int(duty_cycle)) except KeyboardInterrupt: pwm.stop() GPIO.cleanup() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值