Changes

From Dynomotion

Jump to: navigation, search

Main Page

8,304 bytes added, 16:53, 15 September 2018
/* Wiring Diagrams rotary switch */
==Dynomotion Software Topics==
===Installation Topics===
* Latest Production Release: [http://dynomotion.com/Software/Download.html Full release download page (includes link to signed Windows Drivers)  Latest Stable Release] Note:to use For Windows 7 64bit signed Drivers for W7 64bit Drivers from V4.34a or later are required.  Also to work, all Windows Updates should be performed for the chain of trust to work properly].
* [[Upgrading from previous KMotion Versions]]
 Archive of Test Releases: * Latest Previous Test Release: 09/28/2017: [http://dynomotion.com/Software/KMotion434j.exe KMotion.exe V4.34j], See the release notes for this test version here: [http://dynomotion.com/Software/KMotion%20Released%20Version%204.34j%20Changes.pdf V4.34j release notes (pdf)]* Previous Test Release: 05/07/2017: [http://dynomotion.com/Software/KMotion434i.exe KMotion.exe V4.34i], See the release notes for this test version here: [http://dynomotion.com/Software/KMotion%20Released%20Version%204.34i%20Changes.pdf V4.34i release notes (pdf)]
* Previous Test Release: 12/14/2016: [http://dynomotion.com/Software/KMotion434h.exe KMotion.exe V4.34h], See the release notes for this test version here: [http://dynomotion.com/Software/KMotion%20Released%20Version%204.34h%20Changes.pdf V4.34h release notes (pdf)]
* Previous Test Release: 12/13/2016: [http://dynomotion.com/Software/KMotion434g.exe KMotion.exe V4.34g], See the release notes for this test version here: [http://dynomotion.com/Software/KMotion%20Released%20Version%204.34g%20Changes.pdf V4.34g release notes (pdf)]
* Previous Test Release:  03/09/2016: [http://dynomotion.com/Software/KMotion434a.exe KMotion.exe V4.34a], See the release notes for this test version here: [http://dynomotion.com/Software/KMotion%20Released%20Version%204.34a%20Changes.pdf V4.34a release notes (pdf)]
* [http://dynomotion.com/Help/KFLOPQuickStart/KFLOPQuickStart.htm How to install KMotion.exe and KMotionCNC]
* [[How to install KMotion.exe and KMotion in Windows 10|Preparing Windows 10 for driver installation]](no longer required)
* [[Special Case for Windows 8.1 Industry Embedded Enterprise]]
* [[Updating KFLOP Firmware|How to update KFLOP Firmware]] - whenever a new version of software is installed, the firmware within KFLOP must be updated to match the new version
[[Rigid Tapping G84 Setup and Use]]
 
[[Tool Length/Offsets G43Hn G49]]
====<span style="text-decoration: underline;">Customize KMotionCNC</span>====
::: Troy (tmday7) created some helpful documents listed on the Yahoo Group Files Section [https://groups.yahoo.com/neo/groups/DynoMotion/files/KmotionCNC%20Screen%20Customizing/ here].
====<span style="text-decoration: underline;">KMotionCNC Screen Editor</span>====
Introduces the capability of using Screen Script files to modify the look and function of KMotionCNC.<br />[[PC KMotion CNC KMotionCNC Screen Editor|More information.]] ====<span style="text-decoration: underline;">KMotionCNC Geometric Correction</span>====Information regarding the powerful [https://dynomotion.com/Help/KMotionCNC/GeoCorrection.htm Geometric Correction capability] which allows calibration and distortion correction of the XY CAD space to Machine/Actuator Space as well as flatness in Z.  Simple 4 point correction tables can apply XY Scale, Rotation, skew, offset, tilt.  Larger tables can apply more non-linear corrections. Note the Geometric Correction is built into the KMotion Libraries and can be utilized by Custom Programs as well as with KMotionCNC<br />[[Geometric Correction|More information and Examples.]]
===PC Example Applications===
[[Media:dyn4 kanalog KE1524 V1.1.png|Basic Kanalog DAC and DMM DYN4 Drive 1 Axis]]
[[Media:Kanalog_with_Geckos_G210.pdf|Kanalog_with_Geckos_G210Kanalog with Geckos G210]] (Thanks to <span style="color: windowtext;">Joseph Mirocha</span>) [[Media:Kanalog_to_Tree_Journeyman_325_by_Rick_B.pdf|Kanalog to Tree Journeyman 325.pdf]] (Thanks to <span style="color: windowtext;">Rick_B</span>)
[[Media:KFlopSnapBrushMPG.pdf|KFLOP+SnapAmp DC Brush Motors with MPG]]
[https://easyeda.com/350banshee/BreakoutBoard-93bdd16e3c3d48b98ae66c34f2436c40 User Created KFLOP JP7 Breakout/OptoIsolation Board] Schematic, Gerbers, PCBs Publicly available (thanks 350banshee)
 
[https://www.dynomotion.com/wiki/index.php?action=ajax&title=-&rs=SecureFileStore::getFile&f=/b/bb/RotarySwitchToKanalog.png Rotary Switch Connected to Kanalog Opto Inputs]
===Wiring Topics===
Place links to pages on wiring inputs and outputs specific to your experiences and projects.  Be descriptive with page titles and links.
 
 
 
====KFLOP IDC Connectors and Cables====
Cables that connect between Dynomotion boards are normally included when purchasing the boards together.  They are also very common and easy to make.  <br /><br />Use '''16-conductor or 26-conductor ribbon cable''' (0.05 inch pitch 26 AWG preferrably or 28AWG) and IDC sockets.<br /><br />
 
[[File:RibbonCable.png|none|link=]]
 
16 conductor ribbon cable 3M part number 3801/16 100 <br />https://www.digikey.com/product-detail/en/3m/3801-16-100/3M156105-100-ND/1107501<br /><br />26 conductor ribbon cable 3M part number C3801/26 100 <br />https://www.digikey.com/product-detail/en/3m/C3801-26-100/C3801-26-100-ND/1107648<br /><br />Winford also sells ribbon cable (although only the thinner 28 AWG):<br />http://www.winford.com/products/rib.php<br /><br />Note you can usually tear off wires to reduce the number of conductors.  For example from 26 down to 16.  Tear off the conductors away from the red stripe that marks pin 1.<br /><br />The '''crimp tools''' are common:<br />https://www.frys.com/product/1922804<br />[[File:RibbonCrimp.png|none|link=]]<br /><br />'''IDC Sockets 16-pin '''(pin pitch 0.1 inch)<br />https://www.digikey.com/product-detail/en/assmann-wsw-components/AWP-16-7240-T/HHKC16H-ND/5031953<br />Assman Part number AWP 16-7240-T
 
[[File:16pinIDC.png|none|link=]]
 
'''IDC Sockets 26-pin '''(pin pitch 0.1 inch)'''<br />'''
 
https://www.digikey.com/product-detail/en/assmann-wsw-components/AWP-26-7240-T/HHKC26H-ND/5011313
 
[[File:26pinIDC.png|none|link=]]
 
 
https://groups.yahoo.com/neo/groups/DynoMotion/conversations/messages/12287
 
[https://groups.yahoo.com/neo/groups/DynoMotion/conversations/messages/331 https://groups.yahoo.com/neo/groups/DynoMotion/conversations/messages/331]
[[File:MPG4_from_cnc4pc.jpg|none|link=|83x169px]]
==<span id="Axes_Servo_Tuning_and_Trajectory_Planner" class="mw-headline">Axes Servo Tuning and Trajectory Planner</span>==
===Torque Servos vs Velocity Servos===
+/-10V Analog Amplifiers usually come in one of two varieties: '''Torque''' or '''Velocity'''. Torque mode amplifiers consider the input command as a Torque Command and work to generate the commanded Motor Torque. Velocity mode amplifiers consider the input command as a Velocity Command and work to generate the commanded Velocity.  Its important to understand what type of Amplifiers you have.
 
'''Velocity Mode Amplifiers''' need some form of feedback going to the Amplifier in order for the drive to know the current velocity. This might be a digital encoder or an analog tachometer.
 
Its easy to tell if you have a Velocity Mode Amplifier by looking at a plot of a move on the Step Response Screen.  The Output (green plot with right scale) will be proportion to the motor velocity.  When moving at constant speed the output will be relatively constant.  See in the plot below the output (green) remains at a relatively constant ~1100 DAC counts while the position (red) ramps at a constant slope of the 90000 count/sec rate:
 
[[File:VelocityAmp.png|none|link=]]
 
Velocity mode amplifiers can be relatively easy to tune using only P (Proportional) Gain.  Additional Gains and filters can be used for best performance but using only P Gain will often result in reasonable performance and a stable system (unlike Torque Mode Amplifiers). 
 
As an example consider controlling the speed of a car using only Proportional Gain as it approaches a target (Stop sign).  Consider a P Gain of 0.1 where at 1000ft from the stop sign we command 1000 x 0.1 = 100MPH.  Then at 100ft we command 10MPH.  Then at 10ft we command 1MPH.  This results in a nice, smooth, exponential approach, without overshoot.
 
Contrast this with controlling the acceleration (torque) of a car using only Proportional Gain as it approaches a target (Stop sign).  At large distance we apply maximum acceleration.  Although as we approach the stop sign we reduce acceleration, we continue to accelerate and speed continues to increase until we pass the stop sign.  Torque mode servos are inherently unstable.  P only gain only works at all if there is some friction (the car is dragging a sled which slows us down with less torque).
 
 
'''Acceleration Mode Servos''' may or may not have any feedback.  If they have feedback it is usually used only to commutate a brushless motor.  In the plots the Output (green) will have large magnitude when the Position (red) is accelerating, where the plot has curvature (changing slope).
 
Acceleration mode Servos are unlikely to work well or at all with only P Gain.  Some form of damping or lead compensation will usually be required to get a stable system.   D (derivative) Gain (or a lead compensator) should be included with the P Gain to help stabilize the system.  D Gain can be increased to make the system more stable up to a point.  After some point the additional D Gain will make the system more unstable. and should be reduced.
 
When using D Gain (or lead compensation) the quantization noise (steps) in the encoder position can cause spikes in the output.  For example a D Gain of 100 will cause a spike of 100 counts in the output whenever the input changes suddenly by 1 count.  If the spikes are very high amplitude and short duration, the Amplifier may not handle them in the expected manner.  A low pass filter can be used to widen and reduce their amplitude allowing the amplifier to handle them more effectively.  Typically a 2nd order low pass filter of 500Hz Q=1.4 is used.  The last filter is normally used so it is applied to any Feed Forward. Such as:
 
[[File:LowPass400Q1p4.png|none|link=|680x439px]]
 
 
 
 
 
===<span id="Velocity.2C_Acceleration.2C_and_Jerk" class="mw-headline">Velocity, Acceleration, and Jerk</span>===
<div id="yui_3_16_0_1_1445622719616_3315" class="yiv2818182665class" style="color: #000000; font-size: 13.3333px; font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; background-color: transparent; font-style: normal;">The Velocity, Acceleration, and Jerk in the Step Response Screen (KFLOP parameter settings) and the Acceleration and Velocity in the KMotionCNC | Tool Setup | Trajectory Planner | Axis Parameters are both used for different things.  The two sets of parameters are independent. </div>
So to provide some margin an Max Limit Integrator Value of 3500 might be used.
===Bode Plots===
A Bode Plot is a powerful tool for characterizing and providing insight into a dynamic system. It can help determine closed loop stability, bandwidth/performance, resonant frequencies, and more. It is entirely based on the system being linear. Linear in the sense that if the amplitude of some input signal is changed then the output signal will change proportionally as well. Unfortunately most systems are not entirely linear. Stiction, backlash, encoder quantization, amplifier saturation, and other effects are non-linear. For example driving a system with a signal too small to overcome stiction will result in no output at all whereas a larger signal will result in some output. This is clearly non-linear behavior. It would be nice to use a technique that handles non-linear systems but basically none are known.<br /><br />A Bode Plot is made injecting a stimulus to the system and observing how the system responds. For the reasons of non-linearity it is very important to perform a Bode Plot measurement using a representative level of stimulus similar to what the system will actually have during normal operation. If the Stimulus is not adjusted properly the result is likely to be completely invalid. Additionally the system should be reasonably tuned and stable so that it is responding in a reasonable way to the stimulus. If the system is unstable or very poorly tuned the result is likely to be completely invalid.<br /><br />You might think of it somewhat like shaking a box to determine what is in it. You should shake it with enough intensity and at frequencies to get some reaction, but not so high of intensity to break or distort the object inside.<br /><br />To create a Bode Plot use the KMotion.exe Bode Plot Screen. First select Plot: Time domain - Command, Position, Output vs Time and adjust the Amplitude and cutoff Freq until there is small but significant Position (red) changes (ie 50 encoder counts), at a frequency low enough that the Position at least somewhat attempts to follow the Command (blue), and where the Output (green) is not near saturation for the Drive being used.<br /><br />After the Stimulus/Noise Injection settings are set switch to Plot: Open Loop - Magnitude and Phase vs Frequency. Set the number of Samples to average (ie 20) and perform a Measurement.  [http://dynomotion.com/Help/BodeScreen/BodeScreen.htm See here for more information].
==Problems and Resolutions==
====General====
:* [[Noise - Typical Problems and Resolutions|Dealing with noise on inputs]].  If you experience issues with inputs misreading, the issue may be noise.  This page provides examples on what might be causing noise issues and examples of how to possibly deal with noise.
:* Other
===Software-Specific Problems and Resolutions===
:* Place links to pages explaining resolutions to problems that are largely software-related here
===Hardware-Specific Problems and Resolutions===
:* Place links to pages explaining resolutions to problems that are largely hardware-related
====[[Step/Dir Drives loose 2 Steps for each pair of Direction Reversals]]====
==Applications and Projects==
:* Place links to pages that explain how you accomplished your particular project.  Write clear explanations that provide background on what you did and how you did it.
====[[Tool Changer - router linear 4 Tools - C Program]][[File:LINEAT+ATC.jpg|none|link=|246x178px]]====
[[Part Zero & Tool Height Touch Plate|Part Zero & Tool Height Touch Plate]]
===Max Limits - Error===
Max limits error can be helpful to have your system respond less violently in the abnormal event where an excessively large error occurs.  Normally with a properly tuned system following errors should be small.   Setting a Max limits error can cause the servo to treat errors beyond a specified limit as if they were only the size of the limit and therefore respond less so than they would otherwise.  The max limits error is normally set to a value so it is not limiting under normal circumstances.
[[Driving Hobby Servos]]
[[File:HobbyServoThe Plot below shows a situation where a small max limits error combined with a low P gain severely limits the Output.  In the plot below a large move (10000 counts) at a high speed (40000 counts/sec) is commanded.  Only P Gain (0.2) is used to provide the Output (green).  The max error limit of 200 combined with the low gain (0.2) limits the output to only 40 DAC counts.  Even as the true error increases to many thousands of counts, the servo is told to ignore the amount over 200.  So the output can never exceed 40 DAC counts.  The 40 DAC count limit means that the Axis is therefor not capable of providing the output necessary to keep up with the commanded motion.  The axis does the best it can with the limited output, and only does a fraction of the desired motion.png|left|link=]]
[[File:Move10000.png|none|link=|665x431px]]
After increasing the max limits error the Output (green - right scale) now goes to a much higher value (900), and the Position (red) follows the Command (blue) to a much better degree.
[[File:Move10000_nolimit.png|none|link=|667x430px]]
Increasing the P Gain to 1.6 also applies more Output sooner and the Position follows the command still better.
[[File:Move1000_p1.6.png|none|link=|667x432px]]
===Lead Compensator vs Derivative Gain===
Derivative (D) Gain is often used to help stabilize a system.&nbsp; It helps to think in the Frequency Domain to help understand how the two forms of compensation help.&nbsp; Please read below and [http://dynomotion.com/Help/BodeScreen/BodeScreen.htm this] for more information on the Frequency Domain.&nbsp; Both Compensation methods add positive phase to help stabilize the system.&nbsp; Unfortunately both methods increase gain at higher frequencies possibly causing the system to go unstable at higher frequency.&nbsp; A Lead Compensator provides the benefit of positive phase but without as much gain increase at higher frequencies.&nbsp; This figure shows a simplified Gain Plot comparison:
HiTec Type
<br /><br />==How to convert a milling machine to a 3D printer in 3 easy steps=====Hardware requirements===[[File:CNCto3DPrinterDGainvsLead.png|none|link=|593x593px]]
Here is a Bode Plot of a P=0.5 D=20 Compensator.   Note the KMotion.exe Bode Plot Screen has the capability of plotting the Frequency Domain Response of the PID+Filters Compensation.  Assume we desire positive phase to be added at 40Hz.  Notice the positive phase of 40 degrees at 40Hz which is good.  However the Gain increase in the 1KHz region of about 21db which is bad.
The only real differences between a CNC machine and a 3D printer are in the tool head and the heated build platform[[File:P. CNC machines use spindles, but some 3D printers use ''extruders''&nbsp;(hot plastic extruder)5D20Annotate.png|none|link=|621x460px]]
There are two parts in an extruder: 1) a filament drive mechanism with a stepper motor to push the filament into the hot end and 2) the hot end itself.
The temperature in the hot end must Here is a Bode Plot of a P=0.5 N1=N2=25Hz D1=D2=70Hz Compensator.   Assume we desire positive phase to be measured added at 40Hz.  We choose N1 N2 and stabilizedD1 D2 to surround the frequency where the positive phase is desired.  Moving them further apart will increase the amount of positive phase but also increase the added Gain.  Notice the positive phase of 60 degrees at 40Hz which is good.  However the Gain increase in the 1KHz region of about 12db which is bad.  However both are improvements over the D Gain compensator.
'''1. Extruder Nozzle'''<br/><br/>[[File:ExtruderNozzle.png|none|link=]]
There are many third party extruders on the market. Search for popular 3D printer extruders, for example: [https://reprapchampion.com/collections/extruders https://reprapchampion.com/collections/extruders].
'''2. Heated Bed'''<br/><br/>[[File:HeatedBedPoleZeroFilter.png|none|link=|210x319px]]<br/><br/>
A heated bed is often used to help with both the first layers to adhere to the build platform as well as to keep the part warm to reduce shrinkage and curl.
&nbsp;'''<br data-attributes="/"> '''MK3 Aluminum Heater Bed (around $24).<br data-attributes="/"> Add a Pyrex glass to provide an absolute flat surface (around $19).<br data-attributes="/"> Example below shows heater bed with glass and bulldog clips.<br/><br/> The heater bed will connect to the KNozz board ([../KNozz.html http://www.dynomotion.com/KNozz.html]).
[[File:P.5D0N25D70Annotate.png|none|link=|644x478px]]
'''3. Bowden Extruder'''<br/><br/>
Controls feeding the material into the hot end.
[[File:BowdenExtruder===Bode Plots===A Bode Plot is a powerful tool for characterizing and providing insight into a dynamic system.png|It can help determine closed loop stability, bandwidth/performance, resonant frequencies, and more. It is entirely based on the system being linear. Linear in the sense that if the amplitude of some input signal is changed then the output signal will change proportionally as well. Unfortunately most systems are not entirely linear. Stiction, backlash, encoder quantization, amplifier saturation, and other effects are non-linear. For example driving a system with a signal too small to overcome stiction will result in no output at all whereas a larger signal will result in some output. This is clearly non-linear behavior. It would be nice to use a technique that handles non-linear systems but basically none|linkare known.<br data-attributes="%20/"><br data-attributes="%20/">A Bode Plot is made injecting a stimulus to the system and observing how the system responds. For the reasons of non-linearity it is very important to perform a Bode Plot measurement using a representative level of stimulus similar to what the system will actually have during normal operation. If the Stimulus is not adjusted properly the result is likely to be completely invalid. Additionally the system should be reasonably tuned and stable so that it is responding in a reasonable way to the stimulus. If the system is unstable or very poorly tuned the result is likely to be completely invalid.<br data-attributes="%20/"><br data-attributes="%20/">You might think of it somewhat like shaking a box to determine what is in it. You should shake it with enough intensity and at frequencies to get some reaction, but not so high of intensity to break or distort the object inside.<br data-attributes="%20/"><br data-attributes="%20/">To create a Bode Plot use the KMotion.exe Bode Plot Screen. First select Plot: Time domain - Command, Position, Output vs Time and adjust the Amplitude and cutoff Freq until there is small but significant Position (red) changes (ie 50 encoder counts), at a frequency low enough that the Position at least somewhat attempts to follow the Command (blue), and where the Output (green) is not near saturation for the Drive being used.<br data-attributes="%20/"><br data-attributes="%20/">After the Stimulus/Noise Injection settings are set switch to Plot: Open Loop - Magnitude and Phase vs Frequency. Set the number of Samples to average (ie 20) and perform a Measurement.&nbsp; [http://dynomotion.com/Help/BodeScreen/BodeScreen.htm See here for more information]].
Metal Bowden Extruder for 1===Links to other Information on Tuning and Bode Plots===[http://ctms.75mm filament with stepper motorengin. Can be driven by KSTEPumich. (e.gedu/CTMS/index.: All Metal V6 Hotend 1.75mm Bowden Extruder Prusa i3, around $25).<br data-attributesphp?example="%20/"><br data-attributesIntroduction&section="%20/">ControlFrequency umich.edu Introduction section Control Frequency]
'''4[http://www. Adding a KNozz motiontech.com.au/assets/pdf/Kollmorgen%20Use%20Control%20Theory%20to%20Improve%20Servo%20Performance%20230712.pdf Kollmorgen Use Control Theory to your KFLOP'''Improve Servo Performance 230712.pdf]
==Problems and Resolutions==
====General====
:* [[Noise - Typical Problems and Resolutions|Dealing with noise on inputs]].  If you experience issues with inputs misreading, the issue may be noise.  This page provides examples on what might be causing noise issues and examples of how to possibly deal with noise.
:* Other
===Software-Specific Problems and Resolutions===
:* Place links to pages explaining resolutions to problems that are largely software-related here
[[KFLOP User C Programs Compiling/Launching Slowly because of Windows Defender]]
[[File===Hardware-Specific Problems and Resolutions===:KNozz.png|none|link* Place links to pages explaining resolutions to problems that are largely hardware-related=]]<br===[[Step/><br/>KNozz is designed to control the Nozzle Heater and Bed Heater Dir Drives lose 2 Steps for an Extrusion Type 3D Printer.each pair of Direction Reversals]]====
<br data-attributes="/"> KNozz provides two Thermistor Inputs =Applications and Projects==:* Place links to allow KFLOP to monitor the temperature of both the Extruder Nozzle pages that explain how you accomplished your particular project.  Write clear explanations that provide background on what you did and Bed Heater Platformhow you did it.&nbsp; 12====[[Tool Changer - router linear 4 Tools -bit ADC converter provides better than 1 degree C temperature repeatabilityProgram]][[File:LINEAT+ATC.jpg|none|link=|246x178px]]========[[Part Zero & Tool Height Touch Plate|Part Zero & Tool Height Touch Plate]]========[[Driving Hobby Servos]]====[[File:HobbyServo.png|left|link=]]
Learn more here:<br data-attributes="/"> [../KNozz.html http://www.dynomotion.com/KNozz.html]
===Software requirements===
'''CraftWare<br/> '''CraftWare ([https://craftunique.com/craftware https://craftunique.com/craftware]) is a free and easy-to-use slicer software that converts your digital 3D object into a GCode toolpath format understood by most 3D printers.<br/> '''<br/> GCode Converter Program (PostProccessExtruder)<br/> '''Converts Craftware’s GCode to KMotionCNC compatible GCode (mainly changes Extruder E-words into U-words).
'''&nbsp; <br/>'''
'''Video'''
Geppetto 3D Prints Skulls at ATX 2017 show: <br/> [https://www.youtube.com/watch?v=tOFb8tOTMlM https://www.youtube.com/watch?v=tOFb8tOTMlM] <br/> (Published on Feb 15, 2017)
<br/> 6 Axes Cable Robot (Geppetto) controlled by Dynomotion KFLOP 3D Prints parts. Extrusion Head added to Geppetto End Effector. Demonstrates 7 axes of coordinated motion and kinematics.
    HiTec Type           ====Electrical Discharge Machining====[https://en.wikipedia.org/wiki/Electrical_discharge_machining EDM (wikipedia)]is a method of cutting materials with high precision and detail.  Dynomotion Motion Controllers work well for EDM because of the ability for feedrate to be dynamically controlled including reversal along cutting path.  {{#ev:youtube|kh5EvMAB28A}}  [[Information on BAXEDM Arc Generators used with KFLOP]] ==How to convert a milling machine to a 3D printer in 3 easy steps==[[File:SkullCNCto3DPrinter.png|none|link=]] More information [[How to convert a milling machine to a 3D printer in 3 easy steps|here]].
==International and other Languages==