Forum Replies Created
-
AuthorPosts
-
cmcgrath5035Moderator
Good luck with your project
cmcgrath5035ModeratorHere is another reference discussion
“https://www.geckodrive.com/support/step-motor-basics/motor-wiring.html”
As best I can tell, it leads you to the same endpoint as the first posting, which is to float the center taps and treat them as 4wire motors.Once you have movement, you will have to experiment to determine the step angle(steps per revolution), assuming you can’t find a spec sheet.
- This reply was modified 3 years, 7 months ago by cmcgrath5035.
cmcgrath5035ModeratorI have to suggest you repost this to https://github.com/synthetos/g2/issues.
I believe these questions will need to be addressed by the developers and build system maintainers, you are closer to them there.
And read through the issues to see if others have raised similar issues.
cmcgrath5035ModeratorJuKu
Sorry for delay in responding.
I’ll suggest you post this question to https://github.com/synthetos/TinyG/issuesI see no obvious way to generate a status at the precise instant contact is made.
Have you looked at the PCB Board leveling Macro in Chilipeppr?
I would seem that that macro has figured how how to methodically gather the data you are looking for.cmcgrath5035ModeratorGoogle is your friend, You can find them on multiple sites.
Good luck with your projectMarch 3, 2021 at 5:33 pm in reply to: Occasional unrealistically high velocities causing position errors. #11955cmcgrath5035ModeratorInteresting, and a somewhat odd Gcode sequence. First I have seen such a well documented situation. My guess is that the planner, always looking ahead to plan for the next move, gets confused about what maximum speed to plan for.
My suggestion is to post this question at https://github.com/synthetos/TinyG/issues.
That is where bugs get addressedcmcgrath5035ModeratorI am having to make a lot of assumptions about your description and tinyG settings.
On the tinyG Gcode and settings, I assume you are using a Homing cycle on A axis to move the probe. Is Amin set as both homing and limit?
“Completing the circuit” as you describe above when homing cycle not running would look like a limit switch operation, if Amin is set as both homing and limit. A limit switch operating would cause tinyG to reset.
But grounding out the 3.3V supply would cause a reset as well, and from your description that is another possibility.On the electronics side, i suggested using an FET because they are high impedance devices and the switch action you are attempting to sense is either an open circuit(no contact with gel) or a 500K ohm conductor.
I have no idea what you might have access to.
In my junk box I have 2n7000 MOSFETs.
I would connect the Source to ground, the Drain to Amin and pull the Gate high thru a 10Megohm resistor. The connect the gel probe between Gate and ground.
When gel probe is open, the gate voltage would be 3.3V, the FET would be on, the Amin would be low.
when the gel probe is closed, the gate voltage would be 3.3*(500/(10500)) = .15v, the FET would be off thus the Amin would be high.
The 2N7000 operates as a high impedance inverting switch.See https://github.com/cmcgrath5035/G2core-DUE-External-Interfaces/blob/master/G2core%20DUE%20External%20Interfaces.pdf
As a use exampleUsing bipolar transistors is also possible but not as simple when dealing with high impedance elements such as your gel
- This reply was modified 3 years, 9 months ago by cmcgrath5035.
cmcgrath5035ModeratorTinyG is a 3.3v logic device, the Amin lead is an input port with a 2.7Kohm pullup to 3.3V an 0.22uf cap to ground for some noise immunity.
You need a good, clean 3.3v to ground transition for the port to respond properly.
A properly biased FET or differential line receiver might work., but make sure the logic level into the port is limited to 3.3Vcmcgrath5035ModeratorGood to know you are back up and running.
It was 5 or 6 years ago that I stumbled on this.
To best of my recollection, we never really understood why sometimes it was necessary sometimes it was not.
Since avrdude is a generic third party application, there is a possibility that at the time there was concern about flash memory wear.Hopefully 440.20 will resolve you issues
cmcgrath5035ModeratorThis has taxed some old memory bits on my end
See https://github.com/synthetos/TinyG/wiki/TinyG-Updating-Firmware#writing-to-flash-emits-lots-of-failed-linesI am not sure why -e is only required sometimes, but give the modified avrdude (with -e option) a try
cmcgrath5035ModeratorLearning curve indeed, this is complex stuff. While the DUE plus Gshield is still supported, most of the heavy work is aimed at a soon to be released integrated controller (gquintec) which is a 5 motor board plus 3D Printer control add-ons.
To get a feel for what is active, watch activity at https://github.com/synthetos/g2/issues
cmcgrath5035ModeratorBased on you description, I am a little surprised that your initial flashing of the Due appeared to work. The command
mode COMx BAUD=1200
in step 3 is unique to the Programming port, it erases flash on the Due.
Hint – don’t leave you COMx port at 1200 baud, or you will erase flash next time you connect.
I’ll suggest an update to the programming procedurecmcgrath5035ModeratorOK, it sounds like you are back in operation.
It also sounds like you are developing one or more control programs.I assume you are aware of a special condition that exists in tinyG due to a hardware bug in the Microcontroller.
Writes to EEPROM, the non-volitile memory used on the controller, take a relative long time. To work around the bug, tinyG stops listening to the serial interface until the EEPROM signals that the write cycle is complete.
TinyG then issues a status response if you have your program watching the return stream.The issues does not appear if you manually key in parameter changes one at a time from a console like Coolterm. but dumping a string of commands all at once will likely result in some commands being missed or worse, causing partial writes or incorrect values to be written to EEPROM. There are also instances where the EEPROM refuses additional writes.
If you seek to automate parameter updates, the proper way is to send a parameter value the pause sending, waiting for a confirmation that the EEPROM has completed before sending the next parameter.Read this old, closed issue for hints https://github.com/synthetos/TinyG/issues/123
A useful way to look for EEPROM corruption is to Send $$ an observe parameter values. If you observe unrealistic or impossible values, or values tou would not have set, it is an indicator of possible EEPROM corruption.
Sending the $defa command will reset the EEPROM to the default values that are in the FW download(compiled in)- This reply was modified 3 years, 10 months ago by cmcgrath5035.
December 30, 2020 at 2:34 pm in reply to: Occasional unrealistically high velocities causing position errors. #11932cmcgrath5035ModeratorHaving watched my Prusa printer do it’s thing, I have a good idea what your description above is all about.
I’m wondering if somehow tinyG is attempting to convert a string of G1 and G0 commands to it’s S curve and somehow losing track of target velocity. Or put another way, is there an assumption that the S curve is comprised of only moves at a single target velocity.
You may also want to have a look at G2, https://github.com/synthetos/g2/wiki and https://github.com/synthetos/g2/issues
It replicates tinyG capability but adds a whole lot more. G2 targets 3D printing type applications – perhaps if you can understand the differences between tinyG and G2 you will understand your issue better.December 30, 2020 at 11:59 am in reply to: Occasional unrealistically high velocities causing position errors. #11930cmcgrath5035ModeratorWell at least we have eliminated(?) some obvious items.
To my knowledge, tinyG only makes moves along it’s calculate S curve.
Do you make frequent changes to the G1 S (speed) parameter?
Does your generator intermix a lot of G0 and G1 moves?i am not a developer, perhaps you will need to address this at the Issues interface, https://github.com/synthetos/TinyG/issues
-
AuthorPosts