Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    andypugh
    @andypugh
    @Paule2002 Addendum: The docs here (https://github.com/rene-dev/stmbl/blob/master/docs/src/Getting%20Started.adoc ) were written by a Mac user. The nneil repository is new to me, and might be more up to date.
    Paule2002
    @Paule2002
    I managed to flash the .bin´s with the new STM32CubeProgrammer which was super easy. Thank you for your support.
    Marian Omnibus
    @rabrabar
    @issyvarsano ok
    andypugh
    @andypugh
    John Dammeyer
    @jcdammeyer
    @andypugh As the comments say. It's just a commercial product designed for a specific need but maybe overkill for 99% of the applications?
    wiesi-94
    @wiesi-94

    Hello,
    I have a problem with the configuration of a DC motor. When i use the haas.txt configuration the motor jumps on the table.

    I have played with all parameters but i couldn't found a working configuration.

    This is my setup:
    Input: 320V rectified mains
    Motor connected to U & W
    The motor was originally operated with a maximum of 190V and 16A. And has an armature resistance of 0.8Ω.
    I mounted the optical encoder directly on the motor shaft.

    Which parameters do I have to adjust so that the motor runs smoothly?

    Nico Stute
    @crinq
    which parameters did you change?
    wiesi-94
    @wiesi-94
    I have increased and decreased the following parameters: conf0.r, conf0.l, conf0.j, conf0.psi, conf0.cur_p.
    The max_ac_cur is set to 10.
    But i always ended up with the parameters form the haas.txt file. They work best but still very bad.
    image.png
    After a few seconds I get a Fault 6: saturation error
    Nico Stute
    @crinq
    playing with parameters will not work, you need to measure them or find a datasheet
    if you can compile and flash new firmware you can try the autotuning in the sys_id branch (needs new HV and LV firmware) https://github.com/rene-dev/stmbl/blob/sys_id/docs/src/tuning.adoc#auto-tuning
    sys_id is experimental and might not work
    John Dammeyer
    @jcdammeyer
    This is what I used with my DC Servos but it never really worked very well.
    '''# KL-34-180-90 DC Servo Motor - Haas Clone
    link pid
    link dc
    link enc_fb0
    link enc_cmd
    link misc
    conf0.r = 0.925
    conf0.l = 0.0025
    conf0.j = 0.00034
    conf0.psi = 0.3
    conf0.max_force = 8
    conf0.max_ac_cur = 20
    conf0.mot_fb_res = 1000
    conf0.cmd_res = 2000
    conf0.high_dc_volt = 120
    conf0.max_dc_volt = 150
    conf0.max_vel = 344
    conf0.cur_p = 0.7
    linrev0.scale = 6
    enc_cmd0.mode = 1'''
    '''# Now enable drive if external signal there
    fault0.en=io0.C78'''
    Nico Stute
    @crinq
    haas.txt is a very old config for our vf0
    it's not suitable for a motor without a machine
    John Dammeyer
    @jcdammeyer
    What does that mean, "motor without a machine"?
    wiesi-94
    @wiesi-94
    Are there compiled *.bin files available for the sys_id branch?
    Nico Stute
    @crinq
    no
    8 replies
    highbiker
    @highbiker
    Hi,
    I have a question about the Jumper 2. I have Motor with resolver feedback and the resolver provides a temperature sensor (temperature sensitive resistance). As I guess from the STMBL schematics I have to unconnect the Jumper 2. Otherwise the AIN would always read the value for 5V. Is that correct?
    grafik.png
    Nico Stute
    @crinq
    yes, but currently there is no software support for calculating the temperature from the adc reading
    you only get the voltage on pin 7
    1 reply
    Marian Omnibus
    @rabrabar
    @crinq I have a Stegmann SRS50-HFA0-K01 hiperface encoder. As I have seen previously, for now only sin+cos is used and it will work as an incremental encoder. Does this mean no index pulse, no fixed commutation signals and motor moving randomly on the startup? What about twisted pairs, should sin&refsin go to sin+&sin- input, same with cos and refcos. Should I connect data pair to ref+- (blue pair), or leave it unconnected and use it insted for PTC? I need brown pair to supply +12v, so I will switch the jumper. It looks like the ADC is only on the brown pair, so I will have to connect PTC to the screw terminal, or can I use the RJ45 somehow?
    Marian Omnibus
    @rabrabar
    I'm having trouble in locating graphical schematic for 4.1...
    Nico Stute
    @crinq
    sin/sinref -> sin+/sin-, ...
    sin, cos normally works with 5V, you only need 12V for the hiperface stuff
    i think you can connect the data pair and implement the protocol later
    you don't need the ptc, the i^2t observer is good enough for normal operation
    but you can connect it to the analog inputs (needs pullup/down + software to convert to temperature)
    Marian Omnibus
    @rabrabar
    Ok, that simplifies the cabling a bit. I checked and its a real thermistor, but I will leave it unconnected for now as there are no free pairs left.
    Marian Omnibus
    @rabrabar
    The sin&cos look like 1vpp signal, and looks right with 5v supply. I see it converted to square on two 65176 (pin 1). With default config, res_fb0 it shows something in servoterm on the graph along with position error, i changed to 1vpp_fb0 and i see no reaction when turning. Where to get more info?
    Marian Omnibus
    @rabrabar
    no comp with this name..
    Nico Stute
    @crinq
    link enc_fb0
    fb_switch0.mot_pos = enc_fb0.ipos
    Marian Omnibus
    @rabrabar
    wow!
    the red graph should wrap around after one revolution?
    Nico Stute
    @crinq
    yes
    arsenixprime
    @arsenixprime
    Are there any lower voltage variants of stmbl that are still active/supported? I have seen OtterControl, and mention of a 160V version in the history here. I'm doing a conversion which is only 90v. The full stmbl seems like overkill for this use (especially considering availability of various parts is limited).
    John Dammeyer
    @jcdammeyer
    It's not really overkill. The STMBL is a really nice open source servo drive. Even if your motor is only 90V the higher voltage rating won't make any difference. Now if you had a 48V motor then there are other options perhaps but go above about 80V and the STBML is one of the more interesting choices.
    arsenixprime
    @arsenixprime
    this matches my observations! thank you! just have to build or find one then
    boerderpatrol
    @boerderpatrol
    Is the second feedback connector for outputting the servos position from the servo direct to whatever controller one is using ? Providing real time feedback?
    Nico Stute
    @crinq
    it's for dual feedback systems
    e.g. hall + encoder or encoder + glass scale or encoder + torque sensor
    if you write software you can use it to send information to the controller
    hello110300509
    @hello110300509
    what kind of algorithm is used for the pos_filter in stmbl
    hello110300509
    @hello110300509

    float pos_error = minus(PIN(pos_in), PIN(pos_out));
    float vel_error = PIN(vel_in) - PIN(vel_out);

    if(PIN(en) > 0.0){
    PIN(acc_out) = kp pos_error + ki vel_error;
    PIN(vel_out) += period PIN(acc_out);
    PIN(pos_out) = mod(PIN(pos_out) + period
    PIN(vel_out));
    }
    else{

    Nico Stute
    @crinq
    look at the velocity observer published by onno krah
    hello110300509
    @hello110300509
    thanks

    J. Holtz, M. Höltgen and J. O. Krah, "A Space Vector Modulator for the High-Switching Frequency Control of Three-Level SiC Inverters," in IEEE Transactions on Power Electronics, vol. 29, no. 5, pp. 2618-2626, May 2014.
    doi: 10.1109/TPEL.2013.2280768
    keywords: {Vectors;Switches;Switching frequency;Inverters;Pulse width modulation;Electric potential;Field-programmable gate array (FPGA);high-switching frequency;low-voltage three-level inverters;silicon carbide;three-level space vector modulation},
    URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=6589196&isnumber=6709815

    J. -. Krah and J. Holtz, "High-performance current regulation and efficient PWM implementation for low-inductance servo motors," in IEEE Transactions on Industry Applications, vol. 35, no. 5, pp. 1039-1049, Sept.-Oct. 1999.
    doi: 10.1109/28.793364
    keywords: {Pulse width modulation;Current control;Switching frequency;Microcontrollers;Space vector pulse width modulation;Regulators;Control system synthesis;Thermal degradation;Modulation coding;Decision making},
    URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=793364&isnumber=17214

    J. -. Krah and J. Holtz, "Total compensation of line-side switching harmonics in converter-fed AC locomotives," in IEEE Transactions on Industry Applications, vol. 31, no. 6, pp. 1264-1273, Nov.-Dec. 1995.
    doi: 10.1109/28.475696
    keywords: {Power harmonic filters;Active filters;Pulse width modulation;Pulse width modulation converters;Power system harmonics;Electromagnetic interference;Counting circuits;Low pass filters;Inductance;Switching frequency},
    URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=475696&isnumber=10141

    J. Holtz and J. O. Krah, "Suppression of time-varying resonances in the power supply line of AC locomotives by inverter control," in IEEE Transactions on Industrial Electronics, vol. 39, no. 3, pp. 223-229, June 1992.
    doi: 10.1109/41.141624
    keywords: {Resonance;Power supplies;Substations;Vehicles;Frequency;Signal generators;Electromagnetic interference;Railway communication;Communication system signaling;Programmable control},
    URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=141624&isnumber=3804

    J. Holtz and J. O. Krah, "Adaptive optimal pulse-width modulation for the line-side converter of electric locomotives," in IEEE Transactions on Power Electronics, vol. 7, no. 1, pp. 205-211, Jan. 1992.
    doi: 10.1109/63.124592
    keywords: {Pulse width modulation converters;Pulse modulation;Rail transportation;Pulse width modulation;Surfaces;Vehicles;Synchronous generators;Resonance;Resonant frequency;Voltage},
    URL: http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=124592&isnumber=3516

    which one
    hello110300509
    @hello110300509
    Thank you
    hello110300509
    @hello110300509

    float a, b, y;

    switch((int)PIN(mode)) {
    case PHASE_90_3PH: // 90°
    a = u - v;
    b = w - v;
    y = u / 3.0 + v / 3.0 + w / 3.0;
    break;

    case PHASE_120_3PH:  // 120°
      a = u * 2.0 / 3.0 - v / 3.0 - w / 3.0;
      b = v / M_SQRT3 - w / M_SQRT3;
      y = u / 3.0 + v / 3.0 + w / 3.0;
      break;
    
    case PHASE_180_2PH:  // 180°
      a = 0;
      b = (u - w) / 2.0;
      y = (u + w) / 2.0;
      break;
    
    case PHASE_180_3PH:  // 180°
      a = v;
      b = (u - w) / 2.0;
      y = (u + w) / 2.0;
      break;
    
    default:
      a = 0.0;
      b = 0.0;
      y = 0.0;
    in the clark transformantion , what is the meaning of mode,
    We generally use the Clark transformantion as PHASE_120_3PH, Why the stmbl has the other modes
    Nico Stute
    @crinq
    for dc and 2ph motors
    hello110300509
    @hello110300509
    thanks. what is the meaning of PHASE_90_3PH and PHASE_180_3PH
    hello110300509
    @hello110300509
    Which component complete the initial posistion identification for stmbl
    Nico Stute
    @crinq
    fb_switch if the feedback is not absolute