机器人与人工智能爱好者论坛

 找回密码
 立即注册
查看: 2493|回复: 0
打印 上一主题 下一主题

小型双轮差速底盘的制作

[复制链接]

12

主题

13

帖子

99

积分

注册会员

Rank: 2

积分
99
跳转到指定楼层
楼主
发表于 2023-1-13 15:38:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 机器谱Robotway 于 2023-1-13 15:48 编辑

1.运动功能说明
小型双轮差速底盘可以通过两个驱动轮的 差速运动 来实现前进、后退、原地转向、大半径转向等基本行驶功能。



2.结构说明
该样机由两个 直流驱动模组 构成,驱动轮模组呈轴对称分布在车架上,再使用万向轮对车尾进行支撑,保持车身水平。



3.运动功能实现
3.1 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:


将TT马达接在两个直流电机接口上,两个直流电机接口的针脚号分别为(D5,D6)以及(D9,D10),并将主控板和电池在车身固定好。


3.2 编写程序
前进功能的代码
/*------------------------------------------------------------------------------------  版权说明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
           Distributed under MIT license.See file LICENSE for detail or copy at
           https://opensource.org/licenses/MIT
           by 机器谱 2022-5-26 https://www.robotway.com/
  --------------------------------
  实验功能:
          实现小车前进.
  --------------------------------
  实验接线:
                车头
             .--------.
             |        |
             |        |
       左轮   |       |  右轮
      D5, D6 *--------* D9, D10
----------------------------------------------------------------------------------*/

void Forward(); // 前进

//程序初始化部分.
void setup() {
  pinMode( 5 , OUTPUT);  //将引脚5设置为输出模式
  pinMode( 6 , OUTPUT);  //将引脚6设置为输出模式
  pinMode( 9 , OUTPUT);  //将引脚9设置为输出模式
  pinMode( 10 , OUTPUT); //将引脚10设置为输出模式
}

//主程序部分
void loop()
{
  Forward();
  delay( 100 );
}

// forward子程序封装.
void Forward() {
  digitalWrite( 5 , LOW );  //将引脚5设置为高电平
  digitalWrite( 6 , HIGH ); //将引脚6设置为低电平
  digitalWrite( 9 , LOW );  //将引脚9设置为高电平
  digitalWrite( 10 , HIGH); //将引脚10设置为低电平
}

原地转向功能的代码
/*------------------------------------------------------------------------------------  版权说明:Copyright 2022 Robottime(Beijing) Technology Co., Ltd. All Rights Reserved.
           Distributed under MIT license.See file LICENSE for detail or copy at
           https://opensource.org/licenses/MIT
           by 机器谱 2022-5-26 https://www.robotway.com/
  ----------------------------------------------------------
  实验功能:
          实现小车原地转向.
  ----------------------------------------------------------
  实验接线:
                车头
             .--------.
             |        |
             |        |
       左轮   |       |  右轮
      D5, D6 *--------* D9, D10
----------------------------------------------------------------------------------*/

// 原地转向
void turn_in_Place();

//程序初始化部分.
void setup() {
  pinMode( 5 , OUTPUT);  //将引脚5设置为输出模式
  pinMode( 6 , OUTPUT);  //将引脚6设置为输出模式
  pinMode( 9 , OUTPUT);  //将引脚9设置为输出模式
  pinMode( 10 , OUTPUT); //将引脚10设置为输出模式
}

//主程序部分
void loop() {
  turn_in_Place();
  delay( 100 );
}

//原地转向子程序封装.
void turn_in_Place()
{
  digitalWrite( 5 , LOW ); //将引脚5设置为高电平
  digitalWrite( 6 , HIGH );  //将引脚6设置为低电平
  digitalWrite( 9 , HIGH ); //将引脚9设置为高电平
  digitalWrite( 10 , LOW);  //将引脚10设置为低电平
}
4.扩展样机
本样机也有一些扩展,如使用多个万向轮做支撑的版本,如下图所示


5.资料内容
样机3D文件
例程源代码







回复

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|Archiver|手机版|小黑屋|陕ICP备15012670号-1    

GMT+8, 2024-11-25 15:48 , Processed in 0.099245 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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