Hello Guest it is May 05, 2021, 09:12:18 PM

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - LGF

Pages: « 1 2 3 4 »
21
Brains Development / Re: testing the water, so to speak
« on: September 25, 2014, 05:19:49 AM »
thanx for reply, thought as much since i got a Mach3 friendly BOB, i mean a limit switch is a limit switch and all 6 of them has the same outcome, hence it doesn't matter which was triggered. sorry for the long absence, been oversea's and currently fighting a family crisis (Father in Coma after stroke) but will update progress as I can. Getting there quite fast now. most issues sorted.

22
Brains Development / Re: testing the water, so to speak
« on: September 08, 2014, 06:39:35 AM »
Thanx for the link, will try and watch it once our IT Dept. has lifted their ridiculous filters, hehe.

As for the Arduino idea, well I completely ripped that out of the entire process, just way too many an issue, I opted for "stirling"'s advice and went with the parallel port, as he mentioned that ModBus is not for the time critical functions, this resulted in me getting an additional parallel port (PCI card) but, i bumped into a "Mach friendly" BOB and although it does not have as many an input as I would like, it should work (well it works on the stepper's so far)

Still need to attach the following and test:
e-stop switch currently manually operated,
spindle control, also still manually operated currently,
flood control, also currently a manual thing,
end of job power cut system (2 channel 5v relay BOB) not yet connected; and,
six limit switches. the latter will just have to function on the limited input pins on the "mach friendly" BOB i got and I am considering placing X++ and X-- limit switches onto the same input pin with the same outcome in the brain (although I guess that I will only state one of the swithces, either X++ or X--) IF this does not work, well, I always have the option of the second parallel port with all it's pins still unasigned.

This should be in the worx very soon. I managed to salvage the PC "box" from one of the two that I combined parts from to get the one functional and working with mach. This "box" will soon house all the electronics as opposed to their current location attached to the rear of the machine on the stiffner plate of the X-axis. This means a total rewire as all the wiring that is done in the current config, is precise in length and sleeved, will it ever end? Probably not, but I suppose there is good in that too.

Wrote a brain for soft limits that worked like a charm, I just now have to write something similar for the hard limit switches and the rest of the control equipment (add-ons) and hopefully it will be as easy as it was with the softlimit brain ???

Promise to take some pics today and see if I can upload them, tried some before but failed, internet PC @ work= sucks big time.

23
Show"N"Tell ( Your Machines) / My Build EVO v1.I
« on: September 05, 2014, 04:40:16 AM »
Hi All

Just wanna show and tell a bit (mostly tell for now, pic's to follow soon).

For several years now, I had the need for a CNC machine. I make fishing lures for an OBSESSION, was a hobby a very long time ago. This was due to the molds that I could import, well they weren't exactly the shapes and sizes I wanted, so I had to settle for somebody else's designs. Hence the requirement.

I am completely new to CNC as such but have never been scared of trying and learning something new, so I ended up building my own machine, partly due to the fact that a commercial unit with the same dimentions costs roughly 5 times as much as I have spent on my build and my build includes a coolant system, a 4th (rotational) axis and is even placed in a soundproofing poly-carbonate cabinet.

@ first I struggled alot with getting help and info to understand the complexities of Mach, controlling hardware, software, functions, features etc etc etc.

Thanks to Tweakie.cnc and stirling, I can glady announce that as of last night 23:30 CAT, I have a operational 4 axis CNC machine titled EVO v1.I, EVO because it has and most likely will keep on evolving, v1, well version 1 and .I meaning it will be for infinite/infitity of alterations to the machine.

I intended to use a config of ModBus with Mach3, and Arduino 2560 Mega and four stepper drivers, where Mach would be the Master and the Arduino would be the ModBus-slave. At first I struggled imensly with getting the ModBus sketch to compile in the Arduino IDE. Once that was sorted, the next chalenge came in understanding the ModBus config with relation to the Master and Slave idea. I failed here, I still do not really understand it, BUT, "stirling" advised me to not consider ModBus for the time critical functions for Mach and to rather opt for the traditional LPT setup.

Although this meant that I had to obtain a "new" OLD desktop PC that actually had a parallel port, it was such a breeze after I did. Managed to get Mach working as intended on the desktop, configured the ports (wiring and config setup's) and in a matter of virtually two hours had the first actual Mach controlled movement of EVO's steppers. Thanks you so much for the nudge in the right direction stirling.

Although optional, stirling also advised me that it would probably be better to make use of a BOB if I didn't know what I was doing, that, the electronics I have no issues with, but I was so discouraged and, well, fed-up with the build that I went out and bought a BOB that is supposed to be Mach configured already. Works like a charm and was the easiest part of the entire biuld up and until now. Thanks again for the nudging!!

I had some issues last night, but sorted them out and they are listed here for ref should anybody else run into the same issues.

I had my X, Y and Z inverted with relation to dircetion: Solution, swoped the wires (polarity) on one of the two coils of these steppers.
The B axis (bolted to the far most + side of Y) kept on moving when I jogged Y: Solution, unchecked the "Slave" box in the Config setting relating to the slave settings.
One that still remains is the limit switches, I bought 6, 2 for each axis, but the BOB only has space for 5 inputs excl. the e-Stop and Spindle inputs. (thing of combining the X input leads inot one input, the Y leads the same and the same for Z) thus if any of the 2 switches per axis is activated, it will perform the required fucntion that I have written into my limit switch brain, still need to verify if this is actually a functional brain and if it will function correctly with my intention.

Another issue I still have to sort, again thanks to 'stirling' is the pitch of the threaded rods i am using which is M12X1.75, the 1.75 is really very slow and even with the steppers configured to run just below "selfdestruct", ROFL, not really, but at the max of their comfort zone, it is really bordering on rediculousness!!! So, I will have to replace these, at least on the X and Y, not so sure the "slow" speed (current MaxComfort setting) of the Z is actually an issue, it is rather ok, FOR Z!!

I still need to setup the following in Mach and the BOB obviously:

Spindle control (on, off, speed)
Flood control (on, off and flowrate)
Machine behaviour (end of process/job, return to home, shut down etc.)

Once this is done, I will need to mill the bed-surface and install a clamping system of sorts, still need to design one.Learn how to "fix" my 3D scans in some CAD/CAM software and the processes to follow to get valid G-code that I can load inot Mach.

Then the neighbour should move house, he won't like the constant buzzing sound that inevitably will prevail.

Updates to follow!!

24
Modbus / Re: How to Address Modbus Outputs if you have more than 20
« on: September 02, 2014, 07:00:16 AM »
Stirling

The machine is built, wired and checked manually and electronically too all seems to be in order, have movement on the lead screws when turning them manually (also with a previous test with the Arduino) backlash is virtually so little and might require some tuning on the backlash nuts I made on the lathe, but thats about it. Oh and getting the machine a soul, NOT A GHOST hopefully.

Anyhow here's the specs I can recall off the top of my head so far:

The enite machine (framework) is constructed of 10mm thick aluminium plate with variations of width between 70-100mm's and one or two pieces that has 400x350 and 200x120 dimensions.
M12 (1.75 pitch) high tensile threaded rod leadscrews, very well made anti-backlash nuts, stepper leadscrew couplers commercial units, no play or slipping etc.
4-Axis (standard X, Y Z with rotational B slave mounted in a linear manner on Y)
X, Y, Z fitted with NEMA23 3N/M 1.8* steppers whilst B = NEMA23 1N/M 1.8* stepper (all works out with 200steps /rev)
4 x Wantai DQ542MA Stepper drivers with Enb, Step and Dir signal inputs, a separate 48V input for stepper power
Power supply delivers 5v, 12v 1nd 48v with @ 20A max (Main source is 220-240)
Spindle is a 500W industrial router with toggle switch (later to be altered to be controlled by Mach including MPG)
Flood system fitted with manual switch (also to be included in above alt for Mach)
LCDKeypad shield for Arduino Mega (now redundant)
2 channel 5v relay system for power control for end of job and e stop functions (also to be added)
E stop fitted but is manual.

As for physical dimensions, have not measured the exact travel distances yet but these are roughly as follow:
between the max and min of X roughly around 380mm, Y around 240mm, Z has a travel of around 210mm.

Giving you this info so that perhaps you have a better idea of what I have to do to get this frankenstein to come to life>

Thank you so much for your very helpfull replies, I now have hope again!!!! and will most probably leave work (sneak out) early to go get busy with it today still.

25
Modbus / Re: How to Address Modbus Outputs if you have more than 20
« on: September 02, 2014, 06:34:56 AM »
Thanx, so which Break Out would be appropriate? Not too sure of my knowledge regarding the LPT capabilities with regards to pulsing the stepper drivers (they require 5v pulses)

Steppers draw around 4.2A

PS: downloaded and read through all the doc's, watched all the vids even the ones that is not on Artsoft, and perhaps thats what messed me up so much as I was looking for info regarding the setting up and config using the Arduino and Modbus.

PS2: Got the motors tested with Accelstepper (Arduino sketch that was uploaded and replaced with modbusslave) some time back and they were fucntioning, but will see if I can get them working without the slave just using LPT, this is however not my system preffered method as I would have loved to use a laptop for drafting, scanning and Mach operation all in one. With this I will have to do the drafting on the laptop or Macbook (perhaps the 3d scanning part too) then process them and physically transfer them to the desktop that will have the LPT port (that is if I am able to get one machine from the two, combining parts, working this afternoon.)

26
Modbus / Re: How to Address Modbus Outputs if you have more than 20
« on: September 02, 2014, 04:32:51 AM »
Thank you so much for the reply, really appreciate it. It's just that I thought I was lost the last week or so trying to figure out what to do, until now, now I know I cannot get any more lost than what I am now.

I have 4 Nema 2r 3NM steppers with Wantai DQ542MA stepper driverd, a manual switch controlled flood system and a manual controlled router I post full specs if required, but please then advise on the way forward?

I am getting two old LPT PC's today and hopefully I can make one working from the two, that said do I need to still have an external controller with the modbus on it or do I just use the Arduino Mega for something else?

Really lost now

27
Modbus / Re: New to cnc and software controls, need some help
« on: August 31, 2014, 03:48:58 PM »
Thanx been there too, that post is ref back to where we are now, Machsupport and the two threads they refer to there also don't have much....

But I have studied the PDF that the author of the Modbus pde file for the arduino and Mach typed, and it seems that (perhaps I am getting close to understanding it better) one has to have the register tables and reference sheets printed out and have them next to the laptop/PC when within a brain as it seems that specific kind of in-outputs and functions have specific addresses in Modbus and is seemingly also restricted to specific registers. So perhaps having these next to the PC it might be easier to write a brain that will be functional.

All I need to do now is to write a couple of small test brains and see if I can get some reaction from any of the features on my machine.

28
Modbus / Re: How to Address Modbus Outputs if you have more than 20
« on: August 31, 2014, 06:48:36 AM »
Stirling

I see you seem to have some experience with Modbus and arduino in Mach3 and since I am struggling to get any answers here on the forum I thought I'd ask you directly.

Using the Arduino mega 2560 I have serious amounts of pins that I can use, however I have an LCDKeypad shield that plugs onto the headers of the mega and virtually leaves me with the pin header containing 22-53 to use for my stepper drivers (step and dir)
The specs of the DIY cnc Mill I have built is somewhere here on the forum but I could post it here if it would have any bearing on the issue I am struggling with.

What I am struggling with is confirming if I define the motor outputs in the Mach config "ports and pins/motor outputs" to say X step = 22, X dir = 23, Y step = 24, Y dir= 25 etc etc would I be able to get the motors running. The Modbus I am using is the one on the forum by a guys called Schilling and defines registers as follow:


//############  REGISTER DEFINES ############# // Each Register is 16bit
#define Digital_IO_Register 0
#define PWM_Register        10
#define AN_Register         30
#define Timer_Register      50
#define IO_Config_Register  60
#define Kill_IO_Register    70
#define PWMIOMap_Register   80
#define ANIOMap_Register    81
#define General_Config      90
#define Error_Register      91
#define Digital_IO_Pins     64   //Total number of Digital IO pins, Limits update scanner pin count
#define Number_Of_Registers 100
//############ GLOBAL VARIABLES ##############
unsigned char Data[256];                                         // All received data ends up in here, also used as output buffer
unsigned short Index = 0;                                        // Current Location in Data
unsigned short Register[Number_Of_Registers];                    // Where all user data, Coils/Registers are kept
ModBusSlave ModBus(Slave_Address,Register,Number_Of_Registers);  // Initialize a new ModBus Slave, Again, you must have my Arduino ModBusSlave Library
unsigned long Last_Time=0;
unsigned long Time = 0;
unsigned long LongBreakTime;                                            //Time for 3.5 characters to be RX
//################## Setup ###################
// Takes:   Nothing
// Returns: Nothing
// Effect:  Opens Serial port 1 at defined Baudrate
//          Configures all Pins
//          Initiallized Timer 1
void setup()
{
  //################ Initialize IO #################     // 0 => Output, 1 => Input, opposite of normal Arduino, but my habit from other platforms, 0 looks like an O and 1 looks like an I
  Register[IO_Config_Register]    = 0b0000000000000000;  // UNO and MEGA  PIN 00-15
  Register[IO_Config_Register+1]  = 0b0000000000000000;  // MEGA          PIN 16-31
  Register[IO_Config_Register+2]  = 0b0000000000000000;  // MEGA          PIN 32-47
  Register[IO_Config_Register+3]  = 0b0000000000000000;  // MEGA          PIN 48-64
  Register[IO_Config_Register+4]  = 0b1111111111111111;  // AN Digital    PIN A0-A16

  //################ Kill IO Register #################  // 0 => Leave, 1 => Kill
  Register[Kill_IO_Register]    = 0b1111111111111111;    // UNO and MEGA  PIN 00-15
  Register[Kill_IO_Register+1]  = 0b1111111111111111;    // MEGA          PIN 16-31
  Register[Kill_IO_Register+2]  = 0b1111111111111111;    // MEGA          PIN 32-47
  Register[Kill_IO_Register+3]  = 0b1111111111111111;    // MEGA          PIN 48-64
  Register[Kill_IO_Register+4]  = 0b1111111111111111;    // AN Digital    PIN A0-A16

  //################ PWM IO Register #################   // 0 => Normal I/O, 1 => PWM I/O
  Register[PWMIOMap_Register]   = 0b0000111001101000;    // UNO and MEGA  PWM 01-16

  //################ AN IO Register #################    // 0 => Digital, 1=> Analog
  Register[ANIOMap_Register]    = 0b1111111111111111;    // UNO and MEGA

  Config_IO();


Thanx in advance for any help.

29
Modbus / Re: New to cnc and software controls, need some help
« on: August 31, 2014, 03:52:49 AM »
I have exactly the same issue. I have a DIY machine and therefore have no "manufacturers specs" of which pins to use. The other issue I also seem to share with you is that I have asked the question (on a support forum) but yeah well, you get lots of views but no support?

Getting discouraged  >:( >:(

30
FAQs / Re: Lost Brain
« on: August 29, 2014, 02:50:42 PM »
Perhaps stating the things I don't understand one at a time, would make it easier for those in the Know, to assist me.

The Modbus (not sure if all CNC's use the same version) that I have uploaded to my Arduino Mega 2560 has the following registers:

 //################ Initialize IO #################     // 0 => Output, 1 => Input, opposite of normal Arduino, but my habit from other platforms, 0 looks like an O and 1 looks like an I
  Register[IO_Config_Register]    = 0b0000000000000000;  // UNO and MEGA  PIN 00-15
  Register[IO_Config_Register+1]  = 0b0000000000000000;  // MEGA          PIN 16-31
  Register[IO_Config_Register+2]  = 0b0000000000000000;  // MEGA          PIN 32-47
  Register[IO_Config_Register+3]  = 0b0000000000000000;  // MEGA          PIN 48-64
  Register[IO_Config_Register+4]  = 0b1111111111111111;  // AN Digital    PIN A0-A16

  //################ Kill IO Register #################  // 0 => Leave, 1 => Kill
  Register[Kill_IO_Register]    = 0b1111111111111111;    // UNO and MEGA  PIN 00-15
  Register[Kill_IO_Register+1]  = 0b1111111111111111;    // MEGA          PIN 16-31
  Register[Kill_IO_Register+2]  = 0b1111111111111111;    // MEGA          PIN 32-47
  Register[Kill_IO_Register+3]  = 0b1111111111111111;    // MEGA          PIN 48-64
  Register[Kill_IO_Register+4]  = 0b1111111111111111;    // AN Digital    PIN A0-A16

  //################ PWM IO Register #################   // 0 => Normal I/O, 1 => PWM I/O
  Register[PWMIOMap_Register]   = 0b0000111001101000;    // UNO and MEGA  PWM 01-16

  //################ AN IO Register #################    // 0 => Digital, 1=> Analog
  Register[ANIOMap_Register]    = 0b1111111111111111;    // UNO and MEGA


There is no area in the code, nor in any of the library's to define the pins to be used specifically with relation to each output, which I suspect Mach will take care of, again not sure?

If so, can I select pins as follow:

X Step 22 Dir 23 all on port 1 (Modbus Slave address)
Y Step 24 Dir 25
Z Step 26 Dir 27
B Step 28 Dir 29

This arrangement is due to the fact that a LCDKeypad shield I have plugged onto the Ard Mega covers most of the other pins and only really leaves me with the header that contains pins 22-53.

Any help will be greatly appreciated!

Pages: « 1 2 3 4 »