(二十一)msp430进阶:步进电机与MSP-EXP430G2 TI Launchpad连接

释放双眼,带上耳机,听听看~!

介绍

(二十一)msp430进阶:步进电机与MSP-EXP430G2 TI Launchpad连接

步进电机

步进电机是一种无刷直流电机,可将360°的全旋转角度分成多个相等的步长。

通过施加一定量的控制信号来旋转电动机。可以通过改变施加控制信号的速率来改变旋转速度。 

连接图

(二十一)msp430进阶:步进电机与MSP-EXP430G2 TI Launchpad连接

使用MSP-EXP430G2 TI Launchpad连接步进电机

 

顺时针和逆时针方向交替旋转步进电机。

 

在这里,我们使用的是六线单极步进电机。控制该步进电机只需要四根电线。步进电机的两根中心抽头线连接到5V电源。

ULN2003驱动器用于驱动步进电机。

注意:要找到绕组线圈及其中心抽头引线,请测量引线之间的电阻。从中心引线开始,与绕组端之间的电阻相比,我们将获得一半的电阻值。

 

提示: MSP-EXP430G2 TI Launchpad主板具有512字节的RAM,可轻松上传,尤其是在使用不同库时。有时您需要串行缓冲区足够大以包含所需的数据,并且您必须修改串行库的缓冲区大小。在做这些事情时,我们必须确保代码不会使用超过70%的RAM。这可能导致代码以不稳定的方式工作,有时运行良好并且在其他方​​面失败。 

有些时候RAM使用率可能会超过70%并且代码将完全正常工作,并且即使RAM使用率为65%,代码也无法工作。 

在这种情况下,可能需要对缓冲区大小和/或变量进行一些试验和错误。

 

步进电机程序

void setup() {
  pinMode(11, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
  pinMode(14, OUTPUT);
}

void loop() {
	/* Rotation in one direction */for(int i = 0; i<12; i++)
  {
    digitalWrite(11, HIGH);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, HIGH);
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, HIGH);
    digitalWrite(13, HIGH);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, HIGH);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, HIGH);
    digitalWrite(14, HIGH);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
    digitalWrite(14, HIGH);
    delay(100);
    digitalWrite(11, HIGH);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
    digitalWrite(14, HIGH);
    delay(100);
  }
  digitalWrite(11, HIGH);
  digitalWrite(12, LOW);
  digitalWrite(13, LOW);
  digitalWrite(14, LOW);
  delay(100);
	/* Rotation in opposite direction */for(int j = 0; j<12; j++)
  {
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
    digitalWrite(14, HIGH);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, HIGH);
    digitalWrite(14, HIGH);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, LOW);
    digitalWrite(13, HIGH);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, HIGH);
    digitalWrite(13, HIGH);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, LOW);
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, HIGH);
    digitalWrite(12, HIGH);
    digitalWrite(13, LOW);
    digitalWrite(14, LOW);
    delay(100);
    digitalWrite(11, HIGH);
    digitalWrite(12, LOW);
    digitalWrite(13, LOW);
    digitalWrite(14, LOW);
    delay(100);

余下程序:

完整程序下载

给TA打赏
共{{data.count}}人
人已打赏
msp430/Arduino-进阶

(二十)msp430进阶:舵机与MSP-EXP430G2 TI Launchpad连接

2019-6-21 23:55:55

msp430/Arduino-进阶

(二十二)msp430进阶:热敏电阻与MSP-EXP430G2 TI Launchpad连接

2019-6-26 23:23:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();