제조공정 데이터 취득(DAQ) 시스템 개발
AI 신뢰도 직결, 5만원대 DAQ 자체 제작 가능
■연재 순서
1. 제조 중소·중견기업 인공지능 기술개발
2. 제조공정 데이터 취득(DAQ) 시스템 개발
3. IoT 센서 패키지 HW/SW 개발 및 데이터 송·수신
4. 데이터 전처리
5. 제조업 인공지능 적용
6. 인공지능 데이터 및 알고리즘 유형
7. 디지털 트윈 구축 및 HW/SW 개발 적용
8. 시계열 데이터 인공지능 학습 (예)
9. 이미지 데이터 인공지능 학습 (예)
10. 뿌리 제조기업의 공정지능화 과제
■양질의 데이터 확보 및 수집의 중요성
제조공정에 AI 적용이 성공적으로 이루어지기 위해서는 먼저 양질의 데이터를 충분히 확보해야 한다. 데이터가 충분하더라도 데이터에 오류가 존재하면 AI 학습 결과는 만족하지 못하거나 오답을 가져올 수 있다.
예를 들어 같은 품질의 제품을 생산하는 경우에 A 장비는 500℃, 그리고 B 장비는 520℃ 온도 데이터가 취득되어 졌다면, 측정된 온도 데이터는 믿을 수 없을 것이다. 제품의 품질이 5℃ 변할 때마다 달라지는 경우라고 가정할 때, 두 장비의 측정 신뢰성이 있기 위해서는 두 장비의 온도 편차가 5℃ 보다 더 낮아야 할 것이다.
또한 A 장비는 측정 데이터에 노이즈가 있고 B 장비는 노이즈가 없지만 Offset 오차가 있다면 역시 신뢰할 수 없는 데이터가 취득될 수 있다. 또한 데이터 수집 샘플링 속도가 느리다면 공정의 빠른 변화를 감지할 수 없는 데이터가 취득되어질 것이다. 이렇게 취득된 데이터로 AI 학습을 한다면 신뢰할 수 없는 결과가 도출된다. 따라서 양질의 데이터를 확보하는 것이 AI를 적용하기 위한 시작이고, 기본이라고 할 수 있다.
■데이터 수집(DAQ, Data AcQuisition) 과정과 선택
DAQ는 전압, 전류, 온도, 압력 또는 소리 등과 같은 전기적이나 물리적 상태를 측정하고 정확한 신호를 컴퓨터에서 조작할 수 있도록 아날로그 값을 디지털 숫자로 변환(ADC, Analog to Digital Converter)하고 데이터를 저장하는 과정이다. 양질의 공정데이터 수집을 위해서 DAQ 과정을 이해하고 적당한 스펙을 선택해야 한다.
▷센서
센서란 물리적 신호(온도, 빛, 이미지, 압력, 속도, 무게 등)를 기계 (컴퓨터)가 처리할 수 있는 신호(전압 등)로 변환하는 소자를 말한다. 제조 현장에서 공정 데이터를 취득하려면 품질에 미치는 핵심 공정인자를 도출하고 공정인자를 취득하기 위한 센서를 선정하여야 한다. 또한 센서의 동작범위, 감도, 응답 특성, 환경의 영향 등도 고려해야 한다.
▷동작범위(Dynamic Range)
동작범위란 센서가 측정할 수 있는 범위이다. 물론 동작범위가 넓으면 좋지만, 가격이 높을 것이므로 장비의 동작범위보다 조금 큰 범위로 정하는 것이 좋다. 예를 들어 공정 온도가 최대 200℃ 이하이면 NTC 온도 센서 (-50~300℃)를 선택하고, 최대 1000℃라면 K-type (-200~1,250℃) 열전대를 선택하는 식이다.
▷감도(Sensitivity)
센서의 입력이 Δx 만큼 변하였을 때 출력이 Δy 만큼 변했다면 감도 α=Δy/Δx로 정의된다. 일반적으로 센서의 감도는 높을수록 좋은 센서라고 볼 수 있지만 그만큼 가격이 높기 때문에 적당한 감도를 선택하는 것이 바람직하다.
▷응답속도 (Response Time)
입력이 변화할 때 센서 출력이 얼마나 빨리 변화할 수 있는 정도를 나타낸다. 일반적으로 입력이 순간적으로 변화했을 때 센서 출력이 최종 값의 90%에 도달하는 시간을 응답속도라고 한다. 응답속도는 시간상수(Time Constant)라고도 하고 또는 시정수라고도 불린다.
시간에 따른 공정 데이터를 측정할 때 공정변수의 변화 속도가 빠르다면 응답속도가 빠른 것을 선택해야 공정 데이터를 정확하게 측정할 수 있다. 만약 빠른 응답속도의 온도 변화를 측정하려면 K-type 열전대의 직경이 작은 것으로 선택해야 한다. 온도 센서 직경이 작을수록 응답속도가 빠르기 때문이다. 하지만 응답속도가 너무 빠른 경우 노이즈에 민감할 수도 있으니 주의해야 한다.
▷환경의 영향
온도나 습도에 따라 센서의 성능에 영향을 미칠 수 있다. 즉, 센서의 감도, 오프셋, 감도와 오프셋이 동시에 영향을 미칠 수 있는 것이다. 그러므로 여름과 겨울에 측정되는 값이 달라질 수도 있다. 따라서 환경에 따라 특성이 변하지 않는 센서를 선택하는 것이 좋다. 만약 작업환경의 변화에 따라 센서의 측정값이 변한다면 작업환경에 따라 보정 과정을 거쳐야 한다. 물론 작업환경이 항상 일정하다면 보정을 고려하지 않아도 될 것이다. 센서 선정시 추가 고려 사항으로 직진성, 정확도, 분해능, 선택성 등이 있다.
▷신호 처리기 (Signal Conditioner)
적합한 센서가 선택되었다면 센서의 출력 특성에 맞게 신호 처리를 해야 한다. 실제로 현장에서 다양한 노이즈가 존재하기 때문에 노이즈 제거를 위한 필터를 적용해야 하고 ADC에 적당한 신호레벨을 제공하기 위하여 신호를 증폭하거나 감소해야 한다.
K-type 열전대의 경우 동작범위는 -200~1,250℃이지만, 전 범위에서 선형적이지 않고 0~900℃ 범위에서 선형성이 높다. 이 범위의 평균 감도는 41.17uV/℃이다. 그리고 열전대 출력은 미소 전압이기 때문에 신호를 증폭해야 하고 0~5V 범위의 ADC를 사용할 경우 약 121배의 증폭을 통하여 5mV/℃로 변환해야 한다.
또한 열전대는 단자의 온도에 따라 측정값이 변하기 때문에 단자의 온도에 따른 냉접점 보상을 해야 한다. 이와 같이 센서의 신호 처리기는 정확한 데이터를 측정하기 위한 중요한 부분이라 할 수 있다.
▷ADC(Analog to Digital Converter)
신호 처리기에서 처리된 신호는 아날로그 신호이기 때문에 컴퓨터에서 데이터 처리가 가능하도록 디지털로 변환해야 하며 이를 ADC라 한다. ADC는 표본화(Sampling), 양자화(Quantization) 그리고 2진수 형태의 부호화(Coding) 과정을 거치는데 자세한 내용은 웹사이트를 참조 바란다. ADC를 선택할 경우 가장 중요한 것은 샘플링 속도 (Sampling Rate)와 분해능(Resolution)이다.
▷샘플링 속도
샘플링 속도란 아날로그 신호를 얼마나 빨리 디지털 신호로 변환할 수 있는지를 의미하는 것으로 10kS/s라 명시되었을 경우 초당 10,000개까지 신호를 변환할 수 있다는 의미이다. 이와 같이 신호 특성에 맞는 적당한 샘플링 속도를 선택해야 한다.
<표1>과 같이 100Hz의 사인파 형을 측정한다고 하면 샘플링 속도를 4배로 한 경우 삼각파로 측정되는 것을 볼 수 있으며, 이와 같이 왜곡되어 측정되는 경우를 앨리어싱 현상이라 한다. 이러한 앨리어싱이 발생하지 않으려면 최소 8배 이상의 샘플링 속도로 설정하는 것이 좋다. 물론 더 높은 샘플링 속도로 측정해도 되지만 샘플링 속도가 높을수록 ADC의 가격이 높아지고 또한 데이터 저장량이 증가하여 데이터 처리를 위한 양도 많아지기 때문에 높은 성능의 컴퓨터 시스템이 필요하게 된다.
▷분해능
분해능은 동작범위를 얼마나 정밀하게 나눌 수 있느냐 하는 척도이며, bit로 나타낸다. 예를 들어 입력범위가 0~5V이고 8bit의 ADC라고 하면, 0~5V 범위를 8 (28=256)bit로 나누면 분해능이 계산되는 식이다. <표1>에 bit별 분해능을 나타내었다. ADC의 입력전압이 5mV면 0V로 읽고, 19mV이면 19.61mV로 읽는다. 만약 입력 신호가 최소 5mV 단위로 읽어야 한다면 10bit 분해능을 갖는 ADC를 선택하면 된다. 또한 1mV 단위로 읽어야 한다면 12bit보다 큰 bit의 ADC를 선택해야 할 것이다.
■자체 제작 가능한 DAQ 시스템 개발 방법(온도 측정 예)
데이터 취득을 위한 DAQ 시스템은 대개 100만원 이상이며, 신호 처리기, ADC, 데이터 저장 등의 기능이 들어있는 데이터 로거 (Data-Logger)의 경우 1,000만원 이상의 고가가 일반적이며, 이는 제조현장에서 활용하기에 부담스러운 가격이다.
한편 최근에는 일반인들도 쉽게 활용할 수 있는 오픈소스 기반의 마이크로 컨트롤러인 아두이노 보드도 판매되고 있다. 이 보드는 코딩을 모르는 일반인들도 쉽게 배울 수 있고 아이디어만 있다면 쉽게 제작해 볼 수 있는 장점이 있다. 따라서 아두이노 보드를 활용하여 DAQ 제작이 가능하다. 본 고에서는 K-type 열전대 온도센서를 아두이노 보드를 활용하여 저렴한 가격의 DAQ를 개발할 수 있는 방법을 예시로 소개하고자 한다.
1)준비물
Arduino Uno 또는 Nano 1개, MAX31855 (열전대 온도 증폭기) 모듈 1개, 점퍼 와이어, K-type 열전대(총 5만원 이하)
2)배선
<그림1>과 같이 아두이노와 MAX31855를 점퍼 와이어로 배선한다(CLK->D3 / CS->D4/ DO->D5/ GND->GND/ Vin->5V).
3)코딩
아두이노 홈페이지(https://www.arduino.cc)에서 Arduino IDE(스케치) 최신 버전을 받아서 컴퓨터에 설치한다. 설치된 아두이노 스케치에서 라이브러리 포함하기 메뉴를 선택하고 라이브러리 관리를 선택한 다음 검색 창에 adafruit max31855를 검색하고 검색된 라이브러리를 설치하면 된다. 라이브러리를 설치하고 예제를 불러오면 기존 코딩이 보이고 약간의 수정만 하면 온도를 읽어 올 수 있다. 자세한 내용은 웹사이트를 참조한다.
4)Excel 파일로 저장하기
아두이노는 저장장치가 내장되어 있지 않기 때문에 아두이노의 USB Serial 통신을 이용하여 컴퓨터로 데이터를 보내고 컴퓨터는 이를 받아서 Excel 파일로 저장이 가능하다. 이를 위해서는 공개 소프트웨어인 PLX-DAQ 프로그램을 다운받고, 받아진 Excel 파일을 열면 Active-X 실행 창이 나타난다. 이때 실행 창에 통신포트와 통신속도를 설정한다.
다음으로 아두이노 코드에서 보내고자 하는 데이터를 Serial.print() 명령어 코드에 넣어주면 된다. 지면의 한계가 있어서 자세한 방법은 웹사이트를 참조하여 실습하기 바란다. 만들어진 DAQ로 기준이 되는 온도 측정기와 측정값을 비교하면서 위에서 설명한 센서의 특징을 이해하면 데이터 수집의 중요성을 이해하는데 도움이 될 것이다.
이러한 방식으로 제조공정의 중요 데이터 취득용 DAQ 시스템 구축의 예를 들었는데, 향후 값비싼 외산 장비 없이도 인공지능 기술 적용을 위한 데이터 취득 시스템 구축이 가능하다는 사실을 제시한다.
-------------------------------------------------------------------------------
※참조 웹사이트(Website)
▷센서의 종류와 특징
www.chip1stop.com/sp/knowledge/078_types-and-features-of-sensors_ko
▷ADC 변환과정
https://t-m.kostech.net/theory/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=6209547&t=board
▷열전대 값을 아두이노로 읽기 (Open Source)
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=roboholic84&logNo=220634267248
https://learn.adafruit.com/thermocouple/arduino-code
▷아두이노에서 취득한 데이터를 excel 파일로 저장
https://www.parallax.com/package/plx-daq/ (*PLX-DAQ download)
https://blog.naver.com/seoin915/221386226440
https://setoo0922.tistory.com/291
출처:http://www.amenews.kr/news/view.php?idx=50363