性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發(fā)新帖

【 DigiKey DIY原創(chuàng)大賽】+智能溫度控制器

使用MSPM0G3507為主控制作溫度控制系統(tǒng)及硬件設(shè)計的方案,利用KEIL軟件編程讀取溫度傳感器接口等多個方面接口工作的的綜合性項目。 

以下是一個詳細的規(guī)劃方案及系統(tǒng)功能的概述。

一、 硬件

1、 清單

主控:使用的是LP-MSPM0G3507開發(fā)板。

擴展板:繪制3507擴展板。

擴展使用的設(shè)備:

傳感器:溫濕度AHT21傳感器。

顯示屏:串口屏。

按鍵:屏上四個觸摸按鍵。

指示燈:貼片RGBLED主要功能是顯示工作狀態(tài)。

蜂鳴器:電磁式有源一體有源蜂鳴器。

風機:小風扇,3-5V。

水泵:使用小風扇代替,方便演示

照明:LED燈珠

加熱:2.54端口(LED模擬工作狀態(tài))

電源:4.5V~28V轉(zhuǎn)5V3A電源,寬電壓輸入。5V輸入 再轉(zhuǎn)3.3V

 

2、 硬件接口設(shè)計介紹:

溫濕度AHT21傳感器接口:

AHT21是一個數(shù)字溫濕度傳感器,通過I2C接口與MSPM0G3507通信。

在擴展板上設(shè)計I2C接口連接,包括SCL(時鐘線)和SDA(數(shù)據(jù)線),以及供電和地線。

串口屏接口:

串口屏通過UART(通用異步收發(fā)傳輸器)接口與MSPM0G3507通信。設(shè)計UART接口,包括TX(發(fā)送)、RX(接收)、供電和地線,使用的引腳是PB6,PB7.

按鍵:

設(shè)計四個輕觸按鍵,每個按鍵連接到MSPM0G3507的一個GPIO引腳,但是這次用的是串口屏,用的是屏上的觸摸按鍵。

貼片RGB LED:

RGB LED需要三個GPIO引腳分別控制紅、綠、藍三種顏色的亮度。設(shè)計三個GPIO引腳接口,以及LED的共陽極連接。

電磁式有源蜂鳴器:

有源蜂鳴器只需要一個GPIO引腳來控制其開關(guān)。設(shè)計一個GPIO引腳接口,連接到蜂鳴器的控制端。

風機接口:

風機(小風扇)通過PWM(脈沖寬度調(diào)制)或簡單的GPIO控制。設(shè)計一個PWM或GPIO引腳接口,以及風機的供電和地線。

水泵接口(小風扇替代):

同風機接口設(shè)計,預留PWM或GPIO引腳接口。

LED照明燈珠:

設(shè)計一個或多個GPIO引腳接口,用于控制LED燈珠的開關(guān)。

加熱接口(使用電阻模擬加熱裝置):

使用電阻作為加熱元件來模擬加熱過程更為實際和可控。電阻加熱是一種常見的加熱方式,它基于焦耳熱效應,即電流通過導體時會產(chǎn)生熱量。設(shè)計一個PWM或GPIO引腳接口,以及加熱元件的供電和地線。

電源管理:

使用4.5V~28V轉(zhuǎn)5V3A電源,確保系統(tǒng)穩(wěn)定運行。設(shè)計5V轉(zhuǎn)3.3V的電路,為需要3.3V供電的元件提供電壓。

預留接口:

設(shè)計RS485、SPI等接口的預留空間,以便未來擴展。

 

3、 硬件功能與控制方式:

AHT21(溫濕度傳感器)

接口連接:AHT21經(jīng)I2C接口連MSPM0G3507,SCL、SDA分別接PB2、PB3,工作電壓3.3V。 功能:與MSPM0G3507通信,處理溫濕度數(shù)據(jù),經(jīng)濾波、校準后,由液晶屏實時顯示并記錄。使用前需初始化AHT21的IIC,包括設(shè)置地址、模式等,通過I2C發(fā)送讀取命令獲取數(shù)據(jù),再依轉(zhuǎn)換公式得出實際溫濕度(℃和%)。

串口屏

顯示功能:

串口屏顯示文本、圖像、圖標等多種信息,顯示溫度濕度,及各個模塊的開關(guān)情況以及狀態(tài)的信息。

觸控交互:

串口屏配備觸摸屏,可以通過觸摸操作與系統(tǒng)進行交互,點擊按鈕、滑動頁面等??梢杂脕碓O(shè)定溫度的值,照明開關(guān),水泵開關(guān)等一系列操作,及大的實現(xiàn)人機交互的體驗感和操作性。

串口連接:

串口屏通過串口UART與主控MSPM0G3507進行連接,實現(xiàn)數(shù)據(jù)的傳輸和指令的接收。

串口連接通常使用標準的串口線或串口轉(zhuǎn)接線進行連接,使用的引腳是PA25,PA26.

電源連接:

電源連接使用常規(guī)的XH2.54接口使用的是DC 5V,

 

參數(shù):

7英寸串口屏

芯片: T5L0

尺寸: 7英寸

分辨率: 800*480

視角: 70°/70°/50°/70°(L/R/U/D)

工作溫度: -20℃~70℃

存儲溫度: -30℃~80℃

三防漆工藝: 有

輕觸按鍵:

按鍵電路:

每個按鍵通過上拉電阻連接到MSP430G3507的GPIO引腳。當按鍵未被按下時,GPIO引腳通過上拉電阻被拉至高電平;當按鍵被按下時,GPIO引腳被拉至低電平。

手動鍵:當按下手動鍵時,打開照明和風機,同時啟動一個定時器來控制水泵工作3S-5S后自動關(guān)閉。

取消報警鍵:當系統(tǒng)檢測到超溫等報警條件時,可以通過按下此鍵來取消報警。

使用的MSP430G3507引腳分別是,PA22,PA8,另外兩個按鍵預留,增加新的功能時,再引用,按鍵的功能。

使用MSP430G3507對四個輕觸按鍵的軟件功能,首先是初始化、中斷處理以及按鍵邏輯,

貼片RGB LED

為了產(chǎn)品在使用過程,出現(xiàn)正常實驗時,突然打開相關(guān)的操作,或者停止某些操作,所以這個擴展板設(shè)計時,就增加了一個貼片RGB LED燈,其中RGB LED采用共陽極連接,并且使用三個GPIO引腳分別控制紅、綠、藍三種顏色的亮和滅,沒有設(shè)計成呼吸燈的效果,就是為了更好的體驗其設(shè)計要求,當然在我當時還考慮了確保GPIO引腳能夠輸出適當?shù)碾娏鱽眚?qū)動LED的問題點,并且考慮到LED的共陽極配置和控制。

GPIO引腳

GPIO_R:連接到紅色LED的陰極,用于控制紅色LED的亮滅,引腳為pa8.

GPIO_G:連接到綠色LED的陰極,用于控制綠色LED的亮滅,引腳為pb18.

GPIO_B:連接到藍色LED的陰極,用于控制藍色LED的亮滅,引腳為pa18.

軟件控制

在軟件方面,需要編寫代碼來控制GPIO引腳的電平,從而控制LED的亮滅。由于GPIO引腳通常只能控制開/關(guān)(高/低電平),因此如果想要實現(xiàn)亮度調(diào)節(jié),可能需要使用PWM(脈沖寬度調(diào)制)來實現(xiàn)亮度的調(diào)節(jié),包括呼吸燈。

 

 蜂鳴器

電磁式有源蜂鳴器是一種利用電磁原理產(chǎn)生音頻信號的電子器件,蜂鳴器有著廣泛的應用,蜂鳴器分為有源和無源蜂器兩種,MSP430G3507擴展板上使用的是有源蜂鳴器。

工作原理

電磁式有源蜂鳴器主要由鐵芯、線圈和振膜組成。當電流通過線圈時,產(chǎn)生的磁場會使鐵芯磁化,進而吸引振膜與之相連。隨著電流的變化,磁場也會發(fā)生變化,導致鐵芯的磁力發(fā)生變化,從而使振膜動態(tài)地受到吸引和釋放。這種振動過程會產(chǎn)生聲波,通過空氣傳播出去,形成我們聽到的聲音。

技術(shù)參數(shù)

電磁式有源蜂鳴器的技術(shù)參數(shù)可能因具體型號而異,但一般包括以下幾個方面:

額定電壓:如1.5V、3V、5V、9V、12V等。工作電壓范圍:通常較寬,如1~15V。

額定電流:不同型號的產(chǎn)品額定電流可能不同,如Max30mA、Max40mA等。

操作溫度:一般在-20℃至+70℃之間。

重量:通常較輕,便于集成到各種電子產(chǎn)品中。

引腳連接:與MSP430G3507連接的是PB1引腳,PB1引腳還可以輸出PWM波,可以很好的更換為無源蜂鳴器,實現(xiàn)PWM驅(qū)動無源蜂鳴器的功能。

 

 

風機接口:

風機通過PWM(脈沖寬度調(diào)制)或簡單的GPIO控制。設(shè)計一個PWM或GPIO引腳接口,以及風機的供電和地線。

GPIO控制接口

GPIO輸出高電平或低電平來控制風機的開關(guān)狀態(tài)(通常不用于調(diào)速),是什么意思呢,是當GPIO輸出電平為高的時候,就讓風機轉(zhuǎn)動起來,如果要關(guān)就輸出的低電平,道理與工作時的狀態(tài)相反。

 

風機特性:

軸承:雙微型超細軸承 額定電壓:DC5V  工作電壓:4.5-5V  電流:0.2A   風量:5 m3/h  轉(zhuǎn)數(shù):13200RPM  噪音:18分貝 

水泵接口:

水泵的工作原理與風機的工作原理一樣,介紹一下水泵特性:

臥式小潛水泵,支持3V、4.5V、5V、6V等多種電壓,便于與不同電源設(shè)備匹配。

體積小、重量輕,便于安裝和維護。

lfodel型號

JT-DC3W-3,IT-DC3W-4.5

VoltageScope (DC)電壓

3V,4. 5V

Current(A)電流

0.12,0.18

Power(W)功率

0.36,0. 91

Jax TaterHead ()揚程

0.35,0. 55

Max FlowRat e (L/H)流量

80,100

LED照明燈珠:

與風機水泵的工作方式和控制方式同理。

 

LED照明燈珠特性:

發(fā)光顏色: 白色(正自光) 正向電流: 60mA 透鏡顏色: 黃色透鏡 色溫: 5500K~6000K 封裝: SMD5730 膠體顏色:黃色 半功率視角:120

  

  

加熱接口:

加熱的工作原理與風機的工作原理一樣,這里不多介紹。

根據(jù)使用需求和電源條件,選擇合適的電阻作為加熱裝置,是一個不錯的選擇,安全,方便快速。電阻的功率(W)應足夠大,以承受加熱時產(chǎn)生的熱量而不至于過熱燒毀。

連接電路:將電阻與電源和MOS管的控制電路(使用MSP430G3507輸出PWM控制)。根據(jù)溫度傳感器實現(xiàn)溫度控制,目地是將溫度傳感器根據(jù)連接到控制電路中把溫度轉(zhuǎn)成相關(guān)的數(shù)據(jù)傳感給MSP430G3507,經(jīng)過MSP430G3507編程分析出相對應的值,從而實現(xiàn)溫度的控制。

 

通過使用電阻作為加熱元件,可以更容易地實現(xiàn)加熱過程的精確控制,并與溫度傳感器配合使用,實現(xiàn)閉環(huán)的溫度控制系統(tǒng)。

電源管理

下圖是我選用的電源管理,在這個電源管理電路中,我實現(xiàn)的功能是從寬范圍輸入電壓(4.5V至28V)轉(zhuǎn)換到穩(wěn)定的5V輸出,并把從5V轉(zhuǎn)換到3.3V,是為了滿足不同元件的供電需求,方便更好的實現(xiàn)多模塊工作的需求。

 

目地

 寬電壓的電源輸入4.5V~28V轉(zhuǎn)5V 3A電源設(shè)計,這個就兼容了5V-12V-24V。

選用這種DC電路的設(shè)計,是為了更好的利用對就的資源,合理的使用電源的通用性,這樣轉(zhuǎn)換可以有效地將高于輸出電壓的輸入電壓轉(zhuǎn)換為穩(wěn)定的輸出電壓,并且具有較高的轉(zhuǎn)換效率。

 

參數(shù)選擇:

輸入電壓范圍:4.5V至28V

輸出電壓:5V

輸出電流:3A

轉(zhuǎn)換效率:盡可能高(以減少熱量產(chǎn)生)

類型:

同步降壓轉(zhuǎn)換器:通常比非同步轉(zhuǎn)換器具有更高的效率。

保護特性:

過流保護(OCP)

過熱保護(OTP)

輸入欠壓鎖定(UVLO)

 

選用線性穩(wěn)壓器

從5V轉(zhuǎn)換到3.3V,選擇線性穩(wěn)壓器(LDO)。線性穩(wěn)壓器簡單且成本低,但效率較低(特別是在輸入輸出壓差較大時)。

參數(shù)選擇:

輸入電壓:5V

輸出電壓:3.3V

輸出電流:1A

目地

電流需求不高且對效率要求不是非常嚴格,所以選擇LDO。如果需要高效率且電流需求較高,則選擇降壓型DC-DC轉(zhuǎn)換器。

型號:    TI的TPS54302D(4.5V-28V轉(zhuǎn)5V3A)

              安森美的AMS1117-3.3V

 

整體電路原理圖:

PCB圖

 

PCBA組合完整圖:

背面:

 

正面:

使用的開發(fā)板:

二、框架

4、 整體框架

硬件框架:

軟件框架:

三、軟件

5、 軟件功能:

1、 使用功能與接口:IIC、urat、gpio、PWM,中斷等。

2、 初始化MCU: 配置系統(tǒng)時鐘、GPIO端口、中斷控制器等。

3、 初始化外設(shè):IIC: 初始化IIC接口,用于連接溫濕度傳感器AHT21。

4、 UART: 初始化串口,用于調(diào)試或連接串口屏。

5、 GPIO: 初始化按鍵、LED指示燈、蜂鳴器、電機等控制引腳。

6、 定時器/中斷: 設(shè)置定時器中斷,用于實現(xiàn)延時、周期性任務等。

7、 延時100MS-1S時間,穩(wěn)定初始功能完成。

8、 進入主循環(huán)。

9、 等待開機。

10、 通過串口屏顯示系統(tǒng)啟動信息、當前時間、溫度、濕度等初始狀態(tài)。

數(shù)據(jù)采集: 通過IIC接口讀取AHT21溫濕度傳感器的數(shù)據(jù)。

數(shù)據(jù)處理: 將采集到的數(shù)據(jù)轉(zhuǎn)換為可讀格式,并判斷是否超出預設(shè)的閾值。

顯示更新: 更新串口屏顯示的數(shù)據(jù),包括當前溫度、濕度等。

按鍵檢測與處理:循環(huán)檢測按鍵狀態(tài),根據(jù)按鍵的不同操作執(zhí)行相應的功能。

設(shè)備控制:根據(jù)溫度和濕度的設(shè)定值與當前值的比較結(jié)果,控制風機(小電機)、加熱裝置等設(shè)備的開關(guān)。

報警處理:如果檢測到溫度或濕度超出預設(shè)的安全范圍,則激活蜂鳴器進行報警,并可能通過串口屏顯示警告信息。

 

6、 軟件配置:

定時器

GPIO、按鍵

 

 

IIC

 

 

串口:

  

 

系統(tǒng)初始:

SYSCONFIG_WEAK void SYSCFG_DL_init(void)

{

    SYSCFG_DL_initPower();

    SYSCFG_DL_GPIO_init();

    /* Module-Specific Initializations*/

    SYSCFG_DL_SYSCTL_init();

      

/*定時器0初始化*/    

         SYSCFG_DL_TIMER_0_init();    

/*串口0初始化*/        

    SYSCFG_DL_UART_0_init();  

/* Ensure backup structures have no valid state */

         gUART3Backup.backupRdy    = false;

/*spi 存儲芯片 初始化*/   

    SYSCFG_DL_SPI_0_init();

    /* Ensure backup structures have no valid state */

       gSPI_0Backup.backupRdy   = false;  

    SYSCFG_DL_SYSTICK_init();

}

SYSCONFIG_WEAK void SYSCFG_DL_GPIO_init(void)

{

    DL_GPIO_initPeripheralOutputFunction(

        GPIO_UART_0_IOMUX_TX, GPIO_UART_0_IOMUX_TX_FUNC);

    DL_GPIO_initPeripheralInputFunction(

        GPIO_UART_0_IOMUX_RX, GPIO_UART_0_IOMUX_RX_FUNC);

    DL_GPIO_initDigitalInput(KEY_PIN_21_IOMUX);

    DL_GPIO_initDigitalOutput(RGB_Red_PIN_26_IOMUX);

    DL_GPIO_initDigitalOutput(I2C_SCL_IOMUX);

    DL_GPIO_initDigitalOutput(I2C_SDA_IOMUX);

    DL_GPIO_setPins(I2C_PORT, I2C_SCL_PIN |

              I2C_SDA_PIN);

    DL_GPIO_enableOutput(I2C_PORT, I2C_SCL_PIN |

              I2C_SDA_PIN);

    DL_GPIO_clearPins(GPIOB, RGB_Red_PIN_26_PIN);

    DL_GPIO_enableOutput(GPIOB, RGB_Red_PIN_26_PIN);

    DL_GPIO_setUpperPinsPolarity(GPIOB, DL_GPIO_PIN_21_EDGE_RISE);

      

/*LED IO口初始化*/           

              DL_GPIO_initDigitalOutputFeatures(LED1_PIN_14_IOMUX,

              DL_GPIO_INVERSION_DISABLE, DL_GPIO_RESISTOR_PULL_DOWN,

              DL_GPIO_DRIVE_STRENGTH_LOW, DL_GPIO_HIZ_DISABLE);

    DL_GPIO_clearPins(LED1_PORT, LED1_PIN_14_PIN);

    DL_GPIO_enableOutput(LED1_PORT, LED1_PIN_14_PIN);             

/*串口1 使能IO口初始化*/                          

    DL_GPIO_initPeripheralOutputFunction(

        GPIO_UART1_IOMUX_TX, GPIO_UART1_IOMUX_TX_FUNC);

    DL_GPIO_initPeripheralInputFunction(

        GPIO_UART1_IOMUX_RX, GPIO_UART1_IOMUX_RX_FUNC);                

/*存儲芯片 AT24C 芯片使能IO口初始化*/                                   

    DL_GPIO_initDigitalOutput(GPIO_SCL_IOMUX);

    DL_GPIO_initDigitalOutput(GPIO_SDA_IOMUX);                          

/*存儲芯片 AT24C 芯片使能IO口初始化*/

    DL_GPIO_initPeripheralOutputFunction(

        GPIO_SPI_0_IOMUX_SCLK, GPIO_SPI_0_IOMUX_SCLK_FUNC);

    DL_GPIO_initPeripheralOutputFunction(

        GPIO_SPI_0_IOMUX_PICO, GPIO_SPI_0_IOMUX_PICO_FUNC);

    DL_GPIO_initPeripheralInputFunction(

        GPIO_SPI_0_IOMUX_POCI, GPIO_SPI_0_IOMUX_POCI_FUNC);

    DL_GPIO_initPeripheralOutputFunction(

        GPIO_SPI_0_IOMUX_CS0, GPIO_SPI_0_IOMUX_CS0_FUNC);

}

SYSCONFIG_WEAK void SYSCFG_DL_SYSCTL_init(void)

{

       //Low Power Mode is configured to be SLEEP0

    DL_SYSCTL_setBORThreshold(DL_SYSCTL_BOR_THRESHOLD_LEVEL_0);

 

   

       DL_SYSCTL_setSYSOSCFreq(DL_SYSCTL_SYSOSC_FREQ_BASE);

       /* Set default configuration */

       DL_SYSCTL_disableHFXT();

       DL_SYSCTL_disableSYSPLL();

  DL_SYSCTL_enableMFCLK();

      

 

       DL_SYSCTL_setMCLKDivider(DL_SYSCTL_MCLK_DIVIDER_DISABLE);

       DL_SYSCTL_setULPCLKDivider(DL_SYSCTL_ULPCLK_DIV_1);

 

}

SYSCONFIG_WEAK void SYSCFG_DL_TIMER_0_init(void) {

 

    DL_TimerG_setClockConfig(TIMER_0_INST,

        (DL_TimerG_ClockConfig *) &gTIMER_0ClockConfig);

 

    DL_TimerG_initTimerMode(TIMER_0_INST,

        (DL_TimerG_TimerConfig *) &gTIMER_0TimerConfig);

    DL_TimerG_enableInterrupt(TIMER_0_INST , DL_TIMERG_INTERRUPT_ZERO_EVENT);

    DL_TimerG_enableClock(TIMER_0_INST);

}

SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void)

{

    DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig);

 

    DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config);

    /*

     * Configure baud rate by setting oversampling and baud rate divisors.

     *  Target baud rate: 9600

     *  Actual baud rate: 9598.08

     */

    DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X);

    DL_UART_Main_setBaudRateDivisor(UART_0_INST, UART_0_IBRD_4_MHZ_9600_BAUD, UART_0_FBRD_4_MHZ_9600_BAUD);

    /* Configure Interrupts */

    DL_UART_Main_enableInterrupt(UART_0_INST,

                                 DL_UART_MAIN_INTERRUPT_RX);

    DL_UART_Main_enable(UART_0_INST);

}

四、工作畫面

開機LOGO畫面:

控制系統(tǒng)畫面與連接實物圖:

五、總結(jié)

實現(xiàn)了項目優(yōu)化空間擴展,在現(xiàn)有項目的基礎(chǔ)上,進一步探索和優(yōu)化可以顯著提升系統(tǒng)的功能性和實用性。

實現(xiàn)了模塊化擴展接口,設(shè)計統(tǒng)一的模塊接口標準,通過GPIO、IIC或串口,使得不同類型的從機模塊(傳感器模塊、執(zhí)行器模塊等)能夠輕松通信接入系統(tǒng),增強系統(tǒng)的可擴展性和靈活性。

利用動態(tài)模塊管理,實現(xiàn)一個模塊管理器,能夠動態(tài)地識別、配置和管理接入的從機模塊,包括模塊的地址分配、類型識別、參數(shù)配置等,從而支持更復雜的系統(tǒng)架構(gòu)。

基于現(xiàn)有通信接口(IIC),設(shè)計并實現(xiàn)一套自定義的通信協(xié)議,以提高數(shù)據(jù)傳輸效率和數(shù)據(jù)安全性。

探索使用輕量級機器學習算法對采集到的數(shù)據(jù)進行實時分析,異常檢測、趨勢預測等,實現(xiàn)系統(tǒng)的智能化水平。

集成多種傳感器,除了溫度檢測外,還可以增加集成濕度、光照、氣壓、加速度等多種傳感器,實現(xiàn)多維度的環(huán)境感知。

傳感器數(shù)據(jù)融合,通過多傳感器數(shù)據(jù)融合技術(shù),提高環(huán)境分析的準確性,為決策提供更全面的信息支持。

用戶界面與交互,添加顯示屏模塊,實時顯示系統(tǒng)狀態(tài)和監(jiān)測數(shù)據(jù),提高用戶體驗。

 

六、心得體會深化

在回顧項目經(jīng)歷時,除了對技術(shù)細節(jié)的總結(jié),還可以從以下幾個方面深化心得體會:

問題解決能力:分享在調(diào)試過程中遇到的難題及解決方法,反思如何更有效地排查和解決問題。

持續(xù)學習與創(chuàng)新:鼓勵持續(xù)學習新技術(shù)、新工具,以及如何在項目中勇于創(chuàng)新,嘗試新的解決方案。

職業(yè)規(guī)劃與展望:結(jié)合項目經(jīng)驗,思考未來在嵌入式系統(tǒng)、物聯(lián)網(wǎng)等領(lǐng)域的職業(yè)規(guī)劃和發(fā)展方向和硬件技術(shù)水平的更加深層次的提升與進步。

視頻演示:

全部回復(0)
正序查看
倒序查看
現(xiàn)在還沒有回復呢,說說你的想法
發(fā)