首页 >> 浮动球阀

上位机电机控制程序0自动排焊机

森达五金网 2022-10-27 08:59:43

上位机电机控制程序

上位机电机控制程序 电机控制器中的程序是用C语言编写的,通过MPLAB ICD2仿真连接器下载至数字控制芯片dsPIC30 F40 1 2中。本文主要研究并设计了整个UART接收中断函数,PWM中断函数则是参考以往实验程序稍加修改,整个电机控制程序流程如图7所示。 电机控制程序首先要对数字控制芯片dsPIC30F4012进行系统配置,然后对用到的UART、PWM模块进行初始化配置,编写PWM中断函数和UART接收中断函数,等上位机发送指令数据引起UART中断事件,进入UART接收中断函数,接收数据并解包,将收到的数据再打包上传,执行完UART函数之后改变了程序中占空比的值,引起了PWM中断事件,从而进入PWM中断函数,对电机进行换相,实现电机转速控制,执行完各中断之后,程序进入主函数中的while循环,每隔一段时间,将看门狗清零,以防dsPIC30F4012进行复位。 本文中上位机与电机控制器之间的数据通讯是在UART中断函数实现的,及数据包接收与发送均由UART中断函数完成。在接收数据时,由于每次接收到的是8位二进制数,因此需要五次接收,需加延时程序,以免接收错误,接收到的数据临时放在数组A[i]中。接收完数据后,进入数据解包程序,得出所发送的数据,在本文中为占空比值,将发送的占空比值赋给控制占空比的变量,改变电机转速,之后进入数据上传函数,把刚刚接收到的数据即占空比值打包上传到上位机,最后清除UART接收中断标志,退出UART接收中断函数。 数据解包函数框架如图9所示。首先判断接收到的数据的包头是不是预先规定的0x55,若不是则直接退出此函数。找到包头后,然后将接收的命令描述符command与数据data送至CRC校验算法函数,将产生的校验值与上位机发送米的校验值相比较,若一致,则将data值赋给占空比变量以控制电机转速:若不一致则说明接收的数据有错,不引起PWM中断,直接退出。该函数中的CRC校验算法函数与上位机中的CRC校验算法流程一致,只是编写语言不同,故于此不再详述。 数据上传函数分为数据打包与数据上传两部分。数据打包部分与上位机程序中数据打包发送类似,程序流程是一致的,所不同的是编写语言。数据打包后放在一个数组B[i]里,分五次将该数据包上传至上位机,中间的延时一定要与上位机的一致,否则会发生上位机接收紊乱。 在本文中,UART接收中断函数为整个电机控制程序的核心设计,而PWM中断函数则是参考以往程序,对其稍加修改揉进本程序中,已有论文对其进行阐述,在此不做详细介绍。

新闻推荐景德镇市纯化水储罐清洗多少钱今日行情一览表

艾谱保险柜服务热线2022已更新

行业消息邢台市台湾大连丙二醇MPO今日价格一览表

今日资讯黔南州仪器校验地址派送直达2022已更新

新闻十堰锦华月饼价格今日案例一览表

友情链接