机器人论坛
直播中

沈媛

9年用户 43经验值
擅长:测量仪表 嵌入式技术 接口/总线/驱动 控制/MCU
私信 关注
[经验]

卡酷机器人试用(二):直流减速电机驱动

本帖最后由 abcxx41483 于 2015-3-5 09:54 编辑

卡酷试用装提供的电机是普通的直流减速电机,不带位置反馈,只有两个直流电机线圈出线。今天用5&6以及9&10两组带有PWM输出功能的数字I/O来驱动两个直流减速电机,写了一个简单的代码,向前运动5s,再向后运动5s。
发现了两个问题:
1.在数字I/O 5V的驱动电平下电机的动力比较差,转速较慢,容易堵转
2.同样的驱动电平,两个电机的转速相差比较大
我想如果想增强驱动能力还是要外加一些驱动电路。补充:今天又仔细看了下板子,有一颗L293D驱动芯片,应该是用来驱动直流电机的,之前的使用方法不对,应该用AO1, AO2以及 BO1,BO2来驱动直流电机,后边我研究下具体的驱动,再来更新。
  1. //***************** START *****************//
  2. // PWM pin 5&6 to drive motor 1
  3. // PWM pin 9&10 to drive motor 2
  4. int Mot1A = 5;
  5. int Mot1B = 6;
  6. int Mot2A = 9;
  7. int Mot2B = 10;
  8. void setup()
  9. {
  10.   // put your setup code here, to run once:
  11.   // Congfigure Motor1
  12.   pinMode(Mot1A, OUTPUT);
  13.   pinMode(Mot1B, OUTPUT);
  14.   // Congfigure Motor2
  15.   pinMode(Mot2A, OUTPUT);
  16.   pinMode(Mot2B, OUTPUT);  
  17. }

  18. void loop()
  19. {
  20.   // Run forward 5 seconds
  21.   analogWrite(Mot1A, 1023);
  22.   analogWrite(Mot1B, 0);
  23.   analogWrite(Mot2A, 1023);
  24.   analogWrite(Mot2B, 0);
  25.   delay(5000);
  26.   
  27.   // Run backward 5 seconds
  28.   analogWrite(Mot1A, 0);
  29.   analogWrite(Mot1B, 1023);
  30.   analogWrite(Mot2A, 0);
  31.   analogWrite(Mot2B, 1023);
  32.   delay(5000);
  33. }
  34. //************ End of file *************************//

另外附上我网上找到的一个nano v3.0的电气原理图供参考:

ArduinoNano30Schematic.pdf (59.66 KB)
(下载次数: 23, 2015-3-3 13:23 上传)







回帖(5)

李鸿

2015-3-4 09:19:27
猴赛雷。。。虽然看不懂。。。
举报

h1654155216.9102

2015-3-9 09:16:40
受到警告
提示: 作者被禁止或删除 内容自动屏蔽
举报

sg280977185

2015-4-3 22:32:08
好厉害的样子哟
举报

yenik

2016-1-7 14:46:30
谢谢分享,学习学习
举报

更多回帖

发帖
×
20
完善资料,
赚取积分