• 方案介紹
    • 一、項目名稱:
    • 二、項目概述
    • 三、實物圖
    • 四、軟件工作流程
    • 五、點(diǎn)亮效果圖
    • 六、代碼
    • 七、屏軟件操作界面
    • 八、計劃框架圖
    • 九、原理圖:
    • 十、視頻講解:
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

汽車座椅方向盤加熱系統(tǒng)

05/28 11:45
494
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
在《2024 DigiKey 汽車應(yīng)用創(chuàng)意挑戰(zhàn)賽》中,設(shè)計一個創(chuàng)新的汽車座椅和方向盤加熱系統(tǒng)是一個非常有潛力的方向,也是我接下來需要完成的項目任務(wù)。
下面是一些創(chuàng)意設(shè)計思路和技術(shù)實現(xiàn)方案,詳細(xì)的介紹。

一、項目名稱:

基于樹莓派PI5汽車座椅方向盤加熱系統(tǒng)

二、項目概述

本項目是利用樹莓派PI5作為核心處理器,結(jié)合多種傳感器執(zhí)行器,包含多個加溫控制模塊,風(fēng)扇等,,實現(xiàn)一個智能化的汽車座椅和方向盤加熱系統(tǒng)。系統(tǒng)通過AHT10溫濕度傳感器實時監(jiān)測環(huán)境溫濕度,利用STO21加熱片模塊進(jìn)行加熱,并通過Motor Module直流電機(jī)控制風(fēng)扇散熱,確保系統(tǒng)在舒適和安全的環(huán)境下運(yùn)行。串口屏用于顯示系統(tǒng)狀態(tài)和用戶交互。

下面主要的功能以一組為示例進(jìn)行講解與操作。

系統(tǒng)組成

樹莓派PI5:核心處理器,負(fù)責(zé)數(shù)據(jù)處理、邏輯控制通信。
AHT10溫濕度傳感器:用于實時監(jiān)測環(huán)境溫濕度。 GPIO2(SDA,I2C1),GPIO3(SCL,I2C1)
STO21加熱片模塊:用于座椅和方向盤的加熱。GPIO4
Motor Module直流電機(jī):用于控制風(fēng)扇散熱。GPIO17
串口屏:用于顯示系統(tǒng)狀態(tài)和用戶交互。TX(GPIO15),RX(GPIO14)

系統(tǒng)功能

溫濕度監(jiān)測:通過AHT10傳感器實時監(jiān)測車內(nèi)溫濕度。
加熱控制:根據(jù)用戶設(shè)置和環(huán)境溫度,控制STO21加熱片模塊進(jìn)行加熱。
散熱控制:通過Motor Module直流電機(jī)控制風(fēng)扇,確保系統(tǒng)不過熱。
用戶交互:通過串口屏顯示系統(tǒng)狀態(tài),用戶可以通過觸摸屏進(jìn)行設(shè)置和操作。

硬件連接

AHT10傳感器:通過I2C接口連接到樹莓派PI5。
STO21加熱片模塊:通過GPIO口控制,連接到樹莓派PI5。
Motor Module直流電機(jī):通過PWM控制,連接到樹莓派PI5。
串口屏:通過UART接口連接到樹莓派PI5。

軟件設(shè)計

系統(tǒng)初始化:
初始化I2C、GPIO、PWM和UART接口。
初始化AHT10傳感器、STO21加熱片模塊、Motor Module直流電機(jī)和串口屏。
溫濕度讀?。?/div>
通過I2C接口讀取AHT10傳感器的溫濕度數(shù)據(jù)。
數(shù)據(jù)存儲在變量中,用于**處理。
加熱控制:
根據(jù)用戶設(shè)置和環(huán)境溫度,控制STO21加熱片模塊的開關(guān)
通過GPIO口輸出高低電平控制加熱片。
散熱控制:
根據(jù)系統(tǒng)溫度,控制Motor Module直流電機(jī)的轉(zhuǎn)速。
通過PWM信號調(diào)節(jié)電機(jī)轉(zhuǎn)速。
用戶交互:
通過串口屏顯示當(dāng)前溫濕度、加熱狀態(tài)和風(fēng)扇狀態(tài)。
用戶可以通過觸摸屏設(shè)置加熱溫度和風(fēng)扇轉(zhuǎn)速。
主循環(huán):
循環(huán)讀取溫濕度數(shù)據(jù)。
根據(jù)數(shù)據(jù)調(diào)整加熱和散熱控制。
更新串口屏顯示內(nèi)容。

三、實物圖

AHT10傳感器:

AHT10 傳感器特性
測量范圍:
溫度:-40°C ~ 85°C
濕度:0% ~ 100% RH
精度:
溫度:±0.3°C
濕度:±2% RH
通信接口:I2C(默認(rèn)地址:0x38)
供電電壓:2.2V ~ 5.5V
低功耗:適合電池供電設(shè)備
封裝:DFN(小型化封裝)
STO21加熱片模塊:
【品名】:加熱片模塊
【規(guī)格】:41.6x12.1x11.6mm(長x寬x高)
【顏色】:藍(lán)色
PCB 材質(zhì)】:軍工級別雙面PCB 板
【工作電壓】:5V
【工作溫度】:-40~85°℃
【工作方式】:輸入低電平或接地信號,加熱片工作【產(chǎn)品特點(diǎn)】:
1、采用 5VPTC 恒溫發(fā)熱片
2、放置在容器外部進(jìn)行加熱使用,切勿將加熱片置于液體之中進(jìn)行使用
3、自帶電源指示燈
4、提供 3mm 固定安裝螺絲孔
Motor Module直流電機(jī):
參數(shù)簡介
工作電壓:3.3V-5V
信號電平:0V-5V最大轉(zhuǎn)速:3500RPM
工作溫度:-20℃-80℃定位方式:M3螺絲重量:50.88g
模塊尺寸:40mm*30mm(手工測量)
串口屏:
系列&尺寸
X2 6.2時
型號
TJC3696X262_011C_l
比例1:3
分辨率360x960
亮度(nit)300
工作電壓(V)4.65-6.5
休眠電流(mA)93
flash容量(Bytes)16M
觸摸類型 N:無觸摸/C:電容
TFT類型IPS
有效顯示尺寸(mm)147.46(L)x55.30(W)
工作電流(mA)340
工作溫度(°C)20~+70
掉電存儲容量(Bytes)1K
串口指令緩存區(qū)(Bytes)4K

四、軟件工作流程

軟件控制說明:
初始化
開始
初始化串口通信(/dev/ttyAMA0, 9600波特率
初始化控制器(CONTROLLER類)
初始化風(fēng)扇(GPIO17,默認(rèn)關(guān)閉)
初始化加熱板(GPIO4,默認(rèn)關(guān)閉)
初始化AHT10傳感器
讀取當(dāng)前溫度
向串口屏發(fā)送初始溫度顯示值(t2.txt="20")
設(shè)置目標(biāo)溫度(aim = 20)
主循環(huán)
循環(huán)開始
讀取串口屏數(shù)據(jù)
從串口屏讀取目標(biāo)溫度值(target)
如果讀取到新數(shù)據(jù):
更新目標(biāo)溫度(aim = target[-4])
讀取當(dāng)前溫度
調(diào)用AHT10.read_data()獲取當(dāng)前溫度(temp)
顯示當(dāng)前溫度
格式化溫度值為字符串(temp_str = "{0:.2f}".format(temp))
向串口屏發(fā)送當(dāng)前溫度值(t2.txt="temp_str")
溫度控制邏輯
如果當(dāng)前溫度 < 目標(biāo)溫度
進(jìn)入加熱模式:
關(guān)閉風(fēng)扇(fan.off())
打開加熱板(heat_board.off())
更新串口屏顯示加熱圖標(biāo)(p3.pic=1)
如果當(dāng)前溫度 > 目標(biāo)溫度
進(jìn)入散熱模式:
打開風(fēng)扇(fan.on())
關(guān)閉加熱板(heat_board.on())
更新串口屏顯示散熱圖標(biāo)(p3.pic=2)
如果當(dāng)前溫度 = 目標(biāo)溫度
進(jìn)入待機(jī)模式:
保持當(dāng)前狀態(tài)(device.init())
更新串口屏顯示待機(jī)圖標(biāo)(p3.pic=3)
延時
短暫延時(time.sleep(0.05)
主循環(huán)延時(time.sleep(0.9)
循環(huán)結(jié)束

五、點(diǎn)亮效果圖

屏點(diǎn)亮效果
PI5控制軟件代碼:

連接圖:

六、代碼

class AHT10:
    def __init__(self, bus=1, address=0x38):
        self.bus = smbus2.SMBus(bus)
        self.address = address

    def read_data(self):
        self.bus.write_i2c_block_data(self.address, 0xAC, [0x33, 0x00])
        time.sleep(0.1)
        data = self.bus.read_i2c_block_data(self.address, 0x00, 6)
        if not (data[0] & 0x80):
            raise RuntimeError("Device not ready")
        raw_temp = ((data[3] & 0x0F) << 16) | (data[4] << 8) | data[5]
        temperature = (raw_temp * 200.0 / 1048576) - 50
        return temperature


class CONTROLLER:
    def __init__(self):
        self.temp = 0
        # 正向控制 on是開 off是關(guān)
        self.fan = LED(17)
        # 反向控制 off是開  on是關(guān)  是否加熱從硬件外觀是看不出的 加熱比較慢 耐心等待
        self.heat_board = LED(4)
        self.aht10 = AHT10()
        self.init()

    def init(self):
        self.fan.off()
        self.heat_board.on()
        self.temp = self.aht10.read_data()

    def heat(self):
        self.fan.off()
        self.heat_board.off()
        self.temp = self.aht10.read_data()

    def cool(self):
        self.fan.on()
        self.heat_board.on()
        self.temp = self.aht10.read_data()


ser = serial.Serial("/dev/ttyAMA0", 9600)
device = CONTROLLER()
device.init()
ser.write('t2.txt="20"'.encode("GB2312"))
ser.write(bytes.fromhex("ff ff ff"))
aim = 20
while 1:
    target = ser.read_all()
    print("---------------")
    if target != b"":
        aim = target[-4]
        print(aim)
    temp = device.temp
    print(temp, aim)
    temp_str = "{0:.2f}".format(temp)
    if int(temp) < aim:
        device.heat()
        ser.write("p3.pic=1".encode("GB2312"))
        ser.write(bytes.fromhex("ff ff ff"))
    elif int(temp) > aim:
        device.cool()
        ser.write("p3.pic=2".encode("GB2312"))
        ser.write(bytes.fromhex("ff ff ff"))
    else:
        device.init()
        ser.write("p3.pic=3".encode("GB2312"))
        ser.write(bytes.fromhex("ff ff ff"))
    time.sleep(0.05)
    ser.write('t2.txt="{}"'.format(temp_str).encode("GB2312"))
    ser.write(bytes.fromhex("ff ff ff"))

    time.sleep(0.9)

七、屏軟件操作界面

整體界面

多組選擇菜單:

模塊圖:

八、計劃框架圖

主要是多級控制時的一個架構(gòu)圖:

軟件控制操作圖:

九、原理圖:

十、視頻講解:

DigiKey得捷

DigiKey得捷

DigiKey 總部位于美國明尼蘇達(dá)州錫夫里弗福爾斯市,是一家獲得原廠授權(quán)的全球性、全類目電子元器件和自動化產(chǎn)品分銷商。我們通過分銷來自 2,300 多家優(yōu)質(zhì)品牌制造商的 1,020 多萬種元器件獲得了強(qiáng)大的技術(shù)優(yōu)勢。DigiKey 還為工程師、設(shè)計師、開發(fā)者和采購專業(yè)人員提供豐富的數(shù)字解決方案、無障礙互動和工具支持,以幫助他們提升工作效率。在中國,客戶可以通過電子郵件、電話和客服獲得全方位技術(shù)支持。如需了解更多信息和獲取 DigiKey 廣泛的產(chǎn)品,請訪問 www.digikey.cn 并關(guān)注我們的微信、微博、騰訊視頻和 BiliBili 賬號。

DigiKey 總部位于美國明尼蘇達(dá)州錫夫里弗福爾斯市,是一家獲得原廠授權(quán)的全球性、全類目電子元器件和自動化產(chǎn)品分銷商。我們通過分銷來自 2,300 多家優(yōu)質(zhì)品牌制造商的 1,020 多萬種元器件獲得了強(qiáng)大的技術(shù)優(yōu)勢。DigiKey 還為工程師、設(shè)計師、開發(fā)者和采購專業(yè)人員提供豐富的數(shù)字解決方案、無障礙互動和工具支持,以幫助他們提升工作效率。在中國,客戶可以通過電子郵件、電話和客服獲得全方位技術(shù)支持。如需了解更多信息和獲取 DigiKey 廣泛的產(chǎn)品,請訪問 www.digikey.cn 并關(guān)注我們的微信、微博、騰訊視頻和 BiliBili 賬號。收起

查看更多

相關(guān)推薦