当前位置: 首页 > news >正文

基于STM32的多圈绝对值编码器的调试

1 硬件选型:

本设计主要应用到的模块如下,仅对关键模块进行了特殊说明。

  • STM32型号:STM32F103C8T6
  • 绝对值编码器:1501磁编码器金属壳(支持多圈和单圈
  • 485转TTL模块(绝对值编码器与MCU数据交互的桥梁)
  • ST-LINK V2
  • USB转TTL模块(与USART2完成通讯,控制USART1)
  • 面包板、跳线(由于时间和环境限制,本设计并未打样PCB,后续时间允许会完善该设计.......)

1.1 接线图

1.2 绝对值编码器:

这款21位绝对式磁编码器适用于17位高性能伺服系统,支持多摩川通信协议,最高通信速率可达2.5Mbps。其引脚定义如下:

线颜色说明
红色5V
黑色GND
蓝色485-A
黄色485-B
白色PWM(未使用)

多摩川协议发送指令的格式(具体通讯方式参考商家网站,里面对多摩川协议进行了细致讲解):

角度数据查询示例: 发送指令:1A 返回数据:1A 00 7A 6D 0F 0A 00 00 00 00 08

设备信息查询: 发送指令:92 返回数据:92 89 13 31 75 96 2A 9D 13 75

1.3 485转TTL模块

本设计的485模块,大家在某宝即可购买到,接线的话直接和编码器的 A B引脚相接即可,供电电压为5V。此外,需要注意的是485模块分为本设计中的模块,还有MAX485模块。MAX485模块实现通讯的时候需要注意与MCU相连端还需配置控制器引脚。

2 软件设计

2.1 数据解析(参考商家例程)

①配置串口中断函数

void USART1_IRQHandler(void)                	
{if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)	    {	received_byte = USART_ReceiveData(USART1);if(tmg_rx_index < 20){tmg_rx_buffer[tmg_rx_index++] = received_byte;}if(tmg_rx_index == tmg_expected_len){tmg_data_ready = 1;Recieve_Flg = 1;}}	 	 } 

②数据解析

bool tmgDecode_1A(uint8_t *tmgbuf)
{if(tmgbuf[0] != 0x1A) {printf("1A command header error: 0x%02X\r\n", tmgbuf[0]);return false;}if(tmgbuf[10] == crc8_xor_list(0x01, tmgbuf, 10)){SF = tmgbuf[1];                                  // SFABS = tmgbuf[2] | (tmgbuf[3] << 8) | (tmgbuf[4] << 16);  //ABSENID = tmgbuf[5];                                // ENIDABM = (int16_t)(tmgbuf[6] | (tmgbuf[7] << 8));   // ABMALMC = tmgbuf[9];                                // ALMCreturn true;} else {printf("1A CRC check failed!\r\n");return false;}
}

2.2 数据发送

if(Recieve_Flg2 == 1){printf("USART2 Received: %c (0x%02X)\r\n", receive, receive);          resetTmgReceiver();switch(receive) {case 'A': printf("Sending 0x1A via USART1...\r\n");tmgRequest_1A();USART_SendData(USART2, 'A');  break;                    case 'C':printf("Sending 0x92 via USART1...\r\n");tmgRequest_92();USART_SendData(USART2, 'C');  break;default:printf("Unknown command: %c\r\n", receive);break;}Recieve_Flg2 = 0;	}

2.3 实验效果图

本设计参考网站:

高精稳动力-电控就要高精稳,高效·精准·稳定!-GJWdynamics-GJWmotor-深圳乐传动力科技有限公司 http://gjwdoc.longbos.com/#/productdataspecd?srcType=LC-TMG-PROT-c553bc05f5fc426bb479c8fc

 

http://www.dtcms.com/a/525589.html

相关文章:

  • asp.net 登陆两个网站快应用 小程序
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P06-19 打开属性菜单
  • 提供医疗网站建设wordpress不能编辑不能新建
  • 网站服务费怎么做分录设计师家园官网
  • Node.js MVC 架构完全指南:构建可维护的现代 Web 应用
  • 外贸企业网站制作公司郑州区块链数字钱包网站开发公司
  • 音乐网站开发文档网站开发与app开发原理
  • django 开放api 做网站微信系统平台开发
  • 网站建设质量体系审核指导微商城网站建设平台合同范本
  • 数据库分类详解
  • 庄河网站怎么举报做棺材一个网站做三个关键词
  • 第 2 篇:SSM 核心概念与源码剖析:状态、事件与转换的底层逻辑
  • Spring Task 核心解析:从原理到源码的简洁逻辑链
  • 网站开发与应用论文营销网站的建立
  • 在哪个网站做整形莆田网站关键词优化
  • 大连网站建设介绍武冈企业建站
  • 网站漂浮特效wordpress浮动小人插件
  • remember()、rememberSaveable()和rememberSaveableStateHolder()
  • 【Java】PageHelper 分页 数据重复问题
  • 网站做全局搜索wordpress怎么更换系统文件
  • 可以做国外购物的网站有哪些阿里巴巴网站建设的不足之处
  • 网站seo诊断技巧哪个网站可以找做软件兼职的
  • 赣州销售网站wordpress电视主题
  • kafka组件traceId增强
  • 【流程引擎】与【规则引擎】
  • 商业网站排名深圳市住房和建设保障局
  • PSG(巴黎圣日耳曼)技术文章大纲
  • wecenter wordpressseowhy是什么意思中文
  • 微店常用API:获取商品详情接口|关键字搜索商品接口|获取快递费接口-打通商品运营与用户体验的技术桥梁
  • 给aws xray添加采样规则