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

標題: DIY風扇調速器 STM32F030單片機程序+PCB原理圖文件 [打印本頁]

作者: 魔術快斗    時間: 2019-12-17 20:42
標題: DIY風扇調速器 STM32F030單片機程序+PCB原理圖文件
最近DIY了一個風扇調速器給功放機箱散熱用,支持接入4個風扇,功能較簡單,目前有兩種工作模式。
自動控制模式:當溫度高于30度,風扇開始旋轉,而且隨著溫度升高,轉速越來越快。
手動控制模式:通過EC11機械編碼器去調節PWM占空比,最大99%

制作出來的實物圖如下:














Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)



STM32單片機源程序如下:
  1. #include "stm32f0xx.h"
  2. #include "time.h"
  3. #include "led.h"
  4. #include "TM1640.h"
  5. #include "ds18b20.h"
  6. #include "delay.h"
  7. #include "encoder.h"

  8. __IO uint16_t temp1;
  9. __IO uint16_t temp2;

  10. int ten,one,zero;
  11. float temp;
  12. u16 i,pwm;
  13. u8 a=0,b=0,mode;

  14. void manual_mode();
  15. void auto_mode();
  16. int main(void)
  17. {
  18. TIM_Config();
  19. TIM_PWM_Config();
  20. TIM3_Config();     //定時器3初始化
  21. delay_init();     //延時函數初始化
  22. led_init();                 //LED初始化
  23. TM1640_Init();   //TM1640初始化
  24. ENCODER_Init(); //旋轉編碼器初始化


  25.         while(1)
  26.         {
  27.                 auto_mode();
  28.         }
  29. }

  30. void auto_mode()
  31. {
  32. mode=1;
  33. TM1640_display(0,20);        //清屏
  34. TM1640_display(1,20);
  35. TM1640_display(2,20);
  36. TM1640_display(3,20);
  37.         while(1)
  38.         {
  39.                
  40.                 temp=TemperatuerResult();
  41.                 zero=(int)(temp*10)%10;
  42.                 ten=(int)temp/10;
  43.                 one=(int)temp%10;
  44.                 b=ENCODER_READ();        //讀出旋轉編碼器值        
  45.                 if(b==3)manual_mode();  //切換為手動模式
  46.                 if(temp2>300 && temp2<500)
  47.                 {                        
  48.                         TM1640_display(0,23);        
  49.                         TM1640_display(1,24);
  50.                         TM1640_display(2,25);
  51.                         TM1640_display(3,26);
  52.                         
  53.                 }
  54.                 if(temp2>600)
  55.                 {
  56.                         temp2=0;
  57.                         TM1640_display(0,ten);        
  58.                         TM1640_display(1,one+10);
  59.                         TM1640_display(2,zero);
  60.                         TM1640_display(3,21);
  61.                 }
  62.                 switch(ten)
  63.                 {
  64.                         case 0:
  65.                         TIM_SetCompare2(TIM2, 0);   //占空比設置        
  66.                         break;
  67.                         
  68.                         case 1:
  69.                         TIM_SetCompare2(TIM2, 0);   //占空比設置        
  70.                         break;
  71.                         
  72.                         case 2:
  73.                         TIM_SetCompare2(TIM2, 0);   //占空比設置        
  74.                         break;
  75.                         
  76.                         case 3:
  77.                         TIM_SetCompare2(TIM2, 480*30);   //占空比設置        
  78.                         break;
  79.                         
  80.                         case 4:
  81.                         TIM_SetCompare2(TIM2, 480*40);   //占空比設置        
  82.                         break;
  83.                         
  84.                         case 5:
  85.                         TIM_SetCompare2(TIM2, 480*60);   //占空比設置        
  86.                         break;
  87.                         
  88.                         case 6:
  89.                         TIM_SetCompare2(TIM2, 480*80);   //占空比設置        
  90.                         break;
  91.                         
  92.                         case 7:
  93.                         TIM_SetCompare2(TIM2, 480*100);   //占空比設置        
  94.                         break;
  95.                         
  96.                         default:
  97.                         TIM_SetCompare2(TIM2, 480*100);   //占空比設置        
  98.                         break;
  99.                 }               
  100.                
  101.         }
  102. }

  103. void manual_mode()
  104. {
  105. mode=2;
  106. TM1640_display(0,27);        //清屏
  107. TM1640_display(1,27);
  108. TM1640_display(2,27);
  109. TM1640_display(3,27);
  110. TIM_SetCompare2(TIM2, 0);   //占空比設置
  111.         while (1)
  112.         {

  113.                 b=ENCODER_READ();        //讀出旋轉編碼器值        
  114.                 if(b==1){a++;if(a>100)a=0;} //分析按鍵值,并加減計數器值。
  115.                 if(b==2){if(a==0)a=101;a--;}
  116.                 if(b==3)auto_mode();  //切換為自動模式
  117.                 if(b!=0)     //如果有旋轉器的操作
  118.                         {
  119.                         if(a/100==0)
  120.                         TM1640_display(0,20);
  121.                         else
  122.                         TM1640_display(0,a/100);
  123.                         TM1640_display(1,a%100/10); //顯示數值
  124.                         TM1640_display(2,a%10);
  125.                         TM1640_display(3,22);
  126.                         TIM_SetCompare2(TIM2, a*480);   //占空比設置
  127.                         }
  128.         }
  129. }
復制代碼

所有資料51hei提供下載:
調試器2程序.7z (147.49 KB, 下載次數: 233)
原理圖 PCB.rar (11.03 MB, 下載次數: 206)


作者: ER2019    時間: 2020-1-1 22:52
一直想找這種資料
作者: 魔術快斗    時間: 2020-3-5 22:11
ER2019 發表于 2020-1-1 22:52
一直想找這種資料

感謝支持。。
作者: 蘇蘇彧    時間: 2020-3-7 18:11
很全,謝謝樓主啦
作者: ashdood    時間: 2020-10-31 21:16
太坑了,就不能兩個文件放一起嗎,要扣兩次分,參考作用也不大
作者: jovew    時間: 2020-11-1 12:15
有沒有 STC 單片機的程序?
想找一個STC 的程序!!!!!!!!!
作者: dnxbf    時間: 2020-11-2 12:55
這個不錯,也學習一下。
作者: dilongking    時間: 2020-11-4 16:29
太感謝了,終于找到這東西了
作者: tomgay    時間: 2020-11-19 02:55
很全,謝謝樓主啦
作者: zhangshanqiao    時間: 2021-4-9 17:58
PWM調壓調速




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 亚洲成人av | 一级片在线视频 | 久久草在线视频 | 正在播放国产精品 | 在线国产精品一区 | 二区av| 国产二区视频 | 亚洲视频免费一区 | 成人精品视频 | 日本超碰| 男人的天堂亚洲 | 欧美成视频| 欧美成人一级 | 免费日韩网站 | 国产视频1区2区 | 久久精品一级 | 亚洲视频欧美视频 | 亚洲一区二区三区四区av | 性做久久久久久免费观看欧美 | 一区二区三区精品在线 | 亚洲综合久久精品 | 97视频在线观看网站 | 久久精品国产久精国产 | 五月综合激情在线 | 91一区二区三区 | 黄色在线观看国产 | 久久这里只有精品首页 | av中文字幕在线播放 | 国产精品高清在线 | 日本一区二区高清不卡 | 亚洲 精品 综合 精品 自拍 | 国产精品美女视频 | 日本高清视频在线播放 | 久草www| 韩国久久 | 天天综合永久 | 亚洲精品国产电影 | 又黄又爽的网站 | 国产999在线观看 | 欧美国产精品一区二区三区 | 欧美性受xxxx白人性爽 |