查看“Microduino-Shield Stepper/zh”的源代码
←
Microduino-Shield Stepper/zh
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{Language|Microduino-Shield Stepper/zh}} {| style="width: 800px;" |- | [[File:DSC9332.JPG|400px|thumb|right|Microduino-Shield Stepper]] Microduino-Shield Stepper板子一款带转换器和过流保护的DMOS微步驱动底板,该底板可在全、半、1/4、1/8、1/16步进模式下驱动两相步进电机,能够最多同时操作4路电机。 ==特色== 步进电机是一种将脉冲信号变换成相应的角位移(或线位移)的电磁装置,是一种特殊的电机。一般电机都是连续转动的,而步进电机则有定位和运转两种基本状态,当有脉冲输入时步进电机一步一步地转动,每给它一个脉冲信号,它就转过固定的角度。 *宽电源输入范围 *适用两相四线步进电机,最多驱动4路 *只有简单的步进和方向控制接口,易于控制 *五种不同的步进模式:全、半、1/4、1/8和1/16 *可调电位器可以调节最大电流输出,从而获得更高的步进率 *自动电流衰减模式检测/选择 *具有过热关闭、欠压锁定、交叉电流保护功能 *Upin27底座,可结合更多的Microduino模块; *底板体积小,46.99mm*40.64mm ==规格== *电气 **5V稳压:采用ETA1483降压方案,工作电压范围4.5V~18V,最大输出电流2A **3.3V稳压:AMS1117稳压方案,最高输出电流可达1A **输入电压检测,A7引脚可检测输入电源电压 *电机驱动 **采用4个A4988SETTR步进电机驱动器,驱动电源取自输入电源,每路最大输出电流可达2A **驱动器控制引脚说明 {|class="wikitable" |- |功能||A驱动器||B驱动器||C驱动器||D驱动器 |- |ENABLE||D4||D4||D4||D4 |- |Step||D5||D6||D7||D8 |- |dir ||A0||A1||A2||A3 |} **A4988SETTR有三个端口用来设置步进电机微步分辨率,如下表 {|class="wikitable" |- |MS1||MS2||MS3||微步设置 |- |Low||Low||Low||全步进 |- |High||Low||Low||半步进 |- |Low||High||Low||1/4步进 |- |High||High||Low||1/8步进 |- |High||High||High||1/16步进 |} **步进电机通常有一个固定步长,如1.8°(200步/转),A4988驱动器可以支持更高的微步驱动方式。例如用1/4模式时,电机将通过使用四种不同的电流,使电机驱动分辨率提高到每转800个微步,从而获得更高的控制精度。通过设置MS1,MS2和MS3可以得到5种不同的微步分辨率(默认为1/8步进方式),如下图所示: [[File:MicroStep-setup.jpg||600px|center]] **通过调节驱动器上的电位器可以调节步进电机的最大输出电流。能够让步进电机工作在额定电压之上,以达到更高的步率。一般步进电机使用A4988驱动时,步进电机实际测量的电流,大约是A4988输出电流上限的70%,所以需要设定的电流输出上限,会是电机标定的额定电流除以0.7。可以用如下方法计算,通过测量电压REF引脚,计算出相应的限电流(此处电流检测电阻为0.05Ω)。 '''电流限制 = VREG X 2.5''' 因此,如果要电机线圈得到1A的电流,电流限制应为1A/0.7 = 1.4A,这相当于VREF = 1.4A/2.5 = 0.56V。需要通过调节电位器将VREF电压调至0.56V。 **可变电阻的金属螺丝头就是Vref的测量点,用万用表的正极做测量,另一头接在GND **调整效果:调整的时候最终要使电流可以驱动步进电机,保证力量足够,但是不要过大使电机过热。 '''注意:驱动板长时间大电流工作时,芯片会发热。有条件的话需要在上面加装散热片,帮助芯片散热。''' *板载一个I2C接口,用于扩展 *SS34二极管整流 *采用4988SETTR步进电机驱动 *引脚与功能 {|class="wikitable" |- |功能||引脚 |- |ENABLE||D4 |- |A.Step||D5 |- |A.dir ||A0 |- |B.Step||D6 |- |B.dir ||A1 |- |C.Step||D7 |- |C.dir ||A2 |- |D.Step||D8 |- |D.dir ||A3 |- |电池电量 ||A7 |} *留出IIC接口 *4个步进电机接口 *Upin27底座 *步进电机驱动模式:1/8(默认) ===电机细分详解=== {|class="wikitable" ! rowspan="1" |MS1 || MS2 ||MS3 || 步进模式 |- | L||L||L||全 |- | H||L||L||半 |- | L||H||L||4细分 |- | H||H||L||8细分 |- | H||H||H||16细分 |} [[File:Stpshdxifen.jpg||400px|center]] 引脚说明: [[File:Fronttip.jpg||600px|center]] ===步进电机驱动芯片A4988SETTR特点=== **低RDS(上)输出 **自动电流衰减模式检测/选择 **混合和慢速电流衰变模式 **低功耗的同步整流 **内部UVLO **交叉电流保护 **3.3和兼容5 V的逻辑供应 **热关断电路 **Short-to-ground保护 **负载短路保护 **五个可选步模式全1/2,1/4,1/8,和1/16 ===A4988电流调整=== [[File:Apeitiaozheng.jpg||400px|thumb|center]] *调整4988步进马达驱动板电流上限特别注意:测量电压的时候千万要小心,不要短路到不该碰到的接点,很可能会造成4988烧毁!!! *特别注意:4988的输出电流,超过1安培的话,必须加装散热片。超过1.5安培,需要再加风扇。就算有安装散热片、风扇,输出电流也不应超过2安培。否则有烧毁的危险。 *根据Pololu产品网页上的说明,一般步进马达使用4988驱动时,步进马达实际测量到的电流,大约是4988输出电流上限的0.7倍。所以需要设定的电流输出上限,会是马达标定的额定电流除以0.7。 *4988输出电流上限的计算公式:I=Vref/(8xRs). *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伏特 *调整效果:调整的时候最终要使电流可以驱动步进电机,保证力量足够,但是不要过大使电机过热。 ==文档== *原理图: 【'''[[media:Microduino-Stepper.pdf |Shield Stepper原理图]]'''】 *步进电机驱动A4988SETTR 【'''[[media:A4988datasheet.pdf | A4988Datasheet]]'''】 ==开发== 主要应用在平衡车上。Upin27接口可叠加Microduino扩展模块做二次开发。 *简单示例程序 将步进电机使用2.54 4pin连接线接在MotorA接口上 程序效果是使步进电机正转一个角度,停止500ms继续正转。如需要反转则将注释部分取消并注释掉上面两行 <source lang="cpp"> //声明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); } </source> ==应用== <big>'''[[开源平衡车/zh]]'''</big> ==购买== ==历史== ==图库== [[File:Steppershieldfront.jpg|thumb|600px|center|Shield Stepper Front]] [[File:Steppershieldback.jpg|thumb|600px|center|Shield Stepper back]] ==视频== |}
该页面使用的模板:
模板:Language
(
查看源代码
)
模板:Nmbox
(
查看源代码
)
返回至
Microduino-Shield Stepper/zh
。
导航菜单
个人工具
创建账户
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
Welcome
首页
创客大赛
大赛详情
3D打印
安装月球车
图形化编程
操控月球车
升级月球车
编程工具下载
软件下载
Arduino
Processing
Mixly
Scratch
模块套件
Microduino 102
mCookie 102
mCookie 202
mCookie 302
IBC
其他
应用套件
四轴飞行器
平衡车
小车CUBE
音乐播放器
刷卡音乐播放器
wifi气象站
彩虹音乐触摸灯
分贝检测仪
迎门汇报
LED点阵时钟
LED点阵屏幕
硬件
mCookie
Sensor
Microduino
MicroWrt
MicroNux
MicroRobot-Core
MicroRobot-CoreESP
ideaBoard
ideaBox
MicroMV
MicroAI
帮助
常见问题
帮助
工具
链入页面
相关更改
特殊页面
页面信息