본문 바로가기
아두이노

자율주행 자동차로 CAD 및 Arduino를 사용한 엔지니어링에 대해 배우기

by 모빌리티키즈 2023. 12. 24.
728x90

안녕하세요! 

모빌리티키즈 입니다.

 

이번에는 Fusion 360을 활용하여 작은 자동차의 레이저 커팅과 3D 프린팅 부품을 설계하는 프로젝트 기반 강좌에 대해 알려드리겠습니다.

이 강좌는 학생들이 사용 가능한 도구를 기반으로 설계하는 방법을 배우고, 어려움이 발생할 때 창의적으로 문제를 해결할 수 있는 능력을 키우는 것에 초점을 맞추고 있습니다.

학생들은 이 프로젝트를 완료하는 데 1~2주(약 8시간의 작업 시간)가 소요될 수 있으며, 센서를 추가하고 센서 데이터를 제어에 활용하는 등의 선택적인 방법을 통해 프로젝트를 더 오래 진행할 수도 있습니다.

이 강좌는 선생님이 학생들을 지원하며 워크샵을 진행하고, 개인 학생들이 자신의 집에서도 이 프로젝트를 수행할 수 있도록 안내하는 데 도움을 주기 위해 작성되었습니다. 또한, 레이저 커터나 3D 프린터에 접근할 수 없는 경우를 대비해 대체 방법도 제시되어 있습니다.

이 강좌는 학생들이 흥미로운 부품을 활용하여 설계에 도전해보도록 권장합니다. 학생들이 작동 가능한 부품을 발견한다면(예를 들어, 컴퓨터 팬을 로봇에 부착하는 등), 그들의 창의성을 격려해야 합니다.

공학은 실험을 통해 배우는 것이며, 이 강좌는 CAD, 공학, 건축, 프로그래밍, 비판적 사고 등 다양한 영역에서 창의성을 발휘할 수 있도록 기본 개념을 제공하고자 합니다.

이 강좌는 어떤 수준의 학생이라도 수강할 수 있습니다. CAD나 프로그래밍을 이전에 해본 적이 없는 학생들은 조금 더 시간이 걸릴 수 있지만, 실제적인 경험을 통해 기본 개념을 배울 수 있을 것입니다.

이 강좌를 통해 학생들은 공학의 다양한 측면을 연습하고, CAD, 전자공학, 프로그래밍을 비롯한 다양한 분야를 조합하여 자율 주행 자동차를 만드는 방법에 대해 배우게 됩니다. 마감 기한을 맞추거나 다양한 도전 과제를 해결하기 위해 학생들은 창의적인 해결책을 찾아야 할 것입니다.

마지막으로, 이 강좌에서는 선택적인 도전 과제를 제공하여 학생들이 경쟁을 즐기도록 독려합니다. 일정이 허용된다면 로봇을 이용해 미로를 탐색하거나 로봇이 물 위를 이동할 수 있도록 만드는 등의 목표를 제시할 수 있습니다.

 

프로젝트 개요

이 프로젝트 기반 과정은 Fusion 360을 사용하여 소형차용 레이저 절단 및 3D 프린팅 부품용 설계를 만드는 것을 기반으로 합니다. 학생들은 딸꾹질이 발생할 때마다 창의력을 발휘하면서 사용 가능한 도구를 중심으로 디자인하는 방법을 배웁니다.

이 프로젝트는 학생들이 완료하는 데 1-2주가 소요될 수 있습니다(약 8시간 작업). 학생들이 센서를 추가하고 제어를 위해 센서 데이터를 사용하도록 하는 것과 같이 프로젝트를 더 오래 지속하기 위해 코스를 구축하는 몇 가지 선택적 방법이 있습니다.

 

프로젝트 철학

저는 시도하고 실패하고 다시 시도함으로써 배우는 것을 굳게 믿습니다. 이러한 방식으로 이 Instructable은 학생들이 이러한 워크숍을 할 수 있도록 돕고자 하는 교사를 안내하는 동시에 개별 학생이 레이저 절단기나 3D 프린터에 액세스할 수 없는 경우 수행할 수 있는 대안과 함께 자신의 집에서 이러한 프로젝트를 만들 수 있도록 하기 위한 것입니다.

가장 무작위적인 스크랩 부품으로 아이템을 만들어 본 사람으로서 저는 학생들이 흥미로운 부품을 중심으로 디자인을 시도하도록 권장합니다. 그들이 일을 할 수 있는 무언가를 찾으면(예를 들어, 로봇에 컴퓨터 팬을 부착하는 학생을 본 적이 있습니다) 창의력을 장려해야 합니다.

엔지니어링은 실험에 관한 것이며, 이 워크숍은 CAD, 엔지니어링, 건축, 프로그래밍 또는 비판적 사고에 관계없이 창의성을 발휘할 수 있는 많은 여지를 남기면서 기본 사항을 제공함으로써 이를 장려하기를 희망합니다.

 

이전 경험

이 과정은 모든 수준의 학생들이 수강할 수 있습니다. CAD나 프로그래밍을 해본 적이 없는 학생은 시간이 더 걸릴 수 있지만 실제로 학습하여 기초를 배울 수 있어야 합니다.

 

학습 목표

학생들은 엔지니어링의 여러 측면을 연습하고 CAD, 전자 및 프로그래밍에 대해 더 많이 배우고 자율 주행 자동차를 만들기 위해 이 모든 것을 결합합니다.

학생들은 마감일을 정하거나 다양한 문제를 해결하기 위해 창의력을 발휘해야 합니다.

 

코스 챌린지 (선택 사항)

제 경험에 비추어 볼 때, 학생들은 경쟁을 좋아합니다. 일정이 허락한다면 학생들에게 로봇으로 미로를 탐색하거나 로봇이 물을 횡단할 수 있도록 하는 것과 같이 노력할 목표(또는 여러 가지)를 제공하는 것을 좋아합니다.

 

공급

필요한 도구:

3D 프린터(옵션)

레이저 절단기(옵션, 대신 일반 프린터 사용 가능)

필요한 재료:

아두이노 우노

DC 모터

브레드보드

배터리 팩 및 배터리

전선

PNP 트랜지스터 또는 모터 컨트롤러

자동 귀환 제어 장치 (선택)

센서(옵션)

레이저 절단 가능 재료

3D 프린터 필라멘트

접착제

나사

1단계: 측정

많은 부품이 CAD에 있으면 매우 유용하며 이미 가지고 있는 부품을 중심으로 설계하는 방법에는 두 가지가 있습니다. 웹을 검색하여 부품 파일을 업로드하거나 몇 가지 신중한 측정을 수행한 후 부품의 형상을 근사화할 수 있습니다. 제 경우에는 서보의 크기를 직사각형 프리즘에 가깝게 만들었습니다.

부품이 얼마나 많은 공간을 차지하는지 측정하고 그에 맞게 설계하십시오(그래도 약간의 공차가 있어야 합니다!)

ServoApproximation+v1.f3d
0.05MB
yellow_toy_motor_dims+v1.f3d
0.13MB

2단계: 디자인

브레인스토밍 및 스케치

학생들에게 부품을 원하는 위치를 간단한 스케치로 그려 보라고 하세요. 부품을 손에 쥐고 로봇에 실려야 할 물건의 방향을 원하는 방식으로 지정하게 하세요.

로봇에 장착될 부품: Arduino UNO, 배터리 팩, 모터 2개, 브레드보드, 서보, 휠.

디자인 분리

학생들에게 디자인을 로봇 베이스, 로봇 벽, 모터 마운트 등과 같은 여러 부분으로 분리하게 하세요.

3단계: CAD의 기초

학생들이 어떤 부품을 만들어야 하는지 잘 알고 나면, 대부분의 부품이 참조할 부품을 디자인하는 것부터 시작하게 한다. 이 경우 베이스 플레이트입니다.

당신이 가지고 있는 것에 대한 아이디어

학생들이 부품이 무엇으로 만들어질지 또는 어떤 제조 방법에 대해 잘 알고 있는지 확인하십시오. 레이저 절단을 위한 설계는 레이저 절단을 위한 설계와 매우 다릅니다. 일반적으로 레이저 절단은 빠르고 정확하며 큰 조각에 적합하지만 2차원의 단순한 물체만 절단할 수 있습니다. 3D 프린팅은 느리지만 정밀도가 높으며 플라스틱으로 거의 모든 부품을 만들 수 있습니다.

학생들에게 어떤 연결 방법을 사용할 수 있는지 잘 알려 준다. 제 경우에는 뜨거운 접착제와 나사와 너트를 사용했습니다. 덕트 테이프로 창의력을 발휘하는 것도 예를 들어 힌지 또는 플랩 메커니즘을 수행할 수 있는 일부 작업을 본 적이 있는 유효한 방법입니다.

간단한 디자인 팁

Fusion 360에서 무언가를 설계하는 일반적인 공식은 스케치를 작성하고(새 프로젝트를 시작할 때 왼쪽 위 모서리) 다양한 스케치 도구를 사용하여 쉐이프를 그린 다음 부품을 돌출시키는 것입니다. 사용하려는 재료와 같은 두께로 압출하는 것이 좋습니다. 제 경우에는 1/4인치 두께의 합판을 사용했기 때문에 부품을 0.25인치 압출했습니다.

ElectronicsBase+v4.f3d
0.05MB

4단계: 복잡한 부품에 대한 CAD

일부 부품은 CAD하기 어려울 수 있습니다. 부품 주변에 모터 마운트를 설계했지만 실제 환경에서 작동할 수 있는지 확인해야 했기 때문에 관련 부품을 참조하는 것이 중요했습니다.

스케치에서 P를 누르는 유용한 도구는 파트의 형상을 스케치에 투영할 수 있는 것입니다. 그림에 부분의 그림자를 드리우는 것과 같다고 생각하십시오.

학생들에게 복잡한 부품을 설계하고 3D 프린팅이 불가능할 수 있는 경우 도움을 주고, 돌출부를 최소화하고 조각을 분리하는 등 명심해야 할 몇 가지 좋은 사항을 가르치게 합니다.

학생들이 부품을 물체에 조립/부착하는 방법도 시각화하게 하세요. 예를 들어, 설계된 모터 마운트가 반으로 분할되지 않으면 모터를 부품에 맞추기 어려울 수 있습니다. 내가 취한 해결책은 부품을 반으로 나누는 것이었지만 가능한 해결책은 차축 위치 위의 일부 재료를 제거하여 위에서 배치할 수 있도록 하는 것이었을 수 있습니다.

FH5VACHLQDSC5A3.f3d
0.13MB
MotorMount+v6.f3z
0.29MB

5단계: 모델 조합

테스트 적합

CAD에서 부품을 조립하고 테스트하는 것이 중요합니다. 모델에 겹치는 부분이 있는 경우 일부 항목을 다시 설계해야 하는 문제입니다.

어셈블리는 다른 부품을 참조하는 데에도 유용합니다.

유용한 팁은 다른 파트를 추가할 때 현재 파트의 참조를 기반으로 추가된 파트를 수정하려는 경우 해당 파트를 마우스 오른쪽 버튼으로 클릭하고 '링크 끊기'를 하면 나중에 자유롭게 수정할 수 있다는 것입니다.

움직이는 파트에 대한 팁은 툴바의 조립 섹션에 있는 '조인트' 도구를 사용하여 파트를 함께 스냅하는 것입니다. 더 쉽게, 파트를 마우스 오른쪽 버튼으로 클릭할 수 있으며, '이동/복사'를 선택하여 파트를 이동할 수 있습니다.

부품은 어떻게 결합됩니까?

부품이 실제 세계에서 만들어지면 어떻게 결합되는지 잘 알고 있는지 확인하십시오. 제 경우에는 레이저 절단 부품이 서로 끼워질 수 있도록 슬롯을 만들었고, 3D 프린팅을 계획하고 있는 모터 마운트에 나사가 통과할 수 있는 구멍을 추가하고 반대쪽의 너트로 조입니다.

이러한 연결을 허용하기 위해 베이스 플레이트를 수정해야 했습니다.

Assembly+v4 (1).f3z
0.90MB
Walls+v10 (1).f3z
0.77MB

6단계: 반복 후 제작

반복

학생들이 돌아가서 부품을 다시 만들도록 하십시오. 교사는 디자인 검토를 수행하거나 학생들이 서로의 디자인을 검토하고 문제를 찾도록 선택할 수 있습니다.

몇 가지 일반적인 디자인 문제: 부품이 겹치거나 실제 생활에 맞지 않습니다. 부품이 최종 위치에 맞지만 해당 위치에 도달하는 것은 불가능합니다. 부품을 제작하는 것은 비현실적입니다. 파트에는 베이스 또는 다른 파트에 맞추기 위한 계획된 방법이 없습니다.

 

조작

이 부분은 사용 가능한 도구에 따라 다르게 수행할 수 있습니다.

플랫 파트의 경우 스케치에서 DXF 파일을 내보낼 수 있습니다. 가장 쉬운 방법은 P를 누르고 윗면의 전체 형상을 투영한 다음 왼쪽과 오른쪽 스케치를 클릭하고 DXF로 내보내는 브라우저의 검색기에서 스케치를 찾는 것입니다.

DXF는 부품을 레이저로 절단하는 데 사용할 수 있습니다. 또는 일반 프린터에서 인쇄하고 판지/폼코어에 접착하고 X-acto 나이프로 잘라낼 수 있습니다.

STL, STEP, 3mf 파일은 부품에서 내보낼 수 있습니다. 하나의 스케치에 내보내려는 부품이 여러 개 있는 경우 검색기로 이동하여 원하는 부품만 표시될 때까지 모든 구성요소/본체를 숨긴 다음 내보냅니다. 모든 부품에 대해 반복합니다. 이러한 부품은 3D 프린팅해야 할 가능성이 높습니다. 접근할 수 없는 경우 학생들에게 미리 알려 절단 제조 방법을 중심으로 설계하고 엄격하게 평평한 부품을 설계할 수 있도록 합니다.

7단계: 조립

학생들에게 모델을 조립하게 하세요. 제 경우에는 서보 모터에 문제가 있다는 것을 알았으므로 대신 다른 서보 모터를 핫 접착제로 사용하기로 결정했습니다. 내 나무 부품도 각각의 조인트에 붙이고 모터 마운트를 플레이트에 나사로 고정했습니다.

8단계: 전자 제품

모터를 제어하기 위해 두 개의 PNP 트랜지스터를 스위치로 사용했습니다. 본질적으로 그들이 하는 일은 왼쪽 리드이고 오른쪽 리드는 트랜지스터의 중간 리드에 전원이 공급될 때까지 연결되지 않습니다. Arduino를 통해 전원이 공급됩니다.

서보 모터는 전원, 접지 및 제어와 함께 Arduino의 데이터 핀 중 하나에 연결됩니다.

교사는 센서, 모터 컨트롤러 등을 추가하는 등 코스에서 이 부분을 더 강조할 수 있습니다.

이 전류 설정에서는 모터가 약 5V의 전력만 공급받기 때문에 매우 빠르게 작동하지 않습니다. 해결책은 9V 전원 클립과 같은 더 높은 전압을 사용하고 해당 전원을 모터에 연결하는 것입니다.

9단계: 프로그래밍

Arduino용 프로그래밍은 설정과 루프의 두 부분으로 구성됩니다. 서보, 첫 번째 모터 및 두 번째 모터를 각각 제어하기 위해 핀 9,10,11을 정의합니다.

코드 분석

모터를 보다 쉽게 제어할 수 있는 몇 가지 기능을 만들었습니다. 호출되면 신호가 트랜지스터로 전송되어 스위치를 닫고 모터에 전원을 공급할 수 있습니다. 이런 식으로 로봇의 움직임을 제어할 수 있습니다.

서보는 각도에 따라 회전할 수 있으며, 이를 위한 기능도 만들었습니다.

루프에서 로봇이 모터를 움직이는 것과 같은 작업을 수행하도록하고, 지연 (밀리 초)하여 해당 시간 동안 해당 작업을 수행하도록합니다. 루프가 끝나면 기본적으로 코드를 한 번 실행하기 위해 매우 오랜 시간 동안 지연됩니다.

 

교사로서 이 부분은 추가로 확장될 수 있으며, 몇 가지 제안은 학생들이 로봇이 코스를 횡단하고 서보 모터로 다양한 작업을 수행해야 하는 코딩 대회입니다. 이전 단계에서 센서가 통합된 경우 거리 센서 또는 엔코더와 같은 센서 정보는 로봇을 보다 흥미롭고 자율적으로 만드는 데 도움이 될 수 있습니다.

carCode.ino
0.00MB

728x90