• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【风采汇】国赛电磁炮

全部回复(5)
正序查看
倒序查看
2019-11-05 16:59

   一直忘了更新,抱歉抱歉

····························································································································································分割线   

   本作品获得(山西省)省级二等奖,只做了基本的三个题,基本题最后一题打的10环,低压电磁炮

采用的单片机是 STM32F407ZGT6,

电池用的是12V的航模电池,通过降压模块LM2596,降为5v,给单片机以及4个舵机供电。

一、主要分为两部分:

   1、第一个部分是电磁炮储能发射部分,

     用的是两个高容低压 电容,通过测试发现给电容充电的电压在30V左右,电容通过并联,总容量达2w uF则可以达到比赛要求的米数(3m)。

     关于电容要如何充电,我们用的是实验室电源(低电压、可调)关于实验室电源,比赛处会提供,或者自己拿。

     当然,电磁炮的绕线圈一定要绕好(紧、多)。绕好后如上图所示,用黑胶带缠好,炮筒底部用的是饮料瓶盖加之固定炮弹,这里要说一下,由于子弹放在线圈不同位置会导致打出去的距离有所改变,所以一定要算好子弹在炮筒底部什么位置的效果最好,再固定饮料瓶盖。

    可以打炮以后,下来要做的是如何控制电容的充放电,也就是如何控制子弹打出。很多人用的是继电器、可控硅来操作的,但比赛那几天,用这个的人烧坏好几个,我们本来也是打算用继电器来控制,但是烧坏了。。。。。。所以不得已想到了其他方法——用开关来控制发射子弹(推荐公牛)

    可题目要求的是全自动,当然不能自己去手动给电容充放电,所以采用双舵机控制开关(舵机就用最便宜的就行,不用太大转矩),一个控制给电容充电,一个给电容放电,但是这俩舵机工作不要一个工作完就立马第二个,两者相隔一段时间。

    现在就达到的充电,打炮的目的,第一问结束。

   2、第二部分是云台控制以及模拟不同PWM与子弹落地点的函数

    首先云台搭建,比赛前几天,发了清单后,买了俩大扭矩舵机,卖家还送了一套舵机的配件。所以就用它来搭建的云台(左右,上下)如图如图

    由于学校收了比赛作品,比赛的时候就照了这1张,大家见谅。

    炮筒前面那个支架(红色)、线圈固定装置 是我们用SW做的3d打印机打出来。

 

0
回复
2019-11-05 17:17
@杜北春jj
  一直忘了更新,抱歉抱歉····························································································································································分割线    本作品获得(山西省)省级二等奖,只做了基本的三个题,基本题最后一题打的10环,低压电磁炮采用的单片机是STM32F407ZGT6,电池用的是12V的航模电池,通过降压模块LM2596,降为5v,给单片机以及4个舵机供电。一、主要分为两部分:  1、第一个部分是电磁炮储能发射部分,   用的是两个高容低压电容,通过测试发现给电容充电的电压在30V左右,电容通过并联,总容量达2wuF则可以达到比赛要求的米数(3m)。   关于电容要如何充电,我们用的是实验室电源(低电压、可调)关于实验室电源,比赛处会提供,或者自己拿。   当然,电磁炮的绕线圈一定要绕好(紧、多)。绕好后如上图所示,用黑胶带缠好,炮筒底部用的是饮料瓶盖加之固定炮弹,这里要说一下,由于子弹放在线圈不同位置会导致打出去的距离有所改变,所以一定要算好子弹在炮筒底部什么位置的效果最好,再固定饮料瓶盖。  可以打炮以后,下来要做的是如何控制电容的充放电,也就是如何控制子弹打出。很多人用的是继电器、可控硅来操作的,但比赛那几天,用这个的人烧坏好几个,我们本来也是打算用继电器来控制,但是烧坏了。。。。。。所以不得已想到了其他方法——用开关来控制发射子弹(推荐公牛)  可题目要求的是全自动,当然不能自己去手动给电容充放电,所以采用双舵机控制开关(舵机就用最便宜的就行,不用太大转矩),一个控制给电容充电,一个给电容放电,但是这俩舵机工作不要一个工作完就立马第二个,两者相隔一段时间。  现在就达到的充电,打炮的目的,第一问结束。  2、第二部分是云台控制以及模拟不同PWM与子弹落地点的函数  首先云台搭建,比赛前几天,发了清单后,买了俩大扭矩舵机,卖家还送了一套舵机的配件。所以就用它来搭建的云台(左右,上下)如图如图  由于学校收了比赛作品,比赛的时候就照了这1张,大家见谅。  炮筒前面那个支架(红色)、线圈固定装置是我们用SW做的3d打印机打出来。[图片] 

   接着上部分说·····························································································

     同样 那俩大舵机就也是用32控制,说白了,我们这个作品全是由舵机来作为控制的。

     下舵机控制左右角度,上舵机控制上下。由于每次打炮输入能量当成一定的(理想状态下,当然有小的误差),所以只控制上舵机的角度,便可达到炮弹落地点不同的效果。

     接下来就是很重要的拟合函数了。PWM为自变量,落地点到炮台发射点为因变量,通过测试实验,记录数据来拟合。我们用的是原子的开发板,调节的pwm。

     拟合完函数,放到程序中,测试,然后在调,再测试,直到准确为止,拟合函数用的是MATLAB。

     放到函数中后,输入量是距离,输出量是上舵机的pwm。我们拟合的是一个一个二次函数。感觉确实挺准确的。

     当然,题目中要求炮筒一开始要复原成水平,那这就要写一个炮台初始复原的小程序。

    下舵机的话,关于左右控制角度问题,我们是手画计算,然后有个差不多了,测试,再修改。虽然繁琐,大家有好的点子可以说一下^.^

    这样差不多基础第二第三问就结束了。

    

    其他部分也就人机交互了,我们用的是tcl 直接插在32最小系统板上的。触控输入距离,角度,模式。

     

   

0
回复
2019-11-05 17:21
@杜北春jj
  接着上部分说·····························································································   同样 那俩大舵机就也是用32控制,说白了,我们这个作品全是由舵机来作为控制的。   下舵机控制左右角度,上舵机控制上下。由于每次打炮输入能量当成一定的(理想状态下,当然有小的误差),所以只控制上舵机的角度,便可达到炮弹落地点不同的效果。   接下来就是很重要的拟合函数了。PWM为自变量,落地点到炮台发射点为因变量,通过测试实验,记录数据来拟合。我们用的是原子的开发板,调节的pwm。   拟合完函数,放到程序中,测试,然后在调,再测试,直到准确为止,拟合函数用的是MATLAB。   放到函数中后,输入量是距离,输出量是上舵机的pwm。我们拟合的是一个一个二次函数。感觉确实挺准确的。   当然,题目中要求炮筒一开始要复原成水平,那这就要写一个炮台初始复原的小程序。  下舵机的话,关于左右控制角度问题,我们是手画计算,然后有个差不多了,测试,再修改。虽然繁琐,大家有好的点子可以说一下^.^  这样差不多基础第二第三问就结束了。     其他部分也就人机交互了,我们用的是tcl 直接插在32最小系统板上的。触控输入距离,角度,模式。     
  有什么问题,欢迎大家 回帖,笔芯❤~
0
回复
2019-11-07 15:37
@杜北春jj
 有什么问题,欢迎大家 回帖,笔芯❤~

记得当时打算去努力一下扩展题,打算加个摄像头(openmv和超声波),用openmv跟踪红色挡板,使红色挡板居于视角中心,来达到定左右的角度,超声波再测距(测 炮台到挡板的距离)再通过距离测出要落定的距离,从而通过基础题得出的公式,算出相应的pwm。

  可惜到最后openmv测试时,舵机一通电复位,把openmv撞坏了,所以GG~~~~(>_<)~~~~

0
回复
2020-05-08 22:57
@杜北春jj
记得当时打算去努力一下扩展题,打算加个摄像头(openmv和超声波),用openmv跟踪红色挡板,使红色挡板居于视角中心,来达到定左右的角度,超声波再测距(测 炮台到挡板的距离)再通过距离测出要落定的距离,从而通过基础题得出的公式,算出相应的pwm。 可惜到最后openmv测试时,舵机一通电复位,把openmv撞坏了,所以GG~~~~(>_

楼主加油,继续更新!

0
回复