1. 运动功能说明
本文示例将实现R331样机双驱拖挂底盘运动的功能。
2. 结构说明
双驱拖挂底盘是一种具有两个驱动轴的车辆底盘,它由两个驱动轴、悬挂系统、转向系统和连接拖车的结构组成。以下是一些关于双驱拖挂底盘的主要特点和优势:
① 强大的牵引能力:由于具有两个驱动轴,双驱拖挂底盘能够提供更高的牵引力,使其可以轻松应对重载和陡坡等复杂道路条件。
② 稳定性和平衡性:双驱拖挂底盘的两个驱动轴能够提供更好的稳定性和平衡性,尤其是在不平坦的路面上。这有利于保持整车的稳定性,减少颠簸和倾覆的风险。
③ 操控灵活性:双驱拖挂底盘通常配备了可靠的转向系统,使得车辆在转弯时更加灵活。
3. 电子硬件
在这个示例中,我们采用了以下硬件,请大家参考:
主控板 | Basra主控板(兼容Arduino Uno) |
扩展板 | Bigfish2.1扩展板 |
电池 | 7.4V锂电池 |
电路连接:左轮直流电机连在Bigfish扩展板的D5,D6接口;右轮直流电机连在Bigfish扩展板的D9,D10接口。
4. 运动功能实现
编程环境:Arduino 1.8.19
下面提供一个双驱拖挂底盘运动的参考例程(Moving_wheel.ino):
/*------------------------------------------------------------------------------------
版权说明:Copyright 2023 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 机器谱 2023-07-20 https://www.robotway.com/
------------------------------*/
void turnLeft();
void stop();
void forword();
void turnRight();
void setup()
{
pinMode( 10, OUTPUT);
pinMode( 6, OUTPUT);
pinMode( 5, OUTPUT);
pinMode( 9, OUTPUT);
pinMode( 5 , OUTPUT);
pinMode( 6 , OUTPUT);
pinMode( 9 , OUTPUT);
pinMode( 10 , OUTPUT);
}
void loop()
{
//实现了小车的前进、左转、右转
forword();
turnLeft();
stop();
delay( 1000 );
turnRight();
stop();
delay( 100000 );
}
void turnRight()
{
analogWrite(5 , 255);
analogWrite(6 , 0);
analogWrite(9 , 0);
analogWrite(10 , 0);
delay( 1500 );
}
void forword()
{
digitalWrite( 5 , HIGH );
digitalWrite( 6 , LOW );
digitalWrite( 9 , HIGH );
digitalWrite( 10 , LOW );
delay( 600 );
}
void turnLeft()
{
analogWrite(5 , 90);
analogWrite(6 , 0);
analogWrite(9 , 255);
analogWrite(10 , 0);
delay( 1500 );
}
void stop()
{
digitalWrite( 5 , LOW );
digitalWrite( 6 , LOW );
digitalWrite( 9 , LOW );
digitalWrite( 10 , LOW );
}
程序源代码及样机3D文件资料详见 双驱拖挂底盘-概述