历史上的今天
今天是:2024年11月27日(星期三)
2019年11月27日 | 单片机控制无刷电机初步调试成果和学习经历
2019-11-27 来源:51hei
调了一天多的无刷电机,用的无刷电调,其实本来应该是用32做的,但是不知道原理, 于是用了比较熟悉的51单片剂一下来进行调试 一下,查询的资料,还是蛮简单的,但是实际操作并没有那么容易, 在网上查也没有能用的程序,尤其是51,因为基本用无刷的都是无人机 四六轴。所以今天贴上我的程序,分享给大家,希望能对各位减少时间学习,快速上手,本程序实现的功能是在第一次给无刷电机上电后,首先拉高油门,然后降低油门,最后满开油门,注意,,,,注意,,,,注意,一定不要用带螺旋桨的无刷电机来实验,危险,开机后会全速运行,我开全速是为了用涵道,所以全速,,
废话不多说,贴程序
51单片机源程序如下:
/**************************************************************************/
//-----------------直流电机PWM调速实验程序----------------//
//测试单片机:STC89C52
//晶振:11.0592M (外部)
//复位方式:内部复位
//调试环境:KEIL3
//硬件测试环境:使用“清翔电子”单片机开发板测试通过
//程序功能: PWM也就是脉宽调制,是指在周期脉冲信号频率不变的情况下,改变高电平
//
// 和低电平的比例,也就是改变占空比。PWM在灯具调光,直流电机调速方面
//
// 有着广泛的应用。程序使用定时器0中断模拟PWM定时,S2、S3 两个独立按
//
// 键控制电机速度,为使演示结果明显,PWM输出
//
// 到整个P1接口,通过板上的LED灯可以看到亮度的变化。
//
/****************************************************************************/
#include typedef unsigned char uint8; typedef unsigned int uint16; sbit down = P3^0; sbit up = P3^1; uint8 t = 0; uint8 PWM_T = 0; //占空比控制变 uint8 pwm_init_ready; void delay_1ms(uint16 t) { uint16 x,y; for(x=t;x>0;x--) for(y=120;y>0;y--); } /**************************************************** 主程序 ****************************************************/ void main(void) { TMOD = 0x02; //定时器0,工作模式2,8位定时模式 TH0=(65536-20000)/256;// ?????11.0592,???????46080,?????50000????????? TL0=(65536-20000)%256;//46080???,?50000*11.0592/12 TR0=1; //启动定时器 ET0=1; //允许1定时器0中断 EA=1; //允许总中断 P1=0xff; //初始化P1,输出端口 PWM_T=19; delay_1ms(1000); PWM_T=11; while(1) { // delay_1ms(3000); PWM_T=48; /* if(!up) { if(PWM_T<200) { PWM_T++; } while(!up); delay_1ms(10); } if(!down) { if(PWM_T>0) { PWM_T--; } while(!down); delay_1ms(10); }*/ } } timer0() interrupt 1 { t++; //每次定时器溢出加1 TH0=(65536-20000)/256;// ?????11.0592,???????46080,?????50000????????? TL0=(65536-20000)%256;//46080???,?50000*11.0592/12 if(t==200) //PWM周期 100个单位 { t=0; //使t=0,开始新的PWM周期 P1=0xff; //输出端口 } if(t==PWM_T) //按照当前占空比切换输出为高电平 ……………………
上一篇:基于单片机的电子密码锁全套设计
史海拾趣
|
1 引言 生化反应池在水处理过程中非常重要。需要通过调整风机的转速控制反应池中的DO值。理论上应该通过调节电动机的转速来实现,但实际上却是利用挡板阀门后者放空的方法进行调节。这种方法极大地浪费了电力资源。以美国TI公司推出的TMS320LF240 ...… 查看全部问答> |
|
WSN / ZigBee 开源协议栈 1. msstatePAN http://www.ece.msstate.edu/~reese/msstatePAN/ Last Updated: Mar 6, 2007 较为简单,容易上手。附带一个较为详细说明文档。整个协 ...… 查看全部问答> |
|
我想在一个多任务程序中用udp方式实现任务之间的通信,应该属于在本地机上实现通信,不知道怎么做啊,把ip设成一样的127.0.0.1就可以了吗?… 查看全部问答> |
|
最近想布一个BGA芯片的板子,但是看很多的bga芯片扇出的都是过孔 为什么扇出的是过孔呢,如果扇出一部分盲孔的话岂不是更容易布线吗, 我看一些电脑主板或显卡等一时这样的,扇出全是过孔,这样要浪费很多 的布线,而且听说盲孔比过孔更能提高板 ...… 查看全部问答> |
|
请教一下DSP2812与RTL8019进行以太网通讯问题请教,谢谢了! 菜鸟刚开始使用DSP,想请教各位高手一下,DSP2812与8019网卡芯片是如何进行数据传输的,并且如何实现的通过2812给8019的寄存器进行配置? 我看了份示例代码,其中直接在DPS程序中,按照8019寄存器地址进行了宏定义的17个地址空间,当传输数据时, ...… 查看全部问答> |
|
1.致命错误 jpeglib.h没有那个文件或目录 libjpeg62-dev 2..致命错误 libmng.h没有那个文件或目录 免费下载地址在 http://linux.linuxidc.com/ 用户名与密码都是www.linuxidc.com zlib缺失 下载,安装 $tar -xvzf zlib-1.2.3.tar.gz $cd zl ...… 查看全部问答> |




