写字机器人
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
创新一机器人写字
机器人在我们的生活中应用越来越广泛,例如家务机器人、表演机器人、消防机器人、医疗机器人等。在写字机器人的制作与创新过程中涉及到了单片机、电子技术、传感器、自动控制、电机技术、机械传动机构等相关知识。利用单片机的可编程性、易控制、搭接电路简单、工作稳定、性能优越、价格低廉等特点,结合检测传感技术,综合应用到控制系统中,使写字机器人实现智能化。该写字机器人可用作教师的辅助教学设备和机器人的实践设备等。
一、写字机器人的硬件设计
写字机器人的整体结构如图1 所示
图1 写字机器人的整体结构
1.写字机器人的X轴运动
写字机器人X轴的运动主要是通过控制底盘上的四个直流电机来实现,对单片机进行编程实现对机器人X轴的运动控制,写字机器人X轴如图2所示:
图2 写字机器人X轴运动
2.写字机器人Y轴的运动
写字机器人Y轴的运动采用的抽屉的滑轨配合齿轮齿条传动机构来实现的,具体的硬件的搭接方法如图3所示:
图3 Y轴的运动
单片机通过控制电机转动带动齿轮和齿条的运动来实现Y轴的上升和下降,从而实现“竖”笔画的书写
3.写字机器人Z轴的运动
写字机器人Z轴的运动采用的方法同Y轴的方法是一样的,Z轴的运动主要实现笔的进笔和出笔。具体的硬件搭接方法如图4所示:
图4 Z轴的运动
二、程序设计
1.写字机器人编程语言的选择
机器人软件开发平台可以使用LOGO语言、QBASIC语言、汇编语言、C语言四种编程语言,而LOGO语言、QBASIC语言和C语言这三种语言的编程相对比较简单,但是占用程序存储空间比较大,而要在黑板上写出“北京仪表学校”六个字需要的程序存储空间比较大,而单片机只有4K的程序存储空间,所以这三种语言是不能选择的。最终写字机器人采用的是汇编语言,虽然汇编语言的编程相
对来讲比较复杂,但是它属于底层语言(机器语言),占用空间比较小。
2.单片机存储器跨页的问题的解决
机器人软件开发平台如果采用QABSIC语言进行编程,如果程序超过存储器容量的40%后,程序就不会按照编写的程序来执行,程序将出现跑飞,其主要原因是PIC单片机的程序存储器是分页进行存储的,采用QBASIC语言进行编程无法解决分页的问题,所以只能写在第0页上,无法写到后续的存储页上,这样写的程序的容量就受到了限制,这也是为什么采用汇编语言的第二个原因。3.写字机器人写“撇”和“捺”的处理方法
写字机器人可以在X,Y,Z三个轴上进行运动,写横和竖的笔划是很容易的,利用机器人在X轴上行走写“横”的笔划,利用机器人在Y轴上的上下移动写“竖”的笔划。撇和捺的处理方法是利用X和Y轴同时动作的方法来实现,X轴向左运动,Y轴向下运动写“撇”的笔划;X轴向右运动,Y轴向右运动写“捺”的笔划。
4.程序流程图
1.程序清单
INCLUDE "P16F873.EQU"
;=============Flash ROM中变量的地址================ N EQU 20H
M EQU 21H
ZHU EQU 22H
CC EQU 23H
ZZ EQU 24H
;==========入口程序===============
ORG 0000H
GOTO MAIN
ORG 0004H
;=======MAIN PROGRAM(主程序调用)==========
MAIN CALL INITIAL
;===============蔽障==============
CALL STOPYZ
OO CALL CSQJ
BTFSC PORTB,7
GOTO OO
CALL OOO
OOO CALL CSHT
BTFSC PORTB,6
GOTO OOO
MOVLW 40
MOVWF ZHU
BZ CALL CSQJ
DECFSZ ZHU,1
GOTO BZ
CALL STOPYZ
;-----------------------------------抬笔
CALL TB
;=============北=======================
;-----------------------------------上升
MOVLW 19
MOVWF ZHU
BEI CALL UP
DECFSZ ZHU,1
GOTO BEI
;-----------------------------------落笔
CALL LB0
;-----------------------------------写北字第一笔
MOVLW 16
MOVWF ZHU
BEI1 CALL DOWN
DECFSZ ZHU,1
GOTO BEI1
;-----------------------------------抬笔
CALL TB0
;------------------------------------上升
MOVLW 13
MOVWF ZHU
BEI2 CALL UP
DECFSZ ZHU,1
GOTO BEI2
;------------------------------------落笔
CALL LB0
;------------------------------------写北字第二笔MOVLW 35
MOVWF ZHU
BEI3 CALL KSHT
DECFSZ ZHU,1
GOTO BEI3
;------------------------------------抬笔
CALL TB0
;------------------------------------下降
MOVLW 9
MOVWF ZHU
BEI4 CALL DOWN
DECFSZ ZHU,1
GOTO BEI4
;------------------------------------慢速后退
MOVLW 5
MOVWF ZHU
BEI5 CALL MSHT
DECFSZ ZHU,1
GOTO BEI5
;------------------------------------落笔
CALL LB0
;------------------------------------右上
MOVLW 16
MOVWF ZHU
BEI6 CALL XIEXIAN4
DECFSZ ZHU,1
GOTO BEI6
;------------------------------------抬笔
CALL TB0
;------------------------------------快速前进
MOVLW 14
MOVWF ZHU