加入交流群  

扫一扫,添加管理员微信
备注:参考设计,即可被拉入群
和也在搞设计小伙伴们碰一碰

收藏 

评论 

toothache 发布

立创·梁山派 语音播报记分器

 
设计简介

0.前言

有幸收到立创的梁山开发板内测邀请,基于梁山开发板制作一个设计并开源。

上图就是梁山开发板的所有东西了,分为两块板,一张最小系统的核心板——梁山Pi,一张游戏机一样的扩展版——天魁星。还有附送DAP-LINK和电池喇叭。

当然送的天魁星板的游戏我还没来得及玩呢,程序已经被点灯刷掉了。

核心板的主控是GD32F450ZGT6,是一块很强大的MCU。

作为一个开发板/核心板收集玩家

除了在外面买的开发板/核心板外还有不少是自己做的开发板/核心板

紫色的PCB真的很显眼,除了梁山开发板是紫色的外,还有个w801开发版也是紫色的~

什么时候出立创出FPGA开发板我立马入手(dog)

不过作为开发板来说还是有点小了,更不如说是核心板。

像正点原子的阿尔法,战舰开发版和普中科技的51开发板都是芯片板载核心板的形式,然后把IO引出到大板上。

梁山使用一个核心板直接怼进另一个成品板上,更像是做模块化产品。

希望以后可以做成大板板载核心板的形式,这样开发其实会更加方便,核心板也可以拆下换上自己画的板。

1.简介

上图是初版PCB

下图是改进版PCB

使用梁山Pi核心板(主控GD32F450ZGT6)制作的一个简易的记分牌,附带语音播报,可以用于多种比赛用途,可以外扩大屏。

上面这版是一开始的,供电不够因此改了

下面是新的板,电源电池部分独立出来了,因此电源板可以白嫖10x10

大屏太大啦,桌子都放不下了。

 

其实以前就做过的基于航顺的一个数码管显示器

https://oshwhub.com/Aknice/ji-yuhk32f030mf4p6-dipc-zhuang-tai-xian-shi-qi

当时好像没做什么功能,只是显示,因此这次想要继续完善,并且做个实用的功能,恰好最近打球缺一个记分器,因此做了这个。

2.原理

2.1框图

框图大致如上,三线控制MAX7219芯片驱动数码管,串口控制喇叭,MCU比较强大,IO多,因此一个按键一个中断。

2.2MAX7219驱动电路

和以前没有区别,也是三根线引导DIN CLK CS(LOAD)脚

2.3放大电路

由于小数码管5V驱动即可,但是大数码管需要12V电压才能驱动,因此需要一个放大电路

由于MAX7219是驱动共阴数码管的,因此DIG0.1.2……为低,SEGA.B.C……为高的时候才会亮,因此设计如上驱动电路

请注意,该驱动电路是驱动共阳数码管的

可以选用一组做分析:

 

上端:当SEG1_DIG0为低时,Q28 AO3400为导通,Q30 由于R74上拉12V截止,但是现在由于Q28导通,因此Q30基极为低,因此Q30也导通,SEG2_OUT_DIG0从0V变12V。

下端:R57下拉Q20,因此Q20截止,当SEG2_A为高时,Q20导通到地,因此SEG2_OUT_A就接地。

 

总结一下就是当SEG1_DIG0为低,SEG1_A为高时,12V就会导通到0号管的A字画上

 

由于放大会导致电平逻辑相反,因此只能用MAX7219(共阴驱动IC)驱动共阳的数码管,若要驱动共阴,或者用共阳驱动IC,那还需要加个反相电路。

 

还有一点是放大电路使用MOS管,不要使用三极管,否则MAX7219驱动能力不够。

2.4电源电路

使用了三节锂电池均衡充电电路,这个三节锂电充电电路以前做过,现在拿过来加了个开关电路和均衡电路

开关电路就是有电源的时候用电源同时断开电池给系统的供电又给电池充电,没电源输入就用电池给系统供电,以前讲过了,不细说。

使用8pin对插,这样电池板也能白嫖做板了

不过千万注意不要插歪了,不然会烧板喔

 

2.5DY-SV17F语音模块电路

根据数据手册

配置CON1 CON2 10K下地,CON3 10K上拉到3.3V

MCU串口电平需要3.3V。

3.拼版

由于全部数码管都做在一整张PCB上是十分昂贵的,大板就要500+RMB,如果用拼版方式将会节省很多打板费用

拼板如上,预留了M3螺丝孔以加强结构

思路大致如下:

我们可以把一个大的数字板做成一个PCB板,然后打10张,通过跳电阻的方式来选择是哪张板,这样只需要打一次10张PCB(10x10以内,20元),再用对插针连接,便可省钱。

背部需要连接的插针如下,打叉不用焊接,测试用

上图为跳线原理图,上面的是选择第几个管,下面的是选择芯片组1还是2

对应如下图

SEG1/2_数字为选择数码管,为12V共阳端,只需要焊一个,带ABCD后缀为芯片组,比分数字为芯片组1,24秒倒计时为芯片组2,要全部焊接

4.DY-SV17F语音模块烧录文件

使用语音模块我们需要烧录语音文件进入语音模块的FLASH中

插入USB连接电脑

电脑此时会出现一个U盘磁盘,先删除里面的所有文件,然后把附件ZH.7z内文件全部放入U盘中

U盘内ZH文件夹

ZH文件夹内放入语音文件

5.代码解析

5.1MAX7219驱动代码

MAX7219代码原理之前的航顺已经讲了,基于原来的代码上做了很多改进优化,加入了许多功能。

Write_Max7219(uchar num,uchar address,uchar dat,uchar dp)

这个函数加入了小数点是否显示

bcd_Max7219(void)

这个函数将模式设置为bcd译码模式

lum_Max7219(uchar num,uchar lum)

设置第几组管的亮度

full_Max7219(void)

全显示

fullclear_Max7219()

清屏

 

不过这些代码全部写在main中,应该写在新的.c文件中

5.2DY-SV17F语音模块

语音模块使用串口通信,开启串口配置就不说了

我们来看看语音模块的通信格式

我们使用的是组合播放,一起播放分数

知道了通信格式后,还需要知道语音表:

就是烧录进语音模块ZH文件夹下的语音包对应的数字或中文

我们需要用到组合播放,格式如上

比如播报:123比321

可以用自带的软件生成看看格式

AA固定;1B为组合播放模式;0E为播放了多少曲目,现在只有7首,一首占2个,因此该位也就是14,0E;30和31就是16进制的0和1,后面同理,33就是3等。最后一位是校验和,对前面所有发送数据加起来取低两位。

为了曲目相同,因此我选择固定曲目的形式对第三位固定。

考虑最长播报应该是:?百?十?比?百?十? 一共11位,因此第三位长度码为22,即0x16

空的字节可以用语音表中的空0.02秒空白语音代替,也可以用不存在的语音代替,代码中使用0x39,0x39代替,即第99个语音包,实际上不存在,因此会直接跳过。

语音组合:

实际播报会有很多特殊情况,比如:

0:0 播报:零比零。

错误播报:零零零比零零零

 

1:2 播报:一比二

错误播报:零零一比两

 

10:100 播报:十比一百。

错误播报:十零比一百零零

 

101:102 播报:一百零一比一百零二

错误播报:一百一比一百二

 

111:110 播报:一百一十一比一百一十。

错误播报:一百十一比一百十

 

这些需要做特殊优化,这些已经在代码中写好。

比如:

十位0播报条件是百位不为0,并且个位也不为0,这样播报100时十位直接跳过,101时十位零又播报。

十位1播报条件是百位不为0,具体可以查看代码。

 

校验和:

我们发送的长度最长不超过26位,因此都是存在一个voice的数组中,通过分数判断然后存储对应位的语音数字

(voice数组应为25才对)

串口发送格式要求我们最后一个数据是做前面所有数组求和结果的低2位

我们需要对前面25个数组求和,然后取他的低2位做最后一个数据发送出去

这样数据就发送出去了

6.注意事项

DP的电阻请严格按照上图阻值贴,之前没注意全都贴和其他位一样的。

然而DP位二极管是只有两个的,因此会把点烧掉视频中小数点就是烧掉了

实际上DP应该用7.4V点亮更佳而不是12V。

7.总结

白嫖梁山开发板PCB券和商城券

梁山开发板视频教程具体清晰,资料目前官方还在完善,硬件也有需要修改的地方,等正式上线后应该问题都会解决。

实际比赛中使用的样子

参考设计图片
×

!注意:请使用浏览器自带下载,迅雷等下载软件可能无法下载到有效资源。

 
相关器件
器件 类型 描述 数据手册
HY2213-BB3A 电池电源管理芯片 锂电池平衡充放电芯片,使用简单,价格低廉。 点击下载
HX3400A MOS(场效应管) 漏源电压(Vdss):20V 连续漏极电流(Id)(25°C 时):3.6A 栅源极阈值电压:1.2V @ 250uA 漏源导通电阻:70mΩ @ 3A,2.5V 最大功率耗散(Ta=25°C):1W 类型:N沟道 点击下载
CR2512F100RE04Z 贴片电阻 阻值(欧姆):100 精度:±1% 功率:1W 温度系数:±100ppm/°C 1W 点击下载
TR0805B10K0P0525Z 贴片高精密、低温漂电阻 阻值(欧姆):10K 精度:±0.1% 功率:1/8W 温度系数:±25ppm/℃ 点击下载
TCC1206X7R106K100HT 贴片电容 精度:±10% 容值:10uF 额定电压:10V 温漂系数(介质材料):X7R X7R 点击下载
BAT54 肖特基二极管 直流反向耐压(Vr):30V 平均整流电流(Io):200mA 正向压降(Vf):1V @ 100mA 点击下载
CN3703 电池电源管理芯片 点击下载
CDRH74-220MT 功率电感 精度:±20% 额定电流:1.23A 直流电阻(内阻):110mΩ 电感值:22uH 屏蔽电感 22uH +-20% 点击下载
IRF9Z34N MOS(场效应管) 漏源电压(Vdss):55V 连续漏极电流(Id)(25°C 时):19A 栅源极阈值电压:4V @ 250uA 漏源导通电阻:100mΩ @ 10A,10V 最大功率耗散(Ta=25°C):68W 类型:P沟道 P沟道,-55V,-19A,100mΩ@-10V 点击下载
SS34 肖特基二极管 直流反向耐压(Vr):40V 平均整流电流(Io):3A 正向压降(Vf):550mV @ 3A 40V,3A,VF=0.55V@3A 点击下载
CC0805FRNPO9BN152 贴片电容(MLCC) 点击下载
IRF9540NPBF MOS(场效应管) 漏源电压(Vdss):100V 连续漏极电流(Id)(25°C 时):23A 栅源极阈值电压:4V @ 250uA 漏源导通电阻:117mΩ @ 11A,10V 最大功率耗散(Ta=25°C):140W 类型:P沟道 P沟道,-100V,-23A,117mΩ@-10V 点击下载
PZ254-2-04-W-8.5 排针 间距:2.54mm 总PIN位数:8 排数:2 插针结构:2x4P 行距:2.54mm 安装类型:弯插 圆针/方针:方针 额定电流:3A 配合针长度:6mm 塑高:2.5mm 工作温度范围:-40℃~+105℃ 颜色:黑色 点击下载
群聊设计,与管理员及时沟通

欢迎加入EEWorld参考设计群,也许能碰到搞同一个设计的小伙伴,群聊设计经验和难点。 入群方式:微信搜索“helloeeworld”或者扫描二维码,备注:参考设计,即可被拉入群。 另外,如您在下载此设计遇到问题,也可以微信添加“helloeeworld”及时沟通。

 
查找数据手册?

EEWorld Datasheet 技术支持

论坛推荐 更多
更新时间2024-11-19 10:50:39

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD参考设计中心

站点相关: TI培训 德州仪器(TI)官方视频课程培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved