全部回复(5)
正序查看
倒序查看
现在还没有回复呢,说说你的想法
一直忘了更新,抱歉抱歉
····························································································································································分割线
本作品获得(山西省)省级二等奖,只做了基本的三个题,基本题最后一题打的10环,低压电磁炮
采用的单片机是 STM32F407ZGT6,
电池用的是12V的航模电池,通过降压模块LM2596,降为5v,给单片机以及4个舵机供电。
一、主要分为两部分:
1、第一个部分是电磁炮储能发射部分,
用的是两个高容低压 电容,通过测试发现给电容充电的电压在30V左右,电容通过并联,总容量达2w uF则可以达到比赛要求的米数(3m)。
关于电容要如何充电,我们用的是实验室电源(低电压、可调)关于实验室电源,比赛处会提供,或者自己拿。
当然,电磁炮的绕线圈一定要绕好(紧、多)。绕好后如上图所示,用黑胶带缠好,炮筒底部用的是饮料瓶盖加之固定炮弹,这里要说一下,由于子弹放在线圈不同位置会导致打出去的距离有所改变,所以一定要算好子弹在炮筒底部什么位置的效果最好,再固定饮料瓶盖。
可以打炮以后,下来要做的是如何控制电容的充放电,也就是如何控制子弹打出。很多人用的是继电器、可控硅来操作的,但比赛那几天,用这个的人烧坏好几个,我们本来也是打算用继电器来控制,但是烧坏了。。。。。。所以不得已想到了其他方法——用开关来控制发射子弹(推荐公牛)
可题目要求的是全自动,当然不能自己去手动给电容充放电,所以采用双舵机控制开关(舵机就用最便宜的就行,不用太大转矩),一个控制给电容充电,一个给电容放电,但是这俩舵机工作不要一个工作完就立马第二个,两者相隔一段时间。
现在就达到的充电,打炮的目的,第一问结束。
2、第二部分是云台控制以及模拟不同PWM与子弹落地点的函数
首先云台搭建,比赛前几天,发了清单后,买了俩大扭矩舵机,卖家还送了一套舵机的配件。所以就用它来搭建的云台(左右,上下)如图如图
由于学校收了比赛作品,比赛的时候就照了这1张,大家见谅。
炮筒前面那个支架(红色)、线圈固定装置 是我们用SW做的3d打印机打出来。
0
回复
提示
@杜北春jj
一直忘了更新,抱歉抱歉····························································································································································分割线 本作品获得(山西省)省级二等奖,只做了基本的三个题,基本题最后一题打的10环,低压电磁炮采用的单片机是STM32F407ZGT6,电池用的是12V的航模电池,通过降压模块LM2596,降为5v,给单片机以及4个舵机供电。一、主要分为两部分: 1、第一个部分是电磁炮储能发射部分, 用的是两个高容低压电容,通过测试发现给电容充电的电压在30V左右,电容通过并联,总容量达2wuF则可以达到比赛要求的米数(3m)。 关于电容要如何充电,我们用的是实验室电源(低电压、可调)关于实验室电源,比赛处会提供,或者自己拿。 当然,电磁炮的绕线圈一定要绕好(紧、多)。绕好后如上图所示,用黑胶带缠好,炮筒底部用的是饮料瓶盖加之固定炮弹,这里要说一下,由于子弹放在线圈不同位置会导致打出去的距离有所改变,所以一定要算好子弹在炮筒底部什么位置的效果最好,再固定饮料瓶盖。 可以打炮以后,下来要做的是如何控制电容的充放电,也就是如何控制子弹打出。很多人用的是继电器、可控硅来操作的,但比赛那几天,用这个的人烧坏好几个,我们本来也是打算用继电器来控制,但是烧坏了。。。。。。所以不得已想到了其他方法——用开关来控制发射子弹(推荐公牛) 可题目要求的是全自动,当然不能自己去手动给电容充放电,所以采用双舵机控制开关(舵机就用最便宜的就行,不用太大转矩),一个控制给电容充电,一个给电容放电,但是这俩舵机工作不要一个工作完就立马第二个,两者相隔一段时间。 现在就达到的充电,打炮的目的,第一问结束。 2、第二部分是云台控制以及模拟不同PWM与子弹落地点的函数 首先云台搭建,比赛前几天,发了清单后,买了俩大扭矩舵机,卖家还送了一套舵机的配件。所以就用它来搭建的云台(左右,上下)如图如图 由于学校收了比赛作品,比赛的时候就照了这1张,大家见谅。 炮筒前面那个支架(红色)、线圈固定装置是我们用SW做的3d打印机打出来。[图片]
接着上部分说·····························································································
同样 那俩大舵机就也是用32控制,说白了,我们这个作品全是由舵机来作为控制的。
下舵机控制左右角度,上舵机控制上下。由于每次打炮输入能量当成一定的(理想状态下,当然有小的误差),所以只控制上舵机的角度,便可达到炮弹落地点不同的效果。
接下来就是很重要的拟合函数了。PWM为自变量,落地点到炮台发射点为因变量,通过测试实验,记录数据来拟合。我们用的是原子的开发板,调节的pwm。
拟合完函数,放到程序中,测试,然后在调,再测试,直到准确为止,拟合函数用的是MATLAB。
放到函数中后,输入量是距离,输出量是上舵机的pwm。我们拟合的是一个一个二次函数。感觉确实挺准确的。
当然,题目中要求炮筒一开始要复原成水平,那这就要写一个炮台初始复原的小程序。
下舵机的话,关于左右控制角度问题,我们是手画计算,然后有个差不多了,测试,再修改。虽然繁琐,大家有好的点子可以说一下^.^
这样差不多基础第二第三问就结束了。
其他部分也就人机交互了,我们用的是tcl 直接插在32最小系统板上的。触控输入距离,角度,模式。
0
回复
提示
@杜北春jj
接着上部分说····························································································· 同样 那俩大舵机就也是用32控制,说白了,我们这个作品全是由舵机来作为控制的。 下舵机控制左右角度,上舵机控制上下。由于每次打炮输入能量当成一定的(理想状态下,当然有小的误差),所以只控制上舵机的角度,便可达到炮弹落地点不同的效果。 接下来就是很重要的拟合函数了。PWM为自变量,落地点到炮台发射点为因变量,通过测试实验,记录数据来拟合。我们用的是原子的开发板,调节的pwm。 拟合完函数,放到程序中,测试,然后在调,再测试,直到准确为止,拟合函数用的是MATLAB。 放到函数中后,输入量是距离,输出量是上舵机的pwm。我们拟合的是一个一个二次函数。感觉确实挺准确的。 当然,题目中要求炮筒一开始要复原成水平,那这就要写一个炮台初始复原的小程序。 下舵机的话,关于左右控制角度问题,我们是手画计算,然后有个差不多了,测试,再修改。虽然繁琐,大家有好的点子可以说一下^.^ 这样差不多基础第二第三问就结束了。 其他部分也就人机交互了,我们用的是tcl 直接插在32最小系统板上的。触控输入距离,角度,模式。
有什么问题,欢迎大家 回帖,笔芯❤~
0
回复
提示