Skip to content

Releases: Dennis-van-Gils/DvG_Arduino_lock-in_amp

v1.0.0

03 Feb 18:35
Compare
Choose a tag to compare

Official, stable and tested release

Changelog

  • Upgraded from 5 kHz to 25 kHz sampling rate
  • Fixed mistake in calculating R
  • V_rms as unit for the amplitude, instead of V
  • Single-ended ADC as default, instead of differential
  • Added auto-calibration routine for the ADC
  • Added square and triangular waveforms
  • Timer roll-over is increased from 71 minutes to 49 days
  • Many other stability and speed improvements on the Python side
  • Fixed Python package versions to ensure identical environments across computers

Lock-in amplifier @ sampling rate 5 kHz

09 May 10:02
Compare
Choose a tag to compare

This release is a fully functioning lock-in amplifier operating at a sampling rate of 5 kHz. At the Python side there is full support for Windows 10 and Ubuntu 18.04 with OpenGL hardware acceleration and an ultrafast C-library for the fast Fourier transforms (pyFFTW). The latter is used for the finite impulse response filters and power spectra calculations.

The used integrated development environment (IDE) for the Arduino microcontroller board is "Visual Studio Code" by Microsoft. Because the microcontroller board relies on interrupt timers for the DAC and ADC conversions, the maximal possible sampling rate can only go up to around 10 kHz, constrained by the microchip resources and timing stability. Here I have set the sampling rate to a safe 5 kHz.

An upcoming major release will change the IDE to "Atmel Studio", which makes use of Atmel's Advanced Software Framework (ASF4). In this framework I will start to make use of the direct memory access controller (DMAC) of the chip to take care of the DAC and ADC conversions and the serial communication, freeing up chip resources and increasing timing stability. This should allow for sampling rates of around 50 kHz.

This release is compatible with the firmware of the Adafruit Feather M4 Express boards used at the practicum "Small Signals and Detection" of the University of Twente of May 2019 and 2021. This firmware can be found at /source_MCU_boards/pre-compiled_M4_feather/CURRENT.UF2

No issues are known to exists at this time of release, apart from the timestamp roll-over at the Arduino side every 71 minutes. The next release will improve upon this by increasing the roll-over to 49.7 days.

Changelog since the alpha version:

  • Improved Python installation procedure by fixing the distribution channels and the package versions
  • Improved user manual
  • Runs on Python 3.9.4
  • Cleaned up old research documents