无刷电机控制的书

[复制链接]
 楼主| qq2941070113 发表于 2013-7-2 21:25 | 显示全部楼层 |阅读模式
想写本无刷电机控制的书, 不知道有没有人感兴趣了. 感兴趣就回贴. 回贴多了,我才有动力去写.
logokfu 发表于 2013-7-2 21:32 | 显示全部楼层
支持
 楼主| qq2941070113 发表于 2013-7-2 21:39 | 显示全部楼层
忘记了说一句, 写好了免费给网友下载
huangxz 发表于 2013-7-2 22:51 | 显示全部楼层
网上已经很多了啊,如果没有的深度,建议不要浪费时间了啊
二月十五 发表于 2013-7-3 17:37 | 显示全部楼层
支持免费给网友下载
 楼主| qq2941070113 发表于 2013-7-3 21:02 | 显示全部楼层
网上的书,写得太复杂了,想把内容写简单些.
qingqiu647 发表于 2013-7-3 23:31 | 显示全部楼层
支持,哈哈,想看看
 楼主| qq2941070113 发表于 2013-7-4 10:13 | 显示全部楼层
本帖最后由 qq2941070113 于 2013-7-5 09:07 编辑

/*********************************Copyright (c)*****************************/
//
//                              倍工电子
//                              
//                      http://2941070113.qzone.qq.com
//
//项目名称: PWM模拟
//编译环境: keil
//转载请注名出处
//作者QQ: 2941070113
// 本文件是只是讲PWM的基本原理. 不能用于项目.
/***************************************************************************/
//==================================================================
//模拟PWM输出控制灯的10个亮度级别
//==================================================================
#include "reg52.h"                        //包括一个52标准内核的头文件
//------------------------------------------------------------------
#define uchar unsigned char                 //定义一下方便使用
#define uint unsigned int                                //同上
sbit P10=P1^0;                                                                        //要控制的LED灯
sbit K1=P1^7;                                                                                //按键K1
//------------------------------------------------------------------
uchar scale;                                //用于保存占空比的输出0的时间份额,总共10份
//==================================================================
//模拟PWM输出控制灯的10个亮度级别
//==================================================================
void main(void)                                        //主程序
{
        uint n;
        TMOD=0X10;                                                //定时器1工作方式1
        TH1=0xf3; TL1=0x98;
        TR1=1;ET1=1;EA=1;                        //启动定时器,打开定时器0中断,打开总中断
        while(1)                                                        //程序循环
        {;                                                                                //主程序在这里就不断自循环,实际应用中,这里是做主要工作
                for(n=0;n<50000;n++);        //每过一会儿就自动加一个档次的亮度
                scale++; if(scale==10)scale=0;                                                
        }
}
//====================================================================
//1/1200秒定时器2中断
//====================================================================
void timer1() interrupt 3
{
        static uchar tt;                        //tt用来保存当前时间在一秒中的比例位置
        TH1=0xf3; TL1=0x98;
        tt++;
        if(tt==10)                                                //每1/120秒开始输出低电平
                {                tt=0;
                                if(scale!=0)                        //这里加是一句为了消除灭灯状态产生的鬼影
                                P10=0;
                }
        if(scale==tt) P10=1;        //按照当前占空比切换输出高电平
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| qq2941070113 发表于 2013-7-4 10:20 | 显示全部楼层
PWM是电机控制的核心. 市面的书,把PWM讲得太复杂. 搞得初学者太累了.  上面的代码就是51模拟一个pwm. 核心代码其实只有几句话. 当然了,用上面的代码不能用来作项目, 其实用51来电机控制就不是一个很好的选择. 但为了方便入门, 51又是最好的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

112

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部