Comments (11)
Thanks! You can remove the bodge wires that you added to the motherboard. Looks like you've got the polarity of the TVS diodes right, the band should be pointing towards the corresponding fuse.
I have added some notes and tips to the main readme file which you'll want to check out!
from balancing-cube.
Hi! Thanks for the remarks. That is good to hear. Please share pictures of your build with us, either here or by sending me an e-mail through my website. That would be nice.
Regarding your questions:
- The hardware errata have been fixed in the files that are available. There is one very minor issue which I have not fixed since it can be easily corrected in software: the pin that I had intended to use for motor speed feedback on motor driver 3 is connected to ADC2 on the ESP32. This ADC does not seem to work well when WiFi is enabled on the ESP32. However, the second analog output is connected to ADC1, hence I just modified the configuration file to swap the signals for the third driver. This works fine. The other pin is connected for motor current feedback purposes, but this signal is not needed and therefore unused.
- I'll try to add some pictures later. For 99% of your issues, inspecting the schematic and using the 3D viewer in KiCad will answer all your questions. However, I noticed that the 3D viewer actually displays the TVS diodes incorrectly. The schematic also shows a bidirectional TVS diode whereas in reality it's just a undirectional one. I'll try to fix that too.
- I'm assuming a certain level of competence. Arduino projects are already very accessible and I know that there are specific issues that one might run into when flashing ESP32 boards. However, I'm not going to cover them here since many tutorials are available concerning these matters.
- The battery cable is a custom job. It uses XT60 connectors. You'll have to build it yourself or order something similar (there should be many options available). I recommend using AWG16 wire. It's about 150 mm long, but again, the required length depends on how you want to route it exactly.
- This doesn't really matter since you can just re-assign each of the x, y and z axes in software by modifying
pins.h
. Do what works well for you. In my case, drivers 1, 2 and 3 are connected to the motors that control the y, z, and x axes, respectively.
Hope this helps. I'll keep the issue open until I add the pictures and fix diode polarity issue in the KiCad project.
from balancing-cube.
For sure! it's coming together:
and:
The second is me trying to program the motors. Did you program like this directly via this custom motherboard? or did you use Maxon's official board first? Still working through trying to get it working.
Just to clarify, I should or shouldn't have these bridges?:
from balancing-cube.
Indeed! I think these new comments reveal the missing piece that was preventing me from commissioning the motor controllers properly. I've got the official Maxon motherboard as well as the referenced tool ordered now. Thanks for the additions! Will post my progress (or email you if you prefer) once I get them.
from balancing-cube.
Indeed! I think these new comments reveal the missing piece that was preventing me from commissioning the motor controllers properly. I've got the official Maxon motherboard as well as the referenced tool ordered now. Thanks for the additions! Will post my progress (or email you if you prefer) once I get them.
Have you been able to get your cube up and running?
If so, what steps did you take to calibrate the gryo and accelerometer?
I have a built cube, but cant seem to get it to stand on any edge. Currently the cube will only enable the motor controllers if it's placed on a specific edge with the wheels towards the top and not towards the bottom like in the video.
As a side note, I had to change some of the pinouts in the pins.h based on the schematic routing. Additionally the battery board schematic is missing the GND connection from the OUT connector to the GND plane, fix this before you send the board to be produced.
from balancing-cube.
Have you been able to get your cube up and running?
If so, what steps did you take to calibrate the gryo and accelerometer?
Did you use the script that I provide? It gives some instructions on how to calibrate the gyro and accelerometer. You can verify whether your work was correct by logging the output of the AttitudeEstimator while placing the cube in certain orientations and/or rotating it about the various axes.
from balancing-cube.
I did use the calibration program and was able to configure the gyro but was a little unclear on how to calibrate the accelerometer or what gains to set to 0 for calibration. I believe my calibration values for the accel are correct since I am getting around 9.8 for the "Calibrated: Acc:" values on the different orientations and 1 for the G-value logging that I added.
What kind of values or ranges should I be looking for to determine if the main cube software is working as intended for the AttitudeEstimator?
Currently I have not been able to get the cube to balance on a corner, I have tried adjusting the PD gains of the main controller and of the wheels (I assume that Kpw and Kdw are the gains for the wheels). However with a little tweaking I have been able to get the edge balancing to work for a while but it seems that something is not entirely correct since the Phi value slowly creeps up and the qe1 and qe3 are increasing over time even though the wheels for those axis are not moving. This could all be related to the accelerometer or gyro since the signs of some of the gains were different than what you had.
from balancing-cube.
I'm still confused about the TVS diodes. Both the schematics and the BOM list bidirectional diodes. The part number on the BOM, CDDFN2-T3.3B, is also bidirectional. If these diodes should be unidirectional, what would be the correct part number?
from balancing-cube.
Also the hardware reference of escon module 24/2 suggests using CDDFN2-T3.3LC which is the predecessor of CDDFN2-T3.3B both of which are bidirectional.
from balancing-cube.
Never mind, I just understood that you were talking about the diodes on the supply voltage :) Thank you so much for open sourcing this btw.
from balancing-cube.
Considering the various design and documentation improvements that have been made since this issue was opened (also the contribution by Cumhur), I will now close this issue.
from balancing-cube.
Related Issues (6)
- Include parts list? HOT 2
- Batteryboard design HOT 1
- fix github About HOT 1
- Overcurrent Error on Escon Controller HOT 5
- Clarifying Questions HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from balancing-cube.