教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

毕业设计说明书 - 图文(5)

来源:网络收集 时间:2026-03-06
导读: 中北大学2014届毕业设计说明书 主机可通过查询或中断的方式对接收/发送进行程序处理,使用十分灵活。 在本设计中,采用串行口工作模式1,8为UART,波特率可变,当软件设置SCON的SM0、SM1为“01”时,串行口1则以模

中北大学2014届毕业设计说明书 主机可通过查询或中断的方式对接收/发送进行程序处理,使用十分灵活。

在本设计中,采用串行口工作模式1,8为UART,波特率可变,当软件设置SCON的SM0、SM1为“01”时,串行口1则以模式1工作。此模式为8为UART格式,一帧信息为10位:一位起始位,8位数据位(低位在先)和1位停止位。波特率可变,即可根据需要进行设置。

图3.7为串行模式1的功能结构示意图。

图3.7串行模式1的功能结构示意图

10 位数据通过TxD/P3.1 发送,通过RxD/P3.0 接收。一帧数据包含一个起始位(0),8 个数据位(低位在先),和一个停止位(1)。接收时,停止位进入特殊功能寄存器SCON 的RB8 位。波特率由独立波特率发生器BRT 的溢出率决定。 串口1 波特率在模式1 = ( 2SMOD / 32 ) x BRT 独立波特率发生器的溢出率 当SMOD = 0 时,串口2 波特率 = BRT 独立波特率发生器的溢出率 / 32, 当SMOD = 1 时,串口2 波特率 = BRT 独立波特率发生器的溢出率 / 16, BRT 独立波特率发生器的溢出率 = Fosc/12/( 256 - BRT ),当BRTx12 = 0 时; BRT 独立波特率发生器的溢出率 = Fosc / ( 256 - BRT ),当BRTx12 = 1 时。

本设计中所用到串口的初始化代码如下:

第 16 页 共35 页

中北大学2014届毕业设计说明书

void UART_init(void) //115200bps@11.0592MHz {

PCON &= 0x7F; //波特率不倍速

SCON = 0x50; //8位数据,可变波特率

AUXR |= 0x04; //独立波特率发生器时钟为Fosc,即1T BRT = 0xFD; //设定独立波特率发生器重装值

AUXR |= 0x01; //串口1选择独立波特率发生器为波特率发生器 AUXR |= 0x10; //启动独立波特率发生器 }

3.1.3 电机驱动模块

本设计中电机驱动采用L298N,利用光耦进行了电源隔离,防止电机上产生的电流对单片机造成损害,有效保护电路。图3.8为电机驱动底板部分电路。

图3.8 电机驱动底板电路

L298N为SGS-THOMSON Microelectronics所出产的双全桥步进电机专用驱动芯片(Dual Full-Bridge Driver),内部包含4信道逻辑驱动电路,是一种二相和四相步进电机的专用驱动器,可同时驱动2个二相或1个四相步进电机,内含二

第 17 页 共35 页

中北大学2014届毕业设计说明书 个H-Bridge的高电压、大电流双全桥式驱动器,接收标准TTL逻辑准位信号,可驱动46V、2A以下的步进电机,且可以直接透过电源来调节输出电压;此芯片可直接由单片机的IO端口来提供模拟时序信号,但在本驱动电路中用L297来提供时序信号,节省了单片机IO端口的使用。L298N之接脚如图9所示,Pin1和Pin15可与电流侦测用电阻连接来控制负载的电路;OUT1、OUT2和OUT3、OUT4之间分别接2个步进电机。input1~ input4输入控制电位来控制电机的正反转;Enable则控制电机停转。

图3.9为L298N的引脚图,图3.10为电机转向控制参考表。控制信号为直流5V,电机电压直流3V--46V。

图3.9 L298N的引脚图 图3.10 电机转向控制参考表

在本设计中,采用PCA计数器来产生PWM信号,控制小车速度。下面程序为PCA初始化代码和小车驱动代码:

CCON=0X40; // 启动PCA计数器 CMOD=0X00; // 系统时钟 Fosc/12 CCAPM0=0X42; // 8位PWM,无中断 CCAPM1=0X42; //

void MOTOR_L(signed int L_PWM)/*左侧电机PWM控制*/ {

if(L_PWM>255){ L_PWM=255; }

if(L_PWM<-255){ L_PWM=-255; }

if(L_PWM<0) {

L_PWM=L_PWM*(-1);P1_5=0;CCAP0L=255-L_PWM;CCAP0H=255-L_PWM;

第 18 页 共35 页

中北大学2014届毕业设计说明书

} else {

P1_5=1;CCAP0L=L_PWM;CCAP0H=L_PWM; } }

void MOTOR_R(signed int R_PWM)/*右侧电机PWM控制*/ {

if(R_PWM>255) {

R_PWM=255; }

if(R_PWM<-255) {

R_PWM=-255; }

if(R_PWM<0) {

R_PWM=R_PWM*(-1);P1_6=0;CCAP1L=255-R_PWM;CCAP1H=255-R_PWM; } else {

P1_6=1;CCAP1L=R_PWM;CCAP1H=R_PWM; } }

由于L298N内部没有很好的隔离措施,电机由于电磁感应而产生电流,会对电路造成不可恢复的损害,因此在L298N的控制端加上光耦,起到隔离作用,保护电路。图3.11为光耦在本设计中的应用,用了4个光耦,接法一样。在我的设计中,我用6N137光耦来控制EN端,用TLP521光耦来控制IN1-IN4。在驱动光耦时,考虑到单片机的驱动能力,加了ULN2003增加驱动能力。具体电路图见附录一。

图3.11 光耦在本设计中的应用

3.1.4 舵机控制模块

第 19 页 共35 页

中北大学2014届毕业设计说明书

舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的 控制系统。其工作原理是:控制信号由接收机的通道进入信号调制芯片,获得直流偏置电压。它内部有一个基准电路,产生周期为20ms,宽度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。最后,电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。舵机的控制信号是PWM 信号,利用占空比的变化改变舵机的位置。

角度值0° 15° 25° 115° 205° 215° 230° PWM 脉宽---- 500us 600us 1500us 2400us 2500us ----

图3.12为舵机控制的接口电路。由每个接口的3引脚输出PWM信号控制舵机所转角度。因为舵机的电压不宜过大,在此我加了电桥D25XB60,利用它的二极管进行了降压。

图3.12 舵机控制接口电路

在本设计中,舵机控制所需的PWM信号由定时器产生,以改变初值的方式来改变占空比,实现舵机控制。 3.1.5 循迹模块

电路板上电位器控制光电传感器的灵敏度,即调节比较器的比较电压,顺时 针为增大比较电压值。比较电压的调节应由环境和传感器的高低而定。电位器R9~

第 20 页 共35 页

…… 此处隐藏:1119字,全部文档内容请下载后查看。喜欢就下载吧 ……
毕业设计说明书 - 图文(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/442416.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)