Table of contents |

# Using SnapAmp 1000

SnapAmp is a very high performance, feature rich, efficient amplifier that expands the capability of our KFLOP/Kogna Motion Control Boards.

A SnapAmp adds:

- PWM Amplifier channels
- Opto isolated Inputs
- Differential Encoder inputs
- General Purpose digital IO
- Real-time current measurement for each motor coil
- Real-time power supply voltage measurement
- Programmable peak Supply Current limits
- Programmable power supply voltage clamping
- Digital temperature monitoring

Up to two SnapAmps may be added to a Single KFLOP/Kogna Controller.

A single SnapAmp adds four PWM full bridge amplifiers. The four PWM's are identified as 8,9,10,11 for the first SnapAmp in a system and 12,13,14,15 for a second SnapAmp in a system. A single PWM/Full bridge is required for a brush motor, and a consecutive pair of PWM/Full Bridges are required for a Stepper Motor or Brushless Motor.

A single SnapAmp adds four Quadrature Encoder inputs. The four Quadrature Encoder inputs are identified as 8,9,10,11 for the first SnapAmp in a system and 12,13,14,15 for a second SnapAmp in a system.

Within the KMotion executive program under the option menu set whether there are one or two SnapAmps connected to KFLOP/Kogna. This enables expanded Analog and Digital Screens that will then display the additional I/O available on the SnapAmp(s).

The middle portion of the Analog Status Screen displays the measured currents, supply voltages, temperatures, and current PWM settings.

The Digital I/O screen displays the IO bits (numbers 64 - 93) for SnapAmp 0 in the middle portion of the screen, and IO bits numbered (96 - 125) for Snap Amp 1 on the right portion of the screen. The original KFLOP/Kogna I/O bits remain on the left portion of the screen. Note that KFLOP/Kogna I/O Bits 20-28 are used for the high speed communication to the SnapAmps and may not be used as user IO.

SnapAmp has programmable peak current limiting and also programmable peak supply voltage clamping. The clamping is required for large machines because when a massive machine stops quickly, the mechanical energy ends up getting injected back into the power supply. Some power supplies don’t like this and allow their voltage to rise up possibly causing damage to the supply or the SnapAmp. The clamping feature protects against this. Currently there isn't a way to configure the current limits and voltage clamp from the KMotion Screens. Listed below is a small C program that may be used to set them appropriately for most systems. Snap Amp has 2 green LEDS. One just blinks to say it is alive and running. The other turns on for a fault condition. A fault can be an over current or over temp. When a fault condition is present, all amps are disabled. When you power up KFLOP/Kogna the fault LED should be on until you run the program and the current limit is set.

SnapAmp peak current limiting is measured from the Motor Supply high side terminal. High side supply measurement is preferred for short protection because most wiring shorts to ground are detected and properly trigger a fault. SnapAmp measures both High side and Low side currents. The Low Side current measurement is made specific to each motor lead, digitized with a precision 10-bit ADC and available for plotting. High Side current measurement is fairly crude with a few programmable thresholds for detecting catastrophic events such as shorts and stalls. Threshold levels 9 through 15 set the approximate fault threshold. The lowest value that allows proper operation of your system without faults should be used. The Table below lists the approximate fault current thresholds for levels 9 through 15. The default power up value of 0 will generate a continuous fault until set to the appropriate value. Note that if either of the two power supply peak current detectors are over threshold the entire SnapAmp board (all 4 full bridges) will be disabled. When a fault occurs all full bridges will be disabled for approximately 1/4 second, after which the board will be automatically re-enabled until another fault is detected.

Note: Since any over current fault disables the amplifier for 1/4 second, whenever a fault is cleared, including when the level is initially changed from zero, a delay of 1/2 second should be made before attempting any motion.

Approximate Peak Current Thresholds:

Level | Amps
--- | ---
9 | 2
10 | 6
11 | 10
12 | 14
13 | 18
14 | 22
15 | 26

Below is an example C program that must be loaded and executed in the KFLOP/Kogna Board to set the Peak Current limits for each motor supply (to threshold level 9 in this example) and to set the Supply voltage clamp level (to 90V in this example). The Supply Voltage clamping level should be set several volts higher than the actual supply voltage. The example shows setting the values on the first SnapAmp. To set values on the second snap amp replace the symbol SNAP0 with SNAP1.

    	#include "KMotionDef.h"
    	main()
    	{
    		// peak current limits
    		WriteSnapAmp(SNAP0+SNAP_PEAK_CUR_LIMIT0,9);
    		WriteSnapAmp(SNAP0+SNAP_PEAK_CUR_LIMIT1,9);
    		clamp supply to 90V
    		WriteSnapAmp(SNAP0+SNAP_SUPPLY_CLAMP0 ,SNAP_CONVERT_VOLTS_TO_ADC(90.0));
    		WriteSnapAmp(SNAP0+SNAP_SUPPLY_CLAMP1 ,SNAP_CONVERT_VOLTS_TO_ADC(90.0));
    		// enable supply clamping
    		WriteSnapAmp(SNAP0+SNAP_SUPPLY_CLAMP_ENA0 ,1);
    		WriteSnapAmp(SNAP0+SNAP_SUPPLY_CLAMP_ENA1 ,1);
    	}