Scanning probe microscopy provides information about the studied objects with an accuracy of tenths and hundredths of a nanometer with a time resolution of milliseconds and higher. Equipping the probe microscope with additional peripheral sensors for measuring temperature and humidity is a useful option. When studying living cells, it is necessary to control and maintain the concentration of carbon dioxide. This requires compact and user-friendly carbon dioxide sensors with an appropriate user-oriented software interface. If sample movements are controlled, especially when using large fields of view, limit sensors become important accessories. They will allow not going beyond the selected area of study of the observed object. This paper describes a simple solution for the efficient use of sensors that measure temperature, humidity, CO2 concentration and movement.
To study biological systems using scanning probe microscopy one needs to control the experimental conditions: temperature and humidity of the environment, concentration of different gases [1, 2], etc. For example, to study living cells it is necessary to create an atmosphere with 5% concentration of CO2 and temperature 36 °C inside the box with the studied material. Especially for this purpose, a program was developed to monitor these conditions using a microcontroller as the control element and periphery of highly sensitive sensors.
HARDWARE AND SOFTWARE SOLUTIONS
The Arduino board was chosen as the basis of control unit. Firstly, it is easy enough to program and secondly, it allows easily enough to connect many controllable devices to a microcontroller without extra wrapping.Since many sensors work with 3.3 V hardware logic, Arduino MKR Zero was chosen. This board contains a Microchip (Atmel) ATSAMD21G1 microcontroller with an ARM Cortex M0 processing core. The core is 32-bit, which enables to perform calculations of four-byte data in just one clock cycle. Together with the relatively high clock frequency (48 MHz) and the large Flash and SRAM memory (256KB and 32KB, respectively), this microcontroller is a powerful computing tool and is able to receive incoming data quickly, process them easily and transmit them promptly to the next device. Furthermore, communication with controlled (e.g. sensors) and controlling (e.g. computer) devices on this board is done using the following interfaces: UART/Serial, I2C, and SPI. All this makes the Arduino MKR Zero the preferred and most relevant board for the task assigned to it – performing accurate real-time control of the experiment conditions.
A DHT22 sensor is used as a temperature and humidity sensor. This sensor supports 3.3 V logic and measures humidity in the range 0–100% with a resolution of 0.1% and an accuracy of ± 2% and temperature in the range –40–80 °C with a resolution of 0.1 °C and an accuracy of ±0.5 °C. The period between sensor measurements is 2 seconds. The sensor may be connected to any digital pin of the board. The values are read out using the DHT sensor library.
Two sensors are used to measure carbon dioxide concentration, one inside the system and one outside. The external sensor controls permissible CO2 concentration near the experimenter in order to prevent unexpected leakage of gas from the box, as an increased concentration of carbon dioxide in the atmosphere can cause serious harm to human health. For this purpose a Winsen carbon dioxide sensor, model MH-Z19c, was applied. The measuring range is 0 to 5000 ppm with an accuracy of ± 50 ppm + 5% of the measured value. The range is not very wide, only 0.5%, but it is sufficient.
The second sensor from the same company, model MH-410D, is an industrial sensor and provides a measuring range of 0 to 5% with the same accuracy. This is the sensor that will be located inside the system under investigation. Both sensors require a 5 V supply and support 3.3 V logic to communicate with the board. In addition, readings from both sensors can be taken as a PWM signal from the Vout pin, or via the UART interface when connected to the RX and TX pins. Since the Arduino MKR Zero board supports only one additional Serial channel (the main channel is used for communication between the board and computer), in the system we implemented, the PWM signal was read from the internal sensor, while the external sensor was connected to the Serial channel.
MHZ419C and MH410D proprietary libraries were developed to process signals.
Also, within the framework of this system, the control of the precision sample movement system is controlled using optical limit sensors. The program written for the Arduino reads and processes sensor signals and then sends them to the computer. To display the parameters on the computer, a special plug-in has been developed (Fig.1) using the Qt C++ framework. The plug-in is used to connect to the board via UART interface and displaying data in the form of graphs of values (temperature, humidity, carbon dioxide concentration inside and outside the system under study) are plotted vs time.
CONCLUSIONS
Software has been developed for operating of precision X- and Y-coordinate sample movement system, which allows reading signals from the limit sensors and the control of stepper motors. In addition, this software can be used to control the movement of the sample from 0–12 mm with an accuracy of a few microns (Fig.2).
ACKNOWLEDGMENTS
The study was completed with the financial support of the Foundation for Assistance to Innovations, project No. 71108, contract 0071108. The authors are grateful to Endor LLC, Moscow for their substantial support in this work.
PEER REVIEW INFO
Editorial board thanks the anonymous reviewer(s) for their contribution to the peer review of this work. It is also grateful for their consent to publish papers on the journal’s website and SEL eLibrary eLIBRARY.RU.
Declaration of Competing Interest. The authors declare that they have no known competing financial interests or personal relationships that could have appeared to influence the work reported in this paper.