Hobby Servomotors Could Be Much Better

Поділитися
Вставка
  • Опубліковано 14 тра 2024
  • I have designed a small servomotor controller board. This board makes it possible to integrate servomotors directly into 3D-printed parts. This servomotor design goes far beyond what a regular hobby servomotor can do. It has advanced communication and tuning capabilities. In this video, you can learn how I designed this servomotor. I am explaining the electronics in use and the control algorithm. I also show how I will use it for my 3D-printed rover project.
  • Наука та технологія

КОМЕНТАРІ • 236

  • @LafayetteSystems
    @LafayetteSystems Місяць тому +64

    Both your rover and your custom servos are extremely cool projects

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +3

      Thank you! Love your rockets! I am subscribed for quite a long time :) BTW I am planning to build a new TVC rocket with these servos. I think that I can use current position readings from TVC to build an improved flight simulation. It was hard to tune control algorithm without knowing the exact response characteristics of the TVC mount.

    • @PCBWay
      @PCBWay 18 днів тому

      we caught you here!!!!

  • @markusgogele5644
    @markusgogele5644 Місяць тому +79

    great job! I would advise against using an I²C for communication over long distances. I²C is intended to be used on one single PCB and not in a large network. There it might be better to use CAN, RS485 or Ethernet. They are designed to be robust against induced noise.

    • @theonlyqwert
      @theonlyqwert Місяць тому +8

      considering this is essentially remaking dynamixels he should just look into the dynamixel protocol and utilise it. Half duplex serial. Ive implemented using their protocol for my own servos and other systems. its robust.

    • @DisorderedArray
      @DisorderedArray Місяць тому +2

      I have seen some I2C hubs for robots that allow increased signal drive and auto addressing.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +20

      I learned about this when I was half-way through the process already. But I think it will work at this scale. Calculations shows that I will fit into 400pf line capacitance limitation. Waveform looks scary (I was also dumb and placed SCL and SDA as adjacent wires in the cable, so there is also a quite bad crosstalk). But despite this I had 0 failures so far. I think I2C could be used like this if you take care about noise and line capacitance a little bit, and not going crazy with wires. I would say up to ~1m should be fine. Also STM32 has an improved current sink, so in theory if host controller is STM32 too, it is possible to use pull-ups with much lower values than I2C standard suggests. That will help with waveform and capacitance. But still no resistance to noise is an issue. I am thinking about CAN too, but there is no CAN in STM32G0 so it will bump up the cost but probably it is worth the money, because CAN is amazing (never used it so far). Thanks for the feedback!

    • @DIYDSP
      @DIYDSP Місяць тому +2

      I love can too, but i dont think any small Stm32s have it :(. Major gap. Iirc mmoat small PICs have it.

    • @romanisaikin6623
      @romanisaikin6623 Місяць тому +5

      There is STM32F042 with CAN, very small and DIY solderable.

  • @mvadu
    @mvadu Місяць тому +24

    Your ball bearing design seems to use the strength of 3d printing to its advantage. Would love to see it's design in depth

  • @paulmcewen7384
    @paulmcewen7384 11 днів тому +1

    that bearing design with the 3d printed races is very cool. The new servo control scheme is awesome as well obviously. Well done!

  • @dave20874
    @dave20874 Місяць тому +14

    Well done! I've been frustrated by the limitations of standard servos, too. This is a great solution.

  • @Fordi
    @Fordi Місяць тому +8

    Oh, neat. I'd had the idea for running servos off I2C with an added Vcc line for a while, but I never found the time to implement. Didn't even think about using a hall sensor, but that absolutely makes sense. Really happy to see someone put in the effort!
    Unless you're planning to make this a salable product (which is absolutely an option you should consider), you should share your schematics and sources so we all benefit!

    • @Positive_Altitude
      @Positive_Altitude  29 днів тому +8

      I am thinking about both sharing design files for free and selling these boards in future :)

  • @newklear2k
    @newklear2k Місяць тому +12

    This is one of the best explained videos I've seen on here. I hope your channel grows as it deserves to.

    • @Positive_Altitude
      @Positive_Altitude  29 днів тому +1

      Thank you! That boosts my motivation to go forward :) Hope you are having a great day

    • @tiagdvideo
      @tiagdvideo 6 днів тому +1

      100%

  • @philmurphy3662
    @philmurphy3662 29 днів тому +1

    a fantastic job - I look forward to seeing your future work.

  • @smizmar8
    @smizmar8 Місяць тому +6

    Awesome work! As soon as i saw how hobby servos worked, and saw how much empty space there was inside, i thought this is useless for robots. Im so glad to see your implementation, id love to see more about the driver circuit.

  • @HarveyShankar
    @HarveyShankar 28 днів тому

    This was an easy sub! Love the printed bearings. Very cool.

  • @OZtwo
    @OZtwo Місяць тому

    This is so cool! You created a mini brushless motor!! There is a big market for this and I would love to get my hands on a few of these boards. As well, as you asked in the video, you should make more videos of this project and all the gears created. GREAT WORK!

  • @Qromer
    @Qromer 29 днів тому

    I love all the thought and design work. Fantastic.

  • @arnabmusouwir9018
    @arnabmusouwir9018 Місяць тому +1

    Got insights into some extremely useful information. The feedback control loop was amazing! And I would love to see videos on the design and implementation of the bearing. I am currently working on a rover and I will definitely integrate these into it.

  • @critical_always
    @critical_always Місяць тому +3

    I am very impressed with your design skills. Everything about it is top notch. I love the bearing solution. And the controller and... well everything really. Subscribed

  • @fireheadpet2039
    @fireheadpet2039 28 днів тому +1

    Excellent project, great job on the design and two thumbs up on your video presentation skills!

  • @quinneththegrayliegeofthea8067

    I would love to see these schematics for that control board. This servo module looks really useful and pretty cheap

  • @Shaggy0f138
    @Shaggy0f138 24 дні тому

    Nice project and design. Thanks for the explanation and breakdown.

  • @Py6epToH
    @Py6epToH Місяць тому

    great job, just like always. looking for further projects and videos :3

  • @RecreationalOverEngineering
    @RecreationalOverEngineering 28 днів тому +1

    Very well explained and nice engineering! I'd also be very interested in hearing more about your bearing design.

  • @Nifty-Stuff
    @Nifty-Stuff 24 дні тому

    YES, would love to see more about your ball bearing design, and would be great to have you post the files for download!

  • @Yangkun123
    @Yangkun123 12 днів тому

    Amazing work and explanation!

  • @stefanwossner2007
    @stefanwossner2007 Місяць тому +3

    Great job! One idea to reduce complexity of the wheel assembly: If you‘d use motors with axles on both sides, you could mount the magnet and control board on the inside of the wheel.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +2

      Yeah, that's a good advice. I really started to appreciate dual-shaft and hollow shaft motors. They gives a lot of options to simplify the design. But one of the goals is to try to keep everything very cheap. These motors are like 1-3$ piece (from Aliexpress), but this limits my choices. Thank you!

  • @grahamnichols1416
    @grahamnichols1416 28 днів тому

    Great work. Really well thought out and explained.

  • @dagameface8181
    @dagameface8181 Місяць тому +1

    very cool,
    please do share your experience making those bearings!

  • @GOAFPilotChannel
    @GOAFPilotChannel Місяць тому

    Very nice video and project. Similar to a dynamixel but your use of remote sensing allows for backlash compensation which is great

  • @matteoreiter
    @matteoreiter Місяць тому

    Very cool system, I’m definitely interested In the bearings. I am looking forward to trying to make something similar myself

  • @tiagdvideo
    @tiagdvideo 6 днів тому

    Excellent work.
    Subscribed and will be following this project.
    Might have a go at making something inspired by this later in the year.

    • @Positive_Altitude
      @Positive_Altitude  6 днів тому

      Go for it! Starting could be hard. I probably spent a year thinking about the rover, before I started actually doing something. I was scared of the amount of efforts required to finish it (and I still not very close :) ). But when I started I was making progress way faster than I though. And it is also fine to take breaks if you feel burned out. So I would say that if you have an idea and you are passionate about it, just go for it. The faster you start, the faster you will get to something you will be proud of. Good luck!

  • @liszcgsedt
    @liszcgsedt 29 днів тому

    Pretty sophisticated for an everyday hobbyist! That is, love the idea, although (for lack of skills and patience) I probably would not aspire to recreate it myself.

  • @McGutschy2
    @McGutschy2 17 днів тому

    Thanks for your inspiration!

  • @5eurosenelsuelo
    @5eurosenelsuelo 21 день тому

    Looking forward to know more about those bearings and gears at 13:16.

  • @stefans.8027
    @stefans.8027 Місяць тому +2

    Great video and nice explanation. I am an engineer myself and know how hard it is to explain difficult design decisions in a simple way.
    I also like your approach of integration, some smaller things, like adding a plug for disassembly would be great, but this can be easily added in the next iteration.
    Looking forward to your next video. Maybe you can tell us a bit about your background, like motivation and education in the next one.
    Subscribed for sure!

  • @jilliebean613
    @jilliebean613 26 днів тому

    Great project! I am really interested in the 3d printed bearings you made. It would be awesome if you could share some tips on how they were designed.

  • @SirRobinII
    @SirRobinII Місяць тому

    The bearings are nice, I made slew bearings once with 6x6 dowel pins but its always hard to get the tolerance right

  • @explorerpragun431
    @explorerpragun431 28 днів тому

    Great work man ❤

  • @gydo1942
    @gydo1942 Місяць тому

    awesome project, i've been thinking about doing something similar but never got to it. Please do share your experiences with printing bearings, yours look very good!

  • @sweetiebot2560
    @sweetiebot2560 27 днів тому

    Hey, impressive work 1 more subscriber ! I'm needing custom built servos more and more, and your work possibly will save me days of trial and error this summer. Also definitely interested knowing more about your custom ball bearings, and how you got to the right design - hopefully I'm not alone hoping for that vid ^:D

  • @netmaxim
    @netmaxim 27 днів тому

    Nice work! Yeah a ball bearing design video would be great 👍

  • @lucapescatore
    @lucapescatore 27 днів тому

    Very nice project, do you have more details about it? It's also interesting to see how you have done the ball bearing.

  • @baxbanni2226
    @baxbanni2226 16 днів тому

    You are really brilliant. 👍👍👍

  • @TheLouisEric
    @TheLouisEric 26 днів тому

    Very nicely done

  • @yuukil5522
    @yuukil5522 29 днів тому

    very cool project! please do share the 3d printed bearing design

  • @jeditsuyoshi
    @jeditsuyoshi 28 днів тому

    Very clever design. Well done. Yes, I would like to know how did the ball bearings very much

  • @simonschneider5913
    @simonschneider5913 23 дні тому

    instant sub! amazing work!

  • @PaymaanJafari
    @PaymaanJafari 29 днів тому

    Very nice clean work...

  • @leonidsdreams3919
    @leonidsdreams3919 27 днів тому

    That's so cool. I would be also interested in the design of the rover chassis, if you run out of ideas for videos. Keep up the good work. I subscribed

  • @paulharvey6719
    @paulharvey6719 Місяць тому +1

    Great video! .. Thank you!

  • @qaseemabdii2591
    @qaseemabdii2591 Місяць тому

    Thanks , very good explanation

  • @alexandersteffen7825
    @alexandersteffen7825 Місяць тому

    please share how you design those bearings! very cool

  • @limajgarcia
    @limajgarcia 28 днів тому

    very cool project

  • @thecrazylooser7
    @thecrazylooser7 20 днів тому

    Wondering if is worth to integrate everything into the wheel and add a slip ring for power and LED and receiver for signal transmission for continuous rotation like a LiDAR

  • @Mateo-wf1yz
    @Mateo-wf1yz Місяць тому +1

    Looks very nice, good work.
    You should try make a variant for mini brushless motors as well. For small but fast, high accuracy and/or high torque hobby servos/motors.
    I think that would work very good (and i don't think there are so many other that have made a DIY hobby brushless servo), but is of cause a more complex and challenging project.
    Maybe use CAN communication. Its developed for car/machine communication and would be suited for this application and use in robots/machines etc.
    But stay away from RS485, it often dont work as expected. Its ok on longer timescales where a bad signal can be resent like for example in a temperature regulation situation.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Thank you! Yeah, that could be awesome. I will focus on improving brushed DC motor for now, maybe will bring CAN to the next version as it is a good idea. I have researched BLDC motors before and I think the brushed motors should go away at some point if we can make a good and cheap controllers for BLDC. But this is another layer of complexity on top of what I already have, it was too much to bite at once. But I hope I will get to BLDC servos/ESCs at some point :)

  • @ico-theredstonesurgeon4380
    @ico-theredstonesurgeon4380 15 днів тому

    It would be awesome It you could go deeper in how the bearing works and also provide some experimental data to see if they are worth it

  • @miguelbarbosaargolo6661
    @miguelbarbosaargolo6661 29 днів тому

    Great job!

  • @abludungeonmaster5817
    @abludungeonmaster5817 Місяць тому

    I'm interested in using your servo motor set up for other builds. I think it can be used to create a very cheap, but powerful robot arm that is better than anything on the market. More details please. Awesome work.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Thank you! I will make a next version with some fixes and will make it open-source. I have a passion for making things cheap too :) This is the way for everyone to have a good stuff. Good luck with your project!

  • @PCBWay
    @PCBWay 18 днів тому

    Nice content!

  • @TheLouisEric
    @TheLouisEric 26 днів тому

    Also: yes, would buy this in a heartbeat.

  • @luison18
    @luison18 26 днів тому +1

    Great Project! I did the LibreServo project. It's quite similar at your project but for standard Servomotors. Take a look 😊

    • @Positive_Altitude
      @Positive_Altitude  26 днів тому +1

      Oh! Cool! Do you mind if I contact you some day? I would love to talk with you about servos :)

  • @OMGWTFBBQSHEEP
    @OMGWTFBBQSHEEP Місяць тому +1

    Looks like some great engineering going on here😀 btw if you ever do an V2 of the controller, canbus would be perfect for this i think👌

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      True, I hope I will find a more or less cheap and suitable MCU with CAN support.

  • @Rob_65
    @Rob_65 26 днів тому +1

    This is a great project indeed. As already written by others, it is better to replace I2C by RS485/CAN or another more industrial type of interface. For small projects I2C may be okay, but I think something like a serial interface as used by Dynamixel (where it is easy to swap between TTL and RS485) would be better. For more generic use, the protocol should add for programming the (PID) parameters, allow for absolute positioning or speed control, current feedback (to get an idea of the load of the motor) and more.
    Making this open source will allow the community to make this an even more versatile project than it already is.
    Oh - and add connectors. Connectors are a must have for easy maintenance.

  • @Marbslab
    @Marbslab Місяць тому

    Very cool design. You have one subscriber more 🙂.

  • @mfgkwmfgkw
    @mfgkwmfgkw 24 дні тому

    Great idea, great video! Thanks
    Just a note on PWM to control the standard servos: it is intended to have a period length of 20ms with T_on of 1.0ms for lowest position up to 2.0ms for the other end position. As long as you stay with this period length your description is correct and you can call it PWM.
    But in fact the period length is not important, only T_on is considered by a servo. So with another period length one can see not T_on/period is the signal, only T_on is used. The term PWM is a bit misleading here.

    • @Positive_Altitude
      @Positive_Altitude  24 дні тому

      Yeah, that's right. I did not want to overcomplicate things and said that is just a PWM, which is almost true. But I got your point, thanks!

  • @cheetahkid
    @cheetahkid Місяць тому

    Interesting, one day I might build one.

  • @marek_ryn
    @marek_ryn 26 днів тому +1

    Great project! If it not too late, change I2C interface to something else. I made this mistake when building my robot and experienced communication breakdown due to electric interference with I2C sensors for wheel position. I2C is good for communication between ICs on PCB but will fail when use on wires. Especially when close to electric motors.😮

    • @Positive_Altitude
      @Positive_Altitude  26 днів тому

      I learned it when it was too late. Hope it will be ok, otherwise I will switch to CAN, but it will take significant effort. For now I reduced the problem by using 3 I2C interfaces instead of 1 as I planned. So now it's 5 servos per bus. And two servos works fine. I hope 5 servos will work too. Thanks for the heads-up!

  • @iangraham6730
    @iangraham6730 21 день тому

    Brilliant 👏 👏

  • @JakobFunding
    @JakobFunding Місяць тому

    Awesome project, thanks for sharing. Which IC did you use for current sensing?

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Thank you, it is Texas Instruments INA180A2. It amplifies the voltage across 10mΩ resistor x50 times and then I read the value with ADC.

  • @Personnenenparle
    @Personnenenparle 27 днів тому

    In my final year of university, I created an equation to smoothly travel from one position to another with a maximum acceleration, constant speed and low jerk. I have a desmos of it if you are interested. It would be really great to have it integrated in a controller like this

    • @Positive_Altitude
      @Positive_Altitude  27 днів тому

      That's cool I will be happy to take a look. I used very simple trajectory and never researched this topic before, but if you have a good answer already I will happily use it.

  • @MarkLanett
    @MarkLanett 26 днів тому +1

    Great diagram

  • @STRATOS13PAO
    @STRATOS13PAO Місяць тому +1

    I love your work, are you planing to make it open source or share/sell files like schematic, layout, gerbers or code? I would really like to recreate it.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      Yes, I am going to keep all designs/software from this channel open-source. But right now the board has some minor issues. I will make an updated version and make it available.

  • @ashfaquekhan7282
    @ashfaquekhan7282 27 днів тому

    It would be really nice if , you just made a video on the control schema of the motors , as I saw you werent using PID , cause that was really cool.

    • @Positive_Altitude
      @Positive_Altitude  27 днів тому +1

      Yeah, I decided to not dive too deep into this. But in fact everything is very simple. Position control is just P regulator. Velocity control is PI (well, almost: I term is applied to velocity delta, P term to current velocity, not to the delta). Current control is just PI. So it is like 3 simplified PID regulators chained. And it is not my invention, google for "PIV regulator" that's exactly what I implemented. Maybe I will make a video about it, but not sure if it will be soon.

    • @ashfaquekhan7282
      @ashfaquekhan7282 26 днів тому

      Oh , thanks

  • @evanbarnes9984
    @evanbarnes9984 Місяць тому +1

    Oh man I'd absolutely love to use these! Are they going to be open hardware and source? This is a seriously cool design, love that layered control loop

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      I will 100% open-source it since the next version. The current version has some issues. Not very critical but it could be better. And the firmware is quite sketchy right now.

    • @evanbarnes9984
      @evanbarnes9984 29 днів тому

      @@Positive_Altitude awesome! I can't wait to see it

  • @thecatofnineswords
    @thecatofnineswords 27 днів тому +2

    The assembly/wiring issue could be resolved with clip-in connectors, instead of soldering wires to the boards.

  • @medienmond
    @medienmond Місяць тому +1

    Nice work from a developers view. Where can i download the stl and gerber files? Is there any documentation available?
    ❤ that!

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      Thank you! Design files for the board will be available when I make the next version. The current one has some minor issues to fix. The rover is still in progress, the "body" is not designed yet. I will share the design files when I will finish.

  • @terasalker3501
    @terasalker3501 27 днів тому

    Крутая разработка спасибо что выложил попробую повторить упростив соединение

  • @perspectivex
    @perspectivex Місяць тому

    Really cool and well-done. Which PCB design software do you use?

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Thank you! I am using KiCad. I think it has the right balance of features/complexity for hobby projects.

    • @perspectivex
      @perspectivex Місяць тому

      @@Positive_Altitude thanks for the reply. I dabbled with Eagle a long time ago, then played around with Kicad a little and now am looking at EasyEDA. I think if a project comes along where I need a PCB it will be either Kicad or EasyEDA.

  • @LimabeanStudios
    @LimabeanStudios 24 дні тому

    I HATE the current state of consumer motors. Im making a project that requires very small servos right now and the choises are so sad. I just ordered a couple of those mini linear style servos because i have no experience making boards myself. This seems like exactly what i need and would certainly buy some

  • @MarkHarrison-rp2tq
    @MarkHarrison-rp2tq 6 днів тому

    I would love to see how you designed these. Do you consider making the design available?

    • @Positive_Altitude
      @Positive_Altitude  6 днів тому

      If you are talking about the board, the next version will be available. The one in the video has issues. And I will make a video about it when it will be ready.

  • @PietroZambon
    @PietroZambon Місяць тому

    Fantastic project!
    How can you program the stm32 with rust?😮 So cool

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      Thank you! It works like a charm. It is even possible to setup debug in VSCode. There is a project stm32-rs and there is support for all series of STM32. I am very happy with that.

  • @crashmaxx1987
    @crashmaxx1987 13 днів тому

    I'm very interested in the servo control board! I'm working on walking robots. Off the shelf servos are disappointing and get expensive quick when you use a dozen in one robot.
    Using N20 motors at each joint could be a big improvement.

    • @Positive_Altitude
      @Positive_Altitude  12 днів тому

      Yeah! That's sounds cool! How big is the robot?
      I am working on the next version of the servo. The version in the video has some issues. I will share design files when it will be ready.

  • @ashfaquekhan7282
    @ashfaquekhan7282 27 днів тому +2

    Actually this might become a very famous OpenSrc Servo , which may as well replace the cheap ones

  • @RameshKumar-kb7hp
    @RameshKumar-kb7hp 12 днів тому

    Crazy! I Imagine you can build much smaller and precise parts using a Resin 3D printer

  • @matstermind
    @matstermind Місяць тому

    this is a great option, another one is using simple FOC with brushless motors

  • @Wm200
    @Wm200 Місяць тому

    very cool!

  • @hangkaj
    @hangkaj 22 дні тому

    I am impressed by the presentation and the mechanical/hardware/software design.. Where is the github.. and how do I order the PCB ?

    • @Positive_Altitude
      @Positive_Altitude  22 дні тому +1

      Thank you! Not shared on GH yet, because there are issues and no documentation at all. Maybe I will do that during the next few weeks. But anyway I am working on a new, improved version, that will be shared from the very beginning. I hope I will get there in 1-2 months.

  • @ArunKumar-sp7ep
    @ArunKumar-sp7ep Місяць тому

    We want more videos about the rover and plz share the 3D print file dor wheels

  • @cho4d
    @cho4d Місяць тому

    amazing

  • @Rick-hq5yg
    @Rick-hq5yg Місяць тому

    Great video! The printed parts look fantastic. What 3D printer do you use?

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      Thank you! I use Prusa i3 Mk3 from my local hobby space. It's a good printer but maybe a little bit outdated right now. I think there are better options on the market for the same money right now.

  • @enterthekraken
    @enterthekraken Місяць тому

    Any thoughts on longevity of the bearings? I’d have thought metal on plastic would cause wear and play eventually!

    • @Positive_Altitude
      @Positive_Altitude  29 днів тому +1

      Actually I think if both will be plastic, balls will wear much quicker than the runners as they are smaller, so it it probably a good thing that balls are harder. These bearings should be considered as "low load, low speed, low precision". If we compare them with factory made steel, they just sucks in every aspect except weight and price :) For projects like this rover I think they will wear pretty slowly. I print it with PETG an it has good wear resistance. But for example if you are making a racing RC car, these bearings most likely will just melt in a few minutes.

    • @enterthekraken
      @enterthekraken 29 днів тому

      Thanks! 😊

  • @bgrant1512
    @bgrant1512 13 днів тому

    If you are using a magnetic encoder to determine position how do you figure your start point? On a normal servo the potentiometer returns a set resistance value so it knows where its start position is. How are you achieving this?

    • @Positive_Altitude
      @Positive_Altitude  13 днів тому

      This encoder returns absolute value :) Yes, the zero position is quite random, because you cannot really align the magnet's poles orientation when attaching it. But if you don't mess with the magnet, zero point stays the same, so you can just offset it in the code.

  • @BuzzWang
    @BuzzWang 29 днів тому

    Hi, I would be interested in the idle current of your design. Magnetic sensors ~ 10mA, uC ~10mA, motor driver + rest ~5mA. So, I would expect ~20..25 mA. Is that correct ?

    • @Positive_Altitude
      @Positive_Altitude  28 днів тому

      Yeah, this encoder (Semiment SC60228) takes around 12mA, MCU: 6-8mA. The rest is negligible. So yeah, idle is ~20mA which is something you need to care about when you have 10+ of them. I am thinking to use more popular AS5600 encoder in the next version and it takes around 8mA. Also the MCU just busy-waiting most of its cycles, so it could be clocked-down probably 2-4 times (and current is almost linear with frequency). So it is probably possible to get down to ~12mA.

  • @yurcchello
    @yurcchello Місяць тому

    very good job. maybe its better to put hall sensor on separate board?

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Though about it. But I decided that it is too many wires. The sensor requires at least 5 wires that will be very annoying to route. So, instead I tried to make this board very small. It is only 20*20 mm

  • @psychicspy
    @psychicspy 29 днів тому

    I see that the cage for the ball bearings is 3D printed, but are the inner and outer races for the ball bearings also 3D printed?
    If so, how well do they wear?

    • @Positive_Altitude
      @Positive_Altitude  28 днів тому

      Yes, 3D printed. I did not make a wear test. I feel that they will wear quite slowly if not over stressed. And I assume that high speed will kill them instantly because of heat. But how fast the wheel will wear under the reasonable load is a question. Maybe I will make a test in the future.

    • @psychicspy
      @psychicspy 28 днів тому

      @Positive_Altitude
      My concern is for the pressure that will be concentrated by transfer of the robots weight to the ball bearings. A metal race can handle tremendous pressures, but 3d printed plastic, even at 100% infill is still roughly 70% the density of injection molded plastic. Add to that the fibrous structure of 3D FDM parts, and that does not equal a recipe for success.
      Great work though.

    • @Positive_Altitude
      @Positive_Altitude  27 днів тому +1

      That's true. But I believe that if load is under the certain threshold these bearings could last long. The threshold is a question. I would expect that one 4mm ball is able to transfer at least 1kg without any issues, but it is my guess. Of course its nowhere near what hardened steel could do. I will make a video about these bearings and will try to make some tests to get an idea what one could expect from these bearings.

  • @davidandrews8566
    @davidandrews8566 Місяць тому

    Very impressive content Dima. I have just subscribed to your channel. Looking forward to seeing more of the same.

  • @moki123g
    @moki123g Місяць тому

    I would try to integrate some tpu bearing seals to keep dirt out of the moving parts.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      Wow, this is actually an awesome idea! I will give it a try, thank you so much!

  • @robosphere10
    @robosphere10 Місяць тому

    First : I would love to see an in depth tutorial for the bearing design , second : what is the language you use to program the controller?

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому +1

      I am using Rust. It is a great alternative to C/C++, a low-level language too but with some degree of memory safety features provided at compile-time. I like it because I can use one language for embedded, desktop applications, backend and even for frontend (thanks to .wasm). So I can share my code all over the place.

  • @strawberrygaming4994
    @strawberrygaming4994 26 днів тому

    Have u uploaded this design somewhere
    can i have it for my project :)

    • @Positive_Altitude
      @Positive_Altitude  26 днів тому

      Not yet. The design files are quite useless without at least some degree of documentation. And I do not have it right now. I think I will put my efforts into the next version instead, which will be available from the very beginning.

  • @jameslabs1
    @jameslabs1 Місяць тому

    Cool!

  • @andrewebbPT
    @andrewebbPT День тому

    openSource it and patreon!! thanks for the video!
    Keep up!

  • @agerken
    @agerken Місяць тому

    Very nice Board! Always dreamed of something like this because i'm definately not happy with position control only.
    Do you plan to sell the boards? How much do they cost in manufacturing? Do you have a website?
    Also, yes i'm interested in the ball bearings! If you have time to make a video i'd be happy to learn!
    Can you also share a video of the rover driving? Or is it still in progress?

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Thank you! Yes I am planning to sell the next version of these boards, but so far I don't have a website and don't sell them. The PCB itself is very cheap. I made panels of 4x4 boards (you can see some holes on the edge after I separated individual boards) and 5 panels cost about 8$ without shipping, so 0.1$ per PCB. Components are about 5$ per board total (encoders are 2.5$ piece unfortunately). The biggest question is assembly. I don't know yet how much the factory assembly will cost, it also depends on the batch size as the "setup" cost could be significant. I assembled them myself with a simple soldering iron :) Rover is still in progress, I am designing the "body" right now.

  • @dabunnisher29
    @dabunnisher29 Місяць тому

    I like everything about your project, but what I like most is that you are using Rust for the programming. I wish I could do the same thing on a Raspberry Pi Pico. What STM board would you suggest to use Rust with? Thank you in advance.

    • @Positive_Altitude
      @Positive_Altitude  Місяць тому

      Thank you! I am very happy with Rust for both STM32 and ESP32. I also know some guys that use it for RP2040, so you can do that too! I never used RP2040 but I expect that Rust is well supported there. For STM32 boards - Rust is supported with all of them. So pick any of them, but maybe you should take a board with original MCU from ST. I like cheap stuff, but some cheap boards uses clones of STM32. I don't know if they are working good with Rust, but when I had one I was not able to setup debug for it using original ST IDE (I was using C those days). So maybe they have additional challenges with Rust too.
      The only issue is that I don't like the high-level HAL implementation in Rust (or I did not find a good one). The one I had was very poor in features. If you do a simple things like "blocking read ADC once" it's ok. But if you want to use the full potential of peripherals like "read ADC with hardware oversampling in circular mode writing values directly to circular buffer in memory using DMA and fire interrupts when ready" it is not supported. You need to dive into reference manual and set it up at low level using registers. But the STM32 documentation is top-grade and you will learn a bunch of cool stuff in the process. Also the low level HAL like register map is there and it is good.

  • @nagibochnik23
    @nagibochnik23 13 днів тому

    Выглядит футуристично. Продолжайте дальше, чтоб был больше охват аудитории нужны такие же видео на русском.