久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2337|回復(fù): 3
收起左側(cè)

雙路DC-DC 電流成比例 STM32程序

[復(fù)制鏈接]
ID:574739 發(fā)表于 2019-6-29 20:05 | 顯示全部樓層 |閱讀模式
類似15年國賽電源題目,兩路DC-DC電壓控制,電流成比例

單片機(jī)源程序如下:
  1. #include "stm32f10x.h"
  2. #include "BSP_Config.H"
  3. #include "oled.h"
  4. #include "pwm_output.h"
  5. #include "adc.h"
  6. #include "stdio.h"
  7. #include "pid.h"
  8. #include "key.h"

  9. /*---------------變量區(qū)------------------*/
  10. /*sprintf顯示所用數(shù)組*/
  11. u8 dataStr[30];
  12. /*DMA存儲(chǔ)的值,volatile類型*/
  13. extern __IO u16 ADC_ConvertedValue[50][3];
  14. float Current;
  15. /*ADC濾波后原始數(shù)據(jù)*/
  16. u16 ADC_Data_raw[3]={0,0,0};//adc原始數(shù)據(jù)       
  17. u8 Load_flag=0;
  18. extern u8 mode;//按鍵設(shè)置模式
  19. extern float adc[3];
  20. float PID1,PID2,PID3,Cur1,Cur2,Vol;
  21. u16 pid_except=2480;
  22. u16 pid_except1=2480;
  23. /*---------------變量區(qū)------------------*/
  24. int main(void)
  25. {  
  26.   SystemInit();
  27.   SysTick_init();                     //延時(shí)初始化
  28.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);

  29.         TIM1_Mode_Config(6000-1,0);
  30.         TIM3_Mode_Config(6000-1,0);
  31.   SPI2_Init();                              //初始化SPI硬件口       
  32.         KEY_Init();
  33.   OLED_Init();                         //初始化OLED      
  34.         TIM2_base();//初始化定時(shí)器,定時(shí)器中斷中處理adc讀數(shù)
  35.         ADC1_Init();
  36.        
  37.   while (1)
  38.   {
  39.                
  40.                 if(mode==0)
  41.                 {
  42.                         Current=(0.9341*(float)ADC_Data_raw[1]-11.4)/4096*3.3;
  43.                         if(Current>2.5)
  44.                         {                       
  45.                                 OLED_Clear();
  46.                        
  47.                                 OLED_ShowString(40,32,"Warning");
  48.                                 TIM1->CCR2=0;
  49.                                 delay_ms(5000);
  50.                                 TIM1->CCR2=PID1;
  51.                                 delay_ms(500);       
  52.                                 OLED_Clear();               
  53.                         }
  54.                         else if(Current<=2.5)
  55.                         {
  56.                                
  57.                                 PID1=Pid_TIM1_control(pid_except);
  58.                                 TIM1->CCR2=PID1;
  59.                                 sprintf((char *)dataStr,"V:%1.3fv  A1-9",adc[0]*4);// a1
  60.                         //sprintf(dataStr,"V:%1.3fv  (PA1)",(float)ADC_ConvertedValue[0][0]/4096*3.3);// a1
  61.                                 OLED_ShowString(1,0,dataStr);
  62.                                 sprintf((char *)dataStr,"A:%1.3fa  (PA4)",Current);
  63.                                 OLED_ShowString(1,16,dataStr);
  64.                                 sprintf((char *)dataStr,"w:%1.3f",Current*adc[0]*4.0);//
  65.                                 OLED_ShowString(1,32,dataStr);
  66.                                 sprintf((char *)dataStr,"e:%4d",pid_except);//功率
  67.                                 OLED_ShowString(1,48,dataStr);
  68.                                 sprintf((char *)dataStr,"m:%d",mode);
  69.                                 OLED_ShowString(90,48,dataStr);                                
  70.                         }        //else if               
  71.                 //TIM3->CCR1=PID2;
  72.                 }//if(mode==0)
  73.                 else
  74.                 {
  75.                         PID2=Pid_TIM1_control((0.9773*(float)ADC_Data_raw[1]-47.5)*1.07);
  76.                                 TIM1->CCR2=PID2;
  77.                         PID3=Pid_TIM3_control(pid_except1);
  78.                                 TIM3->CCR1=PID3;
  79. ////                        Cur1=(0.9341*(float)ADC_Data_raw[0]+8.688)/4096*3.3;
  80.                         Cur1=(0.9341*(float)ADC_Data_raw[0]-11.4)/4096*3.3;
  81.                         Cur2=(0.9773*(float)ADC_Data_raw[1]-47.5)/4096*3.3;
  82.                         Vol=(float)ADC_Data_raw[2]/4096*3.3*4;
  83.                        
  84.                                 sprintf((char *)dataStr,"A:%1.3fa",Cur1);
  85.                         OLED_ShowString(1,0,dataStr);
  86.                                 sprintf((char *)dataStr,"A:%1.3fa",Cur2);
  87.                         OLED_ShowString(1,16,dataStr);
  88.                                 sprintf((char *)dataStr,"V:%1.3fv",Vol);
  89.                         OLED_ShowString(1,32,dataStr);
  90.                                 sprintf((char *)dataStr,"e:%1.2f",(float)pid_except1/4096*3.3);
  91.                         OLED_ShowString(80,32,dataStr);
  92.                                 sprintf((char *)dataStr,"P:%1.3fw",Vol*(Cur1+Cur2));
  93.                         OLED_ShowString(1,48,dataStr);
  94.                                 sprintf((char *)dataStr,"m:%d",mode);
  95.                         OLED_ShowString(90,48,dataStr);                
  96.                 }
  97.                 key_scan();       
  98.         }//while(1)
  99. }
復(fù)制代碼

所有資料51hei提供下載:
并聯(lián) -隨動(dòng) - mode.7z (180.3 KB, 下載次數(shù): 33)

QQ截圖20190629200240.jpg

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:146296 發(fā)表于 2019-7-21 21:23 | 顯示全部樓層
參考一下
回復(fù)

使用道具 舉報(bào)

ID:511461 發(fā)表于 2019-7-23 10:08 | 顯示全部樓層
樓主,能不能解釋一下
回復(fù)

使用道具 舉報(bào)

ID:282095 發(fā)表于 2019-7-23 11:31 | 顯示全部樓層
芯鵬偉的電源芯片不錯(cuò)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 玖玖爱365| 欧美日韩综合 | av手机免费在线观看 | 日本黄色免费视频 | 精品国产一区二区国模嫣然 | 亚洲一二三视频 | 国产精品美女久久久久久免费 | 亚洲在线免费观看 | 在线观看国产视频 | 国产日韩欧美在线一区 | 欧美专区在线观看 | 久久久精品一区二区三区四季av | 嫩草研究影院 | 久久国产精品-国产精品 | 成av在线 | 亚洲国产成人精品久久 | 一区精品在线观看 | 久久精品一区二区三区四区 | 国产精品国产三级国产播12软件 | 一区二区av在线 | 久久精品日产第一区二区三区 | 国产中文 | 久久久久久国产 | 日韩色视频 | 国产亚洲一区二区三区 | 日本成人午夜影院 | 蜜桃av人人夜夜澡人人爽 | av一级久久| 国产精品免费av | 欧州一区| 麻豆av网| 欧美在线视频一区二区 | 国产农村妇女毛片精品久久麻豆 | 天天狠狠 | 色久在线| 亚洲欧美一区二区三区在线 | av中文字幕在线 | 美女逼网站 | 亚洲成人二区 | va精品 | 欧美日韩国产高清视频 |