Hello,
I’m trying to control a t500 thruster using a basic-esc-500, ESC connected to an arduino uno. When I powered on the esc, I send a 1500 pwm signal to ESC, but I only hear three beeps. Esc will beep eight times (three beeps in rising pitch+ two normal beeps+ three beeps in rising pitch) only after restarting arduino.
Should I need to restrart the Arduino every time when I powered on the esc?
Thanks for your help.
Hi @Kevinkan -
I would recommend sharing your code! Sending the 1500 pwm signal should initialize the ESC, this is required after the ESC receives power, before it will respond to positive or negative throttle values.
Hi @tony-white -
Thanks for the reply. Actually, I turned on ESC and arduino at the same time and paused for 10 seconds on arduino before sending 1500 pwm signal. After sending the signal, I heard three beeps.
Here’s my code.
#include <Servo.h>
byte servoPin = 9;
Servo servo;
void setup() {
Serial.begin(9600);
delay(10000);
Serial.print("Start initialization!");
servo.attach(servoPin);
servo.writeMicroseconds(1500);
delay(7000);
}
void loop() {
}
I also tried turning on the ESC first and then the arduino, but still only heard three beeps.
Sorry for the late reply.
Hi @Kevinkan -
Based on your code, what you’re hearing is the ESC initializing, and then losing the input signal and beeping to indicate this. The ESC must continue to receive a servo PWM signal, and it only receives this for 7 seconds in the code you’ve shared. In Arduino sketches, the code in the setup() function only runs once, on power up of the unit. The code in loop() will get called over and over. Therefore your main loop should write whatever value to the ESC fairly frequently, to ensure that the ESC outputs the desired value. Please refer to the example Arduino code here or here.
Hi @tony-white -
Thanks for the help. Now I’ve put the sending 1500 pwm signal in the main loop. After rerun the code, I still got three beeps, but after restarting arduino, I got 8 beeps (three beeps in rising pitch+ two normal beeps+ three beeps in rising pitch) . These eight beeps will always happened when I restart the arduino. Does both three and eight beeps means initialized sucess?
Hi @Kevinkan -
The tones meaning can vary based on what ESC you’re using. The best way to determine if the ESC was initialized is to send a signal that is above or below the neutral 1500 microsecond point, and see if your connected motor spins!
Hi @tony-white -
Thanks for the reply. I’ve try sending above or below the neutral 1500 microsecond signal, and T500 actually spin no matter ESC-500 beeps eight times or three times.
Thanks for the help, have a good day.
Hi @Kevinkan -
The Basic ESC 500 can have slight differences in calibration, so that 1500 may not correspond to the neutral point. You could try 1505 or 1495 microsecond signal, and adjust until the motor stops spinning. Good luck!