Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pcrnjak/spectral-bldc-python
Python lib for controlling spectral BLDC controllers.
https://github.com/pcrnjak/spectral-bldc-python
bldc foc robot robotics spectral
Last synced: about 2 months ago
JSON representation
Python lib for controlling spectral BLDC controllers.
- Host: GitHub
- URL: https://github.com/pcrnjak/spectral-bldc-python
- Owner: PCrnjak
- License: mit
- Created: 2024-02-21T17:08:39.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-11-26T10:55:52.000Z (about 2 months ago)
- Last Synced: 2024-11-26T10:59:41.289Z (about 2 months ago)
- Topics: bldc, foc, robot, robotics, spectral
- Language: Python
- Homepage:
- Size: 3.05 MB
- Stars: 12
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Spectral-BLDC
[![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) ![Issues](https://img.shields.io/github/issues/PCrnjak/Spectral-BLDC-Python) ![release](https://img.shields.io/github/v/release/PCrnjak/Spectral-BLDC-Python)
Python lib for controlling [spectral BLDC](https://github.com/PCrnjak/Spectral-Micro-BLDC-controller/blob/main/README.md) controllers and [SSG-48 gripper](https://github.com/PCrnjak/SSG-48-adaptive-electric-gripper) over CAN bus.
For more info about this API and all available commands check [DOCS](https://source-robotics.github.io/Spectral-BLDC-docs/apage7_can/)# How to install
pip install Spectral-BLDC
# Basic example
``` py
import Spectral_BLDC as Spectral
import timeCommunication1 = Spectral.CanCommunication(bustype='slcan', channel='COM41', bitrate=1000000)
Motor1 = Spectral.SpectralCAN(node_id=0, communication=Communication1)while True:
Motor1.Send_Respond_Encoder_data()
message, UnpackedMessageID = Communication1.receive_can_messages(timeout=0.2)
if message is not None:
Motor1.UnpackData(message,UnpackedMessageID)
print(f"Motor position is: {Motor1.position}")
print(f"Motor speed is: {Motor1.speed}")else:
print("No message after timeout period!")
print("")
time.sleep(1 )
```# More examples
Check out the [Examples folder](https://github.com/PCrnjak/Spectral-BLDC-Python/tree/main/examples) for more examples!
Available examples:
* Send_respond_1
* Get_encoder_data
* SSG48_gripper_testThis project is entirely open-source and free for all to use. Any support, whether through donations or advice, is greatly appreciated. Thank you!
[![General badge](https://img.shields.io/badge/PayPal-00457C?style=for-the-badge&logo=paypal&logoColor=white)](https://paypal.me/PCrnjak?locale.x=en_US)
[![General badge](https://img.shields.io/badge/Patreon-F96854?style=for-the-badge&logo=patreon&logoColor=white)](https://www.patreon.com/PCrnjak)