由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
CS版 - [请教]:关于马达控制器
相关主题
microcontroller development kit{help} How can I recover the password of Administrator?
Re: very archaic issue : (转载)问一个简单的C的问题
CENTURYLINK 的猫Q1000只有PWR显示 GREEN, DSL 都不亮是否猫坏 (转载)一个reader-writer的算法问题
google interview, text mining (转载)贴一个review给你们看看吧
真正体验到一把DMA的先进性和优越性 (转载)(C / C++) 关于指针的引用,求助 (转载)
问一问题C++奇怪的问踢
Help for C language蚊子的智力
借问,我这样仿真的思路对不对,关于事件驱动模拟。 (转载)IoT前景如何 现在工作好找吗
相关话题的讨论汇总
话题: channel话题: motor话题: shield话题: arduino
进入CS版参与讨论
1 (共1页)
l***7
发帖数: 960
1
想用一个控制器来控制一个12V 1.5A的直流马达。功能很简单,就是走一定时间,然后
停一定时间。请问除了microcontroller跟电池还需要什么?有什么控制器推荐么?
另外我买了个Arduino Uno R3,直接把马达接PWM好像不行?
谢谢
b********E
发帖数: 121
2
MCU的 IO的驱动电流,typical value less than 50mA.所以不能直接驱动电机, 你如
果只需要让电机单向旋转,你需要用一个能通过大电流的Mosfet或者三极管扩流,如果
需要正反转操作,需要用Mosfet搭H bridge 或者使用现成儿的H bridge芯片, 例如
L298

【在 l***7 的大作中提到】
: 想用一个控制器来控制一个12V 1.5A的直流马达。功能很简单,就是走一定时间,然后
: 停一定时间。请问除了microcontroller跟电池还需要什么?有什么控制器推荐么?
: 另外我买了个Arduino Uno R3,直接把马达接PWM好像不行?
: 谢谢

b********E
发帖数: 121
3
给你个参考吧,这个东西是我高一时候做的,年代久远,但保证能用。 这是H bridge
(L298方案)
控制电机正反转的电路,很稳定,那个robot现在还能用呢
https://sites.google.com/site/urerobots/h-bridgesolution
这个也是我做的,继电器方案:
http://csengineering.blogspot.com/2008/06/extreme-crash-avoidin
电路图哪个地方看不懂,可以私信我,这里回复我怕看不见。

【在 l***7 的大作中提到】
: 想用一个控制器来控制一个12V 1.5A的直流马达。功能很简单,就是走一定时间,然后
: 停一定时间。请问除了microcontroller跟电池还需要什么?有什么控制器推荐么?
: 另外我买了个Arduino Uno R3,直接把马达接PWM好像不行?
: 谢谢

w***g
发帖数: 5958
4
在ebay上找一个L298N的shield, 然后买或者自己山寨.

【在 l***7 的大作中提到】
: 想用一个控制器来控制一个12V 1.5A的直流马达。功能很简单,就是走一定时间,然后
: 停一定时间。请问除了microcontroller跟电池还需要什么?有什么控制器推荐么?
: 另外我买了个Arduino Uno R3,直接把马达接PWM好像不行?
: 谢谢

l***7
发帖数: 960
5
我自己买了一个SainSmart L293D Motor Drive Shield,但是接马达的地方电压基本是
是0。
Motor shield的作用就是把电流放大跟变方向么?

bridge

【在 b********E 的大作中提到】
: 给你个参考吧,这个东西是我高一时候做的,年代久远,但保证能用。 这是H bridge
: (L298方案)
: 控制电机正反转的电路,很稳定,那个robot现在还能用呢
: https://sites.google.com/site/urerobots/h-bridgesolution
: 这个也是我做的,继电器方案:
: http://csengineering.blogspot.com/2008/06/extreme-crash-avoidin
: 电路图哪个地方看不懂,可以私信我,这里回复我怕看不见。

l***7
发帖数: 960
6
这个是自己焊的么?

bridge

【在 b********E 的大作中提到】
: 给你个参考吧,这个东西是我高一时候做的,年代久远,但保证能用。 这是H bridge
: (L298方案)
: 控制电机正反转的电路,很稳定,那个robot现在还能用呢
: https://sites.google.com/site/urerobots/h-bridgesolution
: 这个也是我做的,继电器方案:
: http://csengineering.blogspot.com/2008/06/extreme-crash-avoidin
: 电路图哪个地方看不懂,可以私信我,这里回复我怕看不见。

l***7
发帖数: 960
7
这是我的motor shield的图

【在 l***7 的大作中提到】
: 这个是自己焊的么?
:
: bridge

b********E
发帖数: 121
8
你给这个shield 送上控制信号了么? L298在控制IO都是低电平的时候,马达是不会转
的,所以没电压。
你要是DC电机,你需要用298上的2个IO设置转动方向,另一个IO是 Enable. 也就是你
需要配置3个IO上的控制电平,才能让马达转呢
你买的电路板,电路图应该是这个:
你这个板上有两块298,能控制4个直流电机。我们以控制一个直流电机为例, M1A,
M1B, PWM2A应该是用来控制接在 1Y和2Y之间的马达的。
我们设置M1A和M1B中任意一个为高电平,然后设置PWM2A为高电平,马达就应该转了。
Ps.我没用过Arduino,不过这个程序例子你可能能用:
http://www.ladyada.net/make/mshield/use.html

【在 l***7 的大作中提到】
: 我自己买了一个SainSmart L293D Motor Drive Shield,但是接马达的地方电压基本是
: 是0。
: Motor shield的作用就是把电流放大跟变方向么?
:
: bridge

b********E
发帖数: 121
9
嗯,这个是自己焊的。

【在 l***7 的大作中提到】
: 这个是自己焊的么?
:
: bridge

l***7
发帖数: 960
10
我觉得是有的,这个是他们的例子code,我upload了。
AFMotor.h这个文件也在指定的路径里
#include
AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
void setup() {
Serial.begin(9600); // set up Serial library at 9600 bps
Serial.println("Motor test!");

motor.setSpeed(200); // set the speed to 200/255
}
void loop() {
Serial.print("tick");

motor.run(FORWARD); // turn it on going forward
delay(10000);
}

【在 b********E 的大作中提到】
: 你给这个shield 送上控制信号了么? L298在控制IO都是低电平的时候,马达是不会转
: 的,所以没电压。
: 你要是DC电机,你需要用298上的2个IO设置转动方向,另一个IO是 Enable. 也就是你
: 需要配置3个IO上的控制电平,才能让马达转呢
: 你买的电路板,电路图应该是这个:
: 你这个板上有两块298,能控制4个直流电机。我们以控制一个直流电机为例, M1A,
: M1B, PWM2A应该是用来控制接在 1Y和2Y之间的马达的。
: 我们设置M1A和M1B中任意一个为高电平,然后设置PWM2A为高电平,马达就应该转了。
: Ps.我没用过Arduino,不过这个程序例子你可能能用:
: http://www.ladyada.net/make/mshield/use.html

相关主题
问一问题{help} How can I recover the password of Administrator?
Help for C language问一个简单的C的问题
借问,我这样仿真的思路对不对,关于事件驱动模拟。 (转载)一个reader-writer的算法问题
进入CS版参与讨论
b********E
发帖数: 121
11
你串口上有那些println的输出么?

【在 l***7 的大作中提到】
: 我觉得是有的,这个是他们的例子code,我upload了。
: AFMotor.h这个文件也在指定的路径里
: #include
: AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
: void setup() {
: Serial.begin(9600); // set up Serial library at 9600 bps
: Serial.println("Motor test!");
:
: motor.setSpeed(200); // set the speed to 200/255
: }

b********E
发帖数: 121
12
If you would like to have a single DC power supply for the Arduino and
motors, simply plug it into the DC jack on the Arduino or the 2-pin PWR_EXT
block on the shield. Place the power jumper on the motor shield.
JP1上有条线帽么?

【在 l***7 的大作中提到】
: 我觉得是有的,这个是他们的例子code,我upload了。
: AFMotor.h这个文件也在指定的路径里
: #include
: AF_DCMotor motor(2, MOTOR12_64KHZ); // create motor #2, 64KHz pwm
: void setup() {
: Serial.begin(9600); // set up Serial library at 9600 bps
: Serial.println("Motor test!");
:
: motor.setSpeed(200); // set the speed to 200/255
: }

l***7
发帖数: 960
13
非常感谢热心帮助!
我用的是那个网站上的code,连线也是一致的。
motor.run(FORWARD)这些函数应该是通过的AFMotor.h这个library来设置M1A~B跟PWM2A
这些来控制前进后退的?

【在 b********E 的大作中提到】
: 你给这个shield 送上控制信号了么? L298在控制IO都是低电平的时候,马达是不会转
: 的,所以没电压。
: 你要是DC电机,你需要用298上的2个IO设置转动方向,另一个IO是 Enable. 也就是你
: 需要配置3个IO上的控制电平,才能让马达转呢
: 你买的电路板,电路图应该是这个:
: 你这个板上有两块298,能控制4个直流电机。我们以控制一个直流电机为例, M1A,
: M1B, PWM2A应该是用来控制接在 1Y和2Y之间的马达的。
: 我们设置M1A和M1B中任意一个为高电平,然后设置PWM2A为高电平,马达就应该转了。
: Ps.我没用过Arduino,不过这个程序例子你可能能用:
: http://www.ladyada.net/make/mshield/use.html

l***7
发帖数: 960
14
没有找到有JP1啊,我把12V电源连UNO板上,EXT_PWR的电压大概跟输入电压是一致的。
另外Uno板控制器的图

PWM2A

【在 l***7 的大作中提到】
: 非常感谢热心帮助!
: 我用的是那个网站上的code,连线也是一致的。
: motor.run(FORWARD)这些函数应该是通过的AFMotor.h这个library来设置M1A~B跟PWM2A
: 这些来控制前进后退的?

b********E
发帖数: 121
15
我没用过Arduino, 他这个代码太高度抽象了,看不到硬件细节。 不过根据原理图,这
东西不是直接设置298的M1A/B, PWM2A的,他通过了一个74HCT595,这东西是个串并转换
芯片,把串行信号通过shift reg变成并行信号来节省IO. 也就是说Arduino实际上输出
到Motor shield的是一些串行信号,这些信号通过74HCT595变成了能控制M1A/B, PWM2A
的并行信号。 如果你有 Logic analyzer, 或者 oscilloscope, 你可以看看 原理图
http://www.ladyada.net/images/mshield/mshieldv1-schem.png
595的 Pin 11, 12, 14上有没有串行数据, 特别是Pin 11和 14

PWM2A

【在 l***7 的大作中提到】
: 非常感谢热心帮助!
: 我用的是那个网站上的code,连线也是一致的。
: motor.run(FORWARD)这些函数应该是通过的AFMotor.h这个library来设置M1A~B跟PWM2A
: 这些来控制前进后退的?

l***7
发帖数: 960
16
我没有示波器什么的,只有一个万用表,是出于自己爱好想做一个电控滑轨,可以走走停
停,变向.
我看了下那个AFMotor.h,我的c语言基础实在理解不了.我不太明白为什么挺简单的功能
还要用一个library来实现.直接控制控制器不行么.
我想实在不行就换一个控制器跟motor shield算了,有什么推荐么?
我看到一个Arduino Motor Shield R3,例程看起来简单一些
/*************************************************************
Motor Shield 1-Channel DC Motor Demo
by Randy Sarafan
For more information see:
http://www.instructables.com/id/Arduino-Motor-Shield-Tutorial/
*************************************************************/
void setup() {

//Setup Channel A
pinMode(12, OUTPUT); //Initiates Motor Channel A pin
pinMode(9, OUTPUT); //Initiates Brake Channel A pin

}
void loop(){

//forward @ full speed
digitalWrite(12, HIGH); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 255); //Spins the motor on Channel A at full speed

delay(3000);

digitalWrite(9, HIGH); //Eengage the Brake for Channel A
delay(1000);

//backward @ half speed
digitalWrite(12, LOW); //Establishes backward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 123); //Spins the motor on Channel A at half speed

delay(3000);

digitalWrite(9, HIGH); //Eengage the Brake for Channel A

delay(1000);

}
b********E
发帖数: 121
17
随便用一个原始IO的 L298 模块也行吧,这样你直接设置IO的电平就行了
比如这个 http://www.ebay.com/itm/Dual-H-Bridge-DC-Stepper-Motor-Drive-Controller-Board-Module-L298N-for-arduino-/251080674810?pt=LH_DefaultDomain_0&hash=item3a75930dfa

【在 l***7 的大作中提到】
: 我没有示波器什么的,只有一个万用表,是出于自己爱好想做一个电控滑轨,可以走走停
: 停,变向.
: 我看了下那个AFMotor.h,我的c语言基础实在理解不了.我不太明白为什么挺简单的功能
: 还要用一个library来实现.直接控制控制器不行么.
: 我想实在不行就换一个控制器跟motor shield算了,有什么推荐么?
: 我看到一个Arduino Motor Shield R3,例程看起来简单一些
: /*************************************************************
: Motor Shield 1-Channel DC Motor Demo
: by Randy Sarafan
: For more information see:

a****l
发帖数: 8211
18
你还要怎么简单?

【在 l***7 的大作中提到】
: 我没有示波器什么的,只有一个万用表,是出于自己爱好想做一个电控滑轨,可以走走停
: 停,变向.
: 我看了下那个AFMotor.h,我的c语言基础实在理解不了.我不太明白为什么挺简单的功能
: 还要用一个library来实现.直接控制控制器不行么.
: 我想实在不行就换一个控制器跟motor shield算了,有什么推荐么?
: 我看到一个Arduino Motor Shield R3,例程看起来简单一些
: /*************************************************************
: Motor Shield 1-Channel DC Motor Demo
: by Randy Sarafan
: For more information see:

l***7
发帖数: 960
19
非常感谢指导,吃个包子!
有什么问题再请教~~

【在 b********E 的大作中提到】
: 随便用一个原始IO的 L298 模块也行吧,这样你直接设置IO的电平就行了
: 比如这个 http://www.ebay.com/itm/Dual-H-Bridge-DC-Stepper-Motor-Drive-Controller-Board-Module-L298N-for-arduino-/251080674810?pt=LH_DefaultDomain_0&hash=item3a75930dfa

1 (共1页)
进入CS版参与讨论
相关主题
IoT前景如何 现在工作好找吗真正体验到一把DMA的先进性和优越性 (转载)
有做过电机控制的么,问个back emf控制的问题问一问题
【$】Arduino Uno $14.99 at Micro CenterHelp for C language
【$】Arduino Uno $14.99 at MicroCenter借问,我这样仿真的思路对不对,关于事件驱动模拟。 (转载)
microcontroller development kit{help} How can I recover the password of Administrator?
Re: very archaic issue : (转载)问一个简单的C的问题
CENTURYLINK 的猫Q1000只有PWR显示 GREEN, DSL 都不亮是否猫坏 (转载)一个reader-writer的算法问题
google interview, text mining (转载)贴一个review给你们看看吧
相关话题的讨论汇总
话题: channel话题: motor话题: shield话题: arduino