ESC electronic speed controller with arduino ALL EXPLAINED

뭐가 잘못 되었나요? 다시 환영합니다 이것은 복잡한 프로젝트가 될 것입니다

나는 설명 할 수 있기를 희망한다 ESC 구축의 모든 문제 나는 그것이 브러시리스 모터라는 것을 알고 있기를 바랍니다 그리고 그렇지 않다면, 나는이 엔진에 대해 조금 설명 할 것이다 우선 그것은 DC 모터입니다 하지만 정상적인 직류 모터가 아니라 3 상 입력이있다 3 개의 입력 케이블이 있음을 의미합니다 일반 DC 모터와 비교하면 DC 잠재력을 직접 적용 할 수는 없습니다 조금 더 복잡해 이 도표는 정확하게 우리에게 보여줍니다 항상인가되는 전압 엔진을 돌리는 것 그래서, 우리는 3 장의 티켓을 가지고있다 모터 내부에 3 개의 코일을 만드는 우리는 기본적인 모터 DC의 회전의 기초를 안다

코일은 자기장을 생성한다 반발력으로 엔진이 돌아갑니다

엔진 내부 및 일부 영구 자석 그러나 우리는인가 된 전압의 극성을 바꾸어야한다 필요한 경우 자기장의 방향을 바꾸기 일반적인 DC 모터에서 이것은 회전 모터 샤프트 덕분에 이루어집니다 터닝 할 때 전압을 전환 할 구리 커넥터가 있습니다 브러시리스 모터의 경우, 전자 장치 3 입력의 극성을 변경해야합니다 이 다이어그램에서 화살표가 가리키는 것처럼 우리는 C 입력에 양의 전압을인가함으로써 시작합니다 입구에 땅이있다 우리는 입구 B를 무료로 남겨 둡니다 회 전자가 몇도 회전합니다

짧은 시간 후에 우리는 입구 B를 땅으로 바꾼다 로터가 조금 더 돌아 간다 그러면 입구 A를 바꾼다 따라야 할 특별한 순서가 있습니다 모터를 돌리기 위해이 튜토리얼에서 왜 그리고 그 순서가 무엇인지 알게 될 것입니다 내가 말했듯이, 우리는 전자 장치가 필요합니다 신속하게 전압 스위칭 수행 그것은 ESC 또는 전자식 속도 컨트롤러입니다

그리고 그것은 우리가 오늘 만들 것입니다 그러나 그것을 만드는 법을 아는 것 먼저 당신이 찾고있는 것을 이해해야합니다 이를 위해 우리는이 애니메이션을 본다 이 경우 6 코일의 브러시리스 모터가 있습니다 쉽게 만들 수 있습니다 이들은 모터 입력입니다 우리는 빨강, 검정 및 파랑 케이블을 볼 수 있습니다

실제로 모든 케이블은 검은 색입니다 그러나 푸른 색은 지구를 나타냅니다 빨간색은 고전압이고 검은 색은 자유 입력입니다 왼쪽에는 우리가 말한 순서가 있습니다 수직 파란 선은 회전 각도를 나타냅니다

우리는 0 각도에서 시작합니다 이것들은 완전한 회전의 모든 단계입니다 상단 부분은 높은 항목을 나타냅니다 하단은 값이 낮은 항목을 나타냅니다 가운데 부분은 무료 항목을 나타냅니다

우리는이 "무료"항목에 대해 더 자세히 이야기 할 것입니다 우리는 B entry high로 시작합니다 낮은 C 즉, 전류가 흐를 것입니다 코일 (B)로부터 코일 (C)로 극성에 반대되는 두 개의 자기장 생성 남쪽의 극성을 빨간색으로 관찰합니다 극성이 파란색 인 북쪽의 모터 권선 또한, 내부 축 영구 자석을 가지고있다

코일에 의해 생성 된 필드 로터를 밀어 내거나 늘릴 것이다 하나 또는 다른 방향으로 이 경우 빨간색 극성은 북쪽 자석을 늘립니다 그리고 남쪽을 밀 것이다 파란색 코일은 반대 방향으로 그러면 로터가 오른쪽으로 회전합니다 화살이 가르치는대로 이 코일에주의합시다 자석이 코일 앞을 지나가는 순간에 우리는 차례를 따라 티켓을 전환해야합니다

우리가 입력을 변경하지 않으면 엔진은이 위치에서 정지합니다 그러나 그 순간에 우리는 항목을 낮은 수준으로 전환했습니다 YC가 무료 우리는 B를 높게 남겨둔다 우리는 여전히이 두 코일에 남극을 가지고 있습니다 그것은 남쪽 자석을 밀고 북쪽 자석을 끌 것입니다

다음 단계에서 C를 high와 Aa low로 전환합니다 다시 한번 남쪽의 들판은 반대 세력 때문에 자석을 밀 것이다 우리는 이러한 변경을 한 번만 풀 수 있도록 6 번 할 것입니다 시퀀스는 모터가 갖는 코일의 수에 의존하지 않을 것이다 4, 6, 9 또는 그 이상의 코일을 가진 브러시리스 모터가 있습니다 그러나 순서는 동일하다

3 중 위상 입력 때문입니다 그리고 각 순간은 특정 순간에 높거나 낮을 것입니다 그것은 우리에게 높은 값과 낮은 값의 총 6 쌍의 값을줍니다 엔진에 더 많은 코일이 있다면 우리는 같은 순서보다 더 반복 할 것입니다 풀 로테이션을 얻으려면 입력을 빠르게 전환하면 로터가 여기 보이는 것처럼 회전합니다

이것이 우리가이 프로젝트에서해야 할 일입니다 좋아, 이제 우리는 티켓을 통근하는 것을 안다 정확히이 순서대로 우리는 모터를 돌릴 수있다 우리는 더 빨리 전환합니다 엔진을 빨리 돌린다

하지만 문제가 있습니다 그리고 그것은 chunga 부분 일 것입니다 모터의 실제 회전을 어떻게 동기화합니까? 입력 전자 전환? 이 계획으로 한 상태에서 다른 상태로 전환 할시기를 알 수 없습니다 우리는 로터의 실제 위치를 알지 못하기 때문에 우리가 추한 것을 바꾸면 관찰되는 것처럼 완벽한 순간 전이나 후에 두 번째 엔진이 멈출 수있다 반대 방향으로 돌리면 모터를 비동기시킵니다 우리는 그 완전한 정류 순간을 어떻게 감지합니까? 음, 충분히 쉬워

각 주에서 우리는 "자유로운"입장을 남긴다는 것을 기억합니까? "자유"는 높거나 낮은 상태를 의미하지 않습니다 그 입구는 높은 임피던스에있을거야 그리고 여기 멋진 일이있다

우리 모두 패러데이의 전자기 유도 법칙을 알고 있습니다 우리는 코일 내부의 자속을 변화시킴으로써 코일 내부에 전류가 흐르게된다 유량의 변화가 클수록 전류가 커집니다 우리는 자기장을 생성하는 자석을 가지고 있습니다 또한 코일 이 두 요소가 함께 간단한 자기 센서를 만듭니다 시퀀스의 첫 번째 상태에서 작업 해 보겠습니다

B가 높고 C가 낮을 때 입구 A는 무료입니다 높은 장애가있다 이것들은 A 입력의 코일들이다 그리고 이것은 ek 극성의 남극 자석입니다 그는 코일 내부의 자속을 바꿨다

더 집중된 자석이 코일을 통과하는 흐름이 클수록 이 화살표는 자석에 의해 생성 된 자기장을 시뮬레이션합니다 이 위치에서 몇 개의 화살표 만 볼 수 있습니다 코일을 통과하다 선회 할 때 점점 더 많은 화살표가 코일을 통과합니다 코일이 최대 흐름 피크를 가질 때 정확히 코일의 중간에있을 것이다 그거 멋지네

전류가 유도되면 해당 입력에 잠재적 인 전압 강하가 발생합니다 좋은 소식은 잠재력 감소를 측정 할 수 있다는 것입니다 우리가 최대 피크를 발견하면 시퀀스의 다음 상태로 전환합니다 이것은 로터의 위치를 ​​제어하는 ​​가장 좋은 방법입니다 각 주에서 우리는 "자유로운"입장을 갖는 것이 쉬울 것입니다 우리는 그 입력의 잠재적 하락을 측정하기 만하면됩니다 계산을 수행하고 다음 상태로 전환 할시기를 아는 경우 하지만 그것보다 조금 더 복잡해집니다 단일 입력을 측정하여 스위칭 순간을 직접 알 수는 없습니다

더 잘 이해하려면이 그래프를 보자 우리는 A, B 및 C 입력의 높고 낮은 상태를가집니다 역기전력은 되돌아온 기전력입니다 기본적으로 이전에 우리가 얘기했던 것입니다 이것은 각 코일에 자기장의 힘을 표현한 것이다

이 경우 잠재력의 저하로 나타납니다 우리는 양의 전압과 음의 전압을 볼 수 있습니다 각 항목에 대한 가을 또한 각 전압 강하 120 도의 위상 변이와 다른 위상을 갖는다 따라서 각 신호는 "0"점을 통과하고, 음수에서 양수 값으로 또는 그 반대로 등반 할 때 이 시점은 정확히 전환점입니다 "영"지점을 어떻게 알 수 있습니까? 그들이 제로 볼트가 아니기 때문에

우리가 각 주를 자세히 보면 3 개의 신호의 합은 우리에게 줄 것이다 영점 이 첫 번째 상태를 살펴 보겠습니다 신호 A와 신호 B의 합 그것은 우리에게 양의 정전압을 줄 것이다

2 개의 반대 경사로 합계 이제 C 입력의 음수 상수 값을 더하면 가상 0을 얻습니다 이것은 모든 주에서 발생합니다 우리가해야하는 모든 것은 3 개의 징후를 더하는 것입니다 그 영점을 얻으려면 그 다음에 징후 중 하나가 될 때마다 그 값을 교차하면, 우리는 정류를 만들 것입니다 이를 EMF 역 검출과 함께 제어라고합니다 가상 제로 크로싱 그리고 이것은 오늘 타는 회로 일 것이다

마이크로 컨트롤러를 사용하여 전압 강하를 측정 할 것입니다 각 엔트리마다 해당 항목의 상태 분명히, 언제나처럼 우리는 arduino를 사용할 것입니다 모든 것이 쉬워지기 때문에 시작하기 전에 부품에 대해 조금 이야기 해 봅니다 전자 속도 컨트롤러 우리는 마이크로 컨트롤러, 전체 모듈의 두뇌를 가지고 있습니다 6 개의 트랜지스터로 이루어진 3 상 브리지가 있습니다

우리는이 6 개의 트랜지스터를 통근해야 할 것입니다 브러시리스 모터의 3 가지 입력 신호 생성 위의 과도 현상은 양의 전위에 연결됩니다 이 경우 LiPo 배터리에서 111 볼트 아래의 트랜지스터는 접지되어 있습니다 예를 들어, 입력 A를 높은 상태로, B에서 낮은 상태로 우리는이 두 과도기를 전환해야 할 것입니다

여기에서 입구 A를 통해 전류가 흐릅니다 그리고 그것은 B 입구를 통해 육지에서 끝날 것입니다 기본적으로 두 개의 트랜시버를 제어해야합니다 각 주에서 브러시리스 모터에 대한 보안을 창출합니다 문제는 MOSFET 과도 현상의 사용이다 코일을 통해 높은 전류가 흐르길 원한다

6에서 100 암페어 이상까지 제공 할 수있는 ESC가 있습니다 MOSFET은 스위치와 같습니다 우리는 문에 전압을 가하면 소스에 전압을 줄 것입니다 문에 가해지는 전압은 임계 전압보다 큼 보통 07 볼트이다

그리고 다음 문제는 MOSFET이 제공 할 수없는 사실입니다 문에 가해지는 전압보다 큰 장력 예를 들어, 우리가 11 볼트 배터리를 가지고 있다면 이 트랜지스터의 드레인에 연결된 문에 5 볼트를가합니다 소스의 최대 전압은 문에서의 전압 – 문턱 전압 이 경우 43 볼트가 될 것이다 그러나 우리는 원천에 11 볼트를 원한다

문에 11 볼트를 적용해야합니다 여기에 첫 번째 문제가있다 arduino가 줄 수있는 최대 전압은 5 볼트입니다 우리는 3 상 브리지 사이에 뭔가가 필요할 것입니다 및 마이크로 컨트롤러 그 "무언가"는 컨트롤러입니다

제어기는 저전압 신호 그것의 산출에 동일한 신호를 줄 것이다 그러나 더 긴장감을 가지고 컨트롤러에 5V 스위칭을 적용합니다 드라이버는 MOSFET에 11V를 적용합니다 분명히 물어볼거야 MOSFET에 11 볼트를 적용해야하는 이유 또한 과도 출력에서 ​​11 볼트를 얻으려면? 글쎄, 간단 해 마이크로 컨트롤러 또는 컨트롤러는 절대로 우리 모터에 높은 전류를 줘라 일반적으로 마이크로 컨트롤러의 최대 전류 출력 어쩌면 약 100 밀리 암페어일까요? 브러시리스 모터는 거대한 양의 전류를 소비하는 짐승이다

이것이 11V 및 고전류를 위해 MOSFET을 사용하는 이유입니다 좋아, 우리는 전자 속도 컨트롤러의 기초를 안다 또한 우리가 구축해야하는 회로 각 LED 출력에 6 개의 LED를 연결했습니다 3 단계 브리지를 시뮬레이트하는 Arduino 저속에서 각 LED가 어떻게 스위칭되는지 관찰된다 전위차계로 속도를 변경합니다

전환이 더 빨라졌습니다 트랜지스터의 경우에도 마찬가지입니다 디자인 스파크에서 PCB 디자인 모든 카 (KA) 문서를 설명의 링크에 남겨 둘 것입니다 디자인 스파크를 사용하는 법을 배우고 싶다면 Design Spark에 대한 내 비디오 자습서를 볼 수 있습니다 나는 Arduino NANO 마이크로 컨트롤러를 사용했다

3 개의 IR2301 MOSFET 컨트롤러 6 개의 MOSFET IRF3205 트랜지스터 이 모든 추가 구성 요소 설명에서 전체 목록을 찾을 수 있습니다 용량, 전압 조정기 및 저항기도 사용할 예정입니다 이 프로젝트의 설계도입니다 또한 설명의 링크에서 찾을 수 있습니다

듀얼 MOSFET 컨트롤러의 기본 구성입니다 PCB를 설계하기 전에 항상 사양서를 검토하십시오 PCB의 회로도 관찰 조심스럽게 arduino에서 컨트롤러로의 연결을 만든다 컨트롤러에서 MOSFET으로 매우주의해야한다 Arduino의 ADC에 대한 최대 입력 전압은 5V입니다

그러나 A, B, C의 출력은 약 11 볼트 그리고 그것은 마이크로 컨트롤러를 태울 것입니다 그래서 각 아날로그 입력에 전압 분배기를 추가했습니다 그러면 전압이 11 볼트에서 5 볼트 미만으로 낮아집니다 이것은 PCB의 최종 디자인입니다 원하는대로 디자인 할 수 있습니다

공장에서 지루한 PCB를 사용하여 연결하십시오 전자 속도 제어기 용 그러나 이것들은 나의 추천이다 주 전압 소스와 MOSFET 사이의 트랙 그리고 엔진 사이에서 그들은 매우 넓어 야한다

그렇지 않으면 그 트랙을 주석으로 가득 채웠습니다 트랙은 높은 전류로 인해 타오를 것이다 트랜지스터의 발을 주석으로 채우고 방열판을 추가하십시오 나는 SMD 부품의 0805 크기를 사용했다 나는 5 볼트 AMS1117 전압 레귤레이터를 사용했다

Arduino NANO에 전원을 공급하는 정문에는 막대한 수용력이 필요하다 나는 16 볼트와 480 마이크로 패럿의 용량을 사용했다

이 전위차계를 사용하여 속도를 수동으로 제어했습니다 이것은 최종 디자인이며 이러한 결과입니다 이것은 쉬운 프로젝트가 아닙니다 첫 번째 테스트에서 완벽하게 작동하지 않습니다 3 개월 동안 나는 그것을 작동하게하는 테스트를했다 각 구성 요소에 대해 많은 연구를해야합니다 100 개 이상의 사양 시트 읽기 각 출력의 BEMF 힘 확인 코드를 100 번 변경하면

어쨌든, 이제 Arduino를 프로그래밍 할 시간입니다 코드는 이해하기 쉽습니다 아래 링크에서 다운로드 할 수 있습니다

먼저 우리는 각각의 잠재적 인 하락을 측정합니다 우리는이 세 가지 값의 합을 만듭니다 이 금액은 "제로"포인트가됩니다 "마이크로"기능을 사용하여 시간을 계산합니다 시퀀스의 속도를 제어하려면 지연 시간마다 시퀀스를 실행하려고합니다

이 딜레이 값은 앞에서 말했던 전위차계로 제어됩니다 스위칭의 경우입니다 각각의 경우에 우리는 단지 2 개의 트랜지스터 3 상 교량의 나머지 핀들은 낮은 상태로 남아 있습니다 이 "델타"값은 매우 중요합니다 우리는 "제로"점의 교차점을 가질 수 있음을 안다

음수에서 양수 값으로 또는 양수에서 음수로 우리는 "현재 델타"와 "이전 델타"를 사용하여 "이전 델타"가 음수이고 "현재 델타" 긍정적입니다 분명히 우리는 가지고 있습니다 음수에서 양수 값으로의 "제로"점 교차 델타가 거꾸로 된 경우 우리는 네거티브에 포로 사이의 십자가를가집니다 6 건의 사례가 있습니다 여섯 번째 사례에 도달하면 첫 번째 사례로 돌아갑니다

벌써 이것이 우리의 순서입니다 컴파일하고 Arduino에 업로드하십시오

보드 입구에 전원을 연결하십시오 전위차계로 속도를 변경하십시오 당신은 코드를 변경하여 PWM 신호를 사용하여 속도를 변경할 수 있습니다 또한 SMD 부품 만 사용하여 PCB를 설계 할 수 있습니다 내 것이 거대하기 때문에 그것을 아주 작게 만들어라

이 보드는 최대 60A의 전류를 공급할 수 있습니다 이것은 브러시리스 모터입니다 보시다시피 3 개의 입력 케이블이 있습니다 내 보드에 입력 A, B 및 C를 연결합니다 이제 소스를 연결할 때 모터가 회전합니다

회전력이 충분하다 설명에서 코드를 찾을 수 있습니다 BEMF 탐지를 사용하지 않는 이 코드를 사용하면 더 높은 속도와 낮은 전력을 얻을 수 있습니다 이 코드를 사용하여 손으로 엔진을 멈출 때 엔진이 다시 시작하지 않을거야 그것은 EMF 탐지의 멋진 부분입니다

모터의 실제 위치를 기반으로 속도를 변경하십시오 모든 것이 동기화됩니다 이제 전자 속도 컨트롤러가 어떻게 작동하는지 알 수 있습니다 하나 만드는 방법 질문이 있으시면 아래의 의견란에 게시하십시오 또는 내 질문 및 답변 페이지 이 비디오를 즐겁게 보내시기 바랍니다 제발, megusta주고, 공유하고 구독하십시오

이 같은 동영상을 더 많이 얻으려고 동기를 부여하십시오 고마워요 나중에 보자!

Automação Residencial – ligar arduino no servidor web parte 8

Arduino 보드를 웹 서버에 연결하기 Arduino 더 많은 leds, 마더 보드에 USB에 연결 준비 arduino usb 케이블 연결하기 마더 보드에 USB 케이블 연결하기 USB에 준비 준비가 다음 동영상으로 계속됩니다 다음 비디오 테스팅에서 작동 : 웹 브라우저로 켜고 끌었다

Arduino e Robots – Robot rileva bordi e non cade mai – Edge detection and does not fall

로봇은 단단한 코너에서 기동 할 수 있습니다 다음과 같은 어려운 상황에서 조금 벗어나면 (비디오 – 2

5 배 속도) 로봇은 떨어지지 않고 가장자리 근처의 좁은 공간에서 기동 할 수 있습니다 (25 배 속도의 비디오) 코드는이 비디오에 대한 설명을 읽으십시오 감사

Automação Residencial testar e verificar funcionamento do arduino com servidor web parte 9

arduino 작업 플러스 서버 led PHP 페이지 확인 Arduino가 이미 USB 포트에 연결되어 있는지 확인하십시오 작업 영역의 내 컴퓨터 아이콘에서 설명 단추를 클릭하십시오

클릭 : 속성 창이 열리면 다음을 클릭하십시오 : 장치 관리자 열리는 창에서 다음을 클릭하십시오 : 포트를 클릭하십시오 이미 문에있는 arduino를보고, 보통 (Com3) 창 닫기 arduino skecth, 바탕 화면 바로 가기로 ide 열림 arduino ide를 연 다음 도구를 클릭하십시오 직렬 모니터 텍스트 바에 숫자 7을 입력하십시오 ENTER를 누르고 LED가 켜지는지 확인하십시오 같은 텍스트 막대로 돌아가서 다시 7을 입력하십시오

그리고 ENTER 키를 누르고 리드 오프를 확인합니다 닫기 Montor Serial arduino IDE 창을 최소화하십시오 wampp 서버가 실행 중인지 확인하십시오 xampp 서버 제어판을 열려면 바로 가기에서 바탕 화면을 클릭하십시오 xampp 제어판을 최소화하는 방법 툴바에서 브라우저를 엽니 다

브라우저 즐겨 찾기 모음을 클릭하십시오 : 바로 가기 바로 가기 로그인 화면을 엽니 다 다음을 클릭하십시오 : Access 시스템 제어 페이지를 엽니 다 On / Off 버튼 클릭 – Room Light LED가 켜져 있는지 확인하십시오 같은 버튼을 다시 클릭하면 LED가 꺼지는 것을 알 수 있습니다 나는 클릭했고 이끌 렸어

클릭하고 삭제합니다 더 나은 시각화를 위해 arduino 플레이트 하나를 정렬하십시오 다른 테스트를하고 다른 버튼을 클릭하여 다른 LED를 켭니다 Garage Light를 클릭합니다 다른 LED가 켜지 죠 Led 시뮬레이션 차고, 조명 차고 라이트 버튼을 클릭하면 LED가 꺼졌습니다

나는 단추를 클릭 할 것이다 – 발코니 빛 그리고 LED가 켜질 것입니다 보세요, 나는 클릭 할 것이고 이끌 리는 것입니다 나는 클릭했다 여러 번의 클릭,보기, 실행하기 너무 좋은, 지금은 다음 비디오에서 실행 LED를 보여주는 것, 등, 개인, 거실, 침실, 발코니, 시뮬레이션, 모델에 장착