手电大家谈-手电筒爱好者之家

 找回密码
 注册成为会员,享受更多功能。

QQ登录

只需一步,快速开始

只需一步,快速开始

搜索
查看: 8514|回复: 44

[充电器] DT-14原程序源代码分析

[复制链接]
  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2010-6-1 17:04 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有账号?注册成为会员,享受更多功能。

    x
    本帖最后由 kgje 于 2010-6-1 17:07 编辑

    踩在前人的肩膀上,花了几天时间苦读,终于将DT-14的原程序(GJS兄提供的)读了个大概,现将其与各位同好分享,其分析过程详见程序中的注释部分。

        充电主要流程就如HZDJM所描述的,但是我算出来的电压值跟他的有所不同,可能是我的计算方法不对,因为我对ADC转换没有加以深入的研究,请HZDJM兄指教。

        还有就是占空比问题,我通过在AVR STUDIO里模拟运行,波峰时间是671.75ms(AVRSTURDIO里面不知怎么改时钟频率,只能固定在4MHz,原来的应该是8MHz时钟,
    所以得到的时间似乎都是实际的2倍,不过这不影响占空比的计算),波谷时间为26.88ms,占空比应该是96.4%,GUMPHE兄实测的结果也是95%,这有点困惑。

        注释部分我列出了在不动硬件的情况下可修改的代码,主要针对:

           1.大、小电流转换电压值修改(即以前所说的限压值)。

           2.转灯电压值修改。即最终充电完成的电压。

           3.取消电源检测。

        至于鉴幅电压,必须按照gumphe兄所说的进行硬件修改,没有软件修改的捷径可走的,而且修改了上述2个电压值,必须相应修改鉴幅电压(通过修改R35),否则,没有小电流出现就无法转灯。

    未明了的程序段,主要是定时器中断服务程序,分析得让人头大,就根据实际运行情况进行了注释。

    DT-14_source.asm.tif

    22.61 KB, 下载次数: 733

    回复 dsu_marcocopyright:copyright

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 17:08 | 显示全部楼层
    按本坛规矩占楼。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2023-6-26 11:42
  • 签到天数: 80 天

    [LV.6]常住居民II

    发表于 2010-6-1 17:11 | 显示全部楼层
    看不懂也下,谢谢!
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 17:16 | 显示全部楼层
    看见汇编就头晕,但还是看看。{:1_217:}
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 17:18 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 17:20 | 显示全部楼层
    是啊。我看完现在觉得头大了一圈了。
    kgje 发表于 2010-6-1 17:18


    如果现在下雨,就不用带伞了。{:1_217:}
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 17:28 | 显示全部楼层
    如果现在下雨,就不用带伞了。{:1_217:}
    菜鸟不飞 发表于 2010-6-1 17:20

    呵呵,出太阳也可防紫外线晒伤脸部。
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-30 22:07
  • 签到天数: 505 天

    [LV.9]以坛为家II

    发表于 2010-6-1 17:34 | 显示全部楼层
    有注释 不错
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 17:36 | 显示全部楼层
    AVRSTURDIO里面不知怎么改时钟频率,只能固定在4MHz,原来的应该是8MHz时钟
    kgje 发表于 2010-6-1 17:04


    未命名1.JPG
    未命名2.JPG
    回复

    使用道具 举报

    头像被屏蔽

    该用户从未签到

    发表于 2010-6-1 17:55 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

    头像被屏蔽
  • TA的每日心情
    开心
    2014-12-19 23:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2010-6-1 17:55 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 17:56 | 显示全部楼层
    因为T26的ADC是10bit的,所以最大值就是3FF,也就是10进制的1023,其他的不用我多说了吧。

    至于占空比,我一开始计算也是百分96点几,后来注意到程序中在每次采样的时候是先采样温度,后采样电压,所以要算上两次采样的时间,最后计算出来的占空比约94.4%。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 18:37 | 显示全部楼层

    原来是要运行后才能改的,我在运行前看那个菜单是灰色的。

    谢谢指教!
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 19:11 | 显示全部楼层
    因为T26的ADC是10bit的,所以最大值就是3FF,也就是10进制的1023,其他的不用我多说了吧。

    至于占空比,我一开始计算也是百分96点几,后来注意到程序中在每次采样的时候是先采样温度,后采样电压,所以要算上两次采 ...
    hzdjm 发表于 2010-6-1 17:56

    1.可是按AVR TINY26手册里面的公式ADC=Vin/Vref*1024/倒算,应该是Vin=ADC/1024*Vref的啊。
    2.刚才又模拟了一下,XD说的可能是那个连在一起的rcall 0082,那个子程序里用内存0074的值来控制的,其值为0时,进行温度采样,不进行电压采样,为1时,正相反。
      而在采样温度期间,是不对PB3、4脚的状态进行改变的。因此对占空比应该没有影响。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 19:34 | 显示全部楼层
    刚才又看了一遍手册,发现有这么一句话:ADC 通过逐次逼近的方法将输入的模拟电压转换成一个10 位的数字量。最小值代表GND,最大值代表AREF引脚上的电压再减去1 LSB。
    看来那个公式是有错的,应该是ADC=Vin/Vref*1024-1,这样的话,我的注释里面的电压值就全得改了。各位已经下载的兄弟,自己换算吧。
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 19:42 | 显示全部楼层
    刚才又看了一遍手册,发现有这么一句话:ADC 通过逐次逼近的方法将输入的模拟电压转换成一个10 位的数字量。最小值代表GND,最大值代表AREF引脚上的电压再减去1 LSB。
    看来那个公式是有错的,应该是ADC=Vin/Vref*102 ...
    kgje 发表于 2010-6-1 19:34


    前面对的,你减1反倒错了。PDF只是告诉你最大值代表的电压比ref低1,ref为1024,最大值为1023。就这么回事。
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 19:46 | 显示全部楼层
    刚才又看了下,的确如你所说,在测量温度的时候没有关闭充电电流,所以占空比应该是96.X%。
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 19:46 | 显示全部楼层
    前面对的,你减1反倒错了。PDF只是告诉你最大值代表的电压比ref低1,ref为1024,最大值为1023。就这么回事。
    菜鸟不飞 发表于 2010-6-1 19:42

    那这么说,我的文档里面的计算值是对的吗?
    回复

    使用道具 举报

    该用户从未签到

    发表于 2010-6-1 19:48 | 显示全部楼层
    那这么说,我的文档里面的计算值是对的吗?
    kgje 发表于 2010-6-1 19:46

    {:1_268:}是的
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2021-8-13 15:48
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2010-6-1 19:56 | 显示全部楼层
    谢谢!那我就不用改了。
    回复

    使用道具 举报

    本版积分规则

    小黑屋|手机版|Archiver|论坛自带搜索|下载论坛app|手电大家谈-手电筒爱好者之家 ( 备案序号:鲁ICP备05002565号 )
    以上言论纯属个人观点,与手电大家谈立场无关。
    最佳浏览模式:1920*1080


    GMT+8, 2024-5-9 20:18 , Processed in 0.235773 second(s), 65 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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