资讯详情

用单片机控制直流电机

一、设计方案比较分析: 1、电机调速控制模块: 方案1:使用电阻网络或数字电位器调整电机的分压,以达到调速的目的。但电阻网络只能实现分级调速,数字电阻元件更昂贵。更重要的问题是,一般电机的电阻很小,但电流很大;分压不仅会降低效率,而且很难实现。 方案2:继电器用于控制电机的开关,并通过开关切换调整汽车的速度。该方案的优点是电路相对简单,缺点是继电器响应时间慢,机械结构易损坏,寿命短,可靠性低。 方案三:由达林顿管组成的H型PWM电路。用单片机控制达林顿管,使其在可调开关状态下工作,准确调整电机转速。由于该电路在管道饱和截止模式下工作,效率非常高;H型电路保证了转速和方向的简单控制;电子开关速度快,稳定性好,应用广泛PWM调速技术。 由于方案三调速特性优良,调速平稳,调速范围广,过载能力大,本设计采用方案三。 2、PWM调速工作方式: 方案1:双极工作系统。双极工作系统是在一个脉冲周期中,单片机两个控制端口输出一个控制信号。相反,两个信号的高电平时差决定了电机的转向和速度。 方案二:单极性工作制。单极性工作制是单片机控制口一端低电平,另一端输出PWM信号、输出切换和对PWM电机的转向和了电机的转向和转速。 由于单极工作制电压波开中的交流成分小于双极工作制,电流的最大波动小于双极工作制,因此采用单极工作制。 3、PWM调脉宽: 脉冲调宽有三种方法:定频调宽、定宽调频和调宽调频。我们采用定频调宽法,因为电机运行稳定;单片机产生PWM实现脉冲软件更方便。 4、PWM软件实现方式: 方案1:采用定时器作为脉宽控制的定时方法。这种方法产生的脉冲宽度非常准确,只有几个误差us。 方案二:采用软件延时方式,这一方式在精度上不及方案一,特别是在引入中断后,将有一定的误差。但是基于不占用定时器资源,且对于直流电机,采用软件延时所产生的定时误差在允许范围,故采用方案二。

二、系统分析与设计: 硬件部分的详细框图如图1所示。 单片机通过键盘将相应的控制指令输入到单片机中P2.0与P2.一口输出对应于转速PWM脉冲,另一口输出低电平,驱动H型桥式电机控制电路,通过信号放大和光耦传输实现电机转向和转速控制。电机的运行状态通过电机的运行状态LED显示出来。电机的速度级以速度级数显示。数字向右移动,数字向左移动。移动速度分为7档,与电机的速度级对应。每次电机启动后开始计时,停止时间LED显示此操作所需的时间,时间精确到0.1s。

1.硬件电路设计与分析 电动机PWM驱动模块的电路设计和实现见下图2。本电路基于PWMH型桥式驱动电路的原理。

图二 PWM电路由四个大功率晶体管组成,四部分晶体管分为两组:根据两个输入端的高低电平确定晶体管的导通和截止日期。四个二极管可以防止晶体管在电路中产生反向电压。电路中的四个电感是为了防止电机两端的电流和晶体管上的电流过大。 实验中控制系统电压统一为5v因此,如果达林顿管基极由控制系统直接控制,控制电压最高为5V,再加上三极管本身的压降,电机两端的电压只有4V电机的驱动力严重减弱。基于上述考虑,我们运用了4N光耦合集成块将控制部分与电机的驱动部分隔开。输入端通过三极管增加光耦的驱动电流;电机驱动部分通过外接12V电源驱动。这不仅增加了系统模块之间的隔离度,而且大大增强了驱动电流。 在电机驱动信号方面,我们采用了可调周期矩形信号控制。脉冲频率影响电机转速,脉冲频率高,连续性好,但带负载能力差,脉冲频率低。脉冲频率为40Hz以上电机旋转平稳,但加载后速度明显下降,甚至低速停止;脉冲频率为10Hz以下,电动机转动有明显跳动现象。实验证明脉冲频率为15Hz-30Hz时效最好。根据个别电机的性能,可以调整具体的频率。通过N1输入信号,N输入低电平和N输入低电平,N输入信号分别实现电机的正转和反转功能。通过调整信号占空比来调整速度。从高电平(第6档)到低电平(第0档),速度分为7档控制,占空比以20%逐极递减。在速度微调方面,速度的逐加或逐减可以通过占空比1%的跨度逐增或逐减来实现。 2.系统软件设计 系统编程部分工作采用KELI-C51语言完成,采用模块化设计方法,以各子程序为入口,实现各部分功能和工艺,完成键盘输入、按键识别和功能,PWM脉宽控制和LED设计显示等部分。 单片机资源分配如下表: P0 显示模块接口 外部中断0 (P3.2) 键盘中断 P1 键盘模块接口 P2.0/P2.1 PWM电机驱动接口 内部定时器0 系统时钟

如图3所示:

①PWM脉宽控制:本设计采用软件延迟控制脉冲宽度,延迟程序函数如下: void delay(unsigned char dlylevel){ int i=50*dlylevel; while(--i);} 此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us因此,脉冲周期可以由高电平持续hlt和低电平持续时间系数llt本设计中使用的脉冲频率为25Hz,可得hlt llt=100,占空比为hlt/(hlt llt),因此,要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。 ②键盘中断处理子程序:中断按钮,单片机P3.2脚产生负跳边,响应中断处理程序,完成延迟抖动、键码识别、按键功能执行。 调速档,连续加/减速:调速档通过(0-6)共七档固定占空比,即相应档位相应变化hlt,llt为了实现调速档的实现。为了实现恒加或恒减速,直到按下加/减速键停止,需要判断是否松开按钮,每次增加/减少1%的空比(即hlt /--;llt--/ ),其程序流程图如图5所示。

③显示子程序:利用数组方式定义显示缓存区,缓存区有8位,分别存放各个LED管道要显示的值。显示子程序一带参子程序,参数是显示缓存的数组名,通过for(i=0;i<8;i )方位选码添加到每个人身上的方式P0口延迟一两毫秒。 显示子程序只针对每个程序LED管道分别点亮一次,因此在运行过程中,每秒执行次数不得低于每秒24次。 ④定期中断处理程序:由于单片机使用12,采用定时方法1M晶体振动可产生65.5ms的延时。对定时器设备值3CB0H可定时50ms,即使系统时钟精度达到0.05s。当50ms定时到达时,定时器溢出响应定时中断处理程序,完成定时器的再赋值,并对全局变量进行调整time加1,通过变量time计算系统的运行时间。 对于一个数字的显示,应首先转换为BCD代码,即取出每个位置,分别送到显示缓存区BCD算法,应对一个数循环除10取模,直至0,程序如下: do{dispbuff[bcd_p]=bechange; //dispbuff数组显示缓冲区 bcd_p ;}while(bechange/=10) //disp_p为数组指针 软件设计的特点: 对于电机的启停,在PWM渐变脉宽调整用于控制,即开启后,由于当前速度逐渐降至零,从停止均匀加速到默认速度。这有利于保护电机。例如,如果电机用于汽车,也可以提高启动速度,防止打滑。 计算和显示运行时间。传感器技术可用于计算距离、速度等重要运行数据。 中断键盘处理,不需要反复扫描键盘,提高程序效率。 三、测试结果及分析: 结束语 基于硬件的设计PWMH型桥式驱动电路的技术解决了电机马驱动的效率问题。软件还采用了更合理的系统结构和算法,提高了单片机的使用效率,具有一定的防飞能力。然而,该设计也有一些缺点,主要是在速度反馈方面,不能提供更直观的速度表。因此,有必要引入传感器技术来反馈速度rpm或rps显示当前的转速。

标签: 电机的对地电阻怎么提高单片机高低边驱动引脚控制继电器n2的三极管单极电连接器hlt2000传感器给电机加电阻可以降低转速么

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台