《多功能智能轮椅设计-运动控制系统的设计与实现2.0(.docx》由会员分享,可在线阅读,更多相关《多功能智能轮椅设计-运动控制系统的设计与实现2.0(.docx(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、北京理工大学珠海学院2020届本科毕业生设计多功能智能轮椅设计运动控制系统的设计与实现学 院: 工业自动化学院 专 业: 机械电子工程 姓 名: 陈先旭 学号: 160404102616 指导老师: 文豪 职称: 讲师 中国珠海二二年五月诚信承诺书本人郑重承诺:本人承诺呈交的毕业设计多功能智能轮椅设计-运动控制系统的设计与实现是在指导教师的指导下,独立开展研究取得的成果,文中引用他人的观点和材料,均在文后按顺序列出其参考文献,设计使用的数据真实可靠。本人签名: 日期: 年 月 日多功能智能轮椅设计-运动控制系统的设计与实现摘 要在现如今智能化高速发展的时代,智能、科技已然成为时代的主题之一,智
2、能产品也被越来越多运用到各行业中。而正是由于不断发展的科技,人们也越来越追求高智能化的产品。基于为残障人士与老年人服务,本着操作简单,方便使用者的观念,这次的设计在现有轮椅的基础上优化了轮椅原有的设计,实现了轮椅的自主导航以及避障的功能,极大的方便了使用者的使用,同时也解决了这些人中大多数人都由于出行问题而无法体验到生活的乐趣,领略祖国美好河山的问题。本设计采用arduino单片机MEGA2560作为控制的核心,通过摇杆模块、电机驱动模块、推杆模块、继电器模块等,实现了电机的正反转以及调速,同时利用电机的正反转实现轮椅整体的行进方向,以及对推杆电机的控制进而实现轮椅背部与脚架的角度控制,最终实
3、现可让使用者根据自己需求选择自己舒服的角度。全文讲述了个人设计智能轮椅的软件方案与硬件的电路设计控制实现的全部过程,包含各元器件选择、电气原理图设计、程序编写,硬件调试以及控制实现过程心得体会等。关键词:智能轮椅;arduino单片机;程序设计; Multi-functional intelligent wheelchair design - design and implementation of motion control systemAbstractIn todays era of rapid development of intelligence, intelligence, tec
4、hnology has become one of the themes of The Times, intelligent products have been increasingly used in various industries. And just because of the constant development of science and technology, people are also more and more in pursuit of high intelligent products. Based on the service for the disab
5、led and the elderly, in line with simple operation, convenient users concept, Based on the original design, the existing wheelchair was optimized, realized the wheelchair autonomous navigation and obstacle avoidance function, greatly convenient for the users use, but also solved the problems of most
6、 of these people are due to travel to experience the fun of the life, appreciate the problem of the motherland beautiful country side.This design makes the arduino microcontroller MEGA2560 as control core, through the rocker arm module, motor driver module, a push rod module, relay module, realize t
7、he positive &negative and speed of the motor, at the same time using of the motor and reversing the wheelchair overall direction, and the push rod motor to realize the control of the wheelchair back and legs Angle control, finally realize can make users according to their own needs to choose their o
8、wn comfortable angle. This paper describes the entire process of personal design of intelligent wheelchair software scheme and hardware circuit design and control, including the selection of components, electrical schematic design, programming, hardware debugging and control of the realization proce
9、ss experience.Keywords: Intelligent wheelchair; Arduino microcontroller; Program design;目录1绪论11.1研究的意义11.2现今智能轮椅研究的现状11.3研究的基本思路与设计方案22安全性能要求以及电气控制原理42.1轮椅设计安全性能要求42.2智能轮椅的电气控制设计原理53硬件设计83.1直流电机模块83.2继电器模块133.3推杆电机模块163.4摇杆模块184软件设计214.1程序流程图214.2继电器模块程序设计224.3摇杆程序设计234.4直流电机控制程序设计244.5推杆程序设计285软硬件的
10、联合调试及效果验证315.1软硬件的联合调试315.2软硬件的效果验证336结论与展望37参考文献38致谢39附录40附录140附录241附录344北京理工大学珠海学院2020届本科毕业生设计1绪论1.1研究的意义智能轮椅的产生,是为了服务与行动不便的老年人和残障人士这一类群体。现今的轮椅除了以前那些直接手动利用上肢力量控制轮椅运动的传统轮椅外,其它的大多都是通过使用多种传感器进行信息收集,利用自动与手动控制相结合的智能轮椅。然而在新时代的要求下,它还应具备了自动定位导航、实时避障、多模式识别、人机交互等功能。利用这些功能,使用者可以给轮椅发出指令,单片机再根据指令进行目标点的路线规划,并在自
11、驱动时不断检测周围环境的信息,避开路障,修正路线确保能安全准确地到达目标地点。至于电气控制方面,对于现在市面上的采用手动控制的轮椅,本设计采用arduino MEGA2560作为电气控制的核心模块,大大提高了产品的智能化,也极大地解放了使用者的双手。对于本次设计使用arduinoMEGA2560作为控制核心,除了因为arduino易于上手之外,MEGA2560同时也具有较多I/O口,所以对于轮椅后期维修或者需要另外增加更多功能也提供了硬件基础。随着老龄化的加剧以及残障人口的比例的逐年增加,这一研究将会使更多人收益,同时轮椅的智能化也能使使用者以及其家人更加放心,也解决了这一人群出行难这一大问题
12、。对于这项研究,它主要涉及到了单片机技术、电机控制技术、电气技术等学科领域。因此,该研究具有广阔的应用前景,实现轮椅智能化,对于智能轮椅这一行业发展也具有较大的意义。1.2现今智能轮椅研究的现状根据最新数据,专家预测到2050年前后,中国老年人口全国人数的占比将超1/3,这个数字,无论对于世界上任何一个国家,都是绝无仅有的。由此可知,人口老龄化在中国已经越来越严重了。而且,随着经济的发展,现如今每年的事故发生率也在逐年增加,残疾人数也在不断攀升。而对于残疾人和老年人,出行是一个极大的问题。这些人中大多数人都由于出行问题而无法体验到生活的乐趣,领略祖国河山的美好。为了给残疾人和老年人更好的体验,
13、世界各国也都纷纷进入了智能轮椅的研究,意在通过智能轮椅帮老年人、残障人士更好的出行,自从1986年英国研制第一辆轮椅以来,世界各国都在不断想方设法地解决这一问题。不只是法国VAHM项目、加拿大的AAI公司的TAO项目,包括我国863智能机器人智能轮椅项目以及美国麻省理工的WHEELESLEY项目,都在解决这一问题上付出了巨大努力。对于现如今的智能轮椅,市面上大多都是直接用操纵杆实现轮椅的行进,而并不具备避障和导航的功能。尽管电动的已经是很大的进步,但是对于行动不便的人来说,依旧无法使这些人群的生活得到改善,而随着时代的发展,人们提出对轮椅的发展也提出了更多的要求,会开始希望轮椅可以实现自动驾驶
14、,利用控制系统,让使用者能够直接通过触摸屏幕或者语音而直接实现可以让轮椅直接达到使用者所想要到达的地方,进而真正意义上的解放使用者的双手。因此,这就需要通过利用单片机等控制系统而实现智能控制。在可编程领域中,单片机可算是最为广泛的为控制核心了,特别是现如今智能家居如此盛行的情况下,不管是器械控制、家电,还是工业、医疗设施,单片机都运用得很广泛。凭借着体积小、性能强、扩展灵活、多样化、功耗低和使用方便等优点,现在单片机在全国各地乃至世界都有许多的生产制造商,他们会推出自家各式各样的芯片,而用户可以根据自己熟知度与编写习惯选择合适的芯片。而对于这些芯片,它们会有各自的特点,用户可用单独的单片机控制
15、,也可以选择多块单片机进行通讯进行功能上的互相控制。此外,量身定做的服务在单片机制造公司也是存在的,若是想打造一款属于自己的芯片,可以直接找对应的芯片制造公司进行定做,将所需要的要求告诉芯片制造商,他们就会给你制造出属于你独一无二的芯片,这不仅对于企业自身来说能更好的提高产品性能,同时也能促进产品的更新换代,使得产品不仅在软件上的升级,同时也能在硬件上不断升级,进而提高自身的竞争力。不仅可以缩小体积,简化电路,同时还可以也降低损坏率、错误率,使得产品能够最大程度的优化运算,提高运算速度。1.3研究的基本思路与设计方案现在市面上的智能轮椅大多数都是通过控制核心控制器,实现轮椅的摇杆控制电机的运动
16、,再通过按钮实现推杆电机的运动,进而实现姿态可调功能,从而使得使用者随意变换坐姿。而本设计在原有智能轮椅上,优化了底部控制,同时在原有智能化基础上,再在轮椅上装载激光雷达,实现了轮椅的室内定位导航功能,以及轮椅自动驾驶功能,同时如若有额外需求也还可在此基础上继续开发。对于这次的研究,本人主要负责是智能轮椅的运动控制系统的设计与实现。所以在对arduinoMEGA2560单片机进行熟悉后,通过在网上查阅现有的关于智能轮椅的资料,了解学习其主要的控制思路,考察了解现有智能轮椅具体的控制要求以及关键问题所在,并根据在protues上进行电路图设计。同时,将设计好的软件烧录进软件中进行仿真验证程序与电
17、路图的可行性,再根据已确定正确性的电路图将各个所需的零部件在PCB板上进行布局、焊接。最后,搭建实物后在实物上进行软硬件的整体调试,确保所需要的各功能都能正常运行。在确定了基本思路后,本设计秉着节约空间与成本,智能控制理念,确定以下方案:通过利用继电器的弱点控制强电的原理,利用单片机控制直流电机两端正负极的通断实现直流电机的正反转,进而控制电机的前进、后退、左转、右转等行进控制以及通过继电器控制推杆电机的伸缩而实现整体轮椅的位姿变化。在实现基本功能后,再进行arduino与树莓派之间的通讯,实现上下位机的完全通讯。程序基本设计方案(如图1.1所示)图1.1 设计方案422安全性能要求以及电气控
18、制原理2.1轮椅设计安全性能要求 对于智能轮椅的设计,其实国家早在多年前就给出了确切的相关设计的安全性能要求。按照国家规定,首先,车轮的着地性应良好。如果一不小心压在石头上,或者过一个小坎时,轮子就容易悬在空中,这是极其危险的,极容易导致轮椅的失控,从而发生侧翻等危险。特别对于该轮椅的使用者是残障人士以及老年人,因为这些人身体缺陷以及意识上的不足而反应力并没有正常的年轻人那么快,所以就更有可能会最终出现较为严重的后果。其次,轮椅的设计还要求轮椅在使用者驾驶轮椅时上下坡道或者经过坡道时,保证轮椅在一定的坡度之内,不能因为前倾或者后仰而最终导致轮椅的翻倒,所以这对设计时对轮椅的本身重量有一定的约束
19、,要求电动轮椅在10以内按推上、推下斜坡的方向放置时上坡位轮子仍然附着在坡面上(如图2.1);然后在15以内的坡上,将轮椅车按向左、向右与斜面成直角放置,上坡位轮子不离开测试台面(如图2.2)。只有这样子,才能最好的保护使用者的安全性,确保使用者在使用产品时的安全。除此之外,在驻坡性能方面,国家也有相关的要求,为了避免轮椅使用者在坡上放下车闸后,轮椅还会下溜,所以在轮椅设计时应对轮椅电机的扭矩、轮椅的驻车系统要有较为精密的计算,避免因为轮椅下溜而导致一系列不可估量的后果。 图2.1 上坡示意图 图2.2 驻坡示意图其实,轮椅的设计,其中重要的就是轮椅的速度问题了。对于速度问题,国家其实早已出台
20、了具体标准,规定了老人以及残障人士电动轮椅时速不得超过10公里/小时。考虑到老人、残障人士受到年龄或身体缺陷的限制,不可能和年轻力壮的年轻人般反应迅捷,而当速度较快时,年轻人有时都未必在遇到紧急情况时能及时作出反应,更何况这些轮椅的使用者,所以更需要限制轮椅的速度。为了适应不同环境需求,电动轮椅在研发设计时,其整车宽度、整车长度、车身重量等诸多因素必须互相配合、综合协调,而在这种设计下,如果驾驶太快,极可能发生侧翻等安全隐患。所以,电动轮椅车速度控制在10KM/h,保证了使用者的安全驾驶、安全出行,是非常那个有必要的。 2.2智能轮椅的电气控制设计原理对于这次的研究,本设计选择的开发板是Ard
21、uino ATMEGA2560作为研究的开发板,首先是因为Arduino是起步比较早的开源硬件项目,它的各种开源项目目前已经得到广泛的认可和大范围的应用,硬件电路和软件开发环境也都是完全公开的,所以只要不是运用于商业上,任何人都可以使用、修改。而且它还保留第三方库开发接口, 让使用者可以有一个全面的理解底层机制。同时由于还坚持开源社区一直开放和共享的,设计师也可以更好的专注于功能,不需要把太多的时间浪费在程序的格式。在arduino开发板中,其实还有Arduino Uno、Arduino Nano、Arduino Leonardo等,而至于使用MEGA2560,主要是因为2560在arduin
22、o的开发板中I/O口是最多的,对于智能轮椅设计,会使用较多端口实现各类功能,通过I/O口实现最终的功能,因此MEGA2560是最好的选择。为了更加清楚表明智能轮椅的行进控制工作原理,还有各元件的作用及相互关系,本文使用了在大学期间使用较多的CAD软件设计了电气控制原理图,包括了主电路以及控制电路。所以需要优先通过对本次的程序的整体框架分析再画图,其中包括各个电路的主电路分析以及控制电路分析。对于主电路而言,该设计主要是通过控制直流电机正反转、推杆电机的正反转而实现相关的功能等。至于控制电路,主要就是根据摇杆、继电器、按钮等执行元件的控制要求,按功能的不同,给予控制器不同的输入,而最终实现不同的
23、动作。研究对象的控制系统原理图(如下图2.1所示)。其中轮椅的整体行进主要是通过两个直流电机后驱驱动的,因为两个电机的控制电路和驱动电路是相同的,所以在此处只列出其中一个。在此处列出的是以一个永磁式直流电机作为示例,使用了继电器、按钮、熔断器等元件。在图中是选择了两种继电器,其中KM3、KM4、KM7、KM8、KM11、KM12、KM14、KM15时选择了适用电压为5V的微型继电器,通过正负极先接上电源,再根据信号线确定继电器的通断,而剩下的8个继电器,本文是使用了型号为MY2N-J的瑞雷继电器,这是由24V的直流电压直接驱动的,而因为在程序中需要用到多组触点,所以选择了大11脚的继电器,即是
24、每一个继电器本身便是带上了3组公共端,常开常闭端以及一组开关。其中图中的SB1、SB2是由控制器控制的,当控制器发出高电平信号后,微型继电器KM3或者KM4会合上,从而实现中间继电器KM1或KM2实现闭合,而最终控制对应的直流电机的正转或反转,从而最终在宏观上实现轮椅整体上前进、后退、左转及右转。图2.1直流永磁式电机至于图2.2展示的是直流推杆电机的控制电路。总体上来说这个它的控制电路与直流永磁式电机的控制电路是差不多的,最大的区别在于它是通过按键传送给控制器信号,在控制器接收到信号后将对应的端口赋值,再通过微型继电器控制中间继电器的方法从而实现推杆电机的伸缩,而且推杆电机中本设计对于每个推
25、杆都设计了两个按键,进而实现每个推杆的伸出以及收缩的点动控制。当比如当按键1按下时,脚部推杆电机就会通过控制器的控制而实现继电器的闭合,从而连接推杆电机与24V电源,进而实现推杆电机的伸出,当脚部的脚架达到使用者所需的角度时,使用者只需停止按下该按钮,则推杆电机便会停止伸出并且停留在当前位置,从而实现自锁。对于背部的推杆电机也是大概如此的实现原理,通过按钮实现背部推杆的伸缩,从而最终实现背部和脚架的位姿变换,解决了非智能轮椅使用者容易产生压疮的问题。图2.2 直流推杆电机3硬件设计在这次研究的硬件设计中,本文是先对智能轮椅的各项所需功能进行了分析,在基本确定了各项所需功能后,利用PROTEUS
26、进行各个模块的硬件设计,最终,确定了该智能轮椅控制系统研究由执行机构、控制机构以及驱动机构等几部分组成。本次设计以arduinoMEGA2560作为控制核心,通过继电器模块,摇杆模块,按键模块,电机等元器件相互配合,最终实现智能轮椅的完整功能。为了实现电机等的设计上,必须先研究对应的多个模块,并且通过查询资料学习其原理,工作的条件,确认好符合条件后,才可以确定使用的元件。然后分配好合适位置的引脚,设计出合适的电路,在软件上确认控制的可行性,最后整理并画出适用的电路图。在设计好电路图后,再进行控制系统的部分原件PCB板电路布局焊接,并且在焊接完成后,进行简单的程序测试,以确保电路的无虚焊、漏焊情
27、况,模块的焊接符合实际运作的要求,防止在后期组装实物时由于焊接而导致整体产品运行出现问题,影响最终的研究结果。3.1直流电机模块3.1.1直流电机选配对于智能轮椅控制系统来说,电机的选型可算得是极为重要的一环,因为智能轮椅上的承重较大,所以电机选择时需要使用功率较大,扭矩较大的电机。而且因为轮椅需行走在不同的路面上,本文还查找了轮胎在不同路面的摩擦系数表(见表3.1)。考虑现如今的社会中大多数路面为压实地,所以本次的研究中是以压实地的轮胎摩擦系数作为计算的依据,即 。表3.1 轮胎摩擦系数表在设计中,本设计设定轮椅自重为50Kg,最高可载重重量为100kg。因为根据国家要求,智能轮椅的速度不可
28、达到10KM/H,所以本设计将智能轮椅所能达到最高速度设为9KM/H,则由此可以大概估算轮椅在平地上行进所需要电机的功率: (式3.1) 考虑在现实中,轮椅会通过各种各样不同的路,也会遇到各种各样不同的坡道,而对于轮椅来说,在爬坡时,所需要的电机的功率是更大的。所以,在选择电机时,本设计还得考虑轮椅在爬坡或者下坡时选择电机的功率是否真正适用。在这里,设定坡度的倾角为 为 ,假设轮椅在上下坡时是以1.8KM/H的速度,则对应电机所需要的功率为: (式3.2) (式3.3) 通过对三个数值进行对比可以得知,要想使轮椅正常运行,则电机功率必须大于这三个数值,即电机至少能提供389.77785w的功率
29、。因为在这次的设计中是使用后轮两个电机一起驱动轮椅行进的方法,所以在设计中单个驱动电机至少的功率为 194.888925w,因此本设计在选择电机时应选择在电机功率为200w或更大的电机。一般来说电动机的转速普遍较高,而本设计的智能轮椅的使用者是残障人士或者老年人,因此速度不宜过快,所以这就需要对电机转速进行降速处理。在电机选择时,可以选择自带减速功能的电机,也可以通过电机的选择设计其对应的减速机,但这些都要知道减速机构对应的减速比I。所以,在这里根据设计的驱动轮直径60cm,设定轮椅行进的最大速度为90KM/H,再根据公式w=2n=v/r,则可以得出轮椅后轮的驱动输出速度如下: (式3.4)因
30、为选用转速为3000rpm的电机,所以减速电机对应的减速比应为 (式3.5)所以电机选择时本设计应选择减速比至少为38,功率至少为195W的直流电机。最终,通过多种电机的比较,本设计决定在直流永磁电动机MY1016Z(如下图3.1所示)以及直流无刷电机57BL115S21-230tf9(如下图3.2所示)选择最符合本设计的电机,两个电机的各项主要参数如下表3.2,表3.3所示。 图3.1 直流永磁电动机MY1016Z 图3.2 直流无刷电机57BL115S21-230tf9表3.2 直流永磁电动机MY1016Z各项主要参数表3.3 直流无刷电机57BL115S21-230tf9对于直流永磁式电
31、动机,除了在功率、减速比等多方面都符合研究设计的要求外,一个较大的优势是这是集电机、减速机构为一体的整体结构设计,因此在设计上便不需要再另外设计减速机构,在减轻设计重量的同时也缩减了整体设计上的体积。而且电机功率较大,通过左右电机成组使用,电机平衡性较好,稳定性较高。而缺点在于电机寿命较短,对于电极的维护也较为麻烦。至于直流无刷电机,优缺点也是很明显。首先除了和永磁式电动机一样功率较大,较为稳定之外,由于这是利用电子取代传统的机械换向,所以可靠性较好,故障率较低,电机的使用寿命也相对便较长。然而,直流无刷电机缺点便是需要另外配置驱动器驱动电机和配置减速机构以达到设计所需要的速度。这样一来,设计
32、的整体成本便会上升,而且对于控制的要求也就相对提高了。因为一开始在两种电机之间进行选择,所以在下文软件设计时是对两种电机都进行了设计,通过两种电机最后的效果展示确定最终的最适合该设计的电机。最后,在对两种电机进行比较后,综合其他因素,考虑本设计小组上位机自动驾驶对于电机的要求需要通过编码器识别轮椅整体的位置和姿态,以及通过左右电机的调速实现差速控制,最终,本设计选择了直流无刷电机57BL115S21-230tf9作为最终的驱动电机。对于无刷电机来说,要想用arduino控制,则还需要通过驱动器,通过控制驱动器最终实现电机的方向变换以及转速各种功能。所以,根据选择的直流无刷电机,本设计选择了ZM
33、-6615(如图3.3所示)作为本次电机的驱动器。至于减速机构,对应前面的计算得出的数据以及匹配电机的型号,选择了减速比为96的行星减速机(如图3.4所示)。 图3.3 电机驱动器ZM-6615 图3.4 行星减速机3.1.2直流无刷电机驱动设计对于直流无刷电机的驱动,因为驱动器是由多个模块组成的,不可能在proteus元件库中找得到直接对应的元件,所以本文是在仿真设计中是使用了与驱动器的原理大概的L298作为模拟(如图3.5所示)。这个芯片是通过电机两端的信号控制电机的正反转,再通过PWM信号控制电机的转速,基本可以模拟电机的运转情况。图3.5 L298驱动电机由图3.5可知,在电机驱动方案
34、中,因为之前查阅资料时发现,对于直流电机来说,很多时候出现问题在于电机的正反转没有控制好,导致电机容易磨损甚至烧坏。所以一开始的电路设计,本设计设计了如下图的H桥式驱动电路(见图3.6)解决电机正反转可能同时发生的问题。图3.6 H桥式驱动电路H桥式电机驱动电路是由4个三极管和一个电机组成。当电机运转时,导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。因为这个驱动电路重点在于保证H桥上两个同侧的三极管不会同时导通,当三极管Q1和Q2同时导通时,电流就会从正极穿过两个三极管直接回到负极,此时,电路中除了三极管外没有其他任何负载,电流
35、可能达到最大值,就会容易烧坏三极管。所以,控制好同侧三极管不会同时导通极为重要,在设计中通过与非门实现同侧三极管不可能同时导通,最终实现这一问题。而对于在实际使用电机驱动器ZM-6615,因为是控制驱动器的状态最终实现电机的状态控制,所以本设计选择了上位机控制驱动器的使能信号和方向信号控制电机的运转与方向,再将驱动器的模拟信号端口与上位机输出PWM端口相连,通过端口输出的0到5V的模拟信号而实现电机的调速。驱动器的具体各个端口的功能与连接如表3.4所示。表3.4 驱动器端口功能与连接3.2继电器模块本次的设计中,继电器模块其实是运用在两个地方。一个是对于电机的方案选择为永磁式直流电机时,则利用
36、继电器模块实现轮椅的整体行进,另外一个则是对于推杆电机,本设计需要通过继电器模块实现其伸缩。当使用直流永磁式电机时,因为电机所使用的电压为24V,所以利用继电器弱电控制强电的特质,本次设计为当继电器得电后常开端闭合,从而实现电机与电源之间的连接,同时通过实现控制两对不同继电器的通断,最终实现控制电机的正反转。因此,根据这一原理,设计了如下的proteus原理图(如图3.7所示)。在proteus原理图设计中,因为在元件库中并没有11脚的继电器,所以本设计是通过一个8脚继电器和一个5脚继电器并联代替11脚继电器。图3.7 继电器驱动永磁式直流电机电路由图3.7可以得知,在本次的设计中,所需使用继
37、电器触点较多,因此在查阅了相关资料,分析了各继电器的作用后,在实物选择时选择了LEF的驱动电压为24V,驱动电流为3A的大14脚的中间继电器(如图3.8所示),而该继电器的接线图也如图3.9所示。在设计中,考虑到继电器的驱动电流为3A,而arduinoI/O口的输出电流都为mA级,所以在继电器驱动方面一开始本文是设计了两个方案。图3.8 LEF中间继电器 图3.9 中间继电器接线图对于方案一,一开始,本文是打算自行设计I/O电流扩流模块。利用mos管、三极管、电阻等多种原件,通过自行设计电流放大模块最终实现继电器的驱动。至于方案二,使用5V的光耦微型继电器,将微型继电器的正负两端接上电源后,再
38、利用微型继电器控制中间继电器的电源通断,最终实现对中间继电器的驱动。在两种方案的选择中,本设计最终使用了方案二即使用微型继电器驱动,因为用这一方案较为简单,且成本较低,直接将中间继电器与电源连接,也使得驱动更加稳定,避免实验时由于元件焊接等问题无法驱动。所以,在设计中选择了如下图3.10所示光耦继电器图3.10 微型光耦继电器对于这个光耦继电器,他的光电隔离采用贴片式,不仅仅是节省板子的空间,而且有抗干扰功能,具有性能稳定,驱动性强的特点。而且这个继电器的一个优点是,它还设计了高低电平触发引脚选择端,所以使用者可以通过在自身程序选择决定继电器的触发方式。除此之外,光耦继电器体型虽小,可承受的最
39、大的负载却是很大,甚至可以达到直流30V/10A,所以在本设计中采用可以起到弱电控制强电的作用。至于工作原理,因为它是通过线圈得电,后产生磁力将常开端吸引过去导致常开端闭合,常闭端断开,所以DC-、DC+分别接单片机的地与电源,IN口接单片机的控制端口,对于高电平触发,当IN口接的端口为高电平时,继电器就会得电,此时继电器的COM口和NO口则连通,当继电器没得电时,COM口和NC端口是连通的。所以,在设计中,是利用微型继电器和中间继电器组合, KM1正极端口连接微型继电器的NO口,负极端口直接连接电源负极,微型继电器的com口连接24V电源正极,当微型继电器得电时,中间继电器也能得电,则此时电
40、机便可实现正转。同时,为了避免电机正反转同时进行损坏电机,在电路设计中,本设计还进行了电路的正反转互锁。在电机正转的电路中接入让电机反转的继电器的一组常闭端点,在电机反转的电路中接入让电机正转的继电器的一组常闭端点。如此一来,当电机实现正转或者反转时,必然不会出现电机正反转同时进行的情况,保护了电机,避免了电机由于正反转同时出现而导致的电机磨损。3.3推杆电机模块对于推杆电机模块,因为在智能轮椅设计中需要实现靠背部分以及脚架部分位姿的变化,所以本设计使用了机械结构和推杆电机配合的方法实现其对应的角度变化。使用推杆电机,首先是由于推杆电机体积小、精度高、自锁性能好,在控制中只要电机给电就能运动,
41、电机停止供电时就能停止运动。而且在停止后凭借推杆电机良好的自锁性能,还能使其停止在推杆所在位置,这就使得可以对靠背以及脚架部分的在约定的范围内任意角度的调节,实现在一定角度下的任意位姿的变化。至于实物的选择,本设计是选择了如图3.11所示的CLA-100MM,电路设计如图3.12所示。因为CLA-100MM推杆电机也属于直流电机的一种,所以它的控制实际上与之前的直流电机相比执行电路模块几乎没有什么区别,都是通过微型继电器控制中间继电器的通电最终实现电机的正反转,进而实现推杆电机的伸缩。然而,和直流电机最大的不同之处在于,推杆电机的执行方式为上电运动,断电自锁,所以使用者可以通过自行选择自己所需
42、的位姿。此外,由图3.13可知,推杆电机的控制电路是由按键组成的,并且为点动控制。所以,当使用者在使用轮椅时,当想让椅背下放,只需按背部推杆电机伸出对应的按键,只要一直按着,靠背便会一直下放直至最低处,如果在过程中使用者认为已经达到自己所需的角度,只需要松开按键,则电机便会停止伸出,并且停留在当前位置,靠背也便会停止在当前角度。如果使用者想收回背靠,也只需按下背部推杆直流电机收缩的按钮,按下直到背靠达到合适的位置松开即可,脚部推杆电机操作也是如此。 图3.11 推杆电机CLA-100MM图3.12 推杆电机执行模块图3.13 推杆电机控制模块3.4摇杆模块对于智能轮椅来说,部分除了执行部分之外
43、,控制部分也很重要。因为使用者必须通过控制部分,向控制器传输自己所想要表达的指令,控制器才可以根据指令做出相应的动作。在智能轮椅中,因为平时的使用者为老人或残障人士,相对于使用按钮,推杆可以起到更好的控制作用,而且推杆可以更加简单明确的表达使用者的意图,使用者即使未使用过智能轮椅也可以很快学会使用。实际上,摇杆的本质就是变位器,通过变位器的阻值变化,从而实现其不同形式,最后给予控制器不同的信号。因此,在摇杆的选择中,通过对单片机输出信号等的分析,最后选择的摇杆模块为TY2二位摇杆模块(如图3.14所示),这是由两个电阻为 10K的电位器拼装而成的,适用电压为5V,将电位器的两端接上5V电源的正
44、负后,将中间的可变端接入控制器后便可读取相关信号。 图3.14 TY2摇杆模块在模拟摇杆的输出中,本设计时通过了两个变阻器作为二维摇杆的两个方向控制(如图3.15所示),因为在proteus无法实时监测模拟量的输入,无法很难确定变位器所在模拟量具体范围。所以,在proteus设计时,是使用了四个电位器将PWM调速与方向控制分开,即利用PWM调速模块(如图3.16所示)占空比的设计而最终实现电机的调速,而在实际的控制中,这四个摇杆是通过TY2摇杆模块实现的,也就是通过两个电位器实现电机的方向变换和调速。除此之外,在proteus的控制模块仿真时,因为电位器的仿真使用的是模拟量,而proteus对
45、于模拟量的仿真不是很灵敏,所以本文还设计了使用了4个按钮控制来分别模拟轮椅的前进、后退、左转、右转(如图3.17所示)。由图3.17可知,电路中使用了按钮,而一般来说,在实际的应用中,按钮都会存在按键抖动的问题。因为通常的按键为机械弹性开关,而机械触点存在弹性作用,所以一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开,无论是闭合还是断开,在那一瞬间都会有一连串的抖动。因此在设计上,一般都需要通过硬件上和软件结合进行消抖,只有这样子,才能最大限度的降低由于抖动而产生的对控制端的一系列影响。所以,在设计中时使用了了一个串联电阻和并联电容的方法,通过电阻稳定信号,再利用电容两端的电压
46、不能突变的特性,并联原件以消除接触抖动产生的毛刺电压,实现消抖的功能。图3.15 摇杆方向控制图3.16 摇杆PWM调速控制图3.17 按钮控制4软件设计在进行软件设计之前,我们需要把一些前期的准备工作都做好,把编程,烧录程序的电脑软件都安装好。编程软件很多,如Notepad+、DEV C+、keil、arduino IDE等,然而,对于arduino程序设计来说,最好用的便是arduinoIDE这一个软件。它是Arduino的开放源代码的集成开发环境,语法简单,同时还在开源的网站上拥有许多开源代码,可供大家交流使用,使得Arduino的程序开发变得非常便捷。而且这个软件还集成了烧录功能,设计
47、者只需要写好程序后编译烧录,同时将配置好arduino板所对应的com口,在这个软件便可同时实现编译上传。除此之外,这个软件相对其他软件的优势之处在于它可以读取端口值,所以设计者可以在程序出现问题时通过运行程序读取端口值更快了解问题所在之处,也增强了使用者和单片机版的交互。在对软件进行了熟悉之后,我们需要通过对各个子程序的实行思路进行大概规划,查阅相关书籍,并把程序的主框架制定下来。4.1程序流程图在程序的控制设计之前,还需要画出大体的流程图。通过直观、形象、易于理解的流程图,设计者可以在程序的设计更加有方向,效率更高。在基本确定设计流程后便可画出设计的流程图,而对于本次的智能轮椅设计,基本流程如下:当摇杆发出信号后,单片机会判断摇杆发出的信号属于哪一种,同时根据信号做出反应而使继电器通断,从而最终实现直流无刷电机的运动。至于直流推杆电机,则是通过按钮回馈给控制器,同时控制器根据反馈的