S1 is not axeptated by GUI

Continuing the discussion from USB Not Recognized - Solid Orange LED:

I have the same S1 and it is not axeptated by GUI. Also, some commands from Anaconda don’t work.
I bought the odrive S1 from ODRIVEROBOTICS on 18.7.2024.2024-08-07T22:00:00Z
IMG_7949221

Ich habe schon alles probiert, aber ohne Erfolg

Hi! What color is the LED on the ODrive when you connect it over USB? Does it show up in the Windows device manager? Does it show up in ODrivetool? Have you previously used an ODrive v3.6 or Zadig with this computer?

Continuing the discussion from S1 is not axeptated by GUI:

es leuchtet die grüne und die blaue led.
usb
Ja ich habe vorher mit odesc 3.6 und odrive 3.6 aus china alles mögliche ohne erfolg probiert.
auch mit zadig.
in der gui wird folgendes angezeigt.
gui
Ich habe auch schon versucht alle zadig veränderungen zu beseitigen.

Ich habe noch einmal alle zadig treiber enfernt.
und jetzt ist alles in Ordnung.
Danke für die schnelle Hilfe!!!

Great to hear, good luck :slight_smile:

After successfully setting up the S1 with web GUI, the following questions arise.
I want to operate 2 skateboard motors on one axle.
Can I connect 2 S1s to CAN and control them analogously with a potentiometer on GPIO1.
With the S1, are GPIO1 and Hall A on the same pin?
Where do I connect the potentiometer and where Hall?
I can also use the sensorless mode, but I can’t find it in the web GUI.
The motor data is:
KV: 80 kV
Rated voltage: 24-36 V.
Rated power: approx. 250 W.
12 poles

Can I connect 2 S1s to CAN and control them analogously with a potentiometer on GPIO1.

Currently, we don’t support mirroring over CAN.

With the S1, are GPIO1 and Hall A on the same pin?

Yes

Where do I connect the potentiometer and where Hall?

You cannot use these two at the same time on the S1. Also note that the S1 has a 2.7kohm pullup on the hall pins – see here for more information. Generally I recommend against using the analog input on the S1 without an external op-amp buffer.

I can also use the sensorless mode, but I can’t find it in the web GUI.

Sensorless only works in torque or velocity control, with a minimum speed requirement of usually a few hundred RPM. It’s an experimental feature, so it’s not shown in the GUI configuration wizard by default. You can enable it in the GUI inspector tab by setting both the load_encoder and commutation_encoder to SENSORLESS_ESTIMATOR0, then running save_configuration(). See here for more info: Hardware Configuration — ODrive Documentation 0.6.9 documentation. Note there was a bug that was fixed in the devel branch of ODrive firmware – you can update your ODrive with odrivetool dfu --channel devel using ODrivetool.

Can you explain more as to your use case so I can give some better recommendations? What are you building?

I recommend one of two approaches here:

  1. The first approach would be to use R/C PWM (1-2ms pulse width) instead of analog input. This is more accurate, and can be fed to two ODrives at the same time. It also allows you to use the hall inputs simultaneously. Something like this board can be used to convert the potentiometer to R/C PWM, and then that can be connected to the PWM input pin on the ODrive S1 (pin G08). Note you will need to connect ISO_VDD/ISO_GND to the same 5V power supply you’re using to power the analog to PWM board.
  2. My recommended approach would be to connect the potentiometer to an Arduino, then write code to read the potentiometer value and send it to the ODrive over either UART or CAN. This will give you more control, allowing you to more easily enable and disable the ODrive, as well as check errors and change settings.

with one engine, variant 1 worked well.
I ordered the second S1.
What do I have to consider in order to operate both motors on one axle?

Hi! Great to hear it’s working. You should be able to just make the settings on the ODrives identical and feed the same PWM into each of them.

Works great.
Thanks for the help.

Awesome :slight_smile:

everything works great on the 36V battery. but with the power supply I always have too little voltage after switching it on.can I delay the closed loop a bit?

odrv.axis0.config.motor.current_soft_max = 38
odrv.axis0.config.motor.current_hard_max = 58
odrv.axis0.config.motor.calibration_current = 15
odrv.axis0.config.motor.resistance_calib_max_voltage = 10
odrv.axis0.config.calibration_lockin.current = 10
odrv.axis0.motor.motor_thermistor.config.enabled = False
odrv.axis0.controller.config.control_mode = ControlMode.VELOCITY_CONTROL
odrv.axis0.controller.config.input_mode = InputMode.PASSTHROUGH
odrv.axis0.controller.config.vel_limit = 6
odrv.axis0.controller.config.vel_limit_tolerance = 4.166666666666667
odrv.axis0.config.torque_soft_min = -math.inf
odrv.axis0.config.torque_soft_max = math.inf
odrv.can.config.protocol = Protocol.NONE
odrv.config.gpio8_mode = GpioMode.PWM
odrv.config.gpio8_pwm_mapping.min = -7
odrv.config.gpio8_pwm_mapping.max = 7
odrv.config.gpio8_pwm_mapping.endpoint = odrv.axis0.controller._input_vel_property
odrv.axis0.config.enable_watchdog = False
odrv.axis0.config.encoder_bandwidth = 100
odrv.hall_encoder0.config.enabled = True
odrv.axis0.config.load_encoder = EncoderId.HALL_ENCODER0
odrv.axis0.config.commutation_encoder = EncoderId.HALL_ENCODER0
odrv.config.enable_uart_a = False

in Python zusätzlich eingeben um automatisch beim eischalten zu starten
odrv0.axis0.config.startup_closed_loop_control = True
odrv0.save_configuration()

DC BUS UNDER POWER
I have found a variant to prevent this error message when switching on.
I start the engines at low speed.

Hi - sorry, this isn’t an ODrive error message. Can you post the exact error it gives you?

The error message is “DC_BUS_UNDER_VOLTAGE”
When operated with a battery (36V) everything works well.
with a power supply (48V 30A)Comes the message “DC_BUS_UNDER_VOLTAGE” after switching on.
when I turn it on via WEB GUI I don’t get this message.
since the voltage probably only drops below 10.5V for a short time, my question is: can I suppress this message in some way?

When you say “switching on”, do you mean after enabling the motor? Or after turning the power supply on in the first place? If the former, sounds like your drawn current or acceleration is too high.

Yes, the current is too high for a short time after switching on the engine.
In normal operation, however, I need this acceleration to keep the speed constant under load.
My idea is to suppress the message “DC_BUS_UNDER_VOLTAGE” as much as possible.

Sounds like you should get a higher current power supply. Alternatively, you can set an active bus power limit to the power output of your supply: Hardware Configuration — ODrive Documentation 0.6.10 documentation

With a larger power supply (1000W) everything worked great.
Thanks for the professional help!!!