找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4307|回复: 24
打印 上一主题 下一主题
收起左侧

做一款适合做工程项目的51单片机开发板

  [复制链接]
跳转到指定楼层
楼主
本帖最后由 hhh402 于 2021-3-14 11:54 编辑

  学习了很多年51单片机从89C52一直到STC8系列,也做过好几块电路板,也用过现成的开发板,发现有很多问题。
市场上的单片机开发板IO口绝大部分都是直接引出,没有保护电路,与传感器或其他设备的连接都需要另外的转换电路板,比较麻烦,也显得很混乱。所有只能够用来学习用,不适合用来做项目。为了解决这些问题就想设计一款开发板,加入必要的输入输出模块适合直接用来做项目的。目前加入的模块有:
输入模块:
1、8路通用输入接口。可以直接3-36V电压输入,可以直接连接工业传感器。
2、1路万用表接口,可以检测10Uv-200V电压,0-10A电流,10mΩ-10MΩ电阻。精度超过3位半万用表。
3、1路PT100铂电阻接口。(-50-300℃)精确到0.1℃。
4、2路NTC热敏电阻接口。(-30--110℃)其中1路板载,1路外接。
5、1路板载光敏电阻。
输出模块有:
1、2路10A继电器。可以直接控制220V电器
2、1路PWM输出(12V-3A)。可以直接控制12V电机、风扇、LED灯等。
3、2路4-20mA电流输出。负载电阻<500Ω,可以直接控制变频器、电动比例阀、气动比例阀、PLC等。
4、2路0-10V电压输出。
显示按键模块有:
1、1.77寸真彩色液晶屏,160x128像素。
2、4位电容触摸按键。具有抗干扰功能。
输出接口模块:
1、串口转USB接口。连接电脑,下载程序或传输数据。
2、1路485接口。
3、1路WIFI接口。
上面3路接口相互独立可以同时使用。
4、1路2.4G无线接口。
其他模块:
1、高精度时钟模块。使用5ppm进口晶振。
2、2M外部flash存储。
3、高精度12位ADC模块。通过特殊的电路以及软件可以得到16位ADC数据。
4、完整p7口,P0.4、P1.2、P2.6一共11个IO口。

单片机控制负电源电路.JPG (370.59 KB, 下载次数: 123)

单片机控制负电源电路.JPG

4-20MA.JPG (382.97 KB, 下载次数: 125)

4-20MA.JPG

4-20ma1.JPG (383.23 KB, 下载次数: 134)

4-20ma1.JPG

3引线Pt100温控电路.JPG (428 KB, 下载次数: 122)

3引线Pt100温控电路.JPG

电容触摸按键.JPG (342.7 KB, 下载次数: 125)

电容触摸按键.JPG

单片机开发板-反.JPG (1.24 MB, 下载次数: 133)

单片机开发板-反.JPG

单片机开发板-正标注.JPG (620.73 KB, 下载次数: 127)

单片机开发板-正标注.JPG

仿真.zip

618.49 KB, 下载次数: 24, 下载积分: 黑币 -5

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏4 分享淘帖 顶1 踩
回复

使用道具 举报

沙发
ID:489631 发表于 2021-3-11 21:09 来自手机 | 只看该作者
能共享下电路图和可打板文件吗
回复

使用道具 举报

板凳
ID:813840 发表于 2021-3-11 22:09 | 只看该作者
不错,用STC8H吧
回复

使用道具 举报

地板
ID:57512 发表于 2021-3-12 08:50 | 只看该作者
倒是可以搞一个集成了开发常用工具的板子,这个用来做项目的话,对于单片机这种价格敏感型行业,不合适。因为我公司一年几千、几万片,比如我公司板子,1毛钱都在计算
回复

使用道具 举报

5#
ID:491577 发表于 2021-3-12 09:37 | 只看该作者
本帖最后由 hhh402 于 2021-3-12 10:25 编辑

用的是STC8A8K32S4A12,64脚的,STC8H多一个USB没用,STC8A8K32S4A12的ADC电压引脚全部都是独立的,ADC更稳定。
回复

使用道具 举报

6#
ID:491577 发表于 2021-3-12 09:56 | 只看该作者
太空将军 发表于 2021-3-12 08:50
倒是可以搞一个集成了开发常用工具的板子,这个用来做项目的话,对于单片机这种价格敏感型行业,不合适。因 ...

不是针对你这种情况的,主要是针对用量不大但是程序比较复杂需要不断修改程序的情况,比如说工控、智能家居,只是知道最终要控制某个东西,但是其中用到什么传感器,用什么输出是不确定的要看运行效果来修改,这就需要一适应性比较强的开发板了。
回复

使用道具 举报

7#
ID:491577 发表于 2021-3-12 10:12 | 只看该作者
jdf 发表于 2021-3-11 21:09
能共享下电路图和可打板文件吗

共享全部文件作用不大,太复杂了,我的库文件还没有编写完现在已经超过1W语句了,很难看懂。我要做的是第一:给所有模块编写可以直接调用的子函数,第二:编写程序架构(类似操作系统)把所有模块集中到一个主函数中,让所有模块同时共存需要哪个模块直接调用就好。这不同于现在的开发板,现在的开发板的程序单个运行没有问题,多几个集合在一起是无法运行的。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

8#
ID:97678 发表于 2021-3-12 10:43 来自手机 | 只看该作者
可以共享一下原理图和pcb吗?
回复

使用道具 举报

9#
ID:491577 发表于 2021-3-12 11:09 | 只看该作者
      用库函数:定时器设置函数举个例子,STC是有官方库函数的,它的定时器设置函数用的是结构体变量来设置的,定义如下:设置时所有7个变量都要用到而且顺序还有要求,比直接写寄存器还要复杂,基本上没人用。
     我用的是用字符串来设置的,用到什么写什么,用不到的不用管而且没有顺序要求随意。
    _TIM(u8  tim_n,u8 *s); //定时器设置函数,tim_n是定时器0-4;*s是设置模式字符串。
*s中:有run=运行时钟,没有run=停止时钟;有out=输出时钟,没有out=不输出时钟;有irq=开中断,没有irq=关中断.
           ms毫秒,us微妙,hz频率赫兹,b波特率。
举例:
定时器1设置为:1ms定时,开中断,运行时钟:_TIM(1,"1ms,irq,run");或_TIM(1,"1msirqrun");         
定时器2设置为:500us定时,开中断,运行时钟:_TIM(2,"500us,irq,run");或_TIM(2,"500usirqrun");
定时器4设置为:100khz(频率),输出时钟(P0.7IO口输出100khz方波):_TIM(4,"100000hz,out,run");
定时器2设置为:9600波特率:_TIM(2,"9600b,run");        115200波特率: _TIM(2,"115200b,run");
_TIM(0," ");是:定时器0:关中断,不输出时钟,停止时钟。就是关闭定时器0.
_TIM(0,"10msrun");是:定时器0:关中断,不输出时钟,初值设置为10ms,运行时钟。
_TIM(0,"10ms");是:定时器0:关中断,不输出时钟,初值设置为10ms,停止时钟(只刷初值,不运行)。
_TIM(1,"runirq");是:定时器1:开中断,不输出时钟,运行时钟(不刷初值)。
注:run、out、irq、xxxms之间的顺序是随意的,而且它们之间可以加或不加分隔符:,; (逗号、分号、空格)
"10msrunoutirq"、"runout10msirq"、"irq10msoutrun"、"out10msrunirq" 这4个意思是一样。
"10ms,run,out,irq"、"10ms;run;out,irq,"、"10ms,runout;irq"、"10ms,run outirq"这4个(8个)意思是一样。分隔符也可以部分加。混合加。
  设置的时间范围1us-32ms,频率32hz-2Mhz,超过范围会忽略。
回复

使用道具 举报

10#
ID:491577 发表于 2021-3-12 12:35 | 只看该作者
这个开发板主要用途:
1、在设计初期选型的时候用,比如要设计一个温度控制器,探头有很多种选择,热敏电阻、Pt100、热电偶等等,用哪一个比较合适?还有输出用继电器还是晶体管?抗干扰能力如何?难道每个都做一块板来试试吗?这个开发板都支持,直接试就可以。
2、为现有设备增加智能化功能,比如说有一套恒压供水系统,正常情况下只能恒定在某一个压力如果想改变压力必须要人工去调节,如何才能够做到供水高峰期压力大一点,低峰期压力小一点呢,我们把开发板串联到压力传感器与变频器中间,压力传感器的电压输出接开发板电压输入,开发板电压输出接变频器电压输入。如果开发板接收到多大电压就输出多大电压那么这个系统控制的压力就和原来一样,如果开发板把接收到的电压再加上一点电压P0再输出到变频器会出现什么情况呢?变频器还是维持原来的压力不变,但是实际输出压力降低了,降低的压力是与P0相对应的,通过开发板我们就可以得到不同的压力,也就是把原来只能控制一种压力的恒压供水系统变成了智能化的恒压供水系统。
3、适合不熟悉51单片机的工程师编写复杂的程序,只需要具备基础C语言编程能力,不需要深入了解单片机,不需要寄存器操作,通过专业库函数就可以完成复杂的编程。具有模板程序,只需要修改核心算法和显示内容就能够完成编程,甚至不需要详细了解KEIL软件。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

11#
ID:491577 发表于 2021-3-12 12:38 | 只看该作者
这个板是我自己做到,具体的原理图还没有画,上面的图片就是PCB板截图。
回复

使用道具 举报

12#
ID:656213 发表于 2021-3-12 15:22 | 只看该作者
楼主很利害哟
回复

使用道具 举报

13#
ID:299519 发表于 2021-3-12 15:24 | 只看该作者
hhh402 发表于 2021-3-12 12:38
这个板是我自己做到,具体的原理图还没有画,上面的图片就是PCB板截图。

你是先画的PCB,然后再画原理图么?
回复

使用道具 举报

14#
ID:491577 发表于 2021-3-12 15:40 | 只看该作者
本帖最后由 hhh402 于 2021-3-12 15:55 编辑

我直接画PCB,用Multisim仿真调整原件和电路,那种原件效果好就用那种。原理图不需要。稳压电路、PT100温度电路,4-20ma输出电路,电压放大电路,负电源电路,运算放大器的选择都经过Multisim仿真的,选效果比较好的,运放选仪表级的,模拟电路纹波都是微伏级别的,输入输出电压、电流都有校准,精度要达到0.5%,用料比普通开发板好很多。
回复

使用道具 举报

15#
ID:491577 发表于 2021-3-13 19:20 | 只看该作者
触摸按键仿真图

电容触摸按键.JPG (342.7 KB, 下载次数: 121)

电容触摸按键.JPG
回复

使用道具 举报

16#
ID:491577 发表于 2021-3-13 20:10 | 只看该作者
3引线Pt100温控电路仿真图

3引线Pt100温控电路.JPG (428 KB, 下载次数: 116)

3引线Pt100温控电路.JPG
回复

使用道具 举报

17#
ID:491577 发表于 2021-3-14 00:41 | 只看该作者
STC单片机输出4-20mA电路,单片机输出3.3v、20khz、17%PWM,电路就输出4.04mA,误差<1uA.
单片机输出3.3v、20khz、85%PWM,电路就输出20.2mA,误差<1uA.通过单片机输出17-85%PWM就可以控制
输出4-20mA电流,误差<1uA。

4-20ma1.JPG (383.23 KB, 下载次数: 106)

4-20ma1.JPG

4-20MA.JPG (382.97 KB, 下载次数: 106)

4-20MA.JPG
回复

使用道具 举报

18#
ID:142059 发表于 2021-3-14 00:52 来自手机 | 只看该作者
楼主有心了,赞一个
回复

使用道具 举报

19#
ID:491577 发表于 2021-3-14 01:16 | 只看该作者
单片机控制负电源电路,给运放提供负电压,单片机输出100khz方波经过反相器放大给电容充放电得到负电源。

单片机控制负电源电路.JPG (370.59 KB, 下载次数: 112)

单片机控制负电源电路.JPG
回复

使用道具 举报

20#
ID:328014 发表于 2021-3-15 15:15 | 只看该作者
这个确实不错,在要求不高的场合可以代替plc,而且功能更多,有时间我也制作一个
回复

使用道具 举报

21#
ID:491577 发表于 2021-3-15 15:20 | 只看该作者
NTC热敏电阻测温电路

NTC热敏电阻测温电路.JPG (355.18 KB, 下载次数: 117)

NTC热敏电阻测温电路.JPG
回复

使用道具 举报

22#
ID:491577 发表于 2021-3-15 18:14 | 只看该作者
51hei团团 发表于 2021-3-15 15:15
这个确实不错,在要求不高的场合可以代替plc,而且功能更多,有时间我也制作一个

做PLC也是这个开发板的功能之一,有8个输入,可以直接接入3-36v电压,包括工业级的传感器直接连接,输出2路10A继电器,一路12v,3APWM输出。还有1路0-100v,12位模拟量输入(有5档:1、1/10、1/100、x10、x100),最小档0-25mv,可以直接接热电偶等低电压传感器。2路4-20ma输出可以接变频器、比例阀等。
回复

使用道具 举报

23#
ID:491577 发表于 2021-3-28 12:33 | 只看该作者
有什么建议,大家讨论一下
回复

使用道具 举报

24#
ID:814525 发表于 2021-3-28 13:40 | 只看该作者
弱弱的问一下,RS485的A/B端没加偏置电阻,可以工作吗?
回复

使用道具 举报

25#
ID:491577 发表于 2021-3-29 10:33 | 只看该作者
张天师 发表于 2021-3-28 13:40
弱弱的问一下,RS485的A/B端没加偏置电阻,可以工作吗?

有1K电阻,从原理上讲不加也可以,这个电阻的作用主要是抗干扰,避免感应电压的影响,另外标准485模块是加有120欧电阻的,这些电阻都是并联关系,如果很多485模块连接的话,比如10个那并联的总电阻为12欧姆,需要很大电流才能够驱动。这种情况下应该把电阻换成1K才合适。
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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