연구 개발 장비
Two link manipulator
학부 졸업논문 프로젝트 수행을 위해 제작된 장비이다. 기구물 제작을 위해 연구실에서 개발한 CNC (ECL CNC)를 이용하였다. 2개의 Step motor를 이용하여 2개의 관절을 제어하며 End effector가 원하는 궤적을 그릴 수 있도록 PC의 병렬포트를 통해 Step motor 제어 신호를 생성하여 Step motor driver에 인가한다. 로봇 공학의 기초가 되는 역기구학(Inverse Kinematics)등을 학습해 볼 수 있다.
Line tracing robot
학부 강좌인 임베디드 시스템 설계 수업에서 사용하기 위해 제작하였다. MCU (Micorcontroller unit)의 초기화, General purpose I/O의 활용, Timer/Counter 활용, PWM, Interruput 등을 적용하여 Embedded hardware에서 구동되는 software를 설계하고 구현하는 과정을 학습해 볼 수 있다. 또한 Remote control을 이용하여 원격 조정이 가능하다. 하드웨어의 구성은 다음과 같다.
- Main CPU : ATMEGA128
- Actuator : 2 DC motors
- Sensor : IR Emitter and Photo Transistor, Optical receiver module
- DC motor driver : L298N
- Output : 2*16 Character LCD display, Buzzer
- Input : 4 swtiches
- Main power : 9V battery
도립진자, Inverted Pendulum (상용제품)
제어 교육용 실험 장비를 개발하는 회사인 Canada의 Quanser (http://www.quanser.com) 에서 제작한 장비이다. 학부 및 대학원 제어 실험 및 연구용으로 사용된다. 지금 현재는 TMS320C31 기반의 DSP board를 이용하여 제어기를 구축해 놓았다. 변형된 enegy control 방식의 swing-up 제어를 통해 pendulum을 swing-up 시킨 후 선형 영역에서는 LQ (Linear Quadratic) 제어를 사용하고 있다. LQ 제어 이외에도 고전적인 PID 제어, 그리고 Fuzzy control 이나 Predictive control 같은 다양한 제어기법을 적용해 볼 수 있다. Hardware 상의 동력전달방식은 Spur Gear와 Rack Gear를 이용하고 있다. 최근에는 DC Motor를 제어하기 위해서는 주로 PWM 제어방식을 많이 사용하지만, 이 장비는 구형 장비인 관계로 Power OP Amp를 사용하고 있다. 이를 위해서 제어 Board인 TMS320C31의 12-bit DAC 기능을 사용하고 있다.
도립진자, Inverted Pendulum (자체개발) : 볼스크류 기반의 동력전달
본 연구실 (ECL, Embedded Control Lab)에서 직접 설계, 제작한 장비로서 학부 및 대학원의 제어 실험 및 연구용 장비이다. 아래에 소개된 ATMEGA 128 기반의 제어보드를 이용하여 제어알고리즘을 구현하였다. 샘플링은 초당 125회, 즉 0.008 초의 샘플링 시간을 취하고 있다. 제어기 알고리즘은 위에서 소개한 것과 같이 Swingup 제어 + LQ 제어 방식을 취하고 있다. 제어. 동력전달 방식은 Ball screw를 사용하였다. 사용하고 있는 모터는 40W 급의 DC 모터이다. Ball screw를 구동하기 충분할 만큼의 Torque를 발생시키기에는 충분한 출력을 내지 못하며 또한 Dead zone이 있어서 제어 성능에 제약을 가진다. 따라서 이러한 제약을 극복하기 위한 제어 알고리즘에 관한 연구를 수행하는 데 있어 유용하게 사용될 수 있는 시스템이다.
도립진자, Inverted Pendulum (자체개발) : 타이밍 벨트 기반의 동력전달
위에서 소개된 장비와 목적은 같다. 위 장비의 경우 볼스크류를 통해서 동력을 전달하는 반면 이 장비는 타이밍 벨트를 이용하여 동력을 전달하는 구조이다. 볼스크류 기반의 동력전달 방식의 경우 빠른 가속도 성능을 얻기가 힘든 단점이 있었는데 타이밍 벨트 기반의 동력전달방식은 이 단점을 크게 개선하였다. 또한 이 장비에서는 모터축에 직접 타이밍 풀리를 결합하지 않고 커플링을 사용하는 방식을 취하여 모터가 받는 부하를 최소화였다. 지금까지 ECL에서 제작한 도립진자 시스템중 가장 제어 성능이 우수하다. 데이터취득은 마이크로콘트롤러 보드(ECL128 Verion 3)에서 수행하고 제어 연산은 Matlab이 수행하도록 하는 제어방식을 취하였으며 이를 위하여 마이크로 콘트롤러 측의 펌웨어와 Matlab 쪽의 application을 작성하였다. 마이크로콘트롤러 보드와 Matlab 과의 통신은 USB 2.0의 풀스피드 통신을 사용하였다. 실험을 통해 얻은 경험적 수치에 의하면 약 2.5 [ms] 정도의 샘플링 주기를 갖는 되먹임 제어 시스템에 안정적으로 적용가능하였다.
아래의 그림은 위에 링크된 동영상속의 실험을 수행하기 위해 작성한 Matlab 기반의 제어블럭이다.
Feedforward 방식의 도립진자 swing-up control
도립진자의 swing-up control은 energy control을 주로 사용한다. 위의 Simulink model은 energy control을 이용하여 제작된 도립진자를 swing-up 하는 기능을 수행한다. 도립진자를 swing-up 시키기 위한 또하나의 방법은 feed forward control을 이용하는 방법이다. 이 방법의 장점은 energy control과는 달리 단시간 내에 도립진자를 swing-up 시킬 수 있다는 점이다. 이 방법이 효과적으로 동작하기 위해서는 도립진자의 model parameter를 정확히 알고 있어야 한다. 아래에 link 된 동영상은 feed forward control을 이용한 도립진자의 swing-up control 에 대한 시연 동영상이다.
[Feed forward 방식의 도립진자 swing-up 제어 실험 동영상]
2단 도립진자, Double Inverted Pendulum (자체개발) : 타이밍 벨트 기반의 동력전달
2단 도립진자는 1단 도립진자에 비해 제어 난이도가 훨씬 더 높다. 하나의 DC 모터를 이용해서 2개의 진자 막대를 직립으로 세우는 것이 2단 도립진자의 제어목표이다. 각각의 진자막대는 회전축을 중심으로 자유롭게 회전할 수 있다. 위에서 소개된 1단 도립진자와 구동부의 구성은 동일하다. 센서부는 cart의 위치, 첫 번째 진자막대의 각도, 두 번째 진자막대의 각도를 측정하기 위해 모두 3개의 rotary encoder가 사용된다. 현재는 직립된 상태를 유지하기 위해 LQ 제어기가 구성되어 실제 제어 실험을 수행할 수 있는 단계까지 와있는 상태이다. 물론 이 단계까지 오는 것도 모델링, 모의실험, 모델 계수 측정 및 계산 등등 상당히 많은 과정을 필요로 한다. 앞으로 관련 연구결과를 좀더 연구한다면 조만간 Swing-up 제어도 구현할 수 있을 것으로 예상해본다. 2단 도립진자의 Swing-up 제어는 (필자가 알고 있는 한도내에서) 실험을 동반한 연구결과가 겨우 2개밖에 나와 있지 않은 미개척 분야이다. 석/박사 학위 과정 학생들이 논문 주제로 도전할 만한 재미있는 문제라고 생각된다. 결코 쉬운 문제는 아닐 것이다. 제어기를 구성하기 위한 하드웨어 및 소프트웨어는 ECL DAQ와 ECL RCP 환경을 이용하였다. Sampling 주기는 1 [ms]로 하였다. 아래에 link된 동영상을 보면 알 수 있지만 제어를 수행할 때 cart가 한 자리에 안정되게 정지해 있는 것이 아니라 계속 좌/우로 cart가 진동하는 것을 볼 수 있다. 이를 개선하기 위한 연구도 추가적으로 수행할 예정이다. 아래의 그림은 ECL DIP (Double Inverted Pendulum)의 설계 개념도이다. 3차원 설계 program을 이용하여 설계되었으며 ECL CNC2를 이용하여 연구실에서 자체 제작하였다. CNC를 보유하고 있다는 것의 매력은 구상한 시스템을 직접 제작할 수 있다는 것이라고 생각된다. 생각대로 T라는 광고 문구처럼 말이다.
[3차원 설계 프로그램을 이용하여 설계된 ECL DIP (Double Inverted Pendulum)의 외형도]
실제로 제작된 ECL DIP의 실물 사진은 다음과 같다. 큰 사진을 보고 싶다면 사진 옆의 link를 click 하면 된다. LQ 제어를 이용하여 도립상태로 유지하는 실험을 수행한 장면을 담은 동영상도 같이 link 되어 있다. 1단 도립진자는 종종 대학원 연구실에서 보유하고 있어서 제어 실험 장면을 볼 기회가 있으나 2단 도립진자는 흔히 볼 수 있는 시스템은 아니고, 실제 제어가 되고 있는 동영상 장면도 흔하지 않다. 제어 실험 동영상을 꼭 한번 보기를 추천한다.
2단 도립진자를 제어하기 위해 DC 모터 드라이버와 Encoder 처리 회로를 하나의 board에서 처리할 수 있도록 새롭게 board를 제작하였고 ECL DAQ를 이용하여 필요한 센서정보를 수집하였다. USB를 통해 PC로 전송된 센서정보를 바탕으로 Simulink를 이용하여 제어알고리즘을 구성하였다. 참고로 Simulink가 하드웨어와 연동해서 제어기로 사용될 수 있는 것은 필자가 개발한 ECL RCP (Rapid Control Prototyping) 환경을 적용했기 때문이다. 아래의 그림은 새롭게 제작된 board와 ECL DAQ board의 실물 사진이다.
회전형 도립진자, Rotary Inverted Pendulum (자체개발)
ECL에서 직접 개발한 장비이다. 역시 학부 실험 및 대학원생 연구를 목적으로 제작되었다. 일반적인 도립진자가 수레(cart) 방식으로 구성된 것과는 달리 하부가 회전형으로 구성되어 있다. 모터는 Swiss의 Minimotor를 사용하였다. 동력전달은 Timing Pulley와 Timing Belt 방식이다.
- Encoder : 2개 (1000 pulse/rev), 제조사 : Autonics
- 모터 : minimotor (정격 12V)
- 타이밍 풀리 감속 비율 : 4 대 1
- 기구부 재료 : MC 나일론, 알루미늄
회전형 도립진자, Rotary Inverted Pendulum (자체개발)
위에서 소개한 장비와 같은 목적을 가진다. 위에서 소개된 장비는 엔코더 선이 arm의 회전을 방해해서 무한히 회전할 수 없는 구조를 가지는 반면 이 장비는 Slipring을 사용하여 arm 부분이 무한히 회전할 수 있도록 설계한 것이 가장 큰 차잇점이다. 동력전달은 gear를 이용하였다. 기구물은 알루미늄을 이용하여 제작되었으며 외관을 고급스럽게 보일 수 있도록 청색으로 착색하였다.
Twin Rotor Poistion Control System (Version 1)
2개의 rotor를 갖는 다입력/다출력 시스템이다. 2개의 rotor 중 하나는 지면과 수직 방향으로 추진력을 발생시키고 또 하나는 지면과 평행한 방향으로 추진력을 발생시킨다. 제어 목표는 2개의 모터를 제어하여 Pitch angle과 Yaw angle을 설정한 값을 자동으로 추종하도록 하는 것이다. rotor 부분은 screw로 고정되어 있는데 이것을 조정해 2개의 rotor에 의해 발생하는 추진력이 상호 결합을 갖도록 조정할 수가 있어 진정한 의미의 MIMO 시스템을 실험실 내에서 제어해볼 수 있도록 설계되었다. 현재는 ATMEGA128 Board를 이용하여 LQ 방식을 적용하여 초기적인 단계의 제어가 구현되어 있다. LQ 제어기 설계를 위해 선형 모델을 사용하였다.
- Encoder : 2개(1000 pulse/rev), 제조사 : Autonics
- 모터 : Maxon motor (24V)
- 기구부 재료 : MC 나일론, 알루미늄
- Slipring : Brush type, 24선. 모델명 : AC6023
Twin Rotor Poistion Control System (Version 2 ) : 2010년 5월 개발완료
위의 실험장비를 개선하여 새롭게 제작한 장비이다. 위의 장비에서는 모터를 지탱하고 있는 봉의 굵기가 가늘어서 제어를 수행할 때 진동현상이 많이 나타나는 현상이 있었다. 이 현상은 제어 성능에도 좋지 않은 영향을 끼쳐서 이를 개선하기 위해 모터를 지탱하는 부분을 봉이 아닌 판(plate) 형태로 하여 강성을 보완하였다. 또한 전용 PCB를 제작하여 결선부를 간결하게 정리하였고 Control Board와의 Interface를 손쉽게 구성할 수 있도록 개선하였다. 기구부는 연구실에서 보유하고 있는 CNC(ECLCNC2) 장비를 이용하여 알루미늄으로 가공하였으다. 미관을 위하여 알루미늄 기구부는 청색으로 착색하였다. 지금 현재 사용하고 있는 제어 기법은 적분기를 포함한 LQ Control을 사용하고 있다. 향후 더 높은 성능의 제어를 수행하기 위해서는 다음과 같은 주제들을 진행해야 할 것이다.
- 모터의 추력 특성의 파악
- Main rotor와 Tail rotor의 운동에 의한 상호결합(coupling) 정도 특성 파악
- H infinity control과 같은 모델기반 다변수 제어기법의 적용
- Joy Stick을 이용한 사용자 편의성 개선
Bird-like Biped Robot
조류모양의 2족 보행 로봇으로 총 8개의 DC 모터를 이용하여 구동된다. 되먹임 제어부(feedback control part)는 TMS320F2407로 구현하였다. 로봇공학과 관련한 여러 가지 사항, 즉 inverse kinematics, forward kinematics, motor control, trajectory generation 등을 학습하며 실험해 볼 수 있다.
- 구동기 : DC 모터 8개
- 센서 : 가변저항
- Control 부 : TMS320F2407 좌, 우측에 각 1개씩.
- 기구부 재료 : MC 나일론, 알루미늄.
SCORBOT (상용제품)
이스라엘의 Eshed Robotec 사에서 제작한 7자유도 Robot Arm. 로봇공학에 관한 여러 가지 이론(ex: inverse kinematics)을 실제 적용해 볼 수 있는 시스템이다. 지금 현재는 ECL에서 자체 개발한 TMS320LF2407A (TI 사의 16-bit DSP chip)을 기반의 Control Board를 이용하여 기본적인 제어 실험을 수행하고 있다.
Robot arm을 제어하기 위해 사용한 Control board의 대략적인 사양은 다음과 같다.
- Main processor : TMS320LF2407A (40MIPS Fixed-point DSP)
- DC motor control : 7개의 DC motor 제어 가능
- Encoder counter : uPD4701(12-bit Encoder counter)를 4개 채택. 총 8개의 encoder를 읽을 수 있다.
- 통신 : USB (FT245BM 이용) 및 Ethernet (NM7010B 이용) 통신 기능 지원
자율주행 로봇 version 1
"원자력 발전소에서의 안전검사를 위한 자율 지능형 로봇 개발" 과제를 통해 개발한 지능형 자율 주행로봇 플랫폼이다. 현재 개발 진행중이며 컴퓨터 영상 처리 기법을 이용하여 자율 주행 기능을 구현할 예정이고 향후 원자력 발전소 내에서 안전감시나 사고방재의 기능을 수행할 수 있도록 자율 지능을 구현할 예정이다. 하체부의 바퀴 4개가 모두 자유도를 가지고 있도록 설계되어 있어서 다양한 형태의 주행이 가능하다. 상체부의 로봇팔은 Gripper를 포함하여 모두 6자유도를 갖도록 설계되었다. 하체부의 바퀴조향은 Maxon사의 모터 드라이버를 이용하여 구동하고 있으며 상체부의 로봇팔은 자체제작한 로봇팔 제어보드를 사용하고 있다 (위의 그림 참조)
자율주행 로봇 version 2
카메라를 장착해서 무인으로 특정지역을 영상을 취득하여 무인 검사가 가능하도록 설계변경한 자율주행 로봇이다. Scissor lift를 설계하여 높은 곳의 영상도 촬영할 수 있도록 설계하였다. Version 1의 바퀴구동부 기구부가 불안정하게 설계되어 흔들림이 심한 단점이 있었는데 version 2에서는 바퀴 구동부 기구부를 크게 보강하여 안정성을 향상시켰다. 아래의 사진은 개발된 로봇을 배경으로 촬영한 사진이다. 오른쪽은 ECL의 지도교수인 이영삼 교수, 왼쪽은 ECL의 하드웨어 수석 디자이너.
[Scissor lift 동영상 1] [Scissor lift 동영상 2] [경로 추적 동영상]
이륜형 Mobile Robot (자체개발) : 2009년 8월
이동 로봇과 관련된 다양한 이론의 검증, 그리고 실험을 수행하기 위해 제작하였다. ECLCNC2를 이용하여 개발되었다. 재원은 다음과 같다.
- 구동부 : DC 모터 2개, 49:1 감속기
- 센서 : Rotary encoder
- 동력전달 : 모듈 1.0의 Spur gear
- 기구부 : 알루미늄 6061, 두께 6mm, 8mm 사용
자기부양장치, Magnetic Levitation System (자체개발)
학부용 제어실험 및 대학원에서 제어 이론 검증을 위한 목적으로 개발한 장비로서 전자석을 이용해 자성체를 공중에 머무르도록 제어하는 장치이다. 전자석은 연구실에서 자체 제작하였다. 물체의 위치를 측정하기 위하여 IRED (Infrared Emitting Diode)와 Photo transistor를 이용하였다. 아래의 그림은 AVR 128 Microprocessor를 이용하여 약 1KHz의 샘플링속도로 sliding mode control을 이용하여 제어를 수행하는 모습을 보여주고 있다. 향후 여러 가지 제어기법, 예를 들어 PID, Lead-lag, LQ, H infinity 등의 제어기법을 적용하여 성능을 비교/분석 하고자 한다.
[확대사진] [실험 동영상 1] [실험 동영상 2 (tracking control)] [실험동영상 3 (Matlab을 이용한 Plotting)]
아래 그림은 sliding mode control을 이용하여 자기부양 시스템을 tracking control 한 실험의 결과를 보여준다. 그림에서 x축은 시간, y축은 전자석 밑바닥에서부터 부양물체까지의 거리이다. 1 mm 진폭을 갖는 구형파를 기준입력(reference input)으로 인가하여 잘 추종(tracking)하는지를 살펴보기 위한 실험이다. 아래 그림에 의하면 overshoot, undershoot 가 있긴 하지만 비교적 잘 추종하고 있는 것을 볼 수 있다.
자기부양장치 Version 2, Magnetic Levitation System (2010년 1월)
자기부양 시스템 장치의 완성도를 높이기 위해서 위의 장비를 좀더 개선하였다. 전자석의 완성도를 더욱 높였고 센서의 측정 범위를 크게 개선하였다. 부양체의 무게도 Version 1에 비해 크게 개선되어 250 [g] 정도의 무게도 부양시킬 수 있도록 개선하였다. 제어는 AVR DAQ와 AVR RCP 환경을 이용하여 Simulink를 통해 제어하였으며 샘플링 속도는 1KHz이다. 아래 그림은 개선된 자기 부양 장치의 사진이다. 큰 사진을 보려면 link를 click 하면 된다. 실제 제어실험에 관한 동영상도 같이 link 되어 있다. 첫 번째 동영상은 regulation 제어 실험 동영상이고 두 번째 동영상은 Sine 파형의 기준입력을 추적하는 tracking control 제어 실험이다.
[확대사진1] [확대사진2] [실험 동영상 1 (regulation)] [실험동영상 2 (sine wave tracking)]
높이 측정기, Height Gauge (자체개발)
TM 나사를 이용하여 제작한 높이 측정기이다. 사용한 TM 나사의 리드는 4 mm, 즉 1회전에 4 mm 전진한다. 회전각을 측정하기 위해 1000 pulse/rev 해상도를 갖는 회전형 엔코더(rotary encoder)를 사용했으며 4체배 방식을 채택하였다. 4mm 이동하는데 모두 4000개의 엔코더 펄스가 발생하므로 이론상으로는 1/1000 mm의 해상도로 높이 측정이 가능하다. 이 장비는 자기부양 시스템의 센서부와 구동부의 특성을 모델링하기 위해 주로 사용된다. 이 측정기는 본 연구실(ECL, Embedded Control Lab.)에서 개발한 CNC 장비를 이용하여 개발되었다.
ECL 128 Control Board V 2.0 (자체개발)
도립진자/회전형 도립진자/헬리콥터 시스템/자기부양 시스템 등을 제어하기 위해 제작한 제어보드로 CPU는 8-bit RISC 프로세서인 ATMEGA128을 사용하였다. 세부적인 I/O 기능은 다음과 같다.
- Encoder Counter : 6 channel, LS7266 (2 channel encoder counter) 3개 사용
- DA conterter : 12-bit 해상도 2 channel (Bipolar, Unipolar 전환가능)
- AD converter : 12-bit 해상도 4 channel (Bipolar, Unipolar 전환가능)
- Motor 제어용 PWM : 2 channel
- 외부 RAM : 32 KB (62256)
- 통신 : UART0, UART1
ECL 128 Control Board V 3.0 (자체개발)
도립진자/회전형 도립진자/헬리콥터 시스템/자기부양 시스템 등을 제어하기 위해 제작한 제어보드로 CPU는 8-bit RISC 프로세서인 ATMEGA128을 사용하였다. V2.0 에 비해 강화된 점은 USB 통신 기능과 Ethernet 통신 기능을 지원하는 점이다. 약화된 점은 V2.0은 6개의 Encoder를 읽을 수 있고 2 채널의 DAC를 제공했지만 V3.0에서는 2개의 Encoder를 읽을 수 있고 1 채널의 DAC 기능을 제공하는 것이다. 또한 V3.0에서는 SMD 부품을 다수 채택하여 Board의 크기를 많이 줄였다. FT245BM에 의한 USB 통신은 약 1MByte/s 정도의 전송속도를 가진다. 따라서 실시간으로 실험 결과값을 PC로 전송해서 real-time monitoring을 수행할 수 있다. 위에 소개한 자기부양장치의 실험결과는 Simulink의 S-Function을 이용하여 USB 통신을 구현한 후 그것을 기반으로 얻은 결과이다.
- Encoder Counter : 2 channel, uPD4701 (12-bit 2 channel encoder counter) 1개 사용
- DA conterter : 12-bit 해상도 1 channel (Bipolar, Unipolar 전환가능)
- AD converter : 12-bit 해상도 4 channel (Bipolar, Unipolar 전환가능)
- Motor 제어용 PWM : 2 channel
- 외부 RAM : 32 KB (62256)
- USB 통신 : FT245BM 사용
- Ethernet 통신 : Wiznet의 NM7010B 모듈 이용
AVR DAQ V1.0 (자체개발) : 2009년 5월
위에 소개한 ECL128 Control Board의 사용이 매우 제한적이어서 범용의 목적으로 새롭게 제작한 Board이다. 이름도 control board가 아니라 DAQ(Data Acquisition) Board로 하였다. Main processor는 개발환경이 무료로 제공되는 ATMEGA128을 사용하였다. 이 board의 특징은 강화된 주변 장치와 통신 장치이다. 아래 정리된 요약사항을 보아도 알 수 있듯이 주변장치가 풍부하게 제공된다. 또한 기존 Board가 USB Full speed만 지원되던 것에 비해 USB High Speed도 지원되도록 개선하여 통신 속도를 크게 개선하였다. 참고로 High Speed의 통신속도는 최대 540Mbps이다. 실제 사용할 때는 이것보다는 떨어지지만 20~30 MB/s 는 가능하다. 새로 설계된 DAQ Board의 또한 가지 특징은 또한 8-bit의 GPIO port 2개를 자유롭게 사용할 수 있어 다른 digital 장치와의 interface 실험에 유연하게 적용할 수 있다. Board의 Specification은 다음가 같이 요약할 수 있다
- Main processor : ATMEGA128 (16MHz)
- Encoder Counter : 8 channel (24-bit 4 channel encoder counter 2개 사용)
- DA conterter : 16-bit 해상도 4 channel (0~5V 출력범위), SPI Interface
- AD converter : 16-bit 해상도 8 channel (0~5V 입력범위), SPI Interface
- Motor 제어용 PWM /Direction: 7 channel
- 외부 RAM : 32 KB
- USB 통신 : Full Speed(FT245BM 사용), High Speed (EZUSB FX2사용)
- UART 통신 : 2 channel
- Digita lInput : 16 channel
- Digital Output : 16 channel
- 8 Switch Inputs
- 8 LED Outptus
- 16*2 Character LCD
- Graphic LCD
- Buzzer
- 2개의 8-bit GPIO PORT
- SPI 장치와 Interface 하기 위한 PORT 제공
- 향후 추가적인 주변장치 Interface를 위해 Bus Extension 제공
TMS320F2812 Module Board (자체개발) : 2009년 1월
고속 계산이 필요한 제어 시스템의 구현을 위하여 개발하였다. Texas Instrument (TI)사의 steady seller인 32-bit 고정소수점 DSP인 TMS320F2812를 사용하였다. 2812는 Motion control에 특화된 DSP로서 PWM을 여러개 생성할 수 있으며 12-bit AD conversion을 16 channel을 지원한다. 더불어 Quadrature Encoder Counter가 2개 내장되어있다. 향후, 여러 가지 주변장치를 탑재한 Base Board를 개발할 예정이다. 2009년부터는 Embedded control Lab의 주력 기종으로 TMS320F2812를 사용할 예정이다.
TMS320F2812 Base Board (자체개발) : 2009년 2월
TMS320F2812 Module board를 장착하여 사용하는 Base Board 이다. 여러 가지 실험이 가능하도록 IDC Connector를 이용하여 모든 Port를 사용할 수 있도록 설계하였다. 하드웨어 재원은 다음과 같다.
- CPU : TMS320F2812 (150MHz, 32-bit Fixed-point DSP)
- RAM : 512KB SRAM
- Encoder counter : 24-bit, 8 channels
- Digital-to-analog conversion : 4 channels, 12-bit resoltion, SPI Interface, 0 ~ 4.096 V output range
- Analog-to-digital conversion : 12 channels, 0 ~ 3V input range
- Digital input : 16 channels
- Digital output : 16 channels
- Character LCD
- Graphic LCD
- USB Full speed interface : FT245BM
- USB High speed interface : EZUSB FX2
- 8 Switch inputs
- 8 LEDs
- 1 Buzzer
- 2 Serial communication interfaces
- 1 CAN communication interface
AD conversion과 DA conversion을 사용하기 위해서는 signal conditioning circuit을 갖춘 별도의 Analog interface board를 flab cable로 연결하여 사용할 수 있도록 설계하여 base board 자체의 크기는 되도록 작게 유지할 수 있도록 하였다. 또한 Motor control을 위해 photo coupler를 이용한 isolation 회로 및 H-bridge를 이용한 Motor driver 회로도 별도의 Board를 이용하여 flat cable로 연결하여 사용하도록 설계하였다. 즉, 모든 기능을 board에 다 포함시키지 않고 필요한 기능에 맞는 board를 연결하여 사용할 수 있도록 하여 base board의 크기는 되도록 작게하고 활용도는 높일 수 있도록 설계하였다.
Inverter Board (자체개발) + 동기전동기의 벡터 제어 : 2010년 8월
그동안 다루던 DC 모터에서 벗어나 3상 모터(동기전동기, 유도전동기, BLDC)를 제어하는 실험을 해볼 수 있는 Inverter Board를 개발하였다. DC 모터는 구동은 쉬운 편이지만 대용량 출력이 필요한 경우에는 DC 모터보다는 3상 모터를 주로 사용하게 된다. 개발된 Inverter Board를 이용하면 3상 모터를 구동할 수 있다. 또한 전력전자에 대한 공부도 같이 병행할 수 있다. 참고로, Inverter란 직류 전원을 교류로 변환해주는 장치로써 3상 모터를 구동하기 위해 필수적인 장치이다. 아래의 그림은 개발된 inverter board의 사진이다.
개발된 inverter board의 사양은 다음과 같다.
- 용량 : 1 Kw급 모터까지 구동 가능
- DC Link 허용 전압 : 600 V
- 허용전류 : 10 [A]
- Encoder 입력 : open collector 및 differential type 지원
- Hall sensor 입력 : open collector 형태 지원
- 상전류 측정 : Shunt 저항을 이용하는 것과 전류 센서 이용하는 방식 2가지 지원
개발된 inverter board를 이용하여 영구자석 동기전동기(PMSM : Permanent Magent Synchronous Motor)에 대한 벡터 제어를 수행해 볼 수 있다. 아래의 그림은 inverter board와, DSP board를 이용하여 200 [W]급 동기전동기를 벡터제어하기 위해 구성한 실험 환경에 대한 사진이다.
벡터 제어기의 설계는 Matlab/Simulink를 이용하여 수행하였으며 Realtime Workshop의 C-code 생성기능을 이용하여 C-code를 생성한 후 compile 하여 연구실에서 개발한 ECL2812 DSP Board에 다운로드하여 실제 실험을 수행해 볼 수 있다. 아래의 그림은 동기전동기에 대한 벡터제어를 수행하는 방법을 개발할 때 사용한 개발환경의 모습을 보여주고 있다. 제어 연산이 수행하는 동안 발생하는 정보중에서 중요한 정보들은 USB 통신을 통해서 실시간으로 PC로 전송하여 Simulink의 Scope 블록을 이용하여 확인해 볼 수 있도록 구성하였다.
ECL CNC Version 1 (자체 개발)
이족보행로봇이나 자율 주행로봇의 프레임은 강도나 무게등을 고려한다면 알루미늄으로 가공하는 것이 좋다. 다양한 모양을 가진 부품을 알루미늄 판재 혹은 각재로부터 가공하는 작업을 범용 밀링머쉰이나 선반으로 수행하는 것에는 어려움이 많이 따른다. CNC (Computer Numerical Control) 밀링은 컴퓨터의 제어를 이용하여 부품을 가공하기 때문에 기존의 밀링머쉰에서 할 수 없었던 원가공이나 자유곡선 작업도 수행할 수 있는 장비이다. 일반적으로 상용으로 판매되는 CNC 장비는 비록 저가의 제품이라고 하여도 가격이 1천만원을 넘는 고가 제품군에 속한다. ECL CNC는 로봇 및 기타 시스템의 기계부 제작에 필요한 부품을 연구실 내에서 가공하기 위하여 ECL에서 자체 개발한 장비이다. 세부 사항은 다음과 같다.
- 제작 기간 : 2개월 (2006년 8월 ~ 2006년 10월)
- 가공 면적 : 380 mm (x축 방향) * 300 mm (y축 방향)
- 3축 (x, y, z 축) 구동부 : 스텝모터 (토크 13.5 Kgcm) 3개 사용
- 스핀들 모터 : 고주파 스핀들 (24,000 RPM, 600 와트) 사용
- 이동부 : TM screw 일본의 TOYO 제품
- Shaft : LM Shaft (x, y축은 지름 25mm, z축은 지름 16mm 사용)
- 몸체 : 알루미늄 6061 계열 판재 + 알루미늄 프로파일
- 절삭유 자동공급 가능
ECL CNC Version 2 (자체 개발 : 2009년 6월 완성)
ECL CNC Version 1의 단점을 보완하기 위해 2008년도부터 기획하여 2009년도 6월까지 약 1년여간에 걸쳐 개발한 CNC이다. 강성을 보완하기 위해 Bed와 Column등, 주요 기구물을 모두 주물로 제작하였다. 총 무게만도 약 800Kg 정도 예상된다. 4마력, 18000 RPM의 사양을 갖는 수냉식 스핀들 모터를 사용하였다. 공작 면적도 Version 1에 비해서 크게 개선되어 500x700 정도의 공작면적을 갖게 되며 상용 공작기계에서 사용하는 T홈 베드를 사용하였다. 또한 Z축 stroke도 크게 개선해서 약 280mm 정도의 stroke를 갖게되어 Bed 위에 바이스를 물릴수 있도록 설계되어 있어 다양한 공작물을 가공할 수 있을 것으로 예상된다. 스핀들 모터는 Senseless vector control이 지원되는 Inverter를 통해 구동되므로 저속 가공에서도 토크가 떨어지지 않을 것으로 예상되며 알루미늄 가공시 지름 8mm 엔드밀을 사용할 경우 약 10mm 정도의 절삭량도 가능할 것으로 예상된다. Version 1이 아마츄어 사용자들이 사용하는 정도의 수준이라면 Version 2의 사양은 상용으로 판매되는 CNC에도 결코 뒤지지 않는다고 할 수 있다. 향후 Version 2 CNC를 이용하여 로봇, 비행체와 같은 다양한 시스템의 기구물을 단기간내에 가공할 수 있을 것으로 예상한다. 아래의 그림은 주물 성형을 하기 위해 CNC 몸체를 스티로폼으로 가공한 후 가조립한 모양이다. 스티로폼 외부를 주물사로 채운후 쇳물을 부으면 내부의 스티로폼이 녹고 그 자리를 쇳물이 채우게 된다고 한다. 대량 생산이 아니라 단품 생산에 쓰이는 방법이다. 그 아래의 그림은 제작 완료된 CNC의 모습이다. 실물 크기를 가늠하기 위해 Lab Director인 이영삼 교수가 나란히 옆에서 포즈를 취하고 있다.
Special Thanks
연구실 수석 디자이너인 심수용 연구원에게 특별히 감사의 말을 전하고 싶다. 설계부터, 제작, 조립, 나머지 모든 과정에 참여하여 온몸을 바쳐 힘써준 덕에 ECL CNC2가 빛을 볼 수 있었다. Servo Motor의 배선과 튜닝 작업, 그리고 Interface Board 관련 작업등을 맡아준 서정헌 연구원 역시 감사의 말을 전한다.
보다 자세한 자세한 내용은 ECLCNC2의 제작기 참조바람. 사진과 더불어 다양한 설명이 되어 있으므로 재미 있음. 방문한 분들은 꼭 읽어 보길 권한다.
Rotary Encoder (자체 개발)
Rotary encoder는 회전변위를 측정하는 센서이다. 1회전 하였을 때 발생되는 펄스의 수를 encoder의 해상도라 부르는데 해상도가 높을수록 세밀한 회전변위를 측정할 수 있다. rotary encoder의 구매가격은 해상도에 따라 차이가 있지만 기본적으로 5만원 이상의 고가 센서에 속한다. 본 연구실에서는 rotary encoder의 기본원리와 동작을 실험적으로 학습할 수 있게 하기 위하여 encoder를 자체 제작하였다. encoder의 기구부 제작에는 본 연구실에서 개발한 CNC를 사용하였다. 먼저 기구부의 모습은 다음과 같다. 참고로 encoder wheel에 가공된 구멍의 수는 모두 28개이다. 따라서 4체배 방식으로 encoder를 사용한다고 가정하였을 경우 1회전을 112 등분하는 해상도를 갖는다.
Encoder 내부의 센서 구성부는 발광부, 수광부, 그리고 OP Amp를 이용한 비교기 등의 회로로 구성되어진다. 아래 그림은 기구부에 수광부, 발광부를 만능기판에 납땜하여 결합한 모습이다.
Rotary encoder의 가장 흔한 사용예 중의 하나는 모터의 회전변위를 측정이다. 아래의 그림은 DC 모터의 축에 rotary encoder를 장착한 모습이다. 사용된 DC 모터의 축은 직경 8mm이고 약 3000 RPM의 정격 회전속도를 갖는다.
위의 모터를 등속운전 시킨 후 장착된 encoder로부터 나온 A상 및 B상 신호를 오실로스코프를 이용하여 측정하여 보았다. Duty ratio는 거의 50 퍼센트를 만족하고 있으며 A상과 B상의 위상차도 거의 90도 위상차를 보이고 있으므로 해상도는 비록 떨어지지만 모터의 속도 측정용도 정도의 목적에는 충분히 쓸 수 있을 것으로 판단된다.
CNC Milling Machine
대만산 밀링 머쉰(모델명은 RF-25)을 CNC로 개조한 장비이다. 무게는 약 200 Kg 정도. x, y, z 축 모두에 DRO(digital readout)을 장착하고 있으며 CNC 기능을 위해 역시 x, y, z축에 스텝모터가 장착되어 있다. 알루미늄이나 MC-나일론 재질로 된 부품을 제작할 때 주로 사용한다. 정밀도가 크게 요구되지 않는 부품의 경우 NC 가공을 통해 원형, 삼각형과 같은 복잡한 모양의 부품도 가공할 수 있다. ECL에서 개발한 도립진자/회전형 도립진자/TRMS 시스템등을 제작에 사용된 부품 대부분이 이 장비를 이용하여 이용하여 가공되었다. 세부 사양은 다음과 같다.
- 모델명 : RF-25
- 모터 : 3/4 마력
- Spindle speed : 115 - 2600 RPM
- Working table : 585 x 190 mm
- 가로방향 이동거리 : 340 mm
- 세로방향 이동거리 : 150 mm
- 수직방향 이동거리 : 90 mm
- 최대 크기 드릴 : 25 mm
[확대사진] [x축 확대사진] [y축 확대사진] [z축 확대사진] [CNC 동작동영상] [JOG 동영상]
Metal Lathe
선반이라고 불리는 기계공작용 장비이다. ECL에서 보유하고 있는 기종은 무게는 약 100 Kg 정도의 소형 Lathe이다. 원형 공작물 가공에 아주 유용하다. 바퀴 또는 Shaft 고정장치 가공에 자주 사용하고 있다. 세부 사양은 다음과 같다.
- 모델명 : CJ0623
- Distance between centers : 500 mm
- Swing over bed : 230 mm
- Spindle taper : MT3
- 모터 출력 : 750 W
- Spindle bore : 20 mm
- Cross slide travel : 125 mm
- Top side travel : 48 mm