找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

51单片机恒流恒阻恒功率电子负载开源设计

查看数: 23305 | 评论数: 46 | 收藏 44
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2018-12-2 21:01

正文摘要:

经过数个月的奋斗,恒流恒阻恒功率三种模式的电子负载终于做好了 恒流部分使用了Gandf大侠的PWM模拟DAC方案,在此表示感谢。这种方案虽然不如使用DAC芯片转换迅速,但成本低廉,分辨率也可以做的比较高,对于diy而 ...

回复

ID:1098214 发表于 2024-5-11 17:55
是调节PWM占空比来LCD显示的吗?
ID:430492 发表于 2024-3-18 15:44
缺少电子负载的输出部分电路!!!!!!!
ID:537530 发表于 2023-11-28 15:28
温xyz 发表于 2022-1-16 17:43
  • /*!
  • *     COPYRIGHT NOTICE
  • *     Copyright (c) 2018,CQ

  • 应该是处理旋转编码器的。
    ID:430492 发表于 2023-11-27 16:58
    期待有做出来的看看实际效果!
    ID:1082774 发表于 2023-6-8 13:59
    坐等你们搞出来最终版,免费打板的再跟风做
    ID:169891 发表于 2023-2-7 11:11
    能不能讲下整个设计原理呢,原理图不完整啊
    ID:128989 发表于 2023-1-16 11:48
    谢谢分享,学习了。今年我也想下电子负载和51
    ID:82809 发表于 2022-11-4 09:37
    可以学习下思路,图不全,程序有问题!

    ID:284433 发表于 2022-11-3 10:02
    学习下  
    恒阻模式是怎么实现的
    ID:128989 发表于 2022-9-11 01:29
    不错,学习了。51有ADC,DAC吗
    ID:228452 发表于 2022-9-4 20:01
    schematic diagram is incomplete ....
    This is example only what can be done..
    ID:854496 发表于 2022-5-20 23:19
    感谢,参考研究研究
    ID:928284 发表于 2022-3-7 17:29
    做的很强大,学习您!
    ID:61140 发表于 2022-2-25 07:39
    程序有问题,原理图不完整,不能用
    ID:8222 发表于 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和上一次状态相比,为上升沿
    •     {
    •        
    •                 if((EC11_SIB_Last == 1)&&(EC11_SIB == 0))   //EC11_B和上一次状态相比,为下降沿
    •                         {
    •                     Ec11State.EncoderState=EncoderSub;                         //反转
    •                         }
    •                 if((EC11_SIB_Last == 0)&&(EC11_SIB == 1))   //EC11_B和上一次状态相比,为上升沿
    •                                 {
    •                    Ec11State.EncoderState=EncoderAdd;                       //正转
    •                                 }
    •                                 //>>>>>>>>>>>>>>>>下面为正转一次再反转或反转一次再正转处理<<<<<<<<<<<<<<<<//
    •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 0))  //A上升沿时,采集的B不变且为0
    •                                 {
    •                     Ec11State.EncoderState=EncoderSub;                                //反转
    •                                 }
    •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 1))  //A上升沿时,采集的B不变且为1
    •                                 {
    •                      Ec11State.EncoderState=EncoderAdd;                                //正转
    •                                 }
    •         }
    •    else        if((EC11_SIA_Last==1)&&(EC11_SIA==0))          //EC11_SIA和上一次状态相比,为下降沿
    •    {
    •                          if((EC11_SIB_Last == 1)&&(EC11_SIB == 0))   //EC11_B和上一次状态相比,为下降沿
    •                                 {
    •                      Ec11State.EncoderState=EncoderAdd;                           //正转
    •                                 }
    •                 if((EC11_SIB_Last == 0)&&(EC11_SIB == 1))   //EC11_B和上一次状态相比,为上升沿
    •                                 {
    •                     Ec11State.EncoderState=EncoderSub;                          //反转
    •                                 }
    •                                 //>>>>>>>>>>>>>>>>下面为正转一次再反转或反转一次再正转处理<<<<<<<<<<<<<<<<//
    •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 0))  //A上升沿时,采集的B不变且为0
    •                                 {
    •                      Ec11State.EncoderState=EncoderAdd;                          //正转
    •                                 }
    •                 if((EC11_SIB_Last == EC11_SIB)&&(EC11_SIB == 1))  //A上升沿时,采集的B不变且为1
    •                                 {
    •                    Ec11State.EncoderState=EncoderSub;                                  //反转
    •                                 }
    •    }
    •         EC11_SIA_Last = EC11_SIA;   //更新编码器上一个状态暂存变量
    •         EC11_SIB_Last = EC11_SIB;   //更新编码器上一个状态暂存变量
    •        
    •        
    •                  /************************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;

    请问26-30行的格式和意义,小白不懂,望大师赐教。谢谢。



    ID:284973 发表于 2022-1-14 09:17
    robter 发表于 2021-12-9 09:43
    很好很好,感谢楼主的好资料,正在找资料准备制作

    这个设计有严重缺陷,今年会重做
    ID:284973 发表于 2022-1-14 09:16

    程序是完整的
    ID:47634 发表于 2021-12-9 09:43
    很好很好,感谢楼主的好资料,正在找资料准备制作
    ID:47634 发表于 2021-11-9 21:20
    很好很好,感谢楼主,学习了
    ID:506805 发表于 2021-10-12 11:13
    恒阻恒功率通过软件调节实现?
    ID:430492 发表于 2021-9-14 16:09
    楼主厉害呀,大侠级!!强!!
    ID:648916 发表于 2021-9-8 07:49
    感谢!感谢!再感谢!
    ID:585365 发表于 2021-9-5 16:54
    参考着看看能不能搞一个出来
    ID:596446 发表于 2021-8-28 10:19
    这程序是缺的
    ID:61192 发表于 2021-8-3 21:59
    看看照葫芦能不能画出瓢出来
    ID:59956 发表于 2021-5-8 10:59
    樓主你好我想問一下這個ADC换算部分在哪里
    ID:276790 发表于 2020-9-18 23:38
    厉害最近在研究这个,谢谢
    ID:700699 发表于 2020-8-13 10:48
    功率部分没有,在哪里找得到?
    ID:60263 发表于 2020-4-22 10:50
    下载了,谢谢分享
    ID:704585 发表于 2020-4-2 17:53
    多谢楼主分享
    ID:233015 发表于 2020-2-1 11:40
    楼主有负载部分的电路图吗?
    ID:375228 发表于 2020-1-29 22:27
    很NB的设计
    ID:160658 发表于 2020-1-26 17:55
    好资源 谢谢分享
    ID:688129 发表于 2020-1-25 16:21
    好东西,感谢楼主分享
    ID:454211 发表于 2020-1-22 11:37
    好东西,感谢楼主分享
    ID:634466 发表于 2020-1-21 12:01
    谢谢分享
    ID:298348 发表于 2019-12-15 13:44
    好资源 谢谢分享
    ID:136502 发表于 2019-12-8 16:52
    感谢分享
    ID:634466 发表于 2019-11-2 18:07
    谢谢分享!
    ID:262783 发表于 2019-10-29 00:32
    好厉害,代码看不懂,好多英文,但这个是好东东

    小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

    Powered by 单片机教程网

    快速回复 返回顶部 返回列表