数码之家

 找回密码
 立即注册
搜索
查看: 5490|回复: 14

[工仪] 鸟枪换炮~DIY数字电调测试仪。

[复制链接]
发表于 2020-5-16 17:32:36 | 显示全部楼层 |阅读模式

爱科技、爱创意、爱折腾、爱极致,我们都是技术控

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 micespring 于 2020-5-16 17:39 编辑

老早的时候做过一个硬盘电磨,用的是XXD的电调和一个廉价的电调测试仪来控制速度。

就是这样的
Snipaste_2020-05-16_16-38-13.png

虽说用起来没啥问题,但是总感觉差点啥,最近正好立创EDA的开源平台在做活动,可以免费打样,于是干脆趁活动自己DIY了一个。

先看看成品图
1.png

下面说说制作过程中的一些考量

首先,我并不想做一个特别复杂且成本高昂的测试仪,因为它最终要实现的功能其实是很简单的,就是控制电调或者测试舵机而已。所以最终的成品一定要尽可能的在便宜,至少不能高于旧款太多,否则太贵就划不来了。旧款价格是7.5元,所以我的目标成本就是10元。

然后开始进行方案的确定。既然要廉价,那显示方式自然是数码管最好了。而且最好是直驱,不用专用的LED驱动。鉴于速度值在0~99之间就可以,太精细的速度控制也没意义。所以选择的2位的数码管。

接下来是MCU的选择,要廉价,首先想到的就是STC的51单片机,但是搜索了价格后,我最终还是选择了STM32的F0系列单片机,具体型号是STM32F030F4P6。这款单片机最便宜只要1.5元就可以购买一片,可谓十分廉价。虽然价格便宜,但是功能上可一点都不廉价:16K的Flash,4KB的SRAM,最高48MHz的主频,12位ADC,以及5个定时器。相对一般的51可谓是奢华配置了。配置丰富了,自然写起代码来就轻松一些,不用扣扣索索的。

不过接下来也有个问题,STM32F030F4P6是20脚的IC,共有15个GPIO口,但是这15个GPIO中,PA13和PA14是要分配给SWD调试器来进行代码下载和调试的,虽然可以复用,但是这样就太麻烦了。这样,我们就只剩余13个IO口可用。

这13个GPIO,要实现如下功能:4个按钮,一个信号输出,一个输出状态指示灯,以及数码管驱动。

数码管是2位的,所以需要8+2共10个GPIO驱动,如果不用控制小数点,则需要9个IO。但是我想做多组油门切换的功能,需要小数点作为指示器,所以不能省。这样就只剩下3个IO。这三个IO中,信号输出肯定不能省的,所以只剩下两个来作为信号输出指示和按键输入。指示灯再占一个,就只剩一个来作为按键输入了。

一个IO如何接受4个按键的输入?这时候就需要终极节约IO的方法了:ADC按键扫描。简单来说就是按键都接入一个分压网络,然后连接至单片机的ADC接口。通过采集到的电压来判断是哪个按键按下。ADC键扫最大的优点就是节省IO,缺点是按键之间容易相互干扰,并且占用CPU时间较多,还没法使用中断。不过这点缺点在当前的应用环境下可以不算缺点了。

方案确定,就是设计电路了,最终成品电路如下,MCU的接口用的一干二净,一点都不浪费:
Schematic_舵机_电调测试器_2020-05-16_17-20-55.png

然后设计PCB,这种低速电路随便布线就好了,好看第一:
Snipaste_2020-05-16_17-23-27.png

设计好PCB后,拿去嘉立创打样,然后等待的过程中可以先写写代码。这个没啥好说的,很简单,用STM32的TIM1高级定时器可以很容易的做到输出频率50Hz,高电平时间在1~2ms间的标准PWM控制信号。然后板子回来,焊接,调试,改掉一些小BUG,然后连接到电调,上电,成功!
2.png

最后算算成本:单片机1.8元,数码管0.5元,PCB5元5片评价1块钱一片,其他阻容原价和接插件不好算,合计算3块钱好了。总造价6.3元,嗯,不错不错~

项目目前在https://oshwhub.com/开源,包含原理图、PCB、和固件。
工程的主页是:https://oshwhub.com/micespring/servotester 欢迎各位前往下载,觉得好的话记得点个赞。

祝大家生活愉快


打赏

参与人数 1家元 +20 收起 理由
aec + 20 謝謝分享

查看全部打赏

发表于 2020-5-16 19:15:55 | 显示全部楼层
单片机高手呀!
回复 支持 反对

使用道具 举报

发表于 2020-5-16 20:05:36 | 显示全部楼层
单片机玩得这 么好,让人羡慕
回复 支持 1 反对 0

使用道具 举报

发表于 2020-6-29 23:05:36 来自手机浏览器 | 显示全部楼层
bios显示的内存电压来回跳,咋回事?是电源的问题吗?
老主板P55,买了个新电源。ddr3内存电压设定1.645v,旧电源显示1.648v,很稳定,几乎不变。换了新电源,显示1.632v,有时候跳到1.648v,来回变。
是新电源有问题?还是新电源质量没旧电源的好?
内存电压设定1.632v,新电源显示1.616v,1.632v,来回变。游戏进到一半就死机了。旧电源设定1.632,显示1.632v,很稳定,不变,玩游戏偶尔闪退。
内存设定1.645v,新旧电源都没问题。
新电源:鑫谷GP700G 黑金版
旧电源:长城巨龙1250W(矿龙)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-7-6 17:40:43 | 显示全部楼层
西红柿首富 发表于 2020-6-29 23:05
bios显示的内存电压来回跳,咋回事?是电源的问题吗?
老主板P55,买了个新电源。ddr3内存电压设定1.645v, ...

BIOS中的电压不一定准确,最好使用万用表实际的量一下。不过看你描述电源有问题的概率很大啊。
回复 支持 反对

使用道具 举报

发表于 2020-7-6 20:10:17 | 显示全部楼层
F0好像也带dma的,
可以看看能不能用dma把adc送到一个内存地址,这样就不需要你手工读了,直接判断变量值就可以判断按键了。
回复 支持 1 反对 0

使用道具 举报

发表于 2020-7-23 12:12:29 来自手机浏览器 | 显示全部楼层
如果我用STM32F405  64脚芯片代换,需要做哪些改动呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 16:59:01 | 显示全部楼层
mousebat04 发表于 2020-7-6 20:10
F0好像也带dma的,
可以看看能不能用dma把adc送到一个内存地址,这样就不需要你手工读了,直接判断变量值就 ...

我就是用DMA读的ADC啊,不用DMA多浪费CPU时间你说是吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-13 16:59:45 | 显示全部楼层
偏风103070 发表于 2020-7-23 12:12
如果我用STM32F405  64脚芯片代换,需要做哪些改动呢?

用HAL库的话基本不用改动,不过405做这个着实有点浪费哦
回复 支持 反对

使用道具 举报

发表于 2020-8-14 23:20:52 | 显示全部楼层
DIY高手,自己解决问题,自己制伏工具 !
回复 支持 反对

使用道具 举报

发表于 2021-12-5 13:58:19 | 显示全部楼层
这个可以呢 ,比买的电位器款得还便宜!
楼主高手啊!
回复 支持 反对

使用道具 举报

发表于 2022-4-2 10:26:07 | 显示全部楼层
这个比较有意思,硬盘大家都有不止一个在垫桌角,拿出来玩耍。  真想大家搞个团购,在付足费用后,请楼主撸串
回复 支持 反对

使用道具 举报

发表于 2022-7-13 17:04:07 | 显示全部楼层
收藏了,谢谢楼主
回复 支持 反对

使用道具 举报

发表于 2022-7-14 09:01:29 | 显示全部楼层
高手啊,学习
回复 支持 反对

使用道具 举报

发表于 2022-8-16 08:16:12 | 显示全部楼层
感谢楼主分享
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2024-3-29 22:29 , Processed in 0.374400 second(s), 14 queries , Redis On.

Powered by Discuz!

© 2006-2023 smzj.net

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