Page 942 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 942
PWM 모터 제어
PWM 방식은 결과적으로는 구동전압을 바꾸고 있는 것과 같은 효과를 내고 있다. 구체적으로
는 모터 구동전원을 일정 주기로 On/Off 하는 펄스 형상으로 하고, 그 펄스의 duty비(On 시간
과 Off 시간의 비)를 바꿈으로써 실현하고 있다. 이것은 DC 모터가 빠른 주파수의 변화에는
기계 반응을 하지 않는다는 것을 이용하고 있다.
PWM파형을 이용해 모터를 제어하려면 다이오드가 필요하다. 즉 모터 드라이버가 Off를 내보
내고 있는 동안 모터의 코일에 축적된 에너지를 전류로 흘리는 작용(Fly wheel)을 하는 다이오
드를 달아준다.
<Fly wheel 작용>
3) PWM 모터 제어 소스
void main_pwm_output(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB
RCC_APB2Periph_AFIO, ENABLE);
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = Period;
TIM_TimeBaseStructure.TIM_Prescaler = 0;
TIM_TimeBaseStructure.TIM_ClockDivision = 0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_OCInitTypeDef TIM_OCInitStructure;
- 935 -