“Microduino-Shield Stepper/zh”的版本间的差异
502748957@qq.com(讨论 | 贡献) (→规格) |
502748957@qq.com(讨论 | 贡献) (→规格) |
||
第82行: | 第82行: | ||
*特别注意:4988的输出电流,超过1安培的话,必须加装散热片。超过1.5安培,需要再加风扇。就算有安装散热片、风扇,输出电流也不应超过2安培。否则有烧毁的危险。 | *特别注意:4988的输出电流,超过1安培的话,必须加装散热片。超过1.5安培,需要再加风扇。就算有安装散热片、风扇,输出电流也不应超过2安培。否则有烧毁的危险。 | ||
*根据Pololu产品网页上的说明,一般步进马达使用4988驱动时,步进马达实际测量到的电流,大约是4988输出电流上限的0.7倍。所以需要设定的电流输出上限,会是马达标定的额定电流除以0.7。 | *根据Pololu产品网页上的说明,一般步进马达使用4988驱动时,步进马达实际测量到的电流,大约是4988输出电流上限的0.7倍。所以需要设定的电流输出上限,会是马达标定的额定电流除以0.7。 | ||
+ | *4988输出电流上限的计算公式:I=Vref/(8*Rs). | ||
+ | **Vref是参考电压,利用可变电阻设计出可以调整Vref的电路,让使用者能够自行调整输出电流上限。 | ||
+ | Rs是参考电阻,我们使用的是0.11Ω的。 | ||
+ | **可变电阻的金属螺丝头就是Vref的测量点,用万用表的正极做测量,另一头接在GND | ||
+ | **举例说明如果你买到的步进马达,额订电流是1.5安培,那4988输出电流上限会是 1.5/0.7 = 2.14 安培。之后Rs是0.11欧姆,那你需要把Vref调整成 (1.5/0.7)*8*0.11 = 1.88伏特 | ||
+ | *总而言之:调整的时候最终要使电流可以驱动步进电机但是不要过大使得电机过热。 | ||
==文档== | ==文档== |
2016年1月20日 (三) 11:02的版本
Language | English |
---|
Microduino-Shield Stepper板子一款带转换器和过流保护的DMOS微步驱动器,用于平衡车,使用时叠加Mocroduino核心模块与需要的功能模块即可。
特色
规格
引脚说明:
A4988电流调整: 文件:Apeitiaozheng.jpg 400px
Rs是参考电阻,我们使用的是0.11Ω的。
文档
[百度盘地址] 提取码:tram
开发主要应用在平衡车上。Upin27接口可叠加Microduino扩展模块做二次开发。
将步进电机使用2.54 4pin连接线接在MotorA接口上 程序效果是使步进电机正转一个角度,停止500ms继续正转。如需要反转则将注释部分取消并注释掉上面两行 //声明Motor1引脚的驱动管脚D5,A0,使能D4
#define MOTOR_EN 4 //PORTB,0
#define MOTOR1_DIR A0 //PORTA,7
#define MOTOR1_STEP 5 //PORTB,1
void setup() {
// put your setup code here, to run once:
pinMode(MOTOR_EN, OUTPUT);
pinMode(MOTOR1_DIR, OUTPUT);
pinMode(MOTOR1_STEP, OUTPUT);
digitalWrite(MOTOR_EN, LOW); //使能
}
void step(boolean dir, int steps) //步进函数,第一个变量是方向,第二个变量是步数即转的角度
{
digitalWrite(MOTOR1_DIR, dir);
delay(5);
for (int i = 0; i < steps; i++) {
digitalWrite(MOTOR1_STEP, HIGH);
delayMicroseconds(200);
digitalWrite(MOTOR1_STEP, LOW);
delayMicroseconds(200);
}
}
void loop() {
step(1, 1000); //正转
delay(500);
// step(0,1000); //反转
// delay(500);
}
应用购买历史图库视频 |