[创新制造展示] 【21ic第三届设计大赛】+ 数字函数发生器

[复制链接]
2648|6
 楼主 | 2019-6-28 19:25 | 显示全部楼层 |阅读模式
本帖最后由 sylar^z 于 2019-6-28 19:56 编辑

        听闻二姨家又有大活动了,赶紧来参加。
        选择了A主题:数字函数发生器

  本次设计的硬件:
         正点原子的STM32F103开发板精英版
         ST_LINK仿真器
         USB线(连接电脑和开发板,供电。同时用开发板自带U转串电路做串口通讯)
         示波器
         线材若干
   硬件2.JPG
  本次设计的软件:
         KEILV5.24
              SSCOM V5.13.1
   软件.png
设计方案:
         数字函数发生器采用定值40KHz的频率输出电平信号,输出信号可有最多三个函数信号叠加而成。信号包含DC电频、方波、三角波、锯齿波、正弦波、半正弦波、圆形波、半圆形波、随机干扰噪声信号等。
         频率范围0.1至1000Hz,输出峰峰值为3.3V。
         因有叠加信号,所以考虑了每个信号独立的相移,周期中可通过占空比来设定信号有效区域;在有效信号区域中可以设定函数信号部分和基准电平部分。所有这些为信号的组合提供了更多的可能性。
         信号的参数部分信号类型、频率、幅度,加上上述的几个参数,数量较多,因此会在程序中增加通过指令打印帮助说明功能。


上波形图:
         以下波形可通过按键切换展示
DC电平
   DC电平.png

方波
方波.png

倒方波
(倒波形说明:基准电压向下形成波形,单独时可能与正波形无太大差别,信号叠加时可以提现效果,展示多样性)
   倒方波.png

三角波
   三角波.png

倒三角波
   倒三角波.png

锯齿波
   锯齿波.png

反锯齿波
   反锯齿波.png

倒锯齿波
   倒锯齿波.png

倒反锯齿波
   倒反锯齿波.png

正弦波
   正弦波.png

上半正弦波
   上半正弦波.png

下半正弦波
   下半正弦波.png

圆波(500Hz,周期中的点数少了,信号会比较粗糙,只能降频率了)
   圆波.png

上半圆波(500Hz)
   上半圆波.png

下半圆波(500Hz)
   下半圆波.png

随机噪声
   随机噪声.png

使用串口通讯指令获取更多信号:
下图是通讯帮助说明,上电自动打印。也可以通过help指令获取。   通讯指令说明.png

各类指令演示:  
   指令演示.png

示例波形展示:
Dac1 a sin1 1500 500 750 0 50 15 70
示例指令可获得如下信号:
   示例1.png
上图说明:
1.有效信号占空比设置为50,所有有信号部分与无信号部分比例为1:1。
2.函数信号输出起始为15,占比为670,所以函数信号部分从15%至85%处输出。
3.基准电压为1000,所以在有效信号部分的0至15%和85至100%处输出为1V。

叠加信号波形展示1:
Dac1 a sin1 1000 250 750 0 40 0 100
Dac1 a squ1 500 250 500 40 30 0 40
Dac1 a tri1 500 250 250 70 30 0 100
通过时上面三条指令可以得到如下信号:
   叠加信号波形1.png

叠加信号波形展示2:
Dac1 a squ1 500 100 333 0 100 0 100
Dac1 a sin1 300 1000 333 0 50 15 70
Dac1 a rou1 500 500 333 50 100 0 100
比较随机的拼了几条指令,得到了如下信号:
   叠加信号波形2.png

更多好玩的波形有待大家挖掘。
上资料
程序: DigitalFunctionGenerator_F103ZE(fin).rar (2.14 MB, 下载次数: 30)

使用特权

评论回复

评论

sylar^z 2019-7-4 13:25 回复TA
@zhanzr21 :可能是我帖子里没有说清楚。通过开发板上的其中按键,可以调出各种基本波形。通过另外两个按键来变换信号的频率和幅值。 通过串口通讯可以使3个不同信号(0.1-1KHz,0-3V)直接组合输出,最终输出信号在0.1-1KHz,0-3.3V之间。同时还有相移、有效占空比、输出占空比等参数可以配置。 
sylar^z 2019-6-28 23:41 回复TA
@zhanzr21 :频率0.1Hz至1KHz可调。通过按键只能每次递增50Hz。通过串口通讯可以设置允许范围中的任意值。 
zhanzr21 2019-6-28 22:34 回复TA
把频率搞灵活点, 可以配置最好, 题目有这项目, 哪怕能调整的频率范围很窄也没关系, 要体现出频率可调, 最好是连续可调. 加油! 
| 2019-7-5 20:13 | 显示全部楼层
谢谢分享数字函数发生器制作

使用特权

评论回复
| 2019-7-12 08:21 | 显示全部楼层
还没来得及看,不过还是很感谢楼主的分享精神,赞一个

使用特权

评论回复
| 2019-7-13 11:38 | 显示全部楼层
这也太牛了吧 向楼主学习

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

关闭

热门推荐上一条 /5 下一条

在线客服 快速回复 返回顶部 返回列表