The purpose of this article is to reduce the barrier of developing a house made scanning probe microscope (SPM). Here in this paper, we cover all the details of programming an SPM controller with LabVIEW. The main c...The purpose of this article is to reduce the barrier of developing a house made scanning probe microscope (SPM). Here in this paper, we cover all the details of programming an SPM controller with LabVIEW. The main controller has three major sequential portions. They are system initialization portion, scan control and image display portion and system shutdown portion. The most complicated and essential part of the main controller is the scan control and image display portion, which is achieved with various parallel tasks. These tasks are scan area and image size adjusting module, Y axis scan control module, X axis scan and image transferring module, parameters readjusting module, emergency shutdown module, etc. A NI7831R FPGA board is used to output the control signals and utilize the Z-axis real time feedback controls. The system emergency shutdown is also carried out by the FPGA module. Receiving the shutdown command from the main controller, the FPGA board will move the probe to its XYZ zero position, turn off all the high voltage control signals and also eliminate the possible oscillations in the system. Finally, how to operate the controller is also briefly introduced. That messy wires fly back and forth is the main drawback of LabVIEW programming. Especially when the program is complicated, this problem becomes more serious. We use a real example to show how to achieve complex functionalities with structural programming and parallel multi task programming. The actual code showed in this paper is clear, intuitive and simple. Following the examples showed in this paper, readers are able to develop simple LabVIEW programs to achieve complex functionalities.展开更多
文摘The purpose of this article is to reduce the barrier of developing a house made scanning probe microscope (SPM). Here in this paper, we cover all the details of programming an SPM controller with LabVIEW. The main controller has three major sequential portions. They are system initialization portion, scan control and image display portion and system shutdown portion. The most complicated and essential part of the main controller is the scan control and image display portion, which is achieved with various parallel tasks. These tasks are scan area and image size adjusting module, Y axis scan control module, X axis scan and image transferring module, parameters readjusting module, emergency shutdown module, etc. A NI7831R FPGA board is used to output the control signals and utilize the Z-axis real time feedback controls. The system emergency shutdown is also carried out by the FPGA module. Receiving the shutdown command from the main controller, the FPGA board will move the probe to its XYZ zero position, turn off all the high voltage control signals and also eliminate the possible oscillations in the system. Finally, how to operate the controller is also briefly introduced. That messy wires fly back and forth is the main drawback of LabVIEW programming. Especially when the program is complicated, this problem becomes more serious. We use a real example to show how to achieve complex functionalities with structural programming and parallel multi task programming. The actual code showed in this paper is clear, intuitive and simple. Following the examples showed in this paper, readers are able to develop simple LabVIEW programs to achieve complex functionalities.