完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
[size=13.684210777282715px]我买了套 无刷电机+电调
[size=13.684210777282715px]老板说 50Hz + 1-2ms 电平 就能驱动,为什么我写入后还是没反应。 [size=13.684210777282715px]白色我接的tiM3 CH1口。 PA6 [size=13.684210777282715px]void PWM_Config(){ [size=13.684210777282715px] TIM_TimeBaseInitTypeDef timeBaseStance; [size=13.684210777282715px] TIM_OCInitTypeDef ocStance; [size=13.684210777282715px] TIM_DeInit(TIM3); [size=13.684210777282715px] timeBaseStance.TIM_Period = 20; [size=13.684210777282715px] timeBaseStance.TIM_Prescaler = 0; [size=13.684210777282715px] timeBaseStance.TIM_CounterMode = TIM_CounterMode_Up; [size=13.684210777282715px] timeBaseStance.TIM_ClockDivision = TIM_CKD_DIV1; [size=13.684210777282715px] TIM_TimeBaseInit(TIM3, timeBaseStance); [size=13.684210777282715px] ocStance.TIM_OCMode = TIM_OCMode_PWM1; [size=13.684210777282715px] ocStance.TIM_OutputState = TIM_OutputState_Enable; [size=13.684210777282715px] ocStance.TIM_Pulse = 1; [size=13.684210777282715px]TIM_OC1Init(TIM3, ocStance); [size=13.684210777282715px]TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable); [size=13.684210777282715px]TIM_ARRPreloadConfig(TIM3,ENABLE); [size=13.684210777282715px]TIM_Cmd(TIM3,ENABLE); [size=13.684210777282715px]} [size=13.684210777282715px]void GPIO_Config(){ [size=13.684210777282715px]GPIO_InitTypeDef GPIO_InitStructure; [size=13.684210777282715px]GPIO_DeInit(GPIOA); [size=13.684210777282715px]GPIO_AFIODeInit(); [size=13.684210777282715px]GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 |GPIO_Pin_7; [size=13.684210777282715px]GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; [size=13.684210777282715px]GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP ; [size=13.684210777282715px]GPIO_Init(GPIOA, GPIO_InitStructure); [size=13.684210777282715px]} [size=13.684210777282715px]其他时钟已经开启。 [size=13.684210777282715px] |
|
相关推荐
1个回答
|
|
首先,我们需要确保您已经正确地设置了PWM信号。根据您提供的代码片段,我将为您提供一些可能的原因和解决方案。
1. 确保您的硬件连接正确。检查无刷电机和电调之间的连接,以及电调和STM32微控制器之间的连接。 2. 检查您的PWM配置。您提供的代码片段不完整,因此我无法确定您的PWM配置是否正确。以下是一些建议: a. 确保您已经正确设置了TIM_TimeBaseInitTypeDef结构体的参数。根据您的描述,您可能需要将TIM_Period设置为一个较小的值,以便产生50Hz的频率。 b. 确保您已经正确设置了TIM_OCInitTypeDef结构体的参数。您需要设置PWM模式和占空比。 c. 在初始化PWM后,使用TIM_Cmd函数启用PWM。 3. 检查您的代码是否正确地将PWM信号输出到PA6引脚。确保您已经正确地配置了GPIO引脚作为PWM输出。 4. 使用示波器或逻辑分析仪检查PWM信号。这将帮助您确定PWM信号是否正确生成。 5. 如果您的电调需要特定的信号格式,确保您的PWM信号符合这些要求。例如,某些电调可能需要特定的信号极性或编码方式。 6. 确保您的STM32微控制器已经正确地配置了时钟和电源。这将确保您的PWM信号具有足够的精度和稳定性。 7. 如果您仍然无法解决问题,尝试使用STM32CubeMX工具自动生成PWM配置代码。这将简化配置过程,并减少人为错误的可能性。 8. 最后,检查您的无刷电机和电调是否兼容。确保您购买的组件适用于您的应用。 通过遵循这些建议,您应该能够找到问题的原因并解决它。如果您仍然遇到问题,请提供更完整的代码和硬件信息,以便进一步分析。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1683 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1582 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1627 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
675浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
538浏览 3评论
557浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
526浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 01:02 , Processed in 0.649896 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号