电赛仪器仪表题的赛前准备(软件)

这篇具有很好参考价值的文章主要介绍了电赛仪器仪表题的赛前准备(软件)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、任务切换与按键检测

比赛时候每个赛题有多个任务,按点得分。因此在不同任务的时候,我们需要通过单片机控制硬件切换不同的电路。最简单的切换方式就是设立一个任务标志变量task_num,然后主程序为一个while(1)死循环,里面通过多个while判断进行任务几。每次按下按键后task_num加一切换到下一个任务里。这里提供两种具体的代码,并不太好,仅供参考。法①是执行一次任务,适用于电路切换与稳态信号的测量。法②是不断对任务进行循环,适用于检测动态的信号

① 按键电平检测+阻塞

这里假设按键按下后为高电平1

while(1)
	{
		//任务1
		...
		...
		...
		while(按键电平==0)
		{
		}
	
		//任务2
		...
		...
		...
		while(按键电平==0)
		{
		}
		
		//任务3
		...
		...
		...
		while(按键电平==0)
		{
		}
	}

② 判断flag标志位

通过外部中断,按键按下进入中断函数,在中断函数中task_num++

while(1)
	{
		while(task_num==1)//任务1
		{
			...
			...
		}
	
		while(task_num==2)//任务2
		{
			...
			...
		}
		
		while(task_num==3)//任务3
		{
			...
			...
		}
	}

2、模拟开关或继电器

不同任务要肯定改变电路不同位置的通断,改变信号经过的模块。一般来说比赛评测的时候是不允许用手接触电路,所以需要使用模拟开关或者继电器。
先说说模拟开关,型号很多,但基本原理一致。这里以TS5A23157为例。
电赛仪器仪表赛题的预测,单片机,stm32,单片机
除了VCC与GND外,还有8个端口,可以分成三类:控制端口、信号输入端口、信号输出端口,控制端口通过单片机控制决定输入端口与输出端口的导通情况。接着查阅芯片手册,如下图。从下图红框可以看到In1与In2如果输入低电平L,电路中COM引脚与NC引脚导通,如果输入高电平H, 电路中COM引脚与NO引脚导通。这就是一个典型的双二选一开关。
电赛仪器仪表赛题的预测,单片机,stm32,单片机

3、ADC采样

通俗来讲就是单片机测量电压大小,这个没什么好说,必须掌握的部分。就说一下赛前需要调试的部分。
首先32单片机的是量程0-3.3V之间,而且信号往往存在负电压,需要准备模块进行抬地或者是偏置,使信号变成正电压,一般是1.6V左右的抬地。
然后测出来的电压也不一定就是线性变化的,往往是非线性。这就与实际值产生误差,因此赛前要选多个电压值,测试实际值与测量值的对应关系进行线性拟合。
还有就是单片机自带的ADC一般是12位,不一定够用。所以如果可以的话买一个高精度的16位或者24位ADC模块,这个需要额外的调试,有一点难度。

4、定时器与与FFT计算

去年与前年的话需要测量信号的频谱,这个要完成的就是固定频率采样、FFT计算。先说采样,要固定频率的话就必须使用定时器了,这里两种方法。
先说简单的,采用定时器中断,在中断时候进行ADC采样。这个方法的问题在于频繁进出中断需要耗费大量的时间,如果频率比较高的话,采样间隔短。那么说你进入中断,开始采样,但是你还没采样完,下一个中断已经就来了,会导致程序卡死。
最可靠的方法是ADC采用定时器规则注入触发,采样完触发DMA将数据搬移到数组里。这个采样频率可达到理论极限但是特别难调试。因为中间过程全是自动触发,没有中间变量,如果出现问题很难判断是定时器配置问题、规则注入错误、ADC没有采样或者是DMA没启动等等,只能慢慢看寄存器进行排除。
FFT计算的话固定的三个函数,用的时候从例程里copy一下,没啥可讲的。记得一点,频谱的幅度不等于实际的电压值,记得对幅值进行归一化,这个与上面说的偏置电压有关,是个固定值,自己测量吧。

5、液晶屏模块

这个淘宝买模块一般都带例程了,自己跑一遍,知道怎么画线画点画字符串。提前准备好显示电压值、画频谱的功能。特别是频谱,坐标轴、刻度不能少,这个是计分点。

6、串口、蓝牙模块/无线串口与上位机

先说串口,这个一般板子例程里都会给你重定义成printf了,直接用就行。无线串口就是串口,和串口一模一样没啥可说,买了就行。蓝牙模块一般是蓝牙串口模块,使用串口通信,数据收发跑通就行。要注意的点在于蓝牙配对,一般是和手机配对,那么你就需要使用AT指令配置蓝牙模块了,这个一定要提前准备好,修改蓝牙名称和密码,不要使用默认。比赛场上多组队伍,默认名称根本找不到自己的蓝牙。
然后与手机连接肯定是为了发数据,手机上蓝牙软件也要准备好,最低要求能显示数据。连续好多届有用蓝牙的题了。去年是测量题要求在手机上画频谱,所以有能力的提前准备一下。推荐一个软件“蓝牙调试器”,图标蓝色的。发数据到上面可以自己画波形图,但是它要求通讯协议,有帧头、帧尾、校验位。有空的可以调试一下,提前准备。

7、测量频率,输入捕获模式

去年比赛测量题的扩展部分需要,往年比较少用到,大部分开发板例程就有,有空看看。

8、其他

DDS和DAC有可能使用,但是根据往届来说概率不太大。可以提前备着。DDS在今年七月份的高频题就有需要。
麦克风阵列的话七月份题中,K210和配套的麦克风阵列,有测向例程,据说买了就能用,但是一套价格不便宜。算法的话GCC算法,CSDN有例程和博客可以自学一下。文章来源地址https://www.toymoban.com/news/detail-571240.html

到了这里,关于电赛仪器仪表题的赛前准备(软件)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【手拉手 带你准备电赛】单色块识别(基于openmv)

    目录 文章背景 openmv介绍 openmv色块识别原理 openmv色块识别代码 最终结果 疑惑细解: 关于阈值的设置: 关于自动增益和白平衡         我们都听说过什么图像识别、色块识别,并且在2021年电赛——智能送药小车中也使用到了相关技术,那么你知道相关的原理和实现方法

    2024年02月11日
    浏览(34)
  • 【电赛-软件】基于ST官方插件 配置VScode开发STM32

    基于ST官方插件 配置VScode开发STM32 先决条件: 安装插件 插件使用 创建工程 导入工程 编译工程 调试 官方链接:https://marketplace.visualstudio.com/items?itemName=stmicroelectronics.stm32-vscode-extension。 ST官方论坛:https://community.st.com/s/topic/0TO3W00000006cJWAQ/vscode-for-stm32。 需要提前安装 STM32Cu

    2024年02月05日
    浏览(39)
  • Multisim软件常用仪表的使用与一些基本测量方法

    本文作者使用multisim14.0中文破解版 (图1) (图2) 函数信号发生器用法讲解: 函数信号发生器 可产生三类五种波形,分别是 正弦信号、三角波、锯齿波、方波和脉冲波 (图3) 右框可调单位,如振幅: (图4) 示例:脉冲波 1KHz 20% 0-5V的脉冲信号 步骤: (图5) 示波器用

    2024年02月07日
    浏览(39)
  • 2018年电赛A题 软件部分 STM32 FFT 时域到频域 STM32cubeMX HAL

    题目要求:任意波信号发生器输出非正弦信号时,基波频率范围为50Hz~200Hz,测量电流信号基波频率,频率测量精度优于1%;测量基波及各次谐波分量的幅度(振幅值),电流谐波测量频率不超过1kHz,测量精度优于5% 。 实现方式:利用STM32单片机内置ADC对待测信号进行采集,

    2024年02月15日
    浏览(88)
  • 软件测试-如何准备测试数据

    准备测试数据是软件测试种非常重要的一个环节,无论是手工测试、动化测试还是性能测试,准备工作种除了分析外最重要的就是准备测试数据。 从创建测试数据的维度来看,准备测试数据的方法主要分为四大类 1.基于 GUI 操作生成测试数据; 2.通过 API 调用生成测试数据;

    2024年02月08日
    浏览(42)
  • 软件产品认定需要准备什么

    一、软件著作权 由于双软认证并不是一个资质,而是\\\"软件产品登记\\\"和\\\"软件企业认定\\\"两种不同资质的统称.称为\\\"双软企业\\\"。要进行软件产品登记就要有软件著作权。 申请软件著作权需要营业执照(个人申请凭身份证就行了)、源代码前后各40页,不足80页的就全部提供、用户

    2024年02月06日
    浏览(46)
  • 【静态分析】软件分析课程实验-前置准备

    课程:南京大学的《软件分析》课程 平台:Tai-e(太阿)实验作业平台 Tai-e 是一个分析 Java 程序的静态程序分析框架 ,相比于已有的知名静态程序分析框架(如 Soot、Wala 等), Tai-e 要易学易用很多 。Tai-e 提供精炼的 IR,明晰且易拓展的接口,丰富的程序分析算法,直观易

    2024年04月17日
    浏览(36)
  • 当代软件工程师技术面试准备Part1

    当代软件工程师技术面试准备Part1 一. 编码 - Leetcode     LeetCode 是一个在线的编程练习平台,专注于帮助程序员提升他们的编程技能。该平台提供了大量的算法和数据结构问题,涵盖了各种难度级别,从简单到困难。LeetCode的主要目标是帮助程序员准备技术面试,特别是在软

    2024年02月03日
    浏览(51)
  • 加密解密软件VMProtect教程(四):准备项目之使用标记

    VMProtect 是保护应用程序代码免遭分析和破解的可靠工具,但只有在正确构建应用程序内保护机制并且没有可能破坏整个保护的典型错误的情况下才能最有效地使用。 为了保护代码的各个片段和字符串常量,您可以在应用程序的源代码中插入特殊标记。标记是对从外部库导入

    2024年02月05日
    浏览(59)
  • 软件测试实验室申请cnas需要做好哪些资源准备?

    软件测试实验室在准备申请cnas资质前,除了建立完善的软件测试体系、科学的质量管理体系,还需要做好相关资源的准备。本文我们就一起来看一下,cnas官方文件中的资源要求部分,以及对于软件检测实验室,应该做好哪些准备才能满足这些要求。  针对资源要求这部分,

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包