OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3010|回复: 7

新人求助:想个遥控器,左摇杆上下实现油门功能

[复制链接]

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2020-6-4
在线时间
47 小时
发表于 2020-6-9 18:49:01 | 显示全部楼层 |阅读模式
10金钱
本帖最后由 t83915 于 2020-6-10 09:02 编辑

新人求助:想个遥控器,左摇杆上下实现油门功能,目前已加1K上拉电阻,接AD1_0通道采样时间为71周期,采集到上下模拟量区间为860-2850,回中模拟量值为2150,且定点采集到的值都有抖动,抖动范围在50左右,由于本身下到回中2150-860值为1290,回中到上2850-2150值为700,考虑上中下两端不平均不成比例,以及值本身有抖动,求助各位大佬如何计算才能实现油门功能输出0-100%,谢谢!!!图片为摇杆。

左摇杆图

左摇杆图

最佳答案

查看完整内容[请看2#楼]

不好意思,之前没想清楚。 我画了个图, 一般用左边的方式,直接得到线性的ADC值,你的是右边的方式对吧? 所以调节电位器会得到非线性的值,而从测量阻值来看,电位器没问题。 那么,就需要一个转换,把ADC值转换为阻值: long Rx; Rx=((long )ad*1000)/(4096-ad);//1K分压ADC转阻值,单位1欧 此时Rx就基本是线性的了,然后转换为油门: long ym; ym=(Rx-600)/40;//600对应0,4600对应100 对于抖动,可以在硬件 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

3399

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8679
金钱
8679
注册时间
2020-5-11
在线时间
4159 小时
发表于 2020-6-9 18:49:02 | 显示全部楼层
本帖最后由 LcwSwust 于 2020-6-19 10:57 编辑
t83915 发表于 2020-6-14 10:56
1、中间接的1k的,接在VCC和中间脚ADC之间,其他没有短接之类的,在接1k电阻情况下推摇杆电压值测过为0.6 ...

不好意思,之前没想清楚。
我画了个图,


傲游截图20200619104440.jpg
一般用左边的方式,直接得到线性的ADC值,你的是右边的方式对吧?
所以调节电位器会得到非线性的值,而从测量阻值来看,电位器没问题。
那么,就需要一个转换,把ADC值转换为阻值:
long Rx;
Rx=((long )ad*1000)/(4096-ad);//1K分压ADC转阻值,单位1欧
此时Rx就基本是线性的了,然后转换为油门:
long ym;
ym=(Rx-600)/40;//600对应0,4600对应100
对于抖动,可以在硬件上对ADC脚加个电容,软件上就是取平均值。



专治疑难杂症
回复

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2020-6-4
在线时间
47 小时
 楼主| 发表于 2020-6-10 11:29:24 | 显示全部楼层
或者大佬们有什么方法可以将整个区间趋于平均,有利于做比例换算
回复

使用道具 举报

5

主题

356

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4678
金钱
4678
注册时间
2019-4-30
在线时间
905 小时
发表于 2020-6-10 11:45:04 | 显示全部楼层
我之前写过,写一个阈值,用来去掉AD采集的浮动值
回复

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2020-6-4
在线时间
47 小时
 楼主| 发表于 2020-6-10 12:00:10 | 显示全部楼层
a1281854907 发表于 2020-6-10 11:45
我之前写过,写一个阈值,用来去掉AD采集的浮动值

麻烦大佬分享一下具体方法或者这部分代码,谢谢啦
回复

使用道具 举报

12

主题

3399

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8679
金钱
8679
注册时间
2020-5-11
在线时间
4159 小时
发表于 2020-6-10 17:23:10 | 显示全部楼层
本帖最后由 LcwSwust 于 2020-6-10 17:25 编辑

摇杆电位器和普通电位器一样有三个脚,两端的脚接VCC、GND,中间脚接ADC,很好用啊,
不知你的上拉电阻接哪里的?电位器有两个脚短接?电位器阻值4.7K?
专治疑难杂症
回复

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2020-6-4
在线时间
47 小时
 楼主| 发表于 2020-6-14 10:56:13 | 显示全部楼层
本帖最后由 t83915 于 2020-6-14 11:05 编辑
LcwSwust 发表于 2020-6-10 17:23
摇杆电位器和普通电位器一样有三个脚,两端的脚接VCC、GND,中间脚接ADC,很好用啊,
不知你的上拉电阻接 ...

1、中间接的1k的,接在VCC和中间脚ADC之间,其他没有短接之类的,在接1k电阻情况下推摇杆电压值测过为0.6v-2.4v(对应AD模拟量为860-2850),回中电压为1.57v左右。
2、不接1k时,有试过拿万用表量过摇杆电位器阻值,推动阻值范围0.6-4.6k,回中值为2.6k。
怎样可以将这个2.4V电压值在变大一点,使得通过AD采集的模拟量范围能够相对平均呢?还有能够将抖动消除(目前每隔5ms时间,取1个值,总共取10次,计算平均值,还是有明显的抖动)?
回复

使用道具 举报

1

主题

9

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
241
金钱
241
注册时间
2020-6-4
在线时间
47 小时
 楼主| 发表于 2020-6-29 13:50:17 | 显示全部楼层
LcwSwust 发表于 2020-6-19 10:54
不好意思,之前没想清楚。
我画了个图,

前几天拿万用表重新测了了一下,发现是商家没给对接线图,所以能够变成线性ADC值了,不过还是感谢谢大佬给出具体非线性换算过程!!其他人也可以参考哦。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 15:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表