我有10个伺服电机,我想得到所有这些。我使用2个定时器中断不同的定时器频率,为每个引脚产生不同的PWM频率。连接到伺服的引脚,我用每个引脚输出一个伺服,
代码是这样的:
已编辑:
errorObject.modelState['']
生成的pwm适用于端口A中的5个引脚。但是当我增加端口数时,stm32会挂起。 我怎么能增加针脚?
答案 0 :(得分:2)
如果您的多伺服电机多于PWM通道,那么您可以使用像TL594这样的PWM Genrator IC,在网络上找到它!
答案 1 :(得分:1)
由于您省略了一些重要的细节,例如您的MCU的部件号或所谓的MCVE,我只能在这里猜测。
当您向其添加更多指令时,您的计时器中断可能无法在下一个指令中断之前完成。您可以降低中断频率,但放弃软件中断并使用硬件PWM发生器会更有意义。
STM32通用定时器最多有4个PWM输出。
编辑:在之前的端口中,您提到过您使用的是STM32F103RET。该MCU实际上有24个硬件PWM输出。
请参阅参考手册中的通用计时器章节,或ST应用说明AN2403 STM32 cross-series timer overview
中的2.5节,了解如何使用它们。
答案 2 :(得分:1)
你有3个选择!
1)使用编码器ic
或
2)pwm发生器ic
或
3)只需使用多臂皮质!