收藏官网首页
查看: 23000|回复: 0

[经验分享] GOKIT开发机智云

681

主题

738

帖子

3万

积分

版主

Rank: 7Rank: 7Rank: 7

积分
36553
跳转到指定楼层
楼主
 楼主| 发表于 2021-10-29 16:12:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
免费使用STM32、APP自动代码生成工具
这章简单讲述下机械臂的原理,我这里要做的是并联臂,这是在工业中使用的非常多的一种手臂,还有一种是关节式的机械臂,相对与并联臂灵活度更高,但是成本和操作难度更大。


手臂本质是一种几何解算,无论是并联臂还是关节臂,为了达到目标位置可以分别用两种方案——自动解算和手工编程。自动解算对机械臂的上位机也就是控制台的要求很高,当然也可以放在下位机,我们的marlin固件使用sd卡加工时读取g代码来实现脱机打印本质上就是将自动解算放在单片机中,在笛卡尔坐标系中对坐标解算要求不高。


atmega2560就能胜任低速的解算,但是手臂因为多解性,2560有时候并不能有效的解算,特别是我第一次制作手臂时没有经验我拿了块2012版本的2560,那块2560还在使用8位的mcu。。。还没有启动就死机了,后面我换了16位的mcu才勉强动起来;还有一种方案是手工编程,这种方法实际上正常工业生产中使用的最多的方案,自动编程更多的应用在高灵活场景,手工编程本质就是提前准备好机械臂运动所需要的一切,对控制台和下位机要求低非常多。


但是随着工厂的技术水平不断的提升,技术更新换代,精度的不断提高,工厂对机械臂的要求越来越高,完全手工编程已经没办法满足工厂的需求了,因此诞生了半预制编程,简单来说就是动作的主体是提前编程完成,到达目标位置时再进行盈补,可以有效的减少对主板和上位机的性能的要求,但是这就要涉及机器视觉和人工智能了,毕竟白条条也是成本,对我这个编程苦手来说并不友好。


然后是手臂的数学模型,为了方便全电子方向的极客方便理解,我配了个简单的图,源文件我会放在附件里面,要用GeoGebra来打开模拟(这是一个数学几何画板,挺好玩的,对于喜欢这些的人来说)简单的理解下就是通过2个固定的驱动点来驱动。原理简单看下,基本上是初中数学的水平。通过数学模型可以非常明显的看到同一结果有大量的解,那么就意味着我们的328p可能会撑不住运算的压力,即使能够撑住,极端不稳定的控制效果对我们来说也是不能接受的。


关于步进电机如何驱动的问题,简单解释下就是mcu提供pwm信号,驱动驱动芯片,解算出步进电机需要的脉冲型号,这样的解释是极度不严谨的,但是为了方便简单理解也只能这样了,具体可以看看这个帖子,是步进电机详细原理和应用还包括4988的讲解。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表