找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2041|回复: 4
打印 上一主题 下一主题
收起左侧

单片机PWM控制电机原理及程序怎么搞啊

[复制链接]
跳转到指定楼层
楼主
ID:380901 发表于 2018-7-30 15:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
找了好多单片机pwm的资料没有一个能用于实际的,感觉挺简单的就是写不出来。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:380901 发表于 2018-7-30 15:35 | 只看该作者
求大神帮帮忙
回复

使用道具 举报

板凳
ID:379847 发表于 2018-7-30 16:45 | 只看该作者
你先搞了单片机,然后按照你的资料进行写,看看具体困难在哪里 ,在一起讨探吧,共同学习,共勉之
回复

使用道具 举报

地板
ID:310519 发表于 2018-7-31 11:00 | 只看该作者
PWM 控制电机转速,就是通过控制一定频率内的高电平的所占的时间来控制输出电流,

以达到控制转速的目的。

一般的单片机自带PWM功能,但使用比较麻烦,初学者可能看到各种寄存器的操作会头痛。

如果只是理解,可以使用定时器。

定时中断里:

count ++;//计数值加

if (count ==resolution)//计数值达到分辨率的值时
{
    count =0;
}

if ( count <setting)//计数值小于设置值时
{
    GPIO =1; // 输出高电平
}
else{//否则
   GPIO =0;//输出低电平
}

定时时间和resolution决定PWM频率,setting决定高电平时间。
回复

使用道具 举报

5#
ID:381211 发表于 2018-7-31 11:45 | 只看该作者
附一个PIC单片机的程序,建议看PIC单片机datasheet进行理解,datasheet有PWM设置步骤解说.

/*该程序用于使CCP1 模块产生分辨率为10 位的PWM 波形,占空比为50%*/
/*CCP1 模块的PWM 工作方式初始化子程序*/
void CCP1INIT()
{
CCPR1L=0X7F;
CCP1CON=0X3C; /*设置CCP1 模块为PWM 工作方式,且其工作
*循环的低2 位为11,高8 位为01111111=7F*/
INTCON=0X00; /*禁止总中断和外围中断*/
PR2=0XFF; /*设置PWM 的工作周期*/
TRISC=0XFB; /*设置CCP1 引脚为输出方式*/
}
/*主程序*/
main()
{
CCP1INIT(); /*CCP1模块的PWM 工作方式初始化*/
T2CON=0X04; /*打开TMR2,且使其前分频为0,
*同时开始输出PWM 波形*/
do
{
单片机学习指南资料提供:上海齐济电子有限公司
.8.

}while(1); /*系统开始输出PWM 波形。如果系统是
*多任务的,则可以在此执行其它任务,而
*不会影响PWM 波形的产生*/
}
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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