“Microduino-Shield Robot/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{{Language|Microduino-Robot/zh}} {| style="width: 800px;" Microduino-ROBOT板子作为机器人控制板, 将配合Microduino-Core+/zhMicroduino-Motor/zh或Micro...")
 
规格
 
(未显示6个用户的25个中间版本)
第1行: 第1行:
 
{{Language|Microduino-Robot/zh}}
 
{{Language|Microduino-Robot/zh}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
Microduino-ROBOT板子作为机器人控制板, 将配合[[Microduino-Core+/zh]]、[[Microduino-Motor/zh]]或[[Microduino-Stepper/zh]]。同时板载传感器接口,用户可接入各种传感器来实现更多的功能。
 
 
|-
 
|-
 
|
 
|
[[File: Microduino- Robot -rect.jpg|400px|thumb|center|Microduino- Robot]]
+
[[File: Microduino-Robot-rect.jpg|400px|thumb|right|Microduino- Robot]]
 +
Microduino-Robot shield板子作为直流电机控制板, 配合[[Microduino-Core/zh]]、[[Microduino-Core+/zh]]可以控制4路直流电机。同时板载传感器接口,用户可接入各种传感器来实现更多的功能。
 +
 
  
 
==特色==
 
==特色==
*两个电机驱动接口,可驱动两个步进电机,四个直流电机
+
*板载锂电池充放电管理,包括充电、升压(5V)、稳压(3.3V)功能
 +
*四个电机驱动接口,可驱动四个直流电机
 
*丰富的传感器接口,利于扩展
 
*丰富的传感器接口,利于扩展
*5V、3.3V电源管理
 
 
*Upin27底座,可结合更多的Microduino模块
 
*Upin27底座,可结合更多的Microduino模块
 
*板子体积小,46.99mm*40.64mm
 
*板子体积小,46.99mm*40.64mm
第16行: 第16行:
 
==规格==
 
==规格==
 
*电气
 
*电气
**5V稳压:采用LM2674降压方案
+
**5V升压:采用G5177整流升压芯片,工作电压3.0V~5V,输出电流800mA
**3.3V稳压:AMS1117降压方案
+
**3.3V稳压:AMS1117稳压方案,最高输出电流可达600mA
**因为采用降压方案,请确保电源电压5V~9V。
+
**充电管理:LTC4054电源管理方案,MicroUSB充电接口
**电源开关
+
**板载电池接口、电源开关
 +
**电池接口和电源开关可以引出,方便扩展。
 
*电机驱动
 
*电机驱动
**M.A:D7,D5,D8,D6(适用于Core核心,PWM调速)
+
**采用2个DRV8833双通道电机驱动器,驱动电源取自电池,每路电机能够连续提供高达400mA RMS的驱动电流,支持高达450mA的峰值电流
**M.B:D19,D23,D18,D22(适用于Core+核心,PWN调速)
+
**A驱动器引脚:D6、D8、D5、D7
*板载9个传感器接口
+
**B驱动器引脚:A0、A1、A2、A3
*板载调试led灯,接到D4.
+
***'''拨码开关依下图位置从上到下对应电机驱动引脚A0、A1、A2、A3'''
 +
***'''把对应的拨码开关拨到ON即可使用此电机驱动引脚'''
 +
*板载5个传感器接口
 
*板载复位按键
 
*板载复位按键
[[file:Microduino-Robot_Rule1.JPG|thumb|600px|center]]
+
[[file:ROBOTSHIELtips.jpg|thumb|600px|center]]
[[file:Microduino-Robot_Rule2.JPG|thumb|600px|center]]
 
[[file:Microduino-Robot_Rule3.JPG|thumb|600px|center]]
 
  
 
==文档==
 
==文档==
*芯片:'''[[File: LM2674.pdf]]'''
+
*芯片:'''[[File: DRV8833datasheet.pdf]]'''
 +
*Microduino 电机控制库函数: [https://github.com/Microduino/Microduino-IDE-Support/tree/master/arduino-ide-Support/%5B1.6.x%5D-hardware%28library%29/hardware/Microduino/avr/libraries/_04_Microduino_Motor Microduino_Motor]
 +
 
 
==开发==
 
==开发==
 +
 +
===直流电机接线===
 +
将一个直流电机接(A.MOTOR.1),另外一个直流电机接(A.MOTOR.2);
 +
或一个直流电机接(B.MOTOR.1),另外一个直流电机接(B.MOTOR.2);
 +
 +
===直流电机控制方式===
 +
*A驱动器
 +
{|class="wikitable"
 +
! rowspan="1" |D6||D8||D5||D7||A.MOTOR.1.A||A.MOTOR.1.B||A.MOTOR.2.A||A.MOTOR.2.B||功能
 +
|-
 +
|0||0||0||0||Off||Off||Off||Off||关闭
 +
|-
 +
|1||0||1||0||High||Low||High||Low||向前
 +
|-
 +
|0||1||0||1||Low||High||Low||High||反向
 +
|-
 +
|1||1||1||1||Low||Low||Low||Low||制动
 +
|}
 +
 +
*B驱动器
 +
{|class="wikitable"
 +
! rowspan="1" |A0||A1||A2||A3||B.MOTOR.1.A||B.MOTOR.1.B||B.MOTOR.2.A||B.MOTOR.2.B||功能
 +
|-
 +
|0||0||0||0||Off||Off||Off||Off||关闭
 +
|-
 +
|1||0||1||0||High||Low||High||Low||向前
 +
|-
 +
|0||1||0||1||Low||High||Low||High||反向
 +
|-
 +
|1||1||1||1||Low||Low||Low||Low||制动
 +
|}
 +
 +
 +
 
*驱动直流电机,参考:[[Microduino-Motor/zh]]:
 
*驱动直流电机,参考:[[Microduino-Motor/zh]]:
 
示例程序:  
 
示例程序:  
 
<source lang="cpp">
 
<source lang="cpp">
 
//=========M.A=============//
 
//=========M.A=============//
int mic_left_A = 7;
+
int mic_left_A = 6;
int mic_right_A = 5;
+
int mic_right_A = 8;
int mic_head_A = 8;
+
int mic_head_A = 5;
int mic_back_A = 6;
+
int mic_back_A = 7;
 
//=========M.B=============//
 
//=========M.B=============//
 
/*
 
/*
int mic_left_B = 22;
+
int mic_left_A = A0;
  int mic_right_B =18;
+
  int mic_right_A =A1;
  int mic_head_B = 23;
+
  int mic_head_A = A2;
  int mic_back_B = 19;
+
  int mic_back_A = A3;
 
  */
 
  */
 
void setup() {
 
void setup() {
第106行: 第143行:
 
}
 
}
 
</source>
 
</source>
*驱动步进电机,参考:[[Microduino-Stepper/zh]]
 
<source lang="cpp">
 
  
#include <AccelStepper.h>
+
==应用==
 
+
==='''[[开源电驱机器小车CUBE/zh]]'''===
const int ENPin_A =8  ;      // the number of the LED pin
 
const int ENPin_B =23  ;      // the number of the LED pin
 
 
 
int motorSpeed = 9600; //maximum steps per second (about 3rps / at 16 microsteps)
 
int motorAccel = 80000; //steps/second/second to accelerate
 
 
 
int motorDirPin_A = 5; //digital pin 5
 
int motorStepPin_A = 7; //digital pin 7
 
int motorDirPin_B = 18; //digital pin 5
 
int motorStepPin_B = 22; //digital pin 7
 
 
 
//set up the accelStepper intance
 
//the "1" tells it we are using a driver
 
AccelStepper stepper_A(1, motorStepPin_A, motorDirPin_A);
 
AccelStepper stepper_B(1, motorStepPin_B, motorDirPin_B);
 
 
 
void setup(){
 
  pinMode(ENPin_A, OUTPUT); 
 
  pinMode(ENPin_B, OUTPUT);
 
  stepper_A.setMaxSpeed(motorSpeed);
 
  stepper_A.setSpeed(motorSpeed);
 
  stepper_A.setAcceleration(motorAccel);
 
 
 
  stepper_A.moveTo(3200); //move 32000 steps (should be 10 rev)
 
 
 
  stepper_B.setMaxSpeed(motorSpeed);
 
  stepper_B.setSpeed(motorSpeed);
 
  stepper_B.setAcceleration(motorAccel);
 
 
 
  stepper_B.moveTo(3200); //move 32000 steps (should be 10 rev)
 
 
 
}
 
 
 
void loop(){
 
  digitalWrite(ENPin_A, LOW);
 
  digitalWrite(ENPin_B, LOW);
 
  //if stepper is at desired location
 
  if (stepper_A.distanceToGo() == 0){
 
    //go the other way the same amount of steps
 
    //so if current position is 400 steps out, go position -400
 
    stepper_A.moveTo(-stepper_A.currentPosition());
 
  }
 
  //these must be called as often as possible to ensure smooth operation
 
  //any delay will cause jerky motion
 
  stepper_A.run();
 
  
  if (stepper_B.distanceToGo() == 0){
 
    //go the other way the same amount of steps
 
    //so if current position is 400 steps out, go position -400
 
    stepper_B.moveTo(-stepper_B.currentPosition());
 
  }
 
  //these must be called as often as possible to ensure smooth operation
 
  //any delay will cause jerky motion
 
  stepper_B.run();
 
}
 
</source>
 
==应用==
 
[[机器人平衡车]]
 
[[BOXZ_mini机器人]]
 
 
==购买==
 
==购买==
  
第177行: 第154行:
  
 
*正面
 
*正面
  [[file:Microduino-Robot-F.JPG|thumb|600px|center]]
+
  [[file:Microduino-Robot-F.JPG|600px|center]]
 
*背面
 
*背面
[[file:Microduino-Robot-b.JPG|thumb|600px|center]]
+
[[file:Microduino-Robot-b.JPG|600px|center]]
 +
 
 
==视频==
 
==视频==
 
|}
 
|}

2016年4月26日 (二) 03:28的最新版本

Language English
Microduino- Robot

Microduino-Robot shield板子作为直流电机控制板, 配合Microduino-Core/zhMicroduino-Core+/zh可以控制4路直流电机。同时板载传感器接口,用户可接入各种传感器来实现更多的功能。


特色

  • 板载锂电池充放电管理,包括充电、升压(5V)、稳压(3.3V)功能
  • 四个电机驱动接口,可驱动四个直流电机
  • 丰富的传感器接口,利于扩展
  • Upin27底座,可结合更多的Microduino模块
  • 板子体积小,46.99mm*40.64mm

规格

  • 电气
    • 5V升压:采用G5177整流升压芯片,工作电压3.0V~5V,输出电流800mA
    • 3.3V稳压:AMS1117稳压方案,最高输出电流可达600mA
    • 充电管理:LTC4054电源管理方案,MicroUSB充电接口
    • 板载电池接口、电源开关
    • 电池接口和电源开关可以引出,方便扩展。
  • 电机驱动
    • 采用2个DRV8833双通道电机驱动器,驱动电源取自电池,每路电机能够连续提供高达400mA RMS的驱动电流,支持高达450mA的峰值电流
    • A驱动器引脚:D6、D8、D5、D7
    • B驱动器引脚:A0、A1、A2、A3
      • 拨码开关依下图位置从上到下对应电机驱动引脚A0、A1、A2、A3
      • 把对应的拨码开关拨到ON即可使用此电机驱动引脚
  • 板载5个传感器接口
  • 板载复位按键
ROBOTSHIELtips.jpg

文档

开发

直流电机接线

将一个直流电机接(A.MOTOR.1),另外一个直流电机接(A.MOTOR.2); 或一个直流电机接(B.MOTOR.1),另外一个直流电机接(B.MOTOR.2);

直流电机控制方式

  • A驱动器
D6 D8 D5 D7 A.MOTOR.1.A A.MOTOR.1.B A.MOTOR.2.A A.MOTOR.2.B 功能
0 0 0 0 Off Off Off Off 关闭
1 0 1 0 High Low High Low 向前
0 1 0 1 Low High Low High 反向
1 1 1 1 Low Low Low Low 制动
  • B驱动器
A0 A1 A2 A3 B.MOTOR.1.A B.MOTOR.1.B B.MOTOR.2.A B.MOTOR.2.B 功能
0 0 0 0 Off Off Off Off 关闭
1 0 1 0 High Low High Low 向前
0 1 0 1 Low High Low High 反向
1 1 1 1 Low Low Low Low 制动


示例程序:

//=========M.A=============//
int mic_left_A = 6;
int mic_right_A = 8;
int mic_head_A = 5;
int mic_back_A = 7;
//=========M.B=============//
/*
 int mic_left_A = A0;
 int mic_right_A =A1;
 int mic_head_A = A2;
 int mic_back_A = A3;
 */
void setup() {
  pinMode(mic_left_A,OUTPUT);
  pinMode(mic_right_A,OUTPUT);
  pinMode(mic_head_A,OUTPUT);
  pinMode(mic_back_A,OUTPUT);
}

void loop() {
  head();
  delay(1500);
  back();
  delay(1500);
  left();
  delay(1500);
  right();
  delay(1500);
}

void head()
{
  digitalWrite(mic_left_A,LOW);
  digitalWrite(mic_right_A,HIGH);
  digitalWrite(mic_head_A,HIGH);
  digitalWrite(mic_back_A,LOW);
}

void left()
{
  digitalWrite(mic_left_A,HIGH);
  digitalWrite(mic_right_A,LOW);
  digitalWrite(mic_head_A,HIGH);
  digitalWrite(mic_back_A,LOW  );
}

void right()
{
  digitalWrite(mic_left_A,LOW);
  digitalWrite(mic_right_A,HIGH);
  digitalWrite(mic_head_A,LOW);
  digitalWrite(mic_back_A,HIGH);
}

void back()
{
  digitalWrite(mic_left_A,HIGH);
  digitalWrite(mic_right_A,LOW);
  digitalWrite(mic_head_A,LOW);
  digitalWrite(mic_back_A,HIGH);
}

void stoop()
{
  digitalWrite(mic_left_A,LOW);
  digitalWrite(mic_right_A,LOW);
  digitalWrite(mic_head_A,LOW);
  digitalWrite(mic_back_A,LOW);
}

应用

开源电驱机器小车CUBE/zh

购买

历史

图库

  • 正面
Microduino-Robot-F.JPG
  • 背面
Microduino-Robot-b.JPG

视频