一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: cdhigh
收起左侧

[avr] M328V6电子负载开工(M8V6负载的12864版本)

[复制链接]
 楼主| 发表于 2022-1-27 17:57 | 显示全部楼层
cptank 发表于 2022-1-27 13:47
能不能把电源和负载合二为一?

如果你要求不高,将M8V7的电源输入正和电源输出正单独接出来,就可以恒流放电,坛子里面已经有人这么做了,用一个双刀双掷开关切换。
如果要全功能的电源加全功能的电子负载,m328的管脚数又不够了,要增加比较多的控制端和切换端
发表于 2022-1-27 19:56 | 显示全部楼层
用你的话说  放电电流过冲,也是不是可以称作电流在运放作用下没有到达线性状态
或者是冲击电流,的确不好解决
我的最后解决到通过软件控制DAC让电流以非线性上升
1-2-3-4-5-6-7-8-9-10-20-30-40-50-60-70-80-90-100-200-500-1000
最后结果是有一个大约500us尖峰


线性度不用软件就是硬件烧~ 多点校准我试过,还不错,但是受环境温度影响

自激和烧管     自激是运放取值负反馈环路问题
    烧管我的测试来自于(放电电流过冲)冲击电流,这个冲击电流让管子处于超载状态(所以我只做到90v,再高感觉需要硬件改进,娱乐就不玩高电压了)


点评

你这个电流上升有点类似指数形式,要不要考虑对数形式上升?初期可以快一点,后期慢一点。 不过500us过冲已经非常好了,过冲问题很多商业负载都没有彻底解决。 M8v6基本上是成本最低的数控负载了,没用外部ad/da芯  详情 回复 发表于 2022-1-27 22:55
发表于 2022-1-27 19:58 | 显示全部楼层
cdhigh 发表于 2022-1-24 22:53
你这个成本太高了,一般人玩不转
主要是我已经写了M8V7的代码,所以代码方面基本上没有多少工作量,就顺 ...

有俩网友仿制了~~  精度线性度 还不赖  大约7-8k行代码前前后后折腾小一年

点评

钱是个好东西~ 看你用的器件就知道结果不会差,而且也用心去做了。 不过也注定了只可远观~  详情 回复 发表于 2022-1-27 22:59
 楼主| 发表于 2022-1-27 22:55 | 显示全部楼层
donglele2005 发表于 2022-1-27 19:56
用你的话说  放电电流过冲,也是不是可以称作电流在运放作用下没有到达线性状态
或者是冲击电流,的确不好 ...

你这个电流上升有点类似指数形式,要不要考虑对数形式上升?初期可以快一点,后期慢一点。
不过500us过冲已经非常好了,过冲问题很多商业负载都没有彻底解决。

M8v6基本上是成本最低的数控负载了,没用外部ad/da芯片,都是通用普通器件,还可以测交流内阻,据有些仿制比较成功的网友实测,和专业内阻表测出来的结果非常接近。
在这基础上改善一下,还是可以玩一玩的。
多点校准理论上肯定能改善线性度,至于受温度影响,我希望实现温度补偿,就是不知温度对结果的影响的线性度如何?
如果能绘出温度影响曲线,就能精确补偿,但是不同人使用的器件不同,曲线肯定不同,所以考虑先按线性处理。

 楼主| 发表于 2022-1-27 22:59 | 显示全部楼层
donglele2005 发表于 2022-1-27 19:58
有俩网友仿制了~~  精度线性度 还不赖  大约7-8k行代码前前后后折腾小一年

...

钱是个好东西~

看你用的器件就知道结果不会差,而且也用心去做了。

不过也注定了只可远观~


 楼主| 发表于 2022-1-28 19:40 | 显示全部楼层
因为电子负载使用串口连接上位机,而且我的M328P是插件版(烧bootloader方便),所以考虑将来升级固件直接使用串口,不再引出ICSP,方便使用的同时方便PCB排版。
我的最重要的需求是占用空间小,m328p的最小boot区为256words(512bytes),所以就按照这个要求去选。

考察了几个BOOTLOADER方案:optiboot, tinysafeboot, avrubd,还有两个没名字的bootloader,发现都不合适。

1. optiboot,就是arduino用的那个,基本为C语言,缺点是没有EEPROM上传下载能力,如果重新编译加入EEPROM功能,又超512字节了。
2. tinysafeboot,全汇编,有EEPROM功能,缺点是PC端只有命令行,找了一个改进版本有GUI,就没成功上传过。命令行每次都需要输很长的不规则密码,繁琐。而且波特率还很低,最高16000。
3. avrubd,国产,没有EEPROM功能,pass。

最终还是自己动手,修改optiboot,激活EEPROM上传下载功能,同时删除部分不影响使用的非功能代码,成功编译小于512字节。
经过测试,效果令人满意,适用于8MHz晶振的M328P。
上位机使用 Avrduess (Avrdude的GUI界面),编程器选择arduino,波特率选择38400。

optiboot_atmega328p_UART0_38400_8000000L_NOLED_BIGBOOT.rar (861 Bytes, 下载次数: 8)
发表于 2022-1-29 07:57 | 显示全部楼层
话说换彩屏吧。。st7735的160x128.。。淘宝都比12864便宜
 楼主| 发表于 2022-1-29 18:59 来自手机 | 显示全部楼层
谢谢你的信息,之前没有了解过ST7735,搜索了一下,确实挺便宜的,好像屏幕都挺小的,不过因为像素高,显示效果应该不错。

我做这个电子负载也不是缺负载,已经有LM324负载和简易容量测试仪致育ZB2L3了,只是利用手头的闲置材料,整个项目唯一的额外花费只是一个ICL7660。

不过等做好12864版本后,说不定会买一个ST7735试一下吧,只是显示部分有区别。
我看proteus已经内置ST7735仿真库了,很方便。
 楼主| 发表于 2022-2-3 21:26 | 显示全部楼层
目前调试进度,自激问题已经解决,用示波器监控,全量程不震荡,精度也非常满意。
t1.png


大数码管字体的电压电流表界面表现的精度喜人,小数点后三位基本稳定,偶尔缓慢跳动最后一位数字。
原固件的过采样为64次,每80ms刷新一次ADC值,现在修改为512次过采样,每360ms更新一次ADC值(1s刷新三次,已经够快了)
当然,除了过采样的提升,另一个因素是因为我没有30V以上的测试需求,所以将R32(高压区段分压电阻)从5K6修改为8K2,测压上限变成33V,分辨率提高。
t2.png

大数码管字体的电压电流表界面是用于平时不测电源不测电池时摆在工作台上当“台表”(嗯,假装自己是四位半~),可以部分的替代万用表。

12864屏直接显示放电曲线还在完善过程中~

============================
现在有一个棘手问题还在想办法:
先全部接好负载和被测电源,被测电源先开机,负载再开机,MOS管会短暂误导通,有短暂的脉冲放电电流,大约2A,用GandF原电路驱动MOS或三极管推挽驱动MOS都有一样的问题。

玩具示波器的垂直灵敏度不够,检流电阻两端的波形抓不到,无法确定脉冲宽度,但是使用万用表的最大值保持功能和被测电源的电流表都能看到脉冲电流。

经过分析应该是刚上电是因为所有电容都等效为短路状态,
2.5V基准通过R2(2M欧姆)、C1(运放补偿电容)和R10(MOS栅极限流电阻)给MOS栅极充电导致的误导通。

前辈们有什么解决方案?


点评

复位状态下有电流,是因为取样电阻运放端电压差 我的解决方法在取样电阻负端和GND串联10欧姆电阻,然后4.7-10k拉到5vcc,相当于加上恒定电流,复位状态下或者空载,功率mos是处于关闭状态 模拟gnd和负载负极并不是直  详情 回复 发表于 2022-2-4 17:11
 楼主| 发表于 2022-2-3 21:44 | 显示全部楼层
一个实现细节:大数码管字体不是取模生成的。

因为是大字体,所以如果取模保存的话,非常占用FLASH空间。
可以计算一下,每个字大小为 20x32,纵向取模需要80个字节,10个数字就是800个字节,如果是横向取模,则需要960字节,快1K了,太奢侈了。

我是将数码管简化为横向笔画段和纵向笔画段,只有两个元素,每个数字只需要一个字节保存abcdefg七个笔画段的显示是否。
还有再保存每个笔画段的偏移量即可,在显示时一个笔画段一个笔画段的组合出数字,因为是内存缓冲区直接操作,速度也不会太慢。

这个方案是之前让M8V7直接支持无字库12864的一个尝试,尽管最后被放弃了(之后才有M328V7的诞生~),现在此方案在M328V6上得到重生。
附上之前的尝试链接:
https://www.yleee.com.cn/forum.p ... 9836&pid=925000

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-4-27 15:03 , Processed in 0.055637 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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