2019. 8. 19. 23:55ㆍ공대남편/3D프린터개발산업기사
3D프린터개발산업기사 필기 시험의 각 과목에 대해 학습한 내용을 정리하였으며, 이와 관련된 기출문제 몇가지 풀이를 마지막에 정리하였습니다.
제어 프로그램 개발
제어프로그램 개발계획 수립
1. 3D프린터 제어 흐름도
(1) 3D CAD 모델 : 3차원 모델링된 CAD 파일을 변환하기 위해 읽어 들이는 과정. (STL 파일 형식을 많이 사용한다.)
(2) 슬라이싱 파일 생성 : CAD 파일을 실제 구현할 두께로 한층씩 나누는 과정.
(3) 툴패스 생성 : 슬라이싱된 각 층의 형상을 노즐에서 나오는 재료를 점과 선으로 채우는 과정.
(4) 제어 코드 생성 : 툴패스를 따라 노즐이 이동할 수 있도록 명령어를 생성하는 과정. (g code를 표준으로 사요한다.)
(5) 제어 코드 전송 : gcode로 된 제어 명령 코드를 프린터로 전송하는 과정.
(6) 제어 코드 저장 및 시스템 초기화 : 프로그램 수행을 위한 환경 셋업 과정.
(7) 제어 코드 명령어 수행 : 제어 명령어 코드에 따라 재료를 분사하는 과정.
(8) 시스템 상태 모니터링 : 제어 상태 데이터를 PC로 전송하여 모니터링하는 과정.
제어프로그램 개발
1. 컨트롤 보드
(1) I/O 포트 : 전기 신호의 기본 동작인 On/Off 기능을 구현하는 포트이다. 입출력뿐만 아니라 ADC, Timer, Interrupt 등의 대부분의 기능을 겸한다.
(2) A/D 포트 : 연속적인 아날로그 신호를 디지털 신호로 변환시킬 수 있는 포트이다. ADC의 성능은 Sampling Frequency와 Resolution bit로 나뉜다. (Atmega328P 분해능은 10bit. 0~1023의 값을 읽는다.)
(3) PWM 포트 : 0과 1의 디지털 출력으로 아날로그인 것처럼 출력할 수 있는 포트이다. (0~255의 값을 출력한다.)
2. 스테핑 모터
- 회전축에 부착된 로터와 회전축을 둘러싼 스테이터로 구성된다.
3. 모터 드라이버
- 모터의 움직임을 제어해주는 전자부품이다. (서보 모터는 자체적으로 모터 드라이버가 내장되어 있다.)
4. 온도 센서
(1) 접촉식 : 온도 측정점의 열전도를 통해 센서가 온도를 인식한다.
(2) 비접촉식 : 온도 측정점의 열방사를 통해 센서가 온도를 인식한다.
5. 리미트 스위치
- 3D 프린터가 축이동을 할 때 한계점을 넘어 가는 것을 방지한다.
제어프로그램 검증
1. G 코드
(1) G0, G1 : 이송 명령어. G0는 빠른 이송, G1은 선형 이송(일반 속도)
(2) G2, G3 : 원형 보간. G2는 시계 방향, G3은 반시계 방향 이송
(3) G4 : 일시 정지. Pxx는 milliseconds 설정.
(4) G10, G11 : 필라멘트 회수 및 투입.
(5) G28 : 홈 위치로 이동.
(6) G90, G91 : G90은 절대좌표, G91은 상대 좌표로 작동.
(7) G92 : 새로운 좌표 지점으로 절대 좌표값을 수정한다.
(8) M104 : 노즐 온도. Sxx로 온도값 설정.
(9) M140 : 베드 온도 설정. Sxx로 온도값 설정.
2. 시리얼 통신
- 직렬 통신으로, 통신 채널을 거쳐 한 번에 하나의 비트(bit) 단위로 데이터를 전송한다.
- 비동기식 전송과 동기식 전송이 있다.
- 통신 속도에는 bps(Bit Per Second)와 보레이트(Baud rate)가 있다.
응용 소프트웨어 개발
프로그램 호환성 검토
1. 프로그래밍 언어
(1) 컴파일러 : 고급 언어로 작성된 것을 컴퓨터가 이해할 수 있는 언어로 변환하는 프로그램.
(2) 기계어(1세대 언어) : 컴퓨터가 이해하고 수행하는 언어로, 0과 1로 이루어진 명령어.
(3) 어셈블리어(2세대 언어) : 기계어를 인간이 사용하기에 난해하여 이를 보완하기 위해 개발된 언어이다. 기계어와 명령어가 1:1로 대응되는 단어로 구성되어 있으며, 기호 언어라고도 불린다.
(4) 3세대 언어 : PORTRAN, COBOL
(5) 인공지능 언어 : PLOROG, LISP
(6) 고급 언어 : 인간이 이해하고 사용하기 적합하게 개발된 프로그래밍 언어이다. C, C++ 등이 있다.
2. 고급 언어의 종류
(1) FORTRAN : Formular+Translator의 약자이다. 과학 계산용으로 사용하는 언어이다.
(2) COBOL : Common Business Oriented Language의 약자이다. 사무 처리용으로 만들어진 언어이다.
(3) ALGOL : Algorithmic Language의 약자이다. 과학 기술 계산용 프로그래밍 언어이다.
(4) PASCAL : ALGOL을 모티브로 개발되어, 블록 구조 및 유용성이 큰 제어문 등의 기능, 자료를 구조화하고 압축하는 기능을 보완한 언어이다.
(5) Java : 객체 지향 언어로서 인터넷 웹페이지 상에서 실행이 가능하다. (특징: 단순성, 객체 지향 언어, 보안성, 이식성)
3. C언어
(1) 특징 : 간결성, 효율성, 고수준의 프로그래밍도 가능, 이식성
(2) 단점 : 초보자가 배우기 어렵다.
(3) C++ : 기존의 C언어를 유지하면서 객체 지향적인 특징들을 추가한 언어로, C언어의 상위 집합이다.
4. 임베디드 시스템
- 하나 또는 다수의 작업을 수행하거나 제품 내 특별한 작업을 수행하는 솔루션.
5. 알고리즘
- 주어진 문제를 해결하기 위해 명확하고 구체적으로 정의된 규칙과 절차를 기술한 것, 한정된 규칙을 적용하여 문제를 해결하는 것.
6. 프로그램 개발 과정
- 요구 사항 분석 → 알고리즘 개발 → 소스 작성 → 컴파일과 링크 → 실행과 디버깅 → 유지 보수
7. 운영 체제 (OS)
- 컴퓨터 자원 관리 및 하드웨어와 응용 프로그램 간의 인터페이스 역할을 하는 것.
- UNIX, Linux, MS-DOS, Android, OSX, Windows 등
8. 오픈 소스
- 하드웨어 및 소프트웨어를 개발한 개발자의 권리를 지키면서 원시 코드를 누구나 열람하여 사용 가능할 수 있도록한 소스. 자유롭게 사용, 복사, 배포, 수정이 가능한 애플리케이션으로 자유 소프트웨어를 포함한 넓은 개념.
사용자인터페이스 프로그램 개발
1. 플라스틱 소재
(1) ABS : 가전 제품이나 잡화에서 쓰이는 플라스틱 재료, 색상이 다양하며 가격이 저렴함, 히팅 베드가 아니면 출력물이 바닥에 접착이 되지 않음, 플라스틱 타는 냄새가 남, 수축현상이 발생함, 아세톤 열기로 후가공이 가능함.
(2) PLA : 친환경 플라스틱 재료, 냄새가 거의 나지 않음, 히팅 베드가 없어도 접착이 잘됨, 수축에 강함, 단단하고 부러지기 쉬우며 수분에 민감함, 후가공이 어려움.
CAM 시뮬레이션(적층 시뮬레이션)
1. CAD
- 설계 단계에서 주로 사용되며, 도면을 작성 또는 수정하는 작업을 한다.
2. CAM
- 제조 단계에서 사용되며, 컴퓨터를 이용하여 제조 공정을 하는 것으로 생산성을 향상시킨다.
2019년 3D프린터개발산업기사 필기 기출문제 풀이
41. 베드 온도를 60도로 설정하고 제어권을 즉시 호스트로 넘기는 명령어는?
① M109 S60
② M140 S60
③ M141 S60
④ M109 S60 R100
(M109 : 익스트루더 온도 설정, M141 : 챔버 온도 설정)
45. 아래의 프로그램(O0100)에서 보조프로그램(O2500)이 몇 번 반복되는가?
O0100;
G90G80G40G49G00;
T10M06;
G57G90X-5.00Y-5.00S2500M03;
G43Z50.0H10;
Z5.0M08;
M98P2500L5;
M98P1111;
G80G00Z50.0;
G91G28Z0;
M30;
O2500;
M98P1111;
G91X110.0Y-10.0L0;
G90M99;
① 1회
② 3회
③ 5회
④ 8회
M98 : 보조 프로그램 호출 코드
M98 P2500 L5 : 프로그램 번호 '2500'을 '5'회 반복한다.
48. I/O 포트의 구동 원리로 옳은 것은?
① 전자 회로에서 전기 신호의 기본적인 동작인 On/Off 기능을 구현하는 포트이다.
② AVR MCU의 ADC는 기본 전압을 내부에서 사용되는 기준 전압으로 변환하여 작동되는 포트이다.
(ADC는 연속적으로 측정되는 수치를 전압의 세기로 변환시켜 기준 전압에 의해 일정 범위의 디지털 값으로 변경한 수치를 입력 받는다.)
③ 펄스폭 변조를 발생시켜 0과 1의 디지털 신호를 아날로그 신호인 것처럼 출력하는 포트이다.
(PWM 포트에 대한 설명이다.)
④ 기준 전압에 의해 일정 범위의 디지털 값으로 변경한 수치를 입력 받는 포트이다.
(A/D포트에 대한 설명이다.)
52. PWM 제어는 디지털 신호 상태의 지속 시간을 변화시켜 전압을 변환하며 전압 5V, 지원 포트(핀) DP 256개(0부터 255까지)의 범위 값을 출력할 수 있다. 다음 analogWrite함수에서 출력 전압은?
analogWrite(3, 255*0.15)
① 0.75
② 15
③ 38
④ 38.25
(출력 전압 = (255*0.15)/255*5 = 0.15 * 5 = 0.75)
53. 원시 프로그램을 다른 기계에 적합한 기계어로 번역하는 프로그래밍 언어는?
① 어셈블리어
(기계어를 인간이 사용하기에 난해하여 보완된 언어)
② 인터프리터
(고급언어로 작성된 원시코드 명령문들을 한 번에 한 줄씩 읽어드려 실행하는 프로그램)
③ 프리프로세서
(컴파일보다 먼저 실행되어 미리 처리하는 프로그램으로 매크로 확장, 기호 변환 등의 작업을 수행하는 것)
④ 크로스 컴파일러
55. 다음 프로그램 개발과정에서 (가)에 들어갈 내용으로 적절한 것은?
[소스코드(test.c)] → [오브젝트파일(test.obj)] → [ (가) ] → [실행파일(test.exe)]
① 링커(Linker)
② 에디터(Editer)
③ 실행(Execution)
④ 컴파일러(Compiler)
(여러 개의 소스 파일로 구성된 프로그램의 경우 각각의 파일을 따로 컴파일한 후 링커를 통해 결합한다.)
56. 자바와 자바스크립트의 차이에 대한 설명으로 옳은 것은?
① 자바스크립트는 상속성이나 클래스가 존재한다.
(자바스크립트는 상속성이나 클래스가 존재하지 않는다.)
② 객체에 대한 참조가 자바스크립트는 실행시에만 가능하지만 자바는 컴파일 시에 객체에 대한 참조가 이루어진다.
③ 두 언어 모두 안전하지만 자바스크립트의 경우 HTML 코드에 직접 연결하여 사용하기에 보안성이 있다.
(자바스크립트는 HTML 코드에 직접 연결하여 사용하기에 보안성이 없다.)
④ 자바언어로 작성된 프로그램은 특정 머신(기종)에 의존적으로 실행된다.
(자바는 이식성이 우수하여 다양한 운영 체제 및 CPU에서도 같은 코드를 사용해도 무방하다.)
60. 다음 G코드 내용의 의미가 틀린 것은?
① POOOO : 보조 프로그램 번호
② M98 : 보조 프로그램 호출 코드
③ F△△△△ : 이송 속도
④ P□□□□ ○○○○ : Fanuc 1 시리즈 호출 방식
(Fanuc 0 시리즈의 호출 방식, P○○○○ L□□□□은 Fanuc 0 시리즈 이외의 호출 방식)
'공대남편 > 3D프린터개발산업기사' 카테고리의 다른 글
[3D프린터개발산업기사 실기] 시험 개요 (0) | 2019.08.21 |
---|---|
[3D프린터개발산업기사 필기] 3D프린터 교정 및 유지보수 (0) | 2019.08.20 |
[3D프린터개발산업기사 필기] 3D 프린터 장치 (0) | 2019.08.14 |
[3D프린터개발산업기사 필기] 3D프린터 회로 및 기구 (0) | 2019.08.12 |
2019년 정기 4회 3D프린터개발산업기사 요약 (0) | 2019.08.11 |