|
無線充電的學習,有畫板資料
Altium Designer畫的PCB圖如下:
單片機源程序如下:
- #include "power.h"
- #include "rc.h"
- #include "adc.h"
- #include "usart.h"
- FILT VccFilt = {0}; //電壓濾波系數(shù)
- FILT CurrentFilt = {0}; //電流濾波系數(shù)
- unsigned long CurrentValue = 0; //系統(tǒng)輸出電流
- /***********************************************************************
- 函數(shù)名稱:Current_GetValue
- 函數(shù)功能:獲取當前的輸出電流
- 輸入?yún)?shù):無
- 返回參數(shù):輸出電流,mA
- 備 注:無
- ************************************************************************/
- unsigned int Current_GetValue(void)
- {
- Adc_GetValue(AN4);
- CurrentValue = Rc_Filter(Adc_GetValue(AN4),&CurrentFilt); //當前的電流采樣
- CurrentValue *= 0.9988878393665; //當前電流mA
- CurrentValue *= 1.18; //校準,和USB測試儀器的測量電流匹配
- if(CurrentValue > 65536)CurrentValue = 60000; //防止瞬間過大,超過返回范圍
- return CurrentValue;
- }
- /***********************************************************************
- 函數(shù)名稱:Power_GetValue
- 函數(shù)功能:獲取當前的系統(tǒng)功率
- 輸入?yún)?shù) :無
- 返回參數(shù) :輸出當前功率
- 備 注:無
- ************************************************************************/
- unsigned char Power_GetValue(void)
- {
- unsigned int voltValue;
- Adc_GetValue(ANPOWER);
- voltValue = Rc_Filter(Adc_GetValue(ANPOWER),&VccFilt);
- voltValue = (voltValue * 5) >> 8; //獲取當前電壓值
- CurrentValue = CurrentValue * voltValue / 1000;
- if(CurrentValue > 256)CurrentValue = 200;
- return CurrentValue; //當前功率W,保留小數(shù)點后一位
- }
復制代碼
|
-
-
-
-
PCB1.zip
2020-8-12 14:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
3.29 MB, 下載次數(shù): 139, 下載積分: 黑幣 -5
pcb
-
-
WireSend V1_1.zip
2020-8-12 14:46 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
183.91 KB, 下載次數(shù): 155, 下載積分: 黑幣 -5
無線充代碼
評分
-
查看全部評分
|