单片机 PWM 控制直流电机

来源:百度知道 编辑:UC知道 时间:2024/06/19 17:20:34
我在做单片机PWM调速来控制直流电机,有几个问题
比如,如何产生PWM信号?知道有什么芯片能直接产生PWM信号的也可以
用于闭环控制的速度传感器有哪些可以用?给出具体的型号,最好是直接给出数字量的。
如果用定时器产生PWM信号,请问在读取键盘按键信息的时候,单片机还能同时继续给出定时器产生的PWM信号维持电机运转吗?按键的时候肯定要等至少几秒钟的,这期间如何维持单片机继续产生PWM信号?(也许问的就不太对,但是我实在不太明白这里的中断是什么意思)
详细点回答上面的几个问题就好了。。。十分感谢大家

1、所谓的PWM就是高低变化的方波,单片机可以实现,建议选择有PWM功能的单片机;
2、精度不高的话,可以用简单一点的码盘来测速,直接计数就行;精度高的话,可以用编码器,推荐Avagotech的HEDS9710系列编码器;
3、单片机可以设定为在没有发生中断时读取键盘;若正在读取键盘时产生了中断,则保存当前状态,执行中断,之后再继续读取键盘。所以不会影响PWM信号的。这个要在程序里注意的,比如读键盘的时候不能关闭中断,否则就不能产生PWM信号了。

PWM用定时器产生就可以,要用中断功能,这样就不会与键盘冲突了。
转速检测可以用霍尔、光电或者旋转编码器,我在另一个回答中已经讲过了。
如果只是做试验,简单省事的办法是拆一个老式的机械鼠标,用其中的光电检测器件以及光栅轮自己改装。

对于没有PWM的单片机可以用定时器产生PWM,或者直接用友PWM输出的单片机如MEGA8/16等;用555定时器也可以产生PWM,调节充放电电阻调整PWM;电机常用的传感器是霍尔传感器,有型号如:CS3144,CS3503,CS277,CS3020等;
用定时器产生PWM不会因键盘扫描影响,其优先级比键盘扫描高。

可以产生pwm的芯片多着呢,你问的只是产生,可没叙述清楚要以何种方式产生?你要实现的是单片机控制直流电机,也就是软件控制占空比,鉴于你是新手,扩展外部芯片的方式产生pwm的方法不推荐。你还是用定时中断吧(大系统中这种方法却是错误的,因为,定时器是宝贵的资源,决不能独占),估计你也不了解定时器的工作原理,它和cpu是独立运行的,你用定时中断的方式,且把优先级提为最高,pwm信号是不会被打断的,而占空比在中断服务程序里设置。不过我觉得还是用自带pwm模块的单片机更有优势,不管从硬件成本和软件开销上来说,最后,建议你做设计之前把单片机原理弄懂,要不然寸步难行。

很多单片机有PWM功能的,不用买专用的芯片,直流机没有必要用速度传感器,因为那样你还得编码送给CPU作为反馈,建议你用一款有AD采集和PWM功能的单片机,直接用电压反馈,我们以前做空调的时候鼓风机就是怎么调速的,用定时器的话里使用的 一定是中断,比普通IO高一点,可以的。也就是按键即使按下去了,当他没有中断的官大,所以,想处理中断的