Hello Guest it is December 02, 2021, 07:27:03 AM

Author Topic: Fishing for comments on my scientific automation application with a Sherline CNC  (Read 3822 times)

0 Members and 1 Guest are viewing this topic.

Hello all,

I am using a Sherline 3 axis mill with 3 servos, a xylotex controller and Indexer LPT from Ability Systems to send instructions to the motors.  I am using the system in my laboratory as an automation platform.  The mill moves a 96-well plate under a laser (Raman) probe every two minutes while a machine records a spectrum for each of the 96 samples.  Right now I have a rather poorly syncing batch file running that uses dwell events to try to keep the movements of the mill in sync with the spectrometer.  This doesn't work very well. 

I would like to reconfigure the system to make the sync tighter.  It seems to me that I could use a G-code sequence to move the platform and a suggestion was made to make the 'laser on' LED into a trigger for the mill movement.  I can rig up a photodiode/phototransistor to generate a hi-lo signal that I can feed into the parallel port.  I was thinking that some kind of stop/wait signal could be issued and the resume command would come from the change from hi to lo when the spectrometer finishes the data point and the light goes off.  This triggers the movement to the next well.  The spectrophotometer runs in a mode where it takes a spectrum for 2 minutes, waits for 15 seconds then starts the next spectrum.     

I could have this programmed in a number of ways I suppose but I thought that if I did it using a program like Mach3 then I will also end up with a functioning 3 axis CNC machine.  This would be handy for me to make parts for the lab.  Very handy indeed.

So, what I am asking this forum is:  Do you think the above concept is possible?

If it's possible, I'm then going to wonder if I have the time or patience to get everything wired up, Mach3 configured, and the sequence written in G-code....  I don't think I do.

I know that the following probably sounds a bit on the insane side, but because of constraints on my tine and my minimal knowledge of all things CNC, what I would ideally like to do is find someone that I could pay to help me set up this system.  I can ship the computer, parallel card, motor power supply, controller board, the complete sherline mill, a sample well-plate, a paid license for Mach3, the phototransistor assembly, and any other necessary parts to put the system together.  The spectrometer can be simulated with a flashlight.  This person, for an appropriate fee, would assemble the parts, install and configure Mach3, and then write a file that accomplishes the automation process described above.  Lastly, once I get the system back, this person could provide tech support for an hourly fee for both the automation process and also to get me up and running with making simple parts out of aluminum on the mill. 

Boy, I am probably going to get flamed really bad for this post. Well, you gotta shoot to score....

Offline jimpinder

  •  1,232 1,232
  • Wakefield, West Yorks, UK
    • View Profile
I have the rough idea in my head of what you want - and yes, it is perfectly feasable.

I am not voluntering for the job, because you are, I think, the wrong side of the pond.

Yes - Mach 3 - using your Sherline mill can move the 96 targets under the laser to less than 1 thousanth of an inch accuracy. It can turn the laser on and off, it can wait for something else to happen, it can dwell for a set number of seconds, or take a timing pulse from elsewhere to do it, before moving to the next sample.

A relatively simple job. At the end it can repeat or even sound a horn or make a speech to say it has finished.

The advantage with Mach 3 is that it can be programmed in Visual Basic (with a GCode plug in) so you can have the advantages of pure programming language, together with the simplicity of GCode.
Not me driving the engine - I'm better looking.

Offline Chip

  • *
  •  2,055 2,055
  • Gainesville Florida USA
    • View Profile
Hi, Octathorpe

Where are you located.

Where are you located.


Jimpinder, thanks for the tip that Mach 3 can be manipulated with Visual Basic - that may be an easier way to do that scripting/program for my application.  however, I don't know if I would say 'wrong' side of the pond, just 'other' :-).

I think it's going to be a pretty simple thing to do once I get my phototransistor rigged up as an input and the mill set up and running with Mach 3.  I'm still working on that part.
I have started a related discussion of this topic here:
If I'm understanding correctly what you're trying to do, it's quite simple, and you don't even need to get into Visual Basic to do it.  You can use G-code to do the positioning, and insert M00 commands where you need to wait for the machine to decide it's time for the next move.  You can create a smiple "brain" function to monitor the input from your opto, and have it feed an Alt-R keypress into Mach when the opto is asserted, which will then cause the G-code to move past the M00 and execute the next move.

Ray L.
Ray L.
I believe you are correct in that I can do everything in G-code if I use the analog optical sensor to trigger a 5V signal which I can monitor on the parallel port.

What I'm trying to decide now is which external trigger should I use to be the trigger to continue and move to the next spot:  external analog optical or internal operating system file write/detect function. 

I'm going to try to see if anyone has any comments on the VB script concept in the other thread as a solution may be as simple as attaching a relatively short script to a button on a mach 3 screen.  If that turns out to be problematic then I'll start trying the analog optical route.  I suspect that if I go with this 5V trigger route then there will be a lot of folks around here that will know how to help me with the syntax for such a script since it will not involve VB.  I've got a phototransistor, 5V power supply, appropriate resistor and a schematic, but I have not actually put the photosensor widget together to see if it will function as I expect.