Difference between revisions of "STMBL v4 Servo Drives"
(added fan information) |
|||
Line 470: | Line 470: | ||
| [https://www.digikey.com/en/products/detail/phoenix-contact/1844252/349198 Phoenix Contact 1844252] | | [https://www.digikey.com/en/products/detail/phoenix-contact/1844252/349198 Phoenix Contact 1844252] | ||
|} | |} | ||
+ | |||
+ | === Fan === | ||
+ | |||
+ | Sunon Fans ME45101V1-000U-A99 | ||
+ | |||
+ | * [https://www.digikey.com/en/products/detail/sunon-fans/ME45101V1-000U-A99/2815750 Sunon ME45101V1-000U-A99 | DigiKey] | ||
+ | * [https://www.mouser.com/ProductDetail/369-ME45101V1000UA99 Sunon ME45101V1-000U-A99 | Mouser] | ||
+ | * [https://www.sunonusa.com/product/dc-fan-45x45x10-7/ Sunon ME45101V1-000U-A99 | Sunon USA] | ||
+ | * [https://www.sunon.com/en/ProductFileDownload.aspx?oid=C899DDB1990F1B2A# ME45101V1-0000-A99 Product File Download] | ||
+ | * [https://www.sunon.com/en/PROSEARCH_FILES/(D04072500G-02)-0.pdf Sunon ME45101V1-0000-A99 Specification ("(D04072500G-02)-0.pdf", D04072500G-02, 12.01.2017)] | ||
+ | * [https://www.sunon.com/en/PROSEARCH_FILES/Doc-0045137-4-0.stp Sunon ME45101V1-0000-A99 STEP File ("Doc-0045137-4-0.stp", A201021110G-2, 2020-07-31, 109063)] | ||
+ | * [https://web.archive.org/web/20201224172438/http://portal.sunon.com.tw/pls/portal/sunonap.sunon_html_d_pkg.open_file?input_file_name=7264646F632F3230313430312F3137363536372F28443034303737343030472D3030292D332E706466 Sunon ME45101V1-000U-A99 Specification ("(D04077400G-00)-3.pdf", D04077400G-00, 11.01.2013)] (broken link from USA site via Wayback Machine) | ||
+ | * [http://portal.sunon.com.tw:7778/images/sunon/rddoc/201401/176567/(D04077400G-00)-3.pdf Sunon ME45101V1-000U-A99 Specification ("(D04077400G-00)-3.pdf", D04077400G-00, 11.01.2013)] (direct link to above file) | ||
== Online Resources == | == Online Resources == |
Revision as of 21:10, 10 April 2021
Overview
Open source servo drives made by Rene Hopf. The name STMBL comes from "STM32" and "BrushLess".
Software
The servo drive can be configured and debugged using it's Micro USB connector, which provides a USB CDC (UART/serial) interface. You can using any terminal emulator such as PuTTY, minicom, etc. However, to easily configure the non-volatile settings and plot real-time oscilloscope data, there is dedicated software:
https://github.com/STMBL/QtServoterm
Wiring
There are three RJ45 jacks, one intended for control signals going to the drive, and two for feedback from the servo. In most cases only the first of the two feedback ports will be used, but in some cases there are multiple types of feedback, such as an ABZ encoder along with UVW hall sensors.
Control
RJ45 Pin | RJ45 Color | Step/Dir | Mesa SS |
---|---|---|---|
1 | orange-stripe | STEP+ | RX- |
2 | orange | STEP- | RX+ |
3 | green-stripe | DIR+ | TX- |
4 | blue | FAULT- | GND |
5 | blue-stripe | FAULT+ | GND |
6 | green | DIR- | TX+ |
7 | brown-stripe | EN+ | VCC |
8 | brown | EN- | VCC |
NOTE: the STMBL drives do not actually use the VCC/GND connections, they just end up driving differential transceivers (with non-differential signals). The STMBL expects to have a common logic ground with the Mesa card.
Mesa Smart Serial RJ45 Pinout:
RJ45 Pin | Function | Direction |
---|---|---|
1 | TX- | Mesa → STMBL |
2 | TX+ | Mesa → STMBL |
3 | RX- | Mesa ← STMBL |
4 | GND | Mesa → STMBL |
5 | GND | Mesa → STMBL |
6 | RX+ | Mesa ← STMBL |
7 | +5V | Mesa → STMBL |
8 | +5V | Mesa → STMBL |
Mesa Smart Serial Terminal Block Pinout:
TB Pin | RJ45 Color | Function | Direction |
---|---|---|---|
1 | blue | GND | Mesa → STMBL |
2 | blue-stripe | GND | Mesa → STMBL |
3 | green | RX+ | Mesa ← STMBL |
4 | green-stripe | RX- | Mesa ← STMBL |
5 | orange | TX+ | Mesa → STMBL |
6 | orange-stripe | TX- | Mesa → STMBL |
7 | brown-stripe | +5V | Mesa → STMBL |
8 | brown | +5V | Mesa → STMBL |
Feedback
RJ45 Pin | RJ45 Color | Resolver | 1Vpp | UVW | Quad. | RS-485 | RS-422 | UART | USART | UART HD | USART HD | SPI | SPI HD |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | orange-stripe | Sin+ | Sin+ | U+ | A+ | A | RX+ | RX+ | MISO+ | CS+ | |||
2 | orange | Sin- | Sin- | U- | A- | B | RX- | RX- | MISO- | CS- | |||
3 | green-stripe | Cos+ | Cos+ | V+ | B+ | CLK+ | CLK+ | CLK+ | CLK+ | ||||
4 | blue | Ref- | W- | Z- | B | Z | TX- | TX- | TX/RX- | TX/RX- | MOSI- | MOSI- | |
5 | blue-stripe | Ref+ | W+ | Z+ | A | Y | TX+ | TX+ | TX/RX+ | TX/RX+ | MOSI+ | MOSI+ | |
6 | green | Cos- | Cos- | V- | B- | CLK- | CLK- | CLK- | CLK- | ||||
7 | brown-stripe | AIN | VCC | VCC | VCC | VCC | VCC | VCC | VCC | VCC | VCC | VCC | VCC |
8 | brown | GND | GND | GND | GND | GND | GND | GND | GND | GND | GND | GND | GND |
Motor Output Power
Pin | 3-phase | 2-phase | DC |
---|---|---|---|
1 | U | A+ | + |
2 | V | A-/B- | |
3 | W | B+ | - |
NOTE: the pins are numbered left-to-right when the STMBL is oriented with the USB port on the top.
NOTE: no motor ground is provided on the pluggable connector, instead a ring terminal must be run separately to a ground lug.
TODO: provide timing diagrams to show relative phase lead
Sample Configurations
Measure Resistance/Inductance
Configuration:
link rl
Manually run:
rl0.en = 1
After it finishes (the graph will settle down and the noises will stop), the measured resistance and inductance can be printed by printing the state of the following pins using the console:
rl0.r rl0.ld
Commutation Test
Configuration:
link pid link pmsm # whichever type of feedback is being used link enc_fb0 link misc # motor winding characteristics conf0.r = 3.256717 conf0.l = 0.025102 # motor current/torque rating conf0.max_force = 14.8 conf0.max_ac_cur = 5 # inertia, which is dependent on the mass (technically moment of inertia) being spun conf0.j = 0.00005 # how many electrical "revolutions" per mechanical revolution conf0.polecount = 1 # for basic quadrature encoders conf0.mot_fb_res = 5000 # if index isn't available, disable looking for it #enc_fb0.en_index = 0 # correct the feedback polarity/offset conf0.mot_fb_rev = 0 conf0.mot_fb_offset = 0.0 # correct the (open loop) output direction (clockwise/counter-clockwise) conf0.out_rev = 0
Run manually:
link com_test
If the motor is turning in a very choppy manner, then the test current might be too low. Change hv0.d_cmd
from the default value of 1.0 to something higher:
hv0.d_cmd = 2.0
If absolute angle is available (index pulse enabled and seen, or if using an absolute encoder), then you can keep correcting the feedback offset (the units are radians):
conf0.mot_fb_offset = 0.2
You may need to zoom in to do fine adjustments. This is done by decreasing the period (increasing the frequency) of term0.send_step
:
term0.send_step = 20
Jog Test
link pid link pmsm # whichever type of feedback is being used link enc_fb0 link misc # this is the important part link jog_cmd # ... # (same configuration used after tuning with com_test) # ... # configure the max speed and acceleration stp0.max_vel = 20 stp0.max_acc = 1000 # allow turning further in the same direction stp0.min_pos = -1000 stp0.max_pos = 1000
You may have to play with the conf0.j
parameter, be careful as having it too high can easily cause oscillations. Be ready to disable the motor!
conf0.j = 0.0001
You can also increase the motor's top speed:
stp0.max_vel = 200
And later see how much the acceleration can be pushed:
stp0.max_acc = 40000
Replacement Parts
Terminal Blocks
STMBL Name | Part Name | DigiKey Part # |
---|---|---|
P2 "PTC", P3 "Logic Power", P15 "Alt. CMD" | Phoenix Contact 1840366 | 277-2417-ND |
P5 "Outputs", P9 "Inputs" | Phoenix Contact 1840421 | 277-5715-ND |
P6 "Motor DC Input" | Phoenix Contact 1911965 | 277-9026-ND |
P8 "Motor 3-phase Output" | Phoenix Contact 1911978 | 277-11013-ND |
Alternate replacement connector information:
Name | Connector | PCB Header |
---|---|---|
Motor DC Power Input | Phoenix Contact 1757019 (12A) Phoenix Contact 1911965 (16A) Amphenol Anytek TJ0251530000G (12A) Würth Elektronik 691351500002 (12A) |
Phoenix Contact 1757242 (12A) Phoenix Contact 1923869 (16A) |
Motor DC Power Output | Phoenix Contact 1757022 (12A) Phoenix Contact 1911978 (16A) Amphenol Anytek TJ0351530000G (12A) |
Phoenix Contact 1757255 (12A) Phoenix Contact 1923872 (16A) |
Logic Power Alt. Cmd. Thermistor |
Phoenix Contact 1840366 Amphenol Anytek TJ0211530000G |
Phoenix Contact 1844210 |
Inputs Outputs |
Phoenix Contact 1840405 |
Phoenix Contact 1844252 |
Fan
Sunon Fans ME45101V1-000U-A99
- Sunon ME45101V1-000U-A99 | DigiKey
- Sunon ME45101V1-000U-A99 | Mouser
- Sunon ME45101V1-000U-A99 | Sunon USA
- ME45101V1-0000-A99 Product File Download
- Sunon ME45101V1-0000-A99 Specification ("(D04072500G-02)-0.pdf", D04072500G-02, 12.01.2017)
- Sunon ME45101V1-0000-A99 STEP File ("Doc-0045137-4-0.stp", A201021110G-2, 2020-07-31, 109063)
- Sunon ME45101V1-000U-A99 Specification ("(D04077400G-00)-3.pdf", D04077400G-00, 11.01.2013) (broken link from USA site via Wayback Machine)
- Sunon ME45101V1-000U-A99 Specification ("(D04077400G-00)-3.pdf", D04077400G-00, 11.01.2013) (direct link to above file)
Online Resources
https://github.com/rene-dev/stmbl
https://github.com/rene-dev/stmbl/wiki/Pinouts
https://github.com/rene-dev/stmbl/blob/master/docs/src/Getting%20Started.adoc