Forum Replies Created
-
AuthorPosts
-
aldenMember
Working on my more complete answer. I have gone back and revised these 2 pages – which you have certainly already seen, but for the benefit of this thread are:
https://github.com/synthetos/TinyG/wiki/Tinyg-Communications-Programming
https://github.com/synthetos/TinyG/wiki/Flow-Control-and-FootersI think you might want to implement some form of queue-report based flow control. In particular, triple queue reports may help. See here:
https://github.com/synthetos/TinyG/wiki/Flow-Control-and-Footers#wiki-triple-queue-reportsSet {“qv”:2}
I’d recommend reading the header comments (and code) in report.c for behavior. In essence, if you can keep the planner queue at about 20 buffers (plus or minus) then you will have at least 100 milliseconds to react to queue depth changes, and in most cases way more. You want to monitor the
qr
variable for absolute queue depth (it’s backwards, so keeping the queue at 20 is really 28-20 = 8). You also want to look at theqo
(queue out) andqi
(queue in) variables. Once the queue is at your preferred depth these tell you how many more blocks you should send. Roughly speaking it’s qo-qi. So 4 out and 1 in means you should send 3 new blocks. Please experiment with this, though, as you may find ways to fine fine tune this behavior.Lastly, one of our users is using UI interpreted XON/XOFF as a “last resort”. They do not enable XON on the host, but do enable it on TinyG. This means the XON/XOFF characters make it through the OS to their application. If they receive an XOFF they cease transmission then wait until receiving and XON (or perhaps until the planner queue calms down – I’m not sure which) before resuming transmission.
aldenMember@psyko – You are essentially correct. But I’m not sure why Tom’s getting that movement in Y; at least not that particular move that goes to 180. What I was going to do with the code is (1) confirm proper operation of the Gcode file as a start (and generate line numbers so it’s easier to debug), (2) reproduce Tom’s steps to see how Y movement might occur, and (3) see if I can come up with a procedure / documentation for stopping and restarting a job under coolterm – albeit probably restarting from the beginning.
- This reply was modified 10 years, 9 months ago by alden.
aldenMemberThanks for sending the data. I will try to reproduce what happened. In the meantime if you need to clear out the buffers I think you may need to close the coolterm window and open a new one to make sure there is no more in coolterm’s buffer. Also hit the reset button on the TinyG.
Pls give me a day or so to get to run this.
aldenMemberThis page may be helpful, particularly the part on flow control. I don’t have time for a full answer right now – read this then I have some other ideas that might help.
https://github.com/synthetos/TinyG/wiki/Tinyg-Communications-Programming
aldenMemberCan you please post the Gcode file that led to this issue and any other moves you entered manually.
Please also confirm that your settings are the same as you posted earlier or if you have modified them please post your new settings.
Can you please provide the information requested in https://www.synthetos.com/topics/gcode-feedrate-error/#post-5224 to assist in diagnosis.
Can you also take these steps for the other issues you have posted, as we have requested. If you do not provide the information we need to reproduce and diagnose your problem we cannot help you.
- This reply was modified 10 years, 9 months ago by alden.
aldenMemberGood suggestions. Let me think this over and talk with Riley. I agree, we need to find a cleaner way to make things available.
Some of the challenges are that github does not easily deal with binaries or hex files, it’s designed for sources and they structure it so it’s difficult to manage anything else. So already we need 2 mechanisms.
The wiki is needed as it’s the documentation.
Another is that the terms Master and Edge are, in fact, meaningful in themselves. We will THINK we have all the issues addressed when we push to master, then find that there are 1 or 2 bugs that need to be fixed in master – e.g. the promotion from 380.06 to 380.08, both of which are in master. We also do need to isolate the Edge builds from master so we can iterate them without affecting the master. What we probably should do is ALWAYS state the build number, whether it’s in master or edge (or sometimes dev).
As for the Forum, I have to ask Riley – he manages that part. We could possibly move the forum from here to the Github Issues, but that’s not really it’s intended use – although a lot of projects use it as a forum and it seems to work OK.
Let me talk this over with the team and see what we can come up with.
aldenMemberIt’s actually a bit of a relief to find something repeatable. Can you make the images public so I can see them, and can you post the Gcode somehow. Also, should I assume you are using the settings you posted earlier, with the exception of the cornering settings we corrected in a previous post? If not, please post new settings.
I will not be back to my shop until after the weekend, but let me see what I can find out short of running it a machine with size and dynamics similar to yours.
aldenMemberTom,
Let’s try to tone down the rhetoric and try to solve your issues. We have been answering your posts and fixing your issues for over 2 months now, as you can see from your digest:
https://www.synthetos.com/users/tomking505/topic/The clunk.
The clunk you experienced in build 380.06 has been fixed in later releases, which are now in the edge branch. At your suggestion we have revised the firmware flash page here:
https://github.com/synthetos/TinyG/wiki/TinyG-Updating-FirmwareWe are currently testing this issue in the Edge branch. The edge branch is a release candidate for master, and is not normally to be used for production operations. As soon as it passes all tests (including working with tgFX), then it will be promoted to master.
Gcode running once fine then others it messes up.
We have said that noise was most likely your problem, most likely spindle noise – in our experience.When a DC motor like a spindle starts spinning it CAN cause a huge amount of electrical noise. Some motors are MUCH more noisy than others. You stated that sometime TinyG works fine then on the same Gcode it does not. Your symptoms are a CLASSIC EXAMPLE of electrical noise or possibly some other corruption on the USB line.
This may or may not be the case in your situation, as you have stated the spindle line is isolated from the other power, but to be thorough we need to test this.
Lastly, there’s a question of if you are having problems because of something in your host program. tgFX Master works with TinyG Master. If you are using tgFX you should be using the 32 bit version with master (We removed the x64 windows version that you and other were having issues with). tgFX(32bit) should work just fine with master. HOWEVER, if it does not we need to know about this. So please let us know.
Can you answer a few questions to help diagnose these issues:
– What computer and OS are you running
– What FTDI drivers / versions are you running?
– Are you using a USB hub or are you connected directly?– We changed out your USB cable earlier. Try another USB cable. Sometimes it’s that simple. We are looking for anything that might be causing communications errors.
– I see your settings here: https://www.synthetos.com/topics/slow-in-the-corners/ Are these still the same or have they changed? I believe we changed your junction deviation to something larger when you were having problems with slow corners.
– What are you driving TinyG with? Coolterm? tgFX? Something else?
– If Coolterm have you enabled XON? I see from your settings in that you do have XON enabled in TinyG
– If you are running tgFX, what version? Is it 32 bit or 64 bit? Do the same files run OK from Coolterm?
– Have you tried running the same Gcode files that are having trouble with no spindle running (dry run). Do you have the same problems?
– Can you please post all the Gcode files you have trouble with? You posted one and that was helpful for diagnosing the arc move.
– If you have three TinyG’s are you experiencing the same behaviors on all three?
– Try turning off your status reports. If the serial IO system is having problems perhaps the text return from status reports is affect it.
– When you were running these files had you homed the machine? Have you had any issues with homing?
– Do your motors run reliably at the maximum velocity, feed rates and jerk settings you have set? Try reducing them and seeing if you have the same problems (this is less likely, but it may be worth a try)
– Another possibility is that your power supply is collapsing under load. What power supply and motors are you running?
— Thanks
aldenMemberTHe hex file is not that large. Look at the file with a text editor to see if it really looks like a hex file. I think you have to right-click the file to download it. It should look like something this:
:100000000C945F3F0C94803F0C9493940C94803F2D
:100010000C94803F0C94803F0C94803F0C94803F64
:100020000C94803F0C94803F0C94803F0C94F7908C
:100030000C94803F0C94803F0C941A860C94803F63
:100040000C94803F0C94803F0C94803F0C94803F34
:100050000C94803F0C94803F0C94803F0C94803F24
:100060000C94803F0C94BD940C943A940C94803F73
:100070000C949B960C943B960C9479960C94803F30
:100080000C9441910C94803F0C94803F0C94803FE1
:100090000C94803F0C94803F0C94803F0C94803FE4
:1000A0000C94803F0C94803F0C94803F0C9470C063
:1000B0000C94CCBF0C94803F0C94803F0C94AF8583
:1000C0000C94803F0C94803F0C94803F0C94803FB4
:1000D0000C94803F0C94803F0C94803F0C94803FA4
:1000E0000C94FD990C94803F0C94803F0C94803FBD
:1000F0000C94803F0C94803F0C94803F0C94803F84
:100100000C9499C00C94F5BF0C94C2C00C941EC002
:100110000C94803F0C94803F0C94803F0C94803F63
:100120000C94803F0C94803F0C94803F0C94803F53
:100130000C94803F0C94D9850C94803F0C94803FA4
:100140000C94803F0C94803F0C94803F0C94803F33
:100150000C94803F0C94803F0C94F3990C94803F56
:100160000C94803F0C94803F0C94803F0C94803F13
:100170000C94803F0C94803F0C94803F0C94803F03aldenMemberI appreciate your pitching in. You know, we work very hard on this and it’s quite disappointing when people are not satisfied. We are not getting rich off this, and it’s not our regular jobs. Any help we can get is much appreciated.
aldenMemberI should probably wait for Riley to get back from a conference as he’s the keeper of tgFX, but let me see if I can answer your question. The edge firmware needs to work with the tgFX edge, which is lagging the firmware by a bit. Please give us a few days to get these lined up and get a version of tgFX out there that works with the edge branch. Sorry for the confusion.
In the mean time you can always drive TinyG directly from Coolterm, albeit without some of the nice features tgFX offers.
aldenMember🙂
The .hex file is on the edge branch in the github:
https://github.com/synthetos/TinyG/tree/edgein the firmware/tinyg/default directory. Don’t worry if you looked for it before and didn’t find it, I just added it back in. Also, I expect another push to edge in the near future – perhaps as early as this weekend.
aldenMemberThanks. I’ll give this a run, but I’m pretty sure you are going to need to upgrade the firmware from 380.06. We’ve made a lot of progress since then. If you are so inclined you can update from the edge branch.
aldenMemberCan you please tell us what firmware build you are running and post your settings? Thanks
aldenMemberIronically, the motor voltage rating is irrelevant. Any stepper motor rated at any voltage will work, regardless of the power supply voltage provided. The rated motor voltage just states what the max voltage would be if you applied a direct DC voltage to the winding and wanted to stay in the rated current of the motor. Since the stepper drivers regulate the current the voltage doesn’t matter. Those Kysan’s should work fine. I’d recommend using a 24 volt power supply at about 2.5 to 3 amps, aka a 60 to 75 watt supply. More amps/wattage is OK, but not necessary. Have fun.
-
AuthorPosts