完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,
大约一个月我在一个电机控制项目上工作,我有一些问题,直到现在还无法解决。 我正在研究ST微控制器版本STM32F207ZC,我 解释我的工作情况: 我有一个两轮驱动车:每个车轮都由一个无刷电机驱动。两个轮子之间没有物理轴,所以它们的运动不是关节。 我的目标是模拟车轮之间的轴,以便推车可以正常移动(两个驱动轮以相同的速度行驶)。 通过ST网站上下载的固件和预编译的librieries(MC Workbench和Keil uVision的示例项目STM32F2xx_Workspace),我可以单独控制两个电机,并使用提供的串行接口我可以设置 o两个电机的参考速度相同,但如果两个电机中的一个发现障碍,会发生什么?一个将下滑,而另一个将继续以参考速度运行,这将导致推车以错误的方式移动(并且在极端情况下,也会自行旋转)。 所以我想做的是设置 两个电机,如果一个减速,另一个跟随,或者我想在系统中引入位置反馈控制(基于电机内部的光学编码器),这样如果一个电机减速,通过将速度提高到参考速度以上来恢复位置的时间很短(这不能通过速度控制来完成,因为如果电机减速而且返回以其参考速度运行,则相对于另一台电机将无法恢复,推车将继续以错误的方式移动)。 如何使用ST提供的固件实现这样的想法? 您是否有任何解决方案可以使用预编译库的功能来完成此操作? 谢谢 马尔科 --------- Buongiorno a tutti E'da circa un mese che lavoro su un progetto di controllo motore,e ho alcuni problemi che non sono stato in grado di risolvere fino ad ora。 Sto lavorando su un microctrollore STM32F207ZC,questa la situazione del mio lavoro: Ho un carrello a due ruote motrici:ciascuna di queste mossa da un motore brushless。非c' alcunassile fisico tra le due ruote,quindi il loro movimento ''slegato''。 Il mio obiettivo di simulare un assile tra le ruote,in modo che il carrello possa muoversi correttamente(le due ruote motrici che ruotano concordi allastessahotocit )。 Con il firmware scaricato sul sito ST e le librerie precompilate(MC Workbench e progetto di esempio STM32F2xx_Workspace per Keil uVision)sono in grado di controllare entrambi i motori singolARMente,e utilizzando l'interfaccia seriale fornita posso impostare entrambi i motori lastessavelocit di riferimento,ma cosa success de seo uni 2 motori trova un ostacolo? Unorallenter ,mentre l'altrocontinuer ruotareallavelocit diriferimento,e questoporter ilcarro a muoversi male e''storto''(e in un caso estremo anche a ruotare su se stesso)。 Quindi,quello che vorrei fare impostare i due motori in modo tale che se uno rallenta,l'altra segue,o altrimenti vorrei introdurre un controllo di retroazione sulla posizione nel sistema(basato sull'encoder ottico presente all'interno dei motori), in modo che se uno motori rallenta,in un breve lasso di tempo recupera la posizione persa rispetto all'altro aumentando lasuavelocit aldi sopradellavelocit diriferimento(cosa che non si potrebbe fare con un controllo solosullavelocit ,在seguitoallavelocit diriferimento,lo spazio persononverr recuperato,e il carrellocontinuer aviaggiare storto)。 来自pratica questa idea con il firmware fornito da ST的posso metter? Avete qualche soluzione su来自questo potrebbe essere svolto utilizzando le funzioni delle librerie precompilate? 感恩教堂 马尔科 #motor-control-foc-library#stm32-pmsm-foc-sdk 以上来自于谷歌翻译 以下为原文 Hello everyone, It's about a month that I work on a project of motor control, and I have some issues that I was not able to solve untill now. I'm working on a ST microcontroller version STM32F207ZC, I explain the situation of my work: I have a two wheel drive cart: each of these wheels is drvien by a brushless motor. There is no phisical axile between the two wheels, so their movement is not joint. My goal is to simulate an axile between the wheels, so that the cart can move properly (the two drive wheels going at the same speed). With the firmware downloaded on ST website and the precompiled librieries (MC Workbench and example project STM32F2xx_Workspace for Keil uVision) I am able to control both motors individually, and using the serial interface provided I can set t o both motors the same reference speed, but what will happend if one of the 2 motors find an obstacle? One will sllow down while the other will continue running at the reference speed, and this will lead the cart to move in a wrong way (and, in extreme cases, also rotating on itself). So what I would like to do is to set the two motors in such a way that if one slows down, the other follows, or otherwise I would like to introduce a position feedback control in the system (based on the optical encoder inside the motors), so that if one motors slows down, in a short amount of time it will recover the position by increasing it's speed above the reference speed (this could not be done with a speed control, because if the motor slows down and than returns running at its reference speed, the lost space with respect to the other motor will not be recovered, and the cart will continue to move in a wrong way). How can I implement such idea with the firmware provided by ST? Do you have any solution on how this could be done using the functions of the precompiled libraries? Thank you Marco --------- Buongiorno a tutti E' da circa un mese che lavoro su un progetto di controllo motore, e ho alcuni problemi che non sono stato in grado di risolvere fino ad ora. Sto lavorando su un microcontrollore STM32F207ZC, questa � la situazione del mio lavoro: Ho un carrello a due ruote motrici: ciascuna di queste � mossa da un motore brushless. Non c'� alcun assile fisico tra le due ruote, quindi il loro movimento � ''slegato''. Il mio obiettivo � di simulare un assile tra le ruote, in modo che il carrello possa muoversi correttamente (le due ruote motrici che ruotano concordi alla stessa velocit�). Con il firmware scaricato sul sito ST e le librerie precompilate (MC Workbench e progetto di esempio STM32F2xx_Workspace per Keil uVision) sono in grado di controllare entrambi i motori singolarmente, e utilizzando l'interfaccia seriale fornita posso impostare a entrambi i motori la stessa velocit� di riferimento, ma cosa succede se uno dei 2 motori trova un ostacolo? Uno rallenter�, mentre l'altro continuer� a ruotare alla velocit� di riferimento, e questo porter� il carro a muoversi male e ''storto'' (e in un caso estremo anche a ruotare su se stesso). Quindi, quello che vorrei fare � impostare i due motori in modo tale che se uno rallenta, l'altra segue, o altrimenti vorrei introdurre un controllo di retroazione sulla posizione nel sistema (basato sull'encoder ottico presente all'interno dei motori ), in modo che se uno motori rallenta, in un breve lasso di tempo recupera la posizione persa rispetto all'altro aumentando la sua velocit� al di sopra della velocit� di riferimento (cosa che non si potrebbe fare con un controllo solo sulla velocit�, perch� se il motore rallenta e ritorna in seguito alla velocit� di riferimento, lo spazio perso non verr� recuperato, e il carrello continuer� a viaggiare storto). Come posso metter in pratica questa idea con il firmware fornito da ST? Avete qualche soluzione su come questo potrebbe essere svolto utilizzando le funzioni delle librerie precompilate? Grazie Marco #motor-control-foc-library #stm32-pmsm-foc-sdk |
|
相关推荐
1个回答
|
|
Ciao Marco
即使在编译版本中也可以使用许多功能。 很少有它们出现在所谓的MC接口(Start,Stop,getSpeed,getAngle,setSpeed)和其他所谓的MC Tuning中,您可以通过程序自定义FW的任何方面。 所以基本上你有很多潜力。 我不是用户级别应用的专家,但我认为拥有每个电机速度和每个电机角度的信息并且控制电机设置参考速度或扭矩我将与他一起玩一点,以便得到所需的行为。 有关完整API的列表,请查看DOC文件夹中的STM32 FOC PMSM FW库vx_x开发人员帮助文件.chm。 再见 梁咏琪 以上来自于谷歌翻译 以下为原文 Ciao Marco There are a lot of functionality that is ready to be used even in the compiled version. Few of them are present in the so called MC Interface (Start, Stop, getSpeed, getAngle, setSpeed) and other in the so called MC Tuning in wich you can customize any aspect of the FW by program. So basically you have a lot of potentiality. I'm not an expert of user level application but I think that having the information of each motor speed and each motor angle and having the control of the motor setting the reference speed or torque I'll play a little bit with him in order to get the required behaviour. For the list of the complete API take a look to the STM32 FOC PMSM FW library vx_x developer Help file.chm in the DOC folder. Ciao Gigi |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2655 浏览 1 评论
3216 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1790 浏览 1 评论
3619 浏览 6 评论
5997 浏览 21 评论
946浏览 4评论
1319浏览 4评论
在Linux上安装Atollic TRUEStudio的步骤有哪些呢?
591浏览 3评论
使用DMA激活某些外设会以导致外设无法工作的方式生成代码是怎么回事
1309浏览 3评论
1369浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-30 09:17 , Processed in 1.389019 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号