test ESC

Cílem tohoto Arduino projektu je testování a kalibrace obousměrného regulátoru otáček (ESC) pomocí PWM signálu. Program simuluje sekvenci pohybů: dopředu, neutrální pozici a reverzní chod, což umožňuje ověřit správnou funkci ESC včetně přepínání směru otáčení motoru.

Tento skript je užitečný pro:

  • Diagnostiku ESC – ověření, zda správně reaguje na PWM signály.
  • Kalibraci reverzního režimu – některé ESC vyžadují specifickou sekvenci pro aktivaci zpětného chodu.

Možnosti využití:

  • RC modely (auta, lodě, drony) Tento testovací skript pomáhá ověřit ESC před instalací do modelu, čímž se předejde poruchám během provozu.
  • Výuka a demonstrace PWM řízení

Seznam součástek:

  • Arduino Uno R3 – řídicí jednotka pro generování PWM signálu
  • ESC Electronic Speed Controller
  • BLCD motor – pro vizuální ověření směru a otáček
  • Externí napájecí zdroj pro ESC – např. LiPo baterie nebo adaptér (ESC nelze napájet z Arduino)
  • Propojovací vodiče – spojení mezi Arduino, ESC a případně motorem
  • USB kabel – pro nahrání kódu do Arduino a jeho napájení

Schéma zapojení:

  • ESC signálový vodič → pin D9 na Arduinu
  • ESC napájení → připojeno k LiPo baterii (červený = +, černý = −)
  • GND ESC → propojeno s GND Arduina (vyrovnání potenciálu)
  • Motor → připojen k ESC
  • Arduino → napájeno přes USB nebo externí 5V zdroj
  • Serial monitor → pro výpis stavu (Forward, Neutral, Reverse)

zapojení

Kód pro Arduino:

#include <Arduino.h>

#include <Servo.h>

Servo esc;

void setup() {
  esc.attach(9); // Signálový pin ESC na D9
  Serial.begin(9600);

  // Start v neutrálu
  esc.writeMicroseconds(1500);
  Serial.println("Neutral (startup)");
  delay(3000);
}

void loop() {
  // Dopředu
  esc.writeMicroseconds(2000);
  Serial.println("Forward");
  delay(3000);

  // Neutrál
  esc.writeMicroseconds(1500);
  Serial.println("Neutral (pause before reverse)");
  delay(1500);

  // Reverz – první pokus
  esc.writeMicroseconds(1000);
  Serial.println("Reverse attempt 1");
  delay(4500);

  // Neutrál
  esc.writeMicroseconds(1500);
  Serial.println("Neutral (between reverse clicks)");
  delay(500);

  // Reverz – druhý pokus
  esc.writeMicroseconds(1000);
  Serial.println("Reverse attempt 2");
  delay(4500);

  // Neutrál
  esc.writeMicroseconds(1500);
  Serial.println("Neutral");
  delay(3000);
}
FB tw

Další podobné články