【《磁共振式無線充電器相關參數計算和軟件設計案例》2500字】_第1頁
【《磁共振式無線充電器相關參數計算和軟件設計案例》2500字】_第2頁
【《磁共振式無線充電器相關參數計算和軟件設計案例》2500字】_第3頁
【《磁共振式無線充電器相關參數計算和軟件設計案例》2500字】_第4頁
【《磁共振式無線充電器相關參數計算和軟件設計案例》2500字】_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

磁共振式無線充電器相關參數計算和軟件設計案例濾波電容C1:由下式可以求得:(3-1)穩(wěn)壓二極管D采用12V的IN4742系列;變壓器:功率為10w,頻率為190HZ;SP型補償電容用于串聯(lián)諧振電路補償:(3-2)發(fā)射線圈和接收線圈的耦合系數由串聯(lián)耦合測試法得到。將兩個線圈串聯(lián)正接:(3-3)串聯(lián)正接:(3-4)得到兩個線圈的互感:(3-5)耦合系數:(3-6)接收電路的整流器所接濾波電容C2:(3-7)其中:二、軟件系統(tǒng)設計4.1軟件系統(tǒng)架構該智能無線充電器的軟件部分可以分為系統(tǒng)調用層和設備驅動層兩部分,系統(tǒng)調用層主要負責設備的具體功能設計,給模塊加入指定的功能設備驅動層主要負責初始化AD轉換,SPI通信和GPIO接口等基本外設。軟件結構框圖如圖十九所示。ARM驅動程序流程圖如下圖所示:4.2A/D轉換實現4.2.1A/D轉換的配置接下來對STM32F103ZE單次轉換模式進行了相關配置,用于完成充電設備對電池設備電量的檢測。A/D轉換采用ADC通道1。這里需要說明一下,使用到的庫函數文件存儲在在stm32f1xx_adc.文件和tm32f1xx_adc.c文件中。配置ADC1可以分五個步驟完成:開啟GPIOA口時鐘ADC1時鐘,然后設置模擬輸入端口為PA1。同時要把PA1復用為ADC,ADC1時鐘還需要進行使能。使能GPIOA時鐘和ADC1時鐘的具體方法為:__HAL_RCC_ADC1_CLK_ENABLE();//使能ADC1時鐘__HAL_RCC_GPIOA_CLK_ENABLE();//開啟GPIOA時鐘初始化GPIOA1為模擬輸入的關鍵代碼為:GPIO_InitTypeDefGPIO_Initure;GPIO_Initure.Pin=GPIO_PIN_1;//PA1GPIO_Initure.Mode=GPIO_MODE_ANALOG;//模擬GPIO_Initure.Pull=GPIO_NOPULL;//不帶上下拉HAL_GPIO_Init(GPIOA,&GPIO_Initure)(2)初始化ADC,設置ADC時鐘分頻系數、分辨率、模式、掃描方式、對齊方式。在HAL庫中,初始化ADC是通過函數HAL_ADC_Init來實現的,該函數聲明為:HAL_StatusTypeDefHAL_ADC_Init(ADC_HandleTypeDef*hadc);該函數只有一個入口參數hadc,為ADC_HandleTypeDef結構體指針類型,結構體定義為下圖所示:該結構體定義和其他外設比較類似,第二個成員變量Init含義:結構體ADC_InitTypeDef類型,結構體ADC_InitTypeDef定義為下圖所示:和其他外設相同,ADC的MSP初始化函數在HAL庫中也是可以找到的。通常,MSP初始化函數中都會存放GPIO初始化函數和時鐘使能函數。函數聲明為:voidHAL_ADC_MspInit(ADC_HandleTypeDef*hadc);(4)開啟AD轉換器。在完成了步驟(1),(2),(3)之后AD轉換器就打開了(通過寄存器控制)。HAL_ADC_Start(&ADC1_Handler);//開啟ADC(5)配置通道,讀取通道ADC值。此時就已經完成了A/D轉換的預設,準備就緒。設置規(guī)則序列1里面的通道,在啟動ADC轉換之前,需要設置在規(guī)則序列一里中的通道。只有完成這一步之后,才能在結束轉換之后,讀取A/D轉換的最終結果。設置采樣周期和規(guī)則序列通道的函數是:HAL_StatusTypeDefHAL_ADC_ConfigChannel(ADC_HandleTypeDef*hadc,ADC_ChannelConfTypeDef*sConfig);該函數有入口參數有兩個:入口參數1:結構體指針類型入口參數2:,是結構體指針類型其結構體定義如下圖所示:盡管結構體有四個成員變量,但是對于STM32F103ZE只用到了Channe1,Rank,SamplingTime前面三個成員變量。Channel表示為設定為ADC通道1規(guī)則序列中:第幾個轉換是用Rank來設置要配置的通道采樣時間用SamplingTime來配置。具體操作為:完成對通道1的配置和使能ADC之后,就可以開始讀ADC轉換的值。這里采用查詢的方式讀取A/D轉換的結果即電池設備鋰電池的電量信息,但是轉換也是需要時間的,因此這里需要等待轉換結束。此過程HAL庫提供了專用函數:HAL_ADC_PollForConversion的定義為:HAL_StatusTypeDefHAL_ADC_PollForConversion(ADC_HandleTypeDef*hadc,uint32_tTimeout);等待上一次轉換結束之后,接下來就是讀取ADC值,函數為:uint32_tHAL_ADC_GetValue(ADC_HandleTypeDef*hadc);4.2.2A/D轉換源碼同時,在HARDWARE分組下面新建了adc.c,也添加了對應的頭文件adc.h。adc.c文件中的代碼是對A/D轉換相關函數的初始化,adc.h文件中的代碼是和A/D轉換相關的操作函數。下圖分別是adc.c文件,adc.h文件和main.c文件中的源碼。(1)adc.c文件:(2)adc.h文件:main.c文件:4.3SPI通信實現4.3.1SPI的特點串行外圍設備接口就是SPI。如今在FLASH、EEPROM、AD轉換器、實時時鐘、數字信號解碼器和數字信號處理器DSP數字信號解碼器之間均會用到SPI。SPI是一種通信總線,其基本特性是:高速、全雙工、同步;在PCB設計時,其芯片的管腳上只占用4根線,為PCB的布局節(jié)省了空間,提高了芯片管腳的使用效率,因此這也使得SPI應用十分廣泛。該智能無線充電系統(tǒng)的ARM核:STM32F103ZE也有SPI接口。SPI接口一般使用4條線通信:(1)MISO:MastInSlaveOut,從主機設備(Mast)數據輸入,從從機設備(Slave)數據輸出。(2)MOSI:MastOutSlaveIn,從主機設備(Mast)數據輸出,從從機設備(Slave)數據輸入。(3)SCLK:由主設備產生的時鐘信號。(4)CS:在主設備控制下從設備片選信號。SPI主要特點有:可以同時發(fā)出和接收串行數據可以當作主機或從機工作提供頻率可編程時鐘發(fā)送結束中斷標志寫沖突保護總線競爭保護等根據外設工作要求,其輸出串行同步時鐘極性和相位可以進行配置,可以實現外設和SPI模塊進行數據交換,時鐘極性(CPOL)對傳輸協(xié)議沒有重大的影響。(1)CPOL=0時,串行同步時鐘的空閑狀態(tài)為low(2)CPOL=1時,串行同步時鐘的空閑狀態(tài)為highCPHA(時鐘相位)能夠在數據傳輸時,從兩種不同的傳輸協(xié)議中選擇傳輸協(xié)議之一進行傳輸數據:CPHA=0時,數據采樣在串行同步時鐘的第一個跳變沿(↑或↓)進行CPHA=1時,數據采樣在串行同步時鐘的第二個跳變沿(↑或↓)進行。與SPI主模塊通信的外設備時鐘相位和極性應該和SPI主模塊一致。4.3.1SPI的配置在頭文件stm32f1xx_spi.h和stm32f1xx_spi.c中定義了SPI相關庫函數。以下五個步驟是對STM32F103ZE的主模式配置,具體步驟如下:配置相關引腳的復用功能SPI2時鐘需要先對其進行使能。通過寄存器的第14位對SPI2的時鐘進行設定。其次要將SPI2的相關引腳設置為輸出復用模式,若沒有此步驟,這些I/O口的狀態(tài)任然是默認,即標準輸入輸出端口。這里使用的作為三個復用功能的I/O口是GPIOB-13、GPIOB-14、GPIOB-15。對SPI2時鐘使能的具體C語言代碼如下圖所示:通過SPI2_CR1來設置SPI2工作模式將SPI2的模式設定為主機模式,數據的格式是8位,然后通過CPHA位和CPOL位來設置采樣方式和SCK時鐘極性。并設置SPI2的時鐘頻率(時鐘頻率的設定范圍是0MH~Z18MHZ),數據的格式也可以通過CPHA位和CPOL位來配置(LSB和MSB的前后順序)。在HAL庫中初始化SPI的函數為:HAL_StatusTypeDefHAL_SPI_Init(SPI_HandleTypeDef*hspi);下面我們來看看SPI_HandleTypeDef定義如下圖所示:該結構體有2個指針類型變量和6個成員變量。第二個成員變量Init,它是結構體類型,該結構體定義如下圖所示:通過配置SPI2_CR1寄存器的第六位對SPI2的使能,使能SPI2就是將其啟動。接下來,SPI通訊就可以開始了。庫函數使能SPI2的方法為:__HAL_SPI_ENABLE(&SPI2_Handler);//對SPI2使能(4)SPI傳輸數據為了完成數據通信,需要有接收數據的函數和發(fā)送數據的函數,HAL庫提供的發(fā)送數據函數原型為:HAL_StatusTypeDefHAL_SPI_Transmit(SPI_HandleTypeDef*hspi,uint8_t*pData,uint16_tSize,uint32_tTimeout);其含義是向SPQX數據寄存器寫入數據,并將該數據發(fā)送出去。HAL庫提供的接受數據函數原型為:HAL_StatusTypeDefHAL_SPI_Receive(SPI_HandleTypeDef*hspi,uint8_t*pData,uint16_tSize,uint32_tTimeout);其含義是從SPIx數據寄存器讀出接受到的數據。SPI通信的原理全雙工(發(fā)送一個Byte和接受一個Byte是同時進行的),所以HAL庫也提供了一個發(fā)送接收同步函數:HAL_StatusTypeDefHAL_SPI_TransmitReceive(SPI_HandleTypeDef*hspi,uint8_t*pTxData,uint8_t*pRxData,uint16_tSize,uint32_tTimeout);(5)設置SPI傳輸速

溫馨提示

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

評論

0/150

提交評論