You are here

VESC Firmware

iq sign reversal at high RPM (was: Duty cycle jumps to maximum when *lowering* current limit)

Submitted by vadimz on Thu, 2022-06-23 14:00

In our robotics-like application we use RPM mode while adjusting current limit - we customized it to allow dynamic modification of the limit by terminal command. I noticed that if the current limit is set below the actual current, the duty cycle jumps to the highest value (95%) and stays there.

For instance, say current limit is set to 1 Amp, and the motor is spinning at 1000 ERPM drawing 0.3 Amp. If I change the limit to 0.2 Amp, the duty cycle jumps to 95% and motor speeds up to max.

Any ideas ?

ADC modified app, problem with braking

Submitted by dpeinado on Wed, 2022-06-22 19:30

Hello. 

I'm coding an app based on ADC. It uses Current no reverse brake center Mode with a hand throttle.

The idea is that when you release the hand throttle, the VESC brakes (the ADC app does it quite well), and if a movement is detected after a time out, then it brakes until the vehicle is stopped. 

The code I did works quite well except in one case. If the motors are running at higher velocity than the maximum (because a slope for instance) then the initial braking does not work at all. With the ADC app it does, but with mine does not.

NRF52832 firmware issues

Submitted by Tumblebeer on Wed, 2022-06-15 14:49

I'm trying to get a 2608011024010 module working on a custom vesc. https://www.we-online.com/catalog/datasheet/2608011024010.pdf

 

The issue I have is that the module uses other pins for RX/TX than the standard firmwares. I can't for the life of me figure out how to build a custom NRF52 firmware.

Does anyone have a guide on how to build a firmware for the NRF52? Or have a .bin with the correct pin assignments?

 

regards

Initial startup time

Submitted by rxty on Thu, 2022-06-02 18:38

Hi together!

I have been googling around for some time now, as well as looking (not too deep) over the firmware source code, but did not find my answer...

It seems like the VESCs take around 5 secs. until they respond to anything (CAN bus, VESC tool USBUART connection, etc). What (and where) is the source of this behaviour?
My goal is to have an almost instant startup, maybe it can be set somewhere i didn't look before.

I am using different HW, old VESCs and also Flipsky, and different (also the newest) Firmware 5.03

Turn on VESC via CAN Message

Submitted by castiaum on Thu, 2022-06-02 12:17

I would like to suggest/discuss a new feature request for the VESC: being able to boot the VESC up via a CAN command.

From my analysis of the source code, my understanding is that the CAN bus is made active whenever power is enabled on the VESC device. Stormcore devices will boot up using an external button or when kickstarting the scooter.

problem with FOC current controller

Submitted by masifsr on Sat, 2022-05-28 21:34

Hi everyone,

I am working on BLDC motor FOC control. I am developing firmware based on VESC firmware. But i am having some problem with Vq value that keeps on increasing.

I have recorded the following waveforms.

ia,ib,ic values as shown in the figure-1.(When motor is running at 40 rpm).

https://drive.google.com/file/d/1tHZQX-4irIUovVOT7dZfZIXkkkD7rye2/view?u...

Request for Example: Can communication with Libcanard

Submitted by WoofyBunny on Fri, 2022-05-13 03:44

I have a python script that i'm using to interface with several VESCs. It's currently using pyuavcan v0. After some testing, it has become clear that python is inadequately equipped to deal with the timings required, and that I need to upgrade to c++.  With the recent naming update with uavcan into dronecan / libcanard / pyuavcan / cyphal, i have become very confused as to the easiest way to write a c++ application to interface with VESCs, and which library or service i should use to accomplish this..

adiv5.h adiv5_dp_abort function confusion

Submitted by dsppower on Sun, 2022-05-08 19:26

I am a newer for VESC.  Compiler can not pass when I migration to IAR in adiv5_dp_abort function.  This function should return a value, but it defined void. I'm not sure the influence, but it maybe cause error discard in some case.

static inline void adiv5_dp_abort(struct ADIv5_DP_s *dp, uint32_t abort)
{
    return dp->abort(dp, abort);
}

Dual Vesc reading second wheel RPM

Submitted by rdavenport3 on Tue, 2022-05-03 15:32

Hello, I am testing out arduino control of a dual VESC. UART connection to the master is working well. I am defining this as the COMM port that I originally paired with the remote. I am preparing a test to see what the other COMM port responds to when asking for wheel speed RPM. Both motors have hall sensors.

 

Pages

Subscribe to RSS - VESC Firmware