2010년 12월 7일 화요일

Source Insight

http://www.sourceinsight.com/

Source Insight is a revolutionary project oriented program code editor and code browser, with built-in analysis for C/C++, C#, and Java programs, as well as other languages. Source Insight parses your source code and maintains its own database of symbolic information dynamically while you work, and presents useful contextual information to you automatically. Not only is Source Insight a great program editor, but it also can display reference trees, class inheritance diagrams, and call trees. Source Insight features the quickest navigation of source code and source information of any programming editor. Let Source Insight loose on your project and see what a difference it makes in your productivity. A free 30 day trial version is available here.
Source Insight was designed for large, demanding, real world programming projects. In fact, Source Insight is being used today to develop some of the largest and most successful commercial software products ever written.

Professional UI Solutions

http://www.prof-uis.com/

Prof-UIS is an easy-to-use MFC extension library that enables you to deliver Windows applications with a professional and user-friendly interface. More than 200 thoroughly tested and documented C++ classes, templates and interfaces will help you take the time and complexity out of incorporating rich and up-to-date GUI facilities in your projects.

POSIX Threads (Wikipedia)

http://en.wikipedia.org/wiki/Pthreads

POSIX Threads, or Pthreads, is a POSIX standard for threads. The standard, POSIX.1c, Threads extensions (IEEE Std 1003.1c-1995), defines an API for creating and manipulating threads.
Implementations of the API are available on many Unix-like POSIX systems such as FreeBSD, NetBSD, GNU/Linux, Mac OS X and Solaris, but Microsoft Windows implementations also exist. For example, the pthreads-w32 is available and supports a subset of the Pthread API for the Windows 32-bit platform.[1]

Thread (Wikipedia)

http://en.wikipedia.org/wiki/Thread_%28computer_science%29

In computer science, a thread of execution is the smallest unit of processing that can be scheduled by an operating system. It generally results from a fork of a computer program into two or more concurrently running tasks. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. Multiple threads can exist within the same process and share resources such as memory, while different processes do not share these resources. In particular, the threads of a process share the latter's instructions (its code) and its context (the values the various variables have at any given moment). To give an analogy, multiple threads in a process are like multiple cooks reading off the same cook book and following its instructions, not necessarily from the same page.
On a single processor, multithreading generally occurs by time-division multiplexing (as in multitasking): the processor switches between different threads. This context switching generally happens frequently enough that the user perceives the threads or tasks as running at the same time. On a multiprocessor or multi-core system, the threads or tasks will actually run at the same time, with each processor or core running a particular thread or task.
Many modern operating systems directly support both time-sliced and multiprocessor threading with a process scheduler. The kernel of an operating system allows programmers to manipulate threads via the system call interface. Some implementations are called a kernel thread, whereas a lightweight process (LWP) is a specific type of kernel thread that shares the same state and information.
Programs can have user-space threads when threading with timers, signals, or other methods to interrupt their own execution, performing a sort of ad-hoc time-slicing.

2010년 11월 27일 토요일

Ubuntu Boot into Command Line Interface

http://www.linuxquestions.org/questions/ubuntu-63/boot-into-console-command-line-instead-of-x-549292/

To boot into the CLI everytime the system start up, the do
$sudo update-rc.d -f gdm removeIf you just want to shutdown the xserver, do
$sudo /etc/init.d/gdm stop

2010년 11월 23일 화요일

MFC 콤보박스 다운 리스트 높이 조정

http://cafe.naver.com/imbc31.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=279

오른쪽 아래 화살표 누르면 점선 테두리가 나타나고 아래쪽을 드래그하여 편쳦는 크기를 조정할 수 있다.

2010년 11월 22일 월요일

박영숙의 미래뉴스

http://www.dailian.co.kr/news/news_view.htm?id=209920

미래가 변한다는 사실을 아는 것이 가장 중요하다.
웬디 슐츠(Wendy L. Schultz) 박사는 하와이대학교 미래예측박사학위를 소유한 미래석학으로 (사)유엔미래포럼 초청으로 지난 6월 방한하였다. 글로벌 이노베이션 포럼에서 그는 '도시의 미래와 경쟁력'에 관한 주제발표를 하였는데, 이 자리에서 '꿈의 사회, 사라지는 도시, 생존 가능한 도시' 등 3가지 시나리오를 밝혔다. 슐츠 박사는 또 홍익대학교에서 퓨처스 휠 등 미래예측기법 강연을 하고, 유엔미래포럼 미래예측전문가 양성과정에서 메가트렌드에 관해 강연하였다.
인간은 가능한 미래를 예측하고 미래를 만들려고 한다. 미래는 예산과 정책으로 만들어지는데, 우리가 선호하는 미래가 무엇인지 알 수 없기 때문에 여러 석학이나 전문가들이 모여서 미래를 예측하는 것이 최우선 과제다. 글로벌보험회사인 주리히(Zurich)가 한 광고문구에서 미래는 어떻게 되는지 모르는데 왜 예측을 해야 하나라고 묻고는 “변화는 정말 일어나고 있고, 또 우리 모두의 주변에서 일어나, 결국 준비된 사람(prepared mind)만 미래의 행운을 잡을 수 있다”라고 답했다.
또 현재의 아이들이 선호하는 미래에 살아야 하므로 우리들의 부주의, 부상하는 미래변화를 잘 파악하지 않은 무관심으로 그들이 부당하게 피해를 입을 수 있다고 강조하면서, 우리의 용기 있고 경쟁력 있는 의사결정이 미래의 우리 후손들에게 좋은 기회를 가져다준다고 말했다.
인간은 미래 속으로 들어가 미래의 상황이나 변화의 증거를 찾을 수가 없다. 일직선의 미래, 정확하게 그려진 미래는 아주 우스꽝스럽게 틀릴 수가 있다. 역사학자이며 미래학자로는 '지금처럼 즉 business as usual'의 생각으로 있을 수가 없다. 미국발 금융위기로 은행가, 주택금융 이용자 등이 2008년 9월에 다가온 위기를 맞으면서 '지금처럼'은 절대로 불가능하다는 것을 알게 되었다. 미래학자로서 할 일은 부상하는 이슈, 변화의 증거를 잡아내고 그 미미하고 조그마한 변화가 큰 파도가 되어 밀려올 수 있음을 알려주는 것이다.
그 방법을 호라이전 스캐닝(Horizon scanning) 또는 환경스캐닝이라한다. 우선 미미하게 부상하는 변화를 파악할 수 있어야 하는데, 이런 미미한 나비의 날개짓을 ‘이머징 이슈’라고 하며 여기에는 기회와 도전이 함께 따른다. 도시의 미래는 어떻게 될까? 농수산업이 한국GDP의 2.8% 정도 차지하는데 변화가 올까? 주택은 이대로 갈까? 시장은 어떻게 변할 까? 바이오 공학의 성공으로 텅텅 비고 있는 산업단지들이 GMO 즉 유전자변형 곡물재배단지로 변하지는 않을까? 동식물에서 나온 원자재를 사용하여 플라스틱이나 약제를 만들지 않을까? 그렇다면 현재의 농수산업의 GDP가 2.8%에서 곧 10%로 증가하지 않을까?
석유시대가 10년 정도는 남아있고 아직 새로운 '값싼' 대체에너지가 나오지 않았다. 항공오일이나 모든 교통비가 너무 비싸지고, 식품운송이나 배달이 비싸지면서 비료도 비싸지면, 도시농업이 발달하면서 스스로 집안에서 또는 빌딩에서 채소를 생산할 수도 있다. 또 인간과 기계가 점점 가까워지고 인간은 기계를 달고 기계는 인간의 피부를 달게 되는 상황에서 인간이 강화되고 더 멀리, 더 높이 뛰는 등 변화가 일어나며, 새로운 가치관과 삶을 원하게 될 것이다.
싱귤래리티대학에서는 50년 이내에 첨단기술 인공지능이 인간의 지능을 따라잡는다고 발표하였다. 다양한 새로운 가치관이나 생각들을 인공지능이나 기계인간이 하게 되면서 의사결정에 참여하고 자원분배에 참여하게 된다. 이들이 시장경제에 뛰어든다면 다양한 주식관련 소프트웨어가 개발되어 인간보다 인공지능이 정확히 예측하여 그들이 이득을 챙기는 순간이 올 수도 있지 않을까 염려한다.
싱가포르국립대학의 건축과 졸업반 전시회인 테시스 엑스 전시회에서는 지난 1세기 동안 활용하였던 도시들이 우리 땅에 지대한 영향을 미쳤다고 표현했는데, 해수면 상승 현상, 식량과 주택부족, 소비자 과소비, 에너지 요구 증가 등의 현상이 일어났다고 전망했다. 옥스포드대학교 과학혁신사회 연구소의 어두운 “미래의 도시”3개 시나리오를 보자(the three dark ‘Future of Cities’ scenarios produced by Oxford’s Institute for Science, Innovation, and Society).
꿈의 도시 시나리오
꿈의 도시 시나리오는 왜 '지금처럼'하는 것이 불가능한지를 알려준다. 미래를 바꾸고 변화시키고 좋은 것은 지속 가능하게 만들어야 한다. 20년 전 하이테크 미래를 본 한국이 변화와 변신을 거듭하면서 디지털경제와 산업혁신을 일으켜 다른 선진국처럼 잘 살게되었고 한류열풍 등을 만들면서 그것이 드림 소사이어티 즉 꿈의 사회로 성공하였다고 볼 수 있다.
경험사회가 부에 대한 배고픔을 부를 창출하는 욕구로 작용하였다. 싱귤래리티대학에서는 기업인에게 가상 디지털 세상의 미래를 보여주고, 전자 센서가 모든 곳에 스며들고, 인간과 기계의 인터페이스가 일어나며, 인간의 마음과 근육이 바이오 공학으로 연결되고 결국 무엇이 인간인지 몰라 인간의 정의를 다시 내려야 할 세상이 온다고 예측하였다.
인간 주변에 모든 곳에 센서가 들어가고, 생각을 읽는 로봇이 일본에서 나왔다. 미국의 국방연구소 다르파(DARPA)에서는 로봇 자동차를 만들고 있고, 스마트 도로에 무인자동차는 운전대가 없는 거실이나 사무실이 움직이며, 이들은 도로기차와 연결되기도 단다고 예측한다.
2018년에는 인터넷이 현재 인간의 두뇌의 뇌신경망보다 1백만 배나 많은 신경 연결망을 가지게 되며, 5각을 가진다. 핸드폰에 들어가 있는 칩, 카메라, TV 등 에게 정중하게 포즈를 취하는 휴렛 패커드의 야심작 센스프로젝트(CeNSE project)가 인공지능을 이용하면서 곧 지구촌을 다 센서로 엮는 네트워크 세상이 온다고 본다. 가정의 부엌에서 물건을 프린트해서 쓰는 홈 패브(home fabbing) 즉 3D 프린터가 나와서 음식도 프린트하고 모든 물건, 가구를 집에서 프린트할 수가 있게 되는 해가 2030년 정도라고 본다.
사라지는 도시 시나리오
사라지는 도시(Fade Future) 시나리오를 쓴 패트릭 맥허란은 밀워키의 신문기자로 최근에 'GM 포드 등 자동차산업이 망하면서 디트로이트가 얼마나 심각하게 망하고 있는가?’라는 기고문을 썼다. 현재 디트로이트는 2010년 여름에 3천여 개 비어있는 빌딩을 부수는 공사를 할 돈을 겨우 마련하였는데, 현재 디트로이트는 9만개 이상의 빈 빌딩이 존재한다.
디트로이트 주택의 30% 정도가 이미 텅 비어 버렸다. 그러나 아직도 20% 정도가 더 빌 수도 있다. 자동차산업이 문을 닫으면서 식당도 놀이시설도 모든 도시 서비스산업들도 문을 닫고 있다. 디트로이트 시민들 모두 가 디트로이트 탈출을 시도하고 있는데, 사망자까지도 탈출을 시도하고 있다. 이는 자식들이 다른 도시로 가면서 곧 텅 비게 될 도시로부터 부모들의 무덤을 자신들이 이사 가는 도시로 옮기고 있기 때문이다.
미국에서 가장 가난한 미시간의 도시 플린트(Flint)에는 정부가 개입해서 도시 전체를 허물고 자연으로 되돌리는 작업을 하고 있다. 도시가 생존하기 위해 지방정부가 40% 정도 이상 도시 모든 것 즉 일자리, 복지, 교육 등을 제공하지 않으면 살아남을 수가 없다. 전문가들은 현재 미국의 러스트벨트 (US ‘rust belt’)로 50여개 도시가 있는데 이런 도시의 경제는 죽고 인구가 모두 탈출해버려서 소멸한다고 보고 있다.
이런 도시들은 절반 정도의 빌딩을 허물고 도시농업을 하는 농촌으로 바꾸는 작업이 필요하다. 디트로이트, 필라델피아, 피츠버그, 볼티모어, 멤피스 등등 50여 개 도시는 소멸할 것이라는 전망이다. 한국에서도 소멸될 도시들이 많이 있을 것이라고 보는데, 그 이유는 미국의 출산율은 2.1인데 비해 한국은 1.15이기 때문이다. 또 한국은 최단기간에 초고령화로 들어가는 국가이어서 고령화마저 심각하게 다가오고 있으므로 2015년이후 소멸하는 도시가 수백개가 될 수도 있다고 전망되고 있다.
소멸하는 도시들을 재생시키기 위한 디자인을 하는 사람들은 드웰 리버비아 디자인대회 (Dwell’s ‘Re-Burbia’ design) 에서 리사이클하고 재창조하는 도시 모델을 제시하였다. 대중교통수단을 늘리고, 도시와 교외로 나가는 도로 위에 집을 짓고, 네모난 큰 공장들을 도시농업 즉 그린하우스 농장으로 바꾸는 작업이다. 기업인들이 1인가구로 살면서 일도 하도록 재택근무 주택을 공급하고, 지금까지는 모양만 내던 사무실이나 공장지대를 가정과 사무실을 병행 할 수 있도록 재디자인하는 것이다. 맥맨션 (MacMansions)등 큰 집들은 수질을 자체정화하고, 빗물을 저장하는 저수지 혹은 습지를 유지하여 생태계를 만들어주는 일도 중요하다.
생존 가능한 도시 시나리오
마지막으로 생존 가능한 도시형태가 있는데, 작은 것이 아름답다고 하듯이 조그맣고 센스 있고 기후변화에 적응할 수 있는 에너지 생산 도시들을 만드는 것이다. 그것은 바로 자연을 그대로 보존하는 것이다. 미래의 도시는 에코시티로 발전하게 되며 도시농업이 부상하게 된다. 그린 디자인 홈이 뜨고 모든 것은 재활용 되고 리사이클링 된다.
예를 들어 부둣가에 컨테이너들을 엮어서 아파트로 만든 곳이 있는데 이렇게 대학교 기숙사들이 만들어졌다. 컨테이너를 여기저기 옮겨서 자신의 집의 층을 바꿀 수도 있다. 미래사회는 접속하지 소유하지 않기 때문에 주택이 많이 남아돌고 또 도시와 농촌의 경계가 허물어진다.
이 3가지 도시의 미래변화를 보면, 가장 뚜렷이 보이는 것이 식량생산의 변화다. 도시와 농촌의 경계가 희미해지면서 도시농업이 부상하게 되고, 기온 급상승으로 먼 곳에서 도시로 채소를 운반하는 것이 불가능해지거나 돈이 너무 많이 든다. 에너지는 한국의 한전에서 전국으로 전기가 보내지는 것이 아니라 곳곳에 작은 대체에너지 생산공장이 있어서 탈중심화 한다.
식량생산에 사용되는 땅이 극히 소규모로 작아지는데, 땅이나 물이 사용되기보다는 배양육이나 배양채소 등이 나온다. MIT학생들이 식품프린터 (food printer)를 만들었고 동물애호가 (PETA)는 맛있는 상업용 배양육을 대량생산할 수 있는 기술을 가진 팀에게 x-프라이즈(X-prize’)로 백만 불을 준다. 네델란드 노르웨이 등은 정부가 나서서 배양육을 생산할 준비를 하고 있다. 줄기세포를 배양하여 ‘동물 없는 고기‘를 공장에서 대량생산하는 것이다.
경계는 소멸하고 자연모사기술이 부상하며 신농업혁명이 온다
미래에는 이처럼 모든 경계가 희미해지고, 모든 것이 변화, 전환하여 인간과 기계가 비슷하게 하나로 변하는 세상이 온다. 푹트리 (살아있는 나무를 꼬아서 의자를 만들고, 의자위로 나무는 계속 자라는 모습)을 만들거나, 살아있는 나무로 된 조각물 (arborsculpture)를 만들고 벽면녹화, 옥상녹화, 수직농장(vertical farming,) 가상 생태학 등이 부상한다.
인간에게 최대의 도전은 석유의 고갈이 다가온다는 것인데, 이럴 경우 에너지 인프라 즉 주유소를 바꾸는 엄청난 비용이 드는 작업이 있다. 이미 아주 적은 규모의 발전소를 짓고, 독일에서는 곳곳에 솔라 충전기가 서있고, 인간의 동작으로 전기를 집적하는 기술이 나왔으며, 담수화와 동시에 전기도 생산하는 기술도 나와 있다. 태양광을 저장하는 기술들이 나오고 풍력도 수소를 만들 수 있는 기술도 있다.
보존 가능한 자연을 원하면 자연을 모방하는 자연모사기술이 부상하고 있다. 자연모사는 부상하는 과학기술이다. 자연의 법칙을 따라 태양광으로 자동차가 달리고, 에너지가 필요하면 자연에서 만들고, 모든 것을 재활용하게 된다. 또 지역마다 자신들의 통화를 만들어 지역통화가 부상하는데, 개인 소유가 아닌, 지역사회 소유로 만들어서 개인이 모든 것을 사야 한다는 개념을 바꾸고 있다.
미래사회는 모든 것을 프린트해서 쓴다(printing everything). 미래사회는 모든 것이 연결된 네트워크사회가 된다(nets of everything). 미래사회는 모든 것의 경계가 사라진다(blur). 조그마한 집 하나가 나라가 된다(the home as a micro-state). 즉 집에서 모든 것을 다 할 수가 있고 집을 나가지 않고도 살 수가 있어진다. 미래사회는 자연모사기술이 부상하여 가장 아름다운 것은 자연에서 오며, 모든 것은 자연을 닮아간다 (biomimicry and parsimony as design aesthetics).
이렇게 미래사회는 3가지 단어로 축약이 된다. 1) 커넥트(연결·CONNECT)되는 세상에서 어떤 예술, 어떤 사람, 어떤 장소 어떤 물건들을 연결할 것인가를 고민해야 한다. 여기에 부상산업이 있다. 2) 창조(CREATE)하는 것, 인간으로 어떤 것에 감동을 받아 어떤 것에 영향을 받아 창조를 하게 되는지 그 분야가 부상한다. 3) 소비(CONSUME)를 잘 하는 것, 즉 지구의 자원을 어떻게 잘 이용할 것인가가 화두다. 이것은 기후변화를 이야기하고 에너지산업을 이야기한다. 이 분야가 최대의 부상산업이 된다.
이렇게 하기위해서 우선 우리가 해야 할 일은 △부상하는 이머징 이슈를 잘 관찰해야하고. △또 부상하는 문제점 갈등을 잘 경험하고 탐구해야하고 △감이 잡힌 그 분야에 과감히 도전해야 한다.

2010년 11월 20일 토요일

서보모터의 전력제어

http://blog.naver.com/hjo0075?Redirect=Log&logNo=140006277546



서보 모터의 전력제어
1. 서 론
모터는 제어하는 형태에 따라 크게 Open-Loop Control과 Close-Loop Control이 있고 모터를 제어하는 방법에 따라 토크 제어(전류 제어), 속도 제어 및 위치 제어로 분류되어진다.
모터의 제어는 토크의 제어, 즉 모터에 유입되는 전류를 제어함으로 이루어지며 서보 모터의 속도 제어 및 위치 제어도 최종적으로 모터에 유입되는 전력, 즉 전류를 제어하여 이루어 진다. 이렇게 모터의 제어는 전류 제어를 기본으로 하고 있으며, 따라서 모터의 전류를 제어하는 방법을 알면 그 기본을 아는 것이 된다.
본 기술문서에서는 모터의 전류를 제어하는 방법에 대하여 기술하고 전류 제어에 기본이 되는 전력 변환기의 기본 원리에 대하여 설명하도록 하겠다.
2. 모터에 공급되는 전류의 제어
우선 DC 서보 모터의 내부회로를 간단하게 등가회로로서 나타내어 보면 <그림 1>과 같다.
         
            
<그림 1>에서와 같이 모터의 회로적인 기본 구조를 나타낼 수 있다. 이때 모터에 인가되는 전압을 VT라고 하면, 이때 위의 등가회로는 다음의 식으로 표현되어진다.
  


VT : 단자 전압
Ia : 모터 권선에 흐르는 전류
Ra : 모터의 전기자 권선 저항
La : 모터의 전기자 인덕턴스
E(ωt) : 모터의 역기전력
위의 식에서 모터의 역기전력 E(ωt)는 모터의 회전수에 의하여 결정되는 항으로 모터가 회전을 하게 되면 그 자체가 유도 기전력에 의하여 발전기의 역할과 같이 나타나므로 인가 전압 VT에서 손실분을 빼고 나면 그때 인가 전압과 역기전력의 차이에 따른 전류가 흐르게 된다. 역으로 모터의 회전수가 올라가게 되면 역기전력이 커지게 되어 인가 전압에서 손실분을 뺀 값과 일치하게 되면 모터에 흐르는 전류는 영(0)이 되게 되어 이때 모터의 발생 토크는 영(0)이 되게 된다.
그러므로 단자 전압이 높더라도 전류를 제한하면 모터의 발생 토크를 제한할 수 있게 되며 반대로 모터에 인가되는 전압을 제어하면 모터에 흐르는 전류를 제어할 수 있게 된다.
참고로 모터의 회전수가 높은 경우 모터의  발생 토크가 작아지는 것은 역기전력이 상승하기 때문이며 반대로 모터는 역기전력이 있으므로 전류 제한이 된다.
만일 인가 전압이 크고 모터의 회전을 정지시키면 역기전력 항은 영(0)이 되고 이때 권선 저항 Ra가 아주 작은 값이기 때문에 대전류가 흐르게 되어 모터는 파손된다.
모터에 공급되는 전류의 제어는 모터의 단자에 인가되는 인가 전압 VT을 제어하면 되는데 이때 전압을 제어하기 위하여 펄스폭 변조(PWM:Pulse Width Modulation)라는 방법을 이용하여 제어한다.
이것은 전력소자의 스트레스를 최소화하고 효율적으로 전력을 제어하기 위한 방법으로 사용되는데 최근까지 삼각파 비교방식의 펄스폭 변조방법을 가장 많이 사용하고 있다.




이때 펄스폭 변조 파형의 주파수는 삼각파의 주파수와 동일하게 되고, 그 크기는 입력 단자 전압과 같게 된다. 즉 기준값 아날로그 파형을 일정한 주파수의 펄스열로서 바꾼 것이다. 따라서 모터에 인가되는 단자 전압의 파형을 펄스폭 변조하여 인가하게 되면 모터에 인가되는 평균 전압을 제어하게 되며, 이는 다시 모터에 흐르는 전류를 제어하게 되어 결국 모터의 전력을 제어하고 발생 토크를 제어하게 된다.
이와 같은 방법은 전력소자의 구동방법에서 나오게 된 것인데, 전력용 소자를 <그림 2>에서 기준값과 같이 아날로그 파형으로 제어를 하게 되면 전력소자의 능동영역에서 동작하게 되어 손실이 많이 발생하고 발열이 심하게 된다. 따라서 전력소자의 포화영역과 OFF영역에서 사용을 하여 손실과 발열을 최소화하도록 제어하기 위하여 위와 같이 펄스폭 변조방법을 사용하게 된다.
또한 대전력을 제어해야 할 경우, 즉 대용량의 모터를 제어하여야 할 경우 흐르는 전류가 크게 되어 이때 전력소자의 능동영역에서 사용하게 되면 전력소자 내부 저항이 수십 옴(Ω)의 저항값으로 손실이 크고 결국 전력소자가 파손된다. 따라서 효율적인 전력 제어방법으로 PWM(Pulse Width Modulation)기법을 사용하여 제어하게 된다.
이러한 펄스 파형으로 모터의 전류가 어떻게 제어되는지 <그림 3>에 나타내었다.


이렇게 모터의 전류 파형은 전력소자 Q1이 도통하고 있는 동안 증가하고 Q2가 도통하고 있는 동안 감소하게 되는데, 이때의 증가감소의 평균 전류가 모터의 구동 전류가 된다. 이렇게 모터에 흐르는 전류가 톱니파 모양으로 나타나는 것은 모터 내부에 있는 인덕턴스 때문이다. 그리고 상대적으로 PWM 파형의 주파수가 높고 모터 내부의 인덕턴스가 크고 모터의 회전 관성 때문에 전류 파형의 증감은 모터 회전력의 진동에 잘 나타나지 않는다.



이렇게 전류의 제어가 이루어지게 되는데 이때 Tp와 Tn의 시간폭에 따라서 모터는 정회전 혹은 역회전을 하게 된다.
모터 회전력의 방향은 <그림 2>에서 기준값의 크기가 정신호 혹은 부신호로 나타나는가에 따라 방향이 결정되고 이때 제어되는 전류는 기준값의 크기에 따라 다르게 된다. 그러나 <그림 3>에서도 나타난 것과 같이 모터에 인가되는 전압은 일정하게 되고 이때 인가 전압의 폭만이 변하고 있음을 알 수 있다.
이렇게 모터에 공급되는 전력은 인가 전압의 펄스폭 변조로 제어할 수 있게 되며 발생 토크는 모터의 전류에 인하여 제어된다. 따라서 모터의 발생 토크를 제어하기 위한 일반적인 제어방법은 위에서 설명한 것과 같이 PWM기법을 이용하여 제어하고 있으며 인가 전압의 펄스폭으로 제어하는 방식을 전압원 인버터라고 부른다.
3. 서보 모터의 토크 제어
앞에서도 언급한 바와 같이 서보 모터의 토크를 제어하기 위하여 모터에 흐르는 전류를 제어함으로 가능하게 된다. 목표값에 대한 전류를 정확히 제어하기 위하여 서보 모터에 공급되는 전류를 피드백하여 제어하게 되는데 이를 간단하게 나타내어 보면 <그림 4>와 같다.

          <그림 4> 서보 모터의 전류 제어






이것은 전류 제어기의 PID 제어 이득값에 따라 전류 제어기 출력은 아주 큰 값이 설정될 수 있는데, 이때 모터에 공급되는 전류는 모터상 권선이 파손되지 않는 범위내에서만 구동하여야 하기 때문에 모터의 정격 토크이내에서 동작할 수 있도록 설정하고 있다.
실제 상용으로 판매되고 있는 서보 드라이버의 경우 최대 토크 설정값을 파라미터에서 설정할 수 있도록 하고 있는데, 보통 정격 토크의 2~3배로 설정하고 있으며 이것은 모터에 유입되는 전류의 값을 제한하기 위하여 전류 제어기에 설정되는 최대 전류값을 설정하기 위한 것이라고 할 수 있다. 또한 전류 제어기의 이득인 PID 제어기는 실제 판매되고 있는 서보 드라이버에서는 사
용자들이 그 파라미터를 변경할 수 없게 되어 있다.
삼각파 발진기는 <그림 2>와 같이 일정한 주파수를 갖는 삼각파 혹은 톱니파를 만들어내는 부분으로 보통 아날로그 파형 발생기를 이용하거나 혹은 OP-AMPM를 이용하여 파형 발생기를 구성하도록 한다.
전류 검출기는 모터에 유입되는 전류의 값을  측정하는 부품으로 전류의 크기를 전압으로 바꾸어 검출하게 되는데 소용량 모터의 경우 모터상 권선에 직접 저항을 연결하여 측정을 하게 되는데 이것은 저항 양단의 전압차이를 검출하는 방식으로 수Ω 이하의 낮은 저항값의 저항을 이용하게 되고 이 저항에서 전력 손실이 발생하게 됨으로 상용의 서보 드라이버에서는 잘 사용하지 않고 있으며 판매되고 있는 일반적인 서보 드라이버에서는 홀센서를 이용하여 검출한다.
이렇게 검출된 전류의 값은 아날로그 연산에서는 그대로 사용이 가능하지만 디지털신호로 사용하기 위하여 A/D(Analog to Digital) 변환기를 연결하여야 한다.
최근에는 서보 드라이버 내부의 구성이 모두 디지털화되어가기 때문에 전류 제어기의 연산 또한 디지털신호로 마이크로 프로세서 내부 연산에 의하여 계산되어진다. 따라서 전류의 검출 데이터는 아날로그신호이므로 반드시 디지털신호로 변환하는 과정이 필요하게 되며 삼각파 발생회로 역시 마이크로 프로세서의 내부 연산에 의하여 실시된다. PWM신호의 발생도 연산에 의하여 처리되는데, 최근에는 이러한 전류 제어기가 하나의 LSI(집적회로)에 ASIC(주문자방식 집적회로)으로 구성되기도 한다.
일반적으로 아날로그 연산의 경우에는 삼각파의 기준 주파수에 따라 PWM 주파수가 설정되며 일반적으로 10KHz~40KHz의 주파수를 사용하고 있다. 디지털 연산의 경우 마이크로 프로세서에서 1회 연산하는 시간이 PWM  주파수가 되는데, 이를 전류 제어기 샘플링타임 (Current Control Sampling Time)이라고 하며 보통 수백 μsec 혹은 수십 μsec이 적용된다.
디지털 연산에서 샘플링타임은 매우 중요한 의미를 가지며 샘플링타임이 너무 길어지면 모터 제어에 있어서 상당히 불안한 요소를 야기시킬 수 있다.

4. AC 서보 모터의 전류 제어
AC 서보 모터의 전류 제어방법은 DC 서보 모터의 경우보다 훨씬 더 복잡한 제어구조를 갖는다. AC 서보 모터에 있어서는 3상 전류를 제어하여야 하기 때문에 3상 변환기가 있어야 하고 모터 회전자의 위치와 공급 전압의 위상이 일치되어야 하기 때문에 모터 회전자의 위치를 검출할 수 있는 센서가 필요하다. 이러한 AC 서보 모터의 전류 제어 루프를 포함한 속도 제어 PWM방식의 서보시스템은 <그림 5>와 같다.
AC 서보 제어시스템과 DC 서보 제어시스템의 가장 큰 차이는 DC 서보 모터에서 브러시가 하는 일을 AC 서보시스템에서는 정기적으로 수행하여 주어야 하기 때문에 상변환기와 회전자 위치 검출이 필요한 것이다. 그러므로 회전자 위치 검출에 의한 상변환기의 상위부분에 대하여는 AC 서보시스템이나 DC 서보시스템의 차이가 없다. 즉 속도 제어 루프 및 위치 제어 루프의 형태는 같다는 결론이 된다.


최근 일반 산업용에는 레졸버를 사용하지 않고 있으며 엔코더방식이 주류를 이룬다. 엔코더에 대해서는 뒤에서 좀더 자세하게 알아보기로 하고 엔코더의 출력은 펄스열로써 출력이 되어짐으로 회전자의 위치를 검출하기 위하여 엔코더의 펄스열을 계수하면 회전자의 현재 위치를 알 수 있다. 이렇게 회전자의 현재 위치정보와 속도 제어기로부터 받은 전류(토크)명령을 3상 상변환기에 주어지면 상변환기는 3상 교류 전류명령으로 전환하게 된다.
상변환기는 단상 입력에 대하여 120˚위상차이를 갖는 3상 출력을 발생하게 되며 이때 각 상의 현재 위상은 회전자의 위치를 참조하여  발생하게 된다. 이것을 쉽게 풀어보면 다음과 같은 수식으로 표현할 수 있다.
Cu=Cc×sin(ωt)
Cv=Cc×sin(ωt+2/3π)
Cω=Cc×sin(ωt-2/3π)
Cc : 전류 지령
Cu, Cv, Cω : 각 상의 전류 지령
ωt : 회전자의 현재 위치
위와 같이 U, V, W 각 상 120˚씩 위상차이를 갖는 것은 서보 모터 내부에서 회전자계를 형성하기 위한 것이다. 실제 모터의 내부에는 N과 S 두개의 자극으로 구성되어 있지 않고 여러 개의 극으로 형성되어 있어서 모터 1회전당 정기적으로는 여러 주기가 반복된다.
이렇게 생성되어진 각 상별 전류명령값은 전류 검출기로부터 되먹임되는 실제 전류값과 비교하여 각 상별 전류 제어기로 주어지고 다시 PWM 발생기를 통하여 전력 변환기로 입력되게 된다.
그러므로 전류 제어기를 비교하여 보면 DC 서보 드라이버보다 AC 서보 드라이버가 3배 더 복잡하여진다. 그러나 최근에는 서보 드라이버의 디지털화가 진행되어짐에 따라 이러한 연산들이 모두 서보 드라이버 내부에 들어있는 마이크로 프로세서에 의하여 연산되어진다.
따라서 보다 고속의 연산을 수행하는 마이크로 프로세서가 필요하게 되고 이렇게 고속의 연산을 하게 됨에 따라 복잡하고 정교한 제어 알고리즘을 수행할 수 있게 되었다.
최근에는 모터 제어 전용의 고속 마이크로 프로세서 혹은 디지털 시그널 프로세서(DSP, Digital Signal Processor)가 채용되고 있고 이렇게 디지털화되어감에 따라 서보 드라이버의 크기도 상당히 줄어들고 있다. <그림 5>에서 속도 검출회로는 펄스열의 입력을 받아 그 주파수에 따라 그 크기가 변하는 아날로그신호로 변경을 하거나 혹은 디지털계수에 의하여 펄스열의 주파수를 측정하여 속도를 검출하는 장치이다.
아날로그 변환은 여러 반도체 제조사에서 판매를 하고 있는 F/V 변환기(Frequency to Voltage Converter)를 이용하고 있는데, 이는 저속의 영역에서 펄스열의 주파수가 낮고 폭의 변화가 크게 나타나므로 잘 적용하지 않고 있다.
디지털 변환은 단위시간당 입력되는 펄스를 계수하여 계산하는 방법과 엔코더 펄스와 펄스 사이에 일정한 주파수의 클럭을 계수하는 방법을 사용하고 있다. 이렇게 엔코더로부터 회전자의 속도를 구하는 방법은 고속과 저속의 영역으로 나누어 상호보완적으로 두개의 방법을 같이 사용한다.

5. 회전 속도와 회전자 위치의 검출방법
5.1 회전자의 속도 검출방법
지난호에서 엔코더에 대하여 잠시 설명하였듯이 절대위치 엔코더의 경우는 제조사별로 그 특징이 다르기 때문에 제조사의 상세 자료가 있어야 하고 상대위치 엔코더는 3가지 신호를 출력한다. 기준 펄스열이 A상과 이보다 90˚위상이 늦은 B상이 1회전당 엔코더의 정밀도만큼 펄스를 출력하고 1회전당 특정한 위치에서 1개의 펄스를 출력하는 Z상을 가지고 있다.
회전자의 속도를 검출하기 위하여 Tacho-Generator 혹은 Encoder를 이용하는 방법이 있는데, 여기에서는 엔코더를 이용하여 디지털 연산에 적용하기 쉬운 계수방법에 대하여 좀더 자세히 알아보면 다음과 같다.
먼저 엔코더 펄스열을 계수하여 회전속도를 알아내는 방법에서 회전속도와 엔코더의 펄스수는 다음과 같은 수식으로 나타내어진다.
회전속도=(카운트 펄스수/단위시간) / 1회전당 엔코더 펄스수
그리고 엔코더의 펄스폭을 검지하는 방법은 다음과 같이 표현되어진다.
회전속도=(1/엔코더 펄스주기(폭)) × 단위시간/1회전당 엔코더 펄스수
위의 식에서 엔코더 펄스의 주기는 엔코더 펄스 하나의 시작에서 다음 시작때까지 고속의 펄스열을 계수하여 그 시간을 계산하고 이를 이용하여 다시 회전속도를 계산하게 된다.
위의 식에서 보는 바와 같이 펄스계수방식은 저속의 경우 단위시간에 입력되는 펄스의 수가 작아 저속으로 되면 그 분해능이 나쁘게 되고 펄스폭을 측정하는 방법은 고속으로 될 경우 펄스폭이 짧아져서 펄스폭을 계산하는 정밀도가 낮아져 서로간의 문제점을 안고 있다.
그래서 일반적으로 100rpm~200rpm 미만의 경우에는 펄스폭을 검출하여 속도를 계수하는 방법을 사용하고 그 이상이 되면 펄스수를 계수하여 회전속도를 구하는 방법을 사용한다. 여기서 펄스수를 계수하여 회전속도를 검지하는 방법을 예제로 다루어 보면 다음과 같다.
1회전에 1000개의 펄스를 발생하는 엔코더가 있고 1초 간격으로 펄스수를 계수하였을 때 24000개의 펄스가 계수되었다고 하면 다음과 같이 계산되어진다.
회전속도(rps)=24000/1/1000=24
회전속도(rpm)=24×60=1440rpm
과 같이 계산되어진다.
위와 같은 방법으로 계수하는 것을 디지털 회로로 구성하면 다음과 같다.




일정 시간의 주기를 발생시키는 74191은 Loadable 2진 Counter로서 발진기에서 들어오는 펄스를 Down Count하여 영(0)이 되는  순간 펄스를 발생시키고 다시 특정한 값을 Load하여 Down Count하게 됨으로 계속해서 일정한 주기마다 이벤트(Event)를 발생시킨다. 그러므로 이벤트 발생시 loading되는 값을 바꾸게 되면 Event시간의 주기를 바꿀 수 있게 된다.
74390은 BCD Counter로 엔코더에서 들어오는 펄스열을 카운트하게 되는데 Event 발생시마다 클리어됨으로 만일 엔코더의 펄스 주파수가 일정하다면 같은 수의 카운트가 이루어 지게 된다. Event에 따른 Clear시간은 매우 중요하게 되며, 만일 Event시간이 정확하지 않는다면 정확한 속도의 검출도 할 수가 없다.
74573은 8-BIT Latch회로로서 Event시간에 카운트된 값을 Latch하여 표시부로 데이터값을 전달하여 주는 동작을 한다. 이때 Latch로서 데이터값을 다음 카운트 Event시간까지 지속시켜야 현재의 값을 알 수 있다.
만일 그렇지 않으면 계속하여 변하는 카운트값을 가지기 때문에 판독할 수가 없다.
5.2 회전자의 위치 검출방법
회전자의 현재 위치를 검증하는 방법은 일반적으로 엔코더의 Z상을 기준으로 하여 현재 위치를 카운트하게 된다. 따라서 엔코더에서 Z상의 출력이 나타나는 시점을 회전자의 위치 초기점이라고 하고 여기에서부터 회전자의 360˚ 위치를 엔코더 A상과 B상의 분해능(1회전당 펄스수)과 관계하여 계산하게 된다. 그러므로  엔코더의 분해능이 높으면 회전자의 위치를 검출하는데 있어서 더욱 정밀한 데이터를 구할 수 있다.
AC 서보 모터의 경우에는 회전자의 초기 위치가 중요한 데이터가 되는데 AC 서보 모터의 경우에서 회전자의 위치에 따른 위상과 같은 전압을 모터 3상 단자에 인가해 주어야 하기 때문이다.
그러므로 모터에 전원을 투입하여 기종하고자 할 경우에 반드시 회전자의 위치를 알고 있어야 하는데, 이러한 이유로 AC 서보 모터에는 A, B, Z상 이외에 U, V, W상을 가지고 있다. 최근에는 모터의 엔코더에서 U, V, W상을 출력하기 때문에 모터와 드라이버간의 연결선이 많아지고 복잡하여지는 관계로 A, B, Z상과 U, V, W상을 같이 출력시키는 방법도 나오고 있으며 그밖의 여러 가지 방법들이 연구되고 있으며 상용화되었다.
전원 투입시 회전자의 초기 위치는 엔코더의 U, V, W상의 데이터를 가지고 지정하게 되며 일반적으로 정상 운전시에는 엔코더의 펄스수를 카운트하고 계산하여 설정하도록 하고 있다. 회전자의 위치는 위에서 설명한 바와 같이 엔코더 Z상을 기준으로 카운트하기 때문에 엔코더의 Z상 출력시 엔코더의 펄스를 초기화하고 재 카운트하는 방법을 이용하여 계산하고 있다.
회전자 위치를 검출하기 위하여 <그림 6>과 같이 회로를 구성하면 엔코더의 펄스로부터 회전자의 위치정보를 읽어낼 수가 있다. <그림 6>에서 엔코더의 입력 펄스 A, B상으로 정회전과 역회전을 판별하여 정회전을 할 때는 UP 카운트를 하고 역회전을 할 때는 DOWN 카운트를 하도록 하고 있다.
이렇게 정역을 판별할 수 있는 것은 엔코더의 A상과 B상은 상호 90˚의 위상차이를 가지고 있으며 정회전시 엔코더 A상이 90˚위상 앞서게 되고 역회전시에는 B상이 90˚위상 앞서게 되는데, 이때 B상의 펄스가 Low에서 High으로 변하는 순간 A상의 상태를 읽으면 그때의 값으로 정역을 알 수 있다. 이렇게 엔코더 펄스출력 A상과 B상으로 정역을 판별하여 증가 펄스와 감소 펄스를 만들어 74192로 Up/Down 카운트를 하게 되면 된다.
이때 엔코더의 Z상 펄스로 하여금 Z상 펄스가 발생할 때마다 74192 카운트를 Clear하거나 Load하여 주면 회전자가 1회전할 때마다 항상 일정한 위치에서 위치 카운터가 Clear되고 Load되게 된다. 그러므로 엔코더의 위치로 회전자의 위치를 판별할 때 누적오차가 발생하지 않고 엔코더 정밀도내의 카운트가 발생하게 된다. 회전자가 정회전을 할 때 엔코더의 Z상이 발생되면 74192 카운터를 클리어하여 영(0)으로 만들고 역회전을 할 때 Z상이 발생되면 74192 카운터에 엔코더 정밀도와 같은 숫자를 로드하여 주면 된다.


카운터 IC 74192에서 가지고 있는 값을 7-SEG LED로 표시하면 엔코더의 정보를 읽어낼 수가 있는데 여기에서는 전원 투입시 회전자의 위치정보를 U, V, W상으로부터 받고 있지 않기 때문에 최소한 회전자가 회전하여 Z상이 한번 출력되어 카운터를 초기화해 주어야 비로소 엔코더의 펄스값과 회전자의 위치값이 일치하게 된다. 그러므로 전원 투입시 회전자의 위치를 정확히 알 수 있도록 하려면 엔코더의  U, V, W상의 데이터를 가지고 카운터 74192에 초기 데이터를 loading하여 놓을 수 있는 회로를 추가로 설치하여야 한다.


지금까지 서보 드라이버에서 모터를 구동하기 위한 전력 제어방법과 이에 따른 몇가지 중요 기술에 대하여 설명하였다. 서보 드라이버는  쉽게 사용자의 명령에 의하여 모터를 마음대로 제어할 수 있도록 하는 구동장치이며 쉽게는 전력 변환장치라고 생각하면 된다.
이렇게 서보 드라이버를 통하여 서보 모터를 구동할 때 AC 서보 모터 혹은 DC 서보 모터에 따라서 각각 제어용 전력 변환기에 차이가 있고 AC 서보 모터는 회전자의 위치와 공급 전력의 위상을 맞추어야 하기 때문에 회전자의 위치 검출과 이에 따른 방법을 검토해 보았다.
[출처] 서보 모터의 전력 제어 |작성자 북청물짱

AC 서보모터 제어기술

http://blog.naver.com/hjo0075?Redirect=Log&logNo=140006277546


AC 서보모터 제어기술 -Ⅰ

서보의 역사
  서보기구라는 용어는 1934년에 H. L. Hazen 교수에 의해 처음 쓰여졌으며, Servo의 어원은 라틴어의 Servue(영어의 Slave:노예)라고 한다. 노예의 역할이 주인의 명령을 충실히 따르고 육체노동을 하는 것이므로 그러한 역할을 해내는 장치를 그렇게 이름붙인 것이다.
  서보기구가 그 본래의 목적인 위치에 최초로 응용한 것은 어뢰라고 한다. 어뢰는 1866년에 화이트 헤드에 의해 발명되었는데, 처음부터 자동조종을 전제로 하여 탄생한 병기이다.
  당초 어뢰는 봄베(Bombe)에 저장한 압축공기를 동력원으로 하여 프로펠러에 의해 추진되고, 공기압 자이로를 센서로 하여 공기압 제어장치로 방향타를 움직여서 침로를 제어하고 심도기(수압을 검지)를 센서로 하여 공기압 제어장치로 방향타를 움직여서 심도를 제어한
것이다.
  어뢰의 자동조종에 이어 배의 자동조종이 실현되었다. 수상함의 경우는 침로만 제어하면 되는데, 센서로는 자이로 캠퍼스가 쓰이고 있다. 항공기는 1차대전 후에 발달하였는데 그 자동조종도 당연히 실현된 것이다. 이처럼 운동체 또는 교통기관의 자동조종이 서보기구의 주요 응용분야가 되고 있는 것이다.
  이처럼 자동제어는 발전했으나 각각의 응용분야 간에는 거의 관련을 갖지 못했다. 2차대전 중 미국 MIT의 Radiation Lab.이 중심이 되어 레이다로 항공기를 자동적으로 추정하는 이른바 Automatic Radar Tracking System을 개발하는 연구가 많은 학자, 연구자들이 모여 이루어졌는데 그 연구의 결과 시스템으로서 서보계 하드웨어의 개발에 성공하면서 이러한 제어계를 설계, 조정하는 실용적 제어이론의 개발에 성공하면서 이러한 제어계를 설계, 조정하는 실용적 제어이론의 개발에 성공했던 것이다. 이 이론은 서보테크닉이라 하는 이른바
주파수응답법이었다.
  전후 이들의 연구성과가 재빨리 발표되자 이 수법이 서보에만 한정되지 않고, 프로세스제어를 포함한 일반 제어계의 해석, 설계에 큰 역할을 해내어 피드백 제어이론이 체계화된 것이다.
  전후, 컴퓨터의 발달로 그 신뢰성이 향상하면서 제어에 응용하는 소위 컴퓨터제어의 시대를 맞이하게 되는데 컴퓨터를 도입함으로써 제어의 질이 비약적으로 향상했다는 것이 말할 필요도 없다.
그때까지의 제어는 연산이라고 해도 고작 PID제어 정도였으나, 컴퓨터에 의해 복잡한 연산과 복잡한 이론판단이 가능해지고 더욱 큰 기억용량에 의해 측정된 데이터의 이용이 가능해졌다.
  그때까지의 자동화가 사람의 손발의 역할을 기계로 대행시킨 것에 불과한데 반해 컴퓨터에 의해 인간두뇌의 역할을 대행시키는 것이 가능해졌으며, 그 당시 생긴 오토메이션이란 신조어가 이 자동화의 변모에 대응하여 사용된 것이다. 1973년에 있은 석유 가격의 급격한 폭등에 다른 소위 오일쇼크가 원인이 되어 성능상으로는 뛰어나지만 작동을 위한 기름의 관리, 기름의 누출, 폐유의 처리 등 사용상의 난점을 가진 유압서보가 공업적 이용에 있어 점차 멀어지게 되고 전기서보의 전성기를 맞이하게 되었다. 여기에는 서보전동기의 성능향상, 트랜지스터, 다이리스터 등 반도체 기술의 진보가 크게 공헌하였다.
  당초의 전기서보는 저관성서보 전동기나 저속 대토크 서보 전동기의 직류서보 전동기를 이용한 DC 서보가 사용되었다.
  그러나 직류서보 전동기에는 전류를 바꾸기 위한 정류자의 브러시와 코뮤데이터의 마찰 부분이 있어 브러시 분말과 브러시·코뮤데이터 손상의 보상이 필요하다.
  동기전동기, 유도전동기의 교류서보 전동기에는 정류자가 없기 때문에 보상이 없어도 된다.
  교류서보 전동기를 구동시키려면 교류주파수를 변화시켜 전동기 속도를 변화시킬 필요가 있는데 직류를 가변주파수의 교류로 변화시키는 성능이 좋은 인버터 회로를 트랜지스터나 다이리스터 등 반도체 소자로 실현할 수 있게 되었다.
  또 마이크로일렉트로닉스의 연산기술이 교류서보 컨트롤러에 이용되게 되었기 때문에 교류서보 전동기를 이용한 AC 서보의 성능이 향상되었으며, 비용면에서도 DC 서보에 필적할 만큼 되고, 무보상의 유리함으로 AC 서보가 로봇제어에 많이 쓰이게 되었다.
서보의 종류
  FA용 서보모터는 분류방법에 따라 여러 가지로 분류가 가능하나, 여기서는 가장 간단하고 실용적인 종류로 분류하여 설명하기로 한다.
  서보모터는 크게 DC 서보모터와 AC 서보모터로 나뉜다. AC 서보모터는 다시 구조에 따라 동기기와 유도기로 분류된다.
  동기기형 AC 서보모터를 SM형(Synchronous Type AC Servo Motor) 혹은 브러시리스 DC 서보모터(Brushless DC Servo Motor) 혹은 영구자석형 AC 서보모터(Permanent Magnet Type AC Servo Motor)라고도 한다. 유도기형 AC 서보모터는 IM형 서보모터(Induction Type AC Servo Motor)라고도 한다.
  위의 모터외에도 서보 시스템화가 가능한 FA용 모터로 스텝핑 모터(Stepping Motor) 혹은 펄스 모터(Pulse Motor)가 있다.
  각 서보모터의 구조는 그림 1과 같다.
1. DC 서보모터의 구조
  DC서보모터의 구조는 그림 1에서 보는 바와 같이 고정자측 구성은 자로 및 기계적 지지를 목적으로 하는 원통형의 프레임과 프레임 내경에는 자석이 부착되어 있다. 회전자측 구성은 샤프트와 샤프트 외경에 정류자 및 회전자 철심이 부착되어 있고 회전자 철심 내에 전기자 권선(coil)이 감겨져 있다. 전기자 권선에 정류자를 통하여 전기를 공급하는 브러시 및 브러시 홀더가 부착되어 있다.
  브라켓과 플랜지에는 볼 베어링이 있어서 회전자를 받쳐주고 있다. 브라켓 뒤쪽에는 회전속도 신호를 검출하는 검출기가 회전자와 연결되어 있는데 광학식 인코더 혹은 타코제너레이터를 많이 사용한다.
  DC 서보모터는 토크와 전류가 비례하여 선형제어계의 구성이 가능하므로 비교적 간단한 회로로 안정된 제어계 설계가 가능하다.
  DC 서보모터는 최고속도와 그 점에서의 허용 토크는 정류불꽃에 의해 제약을 받는다. DC 서보모터의 구동 방식은 트랜지스터에 의한 펄수폭 변조방식이 주류를 이룬다.
  이 방식은 사용 주파수 전원을 정류하여 직류를 얻어 이 직류 전원이 모터에 인가되는 시간폭을 주파수의 전원을 정류하여 직류를 얻어 이 직류 전원이 모터에 인가되는 시간폭을 주파수의 반송파에 의해 변화되어 가변 전압을 만들어 모터의 속도 제어를 행한다.
  이런 방식의 제어는 응답성이 좋고 부하 마찰 토크가 국부적으로 변화하므로 다관절 로봇과 같이 자세에 의한 모터축 환산부하 관성이 크게 변하는 계에서도 충분히 안정된 제어를 행할 수 있다.
2. 동기기형 AC 서보모터
  고정자측 구성은 기계적 지지를 목적으로 하는 원통형의 프레임과 프레임 내경에 원통형의 고정자 코어(Stator Core)가 있고 코어에 전기자 권선이 감겨져 있다. 권선 끝단에는 리드선이 나와 있어서 이 리드선으로부터 전류 및 전압이 공급된다.
  회전자측 구성은 샤프트와 샤프트 외경에 자석이 부착되어 있다. 양쪽 브라켓 및 플랜지에는 볼 베어링이 부착되어 있다.
동기기형 AC 서보모터는 DC 서보모터와 반대로 자석이 회전자에 부착되어 있고 전기자 권선은 고정자측에 감겨져 있다. 따라서 정류자나 커뮤테이터 없이도 외부로부터 직접 전원을 공급받을 수 있는 구조이기 때문에 브러시리스 DC 서보모터라고도 한다.
  동기기형 AC 서보모터도 DC 서보모터와 마찬가지로 광학식 인코더나 리졸버를 회전속도 검출기로 사용한다. 동기기형 AC 서보모터는 회전자에 자석 즉, 페라이트 자속 혹은 희토류(rare earth) 자석을 사용하여 계자 역할을 한다.
  동기기형 AC 서보모터는 전기자 전류와 토크의 관계가 선형이므로 제동이 용이하고 비상 정지시에 다이내믹 브레이크가 작동한다. 그러나 회전자에 영구자석을 사용하는 구조이므로 복잡하고 제어시 회전자 위치를 검출해야 할 필요가 있다.
또한 드라이버로부터의 전기자 전류에는 고주파 성분이 포함되어 있어서 토크리플(Torque Ripple) 및 진동의 원인이 되는 경우가 있다.
3. 유도기형 AC 서보모터
  유도기형 AC 서보모터의 구조는 일반 유도기(Induction Motor)의 구조와 똑같다. 즉 고정자측은 프레임, 고정자 코어, 전기자 권선, 리드선으로 구성되어 있고 회전자는 샤프트, 회전자 코어 그리고 코어 외경에 도전체(Conductor)가 조립되어 있다.
  컨덕터는 코어 외경에 축 방향으로 경사지게 많은 슬롯이 나있는데 링 형상의 코어 양단면과 슬롯에는 순도 높은 알루미늄 봉이 차 있어서 바구니 모양과 비슷하다.
  유도기의 경우 회전자와 고정자의 상대적인 위치 검출 센서가 필요치 않다. 유도기형은 회전자 구조가 간단하고 검출기도 특수한 것이 필요없다.
  그러나 정지시에도 여자전류를 계속 흘려야 하므로 이것에 의한 발열 손실과 비상 정지시에 DC 서보모터와 같이 전기자 권선을 단락하여 다이내믹 브레이크를 걸어주는 것이 불가능한 것 등의 결점이 있다.
  표 1에 각 서보모터의 장단점을 종합해서 정리해 놓았다.
AC 서보모터 구동 시스템
1. 토크 발생원리
  AC 서보모터는 단체로 본다면 어디까지나 AC 모터이다. 그러나 전용제어 장치와 조합시키면 제어성이 우수한 DC 서보모터와 동등 이상의 성능을 내는 모터가 된다.
  DC 서보모터의 회전속도를 바꾸기 위해서는 일반적으로 전기자에 인가하는 전압을 변화시키는 방법을 취한다. 전기자 전압은 회전속도와 거의 비례 관계가 있고 전압을 내리면 어느 정도 속도를 내릴 수 있다.
  한편, AC 모터는 일반적으로 주파수를 변화시켜 회전 속도를 바꾸는데 이 주파수에는 자연히 한계가 있다. 간단한 인버터를 사용한 정도면 서보모터의 특징인 넓은 변속 범위를 얻을 수 없다. 그러면어떤 형태로 하여 AC 서보모터에 우수한 제어성을 줄수 있는가를 설명한다.
(1) AC 모터의 기본 원리
  그림 2는 DC 모터의 정류자를 슬립링으로 바꾼 것이다.
  브러시 A가 (+), 브러시 B가 (-)로 되는 모양으로 통전하면 DC 모터와 같은 모양의 토크가 발생하여 모터가 회전한다. 그러나 정류자가 없기 때문에 정지하여 버리므로 적당한 시기에 전류 방향을 바꿔줄 필요가 있다.
  역으로 생각하면 전원을 교류로 하면 그 주파수에 맞는 회전속도로 계속 돌 수 있다.이와 같이 전원 주파수에 동기시켜 모터를 돌리는 것이 교류모터이고 회전자의 위치에 의해 전원의 극성을 반전시키는 것이 브러시리스 모터이다. 그림 2에서는 DC 모터와 비교하기 쉬운 형태로브러시와 슬립링을 설치했는데 같은 원리를 그림 3의 형태로 나타내면 브러시를 생략할 수 있다. 그림 2를 회전 전기자형, 그림 3을 회전 계자형이라 부른다.
  브러시리스 서보모터의 경우는 회전 계자형을 사용한다.
(2) AC 서보모터(브러시리스 서보모터)의 구동 원리
  브러시리스 모터는 DC 모터가 가진 정류장치를 모터에서 떼어내고, 대신에 전원을 제어하여 회전자 위치에 맞는 전류를 흘리는 장치 즉, 드라이버에 의해 구동된다. DC 모터는 정류자의 개수를 늘림으로써 토크 리플을 적게할 수 있는데, 브러시리스 모터에서는 모터를 3상 권선으로 하고 각 상의 전류를 구형파 혹은 정현파의 교번 전류를 흘려 구동한다.
  그림 4의 (a), (b)는 3상 브러시리스 모터의 횡단면도 이고, U+, U-, V+, V-, W+, W-는 각 권선의 시작과 끝이다.
  모터에 그림 4(c)와 같은 3상 교류(정현파)가 통전되고 있을 때, 시작 A점에 있어서 모터의 상태를 보면 U상만이 정(+)이고 V상과 W상 모두 부(-)이다.
  그러므로 각 권선의 전류 방향은 그림 4(a)와 같이 되고 전류에 의해 유기된 자속의 합성벡터는 N에서 S로 향하는 방향으로 발생한다.
이때 자속과 직각으로 교차하는 위치에 회전자의 자계가 있다고 하면 자석끼리의 반발력과 흡인력에 의해 회전자를 시계 방향으로 돌리는 토크가 발생한다. 또 시작 B점에 대해서도 같은 모양으로 검토해 보면, 권선에 의한 자속은 그림 4(b)와 같이 회전방향에 60° 어긋난 위치에 발생한다.
  이와 같이 고정자 권선에 3상 교류(정현파 혹은 구형파)전류를 흘리므로써 연속적인 회전자계를 얻을 수 있다. 이 구동전류 위상을 회전자의 회전각에 대하여 항상 직교하는 형태로 맞출 수 있다면 매끄러운 토크를 내면서 효율이 좋은 모터를 브러시리스로 구성할 수 있다.
2. 회전자 위치 검출 회로
  AC 서보모터에서도 DC 서보모터와 같이 전류의 방향과 자속의 방향을 직교시키기 위해서는 자석의 위치를 정확히 파악하지 않으면 안된다.
  그림 5에는 종래의 인크리멘탈 엔코더의 내주부에 자극 위치를 센싱할 수 있는 전용 슬릿이 추가된 인크리멘탈 엔코더를 보인다.
  자극 검출신호 U, V, W 채널 신호는 AC 서보모터의 극수에 맞춰 각각 전기각으로 120° 어긋난 위상차를 갖고 있다.
  따라서 검출신호수는 종래의 A, B, C 채널 외에 U, V, W 채널이 합해져서 6 신호가 된다.
  이것을 장거리 전송이 가능하도록 라인 드라이버로 출력한다.
3. AC 서보모터 구동 시스템
  이 모터의 동작원리는 앞 절에서 설명한 바와 같이 DC 모터의 정류자 기능을 흘센서(Hall Sensor)와 반도체 전력 변환기로 하고 있다는 것이다. 발생 토크는 전류와 자속의 곱에 비례하기 때문에 직류기와 동일하게 직교하고 있다. 그림 6은 구동시스템의 전체 구성을 나타내었다.
  전류지령을 위한 회전자 위치 검출기와 속도 검출기가 모터 축에 커플링으로 연결되어 있다.
  그림 7에 전류제어 트랜지스터 PWM 인버터의 주회로를 나타낸다. PWM 인버터는 상전류를 피드백하기 때문에 PWM에 의해 모터 손실을 줄일 수 있으며 토크 리플을 작게 할 수 있다. 또한 트랜지스터에 흐르는 피크전류도 작게 할 수 있다.
  그림 8에서는 AC 서보모터 구동 시스템의 제어 블록 다이그램을 나타낸다.
  회전자의 각위치 검출기로 부터의 신호에 의해 3상의 교류전류(정현파 혹은 구형파)를 발생시키고 그것에 전류 지령치가 곱해져 피드백된 3상 전류와 각각 비교한다.
  만일 모터 전류가 지령치에 비해 크게 되면 인버터는 전류를 작게하는 방향으로 스위칭하고, 반대로 모터전류가 지령치에 비해 작게 되면, 인버터는 전류를 크게하는 방향으로 스위칭하게 된다.
  속도 신호는 각도 신호의 예측을 위해 피드백되어 계의 시간 지연을 작게하고 있다.
AC 서보모터의 구조
1. AC 서보모터의 구조
  AC 서보모터의 구조를 그림 9에 보인다.
  자속을 만들어 내기 위한 영구자석이 회전자에 부착된 회전계자형이고, 권선은 고정자측에 설치된 정지 전기자 구조이다. 결국 DC 서보모터와 비교해 보면 회전자와 고정자의 전기적 역할이 역으로 되어 있다.
2. AC 서보모터의 구조상 특징
  서보모터에서는 급가감속을 행하기 위해, 최대 토크는 정격 토크에 대하여 수백배 크게 하지 않으면 안되는데, DC 서보모터에 있어서는 가감속 영역이라 불리우는 정류한계가 있고 이것을 넘어서 사용하면 Flash over현상(정류자 불꽃이 갑자기 과대해지는 현상)이 나타난다. 더구나 이 정류한계는 회전속도가 커지면 현저하게 저하한다. 그러나 AC 서보모터에 있어서는 정류한계가 존재하지 않기 때문에 고속 회전영역까지 최대 토크를 저감하지 않고 운전할 수 있다. 그림 10은 서보모터의 동작 특성 비교를 나타낸 것이다. 또 AC 서보모터에 있어서는 영구자석이 회전축상에 설치되어 있기 때문에 회전부분에서는 발열이 없고 모터의 발열은 고정자측의 전기자에서만 발생한다.
  고정자측의 전기자에서 발생한 열은 프레임을 통하여 대기중에 발산하므로 발열부가 회전자에 있는 DC 서보모터에 비하여 냉각이 용이하다. 또한 발열부의 온도 검출이 직접 가능하기 때문에 과부하에 대해 보호가 확실한 조치를 위할 수이다.
3. AC 서보모터의 구성 요소
  AC 서보모터는 회전자, 고정자, 센서 및 이것을 지탱하는 프레임, 베어링, 커플링으로 구성되고 용도에 따라서 브레이크를 내장한 것도 보인다. 이하 요소별로 서술한다.
(1) 회전자
  회전자는 회전자축에 영구자석이 고정된 회전 계자형 구조이다. 계자극의 형상은 원통형(링형)과 원호형(C형)의 두 종류가 있다. 그림 11의 (a)는 원통형 영구자석을 계자극으로 한 모터의 횡단면도를 나타내고, (b)는 원호형 영구자석을 계자극으로 한 모터의 횡단면도를 나타내고 있다.
(2) 고정자
  고정자는 전기자 철심과 전기자 권선에 의해 구성되어 있다.
  전기자 철심은 0.35~0.5㎜ 두께의 규소강판을 쌓아 두껍게 한 것이다. 일반적으로 권선을 하기 위한 슬롯의 영향 때문에 공극에서의 자속밀도가 균일하지 않고 토크가 맥동하여 회전변동이 일어난다. 이같은 토크 리플을 저감하기 위하여 전기자 철심에 슬롯을 많이 내거나 스큐(skew)를 한다.
  또 서보모터의 철심은 전기자 전류의 영향을 받아서 진동하기 때문에 이 주파수가 가청주파수역에 들 경우는 소음이 난다.
(3) 센서
  AC 서보모터의 센서는 모터의 위치 검출과 회전속도 검출의 2가지 기능이 필요하게 된다.
  센서로서는 인코더와 리졸버 등이 일반적으로 사용되고 있는데, 상세한 내용은 다음호에서 살펴보기로 한다.
(4) 브레이크
  서보모터의 사용조건에 따라서 브레이크 내장형이 필요한 경우도 있다. 브레이크는 모터의 박형화를 도모하기 위해 판평형 전자 브레이크가 주로 사용된다. 브레이크의 동작은 역작동 방식의 홀딩 브레이크이다. 그림 12에 그 구조 예를 보인다.
(5) 프레임
  프레임은 고정자를 고정하는 기능만 하는 것이 아니고, 요크로써 자로의 일부가 되기도 하고 동손 및 철손에 의한 열의 방열 통로의 기능을 한다. 따라서 열발산을 효율적으로 하기 위해서는 열전도율이 좋은 재질을 사용하여야 한다. 특히 프레임 외면에 방열핀을 많이 두기도 한다.
(6) 베어링
  베어링은 기계적 손실이 작은 볼 베어링이 주로 사용된다. 반복적인 급가감속 운동과 회전축의 열팽창을 십분 고려하여 탈조 방지를 충분히 고려하여 설계되었다. 물과 절삭유가 쓰이는 환경하에서 사용할 때는 모터 축 사이로 물과 기름의 침입을 방지하기 위해 오일 씰을 붙이는 경우도 있다.
4. 영구자석의 종류와 특징
  기계적 시정수가 작고 응답성이 좋은 서보모터에는 고성능 자석이 사용된다. 그러나 모든 서보모터에 고응답성이 요구되는 것은 아니다. 부하의 관성모멘트가 큰 경우에는 회전자 관성 모멘트가 작은 모터를 선택해서는 무의미하다.
  역으로 부하의 관성모멘트가 작을 때는 회전자 관성모멘트가 큰 모터를 사용하면 가감속에 사용되는 파워는 모터 자체만을 구동하기 위해서 소비되어 버리기 때문에 응답성이 좋은 모터로 써도 무의미하므로 목적에 맞게 선정하여야 한다. 회전자 관성모멘트는 계자를 형성하는 영구자석을 어떤 종류를 사용했느냐에 따라 달라진다. 영구자석의 자기특성은 감자 곡선으로 표시되는데, 잔류 자속 밀도 Br, 감자력 Hc, 최대 에너지 적(BH)max에 의해 그 특성을 알 수 있다. 영구자석을 포함하는 자기회로의 공극에 축적된 에너지는 자기 에너지 적에 비례하므로 우수한 자석은 그만큼 단위체적당 큰 자기 에너지 적을 보유하고 있다.
  그림 13은 대표적인 3종류의 자석의 자기특성을 비교한 것이다. 그림에서 종축은 자속밀도 B, 횡축은 감자계의 강도 H로 표시된다. 또한 감자 곡선상의 자속밀도와 자화력의 적을 자기 에너지적이라 하고 그 최대치가 최대 에너지 적(BH)max이고, 단위는 J/㎥ 혹은 Gauss Oersted(GOe)로 표시된다.
  그림 13에서 보듯이 희토류 자석은 페라이트 자석보다 Br, Hc 값이 크다. 즉 희토류 자석을 사용한 서보모터는 같은 출력에 비해 모터 크기가 작고 따라서 회전자 크기가 작아서 기계적 시정수가 작고 파워레이트가 크다. 표 2는 페라이트 자석을 사용한 AC서보모터와 희토
류 자석을 사용한 AC 서보모터의 특성을 비교한 것이다.
[출처] AC 서보모터 제어기술 -Ⅰ|작성자 북청물짱

2010년 11월 14일 일요일

가전제품 소비전력

http://kin.naver.com/qna/detail.nhn?d1id=11&dirId=1118&docId=115642296&qb=6rCA7KCE7KCc7ZKIIOyGjOu5hOyghOugpQ==&enc=utf8&section=kin&rank=1&search_sort=0&spq=0

냉장고 -- 250~500W(항상 동작하는 것은 아닙니다.)
다리미 -- 600~1000W정도
컴퓨터 (본체) 120~150W(게임용이나 그래픽용은 200~250W)
러닝머신-- 이것이 보기보다 소비전력이 높습니다. 1500W~2000W
컴퓨터(모니터) -- 19~22인치 기준으로 40~50W
식기 세척기 -- 500~600W
형광등 --  종류에 따라 다름 20~40W
전자렌인지 -- 800~1200W
에어컨 -- 1000~2500W(이것도 설정온도,주변온도에 따라 항상 동작하는 것은 아닙니다.)
스탠드 -- 백열전구(60~100W) 형광등(20~40W)
세탁기 -- 400~600W(드럼형, 온풍인경우는 1000W이상)
오븐 -- 1000~2000W
김치 냉장고 -- 200~400W(이역시 항상 동작하는 것은 아닙니다.)
냉동고 ---어떤 것인지..
드라이기 -- 800~1200W
전화기 -- 5~10W 이하

2010년 11월 13일 토요일

How to use a large buffer for a CEdit control

http://www.eggheadcafe.com/forumarchives/vcmfc/oct2005/post24543664.asp

A CListBox with automatic HSCROLL maintenance

http://www.flounder.com/hscroll.htm

A CListBox with automatic HSCROLL maintenance

Overview

A question that seems to come up about once a week in the newsgroup goes something like "I checked the horizontal scroll style in my ListBox, and I don't see any scrollbar. What can I do?"
Horizontal scrolling is poorly understood and even more poorly documented. In order for horizontal scrolling to work, you have to call the SetHorizontalExtent method and set the total width of the horizontal space being used by the entries in the ListBox. If the horizontal extent is larger than the client area of the listbox, the horizontal scrollbar will appear, providing you have selected the horizontal scroll style. You need both to be set to get the effect.
Unfortunately, this is hard to do in the parent window. It involves having to do the computation at every site where you add a string. This is not well object-oriented. So what I've done is create a new class derived from CListBox that incorporates this functionality automatically.
The way I do this is maintain a value which is the maximum width set thus far. Whenever a new string is added, I update the width. When strings are deleted I update the width. I do this by overriding the ResetContent, InsertItem, AddItem, and DeleteString methods.
Note that this works only for non-owner-drawn list boxes. For owner-drawn, it is somewhat easier because you can maintain it in the DrawItem handler.
You can download the sample code, but here's some excerpts. The sample code includes a complete project which demonstrates the scrolling.
Note that to include this class in your project, you need to include the source file in your project, then delete the .clw file and re-invoke the ClassWizard to get it to see the new class (Microsoft used to allow the importation of classes directly, but this feature seems to have been deleted in the latest versions of Visual Studio). You can then create control variables using the CHListBox class directly in ClassWizard. If you don't do the rebuild of the .clw file, you will have to hand-edit your header file. If you don't know how to do this, check out my essay on Avoiding GetDlgItem.

SaveListBoxData(CListBox& lbLog)

void CDeleteThisDlg::SaveListBoxData(CListBox& lbLog)
{
 CFileDialog dlg(FALSE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
     "log 파일 (*.log)|*.log||", this);
 if(dlg.DoModal() == IDCANCEL)
   return;
 int nCount = lbLog.GetCount();
 if(nCount <=0)
  return;
 //파일 생성...
 CString strFileName = dlg.GetPathName();
 if(dlg.GetFileExt() == "")
  strFileName += ".log";
 CStdioFile file;
 CFileException ex;
 TRY {
  file.Open( strFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeText);
 }
 CATCH(CFileException, ex) {
  TCHAR szError[1024];
  ex->GetErrorMessage(szError, 1024);
  AfxMessageBox(szError);
  return;
 }
 END_CATCH
 CString strTemp;
 for(int i=0; i<nCount; ++i) {
  lbLog.GetText(i, strTemp); 
  strTemp += "\n";
  file.WriteString(strTemp);
 }
 file.Close();
}

A Logging Listbox Control

http://www.codeproject.com/KB/combobox/logcontrol.aspx

A Logging Listbox Control

One of the most common questions I hear from programmers who have moved from console-type applications to the GUI world is "How do I use printf to do debug output?" In my first Windows app, a decade ago, I asked myself the same question, and came up with this answer. What I'm showing in this essay and the accompanying code download is the result of a decade of maturing the world's greatest (at least IMNSHO) printf-equivalent. I refer to this in my accompanying essay on the Graphical Developer Environment, but this is the full-blown control with all the features I seem to need.

2010년 10월 26일 화요일

OnCbnSelchangeComboCmd()

void CFtcOamDlg::OnCbnSelchangeComboCmd()
{
TRACE(">TRC:%s:%d\n",__FUNCTION__,__LINE__);
 int  iSelIdx;
 CString CStrCombo, CStrLine;
 char *pCharStr;
 int  iCStrLen;
 iSelIdx = m_CComboCmd.GetCurSel();
 TRACE("-TRC:Idx = %d\n",iSelIdx);
 iCStrLen = m_CComboCmd.GetLBTextLen(iSelIdx);
 m_CComboCmd.GetLBText(iSelIdx,CStrCombo.GetBuffer(iCStrLen));
 CStrLine += CStrCombo.GetBuffer(iCStrLen);
 m_CEditCmdLine.SetWindowTextW(CStrLine);
TRACE("<TRC:%s:%d\n",__FUNCTION__,__LINE__);
}

Combo Box GetLBText Example

http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=118813847&qb=R2V0TEJUZXh0&enc=utf8&section=kin&rank=2&search_sort=0&spq=0

// MemberDlg.h : 헤더 파일
//
#pragma once
#include "afxwin.h"

// CMemberDlg 대화 상자
class CMemberDlg : public CDialog
{
// 생성입니다.
public:
 CMemberDlg(CWnd* pParent = NULL); // 표준 생성자입니다.
// 대화 상자 데이터입니다.
 enum { IDD = IDD_MEMBER_DIALOG };
 protected:
 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 지원입니다.

// 구현입니다.
protected:
 HICON m_hIcon;
 // 생성된 메시지 맵 함수
 virtual BOOL OnInitDialog();
 afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
 afx_msg void OnPaint();
 afx_msg HCURSOR OnQueryDragIcon();
 DECLARE_MESSAGE_MAP()
public:
 CString m_sName;//이름 입력 받는곳의 변수
 CComboBox m_Address;//도시 이름 컨트롤 변수
 afx_msg void OnBnClickedButtonAdd();//등록 버튼을 누룰때 실행 되는 함수
 afx_msg void OnBnClickedButtonFind();//조회 버튼을 누룰때 실행 되는 함수
 afx_msg void OnBnClickedButtonDel();//삭제 버튼을 누룰때 실행 되는 함수
 CListBox m_Listbox;//리스트의 컨트롤 변수
 BOOL m_bMovie;
 BOOL m_bMusic;
 BOOL m_bMountain;
 BOOL m_bMaraton;//취미의 상태 변수
 CButton m_Man;//성별 컨트롤 변수
};





// MemberDlg.cpp :
....
....
....
BOOL CMemberDlg::OnInitDialog()
{
 CDialog::OnInitDialog();
 // 시스템 메뉴에 "정보..." 메뉴 항목을 추가합니다.
 // IDM_ABOUTBOX는 시스템 명령 범위에 있어야 합니다.
 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
 ASSERT(IDM_ABOUTBOX < 0xF000);
 CMenu* pSysMenu = GetSystemMenu(FALSE);
 if (pSysMenu != NULL)
 {
  BOOL bNameValid;
  CString strAboutMenu;
  bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX);
  ASSERT(bNameValid);
  if (!strAboutMenu.IsEmpty())
  {
   pSysMenu->AppendMenu(MF_SEPARATOR);
   pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
  }
 }
 // 이 대화 상자의 아이콘을 설정합니다. 응용 프로그램의 주 창이 대화 상자가 아닐 경우에는
 //  프레임워크가 이 작업을 자동으로 수행합니다.
 SetIcon(m_hIcon, TRUE);   // 큰 아이콘을 설정합니다.
 SetIcon(m_hIcon, FALSE);  // 작은 아이콘을 설정합니다.
 // TODO: 여기에 추가 초기화 작업을 추가합니다.
 m_Address.AddString(L"서울");
 m_Address.AddString(L"춘천");
 m_Address.AddString(L"제주");//콤보 박스에 도시 이름 넣기 m_Address.SetCurSel(0);//첫번째 위치를 기본 선택 m_Man.SetCheck(TRUE);//
성별에 남으로 기본 선택 
 return TRUE;  // 포커스를 컨트롤에 설정하지 않으면 TRUE를 반환합니다.
}
void CMemberDlg::OnBnClickedButtonAdd()
{
 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
 CString Str, sCombo;

 UpdateData(TRUE);//컨트롤에서 읽어옴
 Str += m_sName;//이름을 저장 Str += " ";

 int sel = m_Address.GetCurSel();
 int len = m_Address.GetLBTextLen(sel);

 m_Address.GetLBText(sel, sCombo.GetBuffer(len));
 Str += sCombo.GetBuffer(len);//
콤보 박스에서 도시 이름을 빼와 저장
 Str += " ";
 if(m_Man.GetState())//라디오 버튼에 상태에 따라 성별을 저장  Str += "남 ";
 else
  Str += "여 ";


  //취미 상태에 따라 취미 저장 if(m_bMovie)
  Str += "영화감상 ";
 if(m_bMusic)
  Str += "음악감상 ";
 if(m_bMountain)
  Str += "등산 ";
 if(m_bMaraton)
  Str += "마라톤 ";

 m_Listbox.AddString(Str);//만들어진 문자열을 리스트박스에 저장}
void CMemberDlg::OnBnClickedButtonFind()
{
 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
 CString Str, Tok;

 UpdateData(TRUE);

 for(int i=0;i < m_Listbox.GetCount();i++)
 {
  m_Listbox.GetText(i, Str);//리스트 박스에서 한줄 읽어옴  AfxExtractSubString(Tok, Str, 0, ' ');//읽어온 첫번째 단어를 추출(이름)  if(m_sName == Tok)//찾는 이름을 찾으면  {
   m_Listbox.SetCurSel(i);//위치를 선택함   return;
  }
 }
}

void CMemberDlg::OnBnClickedButtonDel()
{
 // TODO: 여기에 컨트롤 알림 처리기 코드를 추가합니다.
 int sel = m_Listbox.GetCurSel();//
선택된 위치를 얻어옴
 m_Listbox.DeleteString(sel);//얻어온 위치를 삭제
}

2010년 10월 25일 월요일

전기용품안전인증

http://blog.naver.com/april0411?Redirect=Log&logNo=120102456608

1. 전기용품안전인증[KC마크 (구eK마크)] 정의 및 목적:
 
- 전기용품안전인증제도는 전기용품안전관리법에 의거 시행되는 강제인증 제도로서 안전인증대상 전기용품을 제조 및 판매하고자 할 때에는 안전인증을 받아야 제조 및 판매할 수 있도록 하는 제도입니다. 인증업체가 인증 받은 제품과 동일한 제품을 지속적이고 안정적으로 생산하는가를 평가하므로 불량 전기용품으로 인한 감전, 화재 등의 위험과 장해로부터 국민(소비자)을 보호하기 위한 목적을 갖고 있습니다.
 
2. 전기용품안전인증[KC마크(구eK마크)] 신청서 작성방법 안내
 
① 접수번호
- 시험기관에서 접수순서에 따라 부여합니다.
 
② 신청구분
- 인증신청서는 기본모델별로 1부씩 작성하시기 바랍니다. 동시에 여러 모델을 신청하시는 경우, 중복되는 내용(제조자, 주소 등)은 생략하셔도 됩니다.
 
③ 공장심사
- 처음 신청하시는 경우에는 사전공장확인 신청란에 체크하여 주십시오. (사전 공장확인은 공장별로 동일제품군에 대한 최초 제품인증신청시만 받습니다.)
 
④ 제조자(공장)
- 제조자는 인증신청 대상제품을 실제로 제조하는 자를 뜻합니다.
- 동일제품을 소재지가 다른 여러 공장에서 복수로 생산하는 경우, 제조공장별로 각각 인증을 받아야 합니다.
 
⑤ 대리인
- 외국제조자로부터 안전인증신청을 위임받는 자는 대리인 자격으로서 제조자를 대신하여 신청할 수 있습니다. 담당자란에는 제조자(대리인)의 업무담당자를 기재하십시오. (모든 연락은 업무담당자에게 합니다.)
 
⑥ 신청제품
- 신청제품의 명칭, 정격, 기본모델 및 파생모델(있을 경우에만) 등을 기재합니다.
- 파생모델이 많을 경우에는 별지로 작성, 첨부하여 주시기 바랍니다.
 
⑦ 변경신청
- 기 인증번호: 변경 이전에 발급받는 안전인증번호를 기재합니다.
- 변경내용 : 변경하고자 하는 내용을 기재합니다. (필요시 별지로 작성, 첨부)
 
⑧ 시험성적서 신청
- 통상적인 안전인증신청에는 안전인증서만 발급합니다.
- 시험성적서가 필요한 경우에는 별도로 신청을 하셔야 합니다. (이 때에는 성적서 발급비용이 추가됩니다.)
 
 
⑨ 시료확인서 발급
- 외국의 전기용품제조업자 또는 대리인이 안전인증을 신청한 경우로서, 시험에 필요한 수입시료의 통관을 위하여 안전인증시료확인서 발급을 원하시는 경우에 표시하시기 바랍니다.
 
⑩ 시험 후 시료처리
- 택배우송 서비스를 원하시는 경우는 시료를 받을 주소, 인수자를 정확하게 기입하여 주시기 바랍니다. 이 경우 택배수수료는 인수자 부담입니다. 단, 택배가 불가능한 품목(싯가 300만원 이상 또는 중량 60Kg 이상 인 제품)에 해당하는 경우, 다른 운송서비스에 대해서는 접수담당자의 안내를 받으시기 바랍니다.
 
3. 전기용품안전인증[KC마크(구eK마크)] 신청서류 및 시료안내
 
 
신청 시 유의사항
 
 
기본모델이란?
- 전기용품군별 안전적용기준 및 안전에 직접적인 영향을 주는 부분이 동일한 모델의 전기용품군중에서 표본적으로 안전인증을 받은 전기용품 모델을 말한다.
 
파생모델이란 ?
- 전기용품군별 안전적용기준 및 안전에 직접적인 영향을 주는 부분이 동일한 모델의 전기용품군 중 기본모델을 제외한 전기용품 모델을 말한다. 단, 세부안전적용기준 및 세부범위
 
전기용품안전인증은?
- 안전인증대상전기용품을 제조하거나 외국에서 제조하여 대한민국으로 수출하고자 하는 자(이하 "안전인증대상 전기용품제조업자"라 한다)는 안전인증기관으로부터 안전인증대상전기용품의 모델별로 안전인증을 받아야 합니다. 제조공장별,모델별 인증이기 때문에 동일제조공장에서는 모델명이 모두 달라야 합니다.
동일한 제품을 소재지가 다른 여러 공장에서 제조하는 경우에는 제조 공장별로 각각 인증을 획득하여야 합니다.
 
자율안전확인신고는?
- 자율안전확인대상전기용품의 제조업자 또는 수입업자는 지식경제부경으로 정하는 바에 따라 자율안전확인대상 전기용품 모델별로 안전인증기관으로부터 자율안전확인시험을 받아 해당 전기용품이 안전기준에 적합한 것임을 스스로 확인한 후 지식경제부장관에게 신고하여야 합니다. (신고는 자율안전확인시험을 받은 안전인증기관에 하시면 됩니다.)
 
3.1 신규신청 구비서류 및 시료
 
구비서류
1) 안전인증신청서 또는 자율안전확인시험신청서(전기용품 자율안전확인신고서 포함)
2) 제품설명서(한글사용설명서를 포함한다)
3) 전기적인 안전에 직접적인 영향을 주는 부품목록
(부품명, 제조자, 모델명(타입), 정격 및 전기적 특성, 인증마크(인증번호))
4) 절연재질의 명세서 : 온도,내압특성 또는 난연성 등급 등
5) 전기회로도면
6) 트랜스포머 사양서(해당제품에 한함)
7) 명판(Marking plate) : 전기용품의표시에 관한 규정참조
8) 대리인증명서류: 대리인이 신청하는 경우에 한하며, 제조공장으로부터 위임 받아야 함
9) 공장조사질문서(초기심사에 한함)-(반드시 약도첨부)
10)수수료 (부가세 없음, 신용카드수납 가능) : 인증수수료창에서 확인
 
※통관용 시료확인서 발급 : 안전인증 신청과 동시에 발급함
 
 
3.2 시료준비
1) 신청제품 1대 (전자파장해시험을 실시할 경우 1대 추가)
2) 신청 제품의 부품 또는 부분품으로 사용된 안전인증대상전기용품 각 1 대
(전자파장해시험을 실시할 경우 1대 추가)
3) 기타 재료 또는 시험용 부분품(필요한 경우)
 
3.3 통관용 시료확인서 발급
- 안전인증신청과 동시에 발급
 
3.4 예비접수
- 구비서류가 부족할시 예비접수 가능
1) 예비접수시 구비서류 : 신청서, 위임장, 시료확인서, 신청비용
2) 통관시료 수량은 법정 수량에 한함
3) 특별한 사유없이 취소할 수 없음(취소 즉시 관세청에 통보됨)
4) 예비접수 후 15일 이내 본 접수 요망 (해당시료와 구비서류 보완)
 
 
4. 전기용품안전인증[KC마크(구eK마크)] 변경신청 구비서류 및 시료
 
4.1 파생모델추가 및 부품추가 변경의 경우
1) 안전인증신청서
2) 변경신청 요약서
3) 전기용품안전인증서 원본첨부
4) 수수료 : 시험이 필요 없는 경우 (1건당- 10,000원)
5) 시험이 필요한 경우 해당시료 제출요망 (별도 추가 시험료 있음)
6) 방문 또는 우편접수
 
4.2 행정변경 (상호 또는 주소)의 경우
1)안전인증신청서 : (인증서 수량만큼)
2)사업자 사본(변경 전, 후 각 1부)
3)안전인증서 원본첨부 (최종본)
4)수수료 : 상호변경(건당 10,000원)
주소변경(건당 10,000원+정기공장심사비)
상호+주소 변경(건당 10,000원+정기공장심사비)
5)방문 또는 우편접수
 
4.3 안전인증 확인서 발급
- 안전인증을 받은 수입제품의 세관통관용 서류
- 안전인증확인서
 
4.4 구비서류:
1) 안전인증신청서(양식보기 및 받기)
2) 제품설명서(한글사용설명서를 포함한다)
3) 전기적인 안전에 직접적인 영향을 주는 부품목록 (안전관리부품목록 양식보기 및 받기) (부품명, 제조자, 모델명(타입), 정격 및 전기적 특성, 인증마크(인증번호))
4) 절연재질의 명세서 : 온도,내압특성 또는 난연성 등급 등 (양식보기 및 받기)
5) 전기회로도면
6) 트랜스포머 사양서(해당제품에 한함)
7) 명판(Marking plate) : 전기용품의표시에 관한 규정참조
8) 대리인증명서류: 대리인이 신청하는 경우에 한하며, 제조공장으로부터 위임 받아야 함
(위임장 양식보기 및 받기)
9) 공장조사질문서(초기심사에 한함)-(반드시 약도첨부)
10) 수수료 (부가세 없음, 신용카드수납 가능) : 인증수수료창에서 확인
 
4.5 시료준비사항
1) 신청제품 1대 (전자파장해시험을 실시할 경우 1대 추가)
2) 신청 제품의 부품 또는 부분품으로 사용된 안전인증대상전기용품 각 1 대 (전자파장해시험을 실시할 경우 1대 추가)
3) 기타 재료 또는 시험용 부품(필요한 경우)
- 통관용 시료확인서 발급:안전인증신청과 동시에 발급
- 예비접수;구비서류가 부족할시 예비접수 가능 1) 예비접수시 구비서류 : 신청서, 위임장, 시료확인서, 신청비용 2) 통관시료 수량은 법정 수량에 한함 3) 특별한 사유없이 취소할 수 없음(취소 즉시 관세청에 통보됨)
4) 예비접수 후 15일 이내 본 접수 요망 (해당시료와 구비서류 보완)
 
4.6 행정변경(상호 또는 주소)의 경우
1) 안전인증신청서 : (인증서 수량만큼)
2) 사업자 사본(변경 전, 후 각 1부)
3) 안전인증서 원본첨부 (최종본)
4) 수수료 : 상호변경(건당 10,000원)주소변경(건당10,000원+정기공장심사비)상호+주소변경 (건당 10,000원+정기공장심사비)
5) 방문 또는 우편접수 : 위의 주소 참조
 
인증기관 안전인증번호 또는 자율신고번호
 
 
5.1 안전인증 표시사항 부착시기
- 국내제품 : 출고 전
- 수입제품 : 출고 후
 
5.2 표시를 하여야할 내용
1) 안전인증의 마크(안전인증번호와 인접하여 표시)
2) 안전인증번호
3) 제품명칭 (전기용품안전관리법 시행규칙에서 정한 명칭)
4) 모델명
5) 정격전압 등
6) 제조업체명 (외국제조업체인 경우 제조국명 표시를 추가함)
7) 이중절연기기인 것에 있어서는 의 기호
8) 단시간 정격인 것에 있어서는 정격시간
9) 제품의 제조시기 (예: 제조년월일, 로트번호 등 제조년월일을 입증할 수 있는 표시)
10) EMI또는 EMI/EMS 마크
11) 아프터서비스를 위한 전화번호나 소재지 등의 연락처
12) 기타 (개별 안전기준에서 정하고 있는 것은 개별 안전기준을 따른다.)
 
5.3 표시사항 부착 위치 및 방법
1) 표시하는 도형의 크기는 제품의 크기에 따라 신축성 있게 조정한다.
2) 제품 또는 용기와 포장에 쉽게 알아볼 수 있도록 표시하고, 떨어지지 않도록 붙이거나 인쇄 또는 각인 등의 방법으로 표시하여야 한다.
3) 안전인증, 자율안전확인신고등의 표지와 인접하여 안전인증번호 또는 자율안전확인 신고번호를 표기하고, 그 밖에 안전기준에 관한 사항과 기술표준원장이 정하는 사항을 국문 또는 영문 등의 글자로 표기하여야 한다.
4) 안전인증, 자율안전확인신고 등의 표지색상은 검은색을 원칙으로 한다.
5) 안전검사표지는 안전인증 또는 자율안전확인신고등의 표지를 사용하고, 그 표지와 인접하여 하단에 “안전검사필:과 “제품고유번호”를 표시한다.
6) 안전인증 또는 자율안전확인신고등의 면제표시는 안전인증 또는 자율안전확인신고등의 표지를 사용하고, 그 표지와 인접하여 하단에 “면제검사필”을 표시한다.
 
5.4 전기용품안전인증[KC마크(구eK마크)] 인증수수료
1) 인증서 발행비 : 50,000원
2) 공장심사비 : 국내는 20만원대~30만원대, 해외는 중국 70만원대, 미국 150만원대이며, 수시 변동 가능성 있음.
3) 시험비 : 안전비와 전자파비용으로 나뉘며, 제품에 따라 상이함,
4) 업무대행비 : 제품마다 조금씩 차이가 있으며, 인증진행시 문의하시면 견적서를 발행해 드립니다.
 
6. 전기용품안전인증[KC마크(구eK마크)] 공장심사
 
공장심사의 목적
- 초기(예비)공장심사: 인증대상제품을 생산하고자 하는 공장의 생산, 관리, 출하 및 유지관리 능력이 대상제품의 안전을 확보할 수 있는지를 확인하기 위함.
- 정기공장심사: 안전인증을 받는 전기용품이 제조기업의 공장에서 생산중이거나, 유통 중에 지속적으로 안전을 유지하고 있는지를 확인하기 위함.
 
6.1 초기(예비)공장심사 내용
1) 시험검사, 검사설비, 품질시스템에 대한 만족여부를 확인
2) 상세한 내용은 주요심사항목의 “초기공장심사”의 내용 참조
 
6.2 정기공장심사내용 (심사주기는 년1회 이상)1) 전기용품제조업자 및 제조공장의 변경여부 확인
2) 안전인증서에 기재된 제조공장에서 전기용품을 생산하고 있는지의 여부
3) 안전인증서에 첨부된 안전관리대상 부품목록과 동일한 부품을 사용하고 있는지의 여부
4) 안전인증을 받은 전기용품의 안전기준 및 안전인증 내용의 준수 여부
5) 상세한 내용은 주요심사항목의 “정기공장심사”의 내용 참조
 
6.3 심사 시 준비서류
1) 시험검사 업무 규정 (수입, 중간, 출하, 자체검사) 및 관련기록
2) 보유 검사설비 관리대장 및 교정성적서
3) 부적합품관리 규정 및 관련기록
4) 고객불만처리 규정 및 관련기록
5) 내부감사 규정 및 관련기록
*예비(초기) 공장심사시 관련기록이 없더라도 사내규정이 심사조건을 만족하는 경우 인정
6.4 심사비용
 
국내공장인 경우
1) 초기(예비)공장심사 : 200,000원(심사비)+출장비
2) 정기공장심사 :
- 기본모델 5개이하 : 150,000xFile수+출장비
- 기본모델 6개이상 : 150,000xFile수+{(File별인증모델수-5)x20,000원}+출장비
 
외국공장(한국에서직접출장심사)인 경우
 
1) 초기(예비)공장심사 : 520,000원(심사비)+출장비
2) 정기공장심사 :
 
- 기본모델 5개이하 : 520,000xFile수+출장비
 
- 기본모델 6개이상 : 520,000xFile수+{(File별인증모델수-5)x20,000원}+출장비
 
MoU신청 또는 대행계약신청인 경우
공장심사 대행계약체결지침에 따름 (MoU기관별로 수수료 상이)
 
6.6 시험검사관련
1) 수입검사 규정
- 부분품(안전관련부품등)별 시험검사 기준 납품처의 출하검사 성적서도 인정
2) 공정(중간)검사 규정
- 최종공정에서 실시하는 기능 및 안전시험(내전압시험등) 기준 및 작업지도서 * 생산일보 또는 공정검사일지 불량내용 및 수량 등 검사결과만을 기록하는 방법도 가능
3) 출하(제품)검사 규정
- 출하로트에 대한 출하검사 기준
4) 자체검사)제품확인시험) 규정
- 인증제품이 인증기준에 지속적으로 적합한지를 확인하기 위함
- "운용요령 [별표2] 에 따른 자체검사 기준 (자체 또는 공인기관 성적서 인정)
 
6.7 검사설비 관련
1) 검사설비의 보유 여부확인
- "운용지침 [별표 1] 의 기준에 따른 장비의 보유 여부를 확인함
※ 검사설비는 자체보유 혹은 설비이용계약을 체결하는 경우 인정/ 시험기관과 검사설비이용계약(무료) 가능
2) 검사설비 교정 여부 확인
- 검사설비의 교정성적서를 확인함
3) 검사설비 점검 기준 확인
- 검사설비의 기능이 정상적으로 발휘되는지를 확인 현장확인 및 기준확인
- 안전시험과 관련된 기기(내전압시험기, 절연저항기 등)를 중점적으로 확인 (일상점검기록지)
 
6.8 인증제품의 변경관련
- 규정상에 인증제품의 변경전 반드시 인증기관의 허락을 득해야 한다는 문구가 있어야 함
 
6.9 기타시스템 확인 등
1) 부적합관리규정 및 창고관리
- 부적합품에 대한 표시, 보관, 처리방법을 규정화해야 함
2) 고객불만규정
- 고객불만사항이 접수, 시정조치, 재검토과정을 거쳐 재발되지 않도록 하는 규정된 문서를 보유하여야 함3) 내부감사규정
- 생산공정과 관련된 품질시스템을 자체 감시하는 규정된 문서를 보유하여야 함
 
7. 주요심사항목
 
7.1 시험검사관련
다음의 시험검사를 규정에 따라 실시하고 그 기록을 보관하여야 함
1) 수입검사 기록
- 부분품(안전관련부품등) 입고시 시험검사 기록 ※ 납품처의 출하검사 성적서도 인정
2) 공정(중간)검사 규정
- 최종공정에서 실시하는 기능 및 안전시험(내전압시험등) * 생산일보 또는 공정검사일지에 불량내용 및 수량 등 검사결과만을 기록하는 방법도 가능
3) 출하(제품)검사 규정
- 출하로트에 대한 출하검사 기준
4) 자체검사(제품확인시험)규정
- 인증제품이 인증기준에 지속적으로 적합한지를 확인하기 위함
- "운용요령 [별표2] 에 따른 자체검사 기록 (자체 또는 공인기관 성적서 인정)
※ 시험기관과 설비이용계약이 체결된 기업에 대하여 자체 검사 성적서를 발행하고 있음, 자체검사 안내문 참조하시고 정기 심사 시 자체검사성적서 미보유로 인한 인증취소가 되지 않도록 각별히 유의바랍니다.
 
7.2 검사설비관련
1) 검사설비의 보유 여부확인
- "운용요령 [별표 1] 의 기준에 따른 장비의 보유 여부를 확인함
2) 검사설비 교정 여부 확인
- 검사설비의 교정성적서를 확인함
3) 검사설비 점검 기준 확인
- 검사설비의 기능이 정상적으로 발휘되는지를 확인 현장확인 및 기준확인
- 안전시험과 관련된 기기(내전압시험기, 절연저항기 등)를 중점적으로 확인 (일상점검기록)
 
7.3 인증제품의 변경관련
- 인증제품의 변경전 반드시 인증기관의 허락을 득해야 함 (변경여부는 심사시 제품을 분해 확인함)
- 인증기관 허락없이 제품의 변경을 행한경우 인증취소됨 (구조변경, 안전관련부품변경 (인증서상) 등)
 
7.4 기타시스템 관련
1) 부적합관리규정 및 창고관리
- 부적합품에 대한 표시, 보관, 처리방법 및 관련기록을 확인함. 완성품은 적용규격에 지속적으로 적합성을 확보할 수 있는 방법으로 보관되며 취급되어야 함
2) 고객불만규정
- 고객불만사항이 접수, 시정조치, 재검토과정을 거쳐 재발되지 않도록 하는 규정된 문서를 보유하여야 하며, 이와 관련된 기록을 확인함
3) 내부감사
- 생산공정과 관련된 품질시스템을 자체 감사하는 규정된 문서를 보유하여야 하며, 이와 관련된 기록을 확인함
4) 시정조치확인
- 전회의 공장심사시 지적사항이 있는 경우 시정내용 확인 (미이행시 취소사유됨)