article search result of 'FA130' : 1

  1. 2009/08/09 모터 드라이버 IC - LB1630

모터 드라이버 IC - LB1630


  아무래도 소형 DC모터를 제어하는데 L298을 쓰는거보다는 LB1630을 사용하는게 나을것 같아 요리조리 찾아보고 구입하고, 회로구성도 하보고, 작동도 해보았습니다. 일단 데이터시트는 아래에서 다운받으시구요..ㅎㅎ

사용자 삽입 이미지


얘는 아주 간단하게 제어가 가능합니다. 모터를 5번과 8번핀에 연결하고, 7번핀엔 VCC, 2번핀엔, 그리고 1번핀과 4번핀에 모터 제어 신호를 넣어줍니다. 데이터시트 열어보기 귀찮으신분들을 위해 진리표를 아래 넣어둡니다.

IN1

IN2

OUT1

OUT2

MOTOR

H

L

H

L

Forward

L

H

L

H

Reverse

H

H

off

off

Standby

L

L

off

off

Standby

쉽게말해 IN1, IN2의 값이 다르면 돌아가고 같으면 정지한다는 쉬운 진리표 되겠습니다.
단순히 저렇게 동작을 시키지만 저렇게하면 속도제어가 되지 않습니다. 그래서 여기에선 PWM으로 제어를 합니다 뭐 자세한 내용은 데이터시트를 보시고 공부를 하시고(데이터시트에도 별 내용 없습니다;;) 회로를 구성하고 동작을 시켜보겠습니다.  회로는 아래와 같이 구성하였습니다.

사용자 삽입 이미지

ATmega128은 PORTB 4번비트가 OCR0이고, PORTB7번비트가 OCR2입니다.  PWM제어를 위해 저렇게 연결을 시켜줬구요, 모터 연결하고, 5볼트 연결하고...뭐 더 할것도 없는 간단한 회로입니다.


이 회로를 만능기판에 납땜을 해서 동작시켜보겠습니다. 일단 납땜은 아래와 같이 하였습니다.

사용자 삽입 이미지

죄송합니다. 납땜실력이.ㅡㅡ; 오른쪽에 5볼트 배터리를 연결하고, 왼쪽에 DC모터를 연결합니다.
모터는 마부치 130모터를 사용하였습니다. (옛날에 미니카에 많이 쓰던..ㅎㅎ) 맘같아선 블랙모터 이런거(전 아오시마 모터를 주로 사용했습니다. 1996년도 당시 엄청 비쌌던 모터.. 어떻게 얻었는지는 가물가물..ㅋ)달고 싶지만 뭐 경주할거 아니니 별로 필요가 없고 FA130모터로 씁니다. 보통 13모터라고 하죠..ㅎㅎ

이제 이 모터를 구동시켜 보겠습니다. 아래 동영상을 재생해주세요~


PWM을 이용해서 OCR값을 0부터 255까지 20단계씩 버튼으로 올렸다 내렸다 하면서 작동시키는 모습입니다.
버튼을 누르면 쭉쭉쭉쭉 올라가다가 값이 255를 넘으면 오버플로가 발생해 0부터 다시 시작합니다. 그래서 모터가 빨리 돌다가 갑자기 느리게 돌아갑니다.ㅎㅎ

소스는 아래와 같습니다.
#include<avr/io.h>
#include<carroty/delay.h>
#include<compat/deprecated.h>

int main(void)
{
 DDRB=0x90;
 TCCR0=0x63;
 TCCR2=0x63;
 DDRG=0x03;
 PORTG=0x00;
 unsigned char i=0, j=200;

 while(1)
 {
  OCR2=j;
  OCR0=i;
  if((PING&0x04)==0x04) {j+=20; sbi(PORTG,0); delay_ms(100); cbi(PORTG,0); }
  if((PING&0x08)==0x08) {j-=20; sbi(PORTG,1); delay_ms(100); cbi(PORTG,1); }
 }
}



이제 이 모터 드라이버를 언능 프로젝트에 적용시켜야겠습니다^^ ㅎㅎ 일단 PCB 패턴부터 그리고.ㅡㅡ;
2009/08/09 03:27 2009/08/09 03:27


ㄹㅔㅈㅕ
하드웨어/전자부품 2009/08/09 03:27

댓글을 달아 주세요

[ SG, SB ] Powerd by Textcube, designed by criuce
rss