前言

以下代码源于比赛时的源代码,实现赛题的基本部分即定点打击,没有实现扩展部分openMV识别打击,没贴出openMV部分代码,两个部分代码是独立的,可以通过串口通信建立联系,比赛当时因为元件邮寄时间耽误,没来得及尝试,读者可自行尝试。

硬件

  • 电磁炮

1个线圈(线圈得耐心绕紧密,可边绕边滴胶水)、1个高压电容(建议用220V)、1个升压模块、1个炮管(普通的塑料管)、两个开关(充电和放电,充电开关可用高电压继电器,放电开关建议用可控硅,有的同学用继电器也不会烧,得结合具体情况)、电池(有条件用锂电池比较稳定)

  • 控制云台

2个舵机、1个云台、1块开发板(下面代码用的是F407)、1个机械键盘、1个OLED、1个openMV(用于识别靶心)、1个超声波(用于测试距离)

  • 电磁炮的基本电路图

软件

  • 数学建模

  • 建立方程:

    方程1:f1(垂直方向角度,射程)=0
    方程2:f2(垂直方向角度,PWM1)=0
    方程3:f3(水平方向角度,PWM2)=0

  • 解方程
    从极端值开始,间隔为5度或者更小,每组取5到8个个点取平均值,取得数据,利用Matlab或者Exel数学工具,拟合出垂直和水平方向的方程

  • 代码

以下代码是stm32主函数部分代码:
具体代码下载地址

#include "sys.h"
#include "delay.h"
#include "key16.h"
#include "usart.h"
#include "oled.h"
#include "pwm.h"int main(void)
{ static u16 angle=0,distance=0;//角度和距离u8 Keyval=0;//按键值delay_init(168);  //初始化延时函数uart_init(115200);//初始化波特率115200OLED_Init();//OLED初始化             KEY_Init();//矩阵按键初始化TIM14_PWM_Init(20000-1,84-1);   //84M/84=1Mhz计数频率,重载值500,所以PWM频率 1M/500=2Khz.TIM13_PWM_Init(20000-1,84-1);  OLED_ShowString(0,0,"A:",24); //A是angleOLED_ShowString(0,30,"L:",24); //L是distanceOLED_Refresh_Gram();//更新显示OLED        while(1) {Keyval=Key_scan(0);switch(Keyval){case 11:OLED_ShowNum(30,0,angle,4,24);//按下11输入角度OLED_Refresh_Gram();angle=OutNumber();OLED_ShowNum(30,0,angle,4,24);OLED_Refresh_Gram();break;case 12:OLED_ShowNum(30,30,distance,4,24);//按下12输入距离OLED_Refresh_Gram();distance=OutNumber();OLED_ShowNum(30,30,distance,4,24);OLED_Refresh_Gram();break;case 13:       OLED_Clear();OLED_ShowString(40,20,"OK!",24);//按下13确定输入值OLED_Refresh_Gram();Set_Movement(angle,distance);break;default:break;    }}
}

2019年全国电子设计竞赛H题电磁炮之定点打击相关推荐

  1. 2019 年TI杯全国大学生电子设计竞赛H题模拟电磁曲射炮

    2019 年TI杯全国大学生电子设计竞赛H题模拟电磁曲射炮 前言 首先要肯定电子设计竞赛的含金量,而也正是电子设计竞赛给了我本科阶段最好的体验.此文章介绍的作品是我所在团队于2019年参加电赛的参赛作 ...

  2. 2019年全国电子设计大赛D题《简易电路特性测试仪》(一)仿真阶段

    文章目录 前言 一.仿真阶段 二.仿真结果 三.仿真结果分析 四.实物制作 总结 前言 国赛就是把往年的真题都做会了,你就会了.这次我们训练的是2019年全国电子设计大赛D题<简易电路特性测试仪 ...

  3. 2019年全国电子设计大赛D题《简易电路特性测试仪》(三)输出阻抗、增益、上限频率测量

    文章目录 前言 一.输出阻抗是什么? 二.输出阻抗测量方案 1.测量方案 2.实际电路制作 4.注意事项 三.增益测量 四.幅频特性测量 五.测试结果及总结 1.电路实物图 2.测试结果 3 .总结 ...

  4. 「第五篇」全国电子设计竞赛-电源题设计方案总结

    点击上方"大鱼机器人",选择"置顶/星标公众号" 福利干货,第一时间送达! 0  前言 许多朋友给我留言说,有没有电源题目的一些文章可以参考. 为了给大家找更多 ...

  5. 2017全国大学生电子设计竞赛H题:远程幅频特性测试仪:主控STM32F407

    2017年全国大学生电子设计竞赛 远程幅频特性测试仪(H题) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9sPfFjy1-1618627176227)(media/ ...

  6. 电磁炮设计笔记(2019全国大学生电子设计竞赛H题)

    全文框架 1.硬件笔记 1.1充放电回路 电容充电电路采用继电器对充电电路部分的通断进行控制,放电电路部分通过70TPS12单向可控硅对电路开关进行控制.由此实现单片机对各部分开关的控制, D2作用为 ...

  7. 2019年全国电子设计大赛D题《简易电路特性测试仪》(二)输入阻抗测量

    文章目录 前言 一.信号源部分 1.信号发生电路设计 2.信号源实物图 3.信号源的驱动代码 二.输入阻抗测量方案 1.输入输出阻抗的定义 2.测量方案 3.实际电路制作 4.注意事项 三.信号采集部 ...

  8. 2019年全国大学生设计竞赛D题-简易电路特性测试仪-试题分析

    1.题中要求放大系数β在60~300之间,这里按最大值600进行计算:放大电路的负载RL连接到测试仪的输入端口,所以负载可认为是无穷大:另外,假设三极管的rbe为1000R,该值可在程序设计中进行矫正 ...

  9. 基于arduino制作的19年电子设计大赛H题电磁炮

    花了几天时间做出来的电磁炮.三种模式:模式一,调距离射靶.模式二,调角度,距离射靶.模式三,全自动射靶(利用激光测距来瞄靶) #################################程序## ...

最新文章

  1. linux lisp环境,Ubuntu下Common Lisp配置
  2. c语言常见50题 及答案(递归 循环 以及常见题目)
  3. python读取txt行问题
  4. 神经病win10无法验证数字签名
  5. aspnet_Users中LastActiveDate的问题
  6. 中运量71路线路图_双语导乘对标“航空式服务”,71路中运量车队服务进博会出“新招”...
  7. CentOSserverMysql主从复制集群结构
  8. 客座编辑:李建平(1976-),男,博士,中国科学院科技战略研究院系统分析与管理所研究员、所长...
  9. django-记住用户名-利用cookie-待演练
  10. 《scikit-learn》随机森林之回归
  11. 面向对象 —— 结构与设计
  12. ACL in 和 out
  13. C# 跨线程调用form控件技巧及byte[]与string型相互转换
  14. 做情绪的主人,痛苦是人生的催化剂
  15. java图片循环_java – 如何实现无限图像循环?
  16. SWF怎么转FLV格式?
  17. comsol3.5 软件下载
  18. html魔方转动效果,html5+css3实现旋转魔方的点点滴滴
  19. 全网舆情监测系统功能板块具体详介
  20. 神经网络中的过拟合的原因及解决方法、泛化能力、L2正则化

热门文章

  1. kubernetes HPA使用及测试
  2. 新CPU只支持Win10 微软为市场份额不择手段?
  3. 常用类:Java比较器
  4. 多媒体计算机维修记载,多媒体个人工作总结
  5. Blender 3.2自由定制做体积云絮形状(cloud制作)
  6. 温度传感器LM35实验
  7. 国外最大的购物搜索/比较购物网站
  8. 美国十大被封杀网站排名
  9. BZOJ4811: [Ynoi2017]由乃的OJ 重链剖分
  10. JMicroVision教程-应用于测井岩层电镜图像分析