查看: 1568|回复: 10

[未解决] 摇杆控制电机正反转及速度

[复制链接]

该用户从未签到

发表于 2020-3-10 16:47 | 显示全部楼层 |阅读模式

希望使用摇杆搭配电机驱动模块来控制电机的正反转和曲线加速

基本信息------<<摇杆(电位器)配合电机驱动板控制电机正反转及速度>>

1.根据摇杆Y轴电位器的PWM值来判断摇杆的Y轴处于什么位置(PWM值为0至255)
2.摇杆会自动回位到中间位置,此时Y轴的PWM值为123(为了防止抖动,所以设定了123上下各2个单位的容错率)

程序问题-------
1.摇杆往上推时,PWM值是从125开始到255的,这导致电机速度是直接从125开始加速,而不能将速度控制在125以下.
2.摇杆往下推时,电机会反转.但是PWM值是从120到0,也就是说摇杆往下推时,速度会从120降到0.
  但是这导致电机速度只能在120以下,不能达到120以上.
  并且反转的速度是根据摇杆向下推时的PWM值来控制,那么摇杆向下推时速度马上就是最大值120,继续往下推时才会降速
  (理想结果是,摇杆往上推时,电机正转,速度将从0至255进行曲线加速)
   摇杆往下推时,电机反转,速度从0至255进行曲线加速)




程序文件

程序文件

摇杆

摇杆

电机驱动模块

电机驱动模块

该用户从未签到

 楼主| 发表于 2020-3-10 18:36 | 显示全部楼层
改变了一下转换的值,理论上解决了这个问题.
等电机驱动板来了以后再去实验.
这个应该不是个好办法,但是我也想不出其他办法了,刚学2天ARDUINO.
希望有大神能有比较合理的方案解决这个问题.
帖子就放这里,方便以后有同样困惑的萌新参考

代码

代码

调试正转

调试正转

调试反转

调试反转

该用户从未签到

 楼主| 发表于 2020-3-10 18:39 | 显示全部楼层
灵感来自于我的切割布的一个图案

灵感来源

灵感来源
  • TA的每日心情
    擦汗
    2020-11-21 15:05
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    发表于 2020-3-16 01:15 | 显示全部楼层
    测过实际摇杆电压没?然后要把0,1023改下吧。模拟口好像感应电压吧。所以你摇杆中立和最大的时候电压范围不是0-5吧,小白来的,没试过,瞎猜猜
  • TA的每日心情
    擦汗
    2020-11-21 15:05
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    发表于 2020-3-16 01:33 | 显示全部楼层
    就是说我猜摇杆的全行程对应0-5v,一个方向占一半
  • TA的每日心情
    开心
    2020-6-9 08:31
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-6-11 17:22 | 显示全部楼层
    本人也才开始接触arduino,一点基础都没有,想着边做边学,用sp2摇杆来控制两台步进机正转反转,实现加速。但在网上找了一段代码,只能正转反转,没有调速的功能。目前正在研究。请楼主多指教。
  • TA的每日心情
    开心
    2020-6-9 08:31
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-6-16 16:26 | 显示全部楼层
    昨天买了两个直流电机,过几天按楼主的方法试试看。
  • TA的每日心情
    无聊
    2020-11-27 10:33
  • 签到天数: 117 天

    [LV.6]常住居民II

    发表于 2020-7-29 03:46 | 显示全部楼层
    读取的模拟值减去512,负数就是往下推,整数就是往上,判断下正负然后再加个abs取绝对值除2给analogWrite

    该用户从未签到

    发表于 2020-11-22 21:34 | 显示全部楼层
    没有设定一个摇杆中位不动的值-----初始化值,这样摇杆更换或者使用老化后,会漂移的。
  • TA的每日心情
    开心
    2020-11-24 00:11
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-11-24 00:27 | 显示全部楼层
    简单的想法:使摇杆在初始位置时,y轴的数值为0,向下动的时候从-1开始减小,向上动的时候从1开始增加;
    所以可以定义一个函数,用来处理摇杆的数值
    int ch_y_output()
    {
      return DWQ_1YZH - 123;
    }
    然后就可以让电机的功率直接使用这个处理过后的数值了
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    万万nano不得买山寨版
    万万nano不得买山寨版
    arduino nano板子体积小,方便开发小型机器人。不过山寨版不得买,到时候后悔都来不及
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    串口处理字符串输出指定统计信息
    串口处理字符串输出指定统
    设问串口接收一串字符串,要求打印出全部字符串,统计一共有几个整数,找出最大的整数
    【Arduino】168种传感器模块系列实验(104)---MAX30102手腕心率
    【Arduino】168种传感器模
    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是
    【项目】基于Arduino Nano的多功能桌面感应垃圾桶
    【项目】基于Arduino Nano
    基于Arduino Nano的多功能桌面感应垃圾桶 (不知不觉中,自己已经步入大学第三年的时
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表