历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2018年03月25日 | 基于仪表电机驱动芯片MC33991的车速表设计

2018-03-25 来源:eefocus

    步进电机式仪表与模拟电路电子式仪表相比,其分度均匀,指针的重复性能好、响应速度快、抖动小、产品品质的稳定性和可靠性有根本保证[1] ,因此步进电机式汽车仪表在我国逐渐普及。这种汽车仪表通常采用微控制器驱动步进电机带动仪表指针转动。微控制器控制步进电机一般需要外加驱动电路,而采用专用的汽车仪表步进电机驱动集成电路可以简化汽车仪表的软硬件设计,提高仪表的稳定性和可靠性。本文介绍并比较了国内常用的驱动器的性能特点,最后以飞思卡尔半导体生产的MC33991为实例设计了车速表。

 

    1 常用仪表电机驱动芯片特点及性能比较

    国内常用的仪表步进电机驱动芯片包括瑞典SWITEC公司的X12.017、伟盈集团生产的VID66- 06和美国飞思卡尔公司生产的MC33991等。

    1.1 X12.017与VID66- 06的主要特点

    SWITEC公司生产的X12.017在国内应用较广,可以同时驱动4路十字线圈步进电机。VID66- 06控制方式和X12.017完全相同,其各项性能参数也基本相同。它们的主要特点如下。

    a.以微步驱动,每个脉冲对应电机输出轴转动(1/12)°。

    b.每个电机只需要速度和方向2个控制端。

    c.所有输入脚都有干扰过滤器;低电磁干扰辐射。

    d.工作温度在- 40~105℃;工作电压4.5~5.5 V.

    这种驱动器控制简单,输入信号CW/CCW控制步进电机的转动方向,输入信号F( scx)的上升沿驱动电机转动一个微步。通过发送脉冲的频率可以控制电机的转动速度。

    1.2 MC33991的主要特点

    MC33991是单独封装,通过SPI (串行外设接口)进行通信,可同时控制2个步进电机的驱动电路。该电路也可以仿照气隙磁通的运动,把普通电机转化为步进电机来控制。它有以下主要特点[3].

    a.有4 096个静态指示位置,接收位置命令后驱动指针指示。

    b.最大指针扫过范围340度;最大指针速度为400 deg/s;最大指针加速度为4 500 deg/s.

    c.应用微步距控制技术(每步细分为12个微步)。

    d.指针回零校准,能准确地回零。

    e. 16位SPI ( Serial Peripheral Interface) ,通信占用较少的I /O口。

    f.内部时钟校准功能;睡眠模式下的耗电量较小。

    g.工作温度- 40~125℃;供电电压范围6.5~26 V。

    MC33991可设定步进电机最大转速。其具有内部状态机,保证在正常操作时,驱动器接收到位置命令后,以恒定加速度到达最大速度,然后在合适的时间减速,并保证减速过程中不超过最大减速度,到达指定位置后速度等于零,避免指针抖动。此外, MC33991可以允许2个步进电机或其中之一工作。其内部诊断功能可诊断单个步进电机是否过热、电池电压过高或者过低、指针归零状态驱动器内部时钟的工作状态、确定仪表的指针是否在转动。由以上性能特点可以看出, MC33991比X12.017和VID66-06功能更丰富,如过电压和过热诊断功能、回零校验功能。且使用X12.017和VID66-06作为驱动时,为使仪表指针运行平滑,必须在微控制器程序中对步进电机速度进行细分,否则容易产生超调抖动。

    2采用MC33991的汽车车速表设计

    汽车在行驶过程中,汽车车速传感器产生频率与汽车车速成正比的脉冲信号,此脉冲信号经过滤波放大后送给微控制器,微控制器利用输入捕捉通道捕捉2次脉冲信号的间隔时间,并根据间隔时间计算汽车行驶速度。最后,微控制器把计算得到的速度转换成位置命令发送给MC33991, MC33991驱动步进电机指向对应的刻度。

    本设计选用微控制器MC68HC908GR16作为主控芯片,采用SWITEC公司生产的仪表用步进电机X15.288作为执行器。MC68HC908GR16是飞思卡尔半导体公司生产的8位微控制器,片内具有16 KBFLASH存储器和1 KB RAM存储器。其内部锁相环( PLL)可以把外部32.768 kHz晶振频率升频至8 MHz内部总线频率。微控制器内部集成了增强的串行通信模块( ESCI)、8路10位A/D模块、SPI模块、8位键盘模块,拥有2个独立的16位定时器,每个定时器都由1个定时计数器和2个输入输出通道组成。其内部还集成了定时基模块,可以定时把微控制器从STOP模式中唤醒。

    MC33991内部有6个寄存器,微控制器通过发送16位的SPI命令到这些寄存器来控制并读取MC33991的工作状态。16位SPI数据的15~13位是地址, MC33991接收到微控制器的命令后,把命令的15~13位与这些地址对比,并把数据放到对应的寄存器。这些寄存器的地址与功能如表1所列。微控制器通过这些寄存器来控制电机的最大速度、指针位置、指针回零,并读取电机的运行状态、线圈是否过热、电压是否过高或过低。

    2.1硬件电路设计

    硬件电路包括速度传感器信号调理电路、微控制器与MC33991的接口电路。

    2.1.1速度脉冲检测电路

    车速传感器把车速信号转化为脉冲信号,其频率与车速成正比。此脉冲信号经过调理电路送给单片机的T1 CH0 ( Timer 1 channel 0) ,速度脉冲的调理电路如图1所示。在没有脉冲信号输入时,三极管集电极和发射极关断,脉冲调理电路输出高电平。有脉冲输入时,三极管导通,调理电路输出跳变到低电平。

    2.1.2 MC33991接口电路

    微控制器MC68HC908GR16与MC33991利用串行外设接口SPI通信。微控制器、MC33991和仪表用步进电机的接口电路如图2所示。

MC33991内部寄存器
表1 MC33991内部寄存器

速度传感器信号调理电路图
图1 速度传感器信号调理电路图
 
MC33991与MCU接口电路图
图2 MC33991与MCU接口电路图


    MC68HC908GR16的SPI时钟引脚SPSCK、主机数据输入从机输出引脚MISO、主机数据输出从机输入引脚MOSI和I /O引脚PTC5, 分别接MC33991的SCLK、SO、SI、CS引脚, RSTB引脚与单片机的RST引脚连接。

    2.2 软件设计

    2.2.1 SPI通信程序

 

    微控制器MC68HC908GR16 上电后要初始化MC33991。MC68HC908GR16的SPI设为主模式。发送数据的格式要符合MC33991接、发数据的时序,MC33991收发数据的时序如图3所示。SPI无数据传输时CS=1, 时钟信号保持低电平。有数据传输时,MC33991的SI引脚在SCLK时钟的下降沿读入1位数据, 而输出引脚SO在时钟的上升沿输出数据。设MC68HC908GR16的SPCR寄存器时钟极性位COPL=0,时钟相位控制位CPHA=1。设引脚PTC5方向寄存器DDRC5=1, 设为输出。不与MC33991通信时令PTC5保持高电平。MC33991每次接收的数据必须是16,32, 48?位。


MC33991初始化流程
      2.2.2 MC33991初始化流程

    MC33991的初始化流程图如图4所示。微控制器先向PECCR发送命令关闭步进电机, 并在2个电机停止转动的情况下发送时钟校正命令。经过时钟校正后, MC33991内部时钟稳定在1 MHz ( ±10%) ,校正时钟后使能电机, 可允许2个或者其中一个工作, 然后向寄存器RTZCR发送命令设置指针回零速度, 向VECR寄存器发送命令控制电机的最大转速。如果步进电机回零时指针不在一个整步位置或者磁场排列没有对齐, MC33991回零检测会发生错误,导致回零失败。所以在发送电机回零命令前, 先使电机前进24微步或者30, 36, 42?微步, 以保持磁场排列整齐, 然后发送指针回零命令, 指针转向电机的逆时针极端。每一时刻只能有一个指针回零,微控制器检测回零状态直至回零结束。

    初始化时需要注意, 时钟校正可选为1 MHz,单片机发送完时钟校正命令后拉低引脚, 延时8 μs后再将其拉高。如果电机的齿轮减速比较低则选择0.667 MHz, 这种情况需要延时12 μs。

    2.2.3 车速检测

    MC33991初始化后设MC68HC908GR16的定时器1通道零为输入捕捉模式, 在输入脉冲的下降沿进入捕捉中断, 并计算2次下降沿的计数差值Δt。本设计的车速仪表盘的最大车速为120 km/h,最高速度与最低速度对应刻度盘的夹角为225 °, 对应MC33991的静态指示位为2 700。

    汽车行驶速度可以利用以下公式计算


式中: n———2次速度脉冲间隔内计数器的计数值之差; T———微控制器计数器时钟源的周期;D———车轮外径; μ———汽车轮胎变形系数( 一般取0.93~0.96) ; N———车轮转一周, 车速传感器发送的脉冲数。
 
微控制器根据计算得到的速度在仪表盘上的位置, 计算出MC33991的静态指示位置, 并把静态指示位发给MC33991, MC33991驱动仪表指向指定位置。为加快程序运行速度, 先根据车速、汽车车速仪表盘的参数计算出一个常数Con。



式中: vmax———汽车仪表盘指示的最大速度;C———用于调整指针指示误差的常数。其中C用来调整车速表的指示位置, 使仪表指示速度不小于汽车的实际速度。车速表指针应指向的位置P0=Δt /Con, 由微控制器直接向MC33991发送此位置( P0) 命令, MC33991接到位置命令后即控制仪表电机旋转, 指向刻度盘的对应位置。

    3 结束语

    本文详细介绍了一种汽车车速表的设计方案,设计采用专用集成驱动芯片MC33991。此表在试验台运行测试时, 指针可以平滑转动, 在加速度较高时也没有超调抖动。与传统机械式仪表相比, 这种仪表响应速度快、抖动小、产品的稳定性和可靠性高。与采用其它驱动芯片的步进电机式仪表相比,首先此表占用硬件资源少, 控制方便, 仪表响应快; 其次能从任意位置以设定的速度恒速回零, 到达零点时无抖动; 最后仪表转动时, 微控制器可以随时通过MC33991读取步进电机的工作状态。


推荐阅读

史海拾趣

FTCAP Fischer & Tausche Capacitor Group公司的发展小趣事

FTCAP Fischer & Tausche Capacitor Group公司的发展故事

故事一:德国制造的坚持

FTCAP Fischer & Tausche Capacitor Group自成立以来,始终坚守在德国本土进行电容器的生产和研发。这一决策源于公司对产品质量的不懈追求。在电子行业,德国制造以其精湛的工艺和严格的质量控制而闻名,FTCAP也不例外。通过缩短研发与生产之间的距离,FTCAP能够确保高效的生产流程和与客户的紧密协作,从而快速响应市场需求,提供高质量的产品。

故事二:多样化的产品线

FTCAP的产品线涵盖了从薄膜电容器到铝电解电容器的广泛范围,满足了不同行业对电容器的多样化需求。公司不仅生产标准规格的电容器,还根据客户的特定需求提供定制化的解决方案。这种灵活性和创新性使得FTCAP在竞争激烈的电子市场中脱颖而出,赢得了众多客户的信赖和好评。

故事三:技术创新与产品升级

近年来,FTCAP不断投入资源进行技术创新和产品升级。例如,公司推出的Enlight Energy Cap系列薄膜电容器,经过重新设计后,不仅性能更加优越,还增加了“Enlight”这一附加属性,进一步提升了产品的市场竞争力。此外,FTCAP还致力于提高电容器的能效和可靠性,以满足日益严格的环保和能效标准。

故事四:行业内的替代解决方案

凭借超过70年的电容器研发和生产经验,FTCAP在行业内建立了良好的声誉。当一些客户面临竞争对手产品无法满足其需求时,FTCAP能够提供定制化的电容器作为替代解决方案。这些定制产品不仅性能优越,而且能够完美匹配客户的设备和应用场景,帮助客户解决燃眉之急。

故事五:团队建设与企业文化

FTCAP的成功离不开其优秀的团队和独特的企业文化。公司注重员工的培训和发展,鼓励员工创新思维和团队合作。在FTCAP,员工们不仅拥有专业的技能和知识,还具备高度的责任感和使命感。他们共同努力,为公司的发展贡献自己的力量。此外,FTCAP还定期举办各种团建活动,增强员工之间的凝聚力和归属感,营造了一个和谐、积极的工作氛围。

天钰(FITIPOWER)公司的发展小趣事

台湾富晶(FORTUNE)公司的发展故事

故事一:初创与先驱之路

富晶电子股份有限公司(Fortune Semiconductor Corp.),中文简称富晶,成立于1995年,总部位于台湾新北市淡水区。作为亚洲最早切入模拟IC设计的先驱之一,富晶自创立之初便专注于电路设计与整合技术。在那个数字科技刚刚起步的时代,富晶凭借其前瞻性的视野和深厚的技术积累,迅速在模拟IC设计领域崭露头角。公司不仅精通电路设计,还擅长将先进的SOC/SIP技术应用于实际产品中,为消费电子、电源管理、家用电器等多个领域提供了高性能的IC解决方案。

故事二:性价比优势与市场拓展

随着消费性电子产品的价格逐渐亲民,富晶的产品因其优良的电路设计和品质,在电源管理IC和电池管理IC等模拟IC领域展现出了强大的性价比竞争力。在过去十年中,富晶成功帮助众多制造商提升了消费性电子产品的价值,推动了手机、笔记本电脑、数码相机等产品的普及。制造商们选择富晶的IC产品,不仅因为其稳定的质量和卓越的性价比,还因为富晶能够持续稳定地供货,满足了市场对高效、可靠电子元件的迫切需求。

故事三:技术创新与产品升级

富晶始终将技术创新视为企业发展的核心动力。公司不断投入研发资源,致力于开发更加先进、高效的IC产品。通过不断优化电路设计、提升制造工艺,富晶成功推出了一系列具有行业领先水平的产品,如FS98O24、FS8855等电源管理IC和电池管理IC。这些产品不仅性能卓越,而且功耗更低、体积更小,满足了市场对电子产品轻薄化、绿色化的需求。

故事四:贴近市场与客户需求

自成立以来,富晶始终秉持着贴近市场、满足客户需求的服务理念。公司密切关注市场动态和客户需求变化,及时调整产品策略和服务模式。通过与客户建立紧密的合作关系,富晶能够深入了解客户的实际需求,为客户提供定制化的解决方案。这种贴近市场的服务模式不仅赢得了客户的信赖和支持,也为富晶在激烈的市场竞争中赢得了宝贵的市场份额。

故事五:全球化布局与未来发展

随着全球化进程的加速推进,富晶也加快了其全球化布局的步伐。公司不仅在国内市场取得了显著的成绩,还积极拓展海外市场,与众多国际知名企业建立了长期稳定的合作关系。同时,富晶还注重与国际先进技术的交流与合作,不断提升自身的技术水平和创新能力。展望未来,富晶将继续秉承“创新、卓越、共赢”的发展理念,致力于成为全球领先的模拟IC设计企业,为电子行业的繁荣发展贡献更多的力量。

Allied Electronic & Semiconductor Technology Inc公司的发展小趣事

近年来,电子行业正经历着深刻的变革,传统半导体市场逐渐饱和,新兴领域如物联网、人工智能等蓬勃发展。面对这一行业变革,AE&ST公司果断进行转型升级。公司调整战略方向,加大在新兴领域的研发投入,同时优化生产流程,降低成本。通过一系列的改革措施,AE&ST公司成功实现了从传统半导体制造商向新兴技术领域的转型。

Ecera Comtek Corp公司的发展小趣事

面对日新月异的电子科技行业,Ecera Comtek Corp公司深知只有持续创新才能保持领先地位。因此,公司不断加大对新技术、新产品的研发投入,积极探索新的商业模式和市场机会。同时,Ecera Comtek Corp公司还积极引进外部创新资源,与高校、科研机构等建立紧密的合作关系,共同推动电子科技行业的发展。在Ecera Comtek Corp公司的引领下,电子科技行业正朝着更加智能、高效、环保的方向发展。

请注意,以上故事均基于虚构情节,旨在模拟Ecera Comtek Corp公司可能的发展经历。如有雷同,纯属巧合。

Hirschmann公司的发展小趣事
虽然TC4013的时钟频率不是直接决定延时时间的因素,但它会影响定时器的触发频率和输出信号的周期。通过调整时钟信号的频率,可以在一定程度上改变输出信号的周期或占空比,从而间接影响定时电路的延时效果。然而,这种方法通常用于调整输出信号的频率特性,而非直接调整延时时间。
华宇创公司的发展小趣事

面对不断变化的市场环境和客户需求,华宇创始终将创新作为企业发展的核心动力。公司不断投入研发资源,探索新的技术方向和应用场景。同时,华宇创还关注行业发展趋势和未来市场需求,及时调整产品策略和市场布局。展望未来,华宇创将继续秉承创新、品质、合作的理念,致力于成为全球领先的智能电子设备供应商和服务商。

问答坊 | AI 解惑

烧写eboot.nb0后系统仍从之前的xip.nb0启动

最近发现一个很奇怪的问题:在使用DNW烧写系统时,先将xip.nb0烧写进去,然后烧写eboot.nb0.但此时系统会自动重启并且加载的还是之前的xip.nb0 初步分析发现eboot下的BootloaderMain();函数根本就没被执行 如下是异常时和成功时的串口信息: 1. ...…

查看全部问答>

关于EVC程序下载到NK内核 下载目标板 无法运行

Windows CE.NET的应用为MyApp.exe 1.将MyApp.exe复制到E:\\PROJECTS\\MyWinCE\\RelDir\\CEPC_X86Release目录下; 2.创建快捷方式文件MyApp.lnk(文本文件),文件内容如下: 10#\\Windows\\MyApp.exe MyApp.lnk文件也放入E:\\PROJECTS\\MyWinC ...…

查看全部问答>

在WINCE设备上,用VS2003开发的程序连接数据库出错,请教高手

在WINCE设备上,用VS2003开发的程序连接WINCE数据库出错,请教高手 SqlCeConnection conn = new SqlCeConnection(\"Data Source = Test.sdf\"); conn.open(); open这里提示出错,但在WINCE设备上只能看到错误号为:-2147467259,就是不知道什么错误. ...…

查看全部问答>

LINK : fatal error LNK1104: cannot open file 'mfcs42d.lib'?????求助!!!

刚装上EVC4.0+SP4,从PB5导出并安装了自己的SDK,然后在EVC建了一个简单的MFC Application,选择SDK后编译后就出现: LINK : fatal error LNK1104: cannot open file \'mfcs42d.lib\' 我查看了我安装的SDK目录下有这个文件,而且在EVC的Include ...…

查看全部问答>

win 2000 不能识别我们的 USB 设备

我们在做一个USB设备的开发,硬件已经成形了。 但是,问题出在: 将该设备插入到XP系统下,系统的资源管理器里边会出现USB的2个未知设备,(我们这一个设备里,有2个Interface) 看每个的属性,PID值也和我们硬件里边写 的一样,然后安装驱动 ...…

查看全部问答>

用IAR for MSP430的JTAG口仿真,出现了问题,求高手指点

我用的是利达尔的MSP430F2274开发板,它上面直接就有JTAG口仿真,然后我就买了一块并口卡插上去,电源灯会亮,但是一直都不能仿真调试,我想是设置的问题,因为并口卡我用它来下载到ARM7上是没问题的,所以在这里求高手指点。 这个就是错误提示。…

查看全部问答>

出YC2440裸板

收了tq2440,这块yc2440的板子就用不到了,这块板子收来就上电看了一下,除POWER灯外D1-D4全亮,片刻后D3熄灭,D4常亮,D1和D2按一定的规律闪烁.此时按K1后D1-D4全灭,再按一下恢复原来来的状态此板子需要折腾一下,主要就是串口没有,需要转接板。有能 ...…

查看全部问答>

不是精品不上传(单片机C语言程序设计实验指导书)

replyreload += \',\' + 1311171;(单片机C语言程序设计实验指导书)Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>

求指导

本人在做一个基于单片机的开关电源的毕业设计,思路是这样的,键盘预置电压,控制单片机进行脉宽调制,使输出电压在大范围内可调,输入220V,输出为3~30V线性可调,不知电路方面该如何设计,请论坛的各位指导指导,由衷感谢!!!…

查看全部问答>

STM32的ADC1和ADC2的采集问题

试了一下STM32的ADC1和ADC2,调试时出现的问题让我不解: (1)只使用STM32的ADC1采集信号,PA.0为其模拟输入通道; 将ADC1配置成独立模式、单通道单次转换、软件触发, 采集到的数据是正确的; (2)只使用ADC2采集信号,与(1)中ADC1的设置完全相 ...…

查看全部问答>