标题: 单片机控制电机的正反转 代码表怎么理解? [打印本页]

作者: azure1986    时间: 2020-3-28 15:42
标题: 单片机控制电机的正反转 代码表怎么理解?
不太理解这里面的正转反转对应的代码是多少,该如何看这个表。
教材里给的正转代码是0x0d,0x07,0x0e,0x0b(1101,0111,1110,1011)
请问反转代码是多少?该怎么理解

51hei图片20200328153611.png (67.48 KB, 下载次数: 146)

51hei图片20200328153611.png

51hei图片20200328153611.png (67.48 KB, 下载次数: 112)

51hei图片20200328153611.png

作者: csmyldl    时间: 2020-3-29 02:44
输入的INA INB有四种逻辑状态00 01 10 11对应输出OUTA OUTB也有四状态
00  高阻  好象断线一样
01  A端高 B端低 电机加正转电压
10  A端低 A端高 电机加反转电压
11 A端低 B端低 电机无电压 停转
L298驱动芯片就是这逻辑
作者: xuyaqi    时间: 2020-3-29 09:27
教材给的正转代码是和硬件连接有关系,不能孤立只看软件代码,要和硬件结合来理解。
作者: xianming    时间: 2020-3-29 13:52
电机怎么有刹车??
建议你看一下驱动电机的h桥电路
作者: tyu1    时间: 2020-3-29 19:50
你可以看一下驱动芯片技术手册结合实际硬件电路看会更好
作者: wdm    时间: 2020-3-29 20:41
这是4个输入,输出,INA与inb对应输出AB脚,INC与ICD对应outC和outd
作者: azure1986    时间: 2020-4-3 23:12
csmyldl 发表于 2020-3-29 02:44
输入的INA INB有四种逻辑状态00 01 10 11对应输出OUTA OUTB也有四状态
00  高阻  好象断线一样
01  A端高 ...

教材是普中单片机,我试过教材上的代码,1101,0111,1110,1011能实现正转。教材视频上说直接把前两个AB位替换,后两个CD位替换就能实现反转。但我编程试过不行,电机有回转一步,继续正转的动作。
  1. #include "reg52.h"
  2. #define smotor P1
  3. unsigned char code step[8]={0x0d,0x07,0x0e,0x0b,0x0e,0x0b,0x0d,0x07};
  4. void delay(unsigned int a)
  5. {while(a--);}

  6. void main()
  7. { char i,j;
  8.       for(i=0;i<8;i++)
  9.   {
  10.    P1=step[i];
  11.    for(j=0;j<10;j++)
  12.    {delay(5000); }
  13.    }
  14. }
复制代码


作者: azure1986    时间: 2020-4-3 23:13
xuyaqi 发表于 2020-3-29 09:27
教材给的正转代码是和硬件连接有关系,不能孤立只看软件代码,要和硬件结合来理解。

我学的是普中51单片机,但是根据视频里的教学,能实现正转,但反转不行。
作者: azure1986    时间: 2020-4-3 23:13
wdm 发表于 2020-3-29 20:41
这是4个输入,输出,INA与inb对应输出AB脚,INC与ICD对应outC和outd

如何实现他们的反转?
作者: azure1986    时间: 2020-4-3 23:15
xianming 发表于 2020-3-29 13:52
电机怎么有刹车??
建议你看一下驱动电机的h桥电路

我也觉得奇怪。我看网上的步进电机资料,正转只要一个高电平就够了,轮替;步数多的一个高电平,接着紧邻的两个高电平拉动转子转动。
作者: azure1986    时间: 2020-4-4 09:59
xuyaqi 发表于 2020-3-29 09:27
教材给的正转代码是和硬件连接有关系,不能孤立只看软件代码,要和硬件结合来理解。

已经搞定了。把代码1101,0111,1110,1011,顺序反过来就行,1011,1110,0111,1101
作者: 湖南    时间: 2020-4-14 21:37
不同方向输出电平就可以




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1