Giter VIP home page Giter VIP logo

olliw42 / storm32bgc Goto Github PK

View Code? Open in Web Editor NEW
549.0 89.0 263.0 413.16 MB

3-axis Brushless Gimbal Controller, based on STM32 32-bit microcontroller

Home Page: http://www.olliw.eu/storm32bgc-wiki/

License: Other

Perl 3.26% Batchfile 0.01% Python 1.42% JavaScript 1.31% CSS 0.03% HTML 0.07% C++ 74.78% Processing 0.07% C 4.10% Makefile 11.41% MATLAB 1.32% Shell 0.05% CMake 0.08% GDB 0.01% Raku 0.08% BitBake 0.08% TypeScript 1.94%

storm32bgc's Introduction

STorM32 BGC

STM32 32-bit microcontroller based 3-axis brushless gimbal controller board

scheme and design by OlliW (except of STorM32 v4.1)
v0.17: layout by Martinez and OlliW
v4.1: design by KrattWorks

latest board version: v3.3, v4.1

the STorM32 BGC boards and all other hardware published here are open source hardware, under the terms of the TAPR Open Hardware License as published by the Free Hardware Foundation, see http://www.tapr.org/ohl.html

the firmwares are free and the GUI is open source, for the details of the terms of usage/licenses see here

further resources:
- project web page http://www.olliw.eu/2013/storm32bgc/
- thread at rcgroups http://www.rcgroups.com/forums/showthread.php?t=2055844
- wiki for the documentation http://www.olliw.eu/storm32bgc-wiki/

v4.1 Board

Board specifically made for NT and TSTorM32 setups, with on-board motor drivers.

v3.3 Boards

Boards specifically made for NT and TSTorM32 setups.

STorM32 v3.3m/i

General purpose version.

STorM32 Raspberry Pi Hat

Hat for the Raspberry Pi.

STorM32 Micro Series

Series of stackable boards with 20x20 mm hole pattern: Main board, NT Motor-Encoder module, NT Triple Motor module, NT Logger module.

changes in v3.3:
- board specifically designed for NT and T-STorM32
- no motor drivers on board
- 3 NT plugs to make it easy to connect several NT modules
- NT-X plug carrying also the battery voltage
- 5 V power rail on the NT bus, with sufficient "juice"
- Rx&Tx on NT bus swapped, to avoid cable crossing to connect with NT modules
- support of stacking with a "high-power" extension board
- MPU9250 on board, spi (no i2c anymore!)
- firmware update procedure via USB
- ESP8266 port for WIFI connectability
- CAN bus port
- no BOOT0 button, smaller RESET button
- 0402 size parts
- board size as small as I could get it with a 2 layer design: 40 x 25 mm
- mounting holes, 3 mm diameter, 35 mm apart

v1.x Boards

changes in v1.3:
- voltage regulator in DPak package
- AUX2 instead of 3.3V pin at AUX port
- solder jumper to disconnect bluetooth led
- values of resistors R12,R13,R22 changed
changes in v1.2:
- minor issues of v1.1 corrected
- Futaba S-bus support
- Spektrum sattelite connector
- usb disconnect network modified to suite F4 processors (thanks ala42!)
- usb voltage protection diode added (as in v0.17)
- further minor changes in scheme and layout
changes in v1.1:
- reverse voltage protection added
- layout supports TC4452 motor drivers in DFN package for increased power capabilities
- high-side pnp open collector output for driving an IR led added
- additional connector for I2C#2 port added
- larger solder holes and pads for battery power connection
- improved pin arrangement for easier use

Pictures

pictures of the v2.4 board

pictures of the v1.2 board (with DFN packages) and v1.3 board (with SOIC packages):

storm32bgc's People

Contributors

natiz avatar olliw42 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

storm32bgc's Issues

MOST usful feature suggestion

Hi, yesterday i though of super feature to add to board - current draw info. SO people can see in "real time" how much current is drawn so by this we can know how good we balanced gimbal, If you dont have ability to add amps - you maybe can think something by using info you sending to motor controllers. SO if there is high amount of correction sent -this means bad calibration (of course if gimbal is in steady position).
I think such feature would be great.

10 magnets on motor at 0.90 i2c

Hello! Have motors with 10 magnets, but in program 0.90 may set minimum 12. Motor work, but have hissing sound in many positions.
What im may set 10 magnets?
drv8313, pcb diy as 1.31
-1260338951710250283

Website problem

Hello, I want to recalibrate and update my gimbal which is a few years old. I try to download the software for the storm32 bgc to do this, but it looks like the website www.olliw.eu is not working. Is this a known problem? Or is there another place where I can find the storm32bgc software?

unable to calibrate "imu1 is not present or on healty!"

hi, i tried to calibrate my gimbal, i have installed imu2, and he working as expected, but when i want to calibrate i cannot bypasss this erro, in wizard i disabled imu1 check, but not help :(
can anyone say, what i do wrong?
image
image
image
image

CRC calculation

I'm writing a library to communicate with Storm32 running v0.96 firmware and have problems with CRC calculation. Using o323BCG-Tool I inspect messages sent to the storm32 and I am having problems replicating the same CRC values.

Example communication:
Get Version
FA00013334
FB060160005F0003FFA63B LEN:6 COUNT:11 CRC:3BA6 CRC2:0x0000!

However, my calculation using official MavLink library and/or Pyton for data "0x00 0x01" never result in CRC 0x34 0x33:

Python:

>>> crc = crcmod.predefined.Crc('crc-16-mcrf4xx')
>>> crc.update(bytes.fromhex('0001'))
>>> crc.hexdigest()
'E131'

Surprisingly using the answer (060160005F0003FF), all tools arrive at the same checksum:

>>> crc = crcmod.predefined.Crc('crc-16-mcrf4xx')
>>> crc.update(bytes.fromhex('060160005F0003FF'))
>>> crc.hexdigest()
'3BA6'

Can there be an issue in how CRC calculation is implemented?

about python library

hi olliw42 , I want to control storm32 with python code.

Can I control storm32 only with python code that you commited in this repo?

So I want to use only .py file ( No firmware, gui program)

If it is impossible, then how do i use py script ?

this is for autonomous drone with stm32 ( not pixhawk!! )

thank you.

Storm32NT 2.11e IMU orientation switched

Hi,
with 2 NT IMUs connected (Ensys NT V2.0) the measurements of the "Configure Gibal tool" IMU orientation are switched:

Orientation of IMU1 is IMU2 and IMU2 is IMU1.

Storm32bgc Wiki down

Hi Olliw42, dein (sehr hilfreiches Wiki) meldet momentan den Fehler "Fatal exception of type MWException". Ist die Seite dauerhaft down oder nur ein Fehler beim Tippen passiert?
LG
--Seeelefant

Question: how one could reach the most responsive control and highest rotation speeds?

Hello I have two maybe uneducated questions,
1) Are there rotation speed limitations hard-coded inside a firmware?

I turn off the speed and acceleration limitations of the STorM32 gimbal by using o323BGCTool.
The gimbal rotates faster, but still it is much slower when compared to what the powerful BLDC engines can provide - I see much faster rotations when I turn the gimbal to a different position with my hand then it is commanded to be in, then after I release it - it is returning to the original position much, much faster then what I get when I simply send MAVLINK rotation commands to it.

2) What approach would you suggest to obtain minimum latency for gimbal control?
For example I would like to achieve similar responsiveness of control like I would have with servo motors that are turning the plane control surfaces.
Should I go to the direct control via RC inputs or Mavlink commands are sufficient?

Thank you for your time.

Can't connect to gimbal - "Read...Aborted!"

Hi,

I just purchased a GoodluckBuy gimbal with the v1.31 Storm32 board. I have installed the driver for my ttl-usb converter and plugged it in. I was able to open up the V0.8 GUI and flash its firmware - yet after firmware flashing is successful, I can't seem to boot up the gimbal from my computer. It says Read...Aborted, and asks me to read first. Yet when I press read, it gives me the same error message. Could you please help?

Can I control the gimbal through a raspberryPi without the hat?

I'm working on a quad-copter project where I want all the commands for the gimbal controller to be sent through the onboard pi computer.
I am hoping to code something where the gimbal will receive inputs on where it should point and respond accordingly.
Is this something I can do with the Storm32 controller? Any advice or direction would be greatly appreciated :)

When the frost, the suspension begins chaos

When I start to use the suspension when the frost is at -5 and below (I leave the house to the street). After some time (1-5 minutes) the suspension starts to throw in different directions, chaos begins. But after rebooting everything comes back to normal. Sensor used on I2C error 0.
If the suspension is frozen for 5-10 minutes on the street, then the mayhem does not occur
....
Когда я начинаю использовать подвес при морозе в -5 и ниже (выхожу из дома на улицу). То через какое то время (1-5 минут) подвес начинает кидать в разные стороны, начинается беспредел. Но после перезагрузки все приходит в норму. Используется датчик на I2C ошибок 0.
Если подвес проморозить минут 5-10 на улице то беспредела не просиходит

Question: Can you use the storm 32 as a driver

Hi,
I am desperately looking for a way to drive gimbal motors with an arduino. I don't use the gimbal motors in a gimbal, so the storm32 board isn't helping. However since it has the capability to drive these motors, maybe there's a way to use it to speed controll the motors based on arduino input? No stabilization whatsoever is needed though..

STorM32 BGC board v1.10

This board does work perfectly, it hasn't any electrical issues.

However, it has some minor mistakes/imperfections:

  • the labelling of the SWD port is incorrect, it should be SWDIO,GND,SWCLK,3.3V (instead of GND,SWCLK,SWDIO,3.3V)
  • the two big solder holes for the battery cable are missing solder rings on the bottom
  • the sequence of pins of the I2C#2 port is reverse as compared to that of the MPU I2C port (hence, and IMU module connected the MPU port MUST NOT be connecetd to the I2C#2 port, and vice versa)

Obviously, these points will be taken care in the next release.

STorm32 GIMBAL CONTROLLER

Hi everyone, I want to control STorM32 gimbal controller uisng mavlink .
board v1.32
f.v.--0.90
So can anyone guide me to solve .

STorM32 BGC board v0.17

this board doesn't (yet) have a reverse battery protection
please be very carefull and DO NOT CONNECT THE BATTERY WITH INCORRECT POLARITY!
this would destroy many of the TC4452 drivers, and maybe other parts too

the solder pads for the tactile switches are small, and mechanically fragile
please glue the two switches to the print board!

I have build and tested now several boards, besides the two issues above the board works exactly as expected :)

Is firmware OpenSource

Hi i guess this is stupid question - but does firmware source is open source? or GUI app?
I guess not yes? :)

Does betacopter work on the stock solo?

Does BetaCopter include the slew rate code to safely operate on the stock Solo Cube? I would like to give it a try but don't want my ESCs to shut off mid-flight.

CMD_GETDATAFIELDS result does not match documentation

Version: v2.67e ll, OlliW 323BGC, v3.3 F103RC
https://www.olliw.eu/storm32bgc-wiki/Serial_Communication
Looks like CMD_GETDATAFIELDS serial command documentation is inaccurate. For example, if i use 0x0020 = LIVEDATA_IMU1ANGLES, i receive the same data as in Imu1AHRS.R.x, Imu1AHRS.R.y, Imu1AHRS.R.z from command CMD_GETDATA, and if i use 0x0010 = LIVEDATA_IMU1R, i receive the same data as in aImu1Angle.Pitch, aImu1Angle.Roll, aImu1Angle.Yaw
Plus if i want to use 0x0004 = LIVEDATA_IMU1GYRO and 0x0008 = LIVEDATA_IMU1ACC, i cannot find documentation how can i decode these data, CMD_GETDATA comman does not include LIVEDATA_IMU1GYRO and LIVEDATA_IMU1ACC

IMU not available

I tried my level best and went through all the RC group pages and re-flashed the firmware multiple times. But IMU is not available and I'm unable to calibrate it by any means.

Power LED is solid. @olliw42

IMU

Gerber Files for NT Modules (IMU)

Hi @olliw42,

Thanks for this project! Glad to see its still active.

I have an old 1.31 board which I want to revive (been sitting in storage since 2015), and am looking for an NT IMU module for it, as I only have I2C IMUs, which are limited to the v0.96 firmware.
I saw the very limited options for sourcing the NT modules, so I thought about maybe sourcing the board myself, via one of the PCB manufactures (such as JLPCB), which require Gerber files.
Would you be able to export those in Gerber format, for example for the storm32-nt-imu-v42-g4?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.