M2006+C610驱动方案(一)基础

c用着不顺手,总有种有心无力的感觉,一个好办法是把c的源码找来翻译成java理解充分后再写c,

基础1 , can总线通信
can通信的内容很多,这里用到的只涉及标准数据帧,
控制器发送的报文格式:
在这里插入图片描述
发送的控制信号只有一个信息,电流 current
在这里插入图片描述
高八位低八位的解释:
一个字节是8位二进制,汇编中,为了表示一个整数类型,用两个字节来表示,即总共16位。
20是0000 0000 0001 0100 其中前0000 0000为高8位,后边0001 0100为低8位
两个字节的数据能表示正65535 - 负65536之间的数,如257表示为0000 0001 0000 0001.所以0000 00001为高8位,0000 0001为低8位
举个例子 给canId为2的电调 257的控制电流:

  uint16_t current = 257 ;
  uint8_t stmp[8] = {0, 0, 0, 0, 0, 0, 0, 0};  //每个元素是8位  故类型是uint8_t
  
  stmp[2] = (current >> 8);  //id 为2的c610    //高八位
  stmp[3] = current;										  //低八位

  CAN.sendMsgBuf(0x200, 0, 8, stmp);

c610 是根据控制信号来行动的, 控制信号大约2.5秒收不到就停转
电流范围-10000~10000. 面对输出轴 正的电流时电机是逆时针转动,负 顺时针

基础2 pid闭环控制算法

https://www.cnblogs.com/sasasatori/p/11672918.html

这里有文章讲的详细,本质是根据反馈调整输出
举一个简单的例子,狗不听话要打一顿,
通过计算觉得打5下就能听话然后打5下 这是开环控制,有点是简单速度快,缺点是5下可能打太疼了也可能打的轻不长记性
每打一下看看啥反应 是闭环控制

基础3 设备相关
arduino uno + mcp2515模块+

https://github.com/Seeed-Studio/CAN_BUS_Shield

usb_can模块和他的上位机 用于调试 (很重要 can通信调通了后就没用了)

资料
大疆的源码和

https://blog.csdn.net/Introver_t/article/details/80103041

上面这个可能运行不了,但是对理解大疆的源码有帮助

关注开源四轴项目也有近年了,前期都以潜水为主,业余时间主要是在啃那些控制和导航的理论书籍。最近开始动手做了,打算先从电调开始,发现真要做起来问题还真是大堆。所幸有论坛这么好个交流平台,很多问题其实前人都已经碰到过了,参考前人的经验,让我少走了很多弯路。在此要感谢论坛各位前辈大侠和阿莫的ourdev。:-) 前人种树、后人乘凉,既然受惠于前人,怎好意思独享,当然也应该帮助下新入门的开发者。由于四轴分论坛的帖子数量已经很多了,光搜下无刷电机和电调也有近百来篇帖子,次序和深浅程度不,想要看完并完全理解这些帖子对新人来说不啻是个艰巨的任务。而且很多帖子的发帖时间都比较久远了,回帖提问也未必能得到原作者的回答。我写这篇文档的目的,就在于做个整理和汇编,把很多零散的、前人已解答过的问题分门别类整理出来,并添加些自己制作电调时的经验和总结。 在参考些关于无刷电机驱动的书籍和帖子的时候,发现高手或是大师好像都比较惜字如金,些问题往往点到为止或者笔带过,有些看似简单的问题会让像我这样的电调DIYer困惑很久。所以在本文行文时,笔者力图把问题以大白话的形式说明白,如果各位有觉得哪里看得不明不白的,可以回帖提出(时限个月,呵呵),我会修改文档以试图将问题讲清楚。如果有些问题我无法回答,我会老老实实跟你说我也没搞清楚,还要请高手来解惑啊。如果发现我哪些内容讲错了,也请不吝指正。 最后还将附上德国MK项目电调代码(V0.41版本)的全代码分析,这件事可能以前没人做过吧,我就来揭晓下答案好了^ ^。同时我也参照他的程序,自己写了个可供mega8和mega32使用的电调驱动程序,将些结构作了优化,所有变量名都从德语改成了英语,添加了比较完备的中文注释,通讯规约也做了些整理和改动,并附带上位机调试程序。也希望大家能多多把自己的些心得体会和经验拿出来,建立好基础的知识平台后,可以让后来的开发者少走很多初期摸索的弯路,而专心于攻克我们未能解决的难点。衷心希望后来的开发者能站在我们的肩膀上,走得比我们更远。 timegate
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值