DC모터의 위치제어 및 속도제어수업 : 금 1,2,3,4과목 : 메카트로닉스 기초실험제출일 : 2019년 4월 19일DC모터란, 원리적으로는 자기장 속의 도체에 전류를 흐르게 함으로써 발생하는 전자기력의 응용으로, 고정된 영구자석(고정자)과 회전 가능한 코일(회전자, 전기자)을 사용해 구성되어 있다. 코일에 흐르는 전류의 방향을 전환해 자력의 반발, 흡인력으로 회전력을 발생시킨다. DC모터는 제어용 모터로서 매우 우수한 특성을 가지고 있다.(1) 장 점(1) 기동 토크가 크다.(2) 저속화가 쉽다.(3) 인가전압에 대하여 회전특성이 직선적으로 비례한다.(4) 입력전류에 대하여 출력 토크가 직선적으로 비례하며, 또한 출력 효율이 양호하다.(5) 가격이 저렴하다.(2) 단 점(1) 구조상 브러시와 정류자의 접점이 존재해 작동시 스파크, 소음이 발생하며 수명에 큰 영향을 끼친다.(2) 큰 동력을 얻기가 어렵다.(3) 회전 중 진동, 소음이 많다.(4) 마이크로컴퓨터 제어를 하려는 경우는 "Noise"가 발생하게 된다.(※노이즈 대책을 위해서는 각 단자와 케이스 사이에 콘덴서(0.01μF∼0.1μF 정도)를 부착한다 이것으로 정류자에서 발생하는 spark 등을 흡수하여 노이즈를 억제할 수 있다.)전기자 코일이 만큼 회전했을 때 토크 는 다음과 같다여기서 F는 전자력 l은 축 중심에서 코일까지의 거리를 표시한다 특히 주의할 것은 2의 위치에서전기자 코일이 정지해 있다면, 전류를 흘려도 토크가 이기 때문에 시동이 불가능하다 이러한 문제점을 해결하기 위하여 전기자 코일을 여러 각도로 배치하는 것을 생각할 수 있는데 I2개의 코일을 등 간격으로 배치한 예가 그림이다 여기서 브러시와 한 개의정류자가 접촉하고 있는 각도는 15 이고, 자극의 중심선에 대해서 7.5 벗어나면 다른 정류자가 브러시에 접촉하게 되기 때문에 거의 일정한 토크 곡선을 얻을 수 있다 직류 모터의 전기적 모델은 아래그림처럼 나타낼 수 있으며, 전압과 전류가 시간적으로 일정하다고 할 때, 직류 모터의 특성식은 다음과 같이 쓸 수 있다.DC모터가 많은 장점으로 널리 쓰이는 만큼 작동법에 대해서 알아볼 필요가 있다. 이번 실험을 통해서 DC모터의 작동 유형을 알아보고 그에 따른 명령법을 적용해 볼 것이다.모터 스펙이 4체배 엔코더 펄스수1024, 감속비100:1, 최대RPM 5000일 때 다음 명령을 순서대로 입력하면 모터 1과 모터 2의 모터 파라미터 설정을 할 수 있습니다.명령어설명1STFFFF;제어 파라미터 변경이 가능한 타입으로 설정합니다2EDA55A;파라미터를 factory default 값으로 바꿉니다.3SEA55A,0400,0400,0001,0001;4체배 한 엔코더 펄스수 1024를 헥사값0400으로 변환해서 설정합니다.4SGA55A,100,100,5000,4000;모터1의 감속비 100:1, 최대속도 5000rpm모터2의 감속비 100:1, 최대속도 4000rpm5EDA55A;이 과정에서 바뀐 파라메터에 따른 초기화를 실시합니다6SAFE01;사용하려는 주소로 재설정합니다.7STFFFE;제어 파라미터가 변경되지 않도록 모터 타입을 FFFE로 설정합니다8EsA55A;설정한 파라미터를 저장합니다.파라미터값을 지정하여 모터의 세부적인 동작을 구체적으로 지정하는 수치를 적용한다.이번 실험은 아날로그입력으로 DC모터의 회전위치를 제어한다.아래 표와 같이 순서대로 명령을 입력하면 모터 1과 모터 2를 각각 30000/-100000만큼 위치제어를 실시하며 이때 정속 구간의 속도는 1000/2000rpm이고, 가/감속은 500/800ms 동안 수행됩니다.명령어설명1SS1000,2000;정속 구간의 이동속도를 모터1은 1000rpm, 모터2는 2000rpm으로 설정합니다.2Ss500,800;;가/감속 구간의 시간을 모터1은 500ms, 모터2는 800ms로 설정합니다.3PE0001;Servo Enable [ID=1로 가정]4SM0202;위치제어 모드로 설정합니다.5PA5030000,4900000;;위치 명령을 모터1 5030000, 모터2 4900000을 전송합니다. 5000000 이 원점 입니다. (모터1을 +방향으로 30000만큼, 모터2를 -방향으로 100000만큼 이동, (엔코더 펄스수 * 4)의 값이 모터의 1회전 값입니다)6QP;;현재 포지션을 확인하는 명령어입니다.PA값을 연속적으로 변화시켰다. (모터1값만 변화시켰다.)5070000 : 원점으로부터 +70000만큼 이동4950000 : +70000부터 -50000까지 -120000만큼5020000 : -50000부터 +20000까지 +70000만큼 이동4970000 : +20000부터 -30000까지 -50000만큼 이동5000000 : -30000부터 원점까지 +30000만큼 이동-그래프를 관찰 해 보면 PA5000000 + (변경값) 에서 변경값의 1/4정도의 값이 출력된다.명령어설명1Sa100,100,300,200;100ms당 모터1의 가속도 100rpm 감속도 100rpm 모터2의 가속도 300rpm 감속도 200rpm의 기울기를 갖는 가/감속률을 설정합니다. [rpm/100ms] (※이 설정을 1초단위로 환산하면 1000,1000, 3000, 2000 rpm/sec가 됩니다.)2PE0001;Servo Enable [ID=1로 가정]3SM0505;속도제어 모드로 설정합니다.4SV2000모터1의 속도를 2000rpm으로 설정합니다.SV값을 연속적으로 변화시켰다. (모터1값만 변화시켰다.)3000 : +2000부터 +3000까지 +1000이동 = 등가속 하여 시계방향으로 3000rpm으로 회전1500 : +3000부터 +1500까지 -1500이동 = 등가속 후 등감속하여 시계방향으로 1500rpm으로 회전300 : +1500부터 +300까지 -1200이동 = 등감속 하여 시계방향으로 300rmp으로 회전4000 : +300부터 +4000까지 +3700이동 = 등감속 후 등가속 하여 시계방향으로 4000rpm으로 회전2000: +4000부터 +2000까지 -2000이동 = 등가속 후 등감속 하여 시계방향으로 2000rpm으로 회전-감/가속도를 제어했을 경우 기울기가 변화할 것이 예상된다..-감/가속이 끝나는 지점에 약간의 진동이 보인다. 원인을 찾아볼 필요가 있다.-SV값을 음의 수를 넣으면 반시계방향으로 흐를것으로 보인다.항목위치제어속도제어기능서보모터의 회전량서보모터의 회전속도정지현위치유지(서보락,회전X)속도0(회전X,위치유지X)동작명령에 따른 정격회전명령에 따른 속도로 회전용도-볼나사, 랙&피니언등 기계위치제어-복수축의 동기운전-ATC등의 회전분주-급가감속을 필요로하는 기계-회전속도의 제어가 요구되는 정량펌프DC모터가 많은 곳에서 쓰이는 이유를 몸소 느껴보았다. DC모터는 반응이 정말 빠르다. 명령을 내리는 순간 가속력을 느낄 새 없이 휙 돌아버린다. 게다가 정밀하기까지 하다. 브러시마찰의 단점만 없다면 효율을 엄청나게 끌어올릴 수 있을 것 같다.실제로 모터를 구동시켰을 때 외부환경이 영향을 끼치는 것을 확인할 수 있었다. 모터를 돌아가는 모터를 손으로 잡았을 때 받은 부하로 인해 저절로 꺼지기도 하고 외부 충격에 의해서, 자신의 진동에 의해서 그래프가 변화하는 경우도 많았다. 그저 DC모터에 명령을 내리는 것뿐만 아니라 어디에 쓰일 것인지 알고 그에 적합하게 사용을 해야 할 것이다.-강의참고자료-각종 홈페이지 Hyperlink "http://blog.naver.com/rarchrh/150141019232" http://blog.naver.com/rarchrh/150141019232 Hyperlink "http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=213583760&qb=7Yag7YGs7KCc7Ja0&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0" http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=213583760&qb=7Yag7YGs7KCc7Ja0&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0 Hyperlink "https://namu.wiki/w/%EB%AA%A8%ED%84%B0" https://namu.wiki/w/%EB%AA%A8%ED%84%B0