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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4069|回復: 2
打印 上一主題 下一主題
收起左側

基于STM32F407,輸出雙路互補的SPWM波,AD采集用DMA DAC的方式,具有PID調節

[復制鏈接]
跳轉到指定樓層
樓主
ID:499190 發表于 2019-10-21 08:17 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于STM32F407,輸出雙路互補的SPWM波,AD采集用DMA DAC的方式,具有PID調節,代碼注釋詳細
spwm數組生成軟件:http://www.zg4o1577.cn/bbs/dpj-171674-1.html
單片機源程序如下:
  1. #include "stm32f4xx.h"
  2. #include        "string.h"
  3. #include "usart.h"
  4. #include "delay.h"
  5. #include "bsp_advance_tim.h"
  6. #include "bsp_spwm.h"
  7. #include "ShuangLu.h"
  8. #include "PID.h"
  9. #include "bsp_adc.h"
  10. #include "SD_io.h"
  11. #include "oled.h"
  12. #include "filter.h"
  13. #include "bsp_spwm.h"
  14. #include "led.h"
  15. #define   current_threshold  3  //閾值電流為3A

  16. u8 DispADBuff[2][30];          //用于存放字符
  17. extern u16 ADC_ConvertedValue[NOFCHANEL];//DAC_DMA傳值處
  18. extern PID pid_voltage;         //存放電壓PID的參數
  19. extern float ADC_Final_DisplayValue[NOFCHANEL];        //用于存放最終顯示值
  20. extern u16 ADC_filter_Value[NOFCHANEL];                                                                //用于存放濾波后值
  21. extern u8  AD_Flag;
  22. u32 Display_flag=0;//是否顯示,PID是否更新



  23. int main(void)
  24. {
  25.         
  26.         delay_init(168);
  27.         //ShuangLu_Init();
  28.         ADC_X_Init();
  29.         TIMx_Configuration();
  30.         LED_Init();                                //初始化LED端口
  31.         OLED_Init();
  32.         PID_init(1,1,0,0.5);
  33.         OLED_ShowNum(0,0,22,3,16);
  34.         OLED_Display_On();
  35.    TIM3_Int_Init(3360-1,0);
  36. while(1)
  37.         {                 
  38.                  
  39.                
  40.                 if(Display_flag%1000==0)
  41.                 {
  42.                         AD_Flag=AD_voltage;  ADC_filter_Value[0]=middleValueFilter();
  43.                         AD_Flag=AD_current;  ADC_filter_Value[1]=middleValueFilter();        
  44.                         ADC_Final_DisplayValue[0] =(float) ADC_filter_Value[0]/4096*3.3*6+0.2;   //電壓檢測
  45.                         ADC_Final_DisplayValue[1] =(float) ADC_filter_Value[1]/4096*3300*1.448-18;         //電流檢測
  46.                         //PID電壓計算輸出,設定值24V,輸入電壓檢測值
  47.                         PID_Calc(ADC_Final_DisplayValue[0],24,0.7,0.2);     //24是設定值,0.7是上限.0.2是下限
  48.                         
  49.                 }
  50.                 if((Display_flag>10000)||(Display_flag==1))
  51.                 {
  52.                    sprintf(DispADBuff[0],"V=%.2fV\0",ADC_Final_DisplayValue[0]);//電壓顯示
  53.                    sprintf(DispADBuff[1],"I1=%.3fA\0",ADC_Final_DisplayValue[1]);//電流顯示
  54.                     OLED_ShowString(0,0,DispADBuff[0]);
  55.                OLED_ShowString(0,2,DispADBuff[1]);
  56.                         OLED_Display_Off();
  57.                         Display_flag=2;               
  58.                 }
  59.                
  60.                 if(ADC_Final_DisplayValue[1]>current_threshold)
  61.                 {               
  62.                         GPIO_SetBits(SD_io_PORT,SD_io_I1|SD_io_I2);
  63.                         delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);delay_ms(1000);
  64.                         pid_voltage.SEk=0;
  65.               GPIO_ResetBits(SD_io_PORT,SD_io_I1|SD_io_I2);
  66.                 }
  67.                
  68.         }
  69. }
復制代碼

所有資料51hei提供下載:
互補SPWM 模擬死區開關方波 PID ADC (雙極性) - 副本.7z (308.7 KB, 下載次數: 167)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:630228 發表于 2019-12-23 15:56 | 只看該作者
請問這對應的兩路輸出對應的引腳是哪兩個?
回復

使用道具 舉報

板凳
ID:216383 發表于 2022-12-7 23:37 來自手機 | 只看該作者
什么東西了沒有參考性
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: av一区二区三区 | 国产精品视频网 | 少妇特黄a一区二区三区88av | 久久99精品视频 | 国产a级黄色录像 | 99视频网站| 国产成人综合亚洲欧美94在线 | 亚洲国产一 | 午夜伦理影院 | 久久亚| 国产视频线观看永久免费 | 一区二区三区免费观看 | 97精品久久 | 国产精品久久久久久久白浊 | 亚洲精品国产成人 | 国产一区二区三区免费观看视频 | 欧美aⅴ在线观看 | 日韩欧美一区二区三区免费观看 | 日韩午夜电影在线观看 | 久久人爽爽人爽爽 | 国产精品色 | 亚洲 欧美 日韩在线 | 亚洲成人久久久 | 午夜精品久久久久久久久久久久久 | 亚洲视频免费在线观看 | 成人小视频在线 | 国产99久久精品一区二区永久免费 | 亚洲三级在线 | 国产色爽 | aaaaaaa片毛片免费观看 | 国产精品久久久久aaaa九色 | 欧美激情欧美激情在线五月 | 久久久久一区二区三区四区 | 在线毛片网 | aaa大片免费观看 | 国产视频久 | 成人欧美一区二区三区在线观看 | 国产日韩精品在线 | 美日韩视频 | 日韩一区二区免费视频 | 亚洲福利片|