虽然我是初学者,但我有一些可行的想法,不知道什么是最佳解决方案。
GPS跟踪它(这么小规模的过度杀伤力?)
某种测距仪
有一个旋钮,它将撞到轨道的中间,告诉程序在给定的时间内延迟
跟踪电动机已执行的步数(不是那么精确吗?)
#1 楼
如果您在固定的轨道上行驶,到目前为止,最简单的方法是使用一对挡块。通常这些挡块是机械的,磁性的或光学的。
机械的
机械终点挡块可以像轨道尽头的物理障碍一样简单,就像火车的轨道缓冲挡块一样。您的车辆会撞到缓冲区,检测到它没有在移动,并以信号表明它已经到达行驶终点。缓冲器的力明显大于车辆的动力,再加上驱散车辆动量的力,那么简单的机械挡块就足够了。
复杂的话,您可以在车辆保险杠上增加一个机械开关,最好是在弹簧上,这样在车辆主体撞到缓冲器之前将其关闭。当缓冲挡块关闭时,控制系统会通过关闭开关来告知并可能施加制动。
磁性
磁性挡块就是磁铁在轨道上带有与控制系统相连的磁簧开关。当簧片开关滑过磁铁时,电路闭合,控制系统可以停止车辆。
与机械开关相比,它具有不接触的优点,因此不太可能如果车辆失控,则会造成损坏。
光学
光学挡块将是车辆上的带槽光学开关,并且将在行驶结束时靠近金属片轨道通过光学开关运行,在车辆接近行驶终点时会阻挡光束。
它的优点是,无需依靠轨道上一个位置的磁铁被检测到时,它可以在从所需行程的终点到任何机械挡块的整个距离内发出行驶结束状态的信号。
从本质上讲,这只是在跟踪命令步进电机移动的位置,并限制允许高层软件移动的距离。如果您要求的运动完全在您为车辆指定的电动机参数(速度,扭矩和加速度曲线等)之内,那么它就不应跳过任何步骤,软限位器就足够了。 />
如果您要这样做,我还建议您添加其他机制之一,例如皮带和支撑。行程检测和超行程预防系统,通常是软限位,或者是机械限位器加上限位开关,或者是软限位,机械限位器加上光电限位器。这三个系统都必须发生故障,以使系统整体出现故障。结束电气工程堆栈交换。
#2 楼
如果您正在齿轮上运行齿轮,我不明白重量如何改变步数。他们如何滑倒?如果没有打滑,那么步数应该总是足够的,尽管如标记所示,大多数现实世界的解决方案还包括在机械故障情况下的限位触摸开关。由于使用了许多步骤涉及一些数学运算,仅使用限制触摸开关可能会更容易且同样好。通常将触摸开关放在任何位置,例如中间位置。对于中间开关,轨道上的一些突出会触发机器人上的开关。
典型开关
评论
$ \ begingroup $
霍尔效应传感器(磁体+传感器)可能会更好,将机械开关从“可能断路”列表中删除
$ \ endgroup $
–安德鲁♦
2013年1月20日14:53
$ \ begingroup $
如果您命令步进电机执行超出其能力的移动(例如,对重量负载要求太高的加速度),则即使齿轮等不起作用,电机本身也会打滑。
$ \ endgroup $
– Mark Booth♦
13年1月21日在11:04
$ \ begingroup $
那不是真的吗?我假设我们在这里谈论的是“在机械极限范围内”,否则我会挑战任何答案。
$ \ endgroup $
– Spiked3
13年1月21日在11:47
$ \ begingroup $
是的,但是值得一提(就像我一样),因为不考虑它是一个常见错误。我什至知道大型昂贵的工业系统的价格降低了,因为移动的某一点上的摩擦太大会导致系统偶尔失去步距,而重击较大的步进电机只会导致系统的另一部分损坏(无法应付电机的新扭矩输出)。
$ \ endgroup $
– Mark Booth♦
2013年1月21日13:32
$ \ begingroup $
知道了。我曾经误以为伺服器会变得更好-他们只是闪烁故障灯-仍然会导致相同的问题:(
$ \ endgroup $
– Spiked3
2013年1月21日13:56
#3 楼
实际上,无论重量如何,步进电机都会按照控制信号移动相同数量的步幅,从而根据需要吸收更多电流以使电机轴转动相同数量。如果要考虑车轮打滑,那么重量将是一个因素。但是,考虑到齿轮齿条的轨迹,轮滑可以忽略不计,可以忽略不计。过去,我是使用5V齿轮式步进电机(使用AA电池)制造的小型跟随机机器人。由于橡胶O型圈安装在车轮上,因此车轮打滑相当小。我们采用了两个相同的原型,并排放置它们,并同时向两者发送了前进信号。他们在一米的行程中完美地步调一致。然后,我们在一个机器人上放了一个玻璃瓶啤酒,并重复了实验。尽管重量不同,但结果相同。
步进电机的规格将列出步进角,即电机轴单步旋转的度数(我假设做任何微步)。然后,您需要考虑齿轮比,以算出实际移动的距离。与普通的正齿轮对相比,使用齿条和小齿轮进行计算要复杂一些。齿轮比通常由输入齿轮和输出齿轮的直径确定,但是输出齿轮(齿条)的直径在技术上是无限的。您可以使步进电动机旋转给定的步数。假设您的电动机的步进角为7.5度。旋转360度所需的步数为:
每步360°/ 7.5°= 48步
您可以通过在小齿轮上打一个小标记来验证您的360度转码。现在,将您的机器人放在机架上,并测量您在将电机旋转360度时的移动量(在这种情况下为48步)。您可以使用此度量来确定机器人每步移动机架的距离。假设它移动了12厘米。
12厘米/ 48步=每步0.25厘米的线性运动
尝试在最大水负荷下再次进行轨道测量,并验证360度小齿轮仍会旋转1度。如果不是这样,则您试图以太快的速度步进,以致无法保持电动机转矩,并且缺少步进。增大步距,直到小齿轮可以完全放水360度旋转为止。如果您知道轨道的长度并且可以保证您的起始位置,则可以不用终点挡或限位开关。话虽这么说,以防万一,将它们放在那里总是一个好主意。
#4 楼
我建议您检查一下HC-SR04超声波传感器,它可以很容易地接线并编程到您的机器人车辆中。通过调整传感器以正确地向固定对象发射超声波并测量从对象发出的回声/声,您可以相当准确地判断距离。白色斑马条纹的轨道,因此您可以使用光学眼-LDR或LED光电传感器在通过轨道时计算对比度变化。)(我对photoshop不太满意, HTH :))
评论
如果您的轨道是有齿轮的,那么可以保证每次都使用相同数量的步进电机步数。如果水的重量发生变化,那么您将使用不同的功率来执行这些步骤,但是每个步骤的大小都是恒定的。@Ian,假定电机是在最坏的情况下使用的,并且没有外部因素在应用(例如,某些东西挡住了轨道)。请参阅我的答案的“软停止器”部分以及对Spiked3和Joe Baker的答案的评论。