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

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

QQ登錄

只需一步,快速開(kāi)始

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

51單片機(jī)恒流恒阻恒功率電子負(fù)載開(kāi)源設(shè)計(jì)

  [復(fù)制鏈接]
ID:284973 發(fā)表于 2018-12-2 21:01 | 顯示全部樓層 |閱讀模式
經(jīng)過(guò)數(shù)個(gè)月的奮斗,恒流恒阻恒功率三種模式的電子負(fù)載終于做好了
恒流部分使用了Gandf大俠的PWM模擬DAC方案,在此表示感謝。這種方案雖然不如使用DAC芯片轉(zhuǎn)換迅速,但成本低廉,分辨率也可以做的比較高,對(duì)于diy而言已經(jīng)足夠了。主控芯片使用的是最新的STC8A8K64S4A12-LQFP44,帶12位ADC,用于檢測(cè)電壓電流很方便。
其實(shí)原理很簡(jiǎn)單,其關(guān)鍵在于程序的編寫(xiě),網(wǎng)上關(guān)于Gandf大俠的電子負(fù)載很少開(kāi)源程序,我在這里開(kāi)源的程序可以供大家參考,其中LCD2004的驅(qū)動(dòng)程序來(lái)自blog.csdn點(diǎn)net/yagnruinihao/article/details/19999551,在此表示感謝!
這其實(shí)只是最基礎(chǔ)的功能實(shí)現(xiàn),還有許許多多可以改進(jìn)的地方,比如增加散熱風(fēng)扇,散熱器溫度檢測(cè),蜂鳴器,改差分四線(xiàn)測(cè)量等等,但我精力有限,沒(méi)有時(shí)間弄了,所以開(kāi)源出來(lái)大家可以參考著進(jìn)行改進(jìn)。

制作出來(lái)的實(shí)物圖如下:
0.3A.jpg 0.6W.jpg 0.21A.jpg 1.55A.jpg 1A.jpg 2A.jpg 2W.jpg 5歐.jpg 10W.jpg 10歐.jpg 20W.jpg 20歐.jpg 100歐.jpg IMG_20181003_121351_HDR.jpg IMG_20181003_121651_HDR.jpg IMG_20181003_193224_HDR.jpg 安時(shí).jpg 從機(jī).jpg 關(guān)閉顯示.jpg 近視圖.jpg 全局圖.jpg 設(shè)置界面.jpg 瓦時(shí).jpg 校準(zhǔn)界面.jpg 主機(jī).jpg

電路原理圖如下:
0.jpg


單片機(jī)源程序如下:
  1. /*!
  2. *     COPYRIGHT NOTICE
  3. *     Copyright (c) 2018,CQ
  4. *     All rights reserved.
  5. *
  6. *     
  7. *     
  8. *
  9. * @file                        main.c
  10. * @brief                        
  11. * @author                CQ
  12. * @version                V1.1
  13. * @date                        2018-11-4
  14. * latest amendment time:2018.12.2
  15. */
  16. #include"STC8A.h"
  17. #include"LCD2004.h"
  18. #include"config.h"
  19. #include <intrins.h>

  20. void main(void)
  21. {
  22.          GPIOInit();
  23.          lcd2004Init();
  24.          TimerInit();        
  25.    PWMInit();
  26.    lcd2004CleanAll();
  27.          ADCInit();
  28.         lcd2004AddressWriteString(0,0,Menu.NormalInterface.Line[0]);
  29.         lcd2004AddressWriteString(1,0,Menu.NormalInterface.Line[1]);
  30.         lcd2004AddressWriteString(2,0,Menu.NormalInterface.Line[2]);
  31.         lcd2004AddressWriteString(3,0,Menu.NormalInterface.Line[3]);
  32.    lcd2004AddressWriteByte(2,19,0xF4) ;//display Ohm  symbol

  33. /*         if(MenuDataTable.SysInfo.LoadState==Running)
  34.         {
  35.     lcd2004AddressWriteString(3,16,"ON");                                       
  36.         }
  37.         else
  38.         {
  39.    lcd2004AddressWriteString(3,16,"OFF");                                                
  40.         }*/
  41.          EA=1;
  42.         if(IapRead(IAPUSEDFLAG)==0x56)//check whether there is some data in eeprom
  43.         {
  44.           MenuDataTable.Current.Coefficient=IapReadF32(CURRENTCOEADDR);
  45.           MenuDataTable.Voltage.Coefficient=IapReadF32(VOLTAGECOEADDR);
  46.           MenuDataTable.SysInfo.PWMCoe=IapReadF32(PWMCOEADDR);
  47.         }
  48.          while(1)
  49.          {
  50.        ;                        
  51.          }
  52. }
復(fù)制代碼
0.png 0.png

所有資料51hei提供下載:
Electronic load.rar (358.83 KB, 下載次數(shù): 777)


回復(fù)

使用道具 舉報(bào)

ID:1 發(fā)表于 2018-12-3 01:43 | 顯示全部樓層
好東東,51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:454155 發(fā)表于 2019-3-27 09:09 | 顯示全部樓層
負(fù)載的原理圖呢
回復(fù)

使用道具 舉報(bào)

ID:262783 發(fā)表于 2019-4-11 01:37 來(lái)自手機(jī) | 顯示全部樓層
謝謝分享,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:531743 發(fā)表于 2019-5-9 16:53 | 顯示全部樓層
不錯(cuò)的設(shè)計(jì),值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:614352 發(fā)表于 2019-9-21 11:12 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:244512 發(fā)表于 2019-10-22 17:27 | 顯示全部樓層
MOS管部份沒(méi)有電路
回復(fù)

使用道具 舉報(bào)

ID:262783 發(fā)表于 2019-10-29 00:32 來(lái)自手機(jī) | 顯示全部樓層
好厲害,代碼看不懂,好多英文,但這個(gè)是好東東
回復(fù)

使用道具 舉報(bào)

ID:634466 發(fā)表于 2019-11-2 18:07 | 顯示全部樓層
謝謝分享!
回復(fù)

使用道具 舉報(bào)

ID:136502 發(fā)表于 2019-12-8 16:52 | 顯示全部樓層
感謝分享
回復(fù)

使用道具 舉報(bào)

ID:298348 發(fā)表于 2019-12-15 13:44 | 顯示全部樓層
好資源 謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:634466 發(fā)表于 2020-1-21 12:01 | 顯示全部樓層
謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:454211 發(fā)表于 2020-1-22 11:37 | 顯示全部樓層
好東西,感謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:688129 發(fā)表于 2020-1-25 16:21 | 顯示全部樓層
好東西,感謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:160658 發(fā)表于 2020-1-26 17:55 | 顯示全部樓層
好資源 謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:375228 發(fā)表于 2020-1-29 22:27 | 顯示全部樓層
很NB的設(shè)計(jì)
回復(fù)

使用道具 舉報(bào)

ID:233015 發(fā)表于 2020-2-1 11:40 來(lái)自手機(jī) | 顯示全部樓層
樓主有負(fù)載部分的電路圖嗎?
回復(fù)

使用道具 舉報(bào)

ID:704585 發(fā)表于 2020-4-2 17:53 | 顯示全部樓層
多謝樓主分享
回復(fù)

使用道具 舉報(bào)

ID:60263 發(fā)表于 2020-4-22 10:50 | 顯示全部樓層
下載了,謝謝分享
回復(fù)

使用道具 舉報(bào)

ID:700699 發(fā)表于 2020-8-13 10:48 | 顯示全部樓層
功率部分沒(méi)有,在哪里找得到?
回復(fù)

使用道具 舉報(bào)

ID:276790 發(fā)表于 2020-9-18 23:38 來(lái)自手機(jī) | 顯示全部樓層
厲害最近在研究這個(gè),謝謝
回復(fù)

使用道具 舉報(bào)

ID:59956 發(fā)表于 2021-5-8 10:59 | 顯示全部樓層
樓主你好我想問(wèn)一下這個(gè)ADC換算部分在哪里
回復(fù)

使用道具 舉報(bào)

ID:61192 發(fā)表于 2021-8-3 21:59 | 顯示全部樓層
看看照葫蘆能不能畫(huà)出瓢出來(lái)
回復(fù)

使用道具 舉報(bào)

ID:596446 發(fā)表于 2021-8-28 10:19 | 顯示全部樓層
這程序是缺的
回復(fù)

使用道具 舉報(bào)

ID:585365 發(fā)表于 2021-9-5 16:54 | 顯示全部樓層
參考著看看能不能搞一個(gè)出來(lái)
回復(fù)

使用道具 舉報(bào)

ID:648916 發(fā)表于 2021-9-8 07:49 | 顯示全部樓層
感謝!感謝!再感謝!
回復(fù)

使用道具 舉報(bào)

ID:430492 發(fā)表于 2021-9-14 16:09 | 顯示全部樓層
樓主厲害呀,大俠級(jí)!強(qiáng)。
回復(fù)

使用道具 舉報(bào)

ID:506805 發(fā)表于 2021-10-12 11:13 | 顯示全部樓層
恒阻恒功率通過(guò)軟件調(diào)節(jié)實(shí)現(xiàn)?
回復(fù)

使用道具 舉報(bào)

ID:47634 發(fā)表于 2021-11-9 21:20 | 顯示全部樓層
很好很好,感謝樓主,學(xué)習(xí)了
回復(fù)

使用道具 舉報(bào)

ID:47634 發(fā)表于 2021-12-9 09:43 | 顯示全部樓層
很好很好,感謝樓主的好資料,正在找資料準(zhǔn)備制作
回復(fù)

使用道具 舉報(bào)

ID:284973 發(fā)表于 2022-1-14 09:16 | 顯示全部樓層

程序是完整的
回復(fù)

使用道具 舉報(bào)

ID:284973 發(fā)表于 2022-1-14 09:17 | 顯示全部樓層
robter 發(fā)表于 2021-12-9 09:43
很好很好,感謝樓主的好資料,正在找資料準(zhǔn)備制作

這個(gè)設(shè)計(jì)有嚴(yán)重缺陷,今年會(huì)重做
回復(fù)

使用道具 舉報(bào)

ID:8222 發(fā)表于 2022-1-16 17:43 | 顯示全部樓層
  • /*!
  • *     COPYRIGHT NOTICE
  • *     Copyright (c) 2018,CQ
  • *     All rights reserved.
  • *
  • *
  • *
  • *
  • * @file                        EC11.c
  • * @brief                       
  • * @author                CQ
  • * @version                V1.1
  • * @date                        2018-11-4
  • * latest amendment time :2018.11.4
  • */
  • #include"EC11.h"
  • static bit EC11_SIA_Last;
  • static bit EC11_SIB_Last;
  • sbit EC11_SIA=P3^2;
  • sbit EC11_SIB=P3^4;
  • sbit EC11_SW=P3^3;
  • Ec11StateType                Ec11State=
  • {
  •          KeyFree,
  •         EncoderFree,       
  • };
  • /************************************************************
  • * Function name                :        EC11_Capture
  • * function discription        :        EC11 state capture
  • *
  • * input parameter        :        none
  • * output parameter        :        none
  • *
  • * amendant record  :               
  •    Add this function for the first time    2018-11-4
  • * author                  :        CQ
  • * date                                :        2018-11-4
  • *************************************************************/       
  • void Ec11Capture(void)
  • {
  •           static unsigned char EC11KeyStateTemp = 0,EC11KeyCount=0;
  •     bit EC11KeyPressTemp;
  •           EC11KeyPressTemp =EC11_SW;         
  •   if((EC11_SIA_Last==0)&&(EC11_SIA==1))//        EC11_SIA和上一次狀態(tài)相比,為上升沿
  •     {
  •        
  •                 if((EC11_SIB_Last == 1)&&(EC11_SIB == 0))   //EC11_B和上一次狀態(tài)相比,為下降沿
  •                         {
  •                     Ec11State.EncoderState=EncoderSub;                         //反轉(zhuǎn)
  •                         }
  •                 if((EC11_SIB_Last == 0)&&(EC11_SIB == 1))   //EC11_B和上一次狀態(tài)相比,為上升沿
  •                                 {
  •                    Ec11State.EncoderState=EncoderAdd;                       //正轉(zhuǎn)
  •                                 }
  •                                 //>>>>>>>>>>>>>>>>下面為正轉(zhuǎn)一次再反轉(zhuǎn)或反轉(zhuǎn)一次再正轉(zhuǎn)處理<<<<<<<<<<<<<<<<//
  •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 0))  //A上升沿時(shí),采集的B不變且為0
  •                                 {
  •                     Ec11State.EncoderState=EncoderSub;                                //反轉(zhuǎn)
  •                                 }
  •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 1))  //A上升沿時(shí),采集的B不變且為1
  •                                 {
  •                      Ec11State.EncoderState=EncoderAdd;                                //正轉(zhuǎn)
  •                                 }
  •         }
  •    else        if((EC11_SIA_Last==1)&&(EC11_SIA==0))          //EC11_SIA和上一次狀態(tài)相比,為下降沿
  •    {
  •                          if((EC11_SIB_Last == 1)&&(EC11_SIB == 0))   //EC11_B和上一次狀態(tài)相比,為下降沿
  •                                 {
  •                      Ec11State.EncoderState=EncoderAdd;                           //正轉(zhuǎn)
  •                                 }
  •                 if((EC11_SIB_Last == 0)&&(EC11_SIB == 1))   //EC11_B和上一次狀態(tài)相比,為上升沿
  •                                 {
  •                     Ec11State.EncoderState=EncoderSub;                          //反轉(zhuǎn)
  •                                 }
  •                                 //>>>>>>>>>>>>>>>>下面為正轉(zhuǎn)一次再反轉(zhuǎn)或反轉(zhuǎn)一次再正轉(zhuǎn)處理<<<<<<<<<<<<<<<<//
  •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 0))  //A上升沿時(shí),采集的B不變且為0
  •                                 {
  •                      Ec11State.EncoderState=EncoderAdd;                          //正轉(zhuǎn)
  •                                 }
  •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 1))  //A上升沿時(shí),采集的B不變且為1
  •                                 {
  •                    Ec11State.EncoderState=EncoderSub;                                  //反轉(zhuǎn)
  •                                 }
  •    }
  •         EC11_SIA_Last = EC11_SIA;   //更新編碼器上一個(gè)狀態(tài)暫存變量
  •         EC11_SIB_Last = EC11_SIB;   //更新編碼器上一個(gè)狀態(tài)暫存變量
  •        
  •        
  •                  /************************EC11_SW key scan************************************/
  •          switch(EC11KeyStateTemp)
  •          {
  •                  case 0:
  •                          if(EC11KeyPressTemp==0)
  •                                  EC11KeyStateTemp=1;
  •                           break;
  •                  case 1:
  •                           if(EC11KeyPressTemp==0)
  •                                 {
  •                                         EC11KeyStateTemp=2;
  •                                 }
  •                                 else
  •                                         EC11KeyStateTemp=0;
  •                                  break;
  •                  case 2:
  •                           if(EC11KeyPressTemp==1)
  •                                 {
  •                                           if(EC11KeyCount<100)
  •                                                 {
  •                                                     Ec11State.KeyState=KeyDown;
  •                                                 }
  •                                   EC11KeyStateTemp=0;
  •           EC11KeyCount=0;                                        
  •                                 }
  •                                 else
  •                                 {
  •           if(EC11KeyCount<100)
  •                                         {
  •              EC11KeyCount++;
  •                                         }       
  •           else if(EC11KeyCount==100)
  •                                         {
  •              Ec11State.KeyState=KeyHold;
  •                      EC11KeyCount++;                                       
  •                                         }                                                                                
  •                                 }
  •        break;                
  •          }
  •        
  • }
  • Ec11StateType                                Ec11State;

請(qǐng)問(wèn)26-30行的格式和意義,小白不懂,望大師賜教。謝謝。



回復(fù)

使用道具 舉報(bào)

ID:61140 發(fā)表于 2022-2-25 07:39 | 顯示全部樓層
程序有問(wèn)題,原理圖不完整,不能用
回復(fù)

使用道具 舉報(bào)

ID:928284 發(fā)表于 2022-3-7 17:29 | 顯示全部樓層
做的很強(qiáng)大,學(xué)習(xí)您!
回復(fù)

使用道具 舉報(bào)

ID:854496 發(fā)表于 2022-5-20 23:19 | 顯示全部樓層
感謝,參考研究研究
回復(fù)

使用道具 舉報(bào)

ID:228452 發(fā)表于 2022-9-4 20:01 | 顯示全部樓層
schematic diagram is incomplete ....
This is example only what can be done..
回復(fù)

使用道具 舉報(bào)

ID:128989 發(fā)表于 2022-9-11 01:29 | 顯示全部樓層
不錯(cuò),學(xué)習(xí)了。51有ADC,DAC嗎
回復(fù)

使用道具 舉報(bào)

ID:284433 發(fā)表于 2022-11-3 10:02 | 顯示全部樓層
學(xué)習(xí)下  
恒阻模式是怎么實(shí)現(xiàn)的
回復(fù)

使用道具 舉報(bào)

ID:82809 發(fā)表于 2022-11-4 09:37 | 顯示全部樓層
可以學(xué)習(xí)下思路,圖不全,程序有問(wèn)題!

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产第一区二区 | 97久久精品午夜一区二区 | 国产精品永久久久久久久www | 亚洲精品一区二区网址 | 天天操夜夜操 | 久久专区 | 91天堂网| 国产成人短视频在线观看 | 日韩av啪啪网站大全免费观看 | 亚洲第一成年免费网站 | 午夜精品视频在线观看 | 国产精品国产成人国产三级 | 国产成人免费一区二区60岁 | 亚洲午夜精品久久久久久app | 国产成人在线视频 | 电影在线| 久久午夜视频 | 黑人精品xxx一区一二区 | 六月成人网| 91伊人| 精品视频在线一区 | 午夜欧美a级理论片915影院 | 精品久久精品 | 中文字幕免费视频 | 奇米av | 欧美激情亚洲 | 人人干在线视频 | 中文字幕在线欧美 | 午夜视频在线 | 一区精品视频 | 亚洲高清一区二区三区 | 亚洲成色777777在线观看影院 | 国产精品久久久久久亚洲调教 | 欧美视频第二页 | 色嗨嗨| 波多野结衣精品在线 | 欧美多人在线 | 野狼在线社区2017入口 | 欧美成人免费 | 日本久久久久久久久 | 九九热在线视频免费观看 |