mirror of
https://github.com/rene-dev/stmbl.git
synced 2024-12-24 09:32:10 +00:00
Update Getting Started.adoc
This commit is contained in:
parent
f99c2e26ab
commit
951c63d340
@ -43,13 +43,13 @@ In addition to motor control and feedback each STMBL drive has two
|
||||
|
||||
== Anatomy of the STMBL
|
||||
|
||||
The STMBL consists of two separate PCBs (though they are made as one,
|
||||
assembled and then split to be connected in the manner shown below.
|
||||
The STMBL consists of two separate PCBs (though the PCB is assembled as
|
||||
a single panel and then split to be connected in the manner shown below)
|
||||
The vertical (top) board is the Low Voltage (LV) board and this handles
|
||||
the command, feedback and configuration tasks. The STM32F4
|
||||
microprocessor is in charge of these tasks.
|
||||
The lower board is the
|
||||
high-voltage (HV) board and this is where the power driver is situated.
|
||||
The lower board is the high-voltage (HV) board and this is where the
|
||||
power driver is situated.
|
||||
The only connection between the two boards is a serial connection
|
||||
through a 5kV isolation IC. To make this possible there is a second
|
||||
STM32 chip on the lower board. This is an STM32F3 and is referred to as
|
||||
@ -99,26 +99,30 @@ connectors which can accept core wires up to 1.6mm and overall cable
|
||||
diameters up to 9.0mm.
|
||||
|
||||
Feedback 0 will typically be the encoder or resolver mounted on the
|
||||
motor and feedback 1 can be used to connect either Hall sensors for
|
||||
initial commutation or (potentially) scales mounted directly to the
|
||||
motor. Feedback 1 is optional but can be used to connect Hall sensors
|
||||
for initial commutation or (potentially) scales mounted directly to the
|
||||
axes. See the <<Pinouts>> section of this document for pin assigments
|
||||
and typical wiring colour codes.
|
||||
|
||||
The 6-way socket below the 24V logic power connector contains the three
|
||||
digital outputs. These are current-sinking (switch-to-GND) and each is
|
||||
adjacent to a 24V suppply pin. DIO0 (nearest the top) is the one that is
|
||||
typically used to operate the holding brake on motors so-equipped.
|
||||
adjacent to a 24V suppply pin. To operate a 24V load just wire + to the
|
||||
+24V pin and 0V to the DIO pin. DIO0 (nearest the top) is the one that is
|
||||
typically used to operate the holding brake on brake-equipped motors.
|
||||
The outputs are rated for at least 2A and have fyback diodes, so can be
|
||||
used to directly control inductive loads such as relays, soilenoid
|
||||
valves or contactors.
|
||||
|
||||
On the top of the drive are two analogue inputs, with 0V and 24V on
|
||||
either side to that a potentiometer can be connected. These are
|
||||
On the top of the drive are two +/-30V analogue inputs, with 0V and 24V
|
||||
on either side to that a potentiometer can be connected. These are
|
||||
typically used as variable-threshold digital inputs and are used, for
|
||||
example, for axis limit switches. However it is relatively simple to
|
||||
configure them for other uses in the HAL layer.
|
||||
configure them for other uses in the HAL layer.
|
||||
|
||||
Three LEDS on top of the unit indicate drive status. Red displays error
|
||||
codes (using <<Blink Codes,blink codes>>). Amber indicates that all is well but the
|
||||
drive is not enabled, and green shows that the drive is active and
|
||||
operating normally.
|
||||
codes (using <<Blink Codes,blink codes>>). Amber indicates that all is
|
||||
well but the drive is not enabled, and green shows that the drive is
|
||||
active and operating normally.
|
||||
|
||||
If no LEDs on the top of the board are illuminated, and the green power
|
||||
LEDs near the power connectors _are_ illuminated then it is probably
|
||||
@ -131,7 +135,7 @@ firmware is loaded.
|
||||
STMBL uses a Hardware abstraction layer to configure the drive for
|
||||
different types of motor, feedback and operation mode.
|
||||
This is conceptually similar to the HAL in LinuxCNC but the format and
|
||||
cmmands are different. Also, all pins are floating point so no data
|
||||
commands are different. Also, all pins are floating point so no data
|
||||
conversion is needed.
|
||||
|
||||
An Application called <<Servoterm>> is used to interact with the HAL
|
||||
@ -144,32 +148,32 @@ and the <<Servoterm Commands,servoterm commands>>
|
||||
Assuming that there is already a motor connected to the drive and that
|
||||
the drive it powered up the <<Servoterm>> display should already be
|
||||
indicating the motor position feedback. Rotating the motor shaft by hand
|
||||
might produce something like:
|
||||
might produce something like the image below. (Though it equally well
|
||||
might not if the configuration is set up for a motor significantly
|
||||
different to the one connected)
|
||||
|
||||
image::images/servoterm3.png[]
|
||||
|
||||
Though it equally well might not if the configuration is set up for a
|
||||
resolver and the motor has an encoder.
|
||||
image::images/servoterm3.png[].
|
||||
|
||||
It should be possible to make the motor turn at this point without any
|
||||
further configuration. The commands that follow will set the hv0 module
|
||||
up to simply rotate the motor open-loop in direct-mode. (like a stepper
|
||||
motor) with an excitation current of 0.5A. This should be safe for most
|
||||
up to rotate the motor open-loop in direct-mode. (like a stepper motor)
|
||||
with an excitation current of 0.5A. This should be safe for most
|
||||
motors that the STMBL is a good match for, but you should choose your
|
||||
own value. For an explanation of direct and quadrature current see the
|
||||
section on <<Motor Control Basics>>
|
||||
|
||||
`hv0.pos = sim0.vel`
|
||||
`hv0.d_cmd = 0.5`
|
||||
`hv0.en = 1`
|
||||
`hv0.pos = sim0.vel` +
|
||||
`hv0.d_cmd = 0.5` +
|
||||
`hv0.en = 1` +
|
||||
|
||||
The rotation speed can be altered by changing the sim0 frequency:
|
||||
|
||||
`sim0.freq = 5`
|
||||
|
||||
STMBL v4 HAL contains a number of components that have built-in linking
|
||||
behaviour.
|
||||
|
||||
behaviour. This very much simplifies the HAL setup, and much of the
|
||||
detail of individual HAL modules will not need to be considered to set
|
||||
up a typical motor.
|
||||
|
||||
=== HAL modules
|
||||
The Servoterm command `show` will list all the HAL modules that can be
|
||||
@ -178,7 +182,6 @@ loaded (whereas `list` will show all those that currently are loaded)
|
||||
The modules available are as follows (the link will take you to the
|
||||
reference section for each component)
|
||||
|
||||
|
||||
<<HAL Reference#acim_ttc,acim_ttc>> - The module used for AC induction
|
||||
motors (cf pmsm) ttc is Torque to Current+
|
||||
<<HAL Reference#adc,adc>> - Analogue to digital converter for Resolver
|
||||
@ -264,15 +267,14 @@ somewhat odd, but does provide for good cross-platform availability.
|
||||
Servoterm can be downloaded from https://github.com/STMBL/Servoterm-app[
|
||||
this link].
|
||||
Use the green button to download as a ZIP file and then extract on your
|
||||
PC (Linux / Mac / PC). Open Google Chrome and click the three-dots icon
|
||||
PC (Linux / Mac / Windows). Open Google Chrome and click the three-dots icon
|
||||
-> more-tools -> extensions.
|
||||
|
||||
[width=600, border]
|
||||
image::images/Extensions.png[]
|
||||
|
||||
Click
|
||||
"developer mode" and then "Load Unpacked Extension". Then navigate to
|
||||
the downloaded files and select the "Servoterm" folder.
|
||||
Click "developer mode" and then "Load Unpacked Extension". Then navigate
|
||||
to the downloaded files and select the "Servoterm" folder.
|
||||
You should then be presented with the following, including an option to
|
||||
launch the application.
|
||||
|
||||
@ -303,6 +305,7 @@ file
|
||||
* Jog - when ticked the left-right arrow keys on the keyboard can be
|
||||
used to jog the motor.
|
||||
* Trigger - stops the graph plot until the trigger condition is met.
|
||||
i.e when term0.wave0 crosses zero.
|
||||
* Trigger Status Indicator - not a button
|
||||
* Edit Config - Brings up a sub-window in which the basic system config
|
||||
can be edited.
|
||||
|
Loading…
Reference in New Issue
Block a user