Home › Forums › TinyG › TinyG Support › tinyG controller motor1,4 pulse rate
- This topic has 5 replies, 2 voices, and was last updated 9 years, 6 months ago by cmcgrath5035.
-
AuthorPosts
-
April 29, 2015 at 10:23 pm #7682michael w. mckoskyMember
tinyG board purchased about September 2014.
Recently started to experiment with board.Problem: motors attached to motor #1 & motor #4 not move smoothly or fast,
motors attached to motor #2 & motor #3 seem okayUsing tgFX.
Three Vextra PK266-02A motors (new, 6-wire universal)
One Sankyo j3.5296 (salvaged, 6-wire universal)
24vdc supply Meanwell
PC win7
com3 portBoard seems to start up okay, spindle (D4) flash a few times, etc. Reset seems to work okay. Led flash when download port info.
Conclude: connection PC to board okay, handshaking okay, wires okay.All motors wired okay, all show proper resistances on coils.
Problem remains with ports 1 and 4. Ports 2 and 3 remains okay.
Motors swapped over the 4 ports, problems remain with physical ports.
Motor axis mapped from x,y,z,a to ports 1,2,3,4, no changes.Scope put on pins of DRV8811 #19 (step), and on uP PA0, PC0…etc.
Pulse train looked fast enough on 2 and 3, much fewer pulses on 1 and 4
(old scope, old me, did not try to get pulse period or duration, only wanted to see comparison).Motor behaviour: 2 and 3 would rotate fairly fast, 1 and 4 slowly. Ports 2,3 easily seen pulses, discreet steps. Good channels, motors moved fast, smoothly, and in synch with each other. Channels 1,4 slow, step, waits long time, before next move, small moves.
Control on tgFX was simply a G0 code (to keep simple, and since I dont really know G-code yet), some tests with other parameters, other tests with no other parameters except specifying rotation step increment, 1/8 step division, mapping of input xyza to ports motor#1,2,3,4.
No apparent difference with/without change of parameters.Re-checked several times wiring, connection integrity, etc, pwrs 24vdc voltage with voltmeter and scope, all looked okay.
Conclusion: Is a problem within the uP, since pulse trains from it to driver chip look okay to 2 and 3, wrong on 1 and 4.
Solution? possibly re-flash uP???
Have started reading up on that process, looks confusing to me, been away from this stuff for a long time. Looking for advice as to if needs re-flash or something else simpler. If need to re-flash, need to take simplest path possible.Thanks for any guidance.
April 30, 2015 at 7:20 am #7684cmcgrath5035ModeratorWelcome!
Documentation – If you have not had a look already, have a look at the tinyG wiki:tinyG Firmware – The current FW is build 440.14. You will want to get there sooner or later, but we can debug your behavior(probably) with the installed build.
Interface software – tgFX is no longer supported or under development. If you want a GUI, using Chilipeppr is recommended. For basic setup and test, CoolTerm is an option as well. These are the most talked about, so best supported, options.
From what you have told us so far, it is difficult to know what motor is connected to what axis and what the parameters of the setup are. The default (first boot) parameters do change from FW build to FW build.
The important motor parameter you need to tell us is the step angle (or the equivalent steps per rotation). Most prevalent seems to be 200 steps per revolution, or step angle = 1.8deg.From your description, it sounds like you just have the motors connected to tinyG, not to a machine. That is a good way to get familiar with the basics.
The fastest way to communicate your current state is to run the $$ command to list all your current settings. Then copy/paste them to a text file. Best way to share them is outlined here:
You might be able to get this from tgFX, but success depends on the FW version on tinyG. There were interface issues between tgFX and tinyG with certain versions of each.
I would suggest you become familiar with CoolTerm first, it is a basic screwdriver in your toolbox. Chilipeppr is the full toolbox plus, so has a somewhat higher learning curve.Note: If you used tgFX to load a set of parameters from the machine dropdown list, that could be a part of your problem – damaged parameter set. We really need to see your $$ dump.
May 3, 2015 at 10:20 pm #7697michael w. mckoskyMembercmcgrath:
I did do a dump, have the filed and a modified .doc file.
But, don’t know how to respond to your response, or how to send/attach files to you.
Is there an address that I can use to send you the files?
I have no idea what the drop-box thing is either.I did fool around with the setup I have, and looking at the dump data organization this suggested a few other experiments. The result was that I seemed to get all 4 motors running at higher speeds, but I did not record the results. I will see about getting the time to experiment some more this week.
I gather that there are default settings on the board, perhaps setting up some of the axis to correspond to some machines on the market? I need to set up the axis without such presumptions and make all the axis run the same way. This so I can learn G-code and confirm that I am making the motors run at the rates I expect.
So, if you can suggest how to send info to you I would appreciate that.
MikeMay 4, 2015 at 9:09 am #7698cmcgrath5035ModeratorMichael
Sounds like some progress.
This linkprovides a detailed summary of parameter setup. Generally speaking, the wiki is 3 axis (XYZ) centric, but folks have also implemented 4 motor all rotation machines as well, so think broadly as you read.
Do you have a particular application in mind?
A 3 axis CNC machine and a 4 legged robot spider are quite different, but both possible with tinyG.
Dropbox is a brand name for a Cloud based storage service. They offer a free service for moderate capacity. Other similar services include Gdrive from Google, OneCloud from Microsoft and many others. These can be very useful for many applications, you should investigate independently of your CNC activities. Keyword is ‘free’ for a good bit of storage.So here is a link to a typical parameter dump:
If you are not comfortable with the cloud drive concept, you can copy and paste your parameter list into a forum response here.
The cloud drive method is simply easier to view/evaluate.
If you do post here, don’t bother with the g54.. and beyond parameters, they are important but not for now in this discussion and just make for screen clutter- This reply was modified 9 years, 6 months ago by cmcgrath5035.
- This reply was modified 9 years, 6 months ago by cmcgrath5035.
May 4, 2015 at 11:12 am #7700michael w. mckoskyMembermcgrath:
Okay, attached is a word .doc of the dump, with the g54 stuff (offsets) removed.I will spend some time experimenting with the drop-box application over this week, to make it easier on you folks. I didn’t quiet see how to address the file to you in the application, so thanks for suggesting a copy and send operation.
Tried using ChilliPepper, got frustrated with it. Will return to that soon. tgFX seemed like a nice application but with flaws, but I guess all applications are like that, eh? (need simple tools for simple people!)
I was originally thinking of fooling around with 3d printing, but a three axis cnc machine would be more useful and instructive to me, including using gcode.
If I were to play with 3d printing I probably would do well to plunk down a few thousand bucks just to do the printing. But since it is unlikely to do anything worthwhile beyond printing toys it is not worthwhile to me. Most of what I would do would involve using sintered metals for the strength etc. Might just as well fabricate (2d) pieces and weld them. The cnc machine would be used to cut 2d parts such as aircraft wing ribs etc. (I am scratch-building a ch750 aircraft, would use cnc for the ribs and smaller pieces mostly for uniformity and accuracy of drill holes etc).Okay, the file is as follows:
[fb] firmware build 435.06
[fv] firmware version 0.97
[hp] hardware platform 1.00
[hv] hardware version 8.00
[id] TinyG ID 2X2660-FES[ja] junction acceleration nan in
[ct] chordal tolerance nan in
[sl] soft limit enable 0
[st] switch type 0 [0=NO,1=NC]
[mt] motor idle timeout 0.10 Sec[ej] enable json mode 0 [0=text,1=JSON]
[jv] json verbosity 0 [0=silent,1=footer,2=messages,3=configs,4=linenum,5=verbose]
[js] json serialize style 0 [0=relaxed,1=strict]
[tv] text verbosity 0 [0=silent,1=verbose]
[qv] queue report verbosity 0 [0=off,1=single,2=triple]
[sv] status report verbosity 0 [0=off,1=filtered,2=verbose]
[si] status interval 150 ms
[ec] expand LF to CRLF on TX 0 [0=off,1=on]
[ee] enable echo 0 [0=off,1=on]
[ex] enable flow control 0 [0=off,1=XON/XOFF, 2=RTS/CTS]
[baud] USB baud rate 5 [1=9600,2=19200,3=38400,4=57600,5=115200,6=230400][net] network mode 0 [0=master]
[gpl] default gcode plane 0 [0=G17,1=G18,2=G19]
[gun] default gcode units mode 0 [0=G20,1=G21]
[gco] default gcode coord system 0 [1-6 (G54-G59)]
[gpa] default gcode path control 0 [0=G61,1=G61.1,2=G64]
[gdi] default gcode distance mode 0 [0=G90,1=G91][1ma] m1 map to axis 0 [0=X,1=Y,2=Z…]
[1sa] m1 step angle 1.800 deg
[1tr] m1 travel per revolution 10.0000 in
[1mi] m1 microsteps 8 [1,2,4,8]
[1po] m1 polarity 0 [0=normal,1=reverse]
[1pm] m1 power management 0 [0=disabled,1=always on,2=in cycle,3=when moving][2ma] m2 map to axis 1 [0=X,1=Y,2=Z…]
[2sa] m2 step angle 1.800 deg
[2tr] m2 travel per revolution 0.0492 in
[2mi] m2 microsteps 8 [1,2,4,8]
[2po] m2 polarity 0 [0=normal,1=reverse]
[2pm] m2 power management 0 [0=disabled,1=always on,2=in cycle,3=when moving][3ma] m3 map to axis 2 [0=X,1=Y,2=Z…]
[3sa] m3 step angle 1.800 deg
[3tr] m3 travel per revolution 0.0492 in
[3mi] m3 microsteps 8 [1,2,4,8]
[3po] m3 polarity 0 [0=normal,1=reverse]
[3pm] m3 power management 0 [0=disabled,1=always on,2=in cycle,3=when moving][4ma] m4 map to axis 3 [0=X,1=Y,2=Z…]
[4sa] m4 step angle 1.800 deg
[4tr] m4 travel per revolution 14.1732 in
[4mi] m4 microsteps 8 [1,2,4,8]
[4po] m4 polarity 0 [0=normal,1=reverse]
[4pm] m4 power management 0 [0=disabled,1=always on,2=in cycle,3=when moving][xam] x axis mode 1 [standard]
[xvm] x velocity maximum 10 in/min
[xfr] x feedrate maximum 10 in/min
[xtn] x travel minimum 0.000 in
[xtm] x travel maximum 10.000 in
[xjm] x jerk maximum 1 in/min^3 * 1 million
[xjh] x jerk homing 1 in/min^3 * 1 million
[xjd] x junction deviation 0.0020 in (larger is faster)
[xsn] x switch min 1 [0=off,1=homing,2=limit,3=limit+homing]
[xsx] x switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
[xsv] x search velocity 10 in/min
[xlv] x latch velocity 4 in/min
[xlb] x latch backoff 0.197 in
[xzb] x zero backoff 0.039 in[yam] y axis mode 1 [standard]
[yvm] y velocity maximum 10 in/min
[yfr] y feedrate maximum 10 in/min
[ytn] y travel minimum 0.000 in
[ytm] y travel maximum 10.000 in
[yjm] y jerk maximum 1 in/min^3 * 1 million
[yjh] y jerk homing 1 in/min^3 * 1 million
[yjd] y junction deviation 0.0020 in (larger is faster)
[ysn] y switch min 1 [0=off,1=homing,2=limit,3=limit+homing]
[ysx] y switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
[ysv] y search velocity 20 in/min
[ylv] y latch velocity 4 in/min
[ylb] y latch backoff 0.197 in
[yzb] y zero backoff 0.039 in[zam] z axis mode 1 [stand
[zfr] z feedrate maximum 31 in/min
[ztn] z travel minimum 0.000 in
[ztm] z travel maximum 2.953 in
[zjm] z jerk maximum 1 in/min^3 * 1 million
[zjh] z jerk homing 1 in/min^3 * 1 million
[zjd] z junction deviation 0.0020 in (larger is faster)
[zsn] z switch min 0 [0=off,1=homing,2=limit,3=limit+homing]
[zsx] z switch max 1 [0=off,1=homing,2=limit,3=limit+homing]
[zsv] z search velocity 16 in/min
[zlv] z latch velocity 4 in/min
[zlb] z latch backoff 0.197 in
[zzb] z zero backoff 0.039 in[aam] a axis mode 3 [radius]
[avm] a velocity maximum 230400 deg/min
[afr] a feedrate maximum 230400 deg/min
[atn] a travel minimum -1.000 deg
[atm] a travel maximum -1.000 deg
[ajm] a jerk maximum 5760 deg/min^3 * 1 million
[ajh] a jerk homing 5760 deg/min^3 * 1 million
[ajd] a junction deviation 0.0500 deg (larger is faster)
[ara] a radius value 0.0078 deg
[asn] a switch min 1 [0=off,1=homing,2=limit,3=limit+homing]
[asx] a switch max 0 [0=off,1=homing,2=limit,3=limit+homing]
[asv] a search velocity 600 deg/min
[alv] a latch velocity 100 deg/min
[alb] a latch backoff 5.000 deg
[azb] a zero backoff 2.000 deg[bam] b axis mode 0 [disabled]
[bvm] b velocity maximum 3600 deg/min
[bfr] b feedrate maximum 3600 deg/min
[btn] b travel minimum -1.000 deg
[btm] b travel maximum -1.000 deg
[bjm] b jerk maximum 20 deg/min^3 * 1 million
[bjd] b junction deviation 0.0500 deg (larger is faster)
[bra] b radius value 0.0394 deg[cam] c axis mode 0 [disabled]
[cvm] c velocity maximum 3600 deg/min
[cfr] c feedrate maximum 3600 deg/min
[ctn] c travel minimum -1.000 deg
[ctm] c travel maximum -1.000 deg
[cjm] c jerk maximum 20 deg/min^3 * 1 million
[cjd] c junction deviation 0.0500 deg (larger is faster)
[cra] c radius value 0.0394 deg[p1frq] pwm frequency 100 Hz
[p1csl] pwm cw speed lo 1000 RPM
[p1csh] pwm cw speed hi 2000 RPM
[p1cpl] pwm cw phase lo 0.125 [0..1]
[p1cph] pwm cw phase hi 0.200 [0..1]
[p1wsl] pwm ccw speed lo 1000 RPM
[p1wsh] pwm ccw speed hi 2000 RPM
[p1wpl] pwm ccw phase lo 0.125 [0..1]
[p1wph] pwm ccw phase hi 0.200 [0..1]
[p1pof] pwm phase off nan [0..1]May 4, 2015 at 2:28 pm #7702cmcgrath5035ModeratorOK, All I needed to see were these lines
[fb] firmware build 435.06 [fv] firmware version 0.97 [hp] hardware platform 1.00 [hv] hardware version 8.00 [id] TinyG ID 2X2660-FES [ja] junction acceleration nan in [ct] chordal tolerance nan in
So didn’t look much deeper.
Fw 435.06 is very much out of dateAnd, however they got there, the $ja and $ct parameters are bogus (see the reference I posted for you, not necessarily the right values, but typical.)
You need to upgrade to Fw build 440.14.
You also need to put tgFX on the shelf, it is not compatible with 440.14 and the sun has set on that project.Chilipeppr does have a learning curve, you might also want to get familiar with CoolTerm, a terminal centric low level application that is always good to have around as a fall-back. Much of what you are currently doing is doable in CoolTerm.
Here is the How-to :
Many folks are having issues with the “Easy Way” Updater application.
Give it a try, or move directly to using the avrdude method.
I suggest the -e option with avrdude, per:If you have problems with Fw upgarte, be sure to mention what OS you are using on your PC.
Flashing firmware will reset all parameters, and will correct whatever caused your $ja and $ct issues above. If you are going to focus on CNC,
dual axis ShaopeOko settings should be a good place to start:This a a broader discussion of tinyG Configuration:
- This reply was modified 9 years, 6 months ago by cmcgrath5035.
-
AuthorPosts
- You must be logged in to reply to this topic.