GithubHelp home page GithubHelp logo

akshastry / stewart-platform-esp32 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nichub/stewart-platform-esp32

0.0 1.0 0.0 9.25 MB

https://ouilogique.com/plateforme-de-stewart-esp32/

License: GNU General Public License v3.0

C++ 22.33% C 29.03% Shell 0.06% Python 0.27% G-code 45.50% HTML 1.22% JavaScript 1.59%

stewart-platform-esp32's Introduction

S T E W A R T    P L A T F O R M    O N    E S P 3 2

ABSTRACT

This is an implementation of a 6-degrees of freedom hexapod — also called Stewart Platform — on the ESP32. The actuators are PWM rotary servo motors and the program is written in Arduino C for PlatformIO Core 4.0. This project is done in the frame of the P19 project at the Microclub.

Currently the platform can be operated:

The kinematics calculation is done in Hexapod_Kinematics.cpp and can be also be compiled in a desktop C++ program to cross check calculations (i.e. without actuating the servos). I managed to compile it with g++ on macOS Mojave. See hexapod_desktop_app/hexapod_desktop_app.cpp.

PlatformIO VERSION

The platformio.ini file is written for PlatformIO Core 4.0. If your PlatformIO version is older, you can upgrade with the command platformio upgrade. If you don’t want to upgrade, you can pick the old platformio.ini file here : https://github.com/NicHub/stewart-platform-esp32/blob/bc47243335e571190a0a5bb4c3ecf3de08c9b6ca/platformio.ini.

HOME PAGE OF THE PROJECT

The home page is a work in progress, but the video shows what the platform can do. The original implementation used an analog joystick, but the current version uses a Wii Nunchuck.

https://ouilogique.com/plateforme-de-stewart-esp32/

GEOMETRY SETTINGS

Geometry settings are defined in Hexapod_Config_1.h. The meaning of the parameters is also explained in doc/hexapod-parameters.pdf.

COMPONANTS & WIRING

ESP32

WeMos ESP32 WROOM https://www.banggood.com/fr/WeMos-ESP32-WiFi-Bluetooth-Development-Board-Ultra-Low-Power-Consumption-Dual-Core-ESP-32-ESP-32S-p-1175488.html

PCA9685

https://www.mouser.ch/ProductDetail/adafruit/3416/?qs=F5EMLAvA7ICYzX4Av%252bhRHw==

External power supply

I currently use a 5 V / 10 A power supply, but 5 V is not enough. I need to upgrade to 7 V. https://aliexpress.com/af/32810906485.html

Rods

M3x100mm (140mm total) https://aliexpress.com/af/32775630549.html

Servo horn arm

Tritanium color https://aliexpress.com/af/32843432977.html

Servos

Pins are defined in Hexapod_Config_1.h.

servo ESP32 pin
0 13
1 15
2 27
3 14
4 33
5 25

Nunchuck

The Nunchuck library uses Wire.h and standard I²C connections internaly.

Pins are seen from left to right and top to bottom looking at the Nunchuck connector.

Cut the cable extension to connect to the ESP32.

color signal ESP32 pin
white SCL IO22
NC
red GND GND
green VCC VCC
black ATT IO4 (Not required, gives VCC if Nunchuck is connected)
yellow SDA IO21

EXTERNAL LIBRARIES

The external libraries are installed automatically during the first build because they are declared under lib_deps in platformio.ini.

I²C Addresses

Default address New address Device
0x40 0x41 PCA9685
0x70 = PCA9685 (broadcast)
0x40 = Nunchuck (accel)
0x52 = Nunchuck (joystick)
0x68 = GY-91 (MPU9250)
0x76 = GY-91 (BMP280)

CREDITS

Primary source of inspiration

Kinematics

Serial buffer for G-Code

FURTHER READING

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.