2014-10-28 12:20:28 +00:00
|
|
|
stmbl
|
|
|
|
=====
|
2015-01-18 20:23:51 +00:00
|
|
|
stmbl is an open source servo drive designed for Retrofitting CNC machines and Robots. It supports Indutrial AC and DC servos with up to 320V and 1kW.
|
|
|
|
##### Hardware version 31
|
|
|
|
![bot](http://rene-dev.github.io/iramx31bot.jpg)
|
|
|
|
![top](http://rene-dev.github.io/iramx31top.jpg)
|
2014-10-28 12:20:28 +00:00
|
|
|
|
2014-11-08 08:51:00 +00:00
|
|
|
##### Driving a Bosch Turboscara
|
|
|
|
https://www.youtube.com/watch?v=Ue98HE76paI
|
|
|
|
##### Drivetest
|
|
|
|
https://www.youtube.com/watch?v=sMeV4SCu4TA
|
2015-01-18 20:23:51 +00:00
|
|
|
##### Drivetest with asymmetrical load
|
|
|
|
https://www.youtube.com/watch?v=seEV_i7o1NI
|
2014-10-28 12:20:28 +00:00
|
|
|
|
2015-01-18 20:23:51 +00:00
|
|
|
####Supported Motors
|
|
|
|
* Synchronous AC Servos
|
|
|
|
* DC Servos
|
2014-11-10 21:45:14 +00:00
|
|
|
* IRAMXv2 Hardware testet up to 320V
|
2014-10-28 12:20:28 +00:00
|
|
|
|
2015-01-18 20:23:51 +00:00
|
|
|
####Supported Feedback systems
|
|
|
|
* Resolvers
|
|
|
|
* Incremental encoders
|
|
|
|
* sin/cos encoder interpolation
|
|
|
|
|
2014-10-28 15:20:56 +00:00
|
|
|
####TODO
|
|
|
|
* AC Async
|
|
|
|
* saving parameters to flash
|
|
|
|
|
2014-10-28 12:20:28 +00:00
|
|
|
####Directories
|
|
|
|
* hw/eagle/ Eagle board files and schematics
|
|
|
|
* hw/spice/ Spice simulation for resolver interface
|
2015-01-18 20:23:51 +00:00
|
|
|
* src/ STM32F4 code, command, feedback and control loop
|
|
|
|
* stm32f103/ STM32F1 code, running on the HV side, generating PWM
|
2014-10-28 12:20:28 +00:00
|
|
|
* term/ Terminal with scope and local history. Supports UHU servo and stmbl.
|
2014-10-28 15:20:56 +00:00
|
|
|
|
|
|
|
|
|
|
|
####Building the firmware
|
|
|
|
##### Requirements
|
|
|
|
* gcc-arm-none-eabi-gcc https://launchpad.net/gcc-arm-embedded/+download
|
|
|
|
* stlink https://github.com/texane/stlink
|
2014-10-28 15:30:11 +00:00
|
|
|
|
2014-10-28 15:20:56 +00:00
|
|
|
##### Flashing
|
|
|
|
Add gcc and stlink to your $PATH
|
2014-10-28 15:30:11 +00:00
|
|
|
|
|
|
|
make
|
|
|
|
make burn
|
2014-10-28 15:20:56 +00:00
|
|
|
|
|
|
|
####Building Servoterm
|
|
|
|
##### Requirements
|
|
|
|
* cmake >= 2.8
|
2014-11-21 11:05:47 +00:00
|
|
|
* gcc >= 4.8 or clang
|
2014-10-28 15:20:56 +00:00
|
|
|
* wxwidgets >= 3.0
|
|
|
|
* libserialport http://sigrok.org/wiki/Libserialport
|
2014-10-28 15:30:11 +00:00
|
|
|
|
2014-10-28 15:20:56 +00:00
|
|
|
##### Compiling
|
2014-10-28 15:30:11 +00:00
|
|
|
|
|
|
|
cd term/
|
|
|
|
mkdir build/
|
|
|
|
cmake ../
|
|
|
|
make
|
2014-11-24 09:35:41 +00:00
|
|
|
|
|
|
|
####Using Servoterm
|
|
|
|
##### Testing HAL
|
|
|
|
HAL can be tested without any hardware connected to the STM32F4discovery.
|
|
|
|
* Flash STM32F4discovery(STlink and USB OTG must be connected)
|
|
|
|
* Launch Servoterm, Click refresh, and connecto to STM32 Virtual ComPort
|
|
|
|
|
|
|
|
entering ? prints a list of hal pins.
|
|
|
|
The current default config is for a 4 pole AC permanent magnet motor with resolver feedback, using an encoder for command.
|
|
|
|
|
|
|
|
> net0.fb <= res0.pos = 0.000000
|
|
|
|
|
|
|
|
net0.fb is driven by res0.pos, and its current value is 0. Pins can be connected to other pins, or fixed values.
|
|
|
|
|
|
|
|
This example connects the sine wave generatror to wave view 0.
|
|
|
|
Offset and gain can be controlled with the sliders below Channel 1(black).
|
|
|
|
```
|
|
|
|
term0.wave0 = sim0.sin
|
|
|
|
sim0.amp = 10
|
|
|
|
sim0.freq = 5
|
|
|
|
```
|
|
|
|
To disconnect a pin, connect it to itself
|
|
|
|
```
|
|
|
|
term0.wave0 = term0.wave0
|
|
|
|
```
|