增量式旋转编码器的试验数据
2016-06-22 21:56
295 查看
试验1
试验条件
180V直流电机600分辨率A B两相(40元)旋转编码器
采样周期100ms
A通道102电容进行高频滤波
B通道无102电容进行高频滤波
C通道无102电容进行高频滤波
说明:
1. 跳变沿触发应该是下降沿触发产生脉冲数的两倍;
2. 下降压脉冲数也是编码器的转速N r/min;(N/600*10*60)
3. 所有的脉冲数都是平均值,在测速中其变化还是比较大的,也就是跳动比较大,这个还没有解决掉。
数据1
2016-6-22 21:54:27序号 | PWM值 | 通道 | 跳变沿脉冲数 | 下降沿脉冲数 |
---|---|---|---|---|
1 | 16 | B | 1346 | 737 |
2 | 20 | B | 1550 | 900 |
3 | 30 | B | 2012 | 1133 |
4 | 40 | B | 2717 | 1613 |
5 | 50 | B | 3090 | 1746 |
6 | 60 | B | 3420 | 1899 |
7 | 70 | B | 3593 | 2038 |
8 | 80 | B | 3949 | 2203 |
9 | 90 | B | 4261 | 2387 |
10 | 100 | B | 4538 | 2584 |
11 | 70 | B | 2579 | 1453 |
12 | 30 | B | 1854 | 1146 |
13 | 16 | B | 1542 | 975 |
在将编码器拆下来,电机还是有异声,而且在PWM=16,跳变沿触发的时候单片机还是会检测到脉冲,脉冲数为2500左右。
序号 | PWM值 | 通道 | 跳变沿脉冲数 | 下降沿脉冲数 |
---|---|---|---|---|
14 | 16 | B | 1475 | 960 |
数据2:
数据说明: 序列0是在编码器没有连接电机的情况下,甚至没有连接编码器,Arduino板都可以接收到脉冲信号,这是一个问题,数据2电机都有的噪声脉冲,2016-6-23 09:58:26序号 | PWM值 | 通道 | 跳变沿脉冲数 | 下降沿脉冲数 |
---|---|---|---|---|
0 | 16(未连电机或不连编码器) | A | 2492 | |
1 | 16 | A | 1526 | 871 |
2 | 20 | A | 1648 | 928 |
3 | 30 | A |
序号 | PWM值 | 通道 | 跳变沿脉冲数 | 下降沿脉冲数 |
---|---|---|---|---|
1 | 16 | A | 434 | 254 |
2 | 20 | A | 577 | 312 |
3 | 30 | A | 826 | 454 |
4 | 40 | A | 1097 | 620 |
5 | 50 | A | 1361 | 773 |
6 | 60 | A | 1741 | 938 |
7 | 70 | A | 1890 | 1069 |
8 | 80 | A | 2106 | 1204 |
9 | 90 | A | 2321 | 1278 |
10 | 100 | A | 2533 | 1380 |
1. 这个数据也不知道为什么又行了,这个需要再进行测试
2. 关于怎样计算速度如下所示:
关于速度的计算
在以前的测试中,电机一圈转动,跑步机运动1.015×36=36.54mm(1)而根据速度的换算公式为:
1m/s=3.6km/h=1mm/ms(2)
另外我们检测的周期是T(ms),那么跑步机速度V(km/h)和编码器脉冲数CNT的关系为:
V=CNT600×36.54T×3.6=0.21924×CNTT(km/h)(3)
试验2
试验条件
180V直流电机 –>有振动600分辨率A B两相(40元)旋转编码器
采样周期100ms
A通道102电容进行高频滤波
B通道103电容进行高频滤波
C通道无电容进行高频滤波
数据1
下午的东西到晚上就不行了,真是够了!!序号 | PWM值 | 通道 | 跳变沿脉冲数 | 下降沿脉冲数 |
---|
直流电机振动原因的分析
假设1:1. 支架连接的问题
2. 驱动板的问题
问题的测试:使用24V直流电源直接接电机,发现电机没有了振动。这也就是说明电机的振动是由于驱动板的原因或者Arduino的问题。
电气测试:
问题的测试:
将驱动板和Arduino主控板分开,使用变位器进行控制,发现没有连Arduino板,其还是会振动,那就是驱动板的问题了。
结论: 驱动板出问题了。
脉冲数的验证
注意:得到的数据要在修好电路板之后在测一遍测得的脉冲数:24305
测得的距离:775mm
24305÷1200=20.2542(圈)
那么得到的每圈距离为:
775÷20.2542=38.2637mm
那么根据公式:
V=CNT1200×38.2637T×3.6=0.1148×CNTT(km/h)(3)
驱动板修好的数据1:
测得的脉冲数:16415
测得的距离:637mm
16415÷1200=13.6792(圈)
那么得到的每圈距离为:
637÷13.6792=46.5671mm
那么根据公式:
V=CNT1200×46.5671T×3.6=0.1397×CNTT(km/h)(3)
驱动板修好的数据2:
测得的脉冲数:18552
测得的距离:715mm
18552÷1200=15.435(圈)
那么得到的每圈距离为:
715÷15.435=46.3233mm
那么根据公式:
V=CNT1200×46.3233T×3.6=0.1390×CNTT(km/h)(3)
最后我们利用中间值,所以是0.1393
相关文章推荐
- Arduino关于旋转编码器程序的介绍(Reading Rotary Encoders)--by Markdown
- 我要做一个蠕动泵的工作记录(二)做一个arduino 多级菜单(2)旋转编码器
- LAMPA搭建
- numpy中矩阵转置
- C#实现通过模板自动创建Word文档的方法
- spring集合类型的setter注入的一个简单例子
- Scrapy之探讨3个细节
- Gartner: 2016年十大安全预测
- hrbust 1547 基础数据结构——单链表(2)【水题-暴力预处理】
- LTE MIB&SIB1
- 测试用例之性能测试用例
- 时间复杂度和空间复杂度
- 【混淆矩阵】matlab画混淆矩阵
- 关于海量数据查找排序问题
- php 学习笔记 一
- 自定义标签-自定义注解
- OpenGL环境配置
- 明清徽州宗族的异姓承继
- MySQL绿色版安装教程
- 测试报告编写指南