使用AO3400MOS管的电机驱动电路

您所在的位置:网站首页 cj2307资料 使用AO3400MOS管的电机驱动电路

使用AO3400MOS管的电机驱动电路

2023-08-25 23:18| 来源: 网络整理| 查看: 265

使用AO3400MOS管的电机驱动电路

使用AO3400驱动如下图所示的减速直流小电机。 直流小电机 电路图 硬件设计 比较经典的电机驱动电路了,AO3400是做为开关使用,SS14是续流二极管保护MOS管,R6为VGS提供偏置电压,说偏置其实不太合适,应是开启电压,还起到泄放电阻的作用,为什么要泄放?因为栅极下面的一层二氧化硅很薄,GS两端有等效电容,少量的静电就可以产生很高的电压,不把这些静电泄放容易把栅极击穿。IN1接单片机IO口,IO输出不同占空比的PWM,就能控制电机的不同速度的旋转。

程序 程序没什么好说的,就是配置IO,使其输出PWM,网上很多,我这边只贴出来。

void MOTOR_Init(void){ //引脚初始化 GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //开启PA的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);//打开复用功能 GPIO_InitStructure.GPIO_Pin = MOTOR_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;//GPIO_Mode_AF_PP GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(MOTOR_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = Light_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//GPIO_Mode_AF_PP GPIO_Init(MOTOR_PORT, &GPIO_InitStructure); //GPIO_SetBits(MOTOR_PORT,MOTOR_PIN); // GPIO_ResetBits(MOTOR_PORT, MOTOR_PIN); //定时器2初始化通道四输出PWM TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_OCInitTypeDef OC_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_DeInit(TIM2); /* 重新启动定时器 */ TIM_TimeBaseStructure.TIM_Period=1000-1; /* 自动重装载寄存器周期的值(计数值) */ TIM_TimeBaseStructure.TIM_Prescaler=71; /* 时钟预分频数 72M/72 */ // TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1; /* 外部时钟采样分频 */ TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseStructure.TIM_ClockDivision=0; TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; /* 向上计数模式 */ TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure); OC_InitStructure.TIM_OutputState= TIM_OutputState_Enable; //输出使能 OC_InitStructure.TIM_OutputNState=TIM_OutputNState_Disable;//互补输出使能不开 OC_InitStructure.TIM_OCIdleState= TIM_OCIdleState_Reset; //输出通道空闲电平配置 OC_InitStructure.TIM_OCMode=TIM_OCMode_PWM1; //输出PWM 采用模式1 OC_InitStructure.TIM_OCPolarity=TIM_OCPolarity_High; //输出通道电平极性配置,决定定时器通道的有效电平 OC_InitStructure.TIM_OCNIdleState=TIM_OCNIdleState_Set;//互补输出通道空闲电平配置 OC_InitStructure.TIM_OCNPolarity=TIM_OCNPolarity_High; //互补输出通道电平极性配置,高电平有效 TIM_OC4Init(TIM2, &OC_InitStructure); //通道4输出 TIM_OC4PreloadConfig(TIM2, TIM_OCPreload_Enable); TIM_CtrlPWMOutputs(TIM2, ENABLE); TIM_Cmd(TIM2,ENABLE); }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3