极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14090|回复: 6

求助 在电机调速时遇到问题

[复制链接]
发表于 2014-11-15 18:53:57 | 显示全部楼层 |阅读模式
我在调速时 使用下列程序是可以实现不同档速度
int IN1=4;
int IN2=5;
int i,q;
void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
Serial.begin(9600);
}
void loop()
{
for(q=0;q<3;q++) //输出设定的低电平次数
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
delay(100);
}
for(q=0;q<2;q++) //输出设定的高电平次数
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
delay(100);
}
}

但是在加入条件后 风扇转速就没有按设定的转,而是直接就最大的速度
这是为什么

#include <dht11.h>
dht11 DHT11;
int IN1=4;
int IN2=5;
int buzzer=8;
int i,q;
float temperature = 0; //设置temperature为浮点变量
#define DHT11PIN 3 //DHT11 PIN 3 连接UNO 3
void setup()
{
pinMode(IN1,OUTPUT);
pinMode(IN2,OUTPUT);
digitalWrite(IN1,HIGH);
digitalWrite(IN2,HIGH);
pinMode(buzzer,OUTPUT);
Serial.begin(9600);
Serial.println("DHT11 TEST PROGRAM ");
Serial.print("LIBRARY VERSION: ");
Serial.println(DHT11LIB_VERSION);
Serial.println();
}
void loop()
{
Serial.println("\n");
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor:OK ");
Serial.print("Humidity (%): ");
Serial.println((float)DHT11.humidity, 2);
Serial.print("Temperature (oC): ");
Serial.println((float)DHT11.temperature-2, 2);
if(DHT11.temperature<20)
{
for(i=0;i<80;i++)//辒出一个频率的声音
{
digitalWrite(buzzer,HIGH);//发声音
delay(15);//延时1ms
digitalWrite(buzzer,LOW);//不发声音
delay(1);//延时ms
}
}
else
{
for(q=0;q<3;q++) //输出设定的低电平次数
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
delay(100);
}
for(q=0;q<2;q++) //输出设定的高电平次数
{
digitalWrite(IN1,HIGH);
digitalWrite(IN2,LOW);
delay(100);
}
}
delay(2000);
}

求解?
回复

使用道具 举报

发表于 2014-11-15 22:21:10 | 显示全部楼层
没看到你设定速度呀,你设速度的语句在哪?
回复 支持 反对

使用道具 举报

发表于 2014-11-15 23:23:28 | 显示全部楼层
不知道你的电机是怎么驱动的,看你程序只有个for里面写的循环开几次,再循环关几次,也不是pwm,毫无意义,
回复 支持 反对

使用道具 举报

发表于 2014-11-16 20:58:23 | 显示全部楼层
主要是因为你的PWM波的频率太低,尝试一下提高PWM波的频率试试
回复 支持 反对

使用道具 举报

发表于 2014-11-20 21:00:18 | 显示全部楼层
论坛有教程,你可以用搜索功能,关键字“pwm”
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-24 11:42:12 | 显示全部楼层
yifabin023 发表于 2014-11-20 21:00
论坛有教程,你可以用搜索功能,关键字“pwm”

  谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-11-24 11:42:27 | 显示全部楼层
四叔第一 发表于 2014-11-16 20:58
主要是因为你的PWM波的频率太低,尝试一下提高PWM波的频率试试

  谢谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-15 23:02 , Processed in 0.037703 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表