基于python的机器人移动控制技术.docx
- 文档编号:5390027
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:22
- 大小:189.35KB
基于python的机器人移动控制技术.docx
《基于python的机器人移动控制技术.docx》由会员分享,可在线阅读,更多相关《基于python的机器人移动控制技术.docx(22页珍藏版)》请在冰豆网上搜索。
基于python的机器人移动控制技术
武汉工程大学
课程设计(学年论文)
说明书
课题名称:
用单片机控制的数据采集系统
专业班级:
09制冷02班
学生学号:
09090702XX
学生姓名:
学生成绩:
指导教师:
戴智刚
课题工作时间:
2011年12月26日至2012年1月6日
武汉工程大学教务处
一、课程设计的任务或学年论文的基本要求
任务与要求
以单片机为主控器.扩展A/D和D/A接口,构成一个多路模拟量输入的数据采集系统,要求设计制作出硬件电路,编制并调试出程序。
设计思路
数据采样是智能仪表、自动控制系统中不可缺少的部分,如果单片机本身带A/D、D/A功能,则不必进行系统扩展。
如果芯片本身不带这种功能,则必须扩展A/D、D/A接口,还必须扩展存储系统程序的EPROM,以构成一个完整的数据采集系统。
芯片的选取应根据应用需要或实验条件进行,当精度要求不高时,通常用8位A/D/A电路,如选ADC0809,DAC0832及EPROM2764等进行系统扩展。
硬件框图
硬件框图如图示,图中,三路输入信号是用5V电源经电位器调节得到0~5V的采样输入信号送入ADC电路的IN0~IN2。
单片机分时对模拟输入信号进行采集,获得数值信号单片机内存储RAM中,也可以使用扩展RAM。
之后单片机将RAM中的数值量送入D/A转换电路,D/A电路通常输出与数字量相对应的模拟电流,经I/V变换成模拟电压值。
若系统工作正常,得到的输出模拟电压与输入模拟电压相等,可用示波器进行比较。
图多路数据采样系统框图
程序流程
程序的编制可采用查询方式,也可以采用中断方式。
设计最低要求
设计人员应完成说明书和主要设计图纸。
(1)设计说明书
①设计依据
摘录依据性资料中与本课程设计有关的主要内容,其它方面提供的本课程设计资料。
如芯片的功能、传感器对单片的要求、环境及抗干扰级别等等。
②设计范围
根据设计任务书的要求,说明本制冷系统的控制设计内容及与有关部件的功能。
③系统的设计
控制系统硬件方框图,控制系统程序方框图,元件编号表及参数表等。
其中,元件编号表要表明元件型号、规格、耗电、信号特点、其他所需技术数据。
被控系统的技术参数如:
风机的风量、风压、出口方向、转速及电动机功率;室内外温度控制范围、电动机功率;实现功率元件控制的方案。
(2)设计图纸
绘制控制系统原理图,图中的线路连接及元件标注必需正确无误。
(3)程序设计
图纸要求
1、原理图1~2张。
2、图标可按以下规格:
书面格式
第一章设计任务与要求页码
第二章设计依据页码
第三章控制系统性能说明页码
第四章硬件设计页码
第五章软件设计页码
第六章制造工艺页码
附表、附图
二、进度安排
第一周
时段
内容
星期一、星期二
1~2节课程设计开题,资料收集
星期三、星期四
确定方案
星期四上午1-2节检查资料收集情况
作为参考资料评分依据
星期五
元件选取、给出每个元件的引脚图和功用
第二周
时段
内容
注
星期一、星期二、
星期三
设计
星期四
说明书整理
星期五
答辩,答辩完交说明书,不交记零分,晚交扣15分。
三、主要参考资料
[1]《MCS-51/96系列单片机原理及应用》孙涵芳、徐爱卿编著,北京航空航天大学出版社1988.2
[2]《单片机基础》李广弟、朱月秀、王秀山编著,北京航空航天大学出版社2001.7
[3]《单片机C程序设计实例指导》李光飞李良儿楼然苗编著,北京航空航天大学出版社2005.9
指导教师签字:
年月日
四、课程设计(学年论文)摘要(中文)
本次课程设计课题,数据采集系统设计,是利用ATMEL公司的89C51单片机和AD0809芯片做一个采集模拟电压信号,转换为数字信号,再由单片机经过串口发送给PC机处理,另外三个数码管LED显示采集的数字信息。
五、课程设计(学年论文)摘要(英文)
Thiscoursedesigntopic,dataacquisitionsystemdesign,thecompanyisusingATMEL89C51andAD0809chiptodoacollectionsimulationvoltagesignal,intodigitalsignals,thensendthroughaserialportofmicrocomputerPCprocessing,threeotherdigitaltubeLEDdisplayacquisitionofdigitalinformation.
六、指导教师评分
评价内容
具体要求
权重
得分
调查论证
能独立查阅文献和从事其他调研;能提出并较好地论述课题的实施方案;有收集、加工各种信息及获得新知识的能力。
10
实践能力
独立设计、计算、绘图的能力(课程设计);能正确选择研究(实验)方法,独立进行研究的能力(学年论文)
15
分析解决问题能力
能运用所学知识和技能去发现与解决实际问题(课程设计);或能对课题进行理论分析,得出有价值的结论(学年论文)。
15
工作量、工作态度
按期圆满完成规定的任务,工作量饱满,难度较大,工作努力,遵守纪律;工作作风严谨务实。
10
质量
综述简练完整,有见解;立论正确,论述充分,结论严谨合理(或设计过程完整,设计内容完全);文字通顺,技术用语准确,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确;论文(设计)结果有参考价值。
40
外语和计算机应用能力
在课程设计或学年论文中,能够体现外语和计算机的应用能力。
5
创新
工作中有创新意识;对前人工作有改进或独特见解。
5
综合评语
指导教师签字:
年月日
七、答辩记录
记录人(签字):
年月日
答辩意见及答辩成绩
答辩小组教师(签字):
年月日
课程设计(学年论文)总评成绩:
(指导教师评分×80%+答辩成绩×20%)
第一章设计任务与要求
1.1设计任务
随着测控技术的迅猛发展,以嵌入式计算机为核心的数据采集系统己经在测控领域中占到了统治地位。
数据采集系统是将现场采集到的数据进行处理、传输、显示、存储等操作。
数据采集系统的主要功能是把模拟信号变成数字信号,并进行分析、处理、存储和显示。
国内大大小小很多公司多开发了数据采集器和卡之类的产品,这使信息的数字化提供了极大的方便。
本次以单片机为主控器设计单片机主电路、数据采集接口电路扩展A/D和D/A接口,构成一路模拟量输入的数据采集系统。
1.2设计要求
本次设计以单片机为主控器,扩展A/D和D/A接口,构成一个多路模拟量输入的数据采集系统,要求设计制作出硬件电路,编制并调试出程序。
第二章设计依据
2.1单片机的选择
单片机在工业控制系统诸多领域得到了极为广泛的应用。
特别是其中的51系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度。
本次设计以51单片机为核心,实现空调的智能控制因为51单片机应用广泛,性能稳定,抗干扰能力强,性价比高。
而且还适用于仪器仪表,不仅能完成测量还可以进行数据的处理和监控等。
51系列单片机主要功能:
●8位CPU。
●片内带震荡器,振荡频率fose范围为1.2到12MHz;可有时钟输出。
●128个字节的片内数据存储器。
●4KB的片内程序存储器。
●程序存储器的寻址范围为64KB。
●片外数据存储器的寻址范围为64KB。
●21个字节专用寄存器。
●4个8位并行I/O接口:
p1、p2、p3、p0。
●1个全双工串行I/O接口,可多机通信。
●2个16位定时/计数器。
●中断系统有5个中断源,可编程为2个优先级。
●111条指令,含乘法指令和除法指令。
●有强的位寻址、位处理能力。
●片内采用单总线结构。
●用单一+5V电源。
数据采样是智能仪表、自动控制系统中不可缺少的部分,本次设计中由于8051单片机本身不具备将电量信号转换成数字量的功能,所以必须扩展A/D、D/A接口。
输入信号是用5V电源经电位器调节得到0~5V的采样输入信号送入ADC电路。
单片机分时对模拟输入信号进行采集,获得数值信号单片机内存储RAM中,也可以使用扩展RAM。
经处理后的信号之后单片机将RAM中的数值量送入D/A转换电路,D/A电路通常输出与数字量相对应的模拟电流,经I/V变换成模拟电压值。
2.2A/D模数转换的选择
A/D转换器的种类很多,就位数来说,可以分为8位、10位、12位和16位等。
位数越高其分辨率就越高,价格也就越贵。
A/D转换器型号很多,而其转换时间和转换误差也各不相同。
(1)逐渐逼近式A/D转换器:
它是一种速度快、精度较高、成本较低的直接式转换器,其转换时间在几微秒到几百微秒之间。
(2)双积分A/D转换器:
它是一种间接式的A/D转换器,优点是抗干扰能力强,精度比较高,缺点是数度很慢,适用于对转换数度要求不高的系统。
(3)并行式A/D转换器:
它又被称为flash(快速)型,它的转换数度很高,但她采用了很多个比较器,而n位的转换就需要2n-1个比较器,因此电路规模也极大,价格也很贵,只适用于视频A/D转换器等数度特别高的领域。
鉴于上面三种方案,在价格、转换速度等多种标准考量下,在本设计选用的是逐渐逼近式A/D转换器——ADC0809.
2.3串行口的选择
该串行口我选用了标准RS-232C接口,它是电平与TTL电平转换驱动电路。
常用的芯片是MAX232,MAX232的优点是:
(1)一片芯片可以完成发送转换和接收转换的双重功能。
(2)单一电源+5V供电
(3)它的电路设计与连接比较简单而且功能齐全。
第三章控制系统性能说明
3.1系统功能及结构简介
此数据采集器主要是采集0~5V模拟电压信号,现在大部分的模拟量多可以用各种器转换成电压模拟信号。
系统把模拟的电压信号转换成数字数据,由单片机串口经过TTL电平转换后,发送到PC机由PC机处理采集的信号,另外3个数码管LED显示数字电压的大小,两个发光二极管指示工作状态。
可以通过八个按钮选择八个采集通道,一个按钮控制转换开始或结束,系统可复位。
系统结构图:
LED显示
数据
ADC0908转换器
控制信息
89C51控制器
控制信号
控制信号
数据信号输入
数据
PC机
图
(1)系统结构图
3.2原理介绍
系统总的工作原理:
系统开机,89C51芯片工作,由P2.1控制发光二极管1指示系统工作状态,亮表示工作,暗表示不工作由P3.5控制发光二极管2指示AD0809工作状态,亮表示工作,暗表示不工作。
P2.0控制转换开始和结束,P1.0~P1.7控制八个按钮用来选择模拟输入转换通道,另外一个复位按钮。
由P0口输入AD0809芯片的转换数据结果,P2.2、P2.3、P2.4口接AD0809芯片的ST、EOC、OE3个控制信号引脚,用于控制AD0809工作。
P2.5、P2.6、P2.7接AD0809的A、B、C控制转换通道选择,另外89C51的LEA。
数码管方面,有P0口输出数据,P3.2、P3.3、P3.4控制位选。
和微机接口方面,89C51的RX、TX接MAX232,MAX232的13和14引脚接DB9的3、2引脚组成串口通信接线。
串口通信原理:
单片机和PC机通信要经过TTL电平转换。
这里串行通信使用RS-232标准RS-232实际上是串行通信的总线标准。
它用-3V到-25V表示逻辑“1”,+3V到+25V表示逻辑“0”。
这里只用3个引脚构成串口通信,2脚发送数据TXD,3脚接收数据RXD和5脚接地。
单片机的串口通信,在单片机芯片中,UART已集成在其中,做为组成部分,构成一个串行口,这个串行口是全双工的。
单片机串口通信的波特率设置是有单片机的定时记数器1提供时钟。
串口通信用到串口发送缓冲寄存器SBUF和及串行通信控制寄存器SCON。
串口有3种工作方式,这里采用工作方式1。
串口工作方式1的原理为:
TxD脚发送,RxD脚接收,每次数据为10位,一个起始位0,8个数据位,LSB在前及一个停止位1,当接收数据时停止位存于SCON的RB8内波特率可变由定时器1溢出速率决定。
串行口工作于模式1时,传输的是10位;1位起始位0,8位数据低位在先及一位停止位1。
由RxD接收,TxD发送。
接收时,停止位存入SCON内RB8。
80C51波特率取决于定时器1的溢出速率。
发送过程是由执行一条以SBUF为目的寄存器的指令启动的。
写SBUF信号还把1TB8装入发送移位寄存器的第9位,同时通知发送控制器进行发送。
实际上发送过程开始于16分频计数器下次翻转后的那个机器周期的S1P1时刻。
每位的发送时序与16分频计数器同步,而并不与写SBUF信号同步。
发送以激活SEND端开始,向TxD发送一起始位一位时间以后DATA端有效,使输出移位寄存器中数据得以送至TxD。
再过一位,产生第一个移位脉冲。
数据向右移出,左边不断填以0,当数据字节的最高位移到移位寄存器的输出位置时,其左边是装入1的第9位,再左的内容均为0。
此时通知TX控制器作最后一次移位,然后禁止SEND端并置位TI。
这都发生于写SBUF后16分频计时器的第10次翻转时。
接收在RxD端检测到负跳变时启动,为此MCU对RxD不断采样,采速率为波特率的16倍。
当检测到负跳变时,16分频计数器立即复位,同时将1FFH写入输入移位寄存器。
复位16分频计时器确保计时器翻转时位与输入数据位时间同步。
计数器的16个状态将每个位时间分为16份。
在第7、8、9状态时,位检测器对RxD端的值采样。
如果所接收的第一位不为0,说明它不是一帧数据的起始位,该位被摒弃,接收电路被复位,等待另一个负跳变的到来。
这用来防止错误的起始位,如果起始位有效,则被移入输入移位寄存器,并开始接收这一帧中的其它位。
当数据位逐一由右边移入时,1从左边被移出。
当起始位0移到最左边时,通知接收控制器进行最后一次移位,将移位寄存器内容9位分别装入SBUF及RB8,并置RI=1。
仅当最后一位移位脉冲产生时同时满足下述2个条件:
1、RI=0,SM2=0或接收到的停止位=1,才会装载SBUF和RB8,并且置位RI。
上述两个条件任一不满足,所接收到的数据帧就会丢失,不再恢复。
两者都满足时,停止位就进入RB88,位数据进入SBUF,RI=1。
这时无论上述条件满足与否,接收控制单元都会重新等待RxD的负跳变。
由于采样八百多MHz,波特率要大于9600BPS,这里设置为9600bps,由定时器1工作方式2提供。
在80C51中模式1和模式3的波特率由定时器1的溢出速率决定。
使用定时器1作波特率发生器当定时器1用作波特率发生器模式1和3中波特率由定时器1的溢出速率和SMOD1的值决定。
在此应用中定时器1不能用作中断,定时器1可以工作在定时或计数方式和3种工作模式中任何一个。
在最典型应用中它用作定时器方式工作自动重装载模式TMOD的高半字节为0010B,它的波特率值由下式给出:
可以定时器1的中断实现非常低的波特率将定时器配置为16位定时器TMOD的高半字节为0001B,并使用中断进行16位软件重装。
第四章硬件设计
4.1硬件芯片选择及功能简介
主控制芯片使用AT89C51芯片,转换模块使用ADC0809模数转换芯片,用双D触发器74LS74四分频89C51的ALE信号输出脚2MHz为500KHz为ADC0809提供时钟信号,串口转换芯片MAX232,另外用74LS244驱动LED数码管。
4.1.1AT89C51芯片
AT89C51是美国ATMEL公司生产的底电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的FLASH只读程序存储器和128bytes的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和FLASH存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
引脚图:
图
(2)89C51引脚图
特性:
80C51核心处理单元,4k字节FLASH89C51X2,128字节RAM89C51X2,布尔处理器。
全静态操作,12时钟操作可选6个时钟通过软件或并行编程器,存储器寻址范围,64K字节ROM和64K字节RAM,电源控制模式:
时钟可停止和恢复、空闲模式、掉电模式。
两个工作频率范围:
6时钟模式时为0到20MHz,12时钟模式时为0到33MHz。
复位:
在振荡器工作时,将RST脚保持至少两个机器周期高电平12时钟模式为24个振荡器周期,6时钟模式为12振荡器周期可实现复位。
为了保证上电复位的可靠,RST保持高电平的时间至少为振荡器启动时间通常为几个毫秒再加上两个机器周期。
复位后,振荡器以12时钟模式运行当已通过并行编程器设置为6时钟模式时除外。
低功耗模式:
时钟停止模式:
静态设计使时钟频率可以降至0MHz(停止)。
当振荡器停振时,RAM和SFR的值保持不变。
该模式允许逐步应用并可将时钟频率降至任意值以实现系统功耗的降低。
如要实现最低功耗则建议使用掉电模式。
空闲模式:
CPU进入睡眠状态,但片内的外围电路仍然保持工作状态。
正常操作模式的最后一条指令执行进入空闲模式。
空闲模式下CPU内容片内RAM和所有SFR保持原来的值。
任何被使能的中断(此时,程序从中断服务程序处恢复并继续执行)或硬件复位(与上电复位使用相同的方式启动处理器)均可终止空闲模式。
掉电模式:
为了进一步降低功耗,通过软件可实现掉电模式。
该模式中,振荡器停振并且在最后一条指令执行进入掉电模式。
降到2.0V时,片内RAM和SFR保持原值,在退出掉电模式之前Vcc必须升至规定的最低操作电压。
4.1.2ADC0908芯片
AD0809的逻辑结构:
ADC0809是8位逐次逼近型A/D转换器。
它由一个8路模拟开关、一个地址锁存译码器、一个A/D转换器和一个三态输出锁存器组成(见图1)。
多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。
三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。
它的引脚的排列及其内部结构:
图(3)ADC0809的引脚图
图(4)ADC0809内部结构
AD0809的工作原理:
IN0-IN7:
8条模拟量输入通道;ADC0809对输入模拟量要求:
信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。
地址输入和控制线:
4条;ALE为地址锁存允许输入线,高电平有效。
当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。
A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。
通道选择表如下表所示。
CBA选择的通道:
表一
C
B
A
IN
C
B
A
IN
0
0
0
IN0
1
0
0
IN4
0
0
1
IN1
1
0
1
IN5
0
1
0
IN2
1
1
0
IN6
0
1
1
IN3
1
1
1
IN7
数字量输出及控制线:
11条.
ST为转换启动信号。
当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。
EOC为转换结束信号。
当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。
OE为输出允许信号,用于控制三条输出锁存器向
单片机输出转换得到的数据。
OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。
D7-D0为数字量输出线。
CLK为时钟输入信号线。
因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ,
VREF(+),VREF(-)为参考电压输入。
ADC0809应用说明:
(1)ADC0809内部带有输出锁存器,可以与AT89S51单片机直接相连。
(2)初始化时,使ST和OE信号全为低电平。
(3)送要转换的哪一通道的地址到A,B,C端口上。
(4)在ST端给出一个至少有100ns宽的正脉冲信号。
(5)是否转换完毕,我们根据EOC信号来判断。
(6)当EOC变为高电平时,这时给OE为高电平,转换的数据就输出给单片机了。
4.1.374LS74芯片
74LS74为带预置和清除端的两组D型触发器,在这次的系统设计中,它为AD0809芯片提供500KHz的时钟信号,这是利用了触发器的工作。
一个触发器可以2分频,二个触发器连接可提供4分频。
原理其主要电特性的典型值如下:
表二
引出端符号:
逻辑图:
图(4)74LS74逻辑图
4.1.4MAX232芯片
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电,可以实现TTL电平与RS-232C电平相互转换的IC芯片。
图(5)MAX232连接图
其中引脚1-6(C1+、V+、C1_、C2+、C2-、V-)用于电源电压转换,只要在外部接入相应电解电容即可;引脚7-10和引脚11-14构成两组TTL信号电平与RS-232C信号电平的转换电路,对应引脚可直接与单片机串行口的TTL电平引脚和PC的RS-232C电平引脚相连。
4.1.574LS244芯片
74LS74为八同相三态缓冲器/线驱动器。
这里主要用于驱动共阴数码管LED的显示驱动。
结构图和功能图为:
图(6)74LS244
第五章软件设计
5.1软件结构图:
开机
选择通道
N
Y
复位
开始转换
N
Y
AD转换
LED显示
串口发送
转换结束
图(7)软件流程图
共4个模块:
(1)、控制模块
(2)、AD转换模块
(3)、LED显示模块(不要求,故未画出)
(4)、串口发送模块
5.2系统程序代码
ORG000H
AJMPSTART
ORG0003H
JMPE8255
ORG0030H
START:
MOVDPTR,FFFFH
MOVA,14H
OUT@DPTR,A
MOVDPTR,E6FFH
MOVA,FFH
OUT@DPTR,A
INTTUR:
STEBITO
SETBEA
SETBEX0
HERE:
SJMPHERE
ORG0100H
DATAPROCE:
MOVB,5H;
MOVA,R0
MULAB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 python 机器人 移动 控制 技术