Close
0%
0%

Project 3+Pi

3+ Axis motion using Raspberry Pi 3 or similar. Can be used for Cartesian motion or even more. Now with optional closed loop sensing!

Public Chat
Similar projects worth following
3+Pi is a passion project by me whereby a Raspberry Pi "hat" designed to contain Stepper drivers and a rather beefy M4 MCU onboard to help with low level control for said steppers. The RPi therefore acts as the GUI interface which handles the high level interaction needed to command the 3+Pi board to do the necessary tasks.

Currently ongoing. One man army right now (that will be me.) Keen to look for other interested people who might be interested in helping out.

The fundamental concept is rather similar to any ATMega2560 based 3D printer boards. However, instead of using a USB-UART layer, this will be replaced by the use of a direct UART layer from the Pi to the 3+Pi board. Pi being used as High level HID platform leaving the M4 to do all the low level bulk of work.

Hello!

3+Pi is nothing conceptually new. This is just as any 3D printer based board which talks through UART. Except instead of having a USB to UART layer, this is directly working UART to the Raspberry pi. 

Designed specifically to act as a Raspberry Pi Hat. 3+Pi conceptially means, 3 Axis or more (thus the +) and along mounted onto the Pi.... (umm... Thus the +Pi again.)  

With a ARM Cortex M4 STM32F302CBT6, the 3+Pi will be able to handle all the low level logic and Realtime aspect of driving the motors for whatever purpose you might want to throw at it... Hopefully. Using the TMC2041s dual in one package stepper drivers communicating with the STM through SPI, the option to add 6 Degrees of freedom will not be an issue... Unless maybe when you're driving the stepper coils hard then yeaaaahhhh probably not? 

Optional CAN controller will let you use the 3+Pi for any CAN-able (hehehe) devices in the bus allowing you to directly talk to the STM for stepper feedback and monitoring or stepper driving. With the optional feature to talk to the Pi and ask it nice questions like how is the temperature going and how much resources are you drawing. How are you feeling? It's good to talk...

Finally, with the whole doctrine of USB-C motivation, I have succumbed and made the board support USB-C 100W full usage. I mean it will be able to negotiate a whopping 20V 5A if the supply grants it but will be able to programmed to drop the power draw should there be an issue. If there isn't any 20v or high current supply, the board will work functionally with normal 5V 3A powering only the Pi and prompting the user about low power input thus putting the STM32 to deep sleep until next power up hoping that the power supply is enough to juice it up.

So where can this be used? Possibly for 3D Printers, CNC machines, Laser cutters or virtually any low power demanding 6DoF applications. I have so many outlandish plans for this project such as adding the potential to respond to physical motion feedback on said 6DoF to have a good closed loop control system. I hope this is inspires you to design your own crazy project (please feel free to let me know about it and I'll definitely try to support you with my skills as much as I possibly can) and or feel like oyu want to help out. Because sure enough, you are happy to join this project! :) Thanks for reading...

/..\

Here is the previous extract I had for the board originally. I believe in archive and less deletion as it's an important philosophy to show other people and individuals the improvements/non-improvements they make.


{The board consists of the Cortex M4 STM32F401RE chip handling mostly the grunt of the lower level tasks needed to create the signals need for the 4x TMC2100 Stepper driver modules. A bunch of bulk Al caps to smooth out the power supplied and to be rated to handle 24V input. This reduces the need to having thicker current power supplies rated at 12V. [Edit: 18-02-2019 This was the original idea with Prototype V1.0-1.2p]

My power target is to go lower than 96W total....For now. [Edit: 18-02-2019 This was the original idea with Prototype V1.0-1.2p] }


This is rather a rapid prototype for now, so it's been designed rather quickly and will possibly have some bugs/hiccups here and there. I have been working on this after my usual day time work during the weekdays so ... I'd say there isn't much time put into this yet but regardless, I intend to do it no matter how long it takes because of I love doing such projects.

  • 2 × TPS54340DDAR Power Management ICs / Switching Regulators and Controllers
  • 3 × TMC2041-LA-T Dual Stepper Motor Driver
  • 1 × MCP2562T-E/SN Application Specific ICs / Telecom ICs (CAN)
  • 1 × STM32F302CBTx Microcontroller
  • 1 × Raspberry Pi 3 B Single Board Computer

View all 7 components

  • Introducing Spine for 3+Pi

    Tobius Daichi04/21/2019 at 14:03 0 comments

    Hi everyone. 

    I've finally made the Hackaday page for Spine. Here it is: https://hackaday.io/project/165110-spine-for-3pi 

    Parallel to working on the 3+Pi, Spine will be an optional unit for closed loop 3D space sensing. Ideally to be used with the 3+Pi, I plan on releasing the designs for anyone anywhere to use it.

    Thanks, have a good day!

  • Minor Updoot 09-04-2019

    Tobius Daichi04/09/2019 at 01:27 0 comments

    Hello.

    I've been busy lately and haven't gotten much time to work on the Spine board yet. I will get to it as soon as I can while I sort some normal day chores out first and get sometime.

    In other news, 3+Pi has entered the 2019 Hackaday competition! woo! So many amazing project entries from others which is really awesome! 

  • Feedback is nice

    Tobius Daichi03/25/2019 at 06:57 0 comments

    Good Evening. 

    So I was thinking about adding some sort Motion feedback from the motion created by the stepper motors allowing a closed feedback loop if the system is going to be used as a 3D space instrument.

    Essentially it will be a plug in board which will be remounted onto a distribution board which will connect two sensors on each side whilst the distribution board contains a different yet similar approach to the other sensors. 

    Hmm, knowing that this will bump the pricing overall up, it will be an optional setting which is why it will be a 'plug in'. 

    Again with the close-no-budget that I have right now they will remain in software phase without any testing done in real-life. I am not sure if a go-fund-me or kickstarter would suffice because I don't know or like marketing exaggeration and my projects are very niche, let alone completely over saturated now times. 

    Oh well, if anyone would be interested in conversing about this, please send me a message/comment and I will hopefully get back to you very soon. 

  • 3pluspi.com now redirects to this page

    Tobius Daichi03/12/2019 at 01:45 0 comments

    Minor Updoot. 

    3pluspi.com now redirects to this very hackaday page. 

    Other than that, no changes or updoots. Still working on other stuff for now. 

  • Updoot 26-02-2019 | Want to beta test?

    Tobius Daichi02/26/2019 at 03:12 0 comments

    Good evening. 

    The last few days have been quiet as I haven't done much. I am still looking for ways to get this funded to be released. I am not really that keen on doing over-the-top advertising and would prefer a small niche market anyway. 

    I'm always open to anyone willing to join the team, unfortunately I am not really a marketing person so I do not have the finances to pay for your time. I ---however--- promise to make it up for it later when something comes out of it and will be as transparent as the air that's between your eyes and the screen that you are using to read these texts... Assuming you're not in a smoggy area...or wearing sunglasses...or... Okay that was a terrible analogy. 

    If you're keen to be a beta tester and are willing to make your project using this board, feel free to contact me here by leaving a comment, sending me a message here or just send me an email over on: contact@3pluspi.com

    Thank you for reading, hope you have a good day.

  • V1.3p Prototype designed! [Edited with more info]

    Tobius Daichi02/17/2019 at 07:11 0 comments

    Okay so major changes on the new board. I've changed project image to replicate that. 

    I'll add in the changes after making an actual change list with the project itself and the BOM cost.


    Additional Edit [10-02-2019]

    Good Evening. 

    Version 1.3p (p = prototype) has been designed with some massive considerations and changes whilst still keeping in mind of the the same concept of 3+Pi original idea. The reasoning behind these changes were to reduce the BOM Costs and try to optimise the maximum usage of components available. As you will notice later on the that the Components listing will change to adhere with these potential replacements. 

    They are as follows: 

    STM32F401RE ---> STM32F302CBT6

    This is a 48 pin count lesser 'expensive' variant from ST Electronics. 

    May also make it obvious that this is a personal bias choice of mine because I happen to have a knock-off STLINK from ebay that will let me program with this chip. I would have loved to program with the Microchip's variants which have quite an appealing price. But not only do I not have a ICE board or the ace of all cards: JLink. 

    This drops the price by about $4.00AUD from Digikey listing (individual piece).

    TMC2100 --> TMC2041-LA-T

    This Trinamic chip contains dual Stepper driver modules in one chip. Not only is this great for space factoring but also I happened to have found that they also do use the SPI Ctrl system to drive the motors leaving me to use the SPI control mechanism of the STM listed above. Besides the fact that I limited the current to about .9A per coil, this should be plenty for small applications and less torque demanding applications. I will have to do some serious testing on this platform to make sure it works. 

    MAX17574ATG --> TPS54340DDAR

    TI Chip allows more current to be pumped out without the need of external MOSFET drivers. I chose this for the sake of space and also reducing development timing. I will need to do some testing and see if things work out and if the supply is as regulated as expected and actually am recording the right amount of voltage. Which is why I used to 2.54mm jump headers to measure current draw.


    With those changes made. Here are some new additions to the board:

    Read more »

  • Hmm... Something something USB-Type-C Power...

    Tobius Daichi02/14/2019 at 12:41 0 comments

    Hmmm 100W MAX...

    Negotiable power draw.... 

    Potential reduction of e-waste by using current on the shelf power supplies.

    Yup. I'm working on getting a power delivery mechanism working to allow USB-C Sink whilst taking advantage of that 100-60W power range. Fun fun!

    ... If only I had time :( bah! I'll do it anyway no matter how long it takes!

  • Updoot 09-02-2019

    Tobius Daichi02/08/2019 at 14:38 0 comments

    Hello people of the internet...reading this.... hehe

    Some major changes to the board. It's as if I went totally mental and threw everything from the table and started all over again... Except I did this by copying the folder and making a new prototype. 

    It obviously seemed like the F401RE was too expensive paired with 4x Trinamic individual drivers. This was seriously an issue I overlooked... because well I don't really have much time to work on this that much.

    I've changed the MCU to the F334C6... Drivers to 2041-LA ... PSUs to TPS54340s. And also added a CAN transceiver since that 334 came with it. I've also had to reduce the pin count for the MCU so I can try to squash in as many stuff onto leaving nothing down. 

    Still planning on making it a 4 layer board too.

    Well that's it for now. 

    Weekend sorted! I'll keep you all posted :D

    As always, happy to have anyone who is interested to join and help out! Send me a message.

    Cheers and have a good one!

  • Updoot 02-02-2019

    Tobius Daichi02/02/2019 at 06:43 0 comments

    Hello again, 

    Got the digikey parts in, just now waiting for some parts from RS to come in and the first prototype board should be good! yay. Here is some progress:

  • Boards are here! :D

    Tobius Daichi01/28/2019 at 03:08 0 comments

    The boards are here! 

    Time to order the parts.. :)

    Ordered the parts! ... (sigh) RIP Wallet :( 

View all 12 project logs

Enjoy this project?

Share

Discussions

Gamester17 wrote 06/27/2019 at 06:20 point

@Tobius Daichi Cool project! I have been looking for an available commercial replacement controller board for Creality 3D-printers that either fully integrate with a Raspberry Pi for OctoPrint or a replacement controller board that can also fully replace a Raspberry Pi to run OctoPrint on its own. I have a couple of tips from my reading up on replacement 3D-printer controller boards (so as a disclaimer please note that these tips are not from my own personal experience so I cannot take any credit).

First tip, you should know that TMC recently announced their new TMC2209 which are relatively inexpensive stepper drivers that are specifically targeted and optimized for FDM/FFF 3D-printers. Quoting and pharaprasing @warlockd here; Compared to the older TMC2208, TMC2209 apparently is supposed to supports “multiple chips being on the same UART bus so no more having to use software uart or a mux, you use the MS1/2 pins to choose what the address of the chip is and you can send read to individual chips.  Only 4 addresses though so not sure what to do about E1 but I guess its ok for it to be sharing the E0. Sensorless homing  works so much better with interrupts, especially with Marlin's software design. Seems TMC went all out with the 2209, better stealthchop switchover. 2amp rms.“

Second tip, will you be using/recommending a using a 2oz copper thickness for all the layers of the board? I read on Reddit that Griffin_459 (Paquette Engineering) who designed the newly announced TH3D EZBoard Lite (formerly "TH3D Tough Controller") used 2oz copper thickness on all 4 layers of their board instead of only 1oz copper thickness to specifically deal with the heat dissipation of TMC2208 and TMC2209 stepper drivers, that way they do not even need to use heatsinks at all as the whole board act as a heatsink. See his comments https://www.reddit.com/r/3Dprinting/comments/bro0pn/brand_new_tmc2209_stepper_drivers_coming_out_soon/

Third and last tip, as an alternatively to making this board as a "hat" for Raspberry Pi you could at least in theory replace the STM32F3 MCU with an MPU from the new STM32MP1 series which has an very fast integrated MCU for a totally integrated solution as that series combines one or two Cortex-A7 processors alongside a Cortex-M4 MCU. https://blog.st.com/stm32mp1-mpu-stm32mp157a-ev1-stm32mp157c-dk2/ STMicroelectronics claims STM32MP1 architecture enables developers to use the same software as STM32 MCU series, and theoretically, with the STM32MP1 MPU series having both a Cortex-A7 CPU and a Cortex-M4 MCU you could run both OctoPi with OctoPrint or similar Linux distribution as well as either Marlin or Klipper 3D-printer firmware on the same board, without the need for a Raspberry Pi at all. Should be noted though that even the fastest Dual Cortex-A model of STM32MP1 only run at 650MHz per core and supports up to 1GB of external RAM so that part is on paper maybe only twice as powerful as a Raspberry Pi Zero when considering STM32MP1 are based on Cortex-A7 instead of the older ARMv6., but that should still be enough to run OctoPrint smoothly https://www.cnx-software.com/2019/02/21/stmicro-stm32mp1-cortex-a7-m4-mpu/ The available STM32MP157C-DK1 and STM32MP157C-DK2 $99 discovery kit are relatively cheap at $69 and $99.

  Are you sure? yes | no

Tobius Daichi wrote 07/01/2019 at 06:39 point

First of all: apologies for not being able to respond earlier ... and second most crucial of all: Thank you so very much for the wonderful feedback. 

3+pi has been dusting up as there hasn't been any interest in the concept from virtually anyone I know, claiming it to be a very niche project which would not be easily sustainable.  Therefore I'd not say I abandoned to but left it 'hibernating until the requirement comes up'. Again thanks for leaving your wonderful comment here as it's nice to know that someone's been interested in this design.

Now to address some of your points. Indeed I had a look at the UART based TMC2208 series but did not prefer it due it's limited if not fixed amount of addressable conditions similar to an I2C based chip. This is why I went with the SPI variants instead and found out that the TMC54340 series sufficed as I could slave them to whenever I need them as soon as possible. This would allow the user to have more than 6 drivers on 3 chips on a small board and wouldn't have any issues with UART addresses limit. 

As of making the copper layer dense. That is indeed a great point! Thanks for that. I hadn't even consider it because I completely forgot that the TMC series steppers have a massive epad sinking its heat to the board. Thank you again! :D

The variant to use STM's A7 series would be more or less costly and difficult to develop alone, needless to say about how to customise the linux distro to house everything in one package, isolate the EMC/EMI from drivers and the HS Data layer. This would be difficult but possible. However due to the lack of time and low if not no interest in the project that is present, I am not motivated to work further on it... 

I am currently working on a USB-C adjustable powersupply for the time being hoping to target hobbyists and students on a budget and space constraint that is my current focus.

Thanks again for the feedback. I really, really appreciate it! :D

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates