학습목표    1

학습주제    1

예습내용    1

실습방법    1

        1

DC모터의 회전속도 제어 (비례제어)

학습목표

비례제어로 모터의 회전 속도를 제어한다.

학습주제

1.       포토인터럽터의 원리

2.       비례제어

예습내용

 

포토 인터럽트의 프로그램을 그대로 이용한다.

 

실습방법

   

 

1.      제어 스위치와 목표 RPM 입력창을 만든다.

[원본프로그램 다운 받기]

 

  아래 그림과 같이 제어 스위치(m_nProp)” 목표 RPM(m_nRpmGoal)” 입력창을 만든다.

1초에 한번 측정된 RPM 값이 PC 전달 되는데 목표치와 비교하여 새로운 듀티비를 설정하여 보드로 제어를 한다.

 

 

 

예제1-1  목표치를 수정하는 프로그램

 

 

LONG CRs232Dlg::OnCommunication(UINT port, LONG lParam)

{

              char buff[2048]="";

              BYTE aByte;

 

              int size= (m_ComuPort.m_QueueRead).GetSize();

              for( int i=0; i< size; i++ )

              {

                             (m_ComuPort.m_QueueRead).GetByte(&aByte);

                             if( aByte!= NULL ) buff[i]= aByte;

                             else { i--; size--; }

              }

 

              m_nCount.Value = (int)buff[0];

              m_nRpm.Value = (float)buff[0]/10.*60.;

 

              float k=0.2; // 비례제어 계수

              if(m_nProp.Value == 1)

                             m_nVelocity.Value = m_nVelocity.Value + (float)(m_nRpmGoal.Value-m_nRpm.Value)/700*256*k;

 

              if(size > 0)

                             m_Edit2.SetWindowText(buff);

              return 0;

}

 

 

처음