版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目一机械臂移动与物体抓取创灵实验平台串口方式实现机械臂三维空间移动任务四职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务四
串口方式实现机械臂三维空间移动认识串口,了解波特率、数据位以及PythonSerial库;学习如何使用串口;了解串口协议发送指令的方法和原理以及常用串口指令的使用。学习通过串口编写控制机械臂Python脚本方法并能够熟练自行编写对应脚本完成所需要求掌握Python-Serial库的使用;掌握串口协议发送指令的方法;掌握串口返回数据读取;掌握常用串口控制机械臂指令;掌握使用串口编写Python脚本控制机械臂。职业能力目标01实验目的实验内容职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务四
串口方式实现机械臂三维空间移动
此任务要求同学们认识串口,了解波特率、数据位以及PythonSerial,学习如何使用串口控制,了解串口协议发送指令的方法和原理以及常用串口指令的使用,并学习通过串口编写控制机械臂Python脚本方法并能够熟练自行编写对应脚本完成所需要求。任务描述任务要求下载安装Python-Serial库;掌握串口协议发送指令的相关函数,并完成相关实验;完成串口返回数据读取,得到对应结果;使用常用串口控制机械臂指令,实现机械臂移动到指定位置;能够独立使用串口编写Python脚本控制机械臂。任务描述与要求02职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务四
串口方式实现机械臂三维空间移动任务分析在引导案例里我们学习了串口,那么什么是串口通信呢?我们要如何通过串口方式实现机械臂三维空间移动三.根据自己的了解,通过串口控制机械臂在生活中还有哪些用途呢?任务分析与计划03任务计划表项目名称创灵实验平台任务名称串口方式实现机械臂三维空间移动计划方式自主设计计划要求请用6个计划步骤来完整描述出如何完成本次任务序号任务计划1
2
3
4
5
6
通过上面的思考,你是否对本任务要完成的工作有所了解?让我们一起来制订完成本次任务的实施计划吧!任务分析与计划03职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务四
串口方式实现机械臂三维空间移动05知识储备串口通信的相关参数及作用2串口通信的原理1Pythonserial库3
世界上首次推出台式计算机时,它们带有串行端口和并行端口。串行端口通常用于连接串口调试设备,并行端口用于打印机。现在部分台式计算机上已经这两种类型的端口,因为通信通过以太网端口进行,而连接打印机可以使用USB端口或以太网端口,或者通过wifi/蓝牙的无线连接。什么是串口?04串口通信的原理
串口的出现是在1980年前后,数据传输率是115kbps~230kbps。串口出现的初期是为了实现连接计算机外设的目的,初期串口一般用来连接鼠标和外置Modem以及老式摄像头和写字板等设备。串口也可以应用于两台计算机(或设备)之间的互联及数据传输。由于串口(COM)不支持热插拔及传输速率较低,部分新主板和大部分便携电脑已开始取消该接口。串口多用于工控和测量设备以及部分通信设备中。串口的由来?04串口通信的原理串口通信的原理
目前,仍有许多计算机接口符合“串行”的要求,常见接口包括SCSI、SATA(用于连接硬盘驱动器等)和USB(还有其他接口)。工业联网设备上常见的串口是RS232串口,RS232串口分为DB-9针和DB-25针。如下图:串口有几种形式?几种接口样式04串口通信的原理
1.控制台输入/输出嵌入式系统开发项目的过程中,几乎都会有一个终端仿真器连接到目标系统上的串口。这与CPU架构和它运行的操作系统无关。即使有到目标的网络连接,并且可以远程运行时,可以清楚的了解当前串行连接发生了什么,特别是如果发生了意外情况能及时获取信息。串口有哪些用途?
2.数据通信串口连接可用于系统内的处理器间通信或与系统不同部分的通信。串口提供设备之间的物理连接,但必须使用通信协议来确保可靠、无差错的数据路径。根据链路的要求,可以实施简单的协议传输,或者使用行业标准协议,例如PPP或HDLC。这些协议起源于数据通信,允许主机之间的点对点网络。这在不包括以太网控制器的简单、低成本设备中特别有用,因为出于成本、空间或功率考虑。嵌入式系统中使用的TCP/IP协议栈通常支持使用串行链路进行物理连接和PPP或SLIP提供链路层协议
3.外部设备通讯调试新设备或更新系统参数通常需要通过串口连接到一台设备并与服务程序交互。网络工程师通常以这种方式设置交换机和其他网络基础设施。通常,来自一组设备的串口连接到终端服务器,允许工程师通过网络接口连接到其中的任何一个。串口还用于将设备连接在一起,例如一种或另一种类型的调制解调器(PSTN、3G、卫星)、GPS装置、望远镜、传感器、电源逆变器和许多类型的工业控制设备。04
串口形容一下就是一条车道,而并口就是有8个车道同一时刻能传送8位(一个字节)数据。但是并不是说并口快,由于8位通道之间的互相干扰(串扰),传输时速度就受到了限制,传输容易出错。串口没有互相干扰。并口同时发送的数据量大,但要比串口慢。串口硬盘就是这样被人们重视的。串口与并口的区别?04串口通信的原理串口通信的原理04
串口通信(SerialCommunicaTIons)的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。它很简单并且能够实现远距离通信。比如IEEE488定义并行通行状态时,规定设备线总长不得超过20米,并且任意两个设备间的长度不得超过2米;而对于串口而言,长度可达1200米。串口通信的原理04
典型地,串口用于ASCII码字符的传输。通信使用3根线完成,分别是地线、发送、接收。由于串口通信是异步的,端口能够在一根线上发送数据同时在另一根线上接收数据。其他线用于握手,但不是必须的。串口通信最重要的参数是波特率、数据位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。思考一下,在生活中我们有哪些地方用到了串口通信?05知识储备串口通信的相关参数及作用2串口通信的原理1Pythonserial库3串口通信的相关参数及作用04
这是一个衡量符号传输速率的参数。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。一般调制速率大于波特率,比如曼彻斯特编码)。波特率:串口通信的相关参数及作用04
这是衡量通信中实际数据位的参数。如何设置取决于你想传送的信息。比如,标准的ASCII码是0~127(7位)。扩展的ASCII码是0~255(8位)。如果数据使用简单的文本(标准ASCII码),那么每个数据包使用7位数据。每个包是指一个字节,包括开始/停止位,数据位和奇偶校验位。由于实际数据位取决于通信协议的选取,术语“包”指任何通信的情况。数据位:停止位04
用于表示单个包的最后一位。典型的值为1,1.5和2位。由于数据是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率同时也越慢。思考一下,我们要怎么在串口中设置呢?串口通信的相关参数及作用04
在串口通信中一种简单的检错方式。有四种检错方式:偶、奇、高和低。当然没有校验位也是可以的。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是011,那么对于偶校验,校验位为0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位1,这样就有3个逻辑高位。高位和低位不奇偶校验位:串口通信的相关参数及作用04
真正的检查数据,简单置位逻辑高或者逻辑低校验。这样使得接收设备能够知道一个位的状态,有机会判断是否有噪声干扰了通信或者是否传输和接收数据是否不同步。奇偶校验位:05知识储备串口通信的相关参数及作用2串口通信的原理1Pythonserial库3Pythonserial库04
Pythonserial是Python用来进行串口操作的一个库,库集成了串口常见操作,如:打开串口、关闭串口、串口写数据、串口读数据等。例如:lser.close##关闭串口lserial.Serial##打开串口lis_open##判断串口是否正常开启lser.write##写入数据lser.read##读取数据并有以下几个常用命令:Pythonserial库04
在了解完Pythonserial以及他的常用命令后,我们要如何安装Pythonserial库呢?
安装serial库的方法是使用pip进行安装,安装指令【pipinstallpyserial】!pipinstallpyserial
在介绍完安装serial库后,我们来看看serial库命令的使用:Pythonserial库04serial打开串口:importserialser=serial.Serial("/dev/ttyACM0",115200)#第一个参数是设备、第二个参数是波特率serial关闭串口:ser.close()serial串口写入数据importserialimporttimeser=serial.Serial("/dev/ttyACM0",115200)#serial串口设置、波特率设置data=b"#5P2205"ser.write(data)time.sleep(1)ser.close()Pythonserial库04serial串口查看返回值importserialser=serial.Serial("/dev/ttyACM0",115200)data=b"#5P2205"ser.write(data)whileTrue:line=ser.readline()print(line)职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务四
串口方式实现机械臂三维空间移动串口控制机械臂移动到指定位置205任务实施常见机械臂操作串口指令1
串口方式实现机械臂三维空间移动任务四常见机械臂操作串口命令:l移动机械臂
b"G0X<x坐标值>Y<y坐标值>Z<z坐标值>F90\n"l打开末端吸泵
b"M2231V1\n"l关闭末端吸泵
b"M2231V0\n"l读取机械臂信息
b"#5P2205"
请根据串口控制机械臂移动中实验预览的相关代码,了解常用机械臂操作串口命令。串口连接机械臂05任务实施串口控制机械臂移动到指定位置2常见机械臂操作串口指令13
串口方式实现机械臂三维空间移动任务四实验预览:importtime#导入库importserialser=serial.Serial("/dev/ttyACM0",115200)#串口通信time.sleep(2)#延时data=b"G0X120Y0Z60F90\n"#将机械臂移动到x=120,y=0,z=60的位置ser.write(data)whileTrue:line=ser.readline()print(line)以通过重启内核,来停止代码中的while循环,如图所示:串口控制机械臂移动到指定位置我们要怎样根据实验预览代码去编写机械臂右移、上移等?我们要如何使用串口控制机械臂完成所需任务呢?在学习完后,我们要怎么帮所学整合利用,学以致用呢?串口方式实现机械臂三维空间移动
05通过上面的思考,你是否对本任务要完成的任务有所了解?接下来我们进入使用串口控制机械臂移动到指定位置编写控制机械臂的Python脚本的环节进行学习吧!串口方式实现机械臂三维空间移动05进入学习通过串口方式编写Python脚本串口方式实现机械臂三维空间移动05动手练习:(根据实验预览中所学知识,我们来试试自行编写代码完成所需任务吧!)1.在<1>、<2>、<3>处,填入相应的值,使得机械臂移动到x=130,y=30,z=70。2.在<4>处填写对应的代码,使得代码能将机械臂移动指定的位置。importtimeimportserialser=serial.Serial("/dev/ttyACM0",115200)time.sleep(2)data=b"G0X<1>Y<2>Z<3>F90\n"<4>whileTrue:line=ser.readline()print(line)在完成动手练习后,接下来我们来学习串口方式打开机械臂末端吸泵吧!串口方式打开机械臂末端吸泵05实验预览:importtime#导入库importserialser=serial.Serial("/dev/ttyACM0",115200)#串口通信time.sleep(2)#延时data=b"M2231V1\n"#打开ser.write(data)whileTrue:line=ser.readline()#读取数据print(line)以通过重启内核,来停止代码中的while循环,如图所示:除了串口方式打开机械臂末端,我们还要学习串口方式关闭机械臂末端吸泵。串口方式关闭机械臂末端吸泵05实验预览:以通过重启内核,来停止代码中的while循环,如图所示:importtimeimportserialser=serial.Serial("/dev/ttyACM0",115200)time.sleep(2)data=b"M2231V0\n"#关闭ser.write(data)whileTrue:line=ser.readline()#读入数据print(line)使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(详细代码运行结果请参照Jupyter,任务三、串口方式编写脚本控制机械臂)使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(详细代码运行结果请参照Jupyter,任务三、串口方式编写脚本控制机械臂)打开串口编写脚本实验使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(运行以下代码,查看实验效果)左移动机械臂move_left()
stop()右移动机械臂move_right()stop()使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(运行以下代码,查看实验效果)左移动机械臂move_left()
stop()右移动机械臂move_right()stop()move_forward()stop()前移动机械臂使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(运行以下代码,查看实验效果)后移动机械臂move_backward()
stop()上移动机械臂move_up()stop()使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(运行以下代码,查看实验效果)后移动机械臂move_backward()
stop()上移动机械臂move_up()stop()move_down()stop()下移动机械臂使用串口方式编写Python脚本控制机械臂05通过使用serial库编写一个可以左右上下移动机械臂和吸泵开关的脚本(根据常用的串口控制机械臂指令调用进行编写)。接下来让我们进入实验预览。实验预览:(运行以下代码,查看实验效果)打开吸泵set_pump_on()
关闭吸泵set_pump_off()ser.close断开连接职业能力目标01任务描述与要求02任务分析与计划03知识储备04任务实施05任务检查与评价06任务小结07任务拓展08任务四
串口方式实现机械臂三维空间移动任务检查与评价06序号评价内容评价标准分值得分1知识运用(20%)掌握相关理论知识,理解本次任务要求,制定详细计划,计划条理清晰,逻辑正确(20分)20分
理解相关理论知识,能根据本次任务要求、制定合理计划(15分)了解相关理论知识,有制定计划(10分)无制定计划(0分)2专业技能(40%)完成串口方式编写Python脚本控制机械臂,并能独立完成更改相应代码块实现任务目标。(40分)40分
完成串口控制机械臂移动到指定位置实验,并完成动手练习。(25分)完成串口控制机械臂移动到指定位置实验。(10分)没有完成串口控制机械臂移动到指定位置实验。(0分)3核心素养(20%)具有良好的自主学习能力、分析解决问题的能力、整个任务过程中有指导他人(20分)20分
具有较好的学习能力和分析解决问题的能力,任务过程中无指导他人(15分)能够主动学习并收集信息,有请教他人进行解决问题的能力(10分)不主动学习(0分)4课堂纪律(20%)设备无损坏、设备摆放整齐、工位区域内保持整洁、无
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年新教材高中政治第二单元人民当家作主第五课第1课时人民代表大会:我国的国家权力机关练习含解析部编版必修3
- 卖房后写合同范例
- 低价销售协议合同范例
- 家政定金合同模板
- 工程租房合同范例
- 房屋出售解除出租合同范例
- 一楼装修合同模板
- 单位车辆团购合同模板
- 打公司牌子合同范例
- 配电柜并柜停电方案
- 2024-2025学年初中九年级数学上册期中测试卷及答案(人教版)
- 2024入团知识题库(含答案)
- 电梯日管控、周排查、月调度内容表格
- 1+X数字营销技术应用题库
- 学校安全隐患排查整治表
- 房屋施工安全协议书
- HCCDP 云迁移认证理论题库
- 义务教育英语课程标准(2022年版)
- 保险公司招聘销售的笔试题
- 五大盆地综合柱状图
- 苏教版数学四年级下册《五 解决问题的策略 第1课时 解决问题的策略(一)》教学课件
评论
0/150
提交评论