飞思卡尔那些事之PWM控制直流电机

发布者:心灵捕手最新更新时间:2016-01-19 来源: eefocus关键字:飞思卡尔  PWM控制  直流电机 手机看文章 扫描二维码
随时随地手机看文章
资源:
1、直流电机。当直流电机的接线端电压不同时,会出现正转或反转的状态。如接线柱A和B,当A为高电平,B为低电平时,电机正转;当A为低电平,B为高电平时,电机反转。在电机允许电压范围内,电压越高,输出功率越大,转速越快,反之,输出功率越小,转速越慢。
2、HCS12的PWM输出。通过PWM输出,可以在标准的TTL电平中,输出不同的电压。以控制电机的转速和转动方向。
3、33886。电机驱动芯片,内部集成半H桥。可以通过TTL电平控制V+电平输出。最高频达10KHz。电压范围为0到40V。最大电流为5A。可以工作在-60到125摄氏度的环境下。

方案:
1、HCS12中的PWM模块,通过硬件进行PWM输出。
2、HCS12中的ECT的比较输出模块,通过比较输出进行PWM的输出。
鉴于PWM模块为输出PWM专用模块,通过设置相应寄存器即可实现PWM输出,简单方便,而且精确。故选用PWM模块进行PWM输出。

说明:
1、驱动芯片为33886。
2、16位PWM控制。
3、周期为1MS即输出1KHZ。
4、对齐方式为PWM左对齐方式。
5、输出极性为起始高电平。
6、占空比为0%~100%,在这期间分为10个档。通过按键进行变换,每按下一个按键,占空比提高一档。
7、通过级联方式实现16位PWM输出。
8、通过级联方式实现16位PWM输出。通道PWM01组成通道A;通道PWM23组成通道B;
9、时钟源选择。
  BusBlock:8MHz。
  PWM输出频率:1KHz。
  预分频:16分频    500kHz
   PWMPRCLK=0x66
  分频:50分频 10K
   ClockSX=ClockX/(2*PWMSCLX)
   PWMSCLx=ClockX/ClockSX*2=500k/(10k*2)=25=0x19
  通过两次分频可得通道时钟周期为:100US即10HZ
  通道A时钟频率选择PWMPRCLK和PWMSCLA;
  通道B时钟频率选择PWMPRCLK和PWMSCLB;
  周期计算公式:
   左对齐方式:
    输出周期=通道时钟周期*(PWMPERx+1)
    PWMPERx=输出周期/通道时钟周期-1
     =1MS/10US-1
     =9=0X09
10、占空比设置:
  左对齐起始输出高电平:
   占空比=[(PWMDTYx+1)/(PWMPERx+1)]*100%
   PWMDTYx=占空比*(PWMPERx+1)/100%
   00%:PWMDTYx=0x00
   10%:PWMDTYx=0x01
   20%:PWMDTYx=0x02
   30%:PWMDTYx=0x03
   40%:PWMDTYx=0x04
   50%:PWMDTYx=0x05
   60%:PWMDTYx=0x06
   70%:PWMDTYx=0x07
   80%:PWMDTYx=0x08
   90%:PWMDTYx=0x09
   99%:PWMDTYx=0x0A

CODE:
#include       
#include     
#pragma LINK_INFO DERIVATIVE "mc9s12xs128"
//===========================================================//
//PWM输出,控制直流电机转动方向已经转速
//author: Yangtze
//time:2009/4/17/2:15:45
//===========================================================//
unsigned char Ton[10]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x08,} ;
unsigned int Tperiod=0x09;
void main(void)
{
  PWME=0x00;
  PWMPRCLK=0x66;    //通道时钟预分频, 16分频
  PWMSCLA=0x19;     //时钟A分频 ,  50分频
  PWMSCLB=0x19;     //时钟B分频 ,  50分频
  
  PWMCLK=0x0F;  //PCLK1选择ClockSA,PCLK选择ClockSB
  
  PWMPOL=0x0F;  //起始输出高电平
  PWMCAE=0x00;  //PWM输出左对齐
  PWMCTL=0x3C;  //通8道01级联,通道23级联
  
  PWMPER0=0x00; //级联通道01的周期高字节
  PWMPER1=0x09; //级联通道01的周期低字节
  PWMPER0=0x00; //级联通道23的周期高字节
  PWMPER3=0x09; //级联通道23的周期低字节
  
  PWMDTY0=0x00; //级联通道01的占空比高字节
  PWMDTY1=Ton[8]; //级联通道01的占空比低字节
  PWMDTY2=0x00; //级联通道01的占空比高字节
  PWMDTY3=Ton[0]; //级联通道01的占空比低字节
  PWME=0x0F;
  for(;;);
}

        //后记:
        //以上程序中,因为输出频率不是很高,故8位PWM输出已经够用,上述程序设置通道级联完全是多次一举。
        //在选择级联与否时,一定要具体问题具体分析,不能想当然的使用,否则又可能会造成资源浪费。
        //上述程序中,没有对HCS12进行PLL分频,使得HCS12的BusClock很长,在一定程度上造成了资源浪费。
        //在最后运行过程中,出现了一点小问题,就是,PWM输出周期并补时计划中的1MS,而是3.5MS。示波器应该没有问题,估计是在计算周期的过程中出错,影响了结果输出。
        //朋友,如果和我一样,对单片机感兴趣的话,和我一块检查一下错误的原因吧。看看谁检查到的原因时正确的。嘿嘿。
关键字:飞思卡尔  PWM控制  直流电机 引用地址:飞思卡尔那些事之PWM控制直流电机

上一篇:飞思卡尔那些事之ECT方式检测速度
下一篇:8位单片机的程序优化11条

推荐阅读最新更新时间:2024-03-16 14:44

借助汽车领域 飞思卡尔传感器业务细分市场大步前进
   集微网(微信号:jiweinet)文/刘洋 IHS Technology数据显示,2013年MEMS传感器制造商排名中,飞思卡尔仅以2.83亿美元的收入排名第七,年复合增长上升了8%。对于飞思卡尔在模拟和传感器的业务,不为大多数人所熟知,这是因为其主要应用在汽车领域,飞思卡尔高级副总裁兼模拟和传感器事业部总经理James Bates介绍道。 目前在商用汽车领域中,飞思卡尔商用汽车MEMS排名第二,惯性和压力MEMS排名第三,商用汽车模拟排名第四。这主要是基于以下三个方面: 首先,飞思卡尔可以提供完全的嵌入式系统解决方案。在产品设计中,提供最佳系统性能,最易于设计的Turnkey解决方
[手机便携]
AVR与L298进行直流电机控制
软件环境:icc+avrstudio 打开motor.h更改以下内容即可。 //PD4,PD5 电机方向控制 #define moto_en1 PORTD |= 0x10 #define moto_en2 PORTD |= 0x20 #define moto_uen1 PORTD &=~ 0x10 #define moto_uen2 PORTD &=~ 0x20 软件核心介绍: 通过控制电机的IN1和IN2改变方向, pwm控制速度。 IN1和IN2不同时,电机转动; IN1和IN2相同时,电机急停。 硬件连接电路图 avr+N298控制电机输入信号与电机工作方式 N298电机控制芯片引脚图 电机控制资
[单片机]
AVR与L298进行<font color='red'>直流电机</font>控制
飞思卡尔展示一体化盒子物联网网关方案
飞思卡尔携手Oracle和ARM,定义了一个可扩展、基于标准的平台,可支持安全交付物联网服务 为不断为交付物联网服务构建安全、开放的基础设施,飞思卡尔半导体(NYSE: FSL)日前在2014年飞思卡尔技术论坛中展示了此硬件平台,奠定了“一体化盒子(one box)”理念的基础。 物联网网关在日前开幕的2014年飞思卡尔技术论坛中彰显了其特性,它是一个灵活的硬件平台,配备了多方软件,支持家庭、企业或其他地点最终用户物联网服务的安全交付,从而支持快速部署大量创新的物联网服务。 此平台的展示代表了飞思卡尔一体化盒子计划的重要里程碑。飞思卡尔携手Oracle和ARM,制定这个计划,重点是为物联网服务的交付创建一个安
[物联网]
飞思卡尔推出MM912J637电池传感器
  飞思卡尔半导体近日宣布推出MM912J637智能电池传感器IBS(Intelligent Battery Sensor),用于测量车载铅酸电池电压、电流及温度等参数并计算电池状态。      该器件采用了16比特二阶ΣΔ模拟-数字转换器ADC、可编程增益放大器PGA、可编程唤醒电流定时器(Wake-up Timer)等技术,能够对电池电压、差分电流和温度等数据进行实时监控与精确测量,让司机充分掌控电池状态,从而减少元件故障,确保车辆的燃油经济性水平。   飞思卡尔模拟混合信号及动力部门副总裁兼总经理Gavin Woods透露:“随着电动车与混合动力车电子组成不断提升,以及起动-停车系统的涌现,持续精确监控汽车电池状态
[汽车电子]
东芝为汽车应用推出小型有刷直流电机驱动器集成电路
用于汽车应用,包括控制空调阀和后视镜   东芝公司今日宣布推出“TB9101FNG”和“TB9102FNG”,而这两款产品也成为该公司专为汽车应用打造的小型有刷直流电机驱动器系列中的最新成员。新产品计划于2014年2月投入量产。 运用小型电机的汽车应用,如控制空调阀和后视镜,需要低功耗驱动IC。 新款电机驱动器采用低功耗、细间距的BiCD工艺 打造,可实现低导通电阻,进而降低功耗。采用紧凑封装可将安装面积降至同类产品 的1/3左右,有助于缩小印刷电路板(PCB)的体积。这两种集成电路整合了多个异常检测电路,可帮助改善汽车系统的功能安全性。 “TB9101FNG”可驱动两个电机,而“TB9102FNG”则可驱
[嵌入式]
STM32 Cubemax(六) —— STM32利用定时器编码器模式处理带编码器直流电机
前言 电赛延期了,趁有时间再写点东西吧. 编码器电机配置较为繁琐,本文较长,耐心看下去,一定有收获. 本文适合已经对编码器有所了解的同学观看,如果对编码器原理还不太理解,可以看看CSDN中别人讲编码器的,个人觉得已经讲的十分清楚了,这里主要讲解怎么使用Cubemax去使用编码器 一、硬件准备 本次实验使用的是带增量式AB相霍尔编码器的直流减速电机 简单介绍一下这款电机,减速比为1:30,即输出轴转一圈,电机内部实际转30圈,霍尔编码器为13位编码器,即电机每转,对于编码器有2的13次方的增量.(简单的说,上面那个霍尔编码器检测的圆盘,转一圈,检测13个脉冲) 2.电机所使用的电机驱动为应该大家都十分熟悉的L2
[单片机]
STM32 Cubemax(六) —— STM32利用定时器编码器模式处理带编码器<font color='red'>直流电机</font>
PIC10F320的PWM控制两种方法
第一:工作环境: 编译平台: MPLAB X IDE v4.20 编译器: MPLAB XC8 C Compiler (Free Mode) V1.45 仿真软件版本:proteus 8.6SP2 第二: 1种ADC采集,并控制PWM输出。 1种按键改变PWM输出,0-10%-50%-100%-0循环变换。 仿真ok,未烧录试用。
[单片机]
PIC10F320的<font color='red'>PWM控制</font>两种方法
Spansion与飞思卡尔在层叠封装技术展开合作以减小手机尺寸
配有飞思卡尔 i.MX的 Spansion 闪存使移动设备制造商能够开发 具有最新多媒体功能、尺寸更小的创新设备 中国北京, 2006年9月18日 —— 全球最大的纯闪存解决方案供应商Spansion公司(NASDAQ:SPSN)宣布了一项与飞思卡尔半导体在层叠封装(PoP)闪存领域的合作。层叠封装闪存将帮助手持设备制造商减小无线手持设备的尺寸,并增加更多的多媒体特性和功能,例如数字视频广播、视频会议和基于位置的服务(LBS)等。Spansion闪存产品完全遵从 JEDEC PoP 标准,并已在PoP解决方案中结合了飞思卡尔的 i.MX31 应用处理器。    Spansion与飞思卡尔合作的P
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved