ghmartin77 / b-robot_evo2_esp32 Goto Github PK
View Code? Open in Web Editor NEWESP32 port of JJRobots brilliant B-ROBOT_EVO2
License: GNU General Public License v2.0
ESP32 port of JJRobots brilliant B-ROBOT_EVO2
License: GNU General Public License v2.0
Due to changes in the ESP32 core, some small changes are needed to successfully compile.
This is the error message generated on compiling with ESP32 core 1.06 on the latest Arduino 1.8.16
call of overloaded 'requestFrom(uint8_t, size_t, bool)' is ambiguous
This PR should address the issue #3
Hi,
This project is exactly what I was looking for. ESP32 based B-Robot Evo2. Thank you for making it available.
I built the robot with the 3D printed body of early version of Evo here:
https://www.thingiverse.com/thing:700637
I am using a CNC shield for now to avoid dealing with capacitors and resistors for a4988 drivers. I am also using 3x 18650 battery pack.
When I turn on the robot laying on the floor, it goes through calibration and moves the wheels a little bit I guess to indicate that the calibration is complete. The motors remain disabled. But when I put it on its legs (sort of), the motors kick in and the wheels start moving. I run into two issues:
The #1 above is a problem. I am not sure if #2 is expected or that's a problem too, because I can't test it while keeping the robot on the floor due to #1 issue.
I was wondering which Nema 17 motors are you using? I am using 17HS4401. They seem to be powerful enough.
The 3x 18650 batteries I am using are providing 11.5V and each battery is capable of delivering 7A, so that should be plenty.
I also tuned the Vref on A4988 to 1.2V to match with my motor specs.
I have my MPU6050 installed in the same direction as in your picture.
I am not sure what I am doing wrong. Any suggestions would be helpful.
I am attaching some pictures here:
Hi !
First of all thx for this code. We try to build the B-Robot and come along with a problem reading the Gyro.
// MPU6050_read n bytes
int MPU6050_read(int start, uint8_t *buffer, int size)
{
int i, n, error;
Wire.beginTransmission(MPU6050_I2C_ADDRESS);
n = Wire.write(start);
if (n != 1)
return (-10);
n = Wire.endTransmission(false); // hold the I2C-bus
if (n != 0)
return (n);
Wire.endTransmission(false) returns no longer a value like 0. It returns a value of 7 because the data transfered to the I2C device is queued. And the result is a not working MPU6050.
Even rewriting the part to check for n != 7 didn´t work correctly.
So did you ever compile your sketch against the latest git master of the ESP32 Arduino Core?
Would be great if you can make a test and come back maybe with a fix.
regards
Dominik
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.