本帖最后由 超级开发板 于 2017-10-8 09:56 编辑
此帖将介绍基于硬件描述语言的模量实时监测与运算,采用性能卓越的锆石A4
FPGA开发板
材料预备:
锆石 A4 FPGA开发套件一套,
运动模量检测模块一枚,
ttl转u***编程器一个(如果您的运动模量检测装置可直接连接电脑烧录内容,此器物可略去),
杜邦线若干,
至少有一个手是能动的操作人员一名
电脑或x86开发板一台
带有VGA接口的电视机或显示屏或投影机一台
上一节中,我们讲解了VGA显示的方法,
这一节,我们主要来讲解捕捉交互模量信号与识别的方法。
首先,我们来确定模量检测方案,就是如下图所示的模量捕捉模块,
为了让大家更直观的认识模量捕捉模块的物理采集方式构造,我们来看下面这张手绘的构造简化示意图,
首先,我们来看看普通的重力感应,这个稍稍也能感应左右摇晃和移动
这个上下左右,偶尔也能碰到左下右下,为了使精度更高,可以更多触角,三维下应该是个刺猬状,下图是平面剖视图状态:
,然后这一模型的模量在普通状态下每个角为1或0,如果想检测力度,有两个方法,一个是别用钢珠,用水银,利用水银的张力检测电阻值变化,因为加速度会使接触面改变,不过它的导电性能好,阻值变化不大,如果不是很精密的设备不容易检测,这样就要设计变更了,上面这图可以长长短短,或者简化一下,如下图所示,
加速冲击力度越大,越到里面的探针都能触碰到,
然后我们考虑这检测模块装到手上后,由于我们人类的手如图万向螺杆般转动,比五轴加工中心的活动能力都高,模块并不是直上直下或者平整的移动,模块还可能发生倾斜等,我们开发者在测试中,可能刻意去保持它的平衡,然而一来这样太累,二来如果不是开发者用就会感觉不适应,我们要让消费者直接去使用它们而不必了解其中原理,于是我们需要有一个稳定的量去检测倾斜,然后把加速度的方向配合这个量算进去,而这个稳定的量就是重力了,重力在地表保持垂直向下,这样,如果我们检测到重力为左了,加速度的下其实是右,其实这个轴量不能直接称为下,这儿只是方便大家理解,这个下只有重力向下,也就是模块平放没有倾斜时才是下。
所以这样一来,我们需要采用一个有加速度计与重力感应的模块了,
这样,算法也大致确定下来了,就是把重力的倾斜偏移量累计到加速度的上下前后左右中,这样就能知道动了哪边,然后,由于还存在平面旋转,所以,要不就多几个轴量,要不就加个向前校准功能。为了方便使用,我们多加几个轴量,使交互感最优化,当然,编程难度跟设备成本也都增加了,不过换来直接无忧无虑完美使用的用户体验,这一点点代价相当值得。
锆石A4开发板的处理速度很快,模量多几个轴运算速度依旧是杠杠的。
模量检测的参考代码如下,如果你们模块不同稍稍修改即可:
- x_n_b[0] = x_aposteriori_k[0]; //角速度
- x_n_b[1] = x_aposteriori_k[1];
- x_n_b[2] = x_aposteriori_k[2];
- b_x_aposteriori_k[0] = x_aposteriori_k[6]; // 加速度
- b_x_aposteriori_k[1] = x_aposteriori_k[7];
- b_x_aposteriori_k[2] = x_aposteriori_k[8];
- z_n_b[0] = x_aposteriori_k[9]; //磁力计
- z_n_b[1] = x_aposteriori_k[10];
- z_n_b[2] = x_aposteriori_k[11];
- for (i = 0; i < 3; i++) {
- c_a[i] = 0.0F;
- for (i0 = 0; i0 < 3; i0++) {
- c_a[i] += a[i + 3 * i0] * b_x_aposteriori_k[i0];
- }
- d_a[i] = 0.0F;
- for (i0 = 0; i0 < 3; i0++) {
- d_a[i] += b_a[i + 3 * i0] * z_n_b[i0];
- }
- x_apriori[i] = x_n_b[i] + dt * wak[i];
- }
- for (i = 0; i < 3; i++) {
- x_apriori[i + 3] = wak[i];
- }
- for (i = 0; i < 3; i++) {
- x_apriori[i + 6] = c_a[i];
- }
- for (i = 0; i < 3; i++) {
- x_apriori[i + 9] = d_a[i];
- }
状态转换偏移矩阵:
这是编译好的固件,直接往模块烧录,然后直接连接至锆石FPGA开发板即可收到模量信号
然后锆石板子上用这个固件:
a4io.rar
(2.88 MB)
(下载次数: 0, 2017-9-16 17:29 上传)
直接将模量换算成图形化显示输出
下一篇:
互动实时检测威廉希尔官方网站