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

Arduino Due가 있는 POV 실린더

구성품 및 소모품

Arduino Due
× 1
출력 조절이 가능한 선형 조정기
× 1
Texas Instruments 범용 이중 연산 증폭기
× 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
크라운 기어 60 T 8 MM
× 1
크라운 기어 12 T, 3.2MM
× 1
톱니가 있는 벨트, 80T, 6 x 200MM
× 1
나사형 바, M8, 125mm
× 3
나사형 바, M8, 330mm
샤프트로 사용
× 1
컨택트 링 ASL9017
× 1
접착 테이프(검정색, 48mm)
로터에 고정하는 데 사용
× 1
합판 디스크(Ø 150mm, 두께:10mm)
× 2
알루미늄 디스크(Ø 200mm, 두께:2.5mm)
× 2

필요한 도구 및 기계

납땜 인두(일반)
스크롤 톱(일반)
벤치 드릴(일반)
실험실 전원 공급 장치(일반)
Windows 10이 설치된 노트북(일반)

앱 및 온라인 서비스

Microchip Technology Microchip Studio
Arduino SW 개발에 사용
Arduino IDE
Atmel Studio IDE의 대안으로 사용 가능
Cygwin
Cygwin은 Windows의 Linux 배포와 유사한 기능을 제공합니다. PC 제어 프로그램에 사용됩니다.
Microsoft Visual Studio 2015
그래픽 사용자 인터페이스에 사용됩니다.

이 프로젝트 정보

소개

이것은 나의 첫 번째 Arduino 프로젝트입니다. 내 작업은 Persistence of Vision Display[2,3,4]를 만든 여러 제작자 프로젝트에서 영감을 받았습니다.

시력의 지속성 (POV)는 여러 개의 개별 이미지가 인간의 마음 속에서 단일 이미지로 혼합되는 착시를 의미하며 영화 및 애니메이션 영화에서 모션 인식에 대한 설명으로 여겨집니다[1].

프로젝트 [2,3,4]는 개별 LED와 개별 시프트 레지스터를 사용하여 POV 글로브 디스플레이를 구현합니다. 대신 내 장치는 회전하는 실린더와 기성품 RGB LED 스트립을 POV 디스플레이로 사용하고 있습니다.

내 POV 실린더의 주요 기능은 다음과 같습니다.

<울>
  • POV(시력 지속) 디스플레이
  • <울>
  • 회전하는 실린더에 애니메이션 GIF 사진을 표시합니다.
  • <울>
  • GIF 사진은 Arduino의 RAM 또는 플래시에 저장됩니다.
  • <울>
  • 블루투스를 통한 PC와의 통신
  • 기술 개요

    <울>
  • 실린더 직경:200mm
  • <울>
  • 실린더 높이:200mm
  • <울>
  • 실린더 재질:스티로폼
  • <울>
  • 실린더 무게:420g
  • <울>
  • LPD8806 기반 RGB LED 스트립 4개
  • <울>
  • 화면 크기 151 x 40픽셀
  • <울>
  • Arduino Due 기반
  • <울>
  • HC06 블루투스 모듈 포함
  • <울>
  • PC에서 블루투스를 통해 제어
  • 기계 건축

    기계적 구성은 아래 그림과 같습니다.

    이 장치는 섀시와 로터로 구성됩니다. 섀시는 3개의 나사산 막대를 통해 연결된 2개의 원형 합판 디스크로 구성됩니다. 디스크 사이의 거리는 120mm입니다. 중간에는 두 개의 볼 베어링과 샤프트가 있습니다. 샤프트의 경우에도 나사산 막대가 사용됩니다. 샤프트는 2개의 크라운 기어와 톱니 벨트를 통해 전기 모터로 구동됩니다. 회전 속도는 최대 1300RPM(22Hz)입니다.

    로터는 2개의 스티로폼 실린더와 2개의 원형 알루미늄 디스크로 구성됩니다. 스티로폼 실린더는 하부 디스크에 접착되어 있습니다. 상단 디스크를 제거할 수 있습니다. 로터를 샤프트에 부착하는 데 사용됩니다.

    전자 장치는 로터의 상부에 있습니다. 여기에는 다음과 같은 부분이 포함됩니다.

    <울>
  • Arduino Due 보드
  • <울>
  • Arduino Due 보드용 자체 제작 쉴드
  • <울>
  • 전원 공급 장치(PS) 보드
  • <울>
  • HC-06 블루투스 모듈
  • 전원 공급 장치(7.5V)는 슬라이딩 접점과 접점 링을 통해 전원 공급 장치 보드에 공급됩니다.

    총 40개의 RBG LED가 있는 4개의 LED 스트립이 사용됩니다. 아두이노 쉴드에 케이블로 연결되어 있습니다.

    4개의 LED 스트라이프가 아래 그림과 같이 배치됩니다. 4개의 이동된 LED 스트라이프를 사용하여 LED 사이의 Y축 거리를 4로 나눕니다. X축의 거리는 SW에서 처리합니다. SW는 회전당 40개의 모든 LED를 151번 업데이트합니다. 그림의 격자는 보이는 픽셀에 해당합니다.

    전자 회로

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

    LM317 전압 조정기가 있는 전원 공급 장치 보드가 있습니다. 입력 전압은 7.5V이고 출력 전압은 4.6V입니다. 전압 조정기는 Arduino Due 보드와 LED 스트립을 공급합니다.

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

    STRIP0에서 STRIP3까지 4개의 LED 스트립이 있습니다. 각 스트립에는 5개의 LPD8806 LED 드라이버와 10개의 RBG LED가 있습니다. STRIP0은 USART0에 연결되고 STRIP1은 USART1에 연결됩니다. 두 USART 모두 SPI 모드에서 작동합니다. STRIP2와 STRIP3는 직렬로 연결되어 있으며 Arduino의 SPI 인터페이스에 의해 구동됩니다.

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

    Arduino 소프트웨어

    Arduino 소프트웨어는 메인 프로그램(mpc.ino ) 및 다음 라이브러리:

    <울>
  • 비티 - 블루투스 모듈용 드라이버 SW
  • <울>
  • LDP8806 - LED 스트립용 드라이버 SW
  • <울>
  • 메모리 부족 - 사용 가능한 RAM 메모리를 감지하는 기능
  • <울>
  • mpcgif - RAM 또는 플래시 메모리에 있는 GIF 파일 재생
  • <울>
  • 사진 - Flash에 저장된 내부 GIF 사진
  • <울>
  • 추적 - SW 디버깅을 위한 기능
  • LED 스트립에 대한 사진의 주기적 출력은 인터럽트 구동으로 수행됩니다. 두 개의 토글 프레임 버퍼가 있습니다. 각 프레임 버퍼는 40 x 151 픽셀의 사진 하나를 보유합니다. 각 픽셀은 1바이트 색상 팔레트 인덱스입니다. 한 프레임 버퍼가 인터럽트와 DMA를 통해 LED 스트립으로 출력되는 동안 다른 프레임 버퍼는 메인 프로그램(예:GIF 그림을 디코딩하는 기능)에서 준비합니다. 프레임 버퍼의 토글은 프레임 인터럽트 루틴에 의해 수행됩니다.

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

    전체 Arduino 소스 코드는 github에서 사용할 수 있습니다.

    PC 제어 프로그램

    PC 제어 프로그램(pccp )는 C++로 작성된 명령줄 도구입니다. Cygwin에서 실행 중이며 Bluetooth를 통해 Arduino와 통신합니다. pccp 다음 단일 문자 명령으로 POV 실린더를 제어할 수 있습니다.

    <울>
  • 0-7 - 색상으로 화면 채우기(검정, 빨강, 노랑, 녹색, 청록, 파랑, 보라색, 흰색)
  • <울>
  • - 삼각형 곡선 그리기(테스트 그림으로)
  • <울>
  • - 표시된 사진의 회전 활성화 또는 비활성화
  • <울>
  • r - 단일 행 그리기
  • <울>
  • - 단일 열 그리기
  • <울>
  • - 플래시 메모리에 저장된 내부 GIF 사진 재생
  • <울>
  • f - BT를 통해 PC에서 외부 GIF 파일 다운로드
  • <울>
  • x - 다운로드한 외부 GIF 파일 재생
  • pccp 그래픽 사용자 인터페이스에 대한 인터페이스도 제공합니다. 또한 현재 회전 속도(Hz 및 µs)와 프레임 카운터 값을 표시합니다.

    전체 소스 코드는 github에서 사용할 수 있습니다.

    그래픽 사용자 인터페이스

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

    전체 소스 코드는 github에서 사용할 수 있습니다.

    참조

    [1] https://en.wikipedia.org/wiki/Persistence_of_vision

    [2] RGB LED 지구 - 시점 - 40 x 200

    [3] POV 글로브 디스플레이 RGB

    [4] POV Globe Display RGB - 프로젝트 설명(독일어)

    [5] https://github.com/Microsoft/Windows-universal-samples

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    POV Cylinder용 Arduino 소스 코드
    https://github.com/hanoba/povc-arduino
    POV Cylinder용 PC 제어 프로그램
    이것은 Cygwinhttps://github.com/hanoba/povc-pccp에서 실행되는 C++ 명령줄 프로그램입니다.
    POV 실린더용 그래픽 사용자 인터페이스
    이것은 Windows 유니버설 앱입니다https://github.com/hanoba/povc-win-app

    회로도

    이것은 회로도입니다.

    제조공정

    1. Arduino 관점 시계
    2. Nokia 5110 LCD의 DIY Simple 20kHz Arduino 오실로스코프
    3. 스마트 블라인드
    4. 터치스크린이 있는 Arduino Due TIC TAC TOE
    5. Arduino로 코인 억셉터 제어
    6. 이탈리아어 단어 시계
    7. Bluetooth가 탑재된 Arduino로 LED 제어!
    8. Arduino를 사용한 간단한 장애물 센서
    9. Sigfox kWh 미터
    10. Arduino용 절연 아날로그 입력