[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] |
我记得,电调启动的时候需要加大占空比,然后减小占空比,电机才能启动。 |
我之前调过的一款初始化时给的较小的占空比,然后再给较大的占空比才能驱动,否则电机一直不转! |
你是什么电调呀,我记得不同的电调启动无刷电机是不一样的,你先按照电调给的说明书结合函数发生器给出相应的占空比试试。 |
测试一下白线上有没有波形输出。 |
我是来看解决方案的! |
你想看看你的单片机有没有波形输出啊,有波形后再测试你的电调电路啊,现在也不知道是你的电路有问题还是电调有问题 |