怎样用单片机控制直流电机所转动的角度?

要求在某一位置能精确停下,希望附上汇编程序。谢谢!!!!

怎样用单片机控制直流电机所转动的角度?
----AVR169单片机是新一代RISC结构微控制器,具有高性能、低功耗、非易失性和CMOS技术等特点,AVR169还具有32个寄存器和丰富的指令集,带有四路8/9/10位PWM功能的16位定时器,8道的10位ADC,16KB可编程Flash,1KBSRAM,可以擦写10000次,接近1MIPS/MHZ的运行速度。
AS5040是Austria microsystems公司推出的世界上最小的10位多输出旋转磁性编码器, 是将现场传感霍尔(Hall)元件、A/D转换、数字信号处理和输出接口集成到单个芯片的系统级芯片(SoC),利用其包含的小磁体,可通过磁体的360度旋转探测1024个绝对位置,即每360度提供10位分辨率的1024 个绝对位置,同时提供了积分A/B、单通道和U-V-W交换等三种不同的增量输出模式,既可根据用户的特定要求设置,也可设置为脉宽调制(PWM)输出信号。PWM 数字输出所需外部元件最少,使用方便简单。本装置采用AS5040旋转编码器PWM_LSB端输出PWM脉冲,计算出电风扇摇头偏离初始位置的角度。控制电风扇摇头速度以及使其角度在一定范围内摇动,其工作原理为:把AS5040传感器装在电风扇摇头的转轴上,就能感应出电扇转过的角度与初始位置的夹角,计算出当前风扇摇头的速度,在下一个采样周期到来时,AS5040旋转编码器测得的速度信号及电机位置反馈信号通过AS5040接口反馈到AVR单片机169...
旋转编码器AS5040接口电路设计
AS5040旋转编码器把圆周分成1024份,当转离初始位置后,PWM_LSB端输出PWM脉冲。在0位置处,对应高电平宽度为1us,位置每加1,PWM高电平脉宽相应增加1us。通过对电机PWM的控制可以控制电机的转动,而AS5040旋转编码器随电机转轴转动,可以根据LSB端口输出脉冲计数得出电风扇摇头的速度变化,通过检测PWM_LSB输出脉冲可以得出此时刻转动的位置。AS5040引脚B_Dir_V可以直接检测出电机的正转和反转(输出1为顺时针,0为逆时针转动)。
3966 驱动接口电路设计
AVR 单片机169 输出的脉宽调制( PWM) 信号需经过功率放大才能驱动电机,调速控制系统采用的是3966 驱动芯片, 双极性工作方式是指在一个PWM 周期内电机电枢两端的电压呈正负变化,系统采用的双极性PWM控制,采用PI控制算法进行速度调节。驱动接口电路如图3 所示。单片机PWM引脚PF7直接接电机的ENABLE端,它控制着电机的转速的大小。
直流电机,大体上可分为四类:
  第一类为有几相绕组的步进电机。这些步进电机,外加适当的序列脉冲,可使主轴转动一个精密的角度(通常在1.8°--7.5°之间)。只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动。
  步进电机用微处理器或专用步进电机驱动集成电路,很容易实现控制。例如常用的SAAl027或SAAl024专用步进电机控制电路。
  步进电机广泛用于需要角度转动精确计量的地方。例如:机器人手臂的运动,高级字轮的字符选择,计算机驱动器的磁头控制,打印机的字头控制等,都要用到步进电机。
  第二类为永磁式换流器直流电机,它的设计很简单,但使用极为广泛。当外加额定直流电压时,转速几乎相等。这类电机用于录音机、录相机、唱机或激光唱机等固定转速的机器或设备中。也用于变速范围很宽的驱动装置,例如:小型电钻、模型火车、电子玩具等。在这些应用中,它借助于电子控制电路的作用,使电机功能大大加强。
  第三类是所谓的伺服电机,伺服电机是自动装置中的执行元件,它的最大特点是可控。在有控制信号时,伺服电机就转动,且转速大小正比于控制电压的大小,除去控制信号电压后,伺服电机就立即停止转动。伺服电机应用甚广,几乎所有的自动控制系统中都需要用到。例如测速电机,它的输出正比于电机的速度;或者齿轮盒驱动电位器机构,它的输出正比于电位器移动的位置.当这类电机与适当的功率控制反馈环配合时,它的速度可以与外部振荡器频率精确锁定,或与外部位移控制旋钮进行锁定。
  最后一类为两相低电压交流电机。这类电机通常是直流电源供给一个低频振荡器,然后再用低频低压的交流去驱动电机。这类电机偶尔也用在转盘驱动机构中。
----友情链接    
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-08-10
控制直流电机有点难,步进电机能精确的控制转动的角度和方向,有兴趣可以再联系!
第2个回答  2013-08-10
你需要用到延时指令,
你可以让它做几个空操作指令,执行一条指令一般需要两个机械周期,约等于0.1US,你在通过算速度就可以实现偏程控制了.
第3个回答  推荐于2017-05-16
基于模糊PID的直流力矩电机转速控制。 在分析模糊控制和PID控制结合方式的基础上,设计一个二维模糊PID控制算法,该算法根据误差信号是否达到阈值来决定何时在模糊控制与PID控制之间切换.采用编码器、80196KC单片机、16位D/A转换器和直流力矩电并结合上述控制算法构成直流力矩电机的模糊PID稳速控制系统.通过对标准PID和模糊PID实测数据分析比较说明,模糊PID控制可以达到无超调输出,其调节时间小于标准PID控制的调节时间,稳态误差小于万分之本回答被网友采纳

51单片机按键控制直流电机正反转和快慢
可以利用51单片机实现按键控制直流电机的正反转和速度调整。1. 按键与单片机的连接:首先,需要将按键连接到51单片机的I\/O端口。这些按键可以包括控制电机正转、反转和速度调整的按钮。每个按键对应单片机的一个或多个I\/O位,用于检测按键是否被按下。2. 电机控制逻辑编写:当单片机检测到特定按键被按下时...

单片机怎么控制直流电机正反转电路
单片机控制直流电机正反转电路设计包括电机驱动模块的选取和连接、单片机的引脚配置等。电机驱动模块一般采用H桥驱动芯片,可实现电机的正反转控制。单片机的引脚配置需要根据实际情况进行设置,以实现与电机驱动模块的连接。4.4 单片机控制直流电机正反转电路实现步骤 单片机控制直流电机正反转电路的实现步骤包括硬...

如何用单片机控制直流电机
1、通过设置PWM波的占空比来控制直流电机的转速,占空比越大,转速越快,越小转速越低。2、当然单片机的I\/O口是不能直接驱动电机的,所以你还需要用一个马达驱动芯片。像LG9110、CMO825等。马达驱动IC可以将单片机I\/O输出信号放大,这样电机中流过的电流足够大,电机才能转起来。3、你要是不清除PWM是...

怎样用单片机控制直流电动机
1、通过设置PWM波的占空比来控制直流电机的转速,占空比越大,转速越快,越小转速越低。2、当然单片机的I\/O口是不能直接驱动电机的,所以你还需要用一个马达驱动芯片。像LG9110、CMO825等。马达驱动IC可以将单片机I\/O输出信号放大,这样电机中流过的电流足够大,电机才能转起来。3、你要是不清除PWM是...

51单片机控制直流电机。(c语言控制)
第一种,通过PWM脉宽调制输出方法控制转速,控制占空比的大小可以实现调速!第二种,通过AD转换的方法控制直流电机的电压 第三种,用xtr115程控电流源来控制直流电机(类似第二种方法)如果以上的驱动能力不够的话再加上一个电压跟随器!程序方面就是一个寄存器的配置问题了,你查一下单片机的技术手册上面...

51单片机怎么让直流电机转动
一般而言,所有单片机的端口驱动能力都有限,还有电机的额定电压也许会比单片机的供电电压高,直接驱动电机有困难。这时候要想驱动电机,就必须根据电机的额定电压和额定功率采用合适的功率器件去驱动。下边的电路图是我工程上实际使用的,可以正反转,脉宽调制的话还可以调速。

怎样用单片机来控制电机的方向?
控制电机的方向的话,如果是用步进电机的话,可以控制它的脉序的顺序来控制它的正反转的。但是如果是直流电机的话,是可以通过 电机控制芯片 来控制它的正反转的。如果是步进电机的话,控制它的正反转需要自己写程序,比较麻烦一点,但是容易精确控制它转动的角度,从而控制移动的距离和速度。如果是直流...

51单片机pwm直流电机怎么实现调速和正反转?
1. 首先,我们需要定义一些端口和变量。在这个例子中,我们使用P3.6端口作为按键输入,P2.4端口作为电机控制输出。同时,我们定义了一个变量`key_scan`来检测按键状态,以及`motor_set`和`motor_init`函数来实现电机的初始化和速度设置。```c include sbit key = P3^6;sbit motor = P2^4;unsign...

单片机怎么控制直流电机旋转角度及电机反馈
你好,步进电机可以精确控制角度。直流电机不能。编程使单片机引脚产生PWM波。按照你所用的步进电机的拍子方式进行控制。

怎么通过调节pwm输出来达到控制直流电机转速呢?大家一起帮
具体来说,我们可以通过单片机输出不同占空比的方波信号(即PWM信号)来控制电机两端的电压,进而实现电机转速的控制。PWM信号具有频率和占空比两个参数,其中频率是周期的倒数,占空比是高电平在一个周期内所占的比例。通过改变PWM信号的频率可以实现电机转速的调频,而通过改变占空比则可以实现电机转速的调压...

相似回答