Skip to content

murdemon/stmbl

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,720 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Join the chat at https://gitter.im/rene-dev/stmbl

DISCLAIMER

THE AUTHORS OF THIS SOFTWARE ACCEPT ABSOLUTELY NO LIABILITY FOR ANY HARM OR LOSS RESULTING FROM ITS USE. IT IS EXTREMELY UNWISE TO RELY ON SOFTWARE ALONE FOR SAFETY. Any machinery capable of harming persons must have provisions for completely removing power from all motors, etc, before persons enter any danger area. All machinery must be designed to comply with local and national safety codes, and the authors of this software can not, and do not, take any responsibility for such compliance.

This software is released under the GPLv3.

STMBL

This Repository is a fork of the original project STMBL, an open-source servo drive designed for Retrofitting CNC machines and Robots. It supports Industrial AC and DC servos.

You can read the documentation to learn more about this project.

We are proposing a new revision of the project making significant improvements and updates:

  • H-bridge
  • Power connectors
  • Bulk Capacitor
  • Heat dissipation components and case
  • Other obsolete components

image

image image

H-Bridge

First we needed to replace the original and obsolete H-bridge IRAM256 with a more powerful and easily available one. We chose the Infineon IKCM30F60GD capable of peak output currents up to 60Amps instead of 30 of the original bridge.

Upgrading Power connectors

During our tests with earlier prototypes we noticed that the original power connectors overheated and even got damaged when the board drove big loads.

image

So we decided to replace power connectors, both HV DC input and 3 Phase output with golden plated XT60PW and MR60PW connectors from Amass®, designed for high current up to 60Amps.

Bulk Capacitor

We have relocated big bulk capacitors outside in a rectifier module as close as possible to the drives. Instead internally we kept a more compact MKP Polypropylene snubber capacitor for decoupling the bridge HV power supply.

image

Heat dissipation components and case

We also optimized heat dissipation components and layout, reducing overall volume by half compared to the original design.

image

image

Other obsolete components

there were several other components that have been replaced because they have become obsolete:


Ethercat board

  • /stmbl/lib/soes-esi/ STMBL_ECAT.xml - Description of Ethercat device eeprom.bin - EEPROM file for this configuratio of AX58100

CiA 402 dummy servo drive

Using AX58100 EtherCAT board with STM32 over SPI

This project is CiA 402 csp dummy on STM32F405x. Dummy as in loopback: does nothing, received target position is reported as actual position. CiA 402 is implemented,>

The stuff I am doing aims at STMBL rather than ODrive (hence I started with oldschool StdPeriph libs), but both projects use STM32F405. One EtherCAT codebase done pr>

I have been working on that for some time now, and this is where I got:

  • software licensing prohibits us from using Beckhoff SSC for open source, it leaves us SOES with GPL. For code generation tool, one can purchase EtherCAT SDK from r>
  • hardware (boards designed by me) seems to be working. Slave nodes are reaching OP on both LAN9252 and AX58100
  • measured performance shows that we better focus on AX58100. In freerun, with STM32F40x SPI1 at max speed, ecat_slv() loop takes < 20 us so we can easily get linuxc> Just check out https://github.com/OpenEtherCATsociety/SOES/blob/master/soes/hal/rt-kernel-twrk60/esc_hw.c (ET1100 code) vs https://github.com/OpenEtherCATsociety/SOE>
  • CiA 402 is implemented and works with TwinCAT NC, SOES works in mixed mode with DC sync

Project layout

  • /esi_ref contains relevant ESI file examples from misc sources
  • /lib/cia402 is CiA 402 servodrive state machine implementation, indepenent from used CANopen implementation
  • /lib/soes is copied OpenEthercatSociety/SOES/soes content for easier future upgradeability.
  • /lib/soes/hal/ax58100 has added HAL for AX58100 over SPI
  • /lib/soes_hal_bsp contains PDI drivers (for STM32F4 SPI with StdPeriph)
  • /lib/soes-esi contains CoE Object Dictionary (OD), and EtherCAT Slave Info (ESI)
  • /lib/soes-esi/ax58100_patched contains ESI files prepared for ASIX 58100 ESC by running patch_esi.py script

Hardware

This projec uses AX58100 - SPI breakout rev 1

STMBL pinout

image

image

AX58100 from Aliexpress image

#STMBL PMSM ethercat config

link pid
link pmsm
link smartabs_fb0
link misc
link ethercat
conf0.r = 1.262658 # append to config
conf0.l = 0.019329 # append to config
conf0.polecount = 5.000000 # append to config
conf0.mot_fb_offset = -2.176324 # append to config
conf0.psi = 0.054751 # append to config
conf0.j = 0.000277 # append to config
conf0.o = 0.001396 # append to config
conf0.d = 0.000386 # append to config
conf0.f = 0.041576 # append to config
conf0.pos_bw = 42.811371 # append to config
conf0.vel_bw = 500.000000 # append to config
conf0.vel_d = 7.330830 # append to config

New sserial RS422 bus on 500 Mbaud speed (with adddressing)

link pid
link pmsm
link smartabs_fb0
link misc
link sserial
load avg
avg0.rt_prio = 1.0
avg0.frt_prio = 1.0
sserial0.baude = 500000
sserial0.adr = 2
sserial0.pos_fb = smartabs0.encoder_vals
linrev0.scale = 8388608
avg0.mult = 1
avg0.lpf = 5
avg0.in = sserial0.pos_cmd
linrev0.cmd_in = avg0.out
conf0.r = 1.262658 # append to config
conf0.l = 0.019329 # append to config
conf0.polecount = 5.000000 # append to config
conf0.mot_fb_offset = -2.176324 # append to config
conf0.psi = 0.054751 # append to config
conf0.j = 0.000277 # append to config
conf0.o = 0.001396 # append to config
conf0.d = 0.000386 # append to config
conf0.f = 0.041576 # append to config
conf0.pos_bw = 100 # append to config
conf0.vel_bw = 500.000000 # append to config
conf0.vel_d = 7.330830 # append to config
conf0.vel_g = 0.9 # append to config

If you want to get a prototype of this board contact us here.
"Buy Me A Coffee"

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C 92.8%
  • HTML 5.8%
  • Assembly 0.7%
  • Python 0.2%
  • Makefile 0.2%
  • Linker Script 0.2%
  • Other 0.1%