[MODULE]/MOTOR2009. 8. 2. 10:44

르네사스 테크놀러지 소형 모터 구동용의H브릿지

르네사스 테크놀러지는,  모터 구동용의H브릿지·드라이버LSI「R2J25953」(을)를 발매한다.자동차의 도어나 산업 기기등의DC모터 제어에 이용할 수 있다.

두 개의 하이·사이드용MOSFET(와)과 로·사이드용MOSFET, 드라이버IC를 집적한다.하이·사이드용MOSFET의 온 저항은 최대16mΩ, 로·사이드용MOSFET(은)는 최대11mΩ.또, 대기시의 소비 전류는 최대30μA.보호 기능으로서LVI(Low Voltage Inhibit)(이)나 과전류,  과열등의 보호 회로를 내장한다.

동작 전압은5V~16V, 입력 전압은0.3V~16V, 출력전압은0.3V~16V.최대 출력 전류는50A이다.
패키지의 외형 치수는15.9mm×14.2mm.2012년1달부터 양산 출하를 개시할 예정.

Posted by nexp

댓글을 달아 주세요

[MODULE]/MOTOR2009. 3. 27. 17:20

[VNH2SP30] - 41V 30A 모터 드라이버 보드 제작

[VNH2SP30] - 41V 30A 모터 드라이버 보드 제작



ST사의 DC모터 드라이버 VNH2SP30 모듈 보드를 제작했다.






Posted by nexp

댓글을 달아 주세요

  1. 안녕하세요

    관리자의 승인을 기다리고 있는 댓글입니다

    2011.06.12 21:35 [ ADDR : EDIT/ DEL : REPLY ]
  2. 강유대

    관리자의 승인을 기다리고 있는 댓글입니다

    2012.09.23 19:17 [ ADDR : EDIT/ DEL : REPLY ]

[MODULE]/MOTOR2009. 3. 26. 12:26

[DC 모터 제어] RDK-BDC Kit 예제 분석

[DC 모터 제어] RDK-BDC Kit 예제 분석



[2009-03-26 11:56:56]
RDK-BDC 데모키트
LM3S2616을 이용한 모터 드라이버 보드이다.



전체 코드는 PWM2 Timer 인터럽트를 이용해서 1ms 로 전체 하드웨어를 제어하고 있다. <- 1ms로 CAN, Swith등을 제어한다. if, switch의 분가 좀 있는데 큰 무리가 없나보다.
ControllerIntHandler(void) 함수가 인터럽트 핸들러이다.
 
인터럽트 핸들러 안에
ControllerSpeedMode()
ControllerPositionMode()
등등 모터 제어를 하고 있다.
 
속도제어
우선 스피드 제어쪽을 보면...
ControllerSpeedMode()
{
        // 엔코더의 속도값을 읽어와서
        lTemp = EncoderVelocityGet();
 
        // 에러값을 구함 -> 목표 속도와 비교한다.
        lTemp = g_lSpeedTarget - lTemp;

        //PID제어기를 돌려 값을 설정한다.
        lTemp = PIDUpdate(&g_sSpeedPID, lTemp) / 256;

        // Limit 설정
        if(lTemp < -32768)
        {
            lTemp = -32768;
        }
        if(lTemp > 32767)
        {
            lTemp = 32767;
        }

        // 새로운 모터 출력값 설정
        g_lVoltage = lTemp;
    }
 
    // 모터 전압 설정 -> PWM출력
    HBridgeVoltageSet(g_lVoltage);
}
 
encoder.c 파일의 속도값 읽어오는 함수
long EncoderVelocityGet(void)
{
    return(MathDiv16x16(SYSCLK * 60, g_ulEncoderClocks * g_ulEncoderLines));
}
 
 
속도는 외부 인터럽트를 이용하여 펄스의 시간을 측정하도록 되어 있다.
 
startup.c 외부 인터럽트 핸들러 설정
    EncoderIntHandler,                      // GPIO Port C
 
EncoderIntHandler()
{
    // Save the time.
    ulNow = ROM_SysTickValueGet();

    // Clear the encoder interrupt.
    ROM_GPIOPinIntClear(QEI_PHA_PORT, QEI_PHA_PIN);

    //이전 타이머 값에서 형재의 타이머 값을 빼서 펄스의 시간을 측정한다.
    if(g_ulEncoderPrevious > ulNow)
    {
        g_ulEncoderClocks = g_ulEncoderPrevious - ulNow;
    }
    else
    {
        g_ulEncoderClocks = (16777216 - ulNow) + g_ulEncoderPrevious;
    }

    //이전값 저장
    g_ulEncoderPrevious = ulNow;
}

코드 자체는 별것 아닌데... 상당히 복잡하게 작성해놨다. 좀더 쉽고 간단하게 프로그램 짜면 쉽게 가져다 쓰기 편할텐데..
"가장 좋은 코드는 가장 쉽게 이해하는 코드다!"라는 말이 생각난다.
Posted by nexp

댓글을 달아 주세요

[MODULE]/MOTOR2008. 8. 22. 18:35

Dual High-Speed Power MOSFET Drivers - TC428

1.5A Dual High-Speed Power MOSFET Drivers
 
 
 




회로 구성예


Posted by nexp

댓글을 달아 주세요

[MODULE]/MOTOR2006. 12. 22. 00:41

[BA6208] 초소형 DC모터 드라이버 모듈 제작

[BA6208] 초소형 DC모터 드라이버 모듈 제작

사용자 삽입 이미지



ROHM사의 소형 DC모터 드라이버 BA6208을 이용하여 초소형 DC모터 드라이버를 제작 했다.
BA6208은 600mA의 출력을 할수 있으며 양방향 제어 가능한 소형 모터 드라이버이다. 원래는 다른 로봇컨트롤러에 사용되었지만 소형모듈로 만들어 간단히 테스트 할용도로 PCB남는 공간에 만들어 보았다.



소형 Atmega8 EVM 보드나 dsPIC EVM보드에 연결하여 모터 제어 테스트를 해 볼 수 있다.






BA6208 관련 자료









사용자 삽입 이미지
Posted by nexp

댓글을 달아 주세요