Building a USB PD Powered Stepper Driver (PD Stepper)
HTML-код
- Опубликовано: 11 сен 2024
- PD Stepper is a USB PD Powered Nema 17 stepper driver and controller built using a Silent Trinamic driver and an ESP32-S3 for IoT and other applications.
Kits are available for pre-order now: thingsbyjosh.c...
Source files and more info available on the project GitHub: github.com/jos...
PCBWay provided the initial prototype boards order your own here: pcbway.com/g/h...
My first thought was "why would you want this?" and then my jaw dropped when you put it on the blinds as a motor. Love this idea, very well implemented.
I went through the same thought process haha!
same here ahah
Oh hey Brian fancy seing you here haha
Same thoughts here too. Got the same geared motor here already and was thinking about a use case. Think I found one. 🙂
put liion charge controller on the same board with boost to make it wireless.
I was gonna say it could be improved with closed loop control. But it looks like you're one step ahead (pun intended). Amazing work
That pun is fire
he sticked a magnet at the end of motor shaft, what is the use of it?
@@ray-charc3131He using magnetic encoder ic to know motor postion
@@ray-charc3131 He is using a magnetometer or hall effect sensor to measure the magnetic field. With that he is able to check the current rotation of the shaft of the motor.
It a diamagnetic encoder
Hyhpsjiee 6pcs AS5600 Magnetic... www.amazon.com/dp/B0BS1LCSR8?ref=ppx_pop_mob_ap_share
Excellent development! I was waiting for something like this for a while! Great work 👏😎
I really like when I see a good engineer also has a good sense of product and aesthetics 👍
This is simply amazing! I want this to be mass produced!
Imagine a 3D printer without the need of a control board! Just USB and logic to the separate micro controller.
Motorize anything anywhere easily.
This invention is pure gold ❤
Would add too much delay which will ruin a print. Maybe communicating through the usb protocol might work? But not sure
@@hexidev The board lacks a realtime clock to work, but sync over network is still feasible I think.
Couldn't you feed the gcode in pieces (buffered) kind of like video streaming works? The gcode then must have wait markers which makes the ESPs ask before they continue.
I know this is absolutely not realtime per definition, but with some checks in place I think it could still control the printer
@@hexidev Every printer running Klipper firmware works this way. You can have as many microcontroller boards you want connected to a Raspberry Pi host. Being an ESP-32, this would probably be pretty easy to set up too. The microcontrollers run a real-time OS that's synchronized with the host. The host sends a stream of commands of what to do and when and they all dance together nicely. :) The most common connection method in Klipper is most likely USB, but it can work over many different connections and protocols, with the more advanced systems using CAN-bus.
@glabifrons or even a thin client or laptop running a Debian linux. This stuff is so kool!!
You just proposing moving stepper drivers from one neatly designed place to at least five places that are hotter and harder to cool down. And on top of that adding weight to places where every gram matters.
Beautiful design and implementation! Don’t need one right now but will keep it in mind for projects. Thanks for sharing!
Everything hits with this video, unique product, excellent info, and beautiful editing.
This is INCREDIBLE. the first thing i'm going to do with one is make a watch winder for my dad and this will let me make it so unbelievably compact!
Incredible job, it has un countless uses for precision tasks
I love the design, amazing work! I can't wait to see more projects utilize this. Cheers
Very very very cool project!
I've worked with those magnetic encoders before, and I might have an improvement for v2:
I noticed that you mounted the encoder on the underside of the pcb, and that you had to use a spacer to create clearance for it.
The magnetic encoders work also when placed "the wrong way around".
So instead, you can mount the encoder on the top of the pcb, make a hole through the pcb and use a longer magnet that reaches through the hole and sits below the encoder.
You might also consider making a version that allows for a "2 sided shaft", although I'm not sure what the use case could be
Thanks for the suggestions, would definitely be a squeeze to fit it on the top side it is pretty crowded as is haha. Also a spacer or something would still be required as you would risk shorting out the tracks/vias mounting it directly onto the motor
@@ThingsbyJosh Yeah it would be a tight fit indeed.
In order to get rid of the spacer problem you could use a 4 (or 6) layer pcb with no tracks on the bottom.
I'm guessing 4 (or 6) layers would still be cheaper than machining a spacer, and you could probably save some additional space on the top of the board.
@@nikscha It is currently a 4 layer board and going to 6 means I would be able to remove tracks from the bottom layer however it also uses PTH vias which could still short out on the metal. Blind vias could solve this or a layer of insulating heat pad or something. Something to think about for the future
@@ThingsbyJosh good points.
I'm really on the fence of buying a board. I like the idea a lot and I want to support you, but I also don't have an application for the board at all. Do you have any smart home related suggestions?
@@nikscha A few ones people have mentioned are blinds, pet feeder, cupboard door for robot vacuum and a TV lift
This is a big deal. Really damn cool. Well done!
As Kevin Hearth would say: "DAMN!!". This is some impresive engineering highlighted very nicely with the production quality. Can't wait to have an excuse of a project to order this :)
Sick man love to see where this goes, and hopefully buy a kit at some point
Times to mass production!!!!! OOOO yeaaah Very nice project. Bravo
Hell yea!!! Ordered one, just to get started, but I will most likely need more later. :) The first project is a curtain, with a twist.... literally
Very cool. Next step is to integrate USB 2.0 HS on the same connector ;) What USB PD IC did you end up using? Been toying around with the TPS25751D - integrated FETs are a great space saver.
Full schematic is on the project GitHub if you want to check it out. This is just a PD sink so no switching FETs are required for the PD on this board. The TPS25751 does look nice for a PD though
A POE version would be awesome
Then get to work😅
What’s a POE?
@@electricburning Power Over Ethernet, its like ethernet with a power cable
@@dromerdev Thanks!!! I’d like to see a POE version too
@@electricburning Welcome :) 🤗
Amazing and I am waiting for years for such a PCB! I will order two of these. These will be drop-in replacement for my tower clock. I am using a Bigtreetech board (also with absolute encoders) in combination with own firmware and external ESP at the moment. It is very hard to program these. This will be super easy with that solution.
awesome work
awesome idea, awesome work. well done.
You won a subscribe, dope/clean work
Beautifully done.
This is absolutely amazing ✌️
Simply beautiful.
Thats a beautiful design. Great work.
This thing is great for astrophotography as you could make your own autofouser bcoz its compact design. This could be a great DIY alternative to the ZWO EAF
Man just think with USB PD, you would only have to run 4 wires to a stepper motor to fully control it... 😅
Jkjk I had to. This is actually really cool. 👌
omg hello new focus motor controller 😻
Nice work. Could benefit from a RiscV logo.
Awesome project. Excited to try it out
I can think of a bunch of uses for this around the rv. Larry
this is very clean.
just lovely.
i'd like to see someone build a 3dprinter for this, would be expensive for sure, but imagine having a USB-C power rails only to control the whole thing..
OR load it with powercells or battery packs and you have stand alone mechanism driven by wireless comms. lol
sounds like a fun but expensive project.
Amazing. I've wanted something like this for my 3D printer extruder. I just need to add thermistor and heater power.
There are solder pads on the back for a thermistor input meant for sensing motor temperature which could be repurposed
@@ThingsbyJosh WOW. perfect! Now i just need to steal a few watts for the heater and i have a perfect 3d printer toolhead control board. Wheat is your USB PD voltage? 24V?
It is software or hardware configurable for either 5V, 9V, 12V, 15V or 20V. There are also some pads underneath where you can directly access it, although I would be careful about drawing too much current running a heater off of it. Technically you can draw upto 100W but I would definitely not want to do this continuously.
Amazing work keep it up one day i will make it😅
Stunningly beautiful
It would be nice if it had two inputs for hall sensor switches or simple microswitches. Nice Project
It does! There is a 3 pin AUX connector that has two GPIO's and a GND reference
Incroyable! Je cherchais justement une solution pour motoriser un bureau assis debout
Very nicely done project (& video!) :) Thanks!
subscribed right away.
VERY nice bro!
USB all the things
i dont write things like ima bust but jesus fuck this video goes hard. as soon as i saw the esp32 it was over ong
ive been outjoshed homie ICANT
Absolutely love the design quality of the PCB and the componentry :). If you don't mind me asking, where were you able to get such a nice custom foam insert? It looks very professional and I would like to have some custom ones made for a linux business card. Thanks!
Thanks! The foam is cut out and engraved using a diode laser on a CNC machine
ahh I see, thank you for the info and I wish you great luck on this venture my friend :)
Very cool i could never. But the soc is a bit overkill, no?
looks great
Awesome work Josh, shame you couldn't cram Zigbee in it, Id be all over these if they supported Zigbee, I made it a point to remove all things Bluetooth and Wifi from my smart home environment.
If this supports ARTNET, it could be a great help for artists
You can probably code a library for that, I'm asuming the creator wont implement that but I'm sure some tech savvy person can/will create it.
A question regarding the application for roller blinds, is the motor completely turned off in the up and down positions or is it energized to be able to hold on? What engine size and gear ratio are you using?
That’s cool!
Do you have a BOM for pcbway for this project? This is something Id love to get a few made.
Thanks
I really like the project! Do you have the 3D files for the wall mount and chain drive used for the roller blind project in the video?
I can add them to the GitHub if you would like. However the mount is very specialized to my setup as it is using an existing mounting hole in the wall previously used as a guide for the chain.
@@ThingsbyJosh It would be nice to see the chain drive if you can add that.
I absolutely love this project and have always wanted to build something similar! Is it possible to detect the end stop of blinds using feedback so that the motor stops automatically? For example, if I pull the blinds up and the motor starts stalling, can it detect that and stop, ensuring the blinds go fully up or down with automatic detection?
Yes this should be doable using the stall guard feature on the TMC2209 driver
love it!
U +130BA
I hope u sell a lot of these and I hope the price will go down abit 😂
When using the ESP32 module, do you have to manually enter bootloader mode to flash new firmware? I am working on a project with the same ESP32-S3 and I want to be able to just plug in the usb and flash without having to manually enter the mode to do so. Super cool project, I am excited to start workign on some of my own!
Do not have to manually put it into bootloader mode every time, just for the first upload. Although I have found with the Arduino IDE when/if you call Serial.begin() can affect its ability to automatically enter bootloader mode.
Are you supplying the board, aluminum offset, and acrylic portions all for $50? All handmade?! Or do you outsource for the preorder units. This seems like way too much time & work for a $50 unit, but damn you did a beautiful job with it!
Thanks, for the pre-orders/production certain parts are being outsourced such as the PCB being assembled by a fab house.
That is one sexy project.
Beautiful finish, nice design. What country is this at 2:33 ?
Looks like New Zealand
Yes New Zealand
so cool
Cozy
@Things by Josh
Is there any reason why this wouldnt be suitable for a modular usb cnc router or printer machine?
Are the pulses on multiple nema axes safley controlable in syncronisation?
Depending on what you use to control each unit you may have slight synchronisation issues between axis. The ESP32-S3 is pretty fast so it may not be noticable not 100% sure without trying
Awesome Idea. How to buy one.
Link is in the description
Nice job :) #queenstown
now this is an amazing idea. Could you possibly design a similar solution, be it as some sort of "dongle" for smaller sized nemas? nema8 :D?
This doesn't have to be mounted on the back of a motor if you don't care about position sensing. Could just 3D print a case for it and use it with a Nema 8
Dreaaammmyyyy
Super cool, but too expensive for me.
2:39 how does it work when the motor on the right isn't connected?
The motor on the right is not being driven, the encoder on the rear is just being used to detect the current position and sent it wirelessly to the other motor
Amazing
what mill did you use on the video, looks very nice
It's a custom one I designed it myself, probably most similar to the Cindymill
this looks like assembling, I think
Assembling after designing, yes. That's what building is.
@@clonkex sure, I just expected this video to include the design process as well. this title is annoying because it's not even trying for shock value as in clickbait, it straight-up just implies something that is not there
Which Nema17 do you recommend/are you using? Can‘t decide on one of the many options 🤷🏻♂️
Queenstown?
i accidentally bought 2 :)
Me too!
The full and partial kit are the same price, is that intentional?
The partial kit should be at a lower price which is what I am seeing
@@ThingsbyJosh I guess it's just ios being ios.
Is the app included??
It is a webserver running on the PD Stepper so no app needed. And the source code is on GitHub
hmmmm no paypal? :( but awesome project
How can i order this?
Link is in the description!
I get why you’re able to afford that view with those skills 😉
ruclips.net/video/qECEGUZE04s/видео.html Is this magnet?
my project used TMC2208 ruclips.net/video/NSV8zTLBukQ/видео.html can you confirm i can use your TMC2209 without changing any codes? just flash my fw onto your chip and it's ready to deploy? pls confirm. thanks!
Would have enjoyed a explanation instead of music, thanks anyways
I do not really get the use cases for that.
Stepper motors are made for precise and fast movement in machines. With the integration of USB as a control interface, you loose all benefits of state of the art systems like low latency, realtime capability, high dynamic etc. You proved that in your video with the sensor/actor example. Plus the fact, that most probably the filtering of the drive is not that good why you are coupling a lot of noise on the bus.
Presentation is nice, but that’s the case for most of the embedded „products“ on RUclips.
I'm obviously a bit biased because I designed it but I think there are lots of cases where people want to move something a set amount and this allows for that in one simple board. There are many ways to control this board (WiFi, step/dir, USB, i2c, serial, etc) and for example GRBL which some of the most popular software for stepper motor control uses serial over USB for it's primary input.
The sensor/actor example was more an example of wireless communication between devices using ESPNow rather than a precise motion control system.
Also for if you really need super fast and precise movements a servo motor is better than a stepper anyway.
@@ThingsbyJoshIf you designed it, there must have been a reason. I see a lot of cool applications for this.
Are there a ton of people needing all you describe with a $10 nema 17 motor? They almost exclusively seem to be used with usb in some way, 3d printers, small cnc machines, laser cutters, etc. Have you designed a similar board that has lower latency or realtime capabilities?
@@ThingsbyJosh Thanks for showing this off. Have you done any type of testing to see what happens with four or six of these boards using espnow and all linked to a master esp32 for control? I haven't even learned how to connect two boards together at this point.
@@orangezeroalpha Haven't personally used more than a couple at a time but should be pretty easy to do. ESPNow supports direct pairing upto 20 devices and broadcasting to an "unlimted" number of boards