Scripting Resources for DigitalMicrograph™


Dave Mitchell's DigitalMicrograph™ Scripting Website

Home | Scripts | Examples | Functions | Recent Updates | Tutorials | Resources | Publications | Consulting | Projects | Contact & Bio | Private | Search


HT Control Panel
Provides a control panel for controlling the HT on older JEOL microscopes which use serial communication interfaces.
version:20160229, v1.0
D. R. G. Mitchell
Thanks to Matt Field for suggesting the creation of this script and for assisting with the testing.

WARNING: This script will modify the HT of your microscope. Read and understand the warnings and instructions at the start of the script. Microscopes can be seriously damaged by gun/HT Tank discharges through inappropriate HT settings, vacuum conditions and filament operation. This script should only be used by authorised operators who understand these risks. This script is provided in good faith. The author accepts no responsibility for any damages or losses arising from the use of this script. Use entirely at your own risk.

This script has very specific hardware dependencies described below. It is designed for older JEOL microscopes which use serial communication, and which have W or LaB6 sources (ie NOT FEGs). It provides a HT control panel which allows you to change the microscope voltage from within DigitalMicrograph (DM). The panel has two main sections.

Preset buttons allow the voltage to be set directly in 20kV incremements up to the maximum voltage of the microscope. The voltage is changed immediately, at whatever speed the microscope allows. It is generally a very bad idea to go from 0 to say 200kV in one step, especially, if the microscope voltage has been off or at a low value for any length of time. Lowering the voltage rapidly is generally quite safe. Use this function with extreme care.

The second main part of the script is a ramping program. This provides a three tier ramp which emulates the typical ramp profile used when starting JEOL FEG TEMs. Different ramping slopes and set points can be set, as can a dwell between the ramps. JEOL provide a simple HT ramping program. However, this can ramp at one speed only. Use this script to ramp the voltage from 0kV to say 160kV fairly quickly - perhaps over 4mins. It is then ramped to 180kV much more slowly - perhaps over 15mins. After a 10 to 20min dwell, the HT is finally ramped up to 200kV - perhaps over 30mins or so. All ramp parameters (set points, HT step sizes, step durations and dwell times) can be set by the user. This makes HT ramping a single click operation. The script uses periodic threads to change the microscope voltage. This enables DM to be used for other things while the HT ramping is in progress (as long as DM does not try and communicate with the microscope - eg acquire an image).

This script is designed to be used by instrument administrators, who fully understand the quirks of their particular microscope HT system. The script may also be useful for low voltage (biological) microscopes, where general users need to change the HT via the presets - avoiding the need to type in JEOL commands into the JEOL commandline. The Preset section or the Ramping section of the dialog can be disabled by setting an appropriate flag. Click on '?' button for instructions on how to do this. These instructions also explain how the script can be placed in testing mode. Here the script will simulate normal HT changes, but will not actually change the HT. Use testing mode to check that the script behaves sensibly before trying it for the first time.

System Requirements

This script is only valid for JEOL microscopes which use serial communication between the microscope and DigitalMicrograph. This would include instruments like the 2000/3000 series eg 2000, 3000, 1010, 2010, 3010 and possibly earlier or lower voltage instruments (eg 1200). DO NOT use this script with FEG versions of the above. It is designed to be used only with Tungsten/LaB6 instruments. All voltage changes are to be made with the filament turned off and the vacuum at normal operating values.

This script will NOT work with any of the above instruments which have FasTEM installed. This script will NOT work with more modern JEOL microscopes such as 1400, 2100, 2200, ARM - all of these use ethernet communication. This script will NOT work with Philips/FEI instruments. There may be some Philips-specific code which allows you to change the HT within DM. If you can find it you can remove all the JEOL commands herein for the Philips equivalent. That said, external control of the External HT control does not appear to be supported by Philips/FEI.

Serial communication must be operational for this script to be able to communicate with the microscope. You can tell if this is the case, because DigitalMicrograph will handshake with the microscope every time an image is acquired. If you have to manually enter the magnification for each image, then the communication is not working. In order to enable external computer control of a JEOL (serial) microscope type EXT_1 followed by the ENTER key on the internal JEOL keyboard (note _ is a space). If you restart your microscope for any reason it will default to EXT_0 mode by default (internal control only), and DigitalMicrograph will report an error each time you capture an image. You have to remember to type EXT_1 each time you restart the microscope. Tested on a JEOL 2010 using GMS 2.11.

Known Issues

The script will prompt you for the maximum voltage of your microscope at first use. Different microscopes have different minimum HT step sizes. The value set here is for the 2010 (0.1kV). The maximum HT step size is set to 1kV. This value can be anything larger than the minimum value. If you wish to edit any of these presets, click on the Tools button in the main dialog and edit them. All the ramping parameters are saved automatically whenever they are changed, so it is easiest to set these values in the main dialog, rather than to change them in the Tools dialog.

Yes: Supporting scripts with hardware dependencies is very difficult - your hardware is most likely different to mine. I will try and help, but I have access only to a JEOL 2010.
Included Files
Source code
Source Code

See attached script