极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 17752|回复: 6

怎样用Arduino通过PWM方法调整电机转速,求大神!!!

[复制链接]
发表于 2015-10-28 17:57:29 | 显示全部楼层 |阅读模式
怎样用Arduino通过PWM方法调整电机转速,求代码!!!
回复

使用道具 举报

发表于 2015-10-28 18:40:31 | 显示全部楼层
本帖最后由 顺子 于 2015-10-28 18:41 编辑

这个是51的程序,我没有使用过Arduino,单我觉得应该是一样的。所以代码贴给你看看
希望对你有用
sbit PWM=P0^4;
sbit key_inc = P3^4;
sbit key_dec = P3^7;
#define MAX_SPEED 80 // 最高占空比
#define MIN_SPEED 30 //最低占空比

void Timer0Int() interrupt 1
{
        TH0=(65536-(FOSC/12*TIME_US)/1000000)/256;
        TL0=(65536-(FOSC/12*TIME_US)/1000000)%256;
        timer1++;  
        if(timer1>100)  //PWM周期为100*0.05ms
        {
                timer1=0;
        }
        if(timer1 < speed)        //改变speed这个值可以改变直流电机的速度
        {
                PWM=1;
        }
        else
        {
                PWM=0;
        }  
}

void KeyScan(void)
{
                if(key_inc==0)
                {
                       
                        Delayms(5);
                        if(key_inc==0);
                        {       
                            while(key_inc==0);
                                speed++;
                                if(speed > MAX_SPEED)        speed = MAX_SPEED;
                        }
                }
                        if(key_dec==0)
                {
                        Delayms(5);
                        if(key_dec==0);
                        {
                            while(key_dec==0);
                                if(speed <= MIN_SPEED)        speed = MIN_SPEED;
                                speed--;       
                        }
                }
}

回复 支持 反对

使用道具 举报

发表于 2015-10-29 10:55:50 | 显示全部楼层
void setup ()
{
  pinMode(6,OUTPUT);   
}
void loop()
{
int n;
analogWrite(6,n);               //使用PWM控制6号口输出,变量n的取值范围是0-255
}
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-5 13:18:19 | 显示全部楼层
雨中漫步 发表于 2015-10-29 10:55
void setup ()
{
  pinMode(6,OUTPUT);   

嘿嘿 谢谢啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-11-5 23:30:46 | 显示全部楼层
顺子 发表于 2015-10-28 18:40
这个是51的程序,我没有使用过Arduino,单我觉得应该是一样的。所以代码贴给你看看
希望对你有用
sbit PW ...

谢谢了 嘿嘿
回复 支持 反对

使用道具 举报

发表于 2016-2-27 10:54:14 | 显示全部楼层
新手 路过 学习学习。谢谢!
回复 支持 反对

使用道具 举报

发表于 2016-3-2 14:12:26 | 显示全部楼层
arduino基础代码吧
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 21:20 , Processed in 0.040239 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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