基于单片机的PWM转D/A输出模块的设计
2017-12-09于进杰唐正华
于进杰+唐正华
【摘 要】大部分单片机都没有D/A输出的引脚,但是一般都有PWM引脚,如果涉及的系统需要外接控制电机等需要D/A信号输出控制的设备,就需要在单片机引脚拓展D/A转换。一般都是外接一个D/A转化芯片来完成,但是价格比较高,这里讨论一个利用PWM引脚拓展转换成D/A输出的设计,大大减低价格成本。
【关键词】D/A转换;光电隔离;误差;PWM
中圖分类号: TN792 文献标识码: A 文章编号: 2095-2457(2017)23-0112-002
【Abstract】Most microcontrollers do not have D/A output pins,but generally have PWM pins, if the system involved in the need for external control of the motor and other equipment need D/A signal output control, you need to expand the microcontroller D/A conversion.Usually a D/A converter chip to complete,but the price is relatively high,here to discuss the use of PWM pin expansion into D/A output design,greatly reducing the cost of the price.
【Key words】D/A conversion;Photoelectric isolation;Error;PWM
0 引言
单片机控制器受到外界的电磁干扰比较大,这些干扰会导致单片机控制器输出信号产生误差。所以在设计的时候,必须根据所连接负载可能产生干扰的形式采取相应的抗干扰措施,提高单片机控制器的电磁兼容性。
1 PWM转D/A输出模块的设计
1.1 硬件电路设计
在单片机输出接口设计中,如果需要D/A输出,首先想到的是利用单片机I/O口外接一个D/A转换芯片,这里我们利用单片机的PWM接口通过外接设计电路,同样可以得到需要的D/A输出信号,同时还可以节省单片机的I/O接口资源。
首先选取一个比较常用的单片机PIC16F877,如果需要产生0~10V的模拟电压信号,而PIC16F877本身没有D/A输出引脚,不能直接输出模拟电压信号。但PIC16F877芯片带有两个CCP模块,所对应的引脚通过软件编程均可配置为PWM工作模式,在该模式下,CCPx引脚可以输出占空比为10位分辨率可调的方波,这样我们得到一个PWM的输出引脚。通过对PWM输出引脚接低通滤波器的方法得到D/A输出。考虑到在这个转换过程中会受到外界或是所带负载的干扰,以及D/A信号比较微弱需要增益等一些因素的影响,对PWM输出直接低通滤波要做一些改进。……
