智能小车吧 关注:8,374贴子:21,851

原创:电子罗盘控制智能小车旋转90度

只看楼主收藏回复

小车是52单片机四驱,[url]http://电子罗盘[/url]用的是GY-271模块, 芯片是HMC5883系列。花了一段时间摸索,用这种型号或类似的电子罗盘,大概需要3个步骤完成对智能小车方向的控制
1. 安装[url]http://电子罗盘[/url]。这个比较简单,注意的是电子罗盘怕磁场干扰,装的时候注意位置适当屏蔽,我用的是香烟盒铝箔纸包裹了一层,安放在车头底盘下面
2. [url]http://电子罗盘[/url]角度公式校正。这个网上有很多,因为从芯片读取的角度值旋转一圈轨迹并非标准圆,参考这篇文章(http://wenku.baidu.com/link?url=vDBgrSSNoT2GjW8uS9jMfupwUUrnZjcFlYeL1hVxhnpX4hoVBd3I2PxASPGry3YOHrij3JVKKqI5BFZPNubI7AmM4Of_3BvOPwlPIJ9wmiG)用matlab拟合曲线完成基本的校正,代入到程序计算角度(0-360度)的公式中
3. 方向旋转控制。 0-270度是线性变化的角度值,用判断就可以了。270-360度右旋转或0-90度左旋转,角度值不是线性递增或递减,处理的时候考虑用了sin[url]http://正弦函数[/url](用弧度)。开始怕单片机计算吃不消,不过还好,略有点延迟。
4. 最后的程序纠偏。 前面[url]http://电子罗盘[/url]校正得到的只是近似圆,如果需要再高一点的精度,可以用单片机程序进行校正。360度分成4个区间,根据测试旋转角度大小调整目标角度偏移。
另外如果使用PWM调速,因为52单片机的模拟IIC与PWM冲突(尚未解决),采取的是当需要改变小车方向时,关PWM中断及定时器。可以在操作完了重新打开。
[url]http://电子罗盘[/url]读取数据延迟是不可避免的,所以需要考虑在每次读取的时候增加延迟时间。
演示视频:
视频来自:土豆



IP属地:湖北1楼2014-09-22 10:21回复
    另外一个 前进一段时间右转90度的视频:
    视频来自:土豆


    IP属地:湖北2楼2014-09-22 10:22
    回复
      2026-02-14 05:34:12
      广告
      不感兴趣
      开通SVIP免广告
      上几张gy-271电子模块的安装图:


      IP属地:湖北通过百度相册上传3楼2014-09-25 09:02
      回复
        楼主能不能把具体电子罗盘控制小车转90度的程序传上来,谢谢了


        4楼2015-07-13 16:38
        回复
          求代码,楼主


          IP属地:四川6楼2015-09-01 13:02
          回复
            你确定你这么多超声波不会干扰?


            7楼2015-09-15 09:48
            回复
              楼主,我Q296505797,求帮忙,必有重谢。


              8楼2016-01-24 16:46
              回复
                楼主 你的电子罗盘是添加了算法吗 转的挺准的


                IP属地:浙江11楼2016-03-08 21:06
                回复
                  2026-02-14 05:28:12
                  广告
                  不感兴趣
                  开通SVIP免广告
                  老师你的算法可以开源吗 因为我最近也在调试这种行驶高精度的小车


                  IP属地:浙江12楼2016-03-09 22:36
                  回复
                    装这么多超声波干嘛呢?你的车会横着走?


                    来自Android客户端13楼2016-03-23 17:56
                    回复
                      这个不错


                      IP属地:江苏来自iPhone客户端14楼2016-03-23 18:05
                      回复
                        其他控制器可以吗?


                        IP属地:江苏来自iPhone客户端15楼2016-03-23 18:05
                        回复
                          楼主能把电子罗盘控制智能小车旋转90度 的程序发给我吗?毕业论文做的小车想让它旋转准确。谢谢楼主。QQ 115386559@qq.com


                          17楼2016-04-06 18:15
                          回复
                            能看一下你的程序吗?我的邮箱是1741967436@qq.com,谢谢了


                            18楼2016-04-17 17:34
                            回复
                              2026-02-14 05:22:12
                              广告
                              不感兴趣
                              开通SVIP免广告
                              楼主能把你的程序发一下吗,最近在研究精确控制角度


                              IP属地:陕西19楼2016-06-01 23:22
                              回复