91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于CW32L083的線控器方案設計

孟子一 ? 來源:孟子一 ? 作者:孟子一 ? 2023-06-25 14:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

基于CW32L083的線控器方案設計

前言

線控器,是中央空調的“指揮家”。是空調運行的第一步,也是日常調節(jié)的中樞,通過線控器指令的傳導,空調就會做出相應的服務。隨著空調普及率的提高,空調線控器及遙控器的產量不斷上升。又由于單片機的集成度高,功能強,通用性好,且其體積小,重量輕,能耗低,可靠性高,抗干擾能力強等特點,所以大部分空調遙控器和線控器都采用單片機作為主控制器。

芯源推出的CW32系列產品已全面實現(xiàn) -40℃ ~ 105℃超寬溫度范圍和 1.65V~5.5V 超寬工作電壓,面向最廣泛的各種基礎應用。CW32系列HBM ESD、MM ESD、CDM ESD、Latch up@105℃全面達到JEDEC最高等級,所以CW32系列具備穩(wěn)定可靠的eFLASH制造,確保了工業(yè)產品的高可靠性。此次產品的研發(fā)就是基于芯源產品的系列有點進行的,并將對產品進行ESD測試等內容。

【開發(fā)記錄】

第一步:硬件設計及PCB制板

此線控器是基于武漢芯源半導體推出的CW32L083低功耗系列產品設計研發(fā)而成的,其主要包括MCU、觸摸模塊、通信模塊、紅外遙控模塊、存儲模塊、編程接口等部分,設計系統(tǒng)原理框圖如圖1所示:

wps

圖1 系統(tǒng)原理框圖

該線控器自帶背光,白底黑字液晶,觸摸按鍵,可顯示和設置時鐘,可預約24小時開關機(倒計時、時刻定時功能),可調節(jié)7檔風速、上下掃風和左右掃風,可切換自動、制冷、初始、送風、自熱等模式,不僅可以通過WiFi與手機相連使用APP控制,還可以接收紅外遙控器控制,具有機組參數查詢與設置功能,防潮設計、不易受潮。其設計原理圖及PCB板實物圖分別如圖2、圖3所示:

線控器原理圖

圖2 線控器原理圖

線控器

圖3 線控器PCB板

第二步:軟件設計

軟件部分主要分為以下幾部分內容,軟件構成如圖4所示:

線控器代碼

圖4 線控器程序圖

  1. LCD顯示部分,LCD主要顯示溫度,風速,模式等系列設置內容,例如模式設置內容為:

/*

  • @brief 運行模式顯示
  • @detail 顯示自動、制暖、制冷、抽濕和送風

*/

void display_mode(void)

{

if (G_CleanState)

	return;

switch(G_SystemMode)

{

	case SYSTEM_MODE_AUTO: 

		lcd_SystemMode_Auto;

		break;

	case SYSTEM_MODE_WARM: 

		lcd_SystemMode_WARM;

		break;

	case SYSTEM_MODE_COLD: 

		lcd_SystemMode_COLD;

		break;

	case SYSTEM_MODE_COLD_WET: 

		//lcd_SystemMode_COLD;

		lcd_SystemMode_WET;

		break;

	case SYSTEM_MODE_WET: 

		lcd_SystemMode_WET;

		break;

	case SYSTEM_MODE_WIND:

		lcd_SystemMode_WIND;

		break;

}

}

  1. 蜂鳴器部分,主要實現(xiàn)功能是按鍵響應,例程如下:

void ppg_program(void)

{

if(key_keepon_beep)

{

PPG_time=0;

return;

}

switch(PPG_type)

{

case 0: ppg_off(); break;

case 1: ppg_type1(); break;

case 2: ppg_type2(); break;

case 3: ppg_type3(); break;

case 4: ppg_type4(); break;

case 5: ppg_type5(); break;

case 6: ppg_type6();break;

default: ppg_off(); break;

}

}

  1. 存儲部分,存儲用的是24C04,通過使用IIC通訊方式與MCU進行連接的,用來存儲用戶設置的相關信息等,例程如下:

uint8_t I2C_WriteByte(uint8_t Byte)

{

uint8_t i=0;

I2C_SDA_OUTPUT();

delay_5us();

for(i=0;i< 8;i++)

{   

    if (Byte & 0x80)

        I2C_SDA_HIGH();

    else

        I2C_SDA_LOW();

    NOP();     

    I2C_SCL_HIGH();

    delay_5us();

    I2C_SCL_LOW();

    delay_5us();

    Byte < <= 1;

}   

I2C_SDA_INPUT();

I2C_SCL_HIGH();

delay_5us();

if (I2C_SDA_READ())

    i = 0x01;

else

    i = 0x00;

I2C_SCL_LOW();

return i;

}

  1. 按鍵部分,按鍵主要是用來處理按鍵信息,實現(xiàn)用戶想要設置的內容,例程如下:

    //功能部分

void key2_deal(void)

{

backlight_cnt=0;

backlight_flag=1;

if(self_check_flag)

	return;

if (G_FeatureSetStatus)

	return;

if (set_status == SET_CLOCK)

	return;

if (G_CleanState)

	return;

/******************************************************/

/* (1)短按釋放 */

/******************************************************/

if(key2_down_flag)

{

	if(set_status)

	{

		set_status=NO_SET;

		G_IrSendFlag |= IR_NORMAL_SEND_FLAG;

		G_TxTime1sCnt=0;

		if(beep_enable)

		{

			ppg_off();PPG_type=1;PPG_time=0;

		}

	}

	else if(server_set_status)

	{

		server_change_deal();

		beep_enable_deal(1);

	}

	else if(G_NanoeSingle)

	{

		G_NanoeSingle=0;

		nanoe_single_write = 1;

		G_SystemMode=G_NanoeMode;

		system_mode_write=1;

		beep_enable_deal(1);

		G_IrSendFlag |= IR_NORMAL_SEND_FLAG;

		G_TxTime1sCnt=0;

		

	}

	else

	{

		if(mode_lock==0)    //模式 0--自動  1-制暖  2--制冷  3--抽濕 4--送風 

		{

			//G_FreshAir = 0;

			if (G_StrongColdState)

			{

				G_StrongColdState = 0;

				strong_cold_write = 1;

				//G_Rx0SendFlag |= RX0_SEND_FLAG_NORMAL;

			}

			if (G_StrongWarmState)

			{

				G_StrongWarmState = 0;

				strong_warm_write = 1;

				//G_Rx0SendFlag |= RX0_SEND_FLAG_NORMAL;

			}
  1. 觸摸部分,由于CW32L083本身沒有觸摸功能,所以另外又搭配了YS806電容感應式芯片,此芯片也是通過I2C與主芯片進行通訊的,具體部分例程如下:

uint8_t I2C_806_ReadByte(uint8_t ack)

{

unsigned char i, Data;

I2C_806_SDA_INPUT();

Data = 0x00;

for(i = 0; i < 8; i++){

Data < <= 1;

I2C_806_SCL_HIGH();

DelayIIC(HALF_CLK_CYCLE);

if(I2C_806_SDA_READ()){

Data |= 0x01;

} else { }    DelayIIC(HALF_CLK_CYCLE);

I2C_806_SCL_LOW();

DelayIIC(CLK_CYCLE);

}

I2C_806_SDA_OUTPUT(); //send ACK or not

if(ack){

I2C_806_SDA_HIGH();

} else {

I2C_806_SDA_LOW();

}

I2C_806_SCL_HIGH();

DelayIIC(CLK_CYCLE);

I2C_806_SCL_LOW();

DelayIIC(CLK_CYCLE);

return Data;

}

除以上部分外還有其他例如背光、紅外等程序內容,在此就不一一贅述。

第三步:下載調試

線控器安裝液晶屏后,只需下載程序即可上電調試。為了方便刷程序,將程序的hex文件燒錄至離線編程器中,四線插入正確按下燒錄鍵即可燒錄成功。燒錄后通過按不同的觸控按鈕,實現(xiàn)其相對應的功能。然后再對產品進行1.5KV電壓干擾下測試,測試結果展示如下圖5所示,其功能及狀態(tài)屬于正常。

8f4aac2837ccf9c5dfea52f5da73882圖5 1.5KV干擾下測試狀態(tài)

第四步:總結

以上即為本次線控器設計的全部基本內容,可以方便快捷的滿足客戶的需求,控制空調溫度,調節(jié)空調模式、風速等,當然也有不足,后續(xù)將繼續(xù)改進。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18925

    瀏覽量

    398124
  • pcb
    pcb
    +關注

    關注

    4404

    文章

    23878

    瀏覽量

    424244
  • 線控
    +關注

    關注

    0

    文章

    19

    瀏覽量

    7016
  • 遙控器
    +關注

    關注

    18

    文章

    877

    瀏覽量

    71854
  • CW32
    +關注

    關注

    1

    文章

    299

    瀏覽量

    1846
  • 武漢芯源
    +關注

    關注

    2

    文章

    67

    瀏覽量

    715
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CW32L083能替代STM32F103的MCU嘛?

    下面是我在官網找的CW32L083產品特性: ?內核:ARM? Cortex?-M0+ --最高主頻 64MHz ?工作溫度:-40℃ 至 85℃;工作電壓:1.65V 至 5.5V ?存儲容量
    發(fā)表于 01-27 09:49

    請問如何配置和使用CW32L083系列微控制器的ADC和DAC模塊?

    如何配置和使用CW32L083系列微控制器的ADC和DAC模塊?
    發(fā)表于 12-16 08:27

    請問如何解決CW32L083系列微控制器在通信過程中可能出現(xiàn)的數據錯誤問題?

    如何解決CW32L083系列微控制器在通信過程中可能出現(xiàn)的數據錯誤問題?
    發(fā)表于 12-16 08:01

    CW32L083系列微控制器有哪些應用場景?

    CW32L083系列微控制器有哪些應用場景
    發(fā)表于 12-16 07:52

    在進行低功耗設計時如何優(yōu)化CW32L083系列微控制器的功耗?

    在進行低功耗設計時,如何優(yōu)化CW32L083系列微控制器的功耗?
    發(fā)表于 12-16 06:03

    請問CW32L083如何實現(xiàn)AUTOTRIM時鐘校準?

    如題,CW32L083如何實現(xiàn)AUTOTRIM時鐘校準?有沒有HSIOSC時鐘校準編程示例?
    發(fā)表于 12-16 06:02

    請問如何利用CW32L083系列微控制器的內部Flash存儲器進行程序升級和數據存儲?

    如何利用CW32L083系列微控制器的內部Flash存儲器進行程序升級和數據存儲?
    發(fā)表于 12-15 07:39

    在開發(fā)過程中如何利用CW32L083系列微控制器的官方固件庫進行程序編寫和調試?

    在開發(fā)過程中,如何利用CW32L083系列微控制器的官方固件庫進行程序編寫和調試?
    發(fā)表于 12-15 07:23

    CW32L083系列微控制器的時鐘配置有哪些選項?

    CW32L083系列微控制器的時鐘配置有哪些選項?如何選擇合適的時鐘源?
    發(fā)表于 12-15 07:09

    CW32L083的基本定時器

    CW32L083 內部集成 3 個基本定時器 (BTIM),每個 BTIM 完全獨立且功能完全相同,各包含一個 16bit 自動重裝 載計數器并由一個可編程預分頻器驅動。BTIM 支持定時器模式
    發(fā)表于 12-15 06:23

    在使用CW32L083系列微控制器時如何配置中斷向量表?

    在使用CW32L083系列微控制器時,如何配置中斷向量表?
    發(fā)表于 12-15 06:17

    在使用CW32L083系列微控制器時如何進行系統(tǒng)復位和看門狗定時器配置?

    在使用CW32L083系列微控制器時,如何進行系統(tǒng)復位和看門狗定時器配置?
    發(fā)表于 12-10 06:46

    CW32L083的內置獨立校準的RTC這一般怎么玩?

    CW32L083的內置獨立校準的RTC這一般怎么玩?
    發(fā)表于 12-09 07:04

    CW32L083系列微控制器有哪些主要特點?

    CW32L083系列微控制器有哪些主要特點
    發(fā)表于 12-09 06:34

    CW32L083有哪些應用場景?

    CW32L083有哪些應用場景
    發(fā)表于 11-24 07:37