小R科技-WIFI机器人网·机器人创意工作室

 找回密码
 立即注册
查看: 7136|回复: 2

让小车走直线的方法

[复制链接]
发表于 2017-1-24 13:05:24 | 显示全部楼层 |阅读模式
本帖最后由 zrs 于 2017-1-24 13:06 编辑

我们组买了很多辆这个小车做开发,很多车走不直,所以我们只好想个办法让小车走直线。这是我们组的实现方法,放在论坛上供大家参考:思路:
调节左右轮的速度让小车走直线。

道具:
Arduino滑动变阻器 (10k)我们在国外用的是这款,
淘宝上面或者任何地方都买得到

滑动变阻器在Arduino的应用可以参见这篇教程
https://www.arduino.cc/en/Tutorial/Potentiometer

由于Arduino主板上面有一块电机驱动板,所以需要的是母-母的线,这和教程中不一样,我们用的小车没有装前向的红外传感器,所以A4和A5的接口是空出的。注意一下连的时候滑动变阻器两端接地和VCC,中间接信号。

接下来我们只需要加几句代码,使得旋转变阻器的时候小车的左右轮速度变化,比较简单的办法是这样:

    int value_read = analogRead(Input_Detect);    double right_correction = (value_read - 511.5) / 511.5;   
left_nominal_speed  = 100 * (1-right_correction);   
right_nominal_speed = 100 * (1+right_correction);   
if(left_nominal_speed > 255)
{        
left_nominal_speed = 255;   
}   
if(right_nominal_speed > 255)
{        
right_nominal_speed = 255;   
}     
analogWrite(ENB, left_nominal_speed);     
analogWrite(ENA, right_nominal_speed);

将这几句代码加入 loop() 里面就实现了滑动变阻器控制车速,旋转滑动变阻器的时候一边的速度变快,另一边的速度变慢,调节旋钮到合适的位置,小车就能跑直了,

当然这样会直接屏蔽掉本来的左右转功能,同时也屏蔽掉本来的调速功能,至于如何在不屏蔽的情况下调节,就需要多写几行代码了,但是意思和这个代码类似。 最后贴几张图作为参考:

QQ截图20170124000108.png QQ截图20170124000137.png QQ截图20170124000159.png

建议小R公司的下一个版本增加一个这样的滑动变阻器的tuning功能,一个变阻器也就几块钱,但是会让我们方便很多。 另外电机板和Arduino板的管脚对应根本不知道,发的电路图全是乱码根本没法看管脚对应关系,这对开发造成很大的麻烦希望能更正。

评分

参与人数 1威望 +2 金钱 +3 贡献 +2 收起 理由
liuviking + 2 + 3 + 2 谢谢分享!

查看全部评分

回复

使用道具 举报

发表于 2017-1-30 13:13:53 | 显示全部楼层
原版的代码有PWM调速功能,也可以实现单侧车轮调速,但是精细度可能没有滑动变阻器那么好,谢谢您的反馈,我们将在接下去的版本中进行改进。
回复 支持 反对

使用道具 举报

发表于 2017-1-30 13:18:10 | 显示全部楼层
原理图导出为PDF的时候可能版本原因导致有乱码,现在已经重新上传了正确的图纸,请下载: PWR.AR.C电源稳压与电机驱动板原理图Schematic.pdf (79.69 KB, 下载次数: 31)
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

新品特惠推荐上一条 /2 下一条

QQ|QQ技术咨询1|QQ技术咨询2|商务合作微信1:xiaorgeek001|商务合作微信2:XiaoRGEEK|诚聘英才|Archiver|手机版|小R科技-WIFI机器人网·机器人创意工作室 ( 粤ICP备15000788号-6 )

GMT+8, 2024-2-22 21:46 , Processed in 1.099423 second(s), 23 queries .

Powered by XiaoR GEEK X3.4

© 2014-2021 XiaoR GEEK

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