| Geller
Labs |
|
| Proton Magnetometer Control Variable Data File added to LV program Build a Geomagnetic Observatory ! GELLER Labs "Backyard Science" Thoughts on a proton precession magnetometer design - a Proton Magnetometer Project. Build an Earth's field magnetometer.
The FDM MAGNETOMETER1 project is a low cost high performance proton magnetometer (a digital magnetometer) kit under development for universities and amateur scientists to be able to accurately measure and monitor changes in the Earth's total magnetic F field and to observe geomagnetic storms. Magnetic storms can cause large excursions in the field and are of concern to interests ranging from electrical power grids, radio communications, and satellite operations, to aurora watchers and amateur radio operators. 1 Filter Diagonalization Method "FDM" (harmonic inversion), see Jan 21 and Jan 23 entries, based on: Vladimir A. Mandelshtam, Howard S. Taylor, Harmonic inversion of time signals and its applications, Journal of Chemical Physics (1997), Volume 107, Issue 17, 1997, Pages 6756-6769 (be sure to hit refresh to pick up our latest changes and entries)
Project Documentation, Links and References
Journal Notes: Thursday, September 1, 2011 Friday, September 2, 2011 Saturday, September 3, 2011 Overnight: PDF, TXT, we had some significant offsets from nearby vehicles, this is the undisturbed section of our overnight record. Project Update Regarding Software: I wrote a large percentage of the project software in LabView. The LabView supervisory program calls the FDM executable (the frequency estimator), a modified version of Professor Mandelshtam's FDM FORTRAN code. The frequency domain calculations are done in the FDM module with some post processing by the LabView program, including the AutoRetry functions. All of the time domain calculations, including the exponential curve fit to the FID time domain data and the envelope calculations are done in the LabView program. Also, the amplitude servo is completely done in LabView. As an aside, while I think this might be the first time a proton magnetometer has included an amplitude servo, this closed loop technology in software has been common place. For example, in the late 1980s, or early '90s, I used similar, relatively simple servo loops in a PC based power supply controller at a national laboratory particle accelerator complex. We purchased the LabView Application Builder so that we can distribute the project software as a Windows executable file. That way user's do not need to own a copy of the NI LabView development program (several thousand dollars). The beta version of the Windows Executable has been running fine for over a year now. The executable allows a user to drag the front panel graph in both axis and/or to rescale it (e.g. how many nanoTesla from bottom y scale to top y scale). Also, users of the executable (without having LabView installed) can vary front panel control settings (e.g. the digitization rate multiplier for an individual USB 6008 calibration, or a digitization time). However, in the present version, the default values (at program start up) can only be set by me before I compile the LabView program with the Application Builder. As there are few installations as of yet, I have simply set local values for users before compiling. On the other hand, it would be highly desirable for users to be able to save many of the user settable values on the front panel to a file and then to be able to later call them back at will (e.g. a button push). It also might be desirable to have a default "factory" file to recall as well. It appears that the LabView read key vi and write key vi provides exactly the needed functionality. It will be a long programming task, since I need to create a "property node" as well as a write key and and a read key for every single data value saved. On the other hand, each data value (e.g. the maximum value in nanoTesla on the graph) will be very well documented both in the LabView program as well as in the data file. It should also be possible to manually change the data file with a simple editor such as MS Notepad. ... so this is the next programming project, which I anticipate will take many hours. The payoff of course is that end users need not worry about buying the LabView development package. Also, unlike earlier versions of LabView, there is no need for a user to install the LabView run time engine, that is a thing of the past (somewhere around LabView Ver. 5). (Afternote: hmm, maybe that last statement about not needing a runtime engine was not entirely correct: User's without a LabView Development system already installed (the most common installation) need to install a free download "run time" driver for the USB 6008. The "NI-DAQmx 9.4 Configuration Run-Time provides a smaller footprint run-time driver for deploying applications developed using NI-DAQmx 9.4 (Full Version).NI-DAQmx 9.4 Configuration Run-Time provides a smaller footprint run-time driver for deploying applications developed using NI-DAQmx 9.4 (Full Version)." (We are developing the FDM PPM software in LabView 2011 with the NI-DAQmx 9.4 (Full Version).) While we will not be distributing the FDM source code, we will share the LabView program with anyone (who purchases a kit) who has access to a LabView development system (which is common, for example, in many university settings). Sunday, September 4, 2011 Monday, September 5, 2011 Overnight: PDF On software and saving front panel control variables: The version of the LV program that I wrote allowing for a save of the control variables seemed to increase the complexity of the LV vi to a point of peril. I've reconsidered and tried a simple approach, opting for a one time initialization. In this approach, on startup, the LV program reads a user editable file of control variables initial values. Also, now the graph time axis automatically starts at the present value, and ends some preset span later (e.g. 12 or 24 hours) according to a span value, also in the initialization file. All of the controls, as well as the graph x and y values can still be user adjusted during run time. However, to save them for later program starts, a user will need to edit the initialization file of default values according to the later desired values. In an amateur geomagnetic observatory application, these values will change infrequently, if ever, after the intial station setup. Here is an example of the initialization file TXT. Tuesday, September 6, 2011 Instrument Health: The F scalar data continues to record without problem, with a statistical mode of 2e-7. The statistical mode of 2e-7 is now common place at the present FDM FOM (2e-6) and FID servo amplitude (0.85 V). Here is the FDM FOM and amplitude graph PDF. However, I noticed a slight fall off in the % success rate to about 77%, although by this morning it is mostly recovered at 79% (81% to 82% "normal for these settings). Now, comparing the FDM FOM and amplitude graph from this morning to the same graph from August 27 PDF, it can be seen that now there is a much greater scatter in the FDM amplitude values. Turning to the polarization time controller graphs, the graph this morning PDF, shows a relatively large variation in the FID amplitude values compared to a comparable Aug. 27 polarization controller graph PDF. Interestingly, the variation in the Tau 2 values are comparable, despite the new amplitude variation. So, what is different, or what happened? The deterioration in instrument health appears to have immediately followed the recent changes to the LV program. One possibility is that I ran the program with power on for some time with corrupted timing variables (all set to zero) and I might have damaged something on the switch control board (SWCTRL). Another possibility is that I accidently added a programming error that affects the performance of the amplitude servo. Also, it could be some kind of EMI/RFI interference. For example, we have light flooding conditions and there could be an anomalous AC power return current in the ground near the counter-wound sensor coils. Also, the ambient temperature dropped from the 80s F to the 60s F. At first look (very early), the problem does not appear related to the power supplies (ripple, regulation, etc.) or to the SWCTRL relay. Note that the graphs above are all post processing graphs made in Excel using the regular plotted data text file. Also, although any change instrument performance is very interesting during instrument R&D, it is worth noting that there has been no deterioration in the measurement and recording of the total field values. Probably there are two easy first looks at what the problem might be. Even though the changes were extremely minor, I should probably build and test the newest version of the SWCTRL board, so I can do SWCTRL board change out. Another easy test is to revert back to the 8 27 LV software version (9.2) (our program, not the LabView program, which incidentally did recently change from 2010 to 2011, however I think we did the LV development package upgrade a couple of days before the deterioration in instrument health. Afternoon: A new (latest PCB version) SWCTRL board was built and installed. The PEV servo is operating normally now PDF, comparable to the Aug 27 record (same as posted above in today's journal entry) PDF. The only significant change (beyond a new board) is that I installed a 1 nF film capacitor in the new "snubber" position. I will post graphs in some hours. So, it does appear that the old board failed somewhat (the machine was still taking data fine, however there was more fluctuation in the FID amplitude than see previously as evidenced by amplitude variation shot to shot). I probably damaged it while working on the software upgrade when I accidently scrambled the timing signals. I need to look into what was starting to fail on the SWCTRL board. I used our Fantastic new Agilent U1733C LCR meter to check the resonating capacitor bank on the old SWCTRL board. The capacitance measurement was about 103.9 nF with a D of 0.002 at 1 kHz. Setting the new bank to the same value worked fine, so at least to some extent (inductance anyway), the counter-wound coil pair is intact and stable. The Agilent U1700 series is a new series of relatlively low cost hand held C and LCR instruments. The U1733C is so much easier to use than our ancient hp 4265B or the hp 4260A (although both of them paid for themselves many times over!). Evening: The polarization time controller plots are looking very good PDF. It appears that the USB-6008 is fine and that whatever happened, most likely during software editing with a critical timing error, caused something on the last SWCTRL board to begin to fail. Time allowing, I will look into it further. the last board ran for many months and probably would have continued to run fine but for the corrupted timing (I should remember to turn off the power supplies during large software editing and debugging efforts). Notice there are still occasional disturbances in the Tau 2 measurement of still unknown origin. Surveys of low frequency line related fields (with 0.01 mG resolution) have yet to show a power line related cause. These Tau 2 measurement disturbances have no affect on the total field measurement.
Want to build your own FDM Proton Precession Magnetometer?
Project Documentation, Links and References
NOAA Space Weather Prediction Center, Top News of the Day! Space Weather Canada current space weather and regional forcasts
QUESTIONS/COMMENTS/notice of typos, etc. send email to joegeller @ gellerlabs dot com COPYRIGHT © 2009, 2010, 2011 JOSEPH M. GELLER, All rights reserved.
|
|