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:

counter("counter1",1)

Increment by 1 the counter named counter1

counter("counter2",0)

Reset counter2 to 0

counts = counter("counter3",1)

Increment counter3 by 1 and store the new value of counter3 in the variable counts



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:

dwell(120)

Run for 2 minutes

dwell(0.5)

Run for half a second

dwell(.75)

Run for 3/4 second



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(10.23)

Run the loaded waveform at 10.23 HZ

freq(10000000)

Run the loaded waveform at 10 MHZ

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:


gate(1,100,50)

Gate the main channel at 100 HZ , 50% duty cycle

gate(1,100000.5,75.77)

Gate the main channel at 100000.5 HZ, 75.77% duty cycle



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:

offset(50)

Set offset to 0 volt, this is the default



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:

offset(584)

Set offset to approximately 0 volt


serial()

Returns the unique serial number for this generator.

Examples:


status(serial())

Prints the serial number on the status line



sleep(t)


Sleep for specified time. Whatever freqiencies were previously running will continue to run while sleeping.

Examples:

sleep(0.5)

Sleep for half a second

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:

square(50)

Load a 50% duty cycle square wave

square(98.5)

Load a 98.5% duty cycle square wave



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:

status("Running my program")

Will print "Running my program" in the status field of the F175 web interface.

d=10
status("Running " .. d .. " HZ")

Will print "Running 10 HZ" in the status field of the F175 web interface.



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.