机器谱 发表于 2022-11-28 11:12:30

月球车底盘的制作【内附样机3D文件&例程源代码】

1.运动功能说明       月球车底盘可以通过左侧3个驱动轮和右侧3个驱动轮的 差速运动 配合来实现前进、后退、原地转向、大半径转向等基本行驶功能。由于摇臂的作用,255号机构的抓地力更强,因此具有极强的牵引能力和爬坡能力。同时摇臂和车架的悬挂,使它具有非常强的越障能力,可以在复杂的地形中行驶,甚至可以攀爬楼梯。
2.结构说明

       月球车底盘机构是一个“被动摇臂”型6轮6驱底盘,由于摇臂结构和月球车的类似(月球车一般用主动摇臂),因此也被称为月球车底盘。它有6个直流驱动轮模组 ,分别安装在两侧的摇臂上。摇臂固定在连杆组构成的悬架上,使它整体的悬挂性能特别出色。3.运动功能实现3.1 电子硬件在这个示例中,采用了以下硬件,请大家参考:Basra主控板(兼容Arduino Uno)、Bigfish2.1扩展板、7.4V锂电池
       由于同侧的驱动轮的运动状态始终是一样的。因此同侧的3个直流电机可以通过1拖3杜邦线(可以自制)共用1个直流电机接口。先将同侧直流电机接在一条1拖3电机线上,然后在分别接在两个直流电机接口上,两个直流电机接口的针脚号分别为(D5,D6)以及(D9,D10),并将主控板和电池在车身固定好。
3.2 编写程序编程环境:Arduino 1.8.19前进功能的代码
/*------------------------------------------------------------------------------------版权说明: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-30 https://www.robotway.com/
-----------------------
实验功能:
          实现月球小车前进.
-----------------------------------------------------
实验接线:
            一拖三直流电机线:左侧车轮接:D9,D10
             ||         ||          ||
          .-----------------------------------.
          |                                 |
          |                                 |-------.
          |                                 |【车头】|
          |                                 |-------*
          |                                 |
          *-----------------------------------*
             ||         ||          ||
            一拖三直流电机线:右侧车轮接:D5,D6            
------------------------------------------------------------------------------------*/
void Forward(); // 前进

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

//主程序部分:小车前进
void loop() {
Forward();
}

//封装小车前进动作子程序
void Forward() {
digitalWrite( 5 , LOW );//右轮前进
digitalWrite( 6 , HIGH );

digitalWrite( 9 , LOW );//左轮前进
digitalWrite( 10 , HIGH );
}


后退功能的代码
/*------------------------------------------------------------------------------------版权说明: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-30 https://www.robotway.com/
----------------------
实验功能:
          实现月球小车后退.
----------------------------------------------------
实验接线:
            一拖三直流电机线:左侧车轮接:D9,D10
             ||         ||          ||
          .-----------------------------------.
          |                                 |
          |                                 |-------.
          |                                 |【车头】|
          |                                 |-------*
          |                                 |
          *-----------------------------------*
             ||         ||          ||
            一拖三直流电机线:右侧车轮接:D5,D6            
------------------------------------------------------------------------------------*/

void Backward();// 后退

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

//主程序部分:小车后退
void loop(){
Backward();
}

//封装小车后退动作子程序
void Backward() {
digitalWrite( 5 , HIGH );//右轮后退
digitalWrite( 6 , LOW );

digitalWrite( 9 , HIGH );//左轮后退
digitalWrite( 10 , LOW);
}


原地转向功能的代码
/*------------------------------------------------------------------------------------版权说明: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-30 https://www.robotway.com/
------------------------------------
实验功能:
          实现月球小车原地旋转(差速方式).
          本实验现象为月球小车原地左转.
----------------------------------------------------
实验接线:
            一拖三直流电机线:左侧车轮接:D9,D10
             ||         ||          ||
          .-----------------------------------.
          |                                 |
          |                                 |-------.
          |                                 |【车头】|
          |                                 |-------*
          |                                 |
          *-----------------------------------*
             ||         ||          ||
            一拖三直流电机线:右侧车轮接:D5,D6            
------------------------------------------------------------------------------------*/
void turn_Left(); // 原地转向(本示例为原地左转)

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

//主程序部分:小车差速自转[本示例为小车左转]
void loop() {
turn_Left();
}

//封装小车自转动作子程序(本示例为左转)
void turn_Left(){
digitalWrite( 5 , LOW );//右轮前进
digitalWrite( 6 , HIGH );

digitalWrite( 9 , HIGH ); //左轮后退
digitalWrite( 10 , LOW);
}


大半径转向功能的代码
/*------------------------------------------------------------------------------------版权说明: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/
------------------------------------------------------
实验功能:
          实现月球实现小车大半径转向(原理为小车车轮同向不同速)
------------------------------------------------------
实验接线:
            一拖三直流电机线:左侧车轮接:D9,D10
             ||         ||          ||
          .-----------------------------------.
          |                                 |
          |                                 |-------.
          |                                 |【车头】|
          |                                 |-------*
          |                                 |
          *-----------------------------------*
             ||         ||          ||
            一拖三直流电机线:右侧车轮接:D5,D6            
------------------------------------------------------------------------------------*/

void big_Turn();// 大半径转向

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

//主程序部分:小车走弧形路径
void loop() {
big_Turn();
delay( 100 );
}

//封装小车走大半径(弧线)动作子程序(同向不同速)
void big_Turn() {
analogWrite( 5 , 0 );//右轮以255速度前进
analogWrite( 6 , 255);
analogWrite( 9 , 0 );//左轮以150速度前进
analogWrite( 10 , 150 );
}


4.扩展样机       本样机也有一些扩展,如为它增加了外观后会更像月球车。如下图所示:资料内容:样机3D文件、例程源代码【资料下载链接https://www.robotway.com/h-col-120.html】





页: [1]
查看完整版本: 月球车底盘的制作【内附样机3D文件&例程源代码】