Forum Replies Created
-
AuthorPosts
-
dkirtleyMember
Well, you can’t have too many. 🙂
dkirtleyMemberCool, thanks.
I have another Arduino that I was playing with to compile/install the grbl but I was thinking about taking a stab at porting to the standard Arduino software. Just taking a bit to pick out what Simen is doing in parts of it.
Biggest problem has been dealing with the EasySteppers I had to play with since the grblShield is already dedicated elsewhere.
Just taking a break from the mechanicals.
dkirtleyMemberJust having the three pins for limit switches should be fine for handling both ends of the movement for all three axes. Just having both ends of travel with switches that are in series, there is enough information because you know the current step direction.
Just something to bring up with the grbl development people when back from their hiatus.
dkirtleyMemberI picked mine up at Jameco.
I bought 10 connectors and 50 of the pins. $6.50 wasn’t bad and I picked up some other stuff while I was ordering.
463443 @CONN,HOUSING,NYLON,4 POS, 10 .15 1.50
736561 @156 KK TERM LOOSE TFT 18-20 50 .08 4.00Of course that doesn’t help you that much from Switzerland 🙂
dkirtleyMemberCool, I guess I will have to solder on some headers when I get to work tomorrow 🙂
Part of my problem has been getting used to the tool chain and repository. I didn’t realize from the web interface on github that there were even different branches available before it was pointed out here. I had only seen the main branch.
dkirtleyMemberIs the grblshield code from the main branch or the edge branch?
dkirtleyMemberJust out of curiosity, with this fork are you planning on back porting from the official branch of the grbl code? All grblshield really needs is to maintain the config.c to match the hard wired definitions. That would be a lot less work to keep synced. That is an awful lot of bit twiddling to maintain.
dkirtleyMemberI have been reading the code from over there but I don’t have any idea what pins are assigned to anything or what code has been added other than vague knowledge that there is some difference from the config.h and code in the original tree or it wouldn’t have needed a patch. 🙂
The homing function listed there seems a bit bare:
void st_go_home()
{
// Todo: Perform the homing cycle
}dkirtleyMemberOf course this whole tool chain is new to my as I have previously just been playing with the arduino IDE and not directly with the AVR stuff. I have not seen the actual code for the .hex that the designers here have modified but the repository just flips DDRB bit 6. This *should* be digital pin 13.
Unless someone posts the config used for the build, the easiest thing would just be hook an LED to 8 through 13 and send gcode for turning on and off the spindle and see if it turns them on and off.
dkirtleyMemberIt probably doesn’t make that much sense to handle just a spindle enable, just flip the switch. For a full implementation, you would want a direction as well. Then maybe a PWM output to set the speed, maybe a tool changer, coolant, dust collection, auxiliary power supply, cooling fans,….. It goes on and on. They are already cramming a bunch of stuff in on what can be done with the base Arduino. I think a better option would be to build a separate spindle controller to fit the type of spindle (and possibly handle homing, coolant, and limit stuff separately as well.) The whole beauty of changing away from the parallel port is that you can easily have multiple devices. USB is a bus. Plug in another controller.
Your program to communicate to the Arduino doesn’t *have* to just dump code to the serial port. Have it take a look at each line and make some decisions. Looking at gcode.c, everything that is not implemented in grbl could be done with a pre-processor except additional axes (and you might even be able to do that if you were careful). All the icky stuff like acceleration, arcs, step timing and such are already there.
dkirtleyMemberI went with the patched version and installed on a Duemilanove. Everything works great so far. I was looking at the original source and I don’t really see yet where the code that handles any limit. Does the patch include any code for the limits or is it just a pin assignment for making them available on D9, D10, and D11?
The homing functions seem to be just stubs anyway so it might not really be that much of an issue.
dkirtleyMemberJust one more data point, I had to set my baud rate for flashing at 57600 to get it to play nice.
dkirtleyMemberThe mega will be my target platform. Once I get my board, I am anxious to see if I can fit anything else into memory to support a few extra bells and whistles. It leaves a lot of pins available to play with. My deepest secret goal is to add SD card support for spooling and hopefully some other storage ideas I have been thinking about. That might be something that would be better suited to something with a bit more CPU power like TinyG. Will have to see. I do have a parallel port board to play with if I can’t do what I want with this platform for the next build. (Yeah, the next build when I don’t even have the materials yet for this one — sigh )
-
AuthorPosts