Arduino 철도 모형 컨트롤러 (원 핸들 타입)



개요


  • Arduino에서 철도 모델 컨트롤러를 만들었습니다. 원 핸들로 조작합니다.
  • 모듈의 조합으로 작성할 수 있으므로, 회로는 간단합니다 (다소 납땜 있음).

  • 기능


  • 한 핸들로 진행 방향과 속도를 조작합니다 (핸들을 누르면 비상 정지).
  • LCD 화면에 현재 진행 방향과 속도를 표시합니다.
  • 속도는 8단계(노치)로 조정 가능합니다.
  • 천천히 가감속합니다.
  • 정지시에도 차량의 실내등이 점등합니다.

  • 사용 부품


  • Arduino ProMini (5v)
  • 1602 LCD 디스플레이 모듈
  • L298N 듀얼 H 브리지 DC 스텝 모터
  • 로터리 엔코더 (푸시 버튼 포함)
  • 노브
  • DC 잭
  • 100 균등 엽서 케이스
  • 12V AC 어댑터(1A)

  • 회로도




  • L298N에는 12V AC 어댑터를 연결 (Arduino는 L298N에서 전원)



  • 부품명
    부품 핀
    Arduino


    로터리 엔코더
    +
    VCC

    로터리 엔코더
    GND
    GND

    로터리 엔코더
    SW
    D4

    로터리 엔코더
    DT
    D2

    로터리 엔코더
    CLK
    D3

    LCD
    +
    VCC

    LCD
    GND
    GND

    LCD
    SDA
    A4

    LCD
    SCL
    A5

    L298N
    IN1
    D10

    L298N
    IN2
    D9

    L298N
    ENA
    D11

    L298N
    5V
    RAW

    L298N
    GND
    GND


    소스 코드



    htps : // 기주 b. 이 m/tyぺ89/아 r즈이의 _응_콘 t롯ぇr_L298응/bぉb/마인/응_콘 t롯 r_L298응. 이노

    동작 데모




  • LCD 화면이 보기 어려워서 죄송합니다. . .

  • 막힌 곳·궁리한 곳


  • 전원을 켠 후 조작 가능하게 될 때까지 기차가 폭주했습니다. setup에서 시리얼 통신이 없는 사이에는 아무것도 하지 않는다는 로직을 더해 움직이지 않게 되었습니다.
  • 차량에 따라 모터의 파워가 다르기 때문에 속도 조정을 세세하게 하여, 어느 차량에서도 조작할 수 있도록 했습니다.
  • 듀티비가 낮을 때는 모터의 움직임이 불안정합니다 (전압도 7V 정도로 내려갑니다). 그래서 낮은 노치일 때는 첫 순간만 높은 듀티비를 넣고 있습니다.
  • 로터리 엔코더를 천천히 돌리지 않으면 오작동합니다.

  • 참고로 한 사이트


  • Pro Micro로 풀 브리지 드라이버 "L298N"을 동작시킨다
  • L298N Dual H-Bridge Motor Controller module을 사용해 보았다.
  • 좋은 웹페이지 즐겨찾기