智能小车 pwm调速

上传人:mg****85 文档编号:34169492 上传时间:2018-02-21 格式:DOCX 页数:5 大小:82.32KB
返回 下载 相关 举报
智能小车 pwm调速_第1页
第1页 / 共5页
智能小车 pwm调速_第2页
第2页 / 共5页
智能小车 pwm调速_第3页
第3页 / 共5页
智能小车 pwm调速_第4页
第4页 / 共5页
智能小车 pwm调速_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《智能小车 pwm调速》由会员分享,可在线阅读,更多相关《智能小车 pwm调速(5页珍藏版)》请在金锄头文库上搜索。

1、智能小车 PWM 调速 1、 PWM 原理2、调制器设计思想3、具体实现设计一、 PWM(脉冲宽度调制 Pulse Width Modulation)原理:脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。图1 所示为脉冲宽度调制系统的原理框图和波形图。该系统有一个比较器和一个周期为 Ts 的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数 A,否则输出 0。因此,从图 1 中可以看出,比较器输出一列下降沿调制的脉冲宽度调制波。通过图 1b 的分析可以看出,生成的矩形脉冲的宽度取决于脉冲下降沿时刻 t k 时的语音信号幅度值。因而,采样值之间的时

2、间间隔是非均匀的。在系统的输入端插入一个采样保持电路可以得到均匀的采样信号,但是对于实际中 tk-kTsTs 的情况,均匀采样和非均匀采样差异非常小。如果假定采样为均匀采样,第 k 个矩形脉冲可以表示为:(1)其中,xt是离散化的语音信号;Ts 是采样周期; 是未调制宽度;m 是调制指数。然而,如果对矩形脉冲作如下近似:脉冲幅度为 A,中心在 t = k Ts 处, 在相邻脉冲间变化缓慢,则脉冲宽度调制波 xp(t)可以表示为: (2)其中, 。无需作频谱分析,由式(2)可以看出脉冲宽度信号由语音信号 x(t)加上一个直流成分以及相位调制波构成。当 时,相位调制部分引起的信号交迭可以忽略,因此

3、,脉冲宽度调制波可以直接通过低通滤波器进行解调。二、 数字脉冲宽度调制器的实现:实现数字脉冲宽度调制器的基本思想参看图 2。图中,在时钟脉冲的作用下,循环计数器的 5 位输出逐次增大。5 位数字调制信号用一个寄存器来控制,不断于循环计数器的输出进行比较,当调制信号大于循环计数器的输出时,比较器输出高电平,否则输出低电平。循环计数器循环一个周期后,向寄存器发出一个使能信号 EN,寄存器送入下一组数据。在每一个计数器计数周期,由于输入的调制信号的大小不同,比较器输出端输出的高电平个数不一样,因而产生出占空比不同的脉冲宽度调制波。 图 3为了使矩形脉冲的中心近似在 t=kTs 处,计数器所产生的数字

4、码不是由小到大或由大到小顺序变化,而是将数据分成偶数序列和奇数序列,在一个计数周期,偶数序列由小变大,直到最大值,然后变为对奇数序列计数,变化为由大到小。如图 3 例子。奇偶序列的产生方法是将计数器的最后一位作为比较数据的最低位,在一个计数周期内,前半个周期计数器输出最低位为 0,其他高位逐次增大,则产生的数据即为偶数序列;后半个周期输出最低位为1,其余高位依次减小,产生的数据为依次减小的偶序列。具体电路可以由以下电路图表示:三、 8051 中的 PWM 模块设计:应该称为一个适合语音处理的 PWM 模块,输出引脚应该外接一积分电路。输出波形的方式适合作语音处理。设计精度为 8 位。PWM 模

5、块应包括:1、 比较部分 (Comp):2、 计数部分 (Counter):3、 状态及控制信号寄存/控制器(PWM_Ctrl );1) 状态积寄存器:(Flags),地址:E8H ;EN : PWM 模块启动位,置位为 1将使 PWM 模块开始工作;(留空备用)解调速率标志位:00 无分频; 01 2 分频;10 10 分频;11 16 分频。 (RESET 后为 00)(留空备用)(留空备用)(留空备用)(留空备用)注意:该寄存器可以位操作情况下可写,不可读;只能在字节操作方式下读取。2) 数据寄存器(DataStore ),地址: F8H;注意:该寄存器值不可读,只可写。4、 端口 :1

6、) 数据总线( DataBus);(双向)2) 地址总线( AddrBus);(IN)3) PWM 波输出端口(PWMOut);(OUT )4) 控制线: CLK:时钟;( IN) Reset:异步复位信号;(IN 低电平有效) WR:写 PWM RAM 信号;(IN 低电平有效); RD:读 PWM RAM 信号;(IN 低电平有效) DONE:接受完毕反馈信号;(OUT 高电平有效) INT:中断申请信号;(OUT 低电平有效) IntResp:中断响应信号;(In 低电平有效) ByteBit:字节/位操作控制信号(IN 1-BYTE 0-BIT);中断占用相当于 MCU8051 的外部

7、中断 2,则可保证在 5 个指令周期之内,“ 读取数据”中断必定得到响应。PWM 模块使用方法:因为占用了 8051 外部中断 1,所以在不使用该模块时,应该把外部中断 2 屏蔽。而 PWM 模块产生的中断请求可以看作是“ 能接受数据”的信号。中断方法如后“ 中断读取数据过程”。使用 PWM 模块,应该先对内部地址 8FH 的数据寄存器写入数据,然后设置地址 8EH 的状态寄存器最低位(0 )为 1,即 PWM 模块开始工作并输出 PWM 调制波(如 TIMER 模块)。在输出 PWM 调制波过程中,应及时对 PWM 写入下一个调制数据,保证 PWM 连续工作,输出波形连续。 (待改进)中断读

8、取数据过程:1. PWM 模块可以读取数据,申请中断信号 INT 置位为0,等待 8051 响应; 2. 8051 接受到中断申请后,作出中断响应,置位 IntResp 信号线为0; 3. PWM 模块收到 IntResp 信号后,把中断申请信号 INT 复位为1 ,等待 8051 通知读取数据 WR 信号; 4. 8051 取出要求数据放于数据总线(DataBus)上,并置 WR 信号为0; 5. PWM 模块发现 WR 信号为0,由数据总线(DataBus)上读取数据到内部数据寄存器,将 DONE 位置位为1; 6. 8051 发现 DONE 信号的上跳变为1,释放数据总线; 7. PWM

9、 模块完成当前输出周期,复位 DONE 为0,从此当前数据寄存器可以再次接受数据输入。 注意事项:1)输出的 PWM 信号中的高电平部分必须处于一个输出周期的中间,不能偏离,否则输出语音经过低通后必定是一失真严重的结果。2)对于 8 位精度的 PWM,每个输出周期占用 256(28)个机器周期,但是包含 256 个机器周期至少有22 个指令周期,亦即 264(22*12)个机器周期,由于语音信号的连续性,256 与 264 之间相差的 8 个机器周期是不能由之丢空的,否则也会使输出信号失真。如果将须输出数字量按 256/264 的比例放大输出,亦不可行,因为如此非整数比例放大,放大倍数很小,则

10、经过再量化后小数部分亦会被忽略掉,产生失真。举例:输出数字量为 16,按比例放大后为 16.5,更会产生难以取舍的问题。故采取以下办法:该模块以时钟周期为标准,而与 TMBus 无关,即基本上与 8051 部分异步工作。读取数据方式为每次读取足够数据段储存于模块内的 RAM 内(暂定每次读取 8 字节),储存字节数必须能保证 PWM 输出该段数据过程中,有足够时间从 RAM 处继续读取数据。由于占用了 8051 的外部中断 2,中断申请在 3 个指令周期( 36 个时钟周期)内必定能得到响应,而 PWM 模块处理一个数据需要固定耗时 256 个时钟周期,故能保证 PWM 模块顺序读取数据中断能及时得到响应,不会影响调制信号的连续性。3)RD RAM 过程是异步过程。4)输出后数据寄存器不自动清零。因为可以通过把 Flags(0)写0而停止 PWM 模块继续工作。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号