面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開發(fā)23STM32充電樁管理系統(tǒng)設(shè)計與實現(xiàn)課件_第1頁
面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開發(fā)23STM32充電樁管理系統(tǒng)設(shè)計與實現(xiàn)課件_第2頁
面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開發(fā)23STM32充電樁管理系統(tǒng)設(shè)計與實現(xiàn)課件_第3頁
面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開發(fā)23STM32充電樁管理系統(tǒng)設(shè)計與實現(xiàn)課件_第4頁
面向物聯(lián)網(wǎng)的嵌入式系統(tǒng)開發(fā)23STM32充電樁管理系統(tǒng)設(shè)計與實現(xiàn)課件_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、CC2530和STM32嵌入式接口技術(shù)開發(fā)5.9 STM32充電樁管理系統(tǒng)設(shè)計與實現(xiàn)第1頁,共16頁。硬件設(shè)計軟件設(shè)計功能實現(xiàn)第2頁,共16頁。項目場景使用ADC功能對車輛電池電壓進(jìn)行采集,通過LED燈來顯示車輛充電電量,通過繼電器控制充電開關(guān),當(dāng)處于充電狀態(tài)時RGB燈循環(huán)閃爍,按鍵K1用于控制充電開關(guān),按下K2可以查詢當(dāng)前電池電量。查詢信息通過串口向上位機(jī)打印,上位機(jī)打印操作狀態(tài)信息。充電樁如下圖所示:第3頁,共16頁。硬件設(shè)計通過分析項目需求可知充電樁管理系統(tǒng)所使用的硬件有LED燈、RGB燈、繼電器、按鍵和電池電壓采集。第4頁,共16頁。硬件設(shè)計按鍵與LED原理圖第5頁,共16頁。硬件設(shè)計

2、ADC采集原理圖第6頁,共16頁。繼電器與RGB燈原理圖第7頁,共16頁。軟件設(shè)計需求分析對車輛電池電量進(jìn)行采集并使用LED燈顯示電量。繼電器作為充電樁充電開關(guān)受K1操作的控制,充電狀態(tài)通過RGB燈顯示??梢酝ㄟ^操作按鍵K2實現(xiàn)對電池電量的查詢。第8頁,共16頁。功能邏輯分解第9頁,共16頁。驅(qū)動層軟件設(shè)計驅(qū)動層軟件設(shè)計主要是對系統(tǒng)相關(guān)的硬件外設(shè)與和驅(qū)動進(jìn)行編輯。驅(qū)動層編輯的對象有按鍵、LED燈、繼電器、ADC模數(shù)轉(zhuǎn)換、串口等。第10頁,共16頁。系統(tǒng)初始化事件模塊void system_init(void)NVIC_PriorityGroupConfig(NVIC_PriorityGroup

3、_2); /設(shè)置系統(tǒng)中斷優(yōu)先級分組 2delay_init(168); /延時初始化timer_init(); /系統(tǒng)時鐘初始化usart_init(115200); /串口初始化relay_init(); /繼電器初始畫led_init(); /LED 初始化AdcInit(); /ADC初始化printf(rn這是一個充電樁項目案例rn); printf(場景:充電樁通過LED燈顯示當(dāng)前充電車輛電池電壓,充電樁可以開啟和關(guān)閉充電,可以查詢電池電壓!rn);printf(功能:系統(tǒng)ADC檢測電池電壓,LED1LED4表示電池電量,電量每5S檢測一次并打印。rn);printf( 按鍵K1作為

4、充電按鈕,RGB燈閃爍顯示正在充電,繼電器1作為充電控制閥。rn);printf( 按鍵K2作為查詢按鈕,按動一次,系統(tǒng)查詢一次電量。rn);第11頁,共16頁。充電操作模塊void charging_Operation(void)static uint8_t charge_flag = 0; /定義充電標(biāo)志位static uint8_t last_state = 0; /定義上一次充電標(biāo)志位狀態(tài)if(key1_semaphore) /如果按鍵KEY1動作charge_flag = 1; /充電標(biāo)志位取反key1_semaphore -; /充電標(biāo)志位信號量減一if(charge_flag)

5、chargeIndicator(CHARGE_ON); /如果充電標(biāo)志位有效開啟充電指示燈else chargeIndicator(CHARGE_OFF); /否則關(guān)閉充電指示燈等第12頁,共16頁。充電操作模塊if(charge_flag != last_state) /如果充電標(biāo)志位狀態(tài)發(fā)生變化if(charge_flag) /如果充電標(biāo)志位有效chargeSwitch(CHARGE_STAR); /開始充電printf(Start charging !rn); /打印開始充電信息elsechargeSwitch(CHARGE_STOP); /停止充電printf(End the char

6、ge !rn); /打印停止充電信息last_state = charge_flag; /存儲當(dāng)前標(biāo)志位信息 第13頁,共16頁。電量查詢模塊void electricityQuert_Operation(void)if(key2_semaphore) /如果按鍵信號量不為零eventFlagStructure.VoltDete_flag = 1; /電量檢測操作標(biāo)志位置一key2_semaphore -; /信號量減一 第14頁,共16頁。電量采集模塊void voltageDetection_Operation(void)char buf128; /定義數(shù)據(jù)緩存Voltage = AdcG

7、et(1)*0.003; /獲取電池電壓信息Percentage = Voltage * 8; /獲取電量百分比信息 /編輯電量信息sprintf(buf, The battery electric quantity is %2.2f%! rn, Percentage);usart_send(unsigned char *)buf,strlen(buf); /發(fā)送電量信息if(Percentage 98) /如果電量大于98%chargeSwitch(CHARGE_STOP); /關(guān)閉充電printf(Complete the charge !rn); /打印充電完成信息voltageIndication()

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論