![elexperiment](/img/default-banner.jpg)
- 34
- 196 985
elexperiment
Приєднався 27 жов 2007
The army of robots is waking up
some experiments with balancing robots at the Maker Festival in Chemnitz
Переглядів: 91
Відео
Poly-lamp prototypes: using technology to make a pretty looking, modular and innovative lamp
Переглядів 3375 місяців тому
This video shows an update on my poly-lamp project. In this project, I am making a lamp that builds up from discrete modules; each module is an octahedron. The idea behind the project is that there are a lot of technologically intelligent things, but in the end the lamp should be very simple and intuitive, and just pretty, and make people wonder. This is an attempt to bring technology and art c...
Self righting demonstration
Переглядів 4646 місяців тому
For the full video, see: ua-cam.com/video/0hMiit8dLTc/v-deo.html
Cheap balancing robot can now right itself!
Переглядів 1,4 тис.6 місяців тому
In this video I explain some of the challenges in getting a balancing robot to right itself. Besides having a centre of gravity that is sufficiently low, the motors and electronics driving them should be able to deliver a high peak torque. It took some time to get the electronics being able to do so; in this video I explain you why. If you have any questions or suggestions: comments and feedbac...
A very low cost balancing robot: coping with friction (update on previous video)
Переглядів 3129 місяців тому
A small update to the previous video. Adding a PD controller to the steering of the robot really helps to reduce issues with friction. I haven't done any tuning the controllers by the way...
A very low-cost balancing robot with DC motors: first working prototype, and some issues
Переглядів 3459 місяців тому
A friend designed this very nice frame, with DC motors instead of stepper motors. The motor will be powered by a single lithium 18650 cell. These choices enable a very low cost design, but bring some challenges. In this video, I discuss some of the challenges and potential solutions for them.
The bare minimum of a balancing robot (which costs only a couple of euros)
Переглядів 3,4 тис.9 місяців тому
This video shortly describes a prototype of (one half of) a balancing robot. I'm trying to see whether DC motors can be used, as the stepper motors are very nice from a control point of view, but are quite heavy and costly. Source code: gitlab.com/kloppertje/balancingrobotdc/-/tree/4879944ebf0ac8a9e796339b4991b26095f6bc7e
Making a 10 cent solder stencil using KiCad, kapton tape, and a laser cutter
Переглядів 54510 місяців тому
In this video, I show how to very quickly make solder stencils for SMD reflow soldering, using KiCad, a sheet of paper, kapton tape, and a laser cutter. The process is super simple, and can is finished in a couple of minutes. The output as shown wasn't perfect. I made two mistakes (and was too lazy to do another take): the DXF file should have been mirrored in lightburn, and the air assist of t...
3D printed laminar flow nozzle for very stable water jet output
Переглядів 2,1 тис.Рік тому
I'm trying to make a very stable, laminar flow. I don't want the flow to visibly move, so let's say less than 0.1mm of movement. I want laminar flow as it is optically very satisfying. In this video I show you the third (fourth? I lost count) iteration in trying to do so. In this version, I use a 3D printed laminar flow nozzle. It consists of an adapter (to fit the tube), a section with very sm...
Ring launcher: high voltage + high current + plasma triggered switch = extreme acceleration + fun
Переглядів 633Рік тому
Don't try this at home! A setup like this is potentially lethal. I've shown a few videos before, but in this video I explain a bit more about the workings. Also, I have now "matured" the setup such that it works reliably, and it is mounted on a compact board. The main elements of the setup are the coil and ring, and a triggered spark gap (plasma switch). This switch can switch 1000 Amps easily,...
Balancing robot now detects step loss and can self right
Переглядів 7 тис.Рік тому
Another long awaited update on my balancing robot! It now has a detection for step loss, and even better: it can self-right! Watch until the end for seeing this feature in action. Sorry for the not very high quality audio :). It's my first video in which I've put some more effort. The latest code and algorithms can be found in Git in the ps3control branch: gitlab.com/kloppertje/balancingrobot/-...
Hands free light control with neopixels and ST VL53L1 optical time of flight
Переглядів 1352 роки тому
Hands free light control with neopixels and ST VL53L1 optical time of flight
Pencil leads apparently explode when connected to 400V
Переглядів 3224 роки тому
Pencil leads apparently explode when connected to 400V
High speed balancing robot based on ESP32
Переглядів 46 тис.5 років тому
High speed balancing robot based on ESP32
Hoverboard hack, part 1: remote control
Переглядів 23 тис.6 років тому
Hoverboard hack, part 1: remote control
Inverted pendulum robot V2: making progress
Переглядів 1,1 тис.6 років тому
Inverted pendulum robot V2: making progress
Eddy current ring launcher, first test
Переглядів 5197 років тому
Eddy current ring launcher, first test
SMT feeder prototype 2 accuracy test
Переглядів 3,4 тис.8 років тому
SMT feeder prototype 2 accuracy test
Why are you using stepper motors rather than a motor from an rc car for example?
Please include a link to the project page
Hello, it was a very nice project. Well done, and I am amazed at what I saw.... I am Sabah from Iraq. I bought Fly Sky six channels with the scooter and also st-link, but the problem is while downloading the code to the motherboard program. Can you specify the name of the folder that we will download? With thanks and appreciation
Woo hoo!
Awesome, you have reached the army goal already, I only have 3 so far
i turning my one and it the wheels seem to spin then the motherboard goes off ?
This is what im looking for but this video useless
My laptop at 3 am
Thanks for project. I have problem, when compile project, get "the default constructor of "union <unnamed>" cannot be referenced -- it is a deleted function" - problems with plotData. String 842.
Success! I uploaded the new code to to the old robot frame and, after buying a genuine PS3 controller, I now have a little speed demon running around my house. I am still having an issue with it not running on concrete. Since I haven't messed with the default PID values, I suspect that may be part of it. One question: PlatformIO is complaining about the plotdata union{ struct{ . "the default constructor of "union <unnamed>" cannot be referenced -- it is a deleted function" As far as I know, my PlatformIO is up to date. Any ideas? Again, thank you for a great project! Watching this bot faceplant like a dunkard is hilarious!
Hello! Might I ask if you calculated the reynolds number without the infill, as a normal cylinder, or with it? If you calculated it with that patern, are there and formulas you could direct me to? **Just saw your website and the python code, looks great! Just one question, there are more than 30 holes in the geometry, so why is the nStream varibale set to 30? Assuming the nStream variable is for the rectangular sections, I edited your code as follows, feel free to let me know what you think ----------------------------------------------------------------------------------------------------------- import math # Compute Reynolds number for different flow configurations # flowRateLperH = 500 # [l/h] flowRateLperH = 757.082 # [l/h] flowRate = flowRateLperH/3600 / 1000 # [m^3/s] hoseDiameter = 0.014 # [m] hoseArea = (hoseDiameter/2)**2 * math.pi flowSpeed = 1 # [m/s] just to have set a value flowSpeed = flowRate / hoseArea # print(flowSpeed) kinematicViscosity = 0.8927E-6 # [m^2/s] # Now compute for N smaller streams # Idea: split a stream into N smaller streams tubeDiameter = 40E-3 # [m] tubeArea = (tubeDiameter/2)**2 * math.pi fillFactor = 0.7 # Some surface area is lost due to wall thickness print ('Tube Area', tubeArea, '[m]') lineDistancing = 2E-3 cubeArea = (lineDistancing)**2 print ('Cube Area', cubeArea, '[m]') nCubes = tubeArea*fillFactor/cubeArea print ('Number of cubes', nCubes) nStream = nCubes streamArea = cubeArea streamDiameter = math.sqrt(streamArea/math.pi)*2 flowSpeed = flowRate / (tubeArea*fillFactor) Re = flowSpeed*streamDiameter/kinematicViscosity print('Tube diameter %.3f [mm]' % (tubeDiameter*1e3)) print(nStream, ' streams with diameter of %.3f [mm]' % (streamDiameter*1e3)) print('Reynolds number [-]: ', Re) # Compute entrance length # turbulent flow # laminar flow entranceLengthLam = 0.0575*Re*streamDiameter # laminar # entranceLengthTurb = 1.359*streamDiameter*Re**0.25 # turbulent print('Entrance length [m]: ', entranceLengthLam) ---------------------------------------------------------------------------------------------------------------------------------------------- I really liked the project btw, kudos!
Hi there! Thanks for your elaborate comment and the compliments. The approach taken for calculating the area per rectangular cross-section sounds good. I don't remember exactly why I used nStream=30, probably I was just experimenting. One remark is that the computation for the reynolds number might be different for a circular and a rectangular cross-section, but this you'd have to look up somewhere. I've forgotten most of my fluid dynamics courses ;)
@@kloppertje Thanks for the reply! Im glad the 30 value was just experimenting, took me a long time to figure out why it was there. As for the reynolds number, yeah there is a separate equation for rectangular cross sections, but I cant figre out the wall thickness of the infill so I cant calculate it. Im a fourth year mech. eng. student, and this project is really helping me out so thanks again!
Hello again @kloppertje ! I'm currently working on a design project for my course at school and Im using a similar design to the nozzle you have in your videos. I've also modified the python code to better fit my project. I just wanted to thank you again for both the video and taking the time to answer my previous question regarding the python code! Its been nice virtually meeting you, and I hope you have a wonderful rest of your day :)
That's a fascinating idea, you should sell this, honestly I'll buy all of them if there was the opportunity
Thank you :)). My plan is to sell some lamps by the end of this year, either as full product or as a kit. I'll post a video at that point
Nice one! Wondering if any custom PCBs and 3D printed case may help to realize the final robot? If so, we'd love to supply free services and witness the result! (PCBWay zoey)
Thanks for your video, I just posted a make on your thing :)
Nice! Do you have a link?
amazing, geat job !
I need to make a sparkgap switch
Absolutely amazing, the best self balancing robot on youtube. Does the software support mobile phone control or does a ps3 controller have to be used. Thanks!
Yes a mobile phone can be used. The robot connects to a wifi network, and the robot can be controlled by accessing a web page
I appreciate your work! I'm starting to build this robot, I'm absolutely blown away. Thank you very much my friend!
@@Technical_stuff86 thank you and have fun :)
❤❤❤❤❤❤
I plan on building a similar robot soon, and I have already done projects involving pid loops so i understand how to get the robot balancing however i am wondering when you drive the robot forward or backwards do you just change the desired angle you want the robot to be balanced at to move or do you use some other method
Yes that's how I do it, see elexperiment.nl/2018/11/high-speed-balancing-robot-introduction/ For the new robot the outer loop isn't implemented yet as there is no position sensor in the wheels
have you uploaded the code for this, would be interesting to see what the robot is doing during the self righting, i assume you turn the motors at max speed for some short period of time to get the robot close to vertical and then "turn on" the pid balancing again.
Thanks for mentioning; I'll try to push the latest code to the git repository this weekend. The code isn't spectacular (on purpose); I simply turn on the PD controller while the robot is lying on the ground. The code is here: gitlab.com/kloppertje/balancingrobotdc/-/blob/devel/src/main.cpp?ref_type=heads#L159 but since this video I made some changes to it regarding self righting. I'll notify you if I push the code
@@kloppertje just another question, so if all you are doing is turning on the pid controller while the robot is down, why does it not automatically self right after it falls if you don't turn off the pid controller
@@abdulwaheedouabihi5903 To be exact: I simply disable the motors, the PID controller keeps running in software while the robot is lying down :). There is a state machine in the code. If the angle is below a certain value, the robot is probably lying flat. The robot is enabled either when it is near vertical (so, someone put it upright), or when a self-right command is received
@@abdulwaheedouabihi5903 The version of the code used for this video is now pushed, see gitlab.com/kloppertje/balancingrobotdc/-/blob/devel/src/main.cpp?ref_type=heads#L190
@@kloppertje thanks
Maybe a capacitor to provide low resistance higher current supply during the large load spike?
Thanks for your reply! I did a quick experiment with this; a quite large capacitor would be needed. A solution could be to have a diode followed by a buffer capacitor to power just the ESP32. However, this would be a "patch" instead of solving the underlying problem (voltage drop of the source); I'd rather solve the underlying problem than patching it. Experience has learned me that stacking patches instead of solving root causes leads to unmanageable complexity.
You might want to supply the microcontroller via a separate power supply with a filter for conditioning. Inductive loads, like motors, can cause big voltage spikes, positive and negative, which can play havoc with digital electronics. Cool project. Good luck!
@@tolkienfan1972 I'll keep it in mind and test for voltage spikes when making a PCB for this project. Thank you :)
dollar tree boston dynamics :)
Nice thinking man , cool project
I want to build one of those , but I have electrolitic capacitors wich are polarized and I try to take good care of them I am worried about damaging them from the backspike from the coil , do you think a UF diode across the coil would stop the backspike ? Wich diode would you choose ? I guess a small uf4007 diode won't be enough or am I wrong ?
A small diode will probably explode (been there done that). I believe that, if the LCR circuit is designed right, the current will have an "overdamped" shape i.e. the current will not become negative. You could simulate (for example in LTSpice) your circuit to see if this belief is correct
@@kloppertje Mm...yeh I kinda thought same , like using some method so the capacitor would not discharge completly , for example using some kind of fuse in series that would blow up and open the circuit before reaching 0 v , that would make me feel more confident
@@rodriguezfranco3839 I don't fully grasp/remember the workings of a spark gap (as used in this video); perhaps they stop conducting electricity when the current goes through zero? Although this is not good advice, I have never had an electrolytic capacitor explode with my setup 😅 And please, please be aware of the dangers of a setup like this; it's no toy
You are right brother , I am sorry I forgot about the sparkgap , I was thinking about some other chanel I saw wich was manually shorting the gap with a chicken stick , yeh it would stop probably before 0v
Interesting "debugging explanation" Thanks! For the bypassing of the current-sensing - Does the resistor mean that the "protection" features of the circuit 4:35 are no longer active? Aren't you concerned about over-discharge, reverse-polarity (unlikely) or over-charging? On a related topic - would it help (instead of adding a bypassing jumper) to add a second pair of MOSFETs in parallel to the existing pair? This would reduce the drop withouting defeating protections.
Thanks for the comment :). My idea was that the resistor works as a voltage divider. I have *assumed* the protection features are still active but have not tested this (shame). This is bad design; however at the moment I'm using a protected 18650 cell so this doesn't worry me. For later on, when I'll be using an unprotected 18650, this'll be definitely relevant. A second pair of MOSFETs would definitely be a solution; would even be possible on a small footprint :).
Hello, I have seen you at the Eindhoven maker faire and I bought a balancing robot from you. I stil have a lot of fun with it. I was thinking maybe it’s cool to control it using another esp with a joystick but I don’t know how to adjust the code for the balancing robot
Hello, good to hear you're still having fun from the robot :). For setting up a compliation environment, see gitlab.com/kloppertje/balancingrobot/-/tree/ps3control/Software?ref_type=heads For implementing something with an ESP and a joystick, I'd recommend first testing the code on two ESP boards without all the balancing robot code, then when it works integrate it into the balancing robot. That shouldn't be too hard (once you get the compilation environment up and running), the code has a "remoteControl" struct with which the robot can be controlled. gitlab.com/kloppertje/balancingrobot/-/blob/ps3control/Software/src/main.cpp?ref_type=heads#L897 Let me know if you make something and perhaps I can integrate it in the code
Thanks for responding so fast! I am gonna try getting it to work!
im not able to tune the robot it just wobbles and then falls down & where should is save the pid values permanently?
Hi, tuning the robot requires some trial and error. Also, regarding your other questions, the documentation can be found in the gitlab repository, my website, and the youtube videos. You will require a certain amount of problem solving yourself. This is a free, open source project (and quite some time goes into making things open source); it is not a complete guide on how to build a robot.
Im not able to input WiFi credentials when esp32 used as AP (i have also tried the serial monitor approach). It says ssid too long but i have even tried with single digit ssid . Is there a manual method to input those credentials, like in the code. Please help
please make a video explaining some documentation of urs its really hard for a begineer to make sense of this many things
are u using 1/4 or 1/8 microstepping ? im having a real hard time finding it..
gitlab.com/kloppertje/balancingrobot/-/blob/ps3control/Software/src/main.cpp?ref_type=heads#L154
@@kloppertje I'm also not able to connect to wifi by using my credentials in html (although esp32 as AP is visible to me) Its 4am in my country btw🥲
i'm using tmc2208 please tell me whats the microstep resolution i should choose, my robot seems to work at 1/4 but u r saying its 1/16 ?@@kloppertje
does the continuous stabilisation makes it less performant and spends more battery compared to a 4 wheels robot?
Good question. The stepper motors are always on and yes they do consume quite a bit of current. A 4 wheeled robot could be made more efficient. With the battery used in this video battery life is > 5 hours so still pretty good. Also, I'm working on a version that doesn't use stepper motors but DC motors, resulting in a much lower power consumption. From some first tests it appears you can have a battery life of say 5 hours on a single (cheap) lithium cell :)
Hi, can you explain the schematic, many thanks...
Any chance you’ll share the STL files?
The STL is very simple: it's just a cylinder, and the mesh is the infill generated by the slicer :)
Very interesting video 👍👍 Can you please provide the spec of the stepper motors for the bigger robot. I saw that the smaller one uses 17hs3401 but I don't know about the big one.
The biggest version I've used is I think the 17HS4801. Later on I switched to the 17HS4401 and then 17HS3401, because they are cheaper and lighter and apparently still have sufficient torque.
@@kloppertje thank you for the answer, do you have any resources that could help me make a web I terface for the esp32 so parameters can be modified on a servers.
@@arbymohamed6136 I explain some things that use the web interface in this video: ua-cam.com/video/_FOYB26Yeow/v-deo.html In the description of that video is a link to my git repository, which contains code for live setting of parameters using html and websocket servers running on the ESP32
@@kloppertje thank you very much. I have another question. While reading your code I saw that PID_ANGLE_MAX 12, how is this so low while the maxstepspeed is 1500. I know there something I'm missing. Maybe the output of anglepid is multiplied by some factor somewhere in the code ?
@@arbymohamed6136 if I remember correctly it's because the angle pid controller outputs acceleration
Make it look like sponge bob plz.
‘That’s it for today’ 😂
Could you use a mouse sensor looking at the bottom surface?
That might work. Do you have an idea how to keep the sensor parallel to the ground, while the robot is tilting?
@@kloppertje do you need to? You only need accurate measurements while upright. If tilted, ignore the pos sensor
I thought at first it was a reupload of the previous video until I read the whole video name haha
Haha yup, I've added something in the title. Thanks!
@@kloppertje love your vids man keep it up especially the high speed balancing robot very impressive
Would be fun to add a second axis and convert the wheel into a ball
My thoughts exactly :)
Might need a 3rd "passive" wheel, though, like in a ball-mouse.
Yes you would need a construction to keep the ball in place. Another solution would be to actuate the bolt linearly. Then you would be able to steer and balance in 2 directions.
That is very cool !
Thank you :)
Oi! Copyright :p
Please can I have the STL files?
I was controlling my hoverboard with a flysky i6 controller but now the board is not catching the signal from my controller can anyone guide me on this every component on board is fine nothing is short but it's not catching the signal
drive.google.com/file/d/1htTO05NlbKhhiemlGtUqAxqWo7ozHWwT/view?usp=drive_link
Como puedes conseguir tanta velocidad con un motor paso a paso XD.
Could you please share the 3d design files for all the components. I want to make a more smaller version of the nozzle.
Hello 600
A "sharp" winglet can help to cleanly detach the flow from the tube. I can imagine that an abrupt and massive "end-cap" would aid in this direction. Perhaps a hydrophobic coating too.
It looks like the nozzle isnt too stable. So if there is pressure variation in the hose, the nozzle will respond to that with slight movement. Increasing the stiffness of the nozzle mount could reduce the movement of the laminair water flow.
Thanks, will try it in the next iteration!
What is that golden thing with the heatsink? A bleed resistor?
Correct! When power is disconnected, or when a fault situation occurs (for example, over voltage), and after every shot (in case the spark gap doesn't trigger the main charge), the bleeder resistor is active.
@@kloppertje Wow, thanks! That's a very beefy resistor then :P. Necessary of course if you want a quick discharge.
"Never try this at home" So question where did you try that?
Lol, good question :p