完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我们在新设计中使用L6470。我们发现当我们移动到一个位置然后反向时,我们发现新位置短了2或3步。在此初始化错误之后,所有未来在同一方向上的移动都是正确的。如果方向再次反转,我们会在第一步中再次失去2或3个步骤。我们在步进轴上安装了一个编码器,确认了这一动作。我们还在皮带上放了一个百分表,并确认我们确实错过了这两个或三个步骤。 ST工程师请求回复,因为我们没有关于如何解决这个问题的想法。
以上来自于谷歌翻译 以下为原文 We are using the L6470 in a new design. We have found that when we move to a position then reverse direction we find that the new position comes up short by 2 or 3 steps. After this initail error all future moves in the same direction are correct. If the direction is reversed again we lose the 2 or 3 steps again on the first move. We have an encoder mounted on the stepper shaft which confirms this action. Also we have placed a dial indicator on the belt and confirmed that we are indeed missing these 2 or 3 steps. ST engineers pleas reply as we are out of ideas on how to fix this issue. |
|
相关推荐
8个回答
|
|
我遇到了类似的问题。这是我所看到的:
我正在使用GoTo命令来控制驱动旋转晶圆开关的步进电机。旋转开关以30度旋转增量转位,我使用的是1.8度步进电机,因此我必须使用略微变化的GoTo步进增量,以使开关始终步进到正确的开关位置(+/- 0.6度) )。 当我将以下命令发送到L6470时,步进电机顺时针步进到每个指定的旋转位置,并且每个步骤都正确编入索引(即,旋转开关触点在固定开关触点上正确居中): - GoTo(144) - GoTo(272) - GoTo(400) - GoTo(536) - GoTo(672) - GoTo(808) - GoTo(944)接下来,我想逆时针退回到每个开关位置,所以我发送以下命令: - GoTo(808) - GoTo(672) - GoTo(536) - GoTo(400) - GoTo(272) - GoTo(144) - GoTo(0)当执行这些命令时,开关索引在除了最后一步(开关的0位置)之外的每一步都偏离中心约3-8度,该步骤总是完全索引。 我认为由于开关的旋转扭矩负载,步进器可能会失步,所以我取下旋转开关并将10转电位器连接到步进电机(极低的扭矩负载)。观察电动机每一步的电位计电阻读数,我看到了相同的行为,当转向CCW方向时,每个中间步骤的分度略微偏离,但总是在0位置完全转位。 我发现的唯一解决方案是使用GoTo命令顺时针步进到所需的开关位置,但如果我想将CCW步进到前一个开关位置,我必须通过发出GoTo(0)将开关重置为0 )命令然后发出GoTo(X)命令以步进到所需的开关位置。 此外,我已经确认L6470认为在执行每个步骤命令后通过读取ABS_POS寄存器将电机步进到正确的位置。 任何人都可以提供一些关于我为什么看到这种行为的想法以及我能做些什么来纠正它? 谢谢, 查理 以上来自于谷歌翻译 以下为原文 I am experiencing a similar problem. Here is what I am seeing: I am using the GoTo commands to control a stepper motor that is driving a rotary wafer switch. The rotary switch is indexed at 30 degree rotational increments and I am using a 1.8 degree stepper motor, so I have to use slightly varying GoTo step increments in order to get the switch to always step to the proper switch position (+/- 0.6 degrees). When I send the following commands to the L6470, the stepper motor steps clockwise to each specified rotational position and each step is indexed properly (i.e., the rotating switch contact is properly centered on the fixed switch contact): - GoTo(144) - GoTo(272) - GoTo(400) - GoTo(536) - GoTo(672) - GoTo(808) - GoTo(944)Next, I want to step back counterclockwise to each switch position, so I send the following commands: - GoTo(808) - GoTo(672) - GoTo(536) - GoTo(400) - GoTo(272) - GoTo(144) - GoTo(0)When these commands are executed, the switch indexing is off of center by approximately 3-8 degrees on every step except the last step (the 0 position of the switch) which is always perfectly indexed. I thought the stepper might be losing steps due to the rotational torque load of the switch, so I removed the rotary switch and connected a 10 turn potentiometer to the stepper motor ( a very low torque load). Looking at the resistance readings of the potentiometer at each step of the motor, I see the same behavior, with the indexing being slightly off at each intermediate step when turning in the CCW direction but always perfectly indexed at the 0 position. The only solution I have found that works is to use the GoTo commands to step clockwise to the desired switch position, but if I want to step CCW to a previous switch position, I have to reset the switch to 0 by issuing a GoTo(0) command and then issue a GoTo(X) command to step to the desired switch position. Also, I have verified that the L6470 thinks it has stepped the motor to the proper position by reading the ABS_POS register after each step command has executed. Can anyone provide some ideas about why I am seeing this behavior and what I can do to correct it? Thanks, Charlie |
|
|
|
你好,
以前从未报道过这种行为。 我建议你检查以下几点: - 输出电流是预期的吗? - EL_POS值是预期值吗? 同时我们将尝试在我们的实验室中重现此问题。 最好的祝福 恩里科 以上来自于谷歌翻译 以下为原文 Hello, This kind of behavior was never reported before. I suggest you to check the following points: - Are the output currents the expected ones? - Is the EL_POS value the expected one? Meanwhile we will try to reproduce this issue in our labs. Best Regards Enrico |
|
|
|
我们试图在我们的实验室中重现该问题而没有结果。
驱动顺序在两个方向上进行相应的修正,从电子的角度来看(电流对),位置不受方向变化的影响。 另外从机械的角度来看,根据我们的测试台,没有定位误差。 您是否有任何进一步的细节可以帮助确定这种异常行为的原因? 恩里科 以上来自于谷歌翻译 以下为原文 We tried to reproduce the issue in our labs without results. The driving sequence is correctri performend in both the directions an from the electical point of view (current pairs) the position is not affected by the change of direction. Also from the mechanical point of view, according to our test bench, there is no positioning error. Do you have any further detail which could help to identify the cause of this anomalous behavior? Enrico |
|
|
|
嗨恩里科,
我刚从三周的旅行回来,还没有机会回到这个问题。我将在明天开始研究它,我会将我获得的任何数据和结果发送给您进行分析。 谢谢。 查理迈尔斯 以上来自于谷歌翻译 以下为原文 Hi Enrico, I just returned from a three week trip and have not yet had a chance to get back to this problem. I will begin working on it tomorrow and I will send any data and results I obtain back to you for your analysis. Thank you. Charlie Myers |
|
|
|
弗雷德,
你有没有找到解决问题的方法?我仍然遇到同样的问题,但我还没有解决它。我真的没有收集有关这个问题的新的或不同的数据。即使我只驱动十转电位器,电位器电阻上的读数也表明步进电机没有将电位器驱动到CCW方向上与CW方向相同的位置。它在反转方向时大约1-2个完整步骤,但它总是回到CCW方向的精确起始位置。这就是真正让我难过的东西。 谢谢, 查理 以上来自于谷歌翻译 以下为原文 Fred, Did you ever find a solution to your problem? I am still experiencing the same issue and I have not been able to resolve it yet. I really have gathered no new or different data about the problem. Even when I am only driving a ten turn potentiometer, the readings on the potentiometer resistance indicate that the stepper motor is not driving the potentiometer to the same positions in the CCW direction that it does in the CW direction. It is off by roughly 1-2 full steps when it reverses direction, but it always comes back to the precise starting position in the CCW direction. That is what is really stumping me. Thanks, Charlie |
|
|
|
你好,
我有类似的问题。 我的环境是: L6470电机驱动器 SANYO DENKI电机,最大电流1A,步进1.8度(200级/圆) AS5048 14位旋转编码器(AMS) 我从ABS_POS = 0和旋转编码器值= 16300(+/- 5)开始。 当我发送命令Move(FWD,25600)时,这是电机完全转动,编码器必须像以前一样显示类似的位置,我有ABS_POS = 25600,我的编码器显示16300(+/- 5)正是我的预期。 (如果我继续前进,我会得到相同的结果。) 但是如果我发送命令Move(BWD,25600),我将获得ABS_POS = 0,但Encoder将显示16280(+/- 5)。如果我继续向后移动,编码器将始终显示16280(+/- 5)。 反之亦然。 这是在128步模式下的0.439度全转和31.4步L6470。 最好的祝福 以上来自于谷歌翻译 以下为原文 Hello, I have similar problem. My environment is: L6470 Motor Driver SANYO DENKI motor with 1A max current and 1.8 degree for step(200 steps/round) AS5048 14bit Rotary Encoder(AMS) I started with ABS_POS = 0 and Rotary Encoder Value=16300(+/-5). When I sent command Move(FWD,25600),this is full turn of motor and encoder must show similar position like before, I had ABS_POS=25600 and my Encoder shows me 16300(+/-5) exactly what I expected. ( If I was continue to moving forward I was have same results.) But if I will send command Move(BWD,25600) I will get ABS_POS=0 but Encoder will show me 16280(+/-5) . If I'll continue to move backward encoder will always show me 16280(+/-5). And vice versa. This is 0.439 degree of full turn and 31.4 steps of L6470 in 128 steps mode. Best regards |
|
|
|
亲爱的大家,
对不起,等待很长时间。让我回答你的所有发现。 查理,1或2个完整步骤的错误可以解释为以下问题之一: - 电机在运行过程中失去了一些步骤,但这种故障通常会导致大约4个完整步骤的错误。 - 电位计在某种程度上是不对称的。您应该考虑到2个完整步长(3.6°)的误差相当于10匝电位器输出的误差为3.6°/(10 x 360°)= 0.1%。 Trakht Pavel,0.44°的定位误差更加合理。这可能是由于接近最终位置时的轻微错配造成的。您可以在运动结束后的几毫秒内改善定位性能,将保持电流设置为等于运行电流(即相同的KVAL)。通过这种方式,转子应该能够很好地对准。 在此之后,您可以减小保持电流,并通过制动转矩将电机保持在适当位置。 亲切的问候 恩里科 以上来自于谷歌翻译 以下为原文 Dear all, Sorry for the long waiting. Let me answer to all your findings. Charlie, the error of 1or 2 full steps is can olny be explainedby one of the following issues: - The motor loses some step during the operation, however this failure usually causes and error of about 4 full steps. - The potentiometer is in some way asymmetric. You should consider that an error of 2 full steps (3.6°) is equivalent to an error of the 10 turns potentiometer output of 3.6°/(10 x 360°)= 0.1%. Trakht Pavel, a positioning error 0.44° is more resonable. It is probably due by minor missmatch in the approaching to the final position. You can improve the positioning performance setting the holding current equal to the running one (i.e. same KVAL) for few milliseconds after the end of the motion. In this way the rotor should be able well aligned. After this time you can reduce the hold current and the motor is kept in position by the detent torque. Kind Regards Enrico |
|
|
|
有可能是因为回程差造成。
|
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2741 浏览 1 评论
3244 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1813 浏览 1 评论
3653 浏览 6 评论
6043 浏览 21 评论
1342浏览 4评论
203浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
356浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
446浏览 2评论
STM32处理增量式编码器Z信号如何判断中断是正转的还是反向转的?
275浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 11:24 , Processed in 1.132032 second(s), Total 57, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号