Forum Replies Created
-
AuthorPosts
-
aldenMember
It sounds like you are having way too much trouble. What you did with the unipolars should have worked. We should arrange to get you a full kit including a pre-programmed Arduino, a grblshield and some plugged motors. Please get in touch off-list if you are interested. We will be putting this out on the store as a standard offering, but we want to make sure you are taken care of. I’d hold off on ordering the motors if you want to go this route.
aldenMemberWe appreciate the feedback. This has definitely been a process, and a lot of work. I like the panels you laid out
We are working on a GUI and would love to collaborate, or just have more than one available if that’s the way you want to go. We are trying to make things as “real” as possible. To that end, we are following Thomas Kramer’s RS274NGC v3 standard for Gcode that can be found here: http://www.isd.mel.nist.gov/documents/kramer/RS274NGC_3.pdf We are also following “CNC Programming Handbook, Third Edition” by Peter Smid. This is as close to a reference manual as exists for CNC control, and is considered the gold standard for CNC machines by many in the field. You can find it on Amazon new and used. The book has the conventions for naming, control layout and behaviors, and other aspects of making realistic controls. Some other info that might be useful may be found on the project wiki under: http://www.synthetos.com/wiki/index.php?title=Projects:TinyG-Developer-Info:
With that in mind, here are some comments (rather lengthy – I’ll try to break it up). These are based on the latest version on the github, version 0.92 (Crocs)
– TinyG handles 6 axes; X, Y, Z, A, B, C. The 0.9x versions allow mapping motors to axes to support common (and uncommon) machine configurations, e.g. XYZA, XYZC, XZC, and dual gantry machines like the lumenlabs (XYYZ). While the board supports 4 motors, the firmware design allows multiple boards to be slaved together for more than 4 axis control. Displays should take these mappings and all 6 axes into account. A common XYZA like you have is a good starting point.
– As of 0.92 the firmware can return a running status report. I typically set it to respond every 50ms when running, and at the end of each gcode block. This is designed to update the display. It returns a line in JSON format like below. Units are in prevailing mode. In the example mm=1, so units are in mm and mm/min. If ABC axes were used it would also return an “abc”: tuple, returning in degrees.
tinyg[mm] ok> g0 x10
tinyg[mm] ok> {“ln”:204, “xyz”:[0.017,0.000,0.000], “vel”:28.88, “mm”:1}
{“ln”:204, “xyz”:[0.136,0.000,0.000], “vel”:121.68, “mm”:1}
{“ln”:204, “xyz”:[0.648,0.000,0.000], “vel”:537.52, “mm”:1}
{“ln”:204, “xyz”:[1.745,0.000,0.000], “vel”:796.72, “mm”:1}
{“ln”:204, “xyz”:[3.200,0.000,0.000], “vel”:991.92, “mm”:1}
{“ln”:204, “xyz”:[4.486,0.000,0.000], “vel”:800.00, “mm”:1}
{“ln”:204, “xyz”:[5.771,0.000,0.000], “vel”:800.00, “mm”:1}
{“ln”:204, “xyz”:[7.056,0.000,0.000], “vel”:798.56, “mm”:1}
{“ln”:204, “xyz”:[8.277,0.000,0.000], “vel”:715.36, “mm”:1}
{“ln”:204, “xyz”:[9.253,0.000,0.000], “vel”:504.16, “mm”:1}
{“ln”:204, “xyz”:[9.801,0.000,0.000], “vel”:219.04, “mm”:1}
{“ln”:204, “xyz”:[9.983,0.000,0.000], “vel”:46.24, “mm”:1}
{“ln”:204, “xyz”:[10.000,0.000,0.000], “vel”: 0.16, “mm”:1}– Some comments on the buttons, and some naming conventions from Smid:
If “Stop” is a command to pause program execution it’s CNC name is “Feedhold”. Not very intuitive, but accurate.
“Resume” is “Cycle Start”. This starts the program as well as resumes after feedholds. Perhaps this is also the Start Process button
TinyG currently does not do flood. We can add this in if people need it.
Not sure what Set Outputs and Read inputs does
You will want a Zero button to set the current position to 0,0,0– General items
We are maintaining close contact with the grbl project and want any GUI we do to be able to work with both grbl and TinyG. This involves some compatibility measures that are too lengthy to go into here.
What language / framework are you using or planning and what are you cross-platform goals? We are aiming for full cross-platfom support. many current GUIs suffer from very difficult installations due to this. Serial libs are different, UI is different, etc. This also deserves further discussion.
Thanks for the work on this. Looks great.
– Alden
aldenMemberYou are connected to grbl or you would not have gotten the response. Now you need to connect your motors. The wiring across the connectors is:
A B C D
Connect one phase of the motor to A and B. Connect the other to C and D. Just try the motors you have first – if the current is too high the driver chips will get very hot and go into thermal shutdown. This should not damage the chip. Also, you can back off on the current pots if this happens. If you wire the outer phases of the unipolars (the 6 wire ones) and leave the center taps floating they will take less current.
November 27, 2011 at 11:52 pm in reply to: Software problem. Can't get steppers to turn. Not getting response from arduino #1674aldenMemberWhat .hex are you using? It should be grbl_0_6b_atmega328p_16mhz_9600_with_grblshield_patch.hex or Chamnit’s 0.7d on github.
How did you program grbl onto the arduino hardware? Did you use an AVRdude and atmel programmer?
I am not familiar with minicom so I can’t help you there. Sounds like no transmitted chars are getting through. I’m assuming you have the serial communications for receive set up correctly or you wouldn’t have gotten the response. You might check any special transmit settings.
aldenMemberYou can use a dropbox link
aldenMemberHave you followed the instruction found here?
http://www.synthetos.com/wiki/index.php?title=Getting_grblIt directs you to the grbl project page on installing here:
http://dank.bengler.no/-/page/show/5470_grbl?ref=mstThe .hex you want is here. Get the latest 07b version in the Downloads area.
https://github.com/chamnit/grblAlternately, you can use our version – but it’s not as advanced:
https://github.com/synthetos/grblShield
unzip this file: grbl_0_6b_atmega328p_16mhz_9600_with_grblshield_patch.hex.zipYou can’t really drive grbl from Termite – at least not any files that are more than a few lines long. We are developing a console program for grbl and TinyG. Until that’s ready you might want to try gctrl that can be found here:
https://github.com/damellis/gctrlaldenMemberSorry for the oversight. Here they are:
https://github.com/synthetos/grblShield/tree/master/hardware/grblshield_v2_schematicaldenMemberChris – I found and fixed the issue we encountered yesterday. The drift in non-power mode axes has been eliminated. I will post on github as 0.911. I’m around today to try it out. Ping me if you want to test. – Alden
aldenMemberChris, I ran the pocket cutter file on the Lumenlabs and the Zen and they both worked w/o incident. Let’s pick it up on Sat and find out what’s going on. Ping me when you are ready to start and we can get online. I’ll be in in the AM and can get started as early as you can stand. Don’t worry about waking me up.
aldenMemberI’m going home soon and am going to try running your pocket code before I have go go out tonight.
I’ll be around most of the day Saturday. We can do a hangout, or we could set up to connect on gchat and use a video call. I’ll send you my gmail addr off list.
aldenMemberAre you running coolterm Mac or Coolterm windows? We very recently found something that might be a bug on the windows version. The Mac version (1.4x+) works fine. NB: Xon must be enabled in both Coolterm and in TinyG. It’s the default for TinyG. It’s not for Coolterm. There are also some Pythons scripts we should post that can spool the file if this is a problem. So there are alternatives if you are on Windows Coolterm.
Can you tell me where in the file if has a problem? TinyG will handle line numbers, so if PartKam can generate them it’s easier to diagnose things if they are present.
I’ll try the file over the weekend. Are you planning to be around over the weekend? I’d like to short-cycle this with you if we can.
aldenMemberNo problem, it’s not a waste of time at all. As these questions are asked they get recorded in the forum. Have fun with your board!
aldenMemberHere’s the story. grblshield v1 used 3.3v for the stepper logic but expected 5v signals from the arduino to drive the TI DRV8811 stepper chips. So a set of level conversion resistors are on v1 to drop the 5v logic signals to something friendly to the 3.3v chips.
In v2 we drove the TI’s at 5v and took off the level conversion resistors. If you ordered recently you should have a v2. The version is labeled on the board.
So if you have a v1 you will need to provide power on the 3.3v pin and provide 5v logic signals from the digital port (D2 – D8)
If you have a v2 you will need to provide power on the 5v pin and provide 5v logic signals.Is the 328 being driven at 3.3v or 5v? If 5v there should be no issue. If its being run at 3.3v if *should* work in either the v1 or v2 case, but I have not tried that combination and can’t guarantee that it would work.
aldenMemberOK. If the grblshield is plugging into the protoshield then you will need to make sure the 5v line is powered with 5v. grblshield requires the 5v for the stepper logic (Stepper motor power is provided separately from the connector on the grblshield). If the RBBB is running 3.3v logic there should still be enough voltage to drive the 5v inputs on the grblshield. The grblshield does not send any output pins to the arduino – or this would blow up the MCU chip.
Schematics for the grblshield can be found here:
https://github.com/synthetos/grblShieldWe also recommend using the patched hex found there, or Chamnit’s fork found here:
https://github.com/chamnit/grblIf you use Chamnit’s be sure to use the edge branch
grbl really wants to run in an atmel atmega328p, not a 168, so that’s also worth checking. It’s possible to run from a 168, but you would have to hack the code yourself to achieve compatibility with the grblshield.
aldenMemberI’m not familiar with the RBBB, but looking at the bare board and the pinouts I don’t think it would work. The grblshield won’t even plug onto it as the pinout form factors are not the same.
http://shop.moderndevice.com/products/rbbb-pcbThe preferred board at this point is an Uno of either the DIP chip or surface mount variety.
-
AuthorPosts