14 poles = 7 PP "Pole Pair".
571rpm x 7 PP = 3997erpm.
So that's right !
Setting a speed (RPM) using UART
-
- Posts: 2
- Joined: 14 Jan 2018, 16:52 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
-
- Posts: 86
- Joined: 09 Aug 2017, 11:10 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
-
- Posts: 2
- Joined: 14 Jan 2018, 16:52 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Setting a speed (RPM) using UART
Okay, I did not know that. Many thanks.
I hope it's okay if i I have any further questions in this direction:
1.) as you told me, its the electronic-RPM i have send to the VESC. But I want that the VESC hold a mechanical-RPM.
(the actual revolutions of the outer metal drum)
I know, without hallsensors or incremental encoder it's not possible to get this value but soon i will have a sensored motor.
Do I have to use a different command for this?
2.) Will the VESC use the brake automaticaly, if the motor runs too fast? (e.g. when going downhill)
Or short: I want a fully PID controlled speed (RPM) with brake if the motor gets externally accelerated.
I hope it's okay if i I have any further questions in this direction:
1.) as you told me, its the electronic-RPM i have send to the VESC. But I want that the VESC hold a mechanical-RPM.
(the actual revolutions of the outer metal drum)
I know, without hallsensors or incremental encoder it's not possible to get this value but soon i will have a sensored motor.
Do I have to use a different command for this?
2.) Will the VESC use the brake automaticaly, if the motor runs too fast? (e.g. when going downhill)
Or short: I want a fully PID controlled speed (RPM) with brake if the motor gets externally accelerated.
-
- Posts: 10
- Joined: 12 Mar 2017, 22:23 [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Setting a speed (RPM) using UART
Hi!
1): You can totally get the mechanical RPM without hall sensors, as it is always directly proportional to the ERPM. ERPM can be estimated from BEMF Zero-crossings, and other methods.
Just multiply your desired mechanical RPM by the number of pole pairs of you motor (7 in your case) and you will get the ERPM to send to the VESC.
2): Assuming all other settings are correct (battery current limits, etc.) the VESC will also apply negative torque ("brake") in order to keep the set rpm.
This is, of course, limited by factors such as motor torque, max battery current, etc.
Remember that regenerative braking feeds back energy to your battery. Two things to consider:
- Set your max battery voltage to the max voltage of the battery
- Braking will not work if the battery is full (have not tested this yet, but I assume...)
Long story short: the integrated RPM Control is exactly what you need
Cheers!
1): You can totally get the mechanical RPM without hall sensors, as it is always directly proportional to the ERPM. ERPM can be estimated from BEMF Zero-crossings, and other methods.
Just multiply your desired mechanical RPM by the number of pole pairs of you motor (7 in your case) and you will get the ERPM to send to the VESC.
2): Assuming all other settings are correct (battery current limits, etc.) the VESC will also apply negative torque ("brake") in order to keep the set rpm.
This is, of course, limited by factors such as motor torque, max battery current, etc.
Remember that regenerative braking feeds back energy to your battery. Two things to consider:
- Set your max battery voltage to the max voltage of the battery
- Braking will not work if the battery is full (have not tested this yet, but I assume...)
Long story short: the integrated RPM Control is exactly what you need

Cheers!
-
- Posts: 5
- Joined: 28 Jun 2018, 21:36
- Location: United States [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Setting a speed (RPM) using UART
Hi all,
I have a similar setup with a VESC connected to arduino over UART using this library
https://github.com/bastianraschke/ESP8266VESC.
The motor was configured using VESC tools wizard and works fine with very smooth rpm with arrow keys, as well as by hitting the play buttons next to current, duty, and position fields. However when i hit play next to RPM, I get same erratic, loud motor behavior and in the rpm real time readout the RPM oscillate +-500 around the entered set point.
I'm using a 75 kv hub motor from link below
http://www.diyeboard.com/dual-hub-motor ... p-617.html
UPDATE: I set max breaking voltage and and wattage to 0, this seems to solve the problem, though I'm guessing this eliminates any ability to use break! Not ideal...
I have a similar setup with a VESC connected to arduino over UART using this library
https://github.com/bastianraschke/ESP8266VESC.
The motor was configured using VESC tools wizard and works fine with very smooth rpm with arrow keys, as well as by hitting the play buttons next to current, duty, and position fields. However when i hit play next to RPM, I get same erratic, loud motor behavior and in the rpm real time readout the RPM oscillate +-500 around the entered set point.
I'm using a 75 kv hub motor from link below
http://www.diyeboard.com/dual-hub-motor ... p-617.html
UPDATE: I set max breaking voltage and and wattage to 0, this seems to solve the problem, though I'm guessing this eliminates any ability to use break! Not ideal...
-
- Posts: 943
- Joined: 25 Mar 2016, 12:29
- Location: Delft, Netherlands. [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Re: Setting a speed (RPM) using UART
The PID values used to control the motor RPM need to change depending on a bunch of factors. So the ones by default in the VESC_TOOL are not that good. You need to tune the PID parameters for the RPM feedback.
Who is online
Users browsing this forum: No registered users and 7 guests