Looking at Grbl and TinyG they both seem to be all-in-one boards with integrated stepper drivers and they all seem to top out at 4 axis. Since I'm running a mix of servos and steppers (and need at least 5 axis) those boards doesn't look as good match though I could of course just hijack the step/dir signals (I see that there's even pads/connectors for that on some of the devices). Googling a bit seems to indicate it might be possible to daisy-chain two boards and relay data from one to the other but I don't know, it all seems like another hack and that's exactly what I'm trying to avoid at this stage.
I'd personally rather have something without the drivers - something like the KFlop or PoKeys57CNC or even (a little higher end) the HiCON Integra. I know I know, it's free, open source and it's up to anyone to add it.... but I'm not a programmer at that level and have never written a line of Java. With your help I could possibly get the feeders going but adding a new motion controller probably is more work than I'm currently prepared to take on. That says more about me and where I'm currently at than it does about you and/or the openPNP project!
Hi H.O.,
First, no worries about negativity. I've been working on OpenPnP a long time and I know what it is and what it isn't. I have thick skin
Smoothie might be a good option for you if you want to use something that already has support in OpenPnP. There is a Smoothie board called the Smoothieboard 5X (
http://shop.uberclock.com/products/smoothieboard ) that has drivers for 5 steppers and it also breaks out the step/dir signals so you can use external drivers if you prefer.
If you want to use a board that isn't currently supported it's a lot less work than it might sound like. The driver interface for OpenPnP is only a handful of functions. What many people do is just copy one of the existing drivers and change the Gcode that is sent to suit their machine.
I totally expect to have to do some "integration" and setup work but I'm not really up for the task of learning a complete new programming language etc. What I think would be good for something like openPNP is to adapt some sort of script engine. They did that with Mach3 way back and it's proved extremely useful for things like toolchangers (where no machine is the other alike). There's no complicated IDE, no build process, nothing like that. Just simple text files with VBScript(ish) commands and it's super flexible. There's all the commands of the scripting engine itself, then Mach3 exposes it's internal commands so you can set outputs, read inputs, do motion and if that's not enough you can call functions in external DLLs, like the Windows API.
I designed OpenPnP to be very easily extensible and customizable. The entire system is driven by loading a number of generic classes from the configuration file and then just doing what they say. Using this you can define any number of heads, nozzles, nozzle tips, actuators, cameras, etc. In addition, many of the deeper pieces of functionality like tool changers are configurable.
The problem with doing this type of thing in a scripting engine is that you are effectively just adding another programming language which you then have to create APIs and bindings for. The reason this works well for Mach 3 is that Mach 3 is closed source. Without the scripting engine there would be no way to add custom functionality to Mach 3 because they won't give you the source.
In OpenPnP, if you want to add some piece of functionality you just add it. Yes, you do have to do that using Java but really, Java is easy. It's one of the most popular programming languages in the world, has tons and tons of support and community and I've provided a number of tools to make it easy to get an OpenPnP development environment up and running. By following this guide (
https://github.com/openpnp/openpnp/wiki/Getting-Started-with-Eclipse ) you can be up and running and making changes in under 5 minutes.
Finally, am I correct when I say that OpenPNP does not have provision for part alignment using an uplooking camera? I seem to remember you saying that in another thread.... IMHO that is a must have.
Thanks again for jumping in and I apologize if I'm sounding negative.
That is the current situation, but bottom vision (which is what I call this feature) is my current and sole focus for the project. I am hoping to have a basic version of it working by this time next week and due to a new vision pipeline system that has just been finished it will be very easy for people to customize and improve. You can see a screen capture of my progress as of last night at
https://twitter.com/openpnp/status/710138303199096832/photo/1.One of the things I have learned over the years is that people tend to underestimate the amount of software needed to run a pick and place machine. It's not like a CNC mill, for instance, where another (hugely complex!) piece of CAM software has created all the instructions and the control software just has to run them. Pick and place software has many more interactions with the machine for every part it has to place. Lots of people have created scripts that export Gcode based on Eagle files, for instance, but these only take you so far. Eventually you need something with intelligence if you want a decent user experience.
Unfortunately, I think you will find that there are very few options for your machine. Madell is likely the best option if you just want something that will work out of the box, assuming that it will. I don't know how customizable their software is, I just know they've been selling it for DIY machines for quite some time. The LitePlacer software might be another option but I think that you will find that by the time you've adapted it to your machine and adapted your machine to it you will have been better off just buying a LitePlacer.
Pick and place software tends to be designed for one specific machine. You can see the problem with this over in the Neoden 4 thread. If the company decides to stop making that machine it's highly likely they'll never release another update for the software. Once the software dies your machine is a brick.
This is a big part of the reason I've spent so much time making OpenPnP modular. I want to provide an option both for DIYers with crazy custom machines and also for older machines that are still perfectly functional except for their software. My (not so) secret hope is that someday manufacturers will see using OpenPnP as a better alternative to writing yet another buggy, unsupported, obsolete before it's out the door pick and place software.
Anyway, that's my $0.02. It looks like you have a very nice machine built and I think OpenPnP would get you quite a long way with it but I completely understand not wanting to have to take on another project when all you want is to run your machine. I feel the same way about 3D printers.
Jason