一乐电子

一乐电子百科

 找回密码
 注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
查看: 6545|回复: 538
收起左侧

[avr] M8V6电子负载升级版M328V6(12864版本)发布,上位机支持安卓

  [复制链接]
发表于 2022-2-23 21:49 | 显示全部楼层 |阅读模式
本帖最后由 cdhigh 于 2022-8-5 23:22 编辑

这个是GandF老师的M8V6电子负载的升级版,MCU从Atmega8改为Atmega328P,屏幕从2004改为12864。  
并适当优化硬件电路的部分细节,提高精度,避免振荡。  

m328v6解决了哪些问题/中间的一些过程和一些图片在另一个帖子有  
M328V6电子负载开工(M8V6负载的12864版本)https://www.yleee.com.cn/thread-90686-1-1.html

M328V6-sch-v1.3.0.png

电路图解读(如看不清楚,附件PDF可以随意放大)   
M328V6电路图综合了GandF、shj117、donglele2005等人的研究成果,在此一并鸣谢!     
和GandF的原M8V6不同的部分都是可选的,如果您已经有一个原电路板正常运行,也可以不改。   

* 原电路图容易振荡,特别挑MOS管,新电路图增加了推挽MOS驱动电路(Q1/Q2/R70/D5/D6/R71)和运放反向端补偿RC网络R69/C52,C1也修改为103   
* 最大放电电流通过修改检流电阻R20实现,量程越小电流精度越高,50毫欧大约5A,25毫欧大约10A,17毫欧大约15A(固件最大支持15A)   
* 如果您需要经常测试大电流,但是检流电阻温度太高,此时可以将R49/R52修改为20K,OP07的放大倍数设置为2,这样检流电阻阻值可以缩小一倍,比如量程为15A时R20=8毫欧   
* 图中方框"500mA小量程电流(可选)"中的电路为可选电路,运放可选择其他单电源低失调轨到轨型号代替,增加此电路可以让小电流精度更高,分辨率达到0.1mA,但仅适用于贴片版的M328P,DIP28封装的M328P没有ADC6管脚,如果使用此电路,则需要烧录标识adc6的固件。
* 最大测试电压通过修改R28/R32比值实现,量程越小电压精度越高,R32=8K2,则电压=33V,R32=6K8,则电压=40V,R32=5k6,则电压=47V, R32=3k9,则电压=66V(固件最大支持65V)
* R2给LM358的2脚一个偏置电压,避免空载时MOS关不断,除此之外,也给LM358的5脚一个偏置电压,补偿ADC输入通道的零点误差,可以改善小电流精度,取值需要调整,最好的方法是进入校准电流菜单,不接电流线,空载时确保ADC有底数,这样就跨越了ADC的测量零点。如果ADC没有底数,则减小R2,如果底数太大,则增大R2,底数至少要大于64,底数大一些则小电流稳一些,但会浪费ADC量程范围   
* D7为防反接二极管,需要大电流的肖特基二极管并妥善散热,副作用是降低最低可测电压,有低电压测试需求也可以考虑不接,此二极管也可以替换为外接分功电阻用于提升最大测试功率     
* ZD1只是额外保护作用,如果不想接也可以不接   
* R25决定交流内阻的量程,100R时输出电流约5mA,量程为1000毫欧,R25=50R时输出电流约10mA,量程500豪欧     
* 蜂鸣器需要使用无源蜂鸣器,最好是压电陶瓷型的,如果是电磁式的(使用万用表测试有电阻),则需要三极管驱动,IO口无法直接驱动      
* CH340的VCC不要和系统电源VCC接在一起,接在一起则无法实现通过串口升级固件功能,CH340的VCC仅接到USB插座   
* 如果串口下载需要自动复位到bootloader功能,可以将CH340的13脚(DTR)通过一个104电容连接到M328P的RST,并且去掉RST的原先的接地电容C14,RST再通过10K上拉,副作用就是在有些电脑上会导致连接上位机时复位   
* 请做好解耦去耦,每个芯片旁边最好都放置一个104电容   
* 晶振换成16M的吧,M328P执行起来会轻松一些,屏幕刷新也更快,当然,继续发布支持8M的固件,8M晶振运行也没有任何问题   

M328V6特性  
* 支持12864 LCD/OLED  (ST7565/ST7567/ST7920/SSD1306等)   
* 支持放电电压曲线显示,尽量甩开上位机   
* 支持电压电流多点校准(最多8点),有效规避非线性问题   
* 支持温漂补偿,冬天夏天都准准的   
* 支持恒流/恒阻/恒功率模式   
* 支持四线测试和带线损补偿的两线测试     
* 支持直流内阻和交流内阻   
* 增加电流缓升功能,避免过冲电流烧管   
* 最大电流和最大功率可调(最大电流限制在15A内,最大功率限制在650W内)   
* 库仑计支持安时和瓦时,安时最大999.99Ah,瓦时最大99999Wh   
* 支持温度显示,温度保护(OTP)和自动PWM风扇,各温度点均可调   
* 改进的编码器操作,更便捷   
* 支持预约开关负载/周期开关负载   
* 支持四组预置电压电流     
* 支持自动带载/卸载功能
* 支持USB串口或蓝牙串口和上位机双向通讯,上位机可以全功能的控制下位机     

功能展示  
第一屏(主界面)
main.png
main12864.jpg

第二屏(放电电压曲线显示)
real_curva.jpg
此功能的实现让上位机的必要性已经大大减弱,尽管因屏幕分辨率不高导致曲线细节不够,但是一般应用时仅需要了解大概的放电平台,所以基本够用,为了最大化曲线细节,电压和时间刻度均为自适应,屏幕最顶端为本次放电的最大电压,最底部为本次放电的最小电压,开始放电后每秒记录一个电压,满一屏后时间加倍为两秒,原先的记录每两个点保留一个点,曲线缩短为原来的一半,再次满屏后再加倍为四秒,依此类推。

第三屏(大字体电压电流表)
bigled.jpg
此屏的主要用途是电子负载空闲时可以当作"台表"使用,大字体方便观察,可以部分的代替万用表。  
做为"台表",在多点校准和512次过采样累加的加持下,精度是可以满足一般使用要求的。  
危险秘籍:在此界面下,如当前没有在放电,长按中键5s切换为真实电流表模式,强制MOS完全导通,此时字母A会一直闪烁,在字母A的下面也会出现一个横线表示MOS直通(主界面的字母A下面也有一个闪烁横线,时刻提醒),使用电流测试线串入需要测试的电路即可像万用表电流档一样测试电流。如果需要切换回普通电子负载模式,再次长按5s或关机重启即可。
再重申一次,使用此MOS直通功能后果自负,万一万一万一忘记切换会普通电子负载模式,就直接接入被测电源而且被测电源没有短路保护,可能会放烟花!!!

第四屏(大字体时钟界面)
此屏为纯粹时钟,排除一切干扰信息,用途是电子负载空闲时可以当作桌面计时工具使用。
clock.jpg
可以通过上位机APP同步上位机的时间来做实时时钟。   
如果你喜欢折腾,也可以外挂一个ESP8266来做WIFI实时授时。   
但是我一般用它来做番茄钟/闹钟使用。   
方法是设定一个预约放电时间比如30分钟,30分钟后会自动启动放电,但是因为没有接入电压源,所以会马上自动停止放电,闹铃响起,起到闹铃作用。   
你说用电脑和手机就可以,何必那么麻烦,嗯,当我什么都没说。   

第五屏(交流内阻表)
此屏放到最后是为了更便捷的打开此界面,猛的向右一旋编码器即可进入,更方便开机后直接测试交流内阻。   
bigledra.jpg
首页也显示交流内阻,增加此屏不是功能重复,除了一方面使用大字体方便观察,同时也有一个“自动开关交流内阻模块”的功能:   
切换至此界面自动打开交流内阻测试,离开此界面后恢复之前的交流内阻模块状态。   
如果需要同时测试电压,建议仅将电压V+端子并接到交流内阻输入端(接C3/1UF电容的端子),而交流内阻输出端(C10/100UF电容)保持和输入端分离,否则空载时内阻和电压都是乱的(不管如何,正常接入电池测试时都是正确的)。   
ra_probes.png
注:正常放电时不建议同时开启交流内阻并且并接到电池,因为电池长时间通过交流电流可能对电池有一些损伤,并且关闭交流内阻也可以让程序运行的更有效率   

  


改进的按键操作  
1. 正常锁定状态下(屏幕上方中间的菱形闪烁)左旋进入ON/OFF锁定状态(屏幕下方中间的ON/OFF闪烁)  
2. 正常锁定状态下单击弹出工作菜单(不需要长按了,方便很多)   
3. ON/OFF锁定状态单击启动放电或停止放电   
4. 任何时候长按弹出菜单(在设置电压电流状态或ON/OFF锁定状态时也可以马上弹出菜单)   
5. 正常锁定状态下双击直接进入调整电流模式   
6. ON/OFF锁定状态下双击打开预置电压电流界面,快捷设置您常用的电压电流   
7. 如果已经处于调整电压或电流状态,按住中键再左旋切换为调整截止电压状态,按住中键再右旋切换为调整放电电流状态   
8. 锁定状态下旋转编码器选择显示的界面(共五屏,第一屏有两种锁定状态)   


熔丝位
熔丝位烧录不对也可能正常运行,但是可能容易丢配置数据,需要经常校准。
使用bootloader
fuse_with_bootloader.png
低位:0xff   
高位:0xd6   
扩展位:0xfc   
加密位:0xef   


不使用bootloader
fuse_no_bootloader.png
低位:0xff   
高位:0xd7   
扩展位:0xfc   
加密位:0xff


上位机
上位机软件
M328v6继续兼容“笨熊”的老版上位机(https://www.yleee.com.cn/thread-1841-1-1.html)。   
除此之外,我还开发了新版的上位机,支持有线和无线蓝牙连接,除绘制曲线图功能外,还可以全功能的控制下位机,基本上能在下位机操作的功能都能在上位机操作实现。   
支持Android/IOS/Windows/Linux/MacOS,但是仅提供Android/Windows的二进制包,其他平台尚未测试,并且需要自己编译。  

新版上位机源代码
https://github.com/cdhigh/m328v6host

上位机协议
(避免帖子内容太多,这部分已删除,请参考固件压缩包内的使用说明书)



固件:V6.30 初始版本
M328V6_V630.rar (305.82 KB, 下载次数: 64)

2022-03-21 发布下位机固件 V6.31 (建议重新校准电流,可能需要重新调整屏幕方向和重设最大功率限制)   
1. 增加 [data logging] 功能,使用方法参考用户手册的章节 "长时间数据记录应用"   
2. 按键操作增加一个"ON/OFF锁定状态",正常锁定状态下左旋进入,此状态下单击可以启动或停止放电   
3. 校准过程增加一个校准零点步骤(请参考用户手册说明)   
4. 功率和能量显示小数点后两位(上位机从V1.2.1开始支持)   
5. 恒阻模式的电阻单位从毫欧修改为10毫欧,提高上限到655欧(上位机从V1.2.1开始支持)   
6. 上报到上位机的Ah最大值从65.535提高到99.999(下位机可以显示999.99)   
7. 停止放电后将内阻数值清零避免上位机一直显示之前测试的数值   
8. ST7565屏增加一个配置项"Offset X",适配一些不同厂家的奇怪屏幕   
9. 计时变量从16位增加到32位,从最大18小时提高到99小时   
10. bugfix: 上位机和下位机偶尔同时发送数据时导致上报缓冲区部分数据被覆盖   
M328V6_V631.rar (1.16 MB, 下载次数: 27)

2022-04-01 发布下位机固件 V6.32 (不需要重刷EEPROM,需要重新设置双击速度,否则双击会失效)   
1. 增加用于两线测试模式的线损补偿功能(字母V下有横线表示线损补偿)   
2. 增加双击速度配置项(值小一些界面反应快一些,零为禁止双击)   
3. 增加按键蜂鸣提示功能   
4. ST7565及其兼容屏幕的X偏移可选0-4个像素   
5. bugfix: 退出工作菜单后的瞬间不能双击进电流   
M328V6_V632.rar (1.2 MB, 下载次数: 32)

2022-04-05 发布下位机固件 V6.33 (不需要重刷EEPROM,不需要重新校准)
1. 增加预置电压电流(最多4组)功能,可以快捷设置常用的电压电流   
2. 增加第四屏:时钟界面   
3. 串口协议增加一个上位机时间同步到下位机的命令(上位机1.2.3支持)   
4. 放电曲线屏幕显示本次放电时间   
M328V6_V633.rar (1.39 MB, 下载次数: 36)

2022-04-26 发布下位机固件 V6.34  (如需要小电流量程,需要重刷EEPROM)
1. 支持使用ADC6接入小电流量程(可选),分辨率为0.1mA   
2. 增加自定义开机图像的功能   
3. 增加屏幕反显开关   
4. 去掉过流提示门限设置菜单项,内部修改为ADC数值溢出后直接提示过流   
5. bugfix: 偶尔会出现不管波特率设置为多少,启动后串口的波特率都固定为38400的情况   
M328V6_V634.rar (1.93 MB, 下载次数: 28)

2022-05-10 发布下位机固件 V6.35  (从6.34升级过来不需要重刷EEPROM,不需要重新校准)
1. 增加自动带载功能(检测到输入电压达到某一个数值后自动开始放电)   
2. 增加第五屏:交流内阻表。切换至此屏自动打开交流内阻   
3. 增加线损补偿单独开关,更方便快捷的启用/关闭线损补偿     
M328V6_V635.rar (2.03 MB, 下载次数: 73)


电路图(V1.1.0修改MCU复位电路和一些网络标号,并增加风扇驱动电路):
M328V6-sch-v1.1.0.pdf (1.18 MB, 下载次数: 45)   
(V1.2.0去掉电压电流零点补偿偏置电阻,ICL7660加上接地脚):
M328V6-sch-v1.2.0.pdf (1.2 MB, 下载次数: 39)
(V1.2.1增加蜂鸣器类型描述,修改OP07的一个反馈电阻标号,修改风扇驱动限流电阻标号)  
M328V6-sch-1.2.1.pdf (1.2 MB, 下载次数: 150)
(V1.3.0增加可选的小量程电流检测电路,增加M328P的RST脚上拉电阻)
M328V6-sch-v1.3.0.pdf (1.47 MB, 下载次数: 49)


用户手册:
帖子上的内容只是部分,其他详细的内容包括各配置项和校准步骤等都在使用手册内
(已删除,每次更新后用户手册合并到固件发布压缩包内)


bootloader:
如果希望使用bootloader,压缩包内部有8M和16M晶振的bootloader,根据使用的晶振频率,使用任何有效的ICSP烧录软件烧进M328P即可,之后通过串口连接电脑使用AVRduess升级固件,在点击“开始编程”按钮后大约1s再打开电源开关即可开始下载,很方便。
校准完成后也可以使用Avrduess将EEPROM读取出来备份到电脑,万一以后配置丢了可以仅烧录EEPROM即可免除重新校准的麻烦。 avrduess.png

M328V6_bootloader.rar (1.73 KB, 下载次数: 53)
Avrduess2.13.rar (530.58 KB, 下载次数: 14)

新版上位机APP(可以在APP内直接更新):
m328v6_apk_V1.2.3.rar (21.89 MB, 下载次数: 40)
m328v6_win_V1.2.3.zip (10.18 MB, 下载次数: 49)


用于自定义开机图像的软件工具(附源码,因使用pyinstaller打包,有部分防病毒软件会误报,担心的同学可以使用python直接执行源码文件):
m328v6splash.rar (9.36 MB, 下载次数: 16)

用于分析校准数据的工具,将EEPROM读出来保存为二进制文件,然后在命令行执行这个命令,根据你的情况输入参数-adc6或-noadc6,即可在同一个目录下生成一个html文件:
  1. parseeeprom.exe [-adc6|-noadc6] eep.bin
复制代码

parseEeprom.zip (2.61 KB, 下载次数: 2)


每个版本的新功能描述楼层
V6.31: https://www.yleee.com.cn/forum.p ... id=90734&pid=929098
V6.32: https://www.yleee.com.cn/forum.p ... id=90734&pid=929355
V6.33: https://www.yleee.com.cn/forum.p ... id=90734&pid=929518
V6.34: https://www.yleee.com.cn/forum.p ... id=90734&pid=930176
V6.35: https://www.yleee.com.cn/forum.p ... id=90734&pid=930464


[zhqsoft的开源PCB](https://oshwhub.com/zhqsoft/m328-dian-zi-fu-zaig01)
[M8单片机恒流型数字电子负载及交流内阻测试仪V6](https://www.yleee.com.cn/thread-6795-1-2.html)
[M8单片机恒流型数字电子负载及交流内阻测试仪](https://www.yleee.com.cn/thread-1603-1-1.html)
[M8电子负载加差分电路,实现四线测量](https://www.yleee.com.cn/thread-29978-1-1.html)
[M328V6电子负载开工(M8V6负载的12864版本)](https://www.yleee.com.cn/thread-90686-1-1.html)
[笨熊的上位机](https://www.yleee.com.cn/thread-1841-1-1.html)



评分

参与人数 1一乐金币 +100 收起 理由
Joe_Black + 100 赞一个!

查看全部评分

发表于 2022-2-23 22:17 | 显示全部楼层
本帖最后由 讯雷科技 于 2022-2-23 22:24 编辑



下午还想找你要最终版电路图,准备画板子呢

点评

调试过程中发现,78M09/78M05有点烫,所以改成了7809/7805并且加上散热器,对精度有好处,你也可以根据情况选择78M05还是7805,如果是贴片78M05的话,铺铜区域建议加大一些  详情 回复 发表于 2022-2-23 23:45
电路图是在 dradeng 的PDF电路图基础上修改的,并且在调试过程中经过几次修改,所以元件编号可能有点乱~  详情 回复 发表于 2022-2-23 22:34
 楼主| 发表于 2022-2-23 22:34 | 显示全部楼层
讯雷科技 发表于 2022-2-23 22:17
下午还想找你要最终版电路图,准备画板子呢

电路图是在 dradeng 的PDF电路图基础上修改的,并且在调试过程中经过几次修改,所以元件编号可能有点乱~

点评

第一次,刷入bootloader后,可以用智峰软件刷入M328固件不 ?  详情 回复 发表于 2022-6-27 21:38
发表于 2022-2-23 22:56 | 显示全部楼层
不错
 楼主| 发表于 2022-2-23 23:04 | 显示全部楼层
这段时间一直折腾上位机,还没有做交流内阻测试夹,先直接用线测试,数值是稳稳的,不会跳变,我没用过原版的M8V6,不过网上很多人反馈M8V6交流内阻跳动太大,只能参考。我用了7107毫欧表对比过,精度是有保障的。
100毫欧

r1ohm.jpg


330毫欧
r33ohm.jpg



发表于 2022-2-23 23:20 | 显示全部楼层
牛人
不知道能否兼容老板v6的硬件?

点评

我为了尽量兼容老版本的硬件,即使重新画板,连屏幕的硬件SPI都不使用,还是使用软件模拟SPI,就是为了最小化硬件修改 硬件变更 1. 去掉原先的电池电压检测(ADC5),将ADC5用于主板温度监测,提供温漂补偿 2. 蜂  详情 回复 发表于 2022-2-23 23:26
 楼主| 发表于 2022-2-23 23:26 | 显示全部楼层
tplin 发表于 2022-2-23 23:20
牛人
不知道能否兼容老板v6的硬件?

我为了尽量兼容老版本的硬件,即使重新画板,连屏幕的硬件SPI都不使用,还是使用软件模拟SPI,就是为了最小化硬件修改

硬件变更  
1. 去掉原先的电池电压检测(ADC5),将ADC5用于主板温度监测,提供温漂补偿  
2. 蜂鸣器原来接ADC4,现在改接到PD2,PD2原来是2004屏幕的RS  
3. ADC4现在用于散热器温度监测  
4. PD3本来是原先2004屏幕的E,现在用做风扇控制端口,支持PWM调速  
5. 原固件使用内部2.56V基准电压,现在改成TL431外部基准,需要外部接一个TL431(狗狗的PCB版本都已经使用TL431了,不需要更改)  




 楼主| 发表于 2022-2-23 23:31 | 显示全部楼层
我还是将硬件变更从说明书中提取出来吧

硬件变更  
1. 去掉原先的电池电压检测(ADC5),将ADC5用于主板温度监测,提供温漂补偿  
2. 蜂鸣器原来接ADC4,现在改接到PD2,PD2原来是2004屏幕的RS  
3. ADC4现在用于散热器温度监测  
4. PD3本来是原先2004屏幕的E,现在用做风扇控制端口,支持PWM调速  
5. 原固件使用内部2.56V基准电压,现在改成TL431外部基准,需要外部接一个TL431  




温度测量  
ADC4用于散热器温度检测,ADC5用于主板温度检测,温度传感器支持NTC热敏电阻(10K/B3950)和LM35
如使用NTC,则一头接2.5V基准电压,另一头串10K电阻到地,中间接入对应的ADC端口。
如使用LM35,LM35第一脚接5V,中间脚接入对应的ADC端口,第三脚接地。
sensor_lm35.png
sensor_ntc.png



风扇控制  
如果接入了温度传感器,则可以由软件输出PWM自动控制风扇速度,保证散热效果的同时兼顾噪音影响。   
开启/全速/强制停机温度均可以在配置菜单里面选择。  
风扇控制口为PD3,输出PWM频率为10KHz。  
根据您的具体情况,在以下几个风扇控制电路中选择一个,图中的三极管也可以换成NMOS,只是上升沿或下降沿不够陡峭,不过用于驱动风扇影响不大。  
fan_ctrl1.png
fan_ctrl2.png
fan_ctrl3.png



USB串口或蓝牙串口模块(这个在首页主电路图上已经有了)  
M328V6支持使用USB串口或蓝牙串口模块连接上位机,主板上可以同时安装CH340和HC-06,但是不能同时连接上位机。   
USB串口模块比如CH340C就非常好用,免晶振,也可以使用其他的模块比如PL-2303/FT232R等模块。   
蓝牙模块直接支持HC-05/HC-06,推荐HC-06,开发阶段测试HC-06通过。   
1. 使用蓝牙模块需要在配置菜单中选择对应的蓝牙模块并设置需要的波特率。  
2. HC-05如果短接模块上的按钮则必须选择波特率为38400(推荐),否则必须要选择波特率为9600。  
3. HC-06可以任意选择波特率,建议19200,兼顾效率的同时减少传输误码率。  
3. HC-05/HC-06模块上一般都有LDO,可以使用5V供电,但数据线需要电平转换,否则可能会烧毁模块。  



发表于 2022-2-23 23:39 | 显示全部楼层
本帖最后由 KANGYD 于 2022-2-23 23:44 编辑

这么快,厉害了,赶紧跟上学习

点评

哈哈,人家搞得是电子负载,不是电源啊!  详情 回复 发表于 2022-2-23 23:49
 楼主| 发表于 2022-2-23 23:45 | 显示全部楼层
讯雷科技 发表于 2022-2-23 22:17
下午还想找你要最终版电路图,准备画板子呢

调试过程中发现,78M09/78M05有点烫,所以改成了7809/7805并且加上散热器,对精度有好处,你也可以根据情况选择78M05还是7805,如果是贴片78M05的话,铺铜区域建议加大一些
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2022-8-8 17:34 , Processed in 0.073202 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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