DR8330 Data Acquisition Card 실험1. 목 적DR8330 DAQ Card를 이용하여 아날로그 입, 출력단자를 이용하여AC SERVO Motor를 원하는 속도로 작동하고 Motor의 Monitor 출력으로부터 모터의 속도를 전압의 형태로 입력받아 두값을 비교해 본다.2. 이 론1. DAQ Card도립진자시스템과 제어기와의 Signal 처리를 위하여 다림 제어기술의 DR8330 Data Acquisition Board를 사용하였다. DR8330은 아날로그 입력 16채널 (single ended)과 2개의 아날로그 출력이 사용가능하고 디지털 입력 16채널 출력 16채널을 사용 할 수 있다.AD conversion은 12Bit를 사용하고, A/D채널은 single ended와 Differential의 두 가지로 사용할 수 있다. 최대 Sampling Rate는 330KHz까지 가능하다.엔코더로부터 신호 판별회로를 거쳐서 정류된 Pulse Signal은 DR8330의 카운터 0번과 1번에 각각 연결되어 진자의 회전 변위를 검출하고, 시스템의 제어입력으로 사용되는 모터의 토크신호는 D/A 0번 채널을 통하여 AC Motor driver의 아날로그 입력단자를 연결된다.DAQ Card■ PC Slot Card▶디지털 입.출력 카드▶아날로그 입/출력 카드▶Accessories(터미널 보드 & 케이블류)Data Acquisition Board로는 크게 아날로그 입출력 및 디지털 입출력 보-드 두 종류로 나눌 수 있다. 아날로그 입출력은 물리적량( 전압, 전류, 온도, 압력, 습도 등....)을 변환하여 디지털화하는 목적으로 사용된다. 디지털 입출력은 상태의 값 ( 스위치, 릴레이, 램프 등...) 즉 On , Off 로 구분되는 정보를 받아들이거나 외부로 표출하는 데 사용되고 있다. 대부분의 Daq 보드는 컴퓨터(P.C)의 I/O 버스의 디코딩에 의하여 제어되어지기 때문에 컴퓨터 운용 체계인 윈도우즈 환경에서는 많은 문제점이 나타나는 경우가 발생된다. 프로세서 내장형은 제어 컴퓨터(P.C)와 상관없이 독립적으로 주어진 구성에 따라 데이터를 수집 및 제어를 한다.■ I/O Access 방식요즘 운용체계가 Windows 로 점차 바뀌고 있다. 일반 컴퓨터 사용자께서는 MS-DOS 운용체계 때보다 훨씬 간편하지만, 하드웨어를 직접 제어하는 계측제어 프로그램을 개발하는 엔지니어들에게는 멀티타스킹이란 윈도우의 장점이 단점으로 나타난다. 이것은 운용체계가 모든 타스크 관리를 주도적으로 하기 때문에 시점관리 어렵다.아래의 그림은 전형적인 Daq 보드 방식이다.디지털 입출력, 아날로그 입출력의 제어는 모두 PC의 CPU가 관리를 하고 있다는 단점을 가지고 있다. 위 기술한 윈도우의 문제점이 대두되나 시점관리 및 일정한 인터벌로 데이터를 수집, 제어하지 않을 경우 무방하다.{■ Memory Access 방식아래 그림에서 보듯이 Daq보드 내에 Microcontroller가 내장되어 있다. 위의 문제점을 해결하기 위하여 Daq보드에 탑제된 Microcontrolle가 P.C CPU와 별도로 시그널 프로세싱 하기 때문에 P.C 운용체계와 상관없이 데이터를 수집할 수 있다. 마치 DSP보드와 같다고 할 수 있다.P.C에서는 입출력에 관련된 Data들은 모두 Dual Port RAM을 통하여 읽기 쓰기 동작으로 이루어진다. 마치 Daq 보드가 P.C 메인 메모리 블록으로 멥핑 되어있는 모습과 같다.{Data Acquisition Board의 설치ㄱ Base I/O Address컴퓨터의 I/O공간에서 board의 register가 사용하는 주소ㄴ Interrupt Level컴퓨터의 마이크로 프로세서에게 DAQ board에 처리해야 할 작업이 있음을 알려주는 신호ㄷ Direct Memory Access Channel컴퓨터의 마이크로 프로세서를 통하지 않고 board의 data를 직접 메모리 (RAM)으로 전송하는데 필요한 channel 주소a 컴퓨터자원 변수b DAQ board 설정⇒ Windows 95에서 NI-DAQ Configuration utility를 이용, software적으로 설정한다.Base I/O addressInterrupt levelDMA channel2.서보 모터(SERVO MOTOR)서보모터는 FA및 컴퓨터기기 등에 많이 필요로 하기 때문에 그 사용환경에 맞는 고 정밀성이 요구된다. 이 때문에 지금까지는 제어가 용이한 DC모터가 사용되어 왔으나, 유지 보수가 어렵고 대출력을 얻기 힘들기 때문에 최근에는 AC 서보모터의 고정밀 제어가 연구되어지고 있다. 그런데, AC 서보모터의 구동 제어시스템의 구현은 제어방식이 복잡하고 계산량이 많아서 보통의 범용 마이크로 프로세서는 그 구현이 쉽지 않다. 더구나 fault detection, diagnostics, monitoring 기능등 부가적인 기능이 요구되는 경우는 더욱 쉽지 않게 된다. 하지만 최근에는 계산이 빠른 고속 마이크로프로세서인 DSP chip을 이용하여 필요로 하는 모든 기능을 만족하는 제어 알고리즘을 실시간으로 처리 가능하도록 구현하고 있다. 그런데, 현재 고속의 DSP chip을 이용하여 설계하고 있는 모터구동용 제어시스템은 보통 서보기능만을 충실하게 구현하는 데에 치중하고 있으며 이 경우 대개의 DSP 시스템은 이를 충분히 수행하고도 CPU time의 여력이 생긴다. 때문에 대부분의 경우에는 monitoring 등의 다른 부가기능을 실현하는 알고리즘을 추가적으로 수행하도록 설계하지만, 이를 잘 이용하면 또 다른 모터를 구동하는 기능을 수행할 수 있다. 한 개의 구동제어시스템으로 다수의 모터를 구동하게 되면 여러 개의 모터가 사용되는 복잡한 공정에 적용하기가 쉬워지며, 이로 인한 경제적인 이득을 볼 수 있다.다수의 모터를 구동하기 위한 방법으로는 여러 가지가 있을 수 있다. 첫째 sequence한 program의 수행을 통해 다수의 모터의 제어를 위한 알고리즘을 동시에 수행하도록 하는 방법인데, 이 방법은 주기가 다른 여러 개의 모터를 구동하는 경우에 이를 처리할 수 있도록 하기 위해서는 program의 작성 시에 많은 노력이 필요하다. 또한 구동 시에 발생할 수 있는 많은 event를 처리하기가 매우 어렵게 된다. 두 번째 방법으로는 interrupt를 이용한 방법이 있는데, 이 방법은 timer 등의 주기적인 interrupt를 발생시켜서 이를 기준으로 하여 필요한 알고리즘을 수행하도록 하는 방법인데 이 방법은 구현이 간단하고 대부분의 경우 시스템이 안정적으로 운영되기 때문에 많이 사용되는 방법이다. 하지만 서로 다른 주기를 가진 알고리즘이 동시에 수행될 때에는 각 알고리즘의 주기를 유지하기가 어렵고, 많은 event가 동시에 발생할 때에는 시스템이 폭주할 수도 있다. 세 번째 방법으로는 시스템에 요구되는 여러기능을 태스크들로 나누고, 각 태스크들을 multi-tasking 할 수 있도록 하는 실시간 제어기법을 이용하여 이를 구현하는 방법이다. 이 방법은 구현이 어렵고 다른 두 가지 방법에 비해 CPU의 사용효율이 떨어진다는 단점이 있다. 하지만 실시간 기법을 이용한 경우에는 시스템이 수용할 수 있는 한도 내에서는 각 태스크의 주기와 무관하게 어떠한 경우에도 실행이 가능하며 이때 발생할 수 있는 어떠한 event라도 원활하게 처리할 수 있는 장점이 있다일반 DC 모터와 직류 Servo Motor의 차이점.원리적으로 일반 직류전동기와 같지만 아래의 성질을 가진 모터.-직경에 비해 전기자가 길다.