SCI论文(www.lunwensci.com)
摘要:机器人舞蹈动作的实现离不开机器人对各个关节处的舵机精确控制,而舵机控制器是控制舵机精确转动的关键,实现舞蹈机器人动作的流畅、自然的保证。基于STM32F103RCT6单片机,开发了24路舵机控制器,实现了PC端对舞蹈机器人的实时在线调试,舞蹈机器人舞蹈动作的编辑、下载及离线运行,舞蹈机器人对应角度的转动,提高了多路舵机的控制精度。系统设计包括舵机控制器模块、上位机对单片机下载程序、上位机软件。与PID舵机控制器的对比实验结果证明,所设计的STM32F103RCT6单片机舵机控制器的稳态误差和最大超调量都为0,表明所设计的舵机控制器系统超调量和静态误差都很小,系统具有很好的稳态和动态性能,控制精度高,响应速度快,满足竞赛对舞蹈机器人的需求。
关键词:舵机控制器;STM32;舞蹈机器人;驱动程序;上位机程序
Design of Steering Gear Controller for Dance Robot Based on STM32 Zhou Feiyang,Gu Fang,Xie Guangjie,Gong Zheng,Shi Yinggang
(College of Mechanical and Electronic Engineering,Northwest A&F University,Yangling,Shaanxi 712100,China)
Abstract:The realization of robot dance movements relies on the robot′s precise control of the steering gear at each joint,and the steering gear controller is the key to the precise rotation of the steering gear,ensuring smooth and natural movements of the dancing robot.Based on the STM32F103RCT6 microcontroller,a 24-channel steering gear controller is developed to realize real-time online debugging of the dance robot on the PC,and the editing,download and offline operation of the dance robot′s dance moves,and the rotation of corresponding angles of dancing robot,therefore,the the control accuracy of multi-channel steering gear is improved.System design includes steering gear controller module,host computer to the single chip download program,host computer software.Comparison experiment results with the PID steering gear controller shows that the steady-state error and maximum overshoot of STM32F103RCT6 SCM steering gear controller designed in this paper are 0.The results show that the overshoot and static error of the steering gear controller system designed in this paper are very small,the system has good steady-state and dynamic performance,high control precision,fast response speed,and can meet the requirements of dancing robots in competition.
Key words:steering gear controller;STM32;dance robot;driver;upper computer program
0引言
舞蹈机器人项目是中国机器人大赛暨RoboCup机器人世界杯中国赛的子项目之一,舞蹈机器人的设计初衷是使机器人可以像人一样表演,因此舞蹈机器人动作的美观、协调是比赛评分的重要评判依据。
机器人舞蹈动作的美观、协调依靠对舵机的快速精准控制[1]。舵机作为一种位置伺服的驱动器,是舞蹈机器人的重要输出执行机构[2-3],舵机控制效果是影响舞蹈机器人动作好坏的重要因素。目前,舵机大多采用脉冲宽度调制(PWM)信号[4-5]控制。常用的产生PWM信号的设备包括单片机[6]、CPLD[7]和FPGA[8]器件等。其中,利用单片机定时器[9]产生的PWM波,控制精度较高,但控制程序繁琐,控制精度较高,故障率比较高,仅限于6路以内的PWM输出;利用CPLD或FPGA的并行处理能力和大量I/O接口所产生的PWM波,在保证控制精度的同时,可以控制几十甚至上百个舵机同时工作,但该方法并不具备事务处理能力[10],需要MCU协同工作[11],开发成本较高[12]。
本文基于STM32开发板[13]设计了用于舞蹈机器人的舵机控制器,包括舵机控制器模块、上位机对单片机下载程序、上位机软件等。通过PID舵机控制器[14]进行对比实验,验证该设计的可行性。通过上述舞蹈机器人舵机控制器的设计,拟在保证控制精度的前提下,使其具备事务处理能力、操作简便、低成本等优点,并最终可以实现舞蹈机器人的动作美观、协调,以满足竞赛需求。1竞赛要求与舵机控制器设计要求根据评分细则,舞蹈机器人在比赛过程中完成高难度的动作,机器人的运动与音乐紧密结合可以获得一定的分值,表演超出规定时间则会进行相应的扣分。
舞蹈机器人一般包括17~20个舵机,每个舵机都需要独立控制的PWM信号,舵机周期为20 ms,1个定时器在1个周期可以同时控制8个舵机,因此选用3个定时器,设计24路舵机控制器,以满足对舞蹈机器人全部舵机的控制[15]。舵机控制器采用PWM调速模式,通过调整PWM的脉冲宽度,实现对输出电压平均值的控制,从而通过控制电机的电枢电压来实现舵机调速。当舵机偏角与要求角度存在误差时,舵机控制器产生PWM波调制信号和控制伺服电机正反转信号,不断调整舵机角度,实现舵机位置的精确控制[16]。
舵机控制器在满足对多路舵机的精准、快速控制的同时,应具备操作简便、低成本等优点,并具有一定的事务处理能力。舵机控制器系统的具体设计要求如下:
(1)电路设计要求:电源线和地线提供舵机工作所需的4~6 V电源。信号线输入1个周期为20 ms,频率为50 Hz,宽度可调的PWM信号。要求舵机转轴角度随脉冲宽度的变化呈正比变化,角度按照设定值进行准确、快速变化。
(2)驱动软件设计要求:驱动软件主要实现24路可控占空比的PWM信号输出,驱动舵机转到指定角度,同时要实现上位机软件对舵机的在线控制,上位机数据的下载存储,以及存储器中的数据依次输出。进行定时器6中断程序设计[17],以保证PWM脉宽变化的实时性,以及系统的执行效率;进行多路PWM输出程序设计,以实现多路PWM输出模块的初始化和实时刷新中断服务;进行串口通信程序设计,以提高对数据的处理能力;进行flash模拟EEPROM程序的设计,以实现舵机动作组的片内存储,有效提高芯片的使用寿命。
(3)上位机软件设计要求:用于控制舵机的转动角度;将添加的舵机动作进行保存,并可以实时地去调用其中的动作;动作下载及运行控制;将数据保存为TXT文本,实现数据的导入与导出。
2舵机控制器设计
2.1电路设计
STM32F103RCT6的最小系统电路的原理如图1所示,包括时钟电路、复位电路、SWD下载电路、BOOT配置电路、串口电路等。
时钟来源选用外部8 MHz的晶振,选用22 pF的C4和C5作为其负载电容,选用1 MΩ的电阻R12匹配阻抗。当单片机检测到外部时钟失效时,将自动切换为内部RC振荡器产生的8 MHz时钟。STM32单片机采用低电平复位,RST引脚是复位信号的输入端。当按下复位按键时,电容C2迅速放电,放电结束后,RST引脚电压即为GND,使RST引脚为低电平,单片机复位。STM32单片机通过SWD接口实现程序的烧写,省去了串口下载BOOT引脚的配置,而且与JTAG下载相比,减少了单片机引脚的占用,同时减少了PCB板的面积。单片机通过SWD接口实现程序烧写,在运行调试过程中,不需要改变BOOT引脚的状态,直接将BOOT1和BOOT2引脚,通过10 kΩ的下拉电阻R12和R14,接到GND。为了方便调试和扩展模块的连接,设计中预留了串口电路。根据上述方法,设计好舵机控制器电路板,如图2所示。
2.2驱动软件设计
2.2.1总体设计
舵机控制器驱动软件,主要实现24路可控占空比的PWM信号输出,驱动舵机转到指定角度。此外,要实现上位机软件对舵机的在线控制,上位机数据的下载存储,以及存储器中的数据依次输出。总体来讲,驱动程序设计内容,包括多路PWM输出实现、USB模拟串口程序及串口通信协议设计、flash模拟EEPROM设计[18]、动作间过渡规划、中断程序时序规划等。驱动程序的整体程序流程如图3所示。由图可知:首先对驱动程序进行子模块初始化,初始化完成后运行首工作,先将延时设置为1 s,然后判断是否为离线运行,如果是离线运行,则依次读取并执行存储动作,然后对下一动作重复离线运行及其之后的判断,如果不是离线运行,则转入是否为在线运行的判断;如果是在线运行,则实时执行上位机发送的动作,然后对下一动作重复离线运行及其之后的判断,如果不是在线运行,则转入是否为下载模式的判断;如果是下载模式,则下载上位机动作组存储器,然后对下一动作重复离线运行及其之后的判断,如果不是下载模式,则延时1 s,并重新执行之后的判断。
其中,初始化子程序流程如图4所示。首先初始化中断优先级并分为4组,然后中断初始化定时器6刷新,在此之后初始化PWM发生相关定时器,紧接着初始化串口1,随后初始化各子模块,下一步初始化动作读取起始地址,最后提示上位机初始化完成。在执行初始化程序之前,需要锁定控制器PWM输出,避免误输出。初始化子程序执行完毕后,允许PWM信号输出。初始化程序中设置了许多标志位,以便在中断程序中,检测到控制器当前状态,相关标志说明如表1所示。
2.2.2定时器6中断程序设计
为了保证PWM脉宽变化的实时性,以及系统的执行效率,把除初始化程序和下载检测程序之外的所有程序,放在刷新周期为15 ms的定时器6的刷新中断中执行。定时器6的中断功能的程序流程如图5所示。由图可知:首先是定时器6发出中断请求,然后中断开始,紧接着判断是否刷新中断,若不刷新中断,则中断刷新并返回,如果刷新中断,紧接着判断TIM_Key是否等于1;如果TIM_Key等于1,则执行使能PWM相关定时器,清零TIM_Key指令,若TIM_Key不等于1,随后判断条件‘data_flag=1且download_flag=0?’;如果条件‘da⁃ta_flag=1且download_flag=0?’成立,则执行‘New_To_Old()’指令,下一步再进行‘On_line_flag=1?’条件的判断,如果条件‘On_line_flag=1?’成立,则先执行‘Uart_To_BUFF()清零USART_RX_STA’指令,然后规划动作Guide_flag=1,若‘On_line_flag=1?’条件不成立,则直接规划动作Guide_flag=1,然后再进行串口是否接收到命令的判断;若条件‘data_flag=1且download_flag=0?’不成立,则直接进行‘串口是否接收到命令’条件的判断;如果串口接收到命令,则执行‘Switch USART_RX_BUF[0]’指令,然后判断case 0x后面的序号,从01到05分别执行关闭下载模式、打开下载模式、打开在线调试模式、关闭在线调试模式、暂停离线运行、继续离线运行等指令,然后结束;若串口没有接收到指令,则进行指令‘Guide_flag=1’的判断,如果Guide_flag=1,则进行线性规划动作并设置标志位,然后进行条件‘Chage_flag=1’的判断;若Guide_flag不等于1,则直接进行条件‘Chage_flag=1’的判断;如果Chage_flag=1,则规划后刷新动作,动作执行完通知串口并设置标志位,若Chage_flag不等于1,则进行条件‘离线状态、角度刷新未完成、前一动作执行完毕’的判断,如果条件成立,则从flash取动作并设置标志,然后中断返回,若条件不成立,则直接中断返回。
该中断服务子程序实现的功能主要有:
(1)同时使能所有PWM输出相关寄存器,保证所有PWM信号的相位差最小;
(2)线性规划动作;
(3)解析串口发送的相关命令;
(4)刷新比较寄存器的值;
(5)若不允许PWM输出则设置允许PWM输出;
(6)从flash读取数据。
2.2.3多路PWM输出程序设计
STM32F103RCT6单片机内置4个通用定时器和2个高级定时器,每个定时器有四个独立的PWM比较输出通道。以此为基础,通过配置定时器模式为PWM模式,实现24路PWM信号的输出。多路PWM输出模块的初始化子程序和实时刷新中断服务子程序的流程,如图6~7所示。由图6可知:首先进行时钟使能指令,然后配置定时器工作于PWM输出模式,下一步初始化定时器刷新时间,最后使能所有PWM输出定时器。由图7可知:首先判断定时器是否刷新中断,如果中断,则刷新比较寄存器的值为Angle_new的值,然后清除中断标志位;若没有中断,则完成多路PWM实时刷新流程。
2.2.4串口通信程序设计
图8为串口通信流程,由图可知:首先串口处于中断状态,然后进行是否接收到中断信号的判断,若没有,则中断返回;如果接收到中断信号,则进行条件‘USART_RX_STA第15位为1?’的判断;如果条件成立,则中断返回,若条件不成立,则进行条件‘USART_RX_STA第14位为1?’的判断,如果条件成立,则进行条件‘switch Res’的判断,case 0xff、case 0xfe、default条件下分别对应USART_RX_STA第15位置1,USART_RX_STA第15位置1,清零USART_RX_STA第14位并向数据BUFF写入0xff和Res的指令,然后switch End,最后中断返回;若条件‘USART_RX_STA第14位为1?’不成立,则进行条件‘Res=0xff?’的判断;如果条件成立,则标记USART_RX_STA第14位为1,然后将数据BUFF写入Res;若条件不成立,则直接将数据BUFF写入Res,最后进行中断返回。
串口通信的协议:
(1)当串口接收一串数据,以标识0xff,0xff结尾时,将标识前的数据,当作动作处理,将标志位da⁃ta_flag置1;
(2)当串口接收一串数据,以0xff,0xfe结尾时,将标识前的数据,当作命令处理,将命令标志位command_flag置1,以便在基本定时器6的中断中处理相关数据。
实现该功能的程序流程如图8所示。其中USART_ RX_STA为一个16位的无符号整数,它的0-13位存储了串口接收到,但未处理的数据字节数,14位和15位标记了数据接收的状态。
2.2.5 flash模拟EEPROM程序的设计
STM32F103RCT6单片机内置256 KB的程序存储区,将64 KB空间分配给程序存储,剩余的192 KB空间模拟成EEPROM,实现舵机动作组的片内存储。STM32内置flash重复写入次数一般为10 k次,让动作组在整个可用EEPROM区循环存储,能够有效的提高芯片的使用寿命,能够实现上千次的动作写入,满足一般使用要求。
2.3上位机软件设计
采用Qt Creator 3.4.2,进行上位机软件开发,设计的软件可操作电脑USB接口,与下位机串口之间通信,可按照预先给定的传输协议,实现上位机发送信息给下位机。软件功能,包括控制舵机的转动角度;将添加的舵机动作进行保存,并且显示在界面,而且可以实时地去调用其中的任意一个动作;还有将保存的动作下载到下位机中,并且可以去控制它们运行、暂停。软件可以将保存的数据导出为TXT文本,也可以将TXT文本导入程序,方便不同电脑之间的程序调用。
根据设计需求,设计上位机软件整体架构,结果如图9所示。由图可知:首先选择COM口,然后选择波特率,紧接着判断串口是否已连接,若没有,则返回选择COM口重新选择;如果串口已连接,则打开串口,随后给下位机发送连接命令,再判断下位机是否返回“连接成功”,若没有,则提示“重新连接”并返回选择COM口重新选择;如果下位机返回“连接成功”,则提示“连接成功”,下一步判断是否有滑条移动,如果有,则获取24路控制滑条数值,并将滑条数值存入下载数组和发送数组,然后发送数组中的数值给下位机,随后再次进行是否有滑条移动的判断;若没有滑条移动,则接着判断“添加动作”按钮是否按下,如果按下,则将当前下载数组存入数据链中然后设置动作组标志为Group++,紧接着在List列表中添加第group组动作并显示,随后再次进行是否有滑条移动的判断;若‘添加动作’按钮没有按下,则转入对“下载动作”按钮是否按下的判断,如果按下,则发送下载命令给下位机,并进行下位机是否返回“下载模式打开”信号的判断,如果返回该信号,则下载数据链中第X个数组到下位机,然后进行条件‘X<group?’的判断,如果条件成立,则关闭下载并提示下载完成,随后再次进行是否有滑条移动的判断;若条件不成立,则执行X++,然后重新下载数据链中第X个数组到下位机,并再次进行判断;若“下载动作”按钮没有按下,则转入对“断开连接”按钮是否按下的判断;如果按下,则发送“断开连接”命令给下位机并结束流程;若没有则随后再次进行是否有滑条移动的判断。
程序运行后,首先定义串口对象,并传递参数,在构造函数里对其进行初始化,以读写方式打开串口,发送联机命令给下位机,系统提示连接成功后,就在上位机界面,进行添加动作、下载动作、控制舵机等操作。
连接界面,包括COM口选择、波特率选择、连接、断开调试。其中,用户可以从COM1~COM8的8个COM口,115 200、576 00、38 400、19 200、9 600 baud的5种常用波特率,选择合适的COM口和波特率,然后点击“连接”按钮,按照通信协议,上位机程序自动与下位机进行通信连接,操作者可以进行相关舵机控制的调试;点击“断开调试”,上位机程序断开与下位机的通信连接,但不断开COM口。
调试界面,包括24路舵机控制模块、保存的动作列表。24路控制模块:每个模块都有滑杆和数字编辑框,可以将滑块移动后的值,实时发送给下位机,控制舵机转动固定角度;保存的动作列表:添加动作功能,将当前面板上24路控制模块的数据保存起来,添加多个以列表形式显示给用户。
控制界面包括暂停、运行、停止、添加动作、保存动作、复位、下载动作、更改时间。暂停:暂停当前运行的动作;运行:连接状态下运行面板上所添加的动作,断开连接状态下运行已经下载好的动作;停止:在连接状态下,停止运行中的动作,以便继续其他操作;添加动作:将当前24路控制模块的数据添加到列表中;设置复位动作:将当前的24路控制模块的状态设定为复位状态;复位:复位到设置的状态,默认为1 500;下载动作:将所保存的所有动作,下载到下位机中;更改时间:更改上一动作到当前动作的执行时间。
其他界面,包括导入、导出、自定义布局、其他信息。导出:将所保存的所有动作导出为TXT文本;导入:将导出的TXT文本导入;自定义布局:激活可以拖动24路控制模块;提示信息:在连接、下载等操作时可以实时给出提示信息。
连接模块控制逻辑架构如图10所示。由图可知:首先选择连接模块的COM口,然后选择波特率,随后判断COM口是否已连接,若没有连接,则重新选择COM口并重复之后的流程;如果已连接COM口,则判断是否已发送下位机连接协议,若没有,则进行再次判断;如果已发送下位机连接协议,则提示连接成功,流程结束。
波特率,以及程序设定好的数据位、校验位、停止位,创建了一个mycom的COM口对象,并且以读写方式打开此对象。然后,给下位机发送连接命令,等待下位机返回连接成功,最后提示连接成功,解锁后续操作模块。
舵机控制模块逻辑架构如图11所示。由图可知:首先判断是否有滑条移动信号,若没有,则重新判断;如果有,则先获取24路控制模块中的数值,然后按照通信协议处理获取的数值,执行‘N++’指令,随后将其保存到列表中,同时判断是否已发送处理之后的数据,若没有,则重复该判断;如果已发送处理之后的数据,则重新返回是否有滑条移动信号的判断。此模块主要是要有实时性,将信号与槽连接,实时检测滑块状态,如果滑动条移动,对应控制值改变,将24路数据发送给下位机,从而下位机可以实时根据滑块的移动响应相应的动作。
程序下载的逻辑架构如图12所示。由图可知:首先判断下载按钮是否按下,若没有,则重复判断;如果下载按钮已按下,则获取保存的组数N,然后获取保存在列表中的第i组数(i初始为0),随后判断是否已下载列表中的第i组数,若没有,则重复判断;如果已下载列表中的第i组数,则令i=i++,下一步判断已下载组数是否大于N,若小于等于N,则重新获取保存在列表中的第i组数(i初始为零)并执行后面的流程,如果大于N,则提示下载结束,流程结束。程序首先给下位机发送打开下载模式的命令,以FF,FE结尾。下位机返回下载模式打开标志后,说明下载模式已打开,调用下载函数,并设置下载进度条,将数据链中的数据从第一条给下位机下载,然后,等下位机返回下载成功的标志后,发送关闭下载模式的命令,提示下载完成。
根据上述思想,编辑的上位机软件界面,结果如图13所示。
3实验验证结果与分析
为了验证本文设计的舵机控制器及控制软件的性能,搭建了基于STM32F103RCT6单片机的舵机调试系统[19],实验平台包括上位机、驱动控制器、通信转换器、电源及舵机5个部分。上位机与舵机控制器通过驱动控制器上预留的SCI串行通信接口[20]发送控制指令,进而测试系统的静态性能和动态性能,验证系统方案的可行性。
由上位机软件发送控制指令,根据试验结果进行分析。根据系统对动态性能的要求,位置转动范围为±20°,最大偏转角的响应时间不超过600 ms。分别采用PID舵机控制器和STM32F103RCT6单片机舵机控制器对控制系统进行测试。图14为PID舵机控制器的方波信号(±20°)响应;STM32F103RCT6单片机舵机控制器的方波信号响应如图15所示。
PID舵机控制器与STM32F103RCT6单片机舵机控制器2种控制器关键性能对比如表2所示。
从表2中可以看出,前馈PID[21]控制除了在上升时间比传统PID控制性能稍差,其余性能均优于PID控制。基于系统对动态性能的需求,在空载情况下扫频带宽要达到10 Hz。由上位机给定幅值为5°、频率为10 Hz的正弦信号。PID的舵机控制器的响应如图16所示;STM32F103 RCT6单片机舵机控制器的正弦信号响应如图17所示。
PID舵机控制器与STM32F103RCT6单片机舵机控制器2种控制器对于正弦指令信号响应的关键性能对比如表3所示。
从表3可知,STM32F103RCT6单片机舵机控制器跟踪曲线与输入曲线拟合程度高,干扰信号的影响很小,并且正弦跟踪响应幅值基本没有衰减,相位滞后角度很小,说明STM32F103RCT6单片机舵机控制器的动态性能很好。
4结束语
本文基于STM32开发板,开发了24路舵机控制器,实现了PC端对舞蹈机器人的实时在线调试,舞蹈机器人舞蹈动作的编辑、下载及离线运行,系统设计包括舵机的舵机控制器模块、上位机对单片机下载程序驱动程序、上位机软件。充分利用STM32F103RCT6芯片内设资源,包括2个串口模块,7个定时器,flash模拟的EEPROM等。通过PID舵机控制器与本文设计的STM32F103RCT6单片机舵机控制器进行对比实验,实验结果表明,与PID舵机控制器的方波信号下6%的最大超调量和正弦波信号下43%的稳态误差相比,本文设计的基于STM32F103RCT6单片机的舵机控制器的最大超调量和稳态误差都为0,具有更好的静态性能和动态性能,可以实现舵机的精准控制,使舞蹈机器人动作的连贯自然,满足竞赛的要求。
参考文献:
[1]张红丽.基于人工智能的机器人舞蹈动作自动生成研究[J].自动化技术与应用,2022,41(4):82-85,165.
[2]栾明慧,李松松,何慧敏,等.一种新型舞蹈机器人的设计[J].电子元器件与信息技术,2021,5(6):223-224,227.
[3]宋雪平,李发海,张玉川,等.舞蹈机器人研究进展[J].电子制作,2020(11):36-37,6.
[4]周英路,王志亮,朱松青,等.基于PCA9685的多路舵机控制器设计[J].南京工程学院学报(自然科学版),2017,15(4):26-31.
[5]蒙清华,王忠庆,刘长明.基于松下FP0-PLC的MG995舵机控制系统实现[J].科技信息,2011(14):135-136.
[6]卢俊晖,罗晰嘉,唐明枝,等.基于单片机产生参数可调PWM微网雾化器的设计[J].信息与电脑(理论版),2022,34(16):210-212.
[7]常敬.基于CPLD的VFC双路同步数据采集系统:CN201555803U[P].2010-08-18.
[8]刘耿耿,许文霖,周茹平,等.用于时分复用技术的多阶段协同优化FPGA布线方法[J].电子与信息学报,2023,45(9):3430-3438.
[9]陈怀平.单片机定时器中断子程序相互监视抗干扰技术[C]//第十七届中国航空测控技术年会,第十七届中国航空测控技术年会论文集,西安:航空工业测控技术发展中心,2020:213-215.
[10]朱涵仪.提升事务处理能力的共识算法设计与研究[D].成都:电子科技大学,2022.
[11]陈育群,周小方,白炳良,等.多任务单片机系统的协同编程及实现[J].单片机与嵌入式系统应用,2021,21(6):47-51.
[12]刘群铭,王勇,史颖刚.基于STM32的舵机控制器电路设计[J].江苏科技信息,2019,36(21):54-57.
[13]杨蒙蒙,邓三星,李帅,等.基于STM32单片机的双足竞走机器人设计[J].物联网技术,2022,12(5):123-126.
[14]荣广新,孙恒,耿金亮,等.LNG接收站关键设备调节特性动态模拟及PID控制器参数整定[J].低碳化学与化工,2023,48(4):162-168.
[15]张龙,孟偲,刘颖,等.仿壁虎机器人多路舵机控制器设计[J].微特电机,2010,38(9):54-57,62.
[16]鲁力,杨红军,田龙阳,等.基于STM32控制的小型机械手的研究[J].武汉轻工大学学报,2022,41(4):59-63.
[17]喻丽丽,朱艳,吴婷.基于单片机的防盗报警系统[J].大众标准化,2022(23):109-111.
[18]余长江.PCIe高速数据传输SoC的多模式控制电路设计[D].成都:电子科技大学,2022.
[19]郭扬光,赵怀林,祝波.基于DSP的高可靠舵机控制器设计[J].电气传动,2020,50(7):74-78.
[20]范舒颜.微机和单片机串行通讯接口的电路设计[J].计算机产品与流通,2020(8):114.
[21]王剑,闫子壮,邱冰静.电液伺服造波机模糊自适应PID前馈补偿控制研究[J].机床与液压,2022,50(10):1-7.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/ligonglunwen/77246.html