ttyp 发表于 2012-12-11 21:57:59

本帖最后由 ttyp 于 2012-12-11 21:59 编辑

果然是每个芯片的协议都不一样啊
官方的是
Step C0 C1 C2 C3
   11010
   20110
   30101
   41001

而我的是
Step C0 C1 C2 C3
   11000
   20100
   30010
   40001

这是我修改的库

piaozhiling 发表于 2013-1-5 19:16:08

弘毅老师我用你上面的代码改了一下做成用过串口传W或者S来控制,您看这样对不对,接收到W应该是正转,接收到S应该是反转。

/*
* 步进电机跟随电位器旋转
* (或者其他传感器)使用0号模拟口输入
* 使用arduino IDE自带的Stepper.h库文件
*/

#include <Stepper.h>

// 这里设置步进电机旋转一圈是多少步
#define STEPS 100

// attached to设置步进电机的步数和引脚
Stepper stepper(STEPS, 2, 3, 4, 5);

// 定义变量用来存储历史读数
int previous = 0;

void setup()
{
// 设置电机每分钟的转速为90步
stepper.setSpeed(90);
}

//void loop()
//{
// 获取传感器读数
//int val = analogRead(0);

// 移动步数为当前读数减去历史读数
// stepper.step(val - previous);

// 保存历史读数
// previous = val;
void loop()
{
char speed;   //小车的运动速度
int val;
while(1)    //while的循环条件为1,即永远都循环{}里的内容
{      //while循环开始
   if(Serial.available()) // ①Serial.available()表示判断串口COM是否接收到数据
   {   //if开始
      val=Serial.read();//②读取串行COM的数据,控制小车运动的命令
      switch(val)   //命令有多种情况,因而使用switch语句
      {// switch开始
      case 'W':         //第一种情况,前进,等于字符W
      stepper.step(6);   
          break;
      case 'S':         //第二种情况,后退,等于字符S

coupar 发表于 2013-3-11 16:57:45

弘毅老师你好,我才开始学arduino,跟着你的教程控制用电位器控制步进电机,电机转动正常,就是不知为什么每次重新通电步进电机就会自动转一定角度才停下才可以控制,能不能修改代码使arduino在每次通电时不要自动转?

弘毅 发表于 2013-3-11 21:25:53

coupar 发表于 2013-3-11 16:57 static/image/common/back.gif
弘毅老师你好,我才开始学arduino,跟着你的教程控制用电位器控制步进电机,电机转动正常,就是不知为什么每 ...

因为代码中int previous = 0;每次重新启动都会归零,如果想要重启后也保持原位,需要把该变量写入eeprom中,这样断电后也能保存了。

coupar 发表于 2013-3-11 23:26:12

弘毅 发表于 2013-3-11 21:25 static/image/common/back.gif
因为代码中int previous = 0;每次重新启动都会归零,如果想要重启后也保持原位,需要把该变量写入eeprom中 ...

#include <Stepper.h>
#define STEPS 100
Stepper stepper(STEPS, 8, 9, 10, 11);
int address = analogRead(0)
int previous = address;


void setup()
{
stepper.setSpeed(300);
}

void loop()
{
int val = analogRead(0);
stepper.step(val - previous);
previous = val;
}


弘毅老师,我才学习不到2天,不知道这样写可以不啊?通电启动时先检查电位器位置,在加到previous里,:dizzy:如果不对,您能不能写个给我学习一下啊?

要相信 发表于 2013-3-17 22:25:44

想问个白痴问题,我自己在fritzing里画图,但是搜索不到5线,像上面这篇教程出现的步进电机,是为神马?

弘毅 发表于 2013-3-18 09:26:43

要相信 发表于 2013-3-17 22:25 static/image/common/back.gif
想问个白痴问题,我自己在fritzing里画图,但是搜索不到5线,像上面这篇教程出现的步进电机,是为神马?

额。。这种库很多时候要找对应的库,如果找不到就需要自己画。

玄冰之神 发表于 2013-4-18 10:54:08

:lol:lol:lol:lol我要看遍极客工坊的所有帖子。。。加油中

学长 发表于 2013-4-18 22:33:19

请问下 这个 电位计 的规格?谢谢
套件里的 wxd3-13-2w 能用吗?
10k 欧姆的那个

弘毅 发表于 2013-4-19 16:22:22

学长 发表于 2013-4-18 22:33 static/image/common/back.gif
请问下 这个 电位计 的规格?谢谢
套件里的 wxd3-13-2w 能用吗?
10k 欧姆的那个

可以的,10K刚好

yhy1993226 发表于 2013-4-24 21:28:14

弘毅老师,请教一下,我是一个六线的步进电机,但是我想把两根VCC端的线接在一点来控制,变成一个拟5线的步进电机,这样可以么???或者我看有人用L298N不接VCC端直接控制五线,那六线可以这样么??

弘毅 发表于 2013-4-24 21:58:15

yhy1993226 发表于 2013-4-24 21:28 static/image/common/back.gif
弘毅老师,请教一下,我是一个六线的步进电机,但是我想把两根VCC端的线接在一点来控制,变成一个拟5线的步 ...

{:soso_e136:} 6线的还没玩过。。。。

yhy1993226 发表于 2013-4-25 22:40:33

弘毅 发表于 2013-4-24 21:58 static/image/common/back.gif
6线的还没玩过。。。。

那五线的可以空置VCC那根线么???哎,主要是我五线的驱动板有,但是我想用的是六线的42。。。。看来没办法,只有重新去买块驱动了。。。不过谢谢老师回复啊:lol

万马奔腾 发表于 2013-5-4 22:36:03

照着做了,但是有以下情况是否正常:
1.电机拿在手上感觉有抖动,没有转动时也有;
2.运行一会,电机有点发热的;
以上情况不知是哪儿的问题,能实现视频上的功能

chqiyi 发表于 2013-5-4 23:25:08

本帖最后由 chqiyi 于 2013-5-4 23:27 编辑

请问弘毅老师,0022版本的编译器在哪里可以下载?
页: 1 [2] 3 4 5 6
查看完整版本: arduino学习笔记17 - 步进电机试验