//任务:通过按钮控制电机启停和正反转,通过电位计调节电机转速。
int K1=5; //把K1(正转)按钮连在数字端口5
int K2=6; //把K2(反转)按钮连在数字端口6
int K3=7; //把K3(停止)按钮连在数字端口7
int potpin = 3; // 把电位计连在模拟端口3
int A=2; //数字端口2、3控制电机启停和转向
int B=3;
int PWMpin = 9; // 数字端口9输出PWM信号,控制电机转速
//初始化
void setup()
{
pinMode(K1,INPUT);//把数字端口5、6、7设置输入模式
pinMode(K2,INPUT);
pinMode(K2,INPUT);
pinMode(A,OUTPUT);//把数字端口2、3设置输入模式
pinMode(B,OUTPUT);
}
//主程序
void loop()
{
//如果按下K1(正转)按钮
if(digitalRead(K1)==LOW)
{
//电机正转
digitalWrite(A,HIGH);
digitalWrite(B,LOW);
}
//如果按下K2(反转)按钮
if(digitalRead(K2)==LOW)
{
//电机反转
digitalWrite(A,LOW);
digitalWrite(B,HIGH);
}
//如果按下K3(停止)按钮
if(digitalRead(K3)==LOW)
{
//电机停止
digitalWrite(A,LOW);
digitalWrite(B,LOW);
}
int sensorValue = analogRead(potpin); //读取电位计采样值
sensorValue = sensorValue/4; // 采样值 0-1024 转换为 0-255
analogWrite(PWMpin, sensorValue);//把处理后的转换值以PWM信号形式输出
delay(20);//延时
Arduino,是一块基于开放源代码的USB接口Simple i/o接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境让您可以快速使用Arduino语言与Flash或Processing…等软件,作出互动作品Arduino可以使用开发完成的电子元件例如Switch或sensors或其他控制器、LED、步进马达或其他输出装置
控制步进电机只转一个方向的方法是通过Arduino给步进驱动器的方向信号始终保持一种状态,低电平或者高电平。而脉冲口的脉冲频率决定电机的转速,脉冲数量决定电机的旋转角度。
步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,是现代数字程序控制系统中的主要执行元件,应用极为广泛。。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定
首先,楼主要明白步进电机的控制原理。步进电机都是通过脉冲信号控制的,脉冲信号经过信号隔离放大(达到驱动电机的电压)来驱动控制步进电机。比如图中的步进电机就是四根信号线,一个接地线。因此就有两个问题:产生控制脉冲和脉冲信号的放大。产生脉冲可以用arduino来做,放大电路则可以自己设计用L298、uln2003或者其他电路。74HC595是将串行输入的8位数字,转变为并行输出的8位数字信号的芯片,其本身驱动能力很弱,但是经过放大后就可以驱动步进电机了。另外,74HC595可以用来扩展arduino的io口。 查看更多答案>>
步进电机是通过脉冲信号控制的,脉冲信号经过信号隔离放大,达到驱动电机的电压来驱动控制步进电机。用一块Arduino板同时控制四个步进电机,只需要解决两个问题,即产生控制脉冲和脉冲信号的放大。产生脉冲可以用Arduino来做,放大电路则可以自己设计用L298、uln2003或者其他电路。
以上就是关于用arduino如何实现太阳跟踪ad值和电机的正反转 转动的角度该怎么思考全部的内容,包括:用arduino如何实现太阳跟踪ad值和电机的正反转 转动的角度该怎么思考、如何用arduino控制步进电机反向转动、arduino uno怎么用sbt0811控制28by-48步进电机等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)