RepRap with XMOS

XCore Project reviews, ideas, videos and proposals.
User avatar
Interactive_Matter
XCore Addict
Posts: 216
Joined: Wed Feb 10, 2010 10:26 am

RepRap with XMOS

Post by Interactive_Matter »

Hi,

I am currently building a RepRap 3D printer: http://reprap.org/wiki/Prusa
And since I am an XMOS fanboy I really want to have an XMOS firmware for this. I do not know if this will evre happen, but at least I will give it a try.

Recentyl I got in contact with Trinamic which build stepper drivers. I am working with them, so I am kind of biased. Anyway I think their TMC26x are perfect matches for XMOS: http://trinamic.com/tmc/render.php?sess_pid=468
  • fully configurable in software
  • load measurement
  • power saving according to load
  • step/direction interface or current ratios settable via SPI
So this topic is about my thoughts and findings about driving stepper motors with XMOS (And to give my discussion with folknology a more permanent home.


User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Interactive_matter and I have already had some early conversations around this especially on twitter. I have already designed Open motion controllers which are being used for some RepRaps Prusa Mendel variants including my own. I too had decided to build Xmos motion controller support some time ago not just for my own RepRap but also for other Cartesian robots such as laser cutters, CNCs and plasma cutters etc.. So we had a common interest with regards to designing Xmos boards to support these applications. I do like the stepper drivers that Interactive_matter has found and they look to improve upon the current generation of drivers in the RepRap community, I think a board based around this will be excellent.

I am however taking a slightly different approach, kind of a hybrid between Xmos' sw_basic_motor_examples and Interactive_matter' full hardware stepper controllers. Thus the Multi Axis Motion Controller (MAMC) project (MAMC project home) has a hybrid design based around Xmos and multi axis control not only for stepper based motion but also DC motor/servo applications. This is because I wish to use it not just for RepRaps but also for robotic arms and even mixed designs such as delta robotics motion control. The current project is L1 based but I also have an L2 design on the drawing board. The L1 route provides an initial low cost platform for exploring the robotic software development and testing on Xmos.

Hardware Features:
DC motor control with PWM servo positioning
Stepper Motor control, including real time dynamic micro stepping
Mixed modes of above and extendible to many more axis

Software features (2013):
Cartesian and Delta axis controls
Advanced Acceleration
Arcs

Thus expect lots in motion control and robotics from Interactive_matter and myself in 2013, what else would folk here like to see in terms of features, support and application?

Could this finally be Xmos' year of robotics?

regards
Al
User avatar
phalt
Respected Member
Posts: 298
Joined: Thu May 12, 2011 11:14 am

Post by phalt »

Folknology wrote:
Could this finally be Xmos' year of robotics?

That is why the robotics section is there!

This project could really interesting, I remember playing with a RepRap at my university with a bunch of guys who built one. (We made plastic shot glasses but they didn't work so well.)

It's a really good idea to use XMOS for something like this, it hasn't been done before (unless I'm wrong) so you'll be leading the trend!
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

OK I cross posted an announcement of Multi Axis Motion Controller (MAMC) with feature request in the robotics section, clearly it's more generic and belongs there thanks Paul.

regards
Al
User avatar
Interactive_Matter
XCore Addict
Posts: 216
Joined: Wed Feb 10, 2010 10:26 am

Post by Interactive_Matter »

2013 - that's what I call either realistic or a commitment - or both ;)
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Yeah I will have all of those working in the community during 2012 but don't expect them to be V1.0 until Q1 2013, its going take a lot of testing on many different applications next year me thinks :lol:

(Unless I find some commercial support mechanism for it that is)

regards
Al
User avatar
dave
Member++
Posts: 31
Joined: Thu Dec 10, 2009 10:11 pm

Post by dave »

What "commercial support mechanism" would help?

Are you trying to create a demonstrator/prototype? There
are ways to support this that don't involve investors.

Or are you looking for investment, a customer, or ... ?

I am very interested in this area so please let me know.
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Thanks you for your comments David, my first quick thoughts :

By "commercial support mechanism" I mean being able to commit more time (and resources) to it in order to get it done more rapidly, at the moment that commitment is time and money outside of commercial work (I've yet to commercialise all my Xmos investment). There are a number of ways in which that could happen of course, but let me paint more of a picture so it is not simply appearing from a vacuum.

In order to commercialise my Xmos investment (time and money) I really need a good target for XS1's awesome but unique features, cleary Xmos has already discovered one such valuable seam - high quality digital audio. I have been investigating many other avenues over the last few years that could also represent digital seams of opportunity for the XS1's unique characteristics. One such area I have been investigating most recently is robotics, but such a wide ranging technology field means you need some focused opportunities in which to start. Such focus areas should be able to prove the XS1 advantage in practical applications. So for me I figured there are several low hanging fruit that represent good general categories in this technology area:

1) Cartesian robots - 3D printers, CNCs, Plasma Cutters, Laser cutters etc.. (currently dominated by Stepper driver products and MCUs)
2) Small scale Robot arms, delta robots and multi axis robots (Mostly DC motor based servors with MCU control)
3) General small indsutrial and consumer robotics projects (Mostly DC motors and servos)

So you can see where the basic MAMC dev board requirements came from: multiple small concurrent(low current <3.5A) DC/Stepper motor controls. Where my approach using Xmos differs, is in moving more of the control into the XS1, this reduces hardware requirements and increases software control and flexibility. It also produces a much more modular and agile control system that can not only handle Steppers or DC motors but can dynamically mix them as required. In essence much more of the application design becomes just software, requireing far less dedicated hardware. OK so that's the basic blurb and thinking behind MAMC, but there is a great deal more when you start joining the dots and using these in a modular fashion, then you aren't just confined to X numbers of motors/steppers, using channels you can easily add control capacity in a modular fashion which is where it goes beyond the realm of simple robotics and enters into more modular orchestrated robotics construction for all sorts of industries and markets.

But I am getting ahead of myself here, right now I have been working with a group of folks in the Thames valley area building 3D printers (and other Cartesian robots), currently the electronics is a modular AVR based design because it was easy to get rolling with. next year however I want to switch this to an Xmos based design of which MAMC is a development prototype, I have also had some interest from other organisations and groups around Cartesian robotic products which I am hoping to explore in 2012. Clearly if some of these pay off I will be spending more time on the Xmos side of the development (i.e. not just my own research time and money).

So how can Xmos help? I will need to think about that carefully but there are some obvious ways straight of the bat:

1) There are some technical hurdles to get over especially around first class XS1 'C/C++' support and maybe even some small licensing issues around the tool chain. That is because for this to work we need to make it simple for developers to get on board (especially for those currently employing other competitive technologies) So we can talk about these perhaps?

2) There are cost issues that I will need to overcome, Xmos may be able to help out on this front via a number of means, again this would be a good conversation to have.

3) Currently producing L2 prototypes version are very difficult and expensive and this is one of the next obstacles I will have to face, clearly Xmos may be able to help out on that front.

3) Some insight into certain directions that Xmos are planning could have some impact on how we move this quickly and provide the best competitive advantage vs other technologies.

Clearly I believe there is a major opportunity for Xmos in these areas as I am sure you also do David, so in many ways we just need to sit down and talk about the best ways of getting there, overcoming the hurdles as we approach them.

regards
Al
User avatar
Interactive_Matter
XCore Addict
Posts: 216
Joined: Wed Feb 10, 2010 10:26 am

Post by Interactive_Matter »

To hijack this thread again I want to point out what my intentions with the reprap are:

I am a big fan of the Trinamic stepper drivers and reprap. As said befor the guys from Trinamic are friends of mine - so I am a bit biased, please excuse that.

I am planning to use an XC-1 or XC-2 kit and add a custom hardware shield for reprap. It will just contain more or less the same functionality as the current RAMPS or Gen7 electronics and port some of the standard firmware stuff to XMOS.

The stepper will be driven by TMC262, I am also working on a Arduino driver for those chips - so this will be easy to port as well.

I do not see my approach as contradiction to folknologys ideas. I think we will just use different portions of the source. Folknology is doing a more generic approach, while I am just using the reprapish part of the software (more in the application layer) and provide alternative driving methods using already existent chips.

I do not think that it will run into any big costs - despite the time to develop the firmware. Hence I want to use/contribute to modules and applications that are used elsewhere. To keep the time low and get back any invested time.

@Folknology: Do you think this is compatible to your approach?

Marcus
User avatar
Folknology
XCore Legend
Posts: 1274
Joined: Thu Dec 10, 2009 10:20 pm

Post by Folknology »

Oops sorry to hijack your thread again, my bad ;-)

I'll stay on thread now, As you correctly state my stuff is much more generic and will likely take longer (at least the driver/source code) particularly for applying to the RepRap. I do hope you make your shield XC-2 compatible (Please,Please) as I could use it on my XC-2 dev kit, including work on the Ethernet/TCP/IP parts. I could also help you port the RepRap software if you are interested in assistance as I already have some experience with the code bases around it and plan on porting parts of it anyhow.

So yes I certainly think it is compatible at a higher level and something in which I am very interested, in addition to the MAMC project and its other robotics extensions.

David I also have a MAMC thread in the applications->robotics section where we could extend the more generic robotics conversation.


PS I'm also v.interested to see what extra performance can be squeezed out of these Trinamic stepper drivers vs the A4988/3 commonly found on RepRap electronics.

regards
Al