F175 User Guide
Caution!! DO NOT TOUCH the generator while you are in direct contact with a high voltage plasma tube
If you any part of your body is in contact with a high voltage plasma tube such as those found on EMEM type devices, DO NOT touch the generator while you are in contact with the plasma tube. Those tubes run at thousands of volts (up to 48000 volts for some units) and this can damage the generator and is not covered by the warranty. Before touching the generator (including the LCD display), make sure you are not in contact with the tube and discharge yourself of any static electricity buildup by touching a large metallic object.
Table of Contents
Introduction
The F175 arbitrary waveform generator is composed of a mixture of
hardware, firmware and software. The F175 hardware runs updatable
firmware ( a form of software) stored in its permament flash memory.
There is also the F175 Toolbox software made to run on your personal
computer. For most operations, it is not necessary to install
software on your personnal computer in order to use the F175. All
necessary computer programs are stored on the F175 itself and it is
controlled either from the LCD touch sensitive display or via a web
browser already installed on your computer (Firefox, Chrome, Internet
Explorer, Safari, etc).
To control the f175 from a computer,
all you need is an ethernet network connection between the computer
and F175 and a web browser.
The F175 is a programmable
function generator. Programs are written in a language called Lua.
Lua is a complete scripting language created by a team of software
engineers at the University of Rio de Janeiro in Brazil. Lua is
a proven, robust language. It has been used in many industrial
applications (e.g., Adobe's
Photoshop Lightroom). Lua has a solid reference
manual and there are several
books about it.
We added a small set of function to the
standard Lua language that gives you full control over the F175
functions. F175 programs can be as simple as this one line command tu
run 1000 HZ:
freq(1000)
Or as elaborate as you want it to be (see
Lua reference manual for more
advanced uses).
To keep up to date on software/firmware
releases please read the news section of our web site:
http://www.atelierrobin.net and join the Atelier Robin group here :
http://groups.yahoo.com/group/AtelierRobin.
Simple Examples
Each example consists of one or more program lines. To run the
examples, type the lines ,exactly as shown, in a blank program window
and select the file->Run menu item or click the run
button. To clear the program window of any previous content select
the file->new menu item. The examples should get you started
quickly for simple frequency generation but for a full description of
each command and its arguments, please see the Programming
Commands Description section.
How do I run a square wave
at 727 HZ:
square(50)
freq(727)
How do I run sine waves at 727, 800 , 880 and 1500 HZ each for 120 seconds:
wave("sine")
dwell(120)
freq(727)freq(800)
freq(880)
freq(1500)
How do I run a sine wave at 900 HZ for 60 seconds and a triangle wave at 1000 HZ for 5 minutes:
wave("sine")
dwell(60)
freq(900)
wave("triangle")dwell(300)
freq(1000)
How do I place comments in my programs:
--Any character(s) following -- is a comment
A comment is a line or block of text in a program that is ignored by the F175. It is there simply to give explanations or comments inside the program. A comment starts anywhere with a double hyphen (--
) and runs until the end of the line. Lua also offers block comments, which start with--[[
and run until the corresponding]]
. A common trick, when we want to comment out a piece of a program, is to write the following: --[[ freq(1000) -- no action (comment) freq(2000) --]]
F175 Web Based User Interface
The F175 is controlled and programmed from a computer via the F175
web interface. You do not need to install any software on your
computer to access it. All you need is an ethernet connection between
the PC and F175 and a web browser (Firefox, Chrome, Internet
Explorer, Safari, etc). To acess the F175 web interface start your
web browser and in the URL field, type the IP address of the F175.
You can find out the IP address of the F175 from the LCD display on
the generator: in the F175 application, select help->about .
The F175 web interface is composed of a top menu row and the
remaining space is occupied by the program window in white and status
window in black. The program window is where you type or load
programs to be run or saved in F175 permanent memory. When using the
web interface, keep in mind that all files operations (except upload
program and upload waveform) reference files stored on the F175
itself, not on your computer hard disk. For example, when you select
file->open, you are opening a file stored on the F175 itself, not
on your computer hard disk. To copy files from your computer to the
F175, use the file->upload commands.
File Menu Items
New |
Clear the program window and start a new program |
Open |
Open an existing program file from the F175 permanent memory |
Save |
Save your program on the F175 permanent memory for future reuse or editing. |
Save As |
Save your program on the F175 permanent memory, specifying a new file name. |
Run |
Check the current program for errors and run to produce frequencies. If syntax errors exists, the error and line number are reported on the status screen and no frequencies are run. The computer screen is updated while the program runs. |
Stop |
Stop program execution |
Upload Program |
Upload a program from the computer to the F175 permanent memory |
Upload Waveform |
Upload a F175 waveform file to the F175 permanent memory |
Tools Menu Items
Update firmware |
|
Upgrade generator firmware. See instruction bellow. |
F175
Standalone User Interface
This section
describes the F175 standalone user interface. This interface consists
in a touch sensitive LCD display. Use the plastic pen provided to
select menu items and use the popup keypad.
Main menu
items.
The main menu is accessed by touching the menu key and touching the up and down arrows to scroll the menu items. Touch the enter key to select a menu item. While scrolling a menu, at any time you can touch the menu key once more to cancel and get out of a menu.
Open File
Select a program to open from the list of files stored on the generator
NewFile
Clear the program memory and start a new empty program. You then need to use the edit key to start editing a new program.
Save File
Save the current program to flash.
Save File As
Save the current program under a user specified file name. The file name can be up to 16 numeric characters.
About
Displays the firmware version number and our web site address where you can download software updates.
Keys used to run and control a running program
Run
The run key has two purposes: press run to start running the currently opened program. Press run again to stop the running program.
Editing programs from the LCD display
This section is not writen yet
F175 Programming Functions (Common to both the
web and standalone mode)
The F175 is programmed
with standard text files. The programming language used is called
Lua. Lua is a solid and well established scripting/programming
language. You can read more about it here.
We
added a small set of functions to the Lua language that lets you
access all F175 functinality. This sections lists the F175 specific
functions. For a complete reference to the Lua language, please see
the Lua Reference manual.
Each function and its arguments are
described here. Simple program examples are also given.
The F175 specific functions are:
counter("name",n)
Saves a counter
to permanent storage. The stored value will not be erased if the
generator is turned off. This can be used for example to count the
number of times a program has been run. This function returns the new
value of the counter
Arguments:
name : counter name. This must be a
unique alpha-numeric string. All counters used in all programs on a
single generator must have unique counter names since they share a
common name space.
n : counter increment. If it is 0, the counter
is reset to 0.
Examples:
|
|
|
|
|
|
dwell(s)
Sets the
default dwell value. The dwell is the length of time the requested
frequency will be generated. The dwell value specified will be
applied to all subsequent frequencies in the program file up to the
next dwell instruction.
Argument units: s in seconds
Range: s: 0.0 to 20000000.0
Examples:
|
|
|
|
|
|
freq(n)
Run the specified
frequency. More specifically, the loaded waveform will be sampled
from beginning to end n times per second. What frequencies will be
produced by the F175 actually depends on the content of the waveform.
If the loaded waveform is a single cycle of a sine wave, then only
frequency n HZ will be produced. If the waveform contains more than
just one cycle of a sine wave (harmonics) , then those
frequencies/harmonics multiplied by n will be produced.
Examples:
|
|
|
|
freq(0) |
Turn off the AWG channel |
gate(c,f,d)
This will gate
(100% amplitude modulation with a square wave) the arbitrary waveform
channel. The gating signal is a variable duty square wave. The duty
will be rounded to the nearest 1/256 step. Maximum gating frequency
is 2 MHZ. This command is similar to the pulse and backfreq commands
on our F125/165/170 generators.
Argument :
c : channel number. At this time, there
is only one gating channel so this must be 1
f : gating frequency
(0 to 2,000,000 )
d : gating duty (0 to 100)
Examples:
|
|
|
|
offset(n)
Adjusts the offset. By default, offset is centered at 0 volts. This command lets you adjust the offset for the waveform to sit competely above or bellow 0 volts. .
Arguments:
n: a percentage
Examples:
|
|
offsetb(b)
Adjusts the offset. By default, offset is centered at 0 volts. This command lets you adjust the offset for the waveform to sit competely above or bellow 0 volts. This version of the offset command let you manipulate the offset value at the hardware level with a value of 0 to 1020.
Arguments:
b: an integer value from 0 to 1020
Examples:
|
|
serial()
Returns the unique serial number for this generator.
Examples:
|
|
sleep(t)
Sleep for specified time. Whatever freqiencies were previously running will continue to run while sleeping.
Examples:
|
|
sleep(10) |
Sleep for 10 seconds |
square(d)
Load a square wave
in the F175 DAC memory. d is the desired duty cycle as a percentage.
From that point on, until the next wave() or square() instruction,
the specified square wave will be output by the generator. The
square() command is much faster than loading a waveform with the
wave() command since it is generated automatically by the processor.
Examples:
|
|
|
|
status(message)
Will print a
message in the status area of the F175 web interface.
Arguments:
Any string or
variable or a combination of strings and variables. You can use the
LUA concatenation operator to combine strings and
variables.
Examples:
|
|
|
|
wave("wavename")
This will load the specified waveform file into the F175 DAC memory. From that point on, until the next wave() or square() instruction, the specified waveform will be output by the generator. It takes about one second to load a waveform in memory.
"wavename" is the name of
a waveform file stored on the F175 permanent memory. You need to
include double quotes around the waveform name. The F175 comes with
builtin waveforms but you can create your own with the F175 Toolkit
software and upload them to the F175 via the f175 web interface
(file->upload waveform).
Builtin waveforms are:
sine:
sine wave
triangle: triangle wave
saw: sawtooth wave
invsaw:
inverse sawtooth wave
whitenoise: white noise
pseudonoise:
pseudo noise wave
Example program. This program will produce a
triangle waveform at 1000 HZ:
wave("triangle") freq(1000)
To run a square wave, you can use the square() function.
Advanced Lua
Examples
You can use the complete Lua
functionality inside your F175 program. That can make for very
complex frequency sequences. Note that when using any F175 function
like freq(), dwell(), offset(), the argument to the function can be a
Lua variable. So you can make any computation/manipulaiton to this
variable inside your program. When writing LUA programs you can use
the status() command to see the value of variables. See the Lua
Reference Manual for more info about Lua.
Here are a few examples that make
use of Lua features. For more information about Lua, please see the
Lua Reference Manual:
Example
1: A sweep using the "while" construct. This is a sweep
from 1000 to 1010 HZ in .1 HZ steps, each step running for 1 second:
dwell(1) f=1000 while (f < 1011.1 ) do freq(f) f=f+0.1 end
Example 2: Gating the main channel at low frequency simply using LUA. This example gates 1000 Hz at about 4 HZ:
dwell(0.125) while ( 1 < 0) do freq(1000) freq(0) end
Example 3: Loading functions from another file. You can load functions from another LUA file. In this example, the program loads another LUA file called mylib and calls a function named ftest fro that file:
package.path ="/root/Documents/text/plain/?.txt" require("mylib") ftest()
F175 Toolbox software
The F175 Toolbox software
runs on your computer and lets you create new F175 ready waveforms
based on waveform definition files you create. The waveform
definition files are standard text files. The waveforms you create
with the F175 Toolbox are normaly composed of a single cycle of
a sine wave plus higher harmonics. In wave theory, a harmonic of a
given frequency f is an integer multiple of f. For example, 20,30,40
HZ are all harmonics of 10 HZ (2*10=20 , 3*10=30, 4*10=40).
The
F175 has a waveform memory of 256 KB. So a waveform has exactly 256
KB (262144) samples. Sampling theory says that you
need at least 2 samples per
cycle to
recreate a sine wave. So this means a single waveform can have
a theoretical maximum bandwidth of 128 KB (131072
HZ). This means the difference between your
highest and lowest frequency/harmonic in a single waveform must be
131072 HZ . In
practice, it is better to use a lower bandwidth to have more than 2
samples per cycle for your highest harmonic in the waveform.
When
you create a waveform, always start with 1 followed by
harmonics of that going up. Then you run that
waveform with the freq command at the lowest
intended frequency.
For example, if
you want the F175 to produce a signal thats contains the following
harmonic frequencies 1000, 2000, 10000, 25000 HZ,
you could create a waveform called mywave with this list of
harmonics:
1
2
10
25
Then
you run this waveform with the commands
wave("mywave") freq(1000)
It is also possible to run this same waveform at
different base frequencies and the signal produced will always
contain the base frequency plus all the harmonics in the waveform.
For example, in the example above, if we run the waveform at 2000HZ
instead of 1000 HZ, the F175 would output a signal containing
2K, 4K, 20K, 50K
Here is nother example of a definition file for 1
and the first 5 odd harmonics of 1 (all at the same amplitude) is:
1
3
5
7
9
11
You can also specify the amplitude of each harmonics in
relation to the others. For example, to create a waveform with the
following harmonics at varying amplitudes: 1 at full amplitude, 100
at 0.5 amplitude , 1000 at 0.1 amplitude, you would use this
definition file:
1 1
10 0.5
1000 0.1
The F175
Toolbox user interface includes a text editor window to let you
create/open/save waveform definitions. It also includes a waveform
viewer to see the 2D graphic of waveform files (.bwf files) you
created. Use the "file>open waveform" menu item to view
the 2D graph of a .bwf file
Once you have created a waveform
(.bwf file) with the F175 Toolbox, you can upload it to the F175 via
the F175 web interface. From then on, you can use this waveform in
your programs with the wave() function.
F175 Toolbox
definition file synthax
Definition files can contain the
following , one per line:
f a
Where f is a real number representing an harmonic, a is a real number from 0 to 1.0 representing the relative amplitude. a is optional. If a is not specified, it is assumed to be 1.0
damping d
Where d is a real number from 0 to 100.0 . Damping will dampen the end of the waveform. For example:
damping 10.0
This will dampen the last 10% of the waveform.
Damping is
usefull if you are combining frequencies where not all of them
are even and odd harmonics (integer multiples) of the smallest
frequency in the file. In such a case, damping the waveform
will avoid breaks in the repeating waveform signal. Such breaks would
introduce spurious frequencies not included in your definition file.
normalize false
This will not normalize the resulting waveform to full amplitude. By default, normalize is turned on and the wavefrom will always be normalized to cover the entire amplitude range of the generator. Setting this to false, will omit the normalizing step.
Installting the F175 Toolbox
The F175
Toolbox installer is available from the downloads
section of our web site. Download the setup.exe file and run it on
your system to complete the installation.
F175
Hardware
Amplitude control on the F175:
The amplitude (volume) knob controls the voltage level on output 2 (II). This is the output connector closest to the knob. It has a range of 0 to 13V in DC mode and 0 to 26 Vpp in AC mode. Voltage increases when you turn the knob clockwise
Caution DO NOT TOUCH the generator while you are in direct contact with a high voltage plasma tube
If you any part of your body is in contact with a high voltage plasma tube such as those found on EMEM type devices, DO NOT touch the generator while you are in contact with the plasma tube. Those tubes run at thousands of volts (up to 48000 volts for some units) and this can damage the generator and is not covered by the warranty. Before touching the generator (including the LCD display), make sure you are not in contact with the tube and discharge yourself of any static electricity buildup by touching a large metallic object.
Caution Allow proper ventilation of generator.
The generator will be warm to the touch under normal operation. This is expected and it is safe to operate it continuously even in summer heat in the shade. Allow proper ventilation of generator. Keep the generator away from heat sources such as other electronic equipment, heaters or direct sun light. Place the generator on a hard, flat, horizontal and cool surface to allow clearance under the generator case and proper ventilation. Do not block any holes in the generator such as the vent holes and LCD panel opening. Hot air inside the generator rises and escapes mainly via the top LCD opening so keep the generator horizontal with the LCD opening facing up and do not block the LCD opening.
Caution If making body contact with electrodes connected to the output of the generator.
If any part of your body is in contact with electrodes connected to the output of the generator, make sure you discharge yourself of any static electricity buildup before touching the electrodes. This will avoid damaging the generator. You can discharge yourself by touching a large metallic object. Also make sure you always touch the negative electrode before touching the positive one.
Power transformer :
These frequency generators require a regulated 12 Volt DC transformer with at least 1A capacity. The transformer provided is compatible with 110-240 VAC 50-60HZ powers. The power jack is 2.1mm. Before using any transformer other than the one supplied with your generator, you need to measure the open circuit voltage output with a voltmeter set to volts DC. The open circuit voltage of the transformer must be exactly 12 Volts DC. DO NOT USE A TRANSFORMER WITH OPEN CIRCUIT VOLTAGE GREATER THAN 12 VOLTS DC. Doing this will damage the generator and void the warranty. If you are not sure how to measure the open circuit voltage, contact us before connecting another transformer to the generator.
The frequency generator does not have
an off/on switch. It is always on or in standby mode.
Updating
the F175 Firmware:
Your frequency generator has an updatable firmware that is stored in permanent flash memory on the generator. From time to time we release on our web site new firmware releases that contain new features and bug fixes.
Installing Mac OS X Software:
This section of the user guide is not written yet.