1
0
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:
andypugh 2017-12-13 15:24:48 +00:00 committed by GitHub
parent f99c2e26ab
commit 951c63d340
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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.