Cool Muscle

Frequently Asked Questions

What is the Cool Muscle?

The Cool Muscle is an integrated servo system combining a stepper or AC servo motor with a magnetic encoder, driver, and controller. Closed loop vector control allows for accurate tragetory generatation and low stopping vibration. The CM2 line also includes direct connection to single or 3 phase AC power.

How many inputs and outputs does the Cool Muscle have?

The Cool Muscle has 4 inputs and 2 outputs available. However, when the Cool Muscle is attached to a PC or RS232 device an input and output is taken up per port. I.e. In C-type mode, with a single motor attached to the PC, inputs 2~4 and output 2 are available since 1 is used for communication to and from the PC. If a second motor is daisy-chained onto the first, the second input and output are used for communication to the second motor leaving inputs 3 and 4 available for use on motor 1. The second motor, the last motor in the daisy chain, does not have a second device attached leaving inputs 2~4 and output 2 available.

The CM2 doubles the I/O count of the CM1, and provides dedicated serial ports.

How do you wire inputs 1 and 2? (CM1)

Page 13 of the Cool Muscle brochure shows a wiring diagram describing the wiring of all inputs and outputs of the Cool Muscle. Inputs 1 and 2 have both a positive and a negative creating 2 options for wiring. Input 1 uses pins 10 and 8 for the positive and negative inputs respectively. Input 2 uses pins 9 and 4.

Option 1: Tie the positive pin high.
The high voltage can range from 5V to 24V. Leaving the negative pin open creates a high signal internally on the Cool Muscle. To switch it to a low, close the negative pin to ground (pin 11 or another common ground).

Option 2: Close the negative pin to ground.
By leaving the positive pin open, internally the input is low since the negative pin has been tied low. Tie the positive input to 5V~24V and the input switches high.

Option 1 is recommended as it minimizes current draw from the input.

How do you wire inputs 3 and 4? (CM1)

Page 13 of the Cool Muscle brochure shows a wiring diagram describing the wiring of all inputs and outputs of the Cool Muscle. Internally the Cool Muscle ties the inputs 3 and 4 to 5V through a pull-up resistor creating a high signal when the input is open. To set the input low, close the input pin to ground (pin 11 or another common ground).

What are the miniumum accessories required to program and run the Cool Muscle?

The following software and hardware accessories are required to program and run the Cool Muscle from a Windows based PC:

·Cool Works Lite (download CW Lite)
·Y-cable
·Power supply

Click here to go to the Accessories Page

Do I need Cool Works Lite to program the Cool Muscle or will any RS232 terminal window do?

Any terminal window such as HyperTerminal can be used to program the Cool Muscle. The advantages of CW Lite is it uses the CommManager ActiveX control to handle communication and there are many other features such as speed, torque calculators and a motor browser.

Why do I need to use the Y-cable and not any RS232/custom cable when communicating with a PC? (CM1)

The Y-cable has an embedded circuit board that converts between RS232 and TTL levels.

What are the default RS232 settings on the Cool Muscle?

·Baud rate: 38400
·Data Bits: 8
·Start/stop bits: 1
·Parity: 0

The PC-to-motor baud rate can be changed by K20 and the motor-to-motor baud rate set by K65.

What is the CommManager ActiveX control?

CommManager is a multi-threaded windows control that handles communication with the motors at the highest (real-time) priority allowed in the Windows OS environment. The control can be inserted into any software development environment that supports COM (Component object Model) technology. The RS232 port can be opened with ease and the programmer will be freed from the complexities of dealing with the port. Other than RS232 control, the CommManager has many other features, which makes it indispensable to programmers writing custom programs for the Cool Muscle.

My software is missing events from the motor or the motor is not sending events properly. What is going on?

The motor always outputs an in position event across the serial line or across the digital output unless the customer has turned the output off.

There are three types of serial communication.

1) data sent to the motor that the motor echos back.
2) data that the motor sends as a reply to a request. i.e ?99 (asks the motor for status) results with Uq.1=8
3) data that the motor sends as an event. Ux.1=8

When the motor has the echo turned on, k14=0, the echoing characters (from data being sent to the motor) can become mixed up with event messages from the motor. This causes the PC to become confused.

You may see:
?99
Ux.1=8

The 'missing in position event' is a result of this conflict. We recommend that you set K14=1111 which turns the echo from the motor off. With Version 1.14 and earlier firmware, you are required to enter a password to change this K parameter (w=924). With version 1.16 and greater, you do not need a password to change k14.

I also recommend that you buy a license for the CommManager ActiveX control which is designed to remove these conflicts and increase the efficiency of a users communications with CML devices like the Cool Muscle. It saves programming time leading to a faster turn around and a happy customer.

What relationship does the push mode current setting have to ?68, current iq?

The value given as a result of ?68=Iq=(K4 x K60)/125

The value of K4 is the maximum current allowed for a given Cool Muscle.
If, for example, K60 (for the Push Mode) is set to 50, when the ?68 query is sent, the response may be approximately Ix.1=70.

What is the CommManager?

The CommManager is an ActiveX control that simplifies communications with any CML Device connected to a PC using the Windows OS.

How do I make use of the Analog input to adjust speed when running a program bank?

Starting with Firmware V1.12, we rolled the the functions from the V type Cool Muscle into the C type. Please ensure you are using this or newer firmware. If you have an older version, you can not have a serial connection and use the analog input. The motor will only do Positioning or Speed Control.

Most of the setup revolves around the setting for K64 and K40. Also please watch K39, if this is too low, there will be no signal or motion. Too high and there could be a lot of vibration. The Default for K39=128. The analog input is Input 4.

You can have the analog input vary a single speed setting (K64=1 or K46=3) or have it apply a multiplier to all the speeds (K64=7).

K Value: K64
Function: Analog Input Settings
Value Range: 0 - 9
Default Value: 0
Description: Dictates the interaction of Analog Input 4 with motor functioning.
Values: K64=(0-9)
0: No Function
1: Varies S0
2: Varies P0
3: Varies S13
4: varies P24
7: Varies Speed Range
8: Varies target Position Range
9: Mimics V-Type Motor Setting, pure Speed or Position Control.

(Slightly more descriptive)

o K64=0: ignores analog signal
o K64=1: adjusts S0. Range is (+/-) K40.
o K64=2: adjusts P0. Range is from 0 to 100 x K41.
o K64=3 or 5: adjusts S13 or S14 and their range is 0 to K40.
o K64=4 or 6: adjusts P24 or P25 and their range is from 0 to 100 x K41.
o K64=7: adjusts a speed multiplier, it applies to all the speeds and the range is from 0 to K40(1,4000)/100.
o K64=8: adjusts a position multiplier, it applies to all the positions. The range is from 0 to K41(-32767,+32767)/100.
o K64=9: switch to V-type, when K38=0: controls speed and uses K40 to set the speed range. When K38=1: controls position and uses K41 to set position range.

So, if you type:

K37=3 (sets the resolution to a known value)
K64=3 (Sets the analog input to adjust S13)
k40=200 (Sets a Max. speed of 200RPM)
k39=128 (sets the default Analog Voltage filter gain)

a1=200
s13=10
p1=5000
p2=0
t1=2000

b1
x0
a1,s13,p1
t1
p2
t1

[1

You should get motion that rotates the motor 5 rotations back and forth with 2 sec dwells. As you adjust the analog input between 0 and 5Vdc, the speed should change.
The speed will change each time the program cycles and S13 is read. Setting the analog voltage to 0 will result in the motor stopping, and only a [1 command will restart the motion.
If K64=1, then speed can be changed during motion.

How do I wire an Output?

The 2 Outputs on the CM1 series Cool Muscles handle a maximum of 10mA. A resistor is required on your external circuit that will limit the current. A typical resistance of 3Kohm is used with a 24Vdc source, or 1Kohm for a 5Vdc source.

Each serial connection uses an output. If your motors are in a daisy chain RS-232 network, then both outputs are used for communications. Only the last motor on the network has an available output.

Can I network both CM2 and CM1 motors on a daisy chain network?

Currently power up timing issues prohibit mixing CM1 and CM2 motors on a daisy chain network.

Do the CM1 and CM2 motors share the same CML structure?

The CM2 servo uses a new firmware based on the CM1's RT3. The CM2 is not backwards compatible with the CM1. K settings from a CM1 motor should not be copied into a CM2 motor. Also the CML programming structure of the CM2 has different and additional CML syntax components.

Can the Cool Muscle be used for winding applications?

The CM1 with RT3 and the CM2 have programming capabilities that allow for many different roles in winding machines. Myostat can provide CML examples that will propel your development forward.