산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

부품 및 소모품

부품 수량
아두이노 듀 (Arduino Due) 1
HC-06 블루투스 모듈 1
LPD8806 LED RGB 스트립 IP20 60 LEDs/m - 30 ICs/m (1m) 1
가변 출력 리니어 레귤레이터 (LM317 등) 1
TI 범용 듀얼 오피앰프 1
저항 20kΩ 3
저항 220Ω 1
저항 1kΩ 2
범용 NPN 트랜지스터 1
커패시터 1000µF 1
커패시터 100nF 1
커패시터 1µF 1
저항 240Ω 1
트리밍 저항 1kΩ 1
IR 송신기 (일반) 1
IR 수신기 (일반) 1
브레드보드 (일반) 1
스티로폼 실린더 (직경 20cm, 높이 10cm) 2
전기 모터 12V, XDRIVE 545-1 1
크라운 기어 60T 8mm 1
크라운 기어 12T 3.2mm 1
타이밍 벨트 80T 6×200mm 1
나사봉 M8 125mm 3
나사봉 M8 330mm (축용) 1
컨택트 링 ASL9017 1
접착 테이프 (검정, 48mm) 1
합판 디스크 (Ø150mm, 두께 10mm) 2
알루미늄 디스크 (Ø200mm, 두께 2.5mm) 2

필요한 도구 및 장비

앱 및 온라인 서비스

프로젝트 소개

개요

이것은 저의 첫 번째 아두이노 프로젝트입니다. 여러 메이커들의 POV(Persistence of Vision, 잔상 효과) 디스플레이 프로젝트[2,3,4]에서 영감을 받았습니다.

잔상 효과(POV)는 여러 개의 개별 이미지가 인간의 마음속에서 하나의 이미지로 합쳐져 보이는 광학적 착시 현상으로, 영화와 애니메이션의 동작 지각 원리로 알려져 있습니다[1].

참고 프로젝트들은 개별 LED와 시프트 레지스터를 사용한 POV 글로브 디스플레이를 구현했지만, 본 장치는 회전하는 실린더와 기성품 RGB LED 스트립을 POV 디스플레이로 사용합니다.

주요 특징

기술 사양

기계적 구조

기계적 구조는 아래 도면과 같습니다.

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

장치는 섀시와 로터로 구성됩니다. 섀시는 세 개의 나사봉으로 연결된 두 개의 원형 합판 디스크로 이루어져 있으며, 디스크 간 거리는 120mm입니다. 중앙에는 두 개의 볼 베어링과 축이 있습니다. 축 역시 나사봉을 사용하며, 두 개의 크라운 기어와 타이밍 벨트를 통해 전기 모터로 구동됩니다. 회전 속도는 최대 1300 RPM (22Hz)입니다.

로터는 두 개의 스티로폼 실린더와 두 개의 원형 알루미늄 디스크로 구성됩니다. 스티로폼 실린더는 하부 디스크에 접착되고, 상부 디스크는 탈착 가능하며 축에 로터를 고정하는 데 사용됩니다.

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

전자 회로는 로터 상부에 위치하며 다음을 포함합니다:

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

전원(7.5V)은 슬라이딩 컨택트와 컨택트 링을 통해 전원 공급 보드로 공급됩니다.

총 40개의 RGB LED를 가진 4개의 LED 스트립이 사용되며, 아두이노 실드에 케이블로 연결됩니다.

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

4개의 LED 스트립은 아래 도면과 같이 배치됩니다. 4개의 어긋난 LED 스트립을 사용함으로써 Y축 방향의 LED 간격이 4분의 1로 줄어듭니다. X축 간격은 소프트웨어로 처리합니다. 소프트웨어는 회전당 151회 모든 40개 LED를 업데이트합니다. 도면의 격자는 보이는 픽셀에 해당합니다.

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

전자 회로

전자 회로는 첨부된 PDF 회로도에 나와 있습니다.

LM317 전압 레귤레이터가 있는 전원 공급 보드가 있습니다. 입력 전압은 7.5V, 출력 전압은 4.6V입니다. 레귤레이터는 아두이노 듀 보드와 LED 스트립에 전원을 공급합니다.

아두이노용 자작 실드도 있습니다. LED 스트립용 커넥터 케이블과 IR 수신기 회로가 포함되어 있습니다. IR 수신기는 로터 위치를 감지하는 데 사용되며 아두이노의 타이머/인터럽트 입력에 연결됩니다.

STRIP0부터 STRIP3까지 네 개의 LED 스트립이 있습니다. 각 스트립은 5개의 LPD8806 LED 드라이버와 10개의 RGB LED를 가집니다. STRIP0은 USART0에, STRIP1은 USART1에 연결되며 둘 다 SPI 모드로 동작합니다. STRIP2와 STRIP3은 직렬로 연결되어 아두이노의 SPI 인터페이스로 구동됩니다.

PC와의 통신을 위해 HC-06 블루투스 모듈이 USART3에 연결됩니다. 블루투스 모듈은 아두이노 보드에서 제공하는 3.3V로 구동됩니다.

아두이노 소프트웨어

아두이노 소프트웨어는 메인 프로그램(mpc.ino)과 다음 라이브러리로 구성됩니다:

이미지의 LED 스트립 주기적 출력은 인터럽트 방식으로 수행됩니다. 두 개의 토글 프레임 버퍼가 있습니다. 각 프레임 버퍼는 40 × 151 픽셀의 이미지 하나를 저장하며, 각 픽셀은 1바이트 컬러 팔레트 인덱스입니다. 한 프레임 버퍼가 인터럽트와 DMA를 통해 LED 스트립으로 출력되는 동안, 다른 프레임 버퍼는 메인 프로그램에서 준비됩니다(예: GIF 이미지 디코딩 함수에 의해). 프레임 버퍼 토글은 프레임 인터럽트 루틴에서 수행됩니다.

IR 센서에 의해 회전당 하나의 프레임 인터럽트가 발생합니다. 프레임 인터럽트 루틴은 하드웨어 타이머를 통해 회전 속도를 측정하고, 하드웨어 타이머로 주기적인 컬럼 인터럽트(회전당 150개 인터럽트, 즉 컬럼당 하나)를 프로그래밍합니다. 컬럼 인터럽트 루틴은 현재 컬럼을 LED 스트립으로 출력합니다. 성능을 위해 출력은 완전히 병렬로 동작하는 세 개의 DMA 채널을 통해 수행됩니다.

전체 아두이노 소스 코드는 GitHub에서 확인할 수 있습니다.

PC 제어 프로그램

PC 제어 프로그램(pccp)은 C++로 작성된 명령줄 도구로, Cygwin에서 실행되며 블루투스를 통해 아두이노와 통신합니다. pccp는 다음 단일 문자 명령으로 POV 실린더를 제어할 수 있습니다:

pccp는 그래픽 사용자 인터페이스와의 인터페이스도 제공하며, 현재 회전 속도(Hz 및 µs)와 프레임 카운터 값을 표시합니다.

전체 소스 코드는 GitHub에서 확인할 수 있습니다.

그래픽 사용자 인터페이스

그래픽 사용자 인터페이스는 유니버설 윈도우 앱입니다. POV 실린더에 표시할 GIF 파일을 선택할 수 있습니다. 이 앱은 "Microsoft Windows Universal Samples"[5]의 FilePicker 앱에서 파생되었습니다.

아두이노 듀로 만드는 멋진 POV 실린더 – 단계별 제작 가이드

전체 소스 코드는 GitHub에서 확인할 수 있습니다.

참고 자료

  1. https://en.wikipedia.org/wiki/Persistence_of_vision
  2. RGB LED GLOBE - POV - 40 x 200
  3. POV Globe Display RGB
  4. POV Globe Display RGB - 프로젝트 설명 (독일어)
  5. https://github.com/Microsoft/Windows-universal-samples

소스 코드

회로도

회로도 파일이 첨부되어 있습니다.

제조공정

  1. 아두이노 POV 클락: 퍼시스턴스 오브 비전 LED 디스플레이 제작
  2. 아두이노 나노와 노키아 5110 LCD로 20kHz 오실로스코프 만들기: 쉬운 DIY 가이드
  3. 스마트 블라인드: 아두이노와 태양광으로 자동 조명 제어
  4. 아두이노 듀(Due) 터치스크린으로 만드는 틱택토(Tic-Tac-Toe) 게임
  5. 스마트 저금통 만들기: 아두이노 나노로 동전 인식기 제어하기
  6. 이탈리안 워드 클럭(Word Clock) 제작: 아두이노 나노 + 네오픽셀 + LCD + RTC
  7. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  8. 아두이노로 간단한 장애물 센서 만들기 - IR LED & 포토다이오드 튜토리얼
  9. 아두이노 MKR Fox 1200으로 신뢰성 높은 시그폭스 kWh 미터 만들기
  10. 아두이노용 절연 아날로그 입력 회로 만들기