JustAnotherMakerChannel
JustAnotherMakerChannel
  • Видео 12
  • Просмотров 128 568
Press Forming Metal With 3D Printed Plastic Tooling
SUCCESSFUL METAL FORMING
In this video I'll demonstrate how to form small metal parts using 3d printed PET & ABS tooling.
These parts are for another project, if you want to see them in use consider subscribing to see the next video.
Amazon link for material: www.amazon.co.uk/dp/B0CRHQ8W73?psc=1&ref=ppx_yo2ov_dt_b_product_details
Music from #Uppbeat (free for Creators!):
uppbeat.io/t/aaron-paul-low/music-for-elevators
License code: KOEIQB9SW51NNPDS
uppbeat.io/t/monument-music/soothing-moments
License code: 0KHHSAAVZV7GYFCJ
Просмотров: 2 469

Видео

Desk Mounted Video Arm
Просмотров 4048 месяцев назад
In this video I make a multi-link arm that clamps to the edge of a desk, at the other end there is a clamp for a phone so that I can record my future videos with multiple shot angles simultaneously. 3D files can be found here: www.thingiverse.com/thing:6450320
Motorised Photo-Video Turntable - Take Amazing Videos Of Objects
Просмотров 8058 месяцев назад
WARNING: Lithium batteries can be dangerous, they should be stored, handled and used carefully. In this video I make a motorised turntable to record things on for a good 360 view of the object. 3D Print files can be found here: www.thingiverse.com/thing:6444207 Original photo background can be found here: makerworld.com/en/models/44892#profileId-52012 Various links for parts below: Servo Motor:...
Modifying Cheap Stepper Motor To Be More Powerful (28BYJ-48)
Просмотров 41 тыс.Год назад
In this video i'm going to modify a 28BYJ-48 stepper motor to work as a bipolar motor and evaluate it's performance against an unmodified motor. How stepper motors work: ruclips.net/video/kVmWfLFRI4k/видео.html Motor CAD Files: www.thingiverse.com/thing:6620639 Music from #Uppbeat (free for Creators!): uppbeat.io/t/swoop/modify
How Do Stepper Motors Work
Просмотров 2,2 тыс.Год назад
This video is all about how Permanent Magnet, Variable Reluctance and Hybrid Synchronous stepper motors work and an example of how to control them. Github Code: github.com/JustAnotherMakerChannel/StepperMotorExample
Robot Hexapod - Small and FAST!
Просмотров 8 тыс.Год назад
It can run! In this video we can see the hexapod walking and running, it does end up taking some damage but I managed to get a good shot of it running before breaking it too much! Don't forget to subscribe because in the next video I'm going to make it remote control! GitHub Code: github.com/JustAnotherMakerChannel/HexapodBasicWalk 3D Print files: www.thingiverse.com/thing:6463619 Music from #U...
Robot Inverse Kinematics With A Hexapod Leg
Просмотров 69 тыс.Год назад
This video has a detailed inverse kinematic solution for a 3 axis robot and videos of it in action applying the solution. There are also some mistakes that I cover that happened along the way and crucially unlike most other videos the arm segments are NOT the same length. The code can be found here and is free to use and adapt: github.com/JustAnotherMakerChannel/InverseKinematicsExample 3D Prin...
Robot Hexapod - It Can Write!
Просмотров 1,6 тыс.Год назад
I made a mini robot, then coded it to write with a pen! This video is just a quick clip of what's coming up, I'm making a six legged robot - a Hexapod, and in the next few videos I'm going to explain all about how it works and hopefully get it walking. Music from #Uppbeat (free for Creators!): uppbeat.io/t/pecan-pie/take-the-wheel
3D Printed Mini Tripod
Просмотров 770Год назад
In this video I'm going to be making a mini Tripod with my 3D printer and some copper piping. Cold Shoe Mount: www.amazon.co.uk/dp/B09ZKYVCTN?psc=1 Threaded Inserts: www.amazon.co.uk/ruthex-Threaded-Assortment-Box-Pieces/dp/B08K1BVGN9/ (They have gone up in price, there are cheaper alternatives) Tripod Printer Files: www.thingiverse.com/thing:6029735 Music from #Uppbeat (free for Creators!): up...
Cheap BLDC Motor Cooling Fans - Do They Work?
Просмотров 341Год назад
In this video I have some cheap BLDC fans and thermal paste to test to see if it makes a noticeable difference to my BLDC motor. How to control this motor with an Arduino: ruclips.net/video/KngmPEt_rYw/видео.html Fan & Heatsink: www.amazon.co.uk/dp/B097GY19PW?psc=1 Thermal Paste: www.amazon.co.uk/dp/B09NLXSP4S?psc=1
Simple Arduino Servo ESC PWM
Просмотров 1,1 тыс.Год назад
In this video I'll program an Arduino using the Servo library and test a small RC servo and a Brushless motor with ESC. I have a project coming up where I'm going to use both of these and this is the first test to see if they even work! Motor & ESC: www.amazon.co.uk/dp/B09Z2DNK7S?psc=1

Комментарии

  • @login6303
    @login6303 3 дня назад

    9:34

  • @jamesrenwick3244
    @jamesrenwick3244 4 дня назад

    As others have commented, a very clear explanation and a very soft pleasant speaking voice ( which many Northern accents have ), so you're ideal for youtube videos. However is the overlay at 4.24 correct ? At 100mA x2 the torque is apparently 6x the base 5v test of 32mNm, but torque is given as 117mNm. This is the same torque value of 50mA x2 at 3.6x the base torque value ( 3.6x 32mNm = 115.2mNm ). I haven't a mechanism to test the torque against at present and therefore don't know what torque I require, so it's all theoretical. But if I needed a bit more torque than a 5v bi-polar stepper offers, I presume a 9v PP3 battery source could be an option ( I need a battery source that anyone could buy ). You haven't carried out tests at 9v, but do you think the respective values would be midway between 5v - 12v ? For example, at 50mA x2 would the torque be ~ 75mNm ? I've a 9v rechargeable battery which is 200mA. Would that be capable of 100mA x2, and what torque could that translate as ? Obviously these 28BJY-48 motors come as 5v or 12v. Would I still need to use current limiting to pair the 5v motor with 9v ? I've read online that 12v with a 5v motor does generate heat build up after a few second of operation. A 9v battery would still turn a 12v motor I presume with reduced output.

  • @JoseHernandez-lz4vr
    @JoseHernandez-lz4vr 26 дней назад

    Nice video, congratulations and thanks for it. I have found that with current limiting at 12V, the modified motor, if we want to keep it stopped but with the coils powered so that it is not possible to move it by hand (it will handle a flap), the voltage chopper makes the motor vibrate. I am using the MP6500, I have ordered a DRV8825 to test as well. I think there is no solution for this and when it has to be stopped you have to disable the controller and trust that the gearbox prevents the flap from moving.

  • @Alice8000
    @Alice8000 Месяц назад

    THe more they say IK the lower their IQ. Proven fact.

  • @Somun-a
    @Somun-a Месяц назад

    You may not have a arbor press but I am guessing you have a vise? You can design and print jaw extensions that you can use as your tool.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel Месяц назад

      I do have a vice! And even though I moved out 9 years ago I still haven’t moved it my leaky garage, but that’s a different issue, a vice would be the perfect choice.

  • @joelcabrera6277
    @joelcabrera6277 Месяц назад

    can i have the codes plss

  • @behrampatel4872
    @behrampatel4872 2 месяца назад

    Thank you. This is better than many videos out there . cheers

  • @federicoromero6130
    @federicoromero6130 2 месяца назад

    i thought inverse kinematics was extremely hard. no fear any more! thanks for the video

  • @paranoidzkitszo
    @paranoidzkitszo 2 месяца назад

    Mine has no curcuit....:( I really don't suggest anyone take apart these unless youplan on not using em after....

  • @MehrdadFarimani
    @MehrdadFarimani 2 месяца назад

    Love you man, You're so funny :D

  • @Kingnauta
    @Kingnauta 3 месяца назад

    What is the name given to this inverse kinematics method? I would like to research further

  • @Frankey2310
    @Frankey2310 3 месяца назад

    Wtf did you do to it, though? Did you just cut the common, converting it from unipolar to bipolar? Well, no shit a bipolar motor will outdrive an identiacal unipolar one. But a bipolar requires TWO H-BRIDGES, i.e. 8 transistors and additional circuitry to at least create dead time between phases, so you aren't getting away with just 4 pins; whereas a 28BYJ you can drive with just 4 N-MOSFETs or NPNs. Oh, you've got a DRV8825? That costs as much as 2-4 of these motors, and can drive much more powerful stuff. Perhaps get a proper bipolar motor, then? I mean, even if there is a situation where this "neat trick" may come in handy, what have you even achieved with this modification? You're pushing current through twice as much wire, which, I have to idea how this would affect the magnetic flux density, but I know that twice the wire is twice the resistance, so half the current... Have you tried just running an unmodified 28BYJ at twice the voltage?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 3 месяца назад

      Generally bipolar motors cost more, DRV8825’s can be bought for as little as 40p, they use fewer IO pins and provide greater control. Using an unmodified motor at twice the voltage would cause double the current, so 4 times the power through the same amount of winding, vs the modification where a lower power consumption can produce a higher output torque.

  • @kieren7763
    @kieren7763 3 месяца назад

    I would use a bolt to go inside the yet to be formed loop/circle area area and a mandrel bender style hinge to wrap around the bolt on the same axis so the metal will wrap around the bolt as it swings around look up mandrel bender for an example. then make a 3d printed stamp to get the steps in it . That metal also looks like stainless and is harder to form as it wont stretch well and will have lots of spring back try aluminium a non hardening version is a good place to start

  • @deanhedin1615
    @deanhedin1615 3 месяца назад

    Question. When stalled these motors will or will not strip thier gears? I wish to use them with a vent flap where I drive them until the vent closes and they stall. I don't need extra torque so I do not plan to make your modification. Great video otherwise.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 3 месяца назад

      Thanks and that’s an interesting question, I think if you drive them slowly you should be ok. Probably the bigger risk is if you’re going ‘fast’ then the inertial energy of the vent has to go somewhere and that might be the gears. But to be honest because the gearing is so high I doubt you could go fast enough to cause any damage!

    • @deanhedin1615
      @deanhedin1615 3 месяца назад

      I can't stall them at 5V but if I lower the ULN2003 voltage with a buck converter I can adjust the stall torque as I desire. 3.3v seems about right.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 3 месяца назад

      Cool, thanks for the info!

  • @AlecThe1st
    @AlecThe1st 4 месяца назад

    what are the libraries used in the code?

  • @jilliebean613
    @jilliebean613 4 месяца назад

    Awesome project! I am so impressed you were able to get those plastic servos working for this project. For me, those servos break when I look at them wrong.

  • @OutTheGaWoods
    @OutTheGaWoods 4 месяца назад

    I am new to the use of stepper motors and understanding them. I thank you for your content. I just accidentally found you on RUclips and I’m grateful for that. I have a few questions about heat being generated on a low maintenance project that I am working on and what your suggestions would be, please let me know if you’re willing to help. Thanks again for the video.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 4 месяца назад

      I’m glad you found the video useful. I’ll try my best to help with your questions, ask away!

    • @OutTheGaWoods
      @OutTheGaWoods 4 месяца назад

      I have two brand new steppers and drivers . I got the basic code to upload from another RUclipsr (paul Mcwhorter) I designed and printed a custom litho and base to rotate it the stepper got a little warm to the touch without having a load on it. Then after letting it run for an hour it stopped working. I can hear and feel vibrations from the motor and that’s all. Soooo I installed the second stepper and driver. The first setup was ran like I see on RUclips, arduino stepper and driver. The second time I followed Paul’s instructions and used an external power source that came in the arduino kit with the wall plug making sure to have everything set to te 5volt pins . It ran for an hour and just sits and hum like the first one. Please help. I have new steppers and drivers coming in because I now have a few people that want me to make one for them. And I want to use the arduino nano

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 4 месяца назад

      Ok so I guess the first questions I have are: Do you have a part number for your stepper motor? Do you have a part number for your driver? What voltage are you trying to drive the stepper at?

    • @OutTheGaWoods
      @OutTheGaWoods 4 месяца назад

      28byj-48 5v dc stepper And the uln2003 driver

    • @OutTheGaWoods
      @OutTheGaWoods 4 месяца назад

      I’m just using the 5v supply that came in the kit until I come up with a better idea because I also need to run led lights for the litho

  • @paulz8750
    @paulz8750 4 месяца назад

    Isn't it refreshing to watch an educational video with no "pointless verbal garbage". Thanks so much for your time, making this video.

  • @SrGreck
    @SrGreck 5 месяцев назад

    Hi there! I really enjoyed your video on the 28byj-48 motor. Do you have the 3D model available for download? I'm interested in creating a new internal reduction for the motor and would find it super useful. Also, do you know if the sizes in the model are accurate? Any insights would be appreciated!

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 5 месяцев назад

      Yes I can share the model, what format would be useful for you, I modelled it in fusion 360. It should be quite accurate though I think the gears are just an approximation, I.e. the teeth are not accurate involute profiles.

    • @SrGreck
      @SrGreck 5 месяцев назад

      @@JustAnotherMakerChannel Fantastic! Thanks for being willing to share the model. Fusion 360 format works perfectly for me. And no worries about the gear teeth; I can work with approximations.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 5 месяцев назад

      I've just uploaded the files and you can find them here: www.thingiverse.com/thing:6620639 Sometimes Thingiverse is not very good and the link might not work until it decides to, you might have to check back in an hour or two.

    • @SrGreck
      @SrGreck 5 месяцев назад

      @@JustAnotherMakerChannel Great! Thank you for sharing the link. I've managed to download the files successfully.

  • @panmaneecnc
    @panmaneecnc 5 месяцев назад

    Thank you very much for your information and I have taken your information to study and adapted it into python for learning. If anyone is interested, you can follow and test and try it at this link. colab.research.google.com/drive/1tpKsER2IazlSDh9AVQmRVnxvxA4uU8Hm?usp=sharing

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 5 месяцев назад

      Thank you for the positive feedback and thank you for this contribution!

    • @panmaneecnc
      @panmaneecnc 5 месяцев назад

      @@JustAnotherMakerChannel You are amazing. I will continue to share the knowledge you have given me with my friends.

  • @yoashuain1
    @yoashuain1 5 месяцев назад

    Really? 5V for your unmodified stepper, and 12V for your modded stepper? G... I wonder why. 😂😊

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 5 месяцев назад

      The power figures are comparable, I.e. the higher voltage and alternative driving mode produce more torque whilst consuming less power and thus producing less heat.

  • @rezageraldy-gn1jw
    @rezageraldy-gn1jw 6 месяцев назад

    could i ask you sir. we kinda have problem when it comes to writing j3 and j2 arduino. we use your formula but the output show nan. we are not missing any single information for video even though it only one mistake. so pls help us this for high school project.

  • @a330turbinex7
    @a330turbinex7 6 месяцев назад

    Superb!!!

  • @guilhermeconstantinov
    @guilhermeconstantinov 6 месяцев назад

    should the angle really be negative? depending on the value, the J3 is negative

  • @guilhermeconstantinov
    @guilhermeconstantinov 6 месяцев назад

    why were these values added? const double Y_Rest = 70.0; const double Z_Rest = -80.0;

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      These values were added so that the movements can be made relative to a ‘resting’ position, without them it’s not as practical to plan movements from the centre of J1.

    • @guilhermeconstantinov
      @guilhermeconstantinov 6 месяцев назад

      @@JustAnotherMakerChannel got it, thanks for the explanation

  • @rtenenbown
    @rtenenbown 6 месяцев назад

    Hello, great video! Will you please share your wiring schematic with the DRV8825 and controller board?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      Sorry for the late reply, if you check out my ‘how do stepper motors work’ video there is an example at 11:30, just substitute the A1 & A2 for orange and pink and the B1 & B2 for blue and yellow. Hope this helps :)

  • @brandonheat5262
    @brandonheat5262 6 месяцев назад

    does it matter if J1 has offset away from J2? I see there are many designs of 3 dof leg in this way.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      Yes it would have an effect on the XY solution, I think you would need to calculate the angle for J1 first, then using that angle and the offset to J2 calculate the X and Y value for where J2 is now located and subtract those from the X and Y used to calculate J2 and J3

  • @saveusfromidiocracy35
    @saveusfromidiocracy35 6 месяцев назад

    Hexapod with Parkinsons 😂. Good effort. Try using better servos

  • @ainbrisk545
    @ainbrisk545 6 месяцев назад

    very cool! thanks for the explanation (and the take apart), very helpful in understanding the motor

  • @Davut_Bay
    @Davut_Bay 6 месяцев назад

    Hello, can you give me your e-mail address? I need to consult you about a few issues.

  • @AnJo888
    @AnJo888 6 месяцев назад

    Hello, there. Good hacking video. My only doubt is: how the comparison between a 5V motor and 12V hacked should be interpreted... I mean, using a higher voltage wouldn't affect the results?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      Thank you :) The change in voltage is mainly due to the change in driving mode. The original driver runs as constant voltage, whereas the modification allows the stepper to be controlled as constant current. Although the modified motor driver is running at 12V the motor will not have a constant 12V across the coils, this is mainly why I included the power values as they are more representative of what's going on, as an example looking at the first modified test @4:08, the motor is using 30% less power overall but producing almost 4 times the torque, since this test is performed at 50mA per coil and the original unmodified motor had a current draw of 340mA with a constant 5V applied we could in theory run the modified motor at 5V and still achieve 50mA per coil and still see an increase in torque, it's just easier to find stepper drivers that work at higher voltages as they can generally accelerate the motors faster by using a higher voltage. I hope that was useful :)

    • @juanmanuelrossello1868
      @juanmanuelrossello1868 3 месяца назад

      ​@@JustAnotherMakerChannel Then, 1- you take the 5V version. 2- you cut the red wire conection. 3- You drive it with higher voltage but limiting the current. And then you get the increased torque. You don't need to buy a 12V version of the motor. I this correct?. And the second question is: You need a power supply which allows you to limit the current, right? The driver ULN2003 won't be enough to control the current if you want to avoid overheating.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 3 месяца назад

      This is correct but you need to break the connection on the circuit not just cut the red. You need another driver to drive as a bipolar stepper.

  • @senaalfarabi4077
    @senaalfarabi4077 6 месяцев назад

    I want ask something, in minute 3:25 . Are L variable is range between servo 2 and the lowest point of foot point can be?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      L is from servo 2 to the position of the foot, where we want to position it, there will be a range of motion that can be achieved depending on the lengths J2L and J3L. I hope this answers your question :)

    • @senaalfarabi4077
      @senaalfarabi4077 6 месяцев назад

      Another question at 9:37 , where you can get y,90 and z,-60?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      No problem, those are physical measurements, I obtained them from the CAD model of the design with the leg in the 'resting' position that I wanted.

    • @senaalfarabi4077
      @senaalfarabi4077 4 месяца назад

      Thank you for the explaination sir

  • @DiepBlueC
    @DiepBlueC 6 месяцев назад

    can you post your sketch as a comment or something? It is hard to read in the video. Thanks for posting!

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 6 месяцев назад

      I’m working away in Spain this week, but I will add the code on Monday when I am back at home :)

  • @durgeshbg
    @durgeshbg 7 месяцев назад

    03:11 that's where i lost track, cool work btw might get into robotics sometime in the future, thanks

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      You should, it’s a fascinating subject, glad you liked the video :)

  • @noweare1
    @noweare1 7 месяцев назад

    The 5 volt test, the motor did not seem to sound correct and the shaft did not move smoothly. You might have to drive them at a different frequency to find the sweet spot.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Yes, they did seem strange, I remember having issues trying to ramp the speed too quickly too!

  • @AugustoCoelhoHenriques
    @AugustoCoelhoHenriques 7 месяцев назад

    i believe that your plastic pieces has a deforming factor greater than metal so dispite your theory about scale is corret you need a better deforming factor material, in first stage you can easily bend the metal sheet because is not plastic that is deforming it but that metal rod. If you apply 90% plastic but just the tip of some metal you can achieve better results i believe

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Great information, I certainly need to read more about metal forming!

  • @Moonrakerd
    @Moonrakerd 7 месяцев назад

    Id say cast the tools out of pewter

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      I haven’t done any pewter casting before, is it tricky? I’ve done a few lead weights in the past.

    • @Moonrakerd
      @Moonrakerd 7 месяцев назад

      @@JustAnotherMakerChannel looks easy enough, I bought some and the solder heater, but havent tried much yet :))

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Thanks for the tip I might give it a try :)

  • @AngelDLM08
    @AngelDLM08 7 месяцев назад

    Interesting to see strength and durability comparsion with eSUN ePLA-CF, they claim 15-20% carbon fibers, while Bambu makes PLA-CF and PETG-CF 5%, and only PA6-CF, PAHT-CF (PA12) and PET-CF is probably 15% (MSDS says 12-20%) Printed some parts with Bambu PLA-CF 5% and I'm disappointed, it negligible stiffer than eSUN PLA+ but doubles the price and will wear AMS unit faster

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      I think when I manage to get a more robust process I might try some material comparisons, all of the green parts were done in Bambu PETG and the black tooling was a generic ABS that’s around 2 years old, but prints very well!

  • @AndrossUT
    @AndrossUT 7 месяцев назад

    You know you might be able to finish the hinge roll by using the 180 bend jig first and also giving the "sharp" end a

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      I think the end of your comment might be missing? Were you going to say use the first concept after the 180 bend?

  • @Duraltia
    @Duraltia 7 месяцев назад

    @07:00 Classic... Imagine doing your CAD on like a 77" Screen like I occasionally do which totally ruins ANY and ALL sense of scale of a part 🤣

  • @ramseyerbeat9133
    @ramseyerbeat9133 7 месяцев назад

    thank you very much for your prompt answer, you are a genial teacher, now i understand the code… please keep on going!

  • @ramseyerbeat9133
    @ramseyerbeat9133 7 месяцев назад

    this is a great work, congratulations! I built it too, but i do not understand the code, in special the arrey with the moves. can you please link the example for writing, so i can learn the movements? thank you very much!

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Thank you, I'll try to explain the movement array in this reply... I'll copy in the first 5 commands of the array: const double lines[62][4] = {{0.0, 0.0, 40.0, 1000}, {-30.0, 40.0, 20.0, 200}, {-30.0, 40.0, -20.0, 200}, {60.0, 40.0, -20.0, 1600}, {60.0, 60.0, 20.0, 200}, Each command has 4 elements, this is the zero command {0.0, 0.0, 40.0, 1000}, because arrays start at index 0. The elements are X, Y, Z and duration, so the zero command {0.0, 0.0, 40.0, 1000} is 0 X, 0 Y, 40Z and should take 1000ms to achieve the position. The first command element {-30.0, 40.0, 20.0, 200} is -30X, 40Y and 20Z with duration 200ms, so the arm should move -30mm in X whilst also moving 40mm in Y and DOWN 20mm in Z (From 40Z in the previous command) and take 200ms to achieve the motion. This piece of code simply increments through the commands until the end: if (started == false | J1Tar.isFinished() == true){ commandStep++; if (commandStep > 61) { ended = true; } And this piece of code is where the information from each command is read from the array: double xMove = lines[commandStep][0]; double yMove = lines[commandStep][1]; double zMove = lines[commandStep][2]; uint16_t duration = lines[commandStep][3] * 2; This is where the motion ramps are that command the joints: J1Tar.go(xMove, duration); J2Tar.go(yMove, duration); J3Tar.go(zMove, duration); I hope this makes sense :)

  • @daleyarrow5358
    @daleyarrow5358 7 месяцев назад

    I do enjoy a good side quest! The unexpected plastic metal press was a bonus! MORE BEEF REQUIRED!

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      More beef indeed, I suppose 1kg of plastic is still cheaper than a £70 arbor press, so I can add a lot of material!

  • @messerschmidtfpv4419
    @messerschmidtfpv4419 7 месяцев назад

    Does a Part 3 for the Hexapod comes? with Controller Control?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      It’s somewhere on my big list of videos, I seem to add more to the list than I can keep up with!

    • @messerschmidtfpv4419
      @messerschmidtfpv4419 7 месяцев назад

      @@JustAnotherMakerChannel Have you seen the code with an PCA9685? (Part1)

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      @messerschmidtfpv4419 I think I actually have one of those somewhere, or maybe I just looked at them, it would definitely be a better way to go, I might remake the hexapod a to be a little bit more physically robust and use a PCA9685

  • @gedr7664
    @gedr7664 7 месяцев назад

    so cool! good work

  • @katierobinson5399
    @katierobinson5399 7 месяцев назад

    Love a good side quest 👌

  • @messerschmidtfpv4419
    @messerschmidtfpv4419 7 месяцев назад

    Hello I would like to use WiFi, but the servos are controlled via GPIOs that support ADC2 and that is not recommended. So I had no choice but to use a PCA9685. In the original code, the servo values are transferred directly; for the PCA, these must be converted into PWM signals. I can proudly say: it's done. with a few additional functions. but this example code already works. I also integrated an IMU straight away. #include <math.h> #include <Ramp.h> #include <Wire.h> #include <Adafruit_PWMServoDriver.h> #include <Adafruit_MPU6050.h> #include <Adafruit_SSD1306.h> #include <Adafruit_Sensor.h> Adafruit_MPU6050 mpu; Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); #define USMIN_J1 500 #define USMIN_J2 400 #define USMIN_J3 750 #define USMAX 2400 #define USMAX_J1 2500 #define SERVO_FREQ 50 // Debug #define DEBUG #ifdef DEBUG #define DEBUG_PRINTL(x) Serial.println(x) #define DEBUG_PRINT(x) Serial.print(x) #else #define DEBUG_PRINTL(x) #define DEBUG_PRINT(x) #endif // MIDDLE LEFT LEG // x // ^ // | // | // y <------o // Servo pins const int J1Pin = 0; const int J2Pin = 1; const int J3Pin = 2; // Variable für Servo-Positionen int pi_pos = 45; int ya_pos = 45; // Vorherige Werte für Gyrodaten float oldPitch = 0.0; float oldYaw = 0.0; float offset_ = 0.35; // Constants const double J2L = 57.0; // Length of J2 (57 - 2.35)mm const double J3L = 110.0; // Length of J3 110mm const double Y_Rest = 70.0; const double Z_Rest = -80.0; const double J3_LegAngle = 15.4; // Joint Variables double J1Act = 0.0; double J2Act = 0.0; double J3Act = 40.0; rampDouble J1Tar = 0.0; rampDouble J2Tar = 0.0; rampDouble J3Tar = 40.0; // Command Variables bool started = false; bool ended = false; uint8_t commandStep = 0; // Commands const double lines[62][4] = {{0.0, 0.0, 40.0, 1000}, {-30.0, 40.0, 20.0, 200}, {-30.0, 40.0, -20.0, 200}, {60.0, 40.0, -20.0, 1600}, {60.0, 60.0, 20.0, 200}, {-30.0, 30.0, 20.0, 200}, {-30.0, 30.0, -20.0, 200}, {60.0, 30.0, -20.0, 1600}, {60.0, 50.0, 20.0, 200}, {-30.0, 20.0, 20.0, 200}, {-30.0, 20.0, -20.0, 200}, {60.0, 20.0, -20.0, 1600}, {60.0, 40.0, 20.0, 200}, {-30.0, 10.0, 20.0, 200}, {-30.0, 10.0, -20.0, 200}, {60.0, 10.0, -20.0, 1600}, {60.0, 30.0, 20.0, 200}, {-30.0, 0.0, 20.0, 200}, {-30.0, 0.0, -20.0, 200}, {60.0, 0.0, -20.0, 1600}, {60.0, 20.0, 20.0, 200}, {-30.0, 40.0, 20.0, 200}, {-30.0, 40.0, -20.0, 200}, {-30.0, 0.0, -20.0, 800}, {-30.0, 20.0, 20.0, 200}, {-20.0, 40.0, 20.0, 200}, {-20.0, 40.0, -20.0, 200}, {-20.0, 0.0, -20.0, 800}, {-20.0, 20.0, 20.0, 200}, {-10.0, 40.0, 20.0, 200}, {-10.0, 40.0, -20.0, 200}, {-10.0, 0.0, -20.0, 800}, {-10.0, 20.0, 20.0, 200}, {0.0, 40.0, 20.0, 200}, {0.0, 40.0, -20.0, 200}, {0.0, 0.0, -20.0, 800}, {0.0, 20.0, 20.0, 200}, {10.0, 40.0, 20.0, 200}, {10.0, 40.0, -20.0, 200}, {10.0, 0.0, -20.0, 800}, {10.0, 20.0, 20.0, 200}, {20.0, 40.0, 0.0, 200}, {20.0, 40.0, -20.0, 200}, {20.0, 0.0, -20.0, 800}, {20.0, 20.0, 0.0, 200}, {30.0, 40.0, 0.0, 200}, {30.0, 40.0, -20.0, 200}, {30.0, 0.0, -20.0, 800}, {30.0, 20.0, 0.0, 200}, {40.0, 40.0, 0.0, 200}, {40.0, 40.0, -20.0, 200}, {40.0, 0.0, -20.0, 800}, {40.0, 20.0, 0.0, 200}, {50.0, 40.0, 0.0, 200}, {50.0, 40.0, -20.0, 200}, {50.0, 0.0, -20.0, 800}, {50.0, 20.0, 0.0, 200}, {60.0, 40.0, 0.0, 200}, {60.0, 40.0, -20.0, 200}, {60.0, 0.0, -20.0, 800}, {60.0, 20.0, 0.0, 200}, {0.0, 0.0, 40.0, 200}}; // Funktion zum Begrenzen des Werts auf ein Maximum int limitToMaxValue(int value, int maxLimit) { if (value > maxLimit) { return maxLimit; } else { return value; } } // Funktion zum Addieren von altem und neuem Wert float addValues(float oldValue, float newValue) { if (newValue > 0.2 || newValue < -0.2) { oldValue = oldValue + newValue; } return oldValue ;// + newValue; } void setJ1(int servo, int pos) { //This first bit of code makes sure we are not trying to set the servo outside of limits int sendPos; if (pos > 179) { pos = 179; } if (pos < 0) { pos = 0; } sendPos = USMIN_J1 + ((USMAX_J1 - USMIN_J1) / 180 * pos); if (servo > -1 && servo < 16) { //only try to move valid servo addresses pwm.writeMicroseconds(servo, sendPos); } } void setJ2(int servo, int pos) { int sendPos; if (pos > 179) { pos = 179; } if (pos < 0) { pos = 0; } sendPos = USMIN_J2 + ((USMAX - USMIN_J2) / 180 * pos); if (servo > -1 && servo < 16) { //only try to move valid servo addresses pwm.writeMicroseconds(servo, sendPos); } } void setJ3(int servo, int pos) { int sendPos; if (pos > 179) { pos = 179; } if (pos < 0) { pos = 0; } sendPos = USMIN_J3 + ((USMAX - USMIN_J3) / 180 * pos); if (servo > -1 && servo < 16) { //only try to move valid servo addresses pwm.writeMicroseconds(servo, sendPos); } } void setup() { // DEBUG #ifdef DEBUG Serial.begin(9600); #endif if (!mpu.begin()) { Serial.println("Sensor init failed"); while (1) yield(); } Serial.println("Found a MPU-6050 sensor"); pwm.begin(); pwm.setOscillatorFrequency(27000000); pwm.setPWMFreq(SERVO_FREQ); // Analog servos run at ~50 Hz updates delay(10); UpdatePosition(0, 50, 30); delay(5000); } void loop() { // Update position J1Act = J1Tar.update(); J2Act = J2Tar.update(); J3Act = J3Tar.update(); CartesianMove(J1Act, J2Act, J3Act); if (ended == false){ // Check if command finished if (started == false | J1Tar.isFinished() == true){ commandStep++; if (commandStep > 61) { ended = true; } double xMove = lines[commandStep][0]; double yMove = lines[commandStep][1]; double zMove = lines[commandStep][2]; uint16_t duration = lines[commandStep][3] * 2; J1Tar.go(xMove, duration); J2Tar.go(yMove, duration); J3Tar.go(zMove, duration); started = true; } } } void CartesianMove(double X, double Y, double Z){ // OFFSET TO REST POSITION Y += Y_Rest; Z += Z_Rest; // CALCULATE INVERSE KINEMATIC SOLUTION double J1 = atan(X / Y) * (180 / PI); double H = sqrt((Y * Y) + (X * X)); double L = sqrt((H * H) + (Z * Z)); double J3 = acos( ((J2L * J2L) + (J3L * J3L) - (L * L)) / (2 * J2L * J3L) ) * (180 / PI); double B = acos( ((L * L) + (J2L * J2L) - (J3L * J3L)) / (2 * L * J2L) ) * (180 / PI); double A = atan(Z / H) * (180 / PI); // BECAUSE Z REST IS NEGATIVE, THIS RETURNS A NEGATIVE VALUE double J2 = (B + A); // BECAUSE 'A' IS NEGATIVE AT REST WE NEED TO INVERT '-' TO '+' UpdatePosition(J1, J2, J3); } void UpdatePosition(double J1, double J2, double J3){ // MOVE TO POSITION setJ1(J1Pin, 90 - J1); setJ2(J2Pin, 90 - J2); setJ3(J3Pin,J3 + J3_LegAngle - 90); //DEBUG_PRINT("J1: "); DEBUG_PRINTL(J1); //DEBUG_PRINT("J2: "); DEBUG_PRINTL(J2); //DEBUG_PRINT("J3: "); DEBUG_PRINTL(J3); }

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      I'm sorry your comment seemed to require approval, I assume it's just because of the length, thank you for your effort :)

  • @isaiahnelson3643
    @isaiahnelson3643 7 месяцев назад

    Enjoying the content and your process through making stuff. Subbed.

  • @TubeClemens
    @TubeClemens 7 месяцев назад

    Excellent video clear explanation. I build a hexapood myself. One question if I have a J1L=60 how does this affect the code?

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Hi @TubeClemens, Do you mean you wish to have J2 not directly above and inline with J1 and call this offset J1L? If so then as a quick shot at this you would need to think about the following: @3:30 the Y value would need to have 60 taken off as this would be a fixed offset by J1L=60, similar to @9:41 where we apply an offset to Y to account for the leg resting position, but I think the real answer is below. @11:53 when we go back and substitute H in, we would substitute (H - J1L). For a quick look I think that would be the solution you are asking for. Hope this helps :)

    • @TubeClemens
      @TubeClemens 7 месяцев назад

      @@JustAnotherMakerChannel Thank you very much this is exactly what I meant. I wil give it a try.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Great @TubeClemens, I’m glad I could help, please let me know how it goes :)

  • @MrAlexxx91
    @MrAlexxx91 7 месяцев назад

    i like a lot the design and i'd like to print. it semms like the STLs files are not there. Unlikely I'm not capable of setting up the plate with those files..

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      I can see 5 of .3mf files on thingiverse, is that not the case for you?

    • @MrAlexxx91
      @MrAlexxx91 7 месяцев назад

      @@JustAnotherMakerChannel exactly, I don't know how to separate the parts and prepare them for printing :( I'd like to learn but I don't have the time to do that.

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      What slicing software do you use for your printer?

    • @MrAlexxx91
      @MrAlexxx91 7 месяцев назад

      @@JustAnotherMakerChannel i use cura and I own a creality cr-10s pro v2. I know to do only basic stuff with the software

    • @JustAnotherMakerChannel
      @JustAnotherMakerChannel 7 месяцев назад

      Ok, so I've just installed Cura V5.6.0 and if I open any of the files, they initially look like one part but you can select them individually with the mouse and move them around on your print plate separately, so the files should work just fine. Maybe make sure you are using the latest version of Cura, I think .3mf file support was only added in V5 onwards :)