|
經(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è),蜂鳴器,改差分四線測(cè)量等等,但我精力有限,沒(méi)有時(shí)間弄了,所以開(kāi)源出來(lái)大家可以參考著進(jìn)行改進(jìn)。
制作出來(lái)的實(shí)物圖如下:
電路原理圖如下:
單片機(jī)源程序如下:
- /*!
- * COPYRIGHT NOTICE
- * Copyright (c) 2018,CQ
- * All rights reserved.
- *
- *
- *
- *
- * @file main.c
- * @brief
- * @author CQ
- * @version V1.1
- * @date 2018-11-4
- * latest amendment time:2018.12.2
- */
- #include"STC8A.h"
- #include"LCD2004.h"
- #include"config.h"
- #include <intrins.h>
- void main(void)
- {
- GPIOInit();
- lcd2004Init();
- TimerInit();
- PWMInit();
- lcd2004CleanAll();
- ADCInit();
- lcd2004AddressWriteString(0,0,Menu.NormalInterface.Line[0]);
- lcd2004AddressWriteString(1,0,Menu.NormalInterface.Line[1]);
- lcd2004AddressWriteString(2,0,Menu.NormalInterface.Line[2]);
- lcd2004AddressWriteString(3,0,Menu.NormalInterface.Line[3]);
- lcd2004AddressWriteByte(2,19,0xF4) ;//display Ohm symbol
- /* if(MenuDataTable.SysInfo.LoadState==Running)
- {
- lcd2004AddressWriteString(3,16,"ON");
- }
- else
- {
- lcd2004AddressWriteString(3,16,"OFF");
- }*/
- EA=1;
- if(IapRead(IAPUSEDFLAG)==0x56)//check whether there is some data in eeprom
- {
- MenuDataTable.Current.Coefficient=IapReadF32(CURRENTCOEADDR);
- MenuDataTable.Voltage.Coefficient=IapReadF32(VOLTAGECOEADDR);
- MenuDataTable.SysInfo.PWMCoe=IapReadF32(PWMCOEADDR);
- }
- while(1)
- {
- ;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
Electronic load.rar
(358.83 KB, 下載次數(shù): 777)
2018-12-2 21:42 上傳
點(diǎn)擊文件名下載附件
完整代碼下載:
|
|