아두이노 첫걸음 13 | 바이폴라 스텝 모터 구동 A4988/DRV8825/TB6600

Поделиться
HTML-код
  • Опубликовано: 5 окт 2024
  • 1. 바이폴라 스텝 모터 구동 방법을 A4988 드라이버를 사용하여 설명,
    2. DRV8825 와 TB6600 스텝 모터 드라이버 사용 방법도 추가 설명,
    3. 모터가 진동만 하고 회전하지 않을때는 delayMicroseconds() 안에 있는 시간을 1000 으로 바꾸어 보세요.
  • НаукаНаука

Комментарии • 41

  • @hydrahydra2591
    @hydrahydra2591 5 лет назад +2

    여럿 올린 유튜브중 단연 최고입니다.
    이런 기초가 없어서 호기심에 중고 스텝모터 드라이버구매후에 고이 모셔만 두신 분들 많습니다. 2560메가보드로 6개정도 돌리는것과 cam 프로그램과 연동되는것의 연개점만 강의해주셔도 10년 학교에서 배운것을 몇시간안에 습둑 되겠네요.
    모터 암페어(A)가 낮으면, 드라이버의 암페어가 높으면 한 드라이버에 모터를 두개연결하여 더 강하고 더 정밀한 회전운동을 직선운동으로 듀얼로 쓰게됩니다. 스텝모터의 강점입니다.
    자세하게 알려주셔서 감사합니다.
    사족을 달면 홀딩 토크(정지시)에 2상스텝모터는 열을 많이냅니다. 이유는 위치유지에 전원이 계속 코일에 오가기 때문인데 따로 코딩에서 홀딩 딜레이타임을 설정해야 됩니다.
    소리가 거슬리는것은 전원 V가 낮을때 일경우 알려주신 케피시터를 쓰면 차지기능으로 많이 개선됩니다. 다른 분들의 자료(내,외국의)는 수박 겉핣기인데 이번처럼 경험지식 까지 올린게 너무나 감동되어 댓글 남깁니다.
    이런자료가 차고 넘쳐야 다음세대가 쓸데없이 유학이나 가는 일이 없을텐데,
    한글쓰는 사람끼리는 너무나 인색하게 굴은게 아닌가 합니다....

    • @hydrahydra2591
      @hydrahydra2591 5 лет назад +1

      밑에 댓글에 모터정지에 관해 자세히 알려주셨군요.. 감동입니다....

    • @samstack54
      @samstack54  5 лет назад +1

      한효진님, 좋은 말씀 감사합니다 ^^ 힘이 됩니다.

  • @뱅감
    @뱅감 5 лет назад

    안녕하십니까? 자작 할 게 있어 선생님의 회로구성과 코드를 좀 응용했습니다. 물론 아드이노는 처음 해봤고 26년전에 C 언어를 조금 공부한 경험으로 원하는 동작은 천천히 1회전 돌고 정지 , 24시간후 다시 동작 , 근접 센서에 의해 최종 정지, 그리고 회전수 각도는 매일 감소(매회 마다 감소) 하는 코드를 했고 동작도 됩니다. 회전 속도를 저속을 위해서 igitalWrite(STEP,HIGH);
    delayMicroseconds(30000) 했고 정지 시간은 24시간이라 delay(86400000)로 했습니다. 주 부품은 17 NEMA17 스텝팀 모터에 A4988 사용하고 원하는 동작은 되는 것 같으나 문제는 이 모터의 발열 때문에 문의 드립니다. 손가락으로 모터 본체를 잡으면 1분도 못 버틸 정도로 뜨겁습니다. 모터 고정 브라켓이 아크릴 이고... 원래 이런 것인지 ? 아니면 일반 DC 서보 모터로 변경할 까 생각 도 듭니다. 아님 프로그램 되어 있으니 모터 전원과 모터 드라이버의 전원 off 후 on 해도 1회전 회전하니 감소 시키는 기능은 안되더라고 전원 자체를 on off 타이머 회로로 변경할까도 생각됩니다. 모터 발열 조언 부탁드리겠습니다.

    • @samstack54
      @samstack54  5 лет назад

      모터에 어느 정도 열은 나지만 지금 말씀 하시는 사항 으로는 발열이 너무 큰것 같습니다. 모터에 공급 되는 전력 또는 부하를 체크해 보는것이 좋겠습니다.

    • @뱅감
      @뱅감 5 лет назад

      우선 답변 감사드립니다. 모터 동작 전원은 9V이고 부하는 적습니다. 구동시 걸림도 없고 혹시 코드상 너무 천천히 돌리고 Delay Time 이 너무 오래 잡고 있어서 이런 현상은 없는지요? 너무 천천히 회전시키니 진동이 많이 발생했습니다. 모터 제어 4선은 영상과 색이 달라서 그냥 순서대로 콘넥팅 해 주었는데 제어선 4가닥의 순서에 의해서 이런 현상은 없는지도 궁금합니다. 수고하십시오

    • @samstack54
      @samstack54  5 лет назад

      제가 사용 하였던 모터는 5 V 용 인것으로 알고 있습니다.

    • @뱅감
      @뱅감 5 лет назад

      선생님은 영상서는 건전지로 6볼트 사용하셧구요 9V 되 된다고 다른분 실험에서 된다고 했다고 하셨어 9V를 사용 했었는데요. 전원을 낮추어 다시 확인 해 보겠습니다. 감사합니다.

  • @뜨거운감자-b5m
    @뜨거운감자-b5m 3 года назад

    모터드라이버 발열문제는 방열판 장착하는것 말고 다른방법이 있을까요?

    • @samstack54
      @samstack54  3 года назад

      용량이 큰 모터 드라이버 를 사용하는 방법이 있지만 가격이 상승 되는 문제점 등이 있습니다.

  • @김성중-d5j
    @김성중-d5j 2 года назад

    안녕하세요. 오래된 영상이라 답글을 달아주실지 모르겠지만, 의문이 있어 댓글로 질문 드립니다. 마이크로 스텝에 관련된 질문인데요. 데이트시트에 의하면 MS1~MS3에 아무것도 연결하지 않고, 아무런 코드도 작성할 필요없이 전부 LOW가 걸려서 Full Step(360도=200스텝, 1.8도 = 1스텝)으로 작동하는 것으로 이해했습니다. 저는 Eighth step 또는 Sixteenth step으로 세팅해서 스텝모터가 정교하게, 부드럽게 움직이는 것처럼 보이도록 회전시키고 싶은데요. 만약 Eighth step으로 설정하려면, MS1과 MS2에 High가 걸리도록 어디에 연결을 해야하는지 모르겠습니다ㅠㅠ 각각 디지털핀에 연결하여 digitalWrite로 HIGH를 걸어줘야하는 건지 전원과 연결해줘야하는 건지 모르겠습니다. 그리고 동일한 조건에서 마이크로 스텝으로 모터를 회전시키면 기본 스텝보다 발열이 심해질까요.?

    • @samstack54
      @samstack54  2 года назад +1

      digitalWrite 로 HIGH 를 사용해도 되고, 5 볼트에 연결해도 됩니다. 발열은 사용하는 파워와 비례 한다고 생각하면 될것 같습니다.

  • @jaesikoon
    @jaesikoon 3 года назад

    안녕하세요 선생님!
    평소 선생님의 영상으로 아두이노를 공부하고있습니다.
    평소 A4988 드라이버를 쓰다가 고전압 스텝모터를 쓰고자 DRV8825를 쓰려고 합니다.
    그런데 데이터시트를 찾아보다보니 DRV8825는 sleep과 reset을 5V에 연결하도록 되어있는걸 보게되어서요..
    이것을 A4988과 같이 서로 연결하여도 사용에 문제가 없을까요?
    전공자도 아니고 취미로 시작하다보니
    기본적인 지식이 없어서
    한번씩 문제에 맞닥드리면 해법을 찾기가 참 쉽지가 않네요..

    • @samstack54
      @samstack54  3 года назад

      Sleep 과 Reset 을 서로 연결 해주면 됩니다

  • @canoe03
    @canoe03 4 года назад

    안녕하십니까. 지금 대학에서 프로젝트 진행중인데 Nema23 모터와 TB6600을 이용해서 아두이노 작업중인데
    저희는 한 번 회전할 때 움직이는 각도를 줄이는게 필요합니다. ex) 스텝당 1.8도 -> 스텝당 0.5도
    현재 함수 delayMicroseconds를 사용하고 있었는데 저희가 목적하는 바를 이루려면 그대로 이 함수를 사용하는게 맞나요?
    혹시 아니라면 어떤 함수를 사용해야되는지 알려주실 수 있을까요?

    • @samstack54
      @samstack54  4 года назад

      TB6600 에 있는 마이크로 스텝 설정 딥 스위치를 원하는 스텝으로 설정해 주면 됩니다. 상단에 있는 SW1~SW3 입니다.

  • @메토이
    @메토이 5 лет назад +1

    스텝모터 정지는 어떻게 시키나요 ?

    • @samstack54
      @samstack54  5 лет назад

      delay(1000) 하면 1 초 정지 합니다.

  • @메토이
    @메토이 5 лет назад

    딜레이가 아니라 압력센서의 값을 시리얼로 읽고 기준값이상일 때 멈추게 하고싶습니다.. 그때 써야할 정지에 필요한 명령문을 모르겟어요
    If문을 활용해서 코딩을 짯은데 미세하게 움직더라구요

    • @samstack54
      @samstack54  5 лет назад

      for 문 안에서 계속 센서값을 읽어 기준값과 비교 하면서 기준치에 도달했을때 delay 를 사용해서 정지 시킬수 있습니다.

    • @samstack54
      @samstack54  5 лет назад

      김영찬님, delay 를 사용 하여야 모터가 힘을 가지고 정지하는 상태가 됩니다. 만약 힘없이 모터를 정지 시키고 싶다면 Enable 핀에 디지털 핀으로 HIGH 값을 주세요 digitalWrite(핀번호, HIGH)

  • @김재경-i4n
    @김재경-i4n 3 года назад

    NEMA17 모터도 똑같이 적용이 되는건가요 선생님?

    • @samstack54
      @samstack54  3 года назад

      예 똑같습니다. 모터가 크면 그만큼 큰 전력 공급과 드라이버를 선택하여 사용하면 됩니다.

  • @bongjojun3126
    @bongjojun3126 5 лет назад

    안녕하세요 양선생님.외부입력신호 1 이 들어오면, 스텝모터가 180도 움직이고, 0 이면 정지하고, 다시 1 이 들어오면 360도 움직이고, 계속적으로 180도씩 단속적으로 회전되도록 하려고 합니다.도움을 주시면 감사하겠습니다.

    • @samstack54
      @samstack54  5 лет назад

      A4988 스텝모터 드라이버 사용시 회전 및 정지에 대한 내용은 '아두이노 스텝모터 회전 및 정지 A4988| 첫걸음 19' 에 있습니다. URL 은 ruclips.net/video/Iv3zjJ9VFws/видео.html 입니다.
      L293D 를 사용할 경우는 ruclips.net/video/yGP5V_2LNUU/видео.html 에 있습니다.

    • @bongjojun3126
      @bongjojun3126 5 лет назад

      @@samstack54 대단히 감사합니다

  • @먼미래에투자
    @먼미래에투자 5 лет назад

    바이폴라 스텝모터를 조건에 따라 구동을 시킬수도 있나요? 혹시 있다면 코딩을 어떤식으로 작성해야하는지 궁금합니다.

    • @samstack54
      @samstack54  5 лет назад

      김형택님 지금에야 질문 알림이 나왔네요. A4988 스텝모터 드라이버 사용시 회전 및 정지에 대한 내용은 '아두이노 스텝모터 회전 및 정지 A4988| 첫걸음 19' 에 있습니다. URL 은 ruclips.net/video/Iv3zjJ9VFws/видео.html 입니다.
      L293D 를 사용할 경우는 ruclips.net/video/yGP5V_2LNUU/видео.html 에 있습니다.

    • @먼미래에투자
      @먼미래에투자 5 лет назад

      @@samstack54 이 스텝모터를 조건을 주어 바로바로 방향을 바꾸는 것도 가능한가요?

    • @samstack54
      @samstack54  5 лет назад

      가능 하지요. 그러나 이미 작업중인 데이터에 있는 스텝은 완료한 다음 새로운 명령을 받게 됩니다.

  • @유클리드-g6h
    @유클리드-g6h 4 года назад

    Tmc2100 ,tmc2209같은 tmc 드라이버 제어는 어떻게 하면 될까요?

    • @samstack54
      @samstack54  4 года назад

      유사한 방법으로 하면 되는데 라이브러리를 사용하는것이 편리하겠네요

  • @삼이-n5r
    @삼이-n5r 5 лет назад

    올려주신 코드 그대로 사용했는데 시계 방향으로 한바퀴 회전후에 반시계호 두 바퀴가 아닌 같은 방향으로 두 바퀴를 더 회전하는 데 왜 이러는 건가요?? 저는 NEMA17모터를 사용하였습니다.

    • @samstack54
      @samstack54  5 лет назад

      코딩 26번 줄에 있는 방향 전환을 확인해 보세요. 아두이노 디지털 7번핀 과 A4988 DIR 연결도 확인해 보세요

    • @삼이-n5r
      @삼이-n5r 5 лет назад

      @@samstack54 다른 선으로 다신 연결하니 문제가 해결 됐습니다.
      혹시 빵판과 캐패시터를 이용하여 연결하면 선 연결 불량에 의한 오작동이 줄어들수 있나요??

    • @samstack54
      @samstack54  5 лет назад

      축하 합니다. 브래드 보드를 사용하면 연결이 더 안정 할 수 있겠지요. 캐패시터는 모터 시작시 많은 전기를 소모 하기 때문에 안정적 전원 공급을 위한 것 입니다.