• No results found

Enhanced Distance Learning: A Measurement Tool for Electronics Courses

N/A
N/A
Protected

Academic year: 2021

Share "Enhanced Distance Learning: A Measurement Tool for Electronics Courses"

Copied!
56
0
0

Loading.... (view fulltext now)

Full text

(1)

UPTEC IT 20042

Examensarbete 30 hp

Oktober 2020

Enhanced Distance Learning:

A Measurement Tool for Electronics

Courses

Joel Westerlund

(2)
(3)

Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student

Abstract

Enhanced Distance Learning: A Measurement Tool for

Electronics Courses

Joel Westerlund

Learning outcomes in electronic courses often involve objectives that require hands-on experience in a laboratory environment. Thus, transforming such a course to be suited for distance learning might prove problematic. Using video lectures is possible but deprives the students of the ability to experiment on their own.

The aim of this thesis was to mitigate the problem by developing an affordable platform providing the basic functionality of standard laboratory equipment designed for easy distribution.

The resulting hardware is able to produce an 8 Vpp output signal in the range of 1 Hz to 100 kHz with a high level of accuracy both in terms of voltage level and frequency. The signal may be applied to a circuit and analyzed using two analog input channels, displaying the results on the screen of a computer connected with a USB cable. The hardware interaction is performed using a graphical interface developed to function on all major operating systems and provide a user-friendly environment. Some interference were experienced on high frequencies but we believe that the problems can be fixed with a minor redesign of the circuit board.

The evaluation shows that the performance is within the specified requirements and after testing some of the typical use cases the system is concluded to be sufficient for the intended purposes.

(4)
(5)

Sammanfattning

L¨arandem˚al i elektronikkurser innefattar ofta moment som kr¨aver praktisk erfarenhet i laboratoriemilj¨o. Att st¨opa om en s˚adan kurs f¨or att passa distansundervisning kan d¨arf¨or visa sig problematiskt. Att anv¨anda sig av videolektioner ¨ar en m¨ojlighet men ber¨ovar studenterna fr˚an m¨ojligheten att experimentera p˚a egen hand.

M˚alet med denna uppsats vad att f¨ors¨oka l¨osa ovanst˚aende prob-lem genom att utveckla en prisv¨ard plattform som l¨ampar sig f¨or dis-tribuering och samtidigt kan tillgodose den grundl¨aggande funktion-alitet som kr¨avs fr˚an en labutrustning.

H˚ardvaran ¨ar kapabel att producera en 8 V pp utg˚angssignal med ett frekvensomf˚ang mellan 1 Hz och 100 kHz med en h¨og noggrannhet med avseende p˚a b˚ade sp¨anning och frekvens. Signalen kan appliceras p˚a valfri krets och analyserad med hj¨alp av tv˚a tillg¨angliga m¨ating˚angar. M¨atv¨ardena kan presenteras p˚a valfri datorsk¨arm d¨ar systemet kop-plas in med hj¨alp av USB kabel.

H˚ardvaruinteraktionen sker via ett grafiskt gr¨anssnitt utvecklat f¨or att fungera p˚a alla st¨orre operativsystem och ge en anv¨andarv¨anlig milj¨o. Vissa st¨orningar upplevdes vid h¨oga frekvenser men vi tror att problemen kan ˚atg¨ardas med en mindre ¨andring i designen av kretskortet.

(6)
(7)

Contents

1 Introduction 1

1.1 Purpose and Goals . . . 2

2 Background 3 2.1 Hardware . . . 3

2.2 Direct Memory Access (DMA) . . . 3

2.3 Signal Generation . . . 4

2.4 Auxiliary circuits . . . 6

2.5 Slew Rate . . . 6

2.6 Sampling and Reconstruction . . . 7

3 Methodology 8 3.1 Delimitations . . . 9

4 Related Work 11 5 Design and Implementation 12 5.1 Signal Generation . . . 12

5.2 Auxilliary circuits . . . 15

5.2.1 Change in signal range . . . 15

5.2.2 Additional voltages . . . 17

5.3 Sampling and Reconstruction . . . 19

5.4 PCB . . . 20

5.5 Communication interface . . . 22

5.6 Graphical Interface . . . 22

6 Results and Discussion 25 6.1 Supply Voltages . . . 25

6.2 PCB USB Connection . . . 27

6.3 Output Signal . . . 27

6.4 Example Experiments . . . 29

6.4.1 Low Pass Filter . . . 29

6.4.2 Inverting Amplifier . . . 31

6.5 High Frequency Interference . . . 32

6.6 Requirements Comparison . . . 36

7 Conclusion 38 7.1 Methodology . . . 38

7.2 Signal Translation . . . 38

(8)

7.4 Sampling Frequency . . . 39 7.5 Availability . . . 39 7.6 Assessment of Goals . . . 39 8 Future Work 41 8.1 Design improvements . . . 41 8.2 Additional waveforms . . . 41 8.3 Post-processing and display modes . . . 41

(9)

List of Figures

1 Microcontroller connected to a PC . . . 1

2 Example low-pass filter . . . 2

3 DMA illustration . . . 4

4 Sine wave produced with k number of samples . . . 5

5 Sine wave with inadequate slew rate . . . 7

6 Alternative approach to DDS . . . 13

7 Used implementation . . . 14

8 Signal modification . . . 16

9 Signal modification with operational amplifier . . . 16

10 Inverting amplifier . . . 17 11 MC34063 design . . . 18 12 LM27762 design . . . 19 13 PCB design . . . 21 14 GUI design . . . 23 15 Supply voltages . . . 25 16 Breadboard connection . . . 26 17 Output signal . . . 28

18 Low-pass filter measurement 1 . . . 30

19 Low-pass filter measurement 2 . . . 30

20 Low-pass filter bode plot . . . 31

21 Inverting amplifier setup . . . 32

22 Inverting amplifier measurement . . . 32

23 Interference at low frequencies . . . 33

24 Interference at high frequencies . . . 33

25 Possible points of interference . . . 34

26 Likely point of interference . . . 35

27 Accuracy of the input measurements . . . 37

List of Tables

1 Performance requirements . . . 9

2 Array sizes . . . 15

3 USB pin functionality . . . 27

4 Operational amplifier IC pinout . . . 35

(10)

Acronyms

ADC Analog to Digital Converter API Application Program Interface DAC Digital to Analog Converter DDS Direct Digital Synthesis DMA Direct Memory Access IC Integrated Circuit

(11)

1

Introduction

Teaching distance learning courses can be problematic when achieving the knowledge to fulfill the learning objectives require hands-on experience in a laboratory environment. This thesis is aimed at developing a platform allowing measurements to be made on electronic circuits without the need of expensive lab equipment but instead using only a microcontroller and a PC. Lab experiments often require input signals to be generated which is normally done using a signal generator. The signal can then be applied to a circuit and analyzed with an oscilloscope. Both the signal generator and the oscilloscope are often large, expensive and capable of tasks much too advanced for lab-oratory experiments in introductory electronics. By using a microcontroller to output the required signal the signal generator can be replaced. Using the same microcontroller to perform measurements and presenting the results on a PC also makes it possible to replace the oscilloscope. The intended product is illustrated in Figure 1. In the picture, a microcontroller is connected to a PC used to control the output signals and plot measurements.

Figure 1: Microcontroller connected to a PC

(12)

R

C

vin vout

Figure 2: Example low-pass filter

A user interface is required to interact with the microcontroller. As the hardware is intended to be used outside of the school laboratory environment it is of essence that the product can function with a wide range of computers. Therefore the interface should be compatible with major operating systems such as Windows, macOS and Linux.

1.1

Purpose and Goals

The goal of this project is to develop an a↵ordable, easy to use equipment suitable for use in a non-laboratory environment. In this thesis an attempt is made to clarify the following questions:

1. What performance will the developed system have? 2. Will the required hardware be a↵ordable?

(13)

2

Background

This section starts with introducing considerations related to choice of hard-ware for this thesis, then presents methods and hardhard-ware used to synthesize an analog output signal as well as sample and discretize an input signal mak-ing the collected data suitable for evaluation on a computer. Furthermore, important concepts about how to ensure good signal quality are presented.

2.1

Hardware

The most essential part of the hardware is the Micro Control Unit (MCU). In order to limit the scope of the hardware choices of this thesis, only STM32 MCUs were considered. STM was chosen because of its popularity, wide range of di↵erent MCUs and the included hardware peripherals.

Three di↵erent MCUs were evaluated before the choice came down to the STM32L476RG. The other two, STM32F103RB and STM32F103C8T6, were deemed not to have the necessary hardware performance required for the application. The selected chip has a clock speed of 80 Mhz and is equipped with 2x 12-bit DAC output channels, 3x 12-bit ADC inputs and 2 instances of DMA capability.

2.2

Direct Memory Access (DMA)

(14)

Figure 3: DMA illustration

The transfer cycle consists of a series of events. First, a request signal is sent to the DMA controller and the transfer begins. The controller then decrements the length count and the destination address is incremented by the size of the transfer. The process repeats until the transfer length reaches zero and when the controller is finished an interrupt is issued [3].

2.3

Signal Generation

A common way to produce a continuous signal is by utilizing a hardware component called Digital to Analog Converter (DAC). The signal is stored in memory as discrete values in a table and the DAC can be used to convert the digital data to its corresponding analog form[4].

Depending on how many bits each sample uses when stored in memory the hardware can approximate the amplitude of the output signal more or less accurately. For example, a value stored with 12 bits can produce outputs with a step size of Vref

212 =

Vref

4096 i.e. over 4000 di↵erent voltage levels between 0 and Vref, where Vref is the reference voltage supplied to the DAC. The analog waveform can hence be determined using Equation 1[3].

y(x) = Vref ⇤ y[x]

0xFFF (1)

(15)

uses 3 times as many samples than the lower plot and the waveform is clearly much smoother. There are hardware limitations on how many samples the DAC can output per second. Generating a signal using too many samples at high frequencies is therefore not possible.

0 1 2 3 4 5 6 7 k=30 -1 -0.5 0 0.5 1 0 1 2 3 4 5 6 7 k=10 -1 -0.5 0 0.5 1

Figure 4: Sine wave produced with k number of samples

Controlling the frequency of the signal can be done by either changing the rate of which the samples are switched or by skipping values in the table using a technique called Direct Digital Synthesis (DDS).

(16)

fs= ft

ns (2)

Controlling the output of the frequency by controlling what values to output from the table (DDS) can be done using Equation 3 called the tuning equa-tion. The tuning word, M, is used to control the increment for each clock cycle. The accumulated value is then divided by a factor 2n where the result is used to index into the table containing the signal values. The exponent, n, is generally a number between 24 and 32 but with n=32 the resolution is more than one part in 4 billion. In practical DDS systems, the number is not passed directly to the lookup table but truncated to reduce the size of the lookup table[5].

fs= M⇤ fclock

2n (3)

2.4

Auxiliary circuits

As the generated signal is intended to be used to conduct experiments on circuits it is important that the signal is translated to an appropriate range, preferably oscillating around ground. The hardware on the MCU is only able to generate a signal with amplitudes between 0 and VREF. Therefore some auxiliary circuits are needed to modify the output signal. The circuits also serve the purpose of protecting the MCU from damage if erroneous signals are fed into the microcontroller.

2.5

Slew Rate

The designed system is intended to generate high-frequency AC signals. Therefore the hardware can not be too slow or it will be unable to pro-duce a signal of good quality. A relevant performance criterion to investigate is the slew rate of the operational amplifiers. The slew rate determines how fast a change in voltage on the input pin can be seen on the output pin. As an example, a 100 kHz signal has a period of T = f1 = 10 µs. Considering a sinusoidal signal with a -5 V - +5 V output range the operational amplifiers have to be able to change its output signal by 5 V in 2.5 µs. This would require a slew rate of 2 V/µs. For a square wave signal, this parameter becomes even more critical due to the abrupt change in voltage.

(17)

the maximum slew rate of the operational amplifiers is reached the amplitude of the output signal will decrease with increasing frequency. However, the output frequency will remain the same as the input frequency.

Figure 5: Sine wave with inadequate slew rate

2.6

Sampling and Reconstruction

In order to convert a continuous-time signal into a discrete-time signal, a process called sampling can be used. By measuring the amplitude of a signal x(t) at regular intervals the signal can be stored digitally as a sequence of approximated values x[k]. How often the signal is sampled depends on the sample period Ts with the relation t = kTs[6]. The amplitude of the signal can be approximated using a hardware component called Analog to Digital Converter (ADC).

In order for a signal to be sampled without any loss of information the sam-pling rate must be at least twice the maximum frequency present in the sampled signal, this relation is shown in Equation 4 and is known as the Nyquist Criterion [6].

(18)

3

Methodology

To facilitate a starting point for this thesis a microcontroller from STM[7] was evaluated and programmed to generate the required electric signals. The same microcontroller was also used for the measurement of signals. To enable this functionality the microcontroller has to be programmed to output the correct signals at requested frequencies.

The selected MCU is an integrated circuit with 64 pins not easily accessed by jumper wires. Additionally, other components are required for the MCU to function as intended such as crystals and voltage generators. To solve the aforementioned problems a nucleo board[8] was used. The nucleo board is intended to allow prototype development providing necessary components and easy access to MCU pins using on-board connectors. Also, an integrated ST-LINK debugger/programmer[9] is included so no additional hardware is required to start development.

Furthermore, some additional circuits had to be designed to protect the hard-ware from erroneous connections made by the user as well as to modify the signal range. These circuits were first evaluated in a simulation program called LT-Spice[10] to verify that the intended amplification and translation of the signal ranges where correct. The selected components were then con-nected to the breadboard to verify that they worked as intended.

When functionality had been proven on the development board and bread-board a custom Printed Circuit Board (PCB) was developed to include only the relevant hardware and further reduce cost and size. This was the final step in development.

(19)

minimum intermediate deluxe

Connection USB 2.0

API Developed using Python 3

Analog inputs 2 3

Analog bandwidth 1 Hz...100 kHz 0 Hz...100 kHz 0 Hz...200 kHz

Input Voltage -1 V...+1 V -5 V...+5 -10 V...+10 V

Oscilloscope resolution 8 bit 10 bit 10

Accuracy 5 % 2 % 1 %

Time resolution > 1 Msamples/s

Data points 100 1000 10000

Voltmeter Resolution 0,5 % (3 digit) 0,1 % (4 digit)

Analog outputs 1 2

Analog signals sine sine, sqauare sine, square, arbitrary

Output voltage -1 V...+1 V -5 V...+5 V -10 V...+10 V

Output frequency 1 Hz. . . 100 kHz 1 Hz. . . 100 kHz 0,01 Hz. . . 100 kHz

1 significant digit 2 significant digits 3 significant digits

1 kHz, 2 kHz, 3 kHz,. . . 1,0 kHz, 1,1 kHz,. . . 1,00 kHz, 1,01 kHz,. . .

Accuracy 10 % 5 % 1 %

Controllable digital outputs 0 1

Voltage source +5V -5V, +5V -5V, +5V, 0V...+10V

Table 1: Performance requirements

The platform will be analyzed and compared to the requirements to examine how well the resulting product lives up to the requirements. Also, some specific course laboratory work will be performed to verify that acceptable results can be gained.

The microcontroller will be connected to a PC and controlled using serial communication through a USB-cable. To enable this functionality an Appli-cation Program Interface (API) has to be developed between the PC and the microcontroller. The API is then preferably extended with a GUI to improve the user experience.

3.1

Delimitations

The intention of the platform is only to provide enough functionality to serve as a tool for laboratory work in introductory electronics courses. Hence a lot of advanced functionality and the high performance of signal generators and oscilloscopes does not need to be replicated in order for this project to be considered successful.

(20)
(21)

4

Related Work

An STM32 microcontoller (STM32F446RE) was used in a thesis by Overland[12]. In his thesis multiple ADCs were used to simultaneously measure analog sig-nals and the collected values transferred with DMA much like the application in this thesis. Frequencies up to 100 Hz were measured with high precision using a 24-bit ADC from Analog Devices.

In a paper from 2015[13] the authors present an open-source oscilloscope made for hobby users that communicates through the USB port for logging and display. The hardware has a 2 Msps sampling speed and 8-bit resolution. The analog signal is measured with an ADC and 1600 measurements are transmitted to the computer every 300 ms. The values are presented on a PC using an application developed in C# running under windows.

In another paper[14] a portable Oscilloscope and Signal Generator is pre-sented. The equipment is intended for students to use in the university lab or home to perform basic laboratory work. The hardware is capable of producing an 8 V pp output signal with 16-bit resolution on both the DAC and ADC. The instrument can produce output signals between 20 Hz and 24 kHz and has 2 analog scope inputs. The hardware is composed around the PCM2904 chip which is a commercial audio codec chip with a USB interface. Hence, a benefit of this design is that any software created for sound card measurements can be used, e↵ectively enabling the device to work on any modern computer platform.

(22)

5

Design and Implementation

The following sections first describe how the signal was generated, modified and sampled. Then how a PCB was designed in order to place the hardware components together allowing easy distribution. The last sections describe how the collected data are transferred to a PC and presented to the user on the screen.

5.1

Signal Generation

The signal samples were obtained mathematically through Equation 5[18] where 0xFFF (4095) is the maximum output value of the 12-bit DAC and ns is the number of samples.

y[x] = (sin(2⇡⇤ x

ns ) + 1)⇤ (

0xFFF + 1

2 ) (5)

As the discrete samples are transferred from memory to the DAC using DMA, there was no easy way to implement the DDS approach presented in subsec-tion 2.3 where one large array of samples are used and where the step size is adjusted according to frequency. The problem is that the DMA capability of the microcontroller only supports transfer with adjacent memory accesses, so no jumps in the array can be made.

(23)

Figure 6: Alternative approach to DDS

Due to the fact that the microcontroller had very versatile timer settings another approach was chosen. Instead of skipping values, the timer period was adjusted to output values at a correct speed matching the selected fre-quency. The timer update event triggers the DAC and the formula for the update event can be seen in Equation 6[1]. With the High-speed clock set to 80Mhz and 16-bit period and prescaler values ranging from 1 to 65535, the timer can easily be configured to make the DAC output the requested frequencies.

Update event = High speed clock

(Prescaler+1)(Period+1) (6) If there was no limit to how fast the DAC were able to change the output value only one array would be sufficient. Unfortunately, the limit on the DAC is somewhere around 10 Msamples/s[19].

To handle the hardware limitation several arrays of di↵erent sizes were uti-lized where the shorter arrays were used for high frequencies and longer arrays for lower frequencies.

(24)

range, signals of lower frequency will produce the same amount of samples per period, spending more time to do so.

In order to satisfy the time resolution goal of 1M samples/s the array sizes shown in Table 2 where used. With one 12-bit sample held in each entry of the array, the DAC is outputting samples in the range of 2.5 Msamples/s to 5 Msamples/s. Except for the top entry of the table where, for example, at 1 Hz the DAC is only outputting samples at 1600 samples/s.

Due to the fact that the 12-bit sample is able to represent no more than 4096 di↵erent voltage levels, increasing the table size would eventually result in a situation where a lot of adjacent entries contain the same value. The DAC would get triggered but the output would remain the same. Therefore low frequencies are not able to satisfy the time resolution goal, at least not with any benefit to signal resolution. A table size of 1600 was deemed enough for the lowest frequency range.

An illustration of the method used can be seen in Figure 7.

(25)

Range Frequencies(Hz) Table Size (uint16 t) 1 [1, 3.125k) 1600 2 [3.125k, 6.250k) 800 3 [6.250k, 12.5k) 400 4 [12.5k, 25k) 200 5 [25k, 50k) 100 6 [50k, 100k] 50

Table 2: Array sizes

5.2

Auxilliary circuits

In order to conduct electronic experiments, it is important that the surround-ing components are not interfersurround-ing with the components used in the exper-iment. Also, it is of the essence to protect the microcontroller in case large voltages or currents are supplied as input to the microcontroller. Therefore some auxiliary circuits were designed.

5.2.1 Change in signal range

The output of the DAC has a voltage range of 0 to Vref which has been chosen to 3.3V. The ADC on the microcontroller is expecting values in the same range.

When conducting electronic experiments it is preferable to have the signal centered around ground when, for example, investigating the e↵ect of high-pass filters. Therefore the signal generated by the DAC was amplified and shifted to lie in the range between -4V and 4V and this is the signal seen by a user of the system.

The signal then has to be converted back to the original range for the ADC to be able to measure the whole signal range.

(26)

Figure 8: Signal modification

The circuit used to realize the aforementioned amplifications and translations can be seen in Figure 9 and the input and output relation can be seen in Equation 7. The first term of the equation is used to amplify the signal, the second term corresponds to the signal shift. A benefit of using the circuit shown in Figure 9 to modify the signal is that the input signal V1 is fed directly into the OP-amp which has a very high input impedance minimizing any impact on the circuits connected to it.

+ R2 Vout R1 V2 V1

(27)

Vout = R1+ R2 R1 V1

R2

R1V2 (7)

Note that when going from [0, 3.3] to [-4, 4], V2 is a fixed positive voltage and when going in the opposite direction V2 needs to be negative. The positive V2 was produced using a voltage divider connected to a voltage follower. The negative V2 was produced using an inverting amplifier shown in Figure 10 with the corresponding input output relation shown in Equation 8.

It is important that V2 in Equation 7 is stable in order to not a↵ect Vout. Therefore V2 was in both translations generated using 3.3 V considered to be the most stable voltage source.

+

R2

Vout R1

Vin

Figure 10: Inverting amplifier

Vout= R2

R1 ⇤ Vin (8)

5.2.2 Additional voltages

The PCB is supplied with 5 V DC from the USB cable. The design requires both a stable 3.3 V reference voltage to the operational amplifiers as well as a negative supply voltage to enable the output signal to oscillate around ground. Finally, the second stage of the frontend, used to convert the signal back to a range of [0, 3.3 V] needs a negative V2, in Figure 9.

(28)

1 2 3 150 nF 4 470µF + Vout 100µH 8 7 1 ⌦ 6 Vin + 470µF 5 1 k⌦ 3 k⌦ Figure 11: MC34063 design

The circuit was able to generate the required voltage but the output voltage had too much noise interfering with the generated input and output signals. The noise was clearly visible on the generated sine wave and there was also the need to design an additional circuit to generate the 3.3 V signal separately. In order to solve both the problems stated above a new design developed and implemented. The LM27762 was chosen because it was able to produce both the positive and negative voltages from the same chip. Also, the datasheet promised low noise outputs.

The design of the LM27762 chip can be seen in Figure 12. The resistors R1 through R4 can be customized to produce the required voltages according to Equation 9 and Equation 10 with the restriction that R2 and R4 must be no less than 50 k⌦.

Vout+ = 1.2⇤ (R1+ R2)/R2 (9)

(29)

the breadboard directly, so the evaluation had to take place after the PCB was designed and manufactured as the component then could be soldered to the PCB footprint.

The Power good output PGOOD indicates the status of OUT+ and OUT-voltage levels. This feature is not used as the design instead have LED indicators for 3.3V, 5V and -5V for easy visual confirmation. Hence as the PGOOD pin should preferably be shorted to ground if a redesign is made.

VIN RP U CV IN PGOOD C1-C1 C1+ EN+ EN-CP CCP OUT+ R1 COU T + FB+ R2 GND R4 COU T FB-R3 OUT-Figure 12: LM27762 design

5.3

Sampling and Reconstruction

The PCB was designed to output one signal and to be able to sample two independent input channels. The dual input channels provide the possibility to view the signal before and after the signal is fed through, for example, a filter.

(30)

To relieve the processor with the workload of transferring the sampled data from the ADC register to memory, DMA was used. The microcontroller only has two DMA channels with one already occupied by the DAC.

Fortunately, the two 12-bit ADC values were able to fit inside one DMA transfer using a dual-mode setting. A single DMA request is generated each time both ADC has completed the conversion of data. Data from ADC1 available in the lower half-word of the 32-bit register and data from ADC2 available in the upper half-word. Hence the remaining DMA channel was enough to serve both ADCs.

The ADC sample frequency is determined by a trigger timer. The timer is configured in the same way as the timer for the DAC, see Equation 6. The sampling frequency needs to be adjusted according to the signal frequency as discussed in subsection 2.6.

At low frequencies, there is no need to sample at the absolute maximum rate. A 1 Hz signal would then be measured around 5 million times each period. The sampled data would exert heavy loads on the throughput of the communications channel as the user probably wants to be presented with at least one period of the signal. Conversely, the highest frequencies have an upper limit in the possible resolution available.

With the period in Equation 6 set to 16, the ADC is operating at its maxi-mum speed of 5 Msps. At this rate, the ADC is able to sample 100 values in 20 µs. At 100 kHz the signal period is 10 µs witch implies that the highest frequency signal would be sampled 50 times each period.

In order to present the sampled values to the user the values first have to be sent to and processed by the computer. In order not to overload the com-munications channel the values are sent to the computer once every second.

5.4

PCB

(31)

Figure 13: PCB design

The design includes footprints for MCU, USB connector, reset button, two crystals, three operational amplifiers and circuits needed to generate supply voltages.

The design was made with connectors on the back of the circuit board aligned with the power rail columns of a breadboard. This way the PCB does not need any case or rubber pads but can be placed directly on the breadboard. The connectors serve two purposes, to fixate the position of the PCB and additionally to allow the user to connect additional circuits in need of power supply as the connectors are fed with power supply voltages on the PCB. 5 V will be available from one rail and the user may, by the placement of a jumper, choose between 3.3 V or -5 V on the other rail. Ground is also fed through connectors down to the breadboard.

(32)

5.5

Communication interface

The MCU chosen for this project was designed to support a multitude of interfaces enabling communication with computers and auxiliary peripherals such as SPI, I2C, USART and USB.

One common way to program the MCUs is by using an ST-LINK programmer using the SWD interface. The development board that was used in the evaluation phase had an integrated ST-LINK programmer equipped with a USB connector. Communication between the MCU and the computer could be accomplished using the same connector as the MCU and the ST-LINK programmer was connected through USART on the nucleo PCB.

In the custom-developed circuit, the decision was made to connect the USB connector directly to the MCU. Communication was then no longer required to be routed through USART but could be made directly through the USB interface. Also, as the chosen MCU was equipped with a bootloader with the ability to program the MCU directly though USB there was no need for an external ST-LINK programmer.

To enable the bootloader the MCU has to perform a reset with BOOT0 pin connected to VCC. Hardware support for the ability to enter bootloader was accomplished by adding a three-pin connector and a jumper to the PCB. This way the decision to enter the bootloader could be made by changing the position on the jumper and rebooting the device using the reset button.

5.6

Graphical Interface

The graphical interface was implemented using Tkinter in Python3. Tkinter is a standard library that provides bindings to Tk which is a graphical pro-gramming library[11]. The intention was to make the user interface run on as many platforms as possible with minimal setup requirements.

(33)

Figure 14: GUI design

The first section is intended to mimic the behavior of an oscilloscope where time scale and channel select settings are present. It is also possible to prevent the graph from updating in order to fix the input signal when per-forming measurements. The measurements are done by simply clicking with the cursor in the graph display. One click will measure the voltage level and a second click will measure the time di↵erence. The measurement can be adjusted using the scroll wheel and undone by right-clicking anywhere in the graph window.

(34)

MCU can satisfy i.e. frequencies in the range of 1 Hz to 100 kHz.

The third section is designed to simplify the communication setup with the MCU. As the program will run on multiple operating systems the specific serial port will vary depending on which computer it is connected to. This prevents the port to be hardcoded into the software. Therefore the program was designed to scan for available ports and display them in a list. The user can therefore scan and select which device to communicate with by just clicking in the user interface. In order to enable communication with the MCU pySerial[22] was used. This package is not part of the standard library but can easily be installed.

(35)

6

Results and Discussion

The following sections first describe the quality of the generated additional voltages as well as the output signal itself. Then two example experiments are made to confirm that the product can be used as intended. Finally, some unexpected results in the form of interference are presented and discussed.

6.1

Supply Voltages

The supply voltages generated by the LM27762 can be seen in Figure 15. The upper curve representing the 3.3 V supply can be seen in the picture to have a Vpp of roughly 30 mV and was measured to be 3.34 V with a multimeter. The negative supply shown in the bottom curve is less stable with a Vpp of around 70 mV. The measured value of the negative supply was measured to -4.86 V.

(36)

According to Equation 9 and Equation 10 with the actual resistor values used the resulting voltages should be:

Vout+ = 1.2⇤ (100 k⌦ + 56 k⌦)/56 k⌦ = 3.34 V

Vout = 1.22⇤ (180 k⌦ + 56 k⌦)/56 k⌦ = 5.14 V

Hence the LM27762 provided very satisfying results with regard to the 3.3 V voltage supply while the negative voltage supply was not able to live up to the theoretical expectations undershooting with about 0.28 V.

According to the datasheet, the capacitors CV IN, C1 and CCP in Figure 12 can be configured with di↵erent values depending on the application. CV IN and C1 were selected to 4.7 µF and the charge pump capacitor, CCP, was initially configured with the recommended value of 1 µF but was, with that value, only able to output roughly -2.5 V. The other recommended value of 0.47 µF was not available at hand. The choice was made to replace the 1 µF CCP capacitor with a 100 nF capacitor producing the final results which were considered sufficient. The capacitance values may have an e↵ect on both noise and ripple magnitude. Thus, di↵erent capacitance values may, with some experimentation, improve the results.

Figure 16 shows how the design was made so that the PCB can be placed directly on the breadboard with the supply voltages accessible on the bread-board power rails. The jumper in the bottom left of the picture is used to choose between -5 V or 3.3 V on the lower power rail.

(37)

6.2

PCB USB Connection

When all components were soldered to the PCB the supply voltage and the auxiliary voltages could be confirmed to function with indication LEDs and measurements done on the circuit board. For the rest of the components, there was no easy way to verify correct soldering and functionality.

Theoretically, all components, including the MCU should be powered when connecting the USB cable but the device was not recognized by the computer. At first, it was believed to be connections on the PCB not properly soldered or malfunctioning hardware. Upon closer investigation, an error in the design of the PCB was discovered.

In the design stage, a mistake was made with the USB connection. The USB cable has four wires as specified in Table 3. The two communications wires Data- and Data+ were supposed to be connected to pin 44 and 45 on the MCU respectively. Unfortunately, they were connected in the opposite direction.

To correct the mistake on the PCB without a redesign was not an option, at least not without a large risk of destroying the PCB, as the wires are very small, close together and covered with a protective coating. Instead, the decision was made to cut the USB cable and re-solder the internal wires with the data wires crossed. The procedure was successful and the device worked as intended.

Of course, this is not a permanent solution and a redesign is required, but the temporary solution meant that further analysis of the results could be conducted without delay and also allowed additional design improvements to be found as discussed in the following sections.

Pin Function

1 +5V

2 Data+ 3

Data-4 GND

Table 3: USB pin functionality

6.3

Output Signal

(38)

A probable cause for the incorrect output amplitude is believed to be impre-cise resistance values. One problem is that there are only a finite amount of resistance values to choose from limiting fine-tuning, another problem is that the resistance values stated on the component have a tolerance value indi-cating accepted variations in resistance e.g. a 100 ⌦ resistor with a tolerance of ±5% may have an actual resistance of anywhere between 95⌦ and 105⌦. The resistance values are a↵ecting the quotas in Equation 7 and the auxiliary voltage V2. The auxiliary voltage is a↵ected by resistance values due to the fact that resistors are used in both the LM27762 generating 3.3 V and the voltage divider scaling down 3.3 V to the correct V2.

Luckily the amplitude of the output is not only determined by hardware, it is also possible to tune the amplitude in software by adjusting the second factor of Equation 5. Lowering 0xF F F to 0xF 9F produced the output seen in Figure 17.

(39)

Comparing the results to the requirements specified in Table 1 the accuracy is well within limits, both regarding the voltage levels and the frequency.

6.4

Example Experiments

In the following sections, two example experiments are performed in order to verify that the functionality of the developed platform is in line with the expected functionality and usability, that measurements can be conducted and conclusions drawn from the data presented to the user.

6.4.1 Low Pass Filter

In the introduction of this report, an example of a laboratory experiment intended to be possible using the microcontroller was presented. To test if the experiment was possible a filter, like the one seen in Figure 2, was built and evaluated with a resistance value of 1.3 k⌦ and a capacitance of 330 nF. The cuto↵ frequency is calculated in Equation 11 and the phase angle, at the cuto↵ frequency, is calculated in Equation 12. At the cuto↵ frequency the output signal should, by definition, be Vin⇤p12 = 4⇤ p12 ⇡ 2.83V.

1 2⇡RC =

1

2⇡⇤ 1.3 ⇤ 103⇤ 330 ⇤ 10 9 ⇡ 371 Hz (11)

(40)

Figure 18: Low-pass filter measurement 1

Figure 19: Low-pass filter measurement 2

(41)

Figure 20: Low-pass filter bode plot

The developed tool is considered very accurate up until around 10 kHz where something happens to the phase angle as well as the amplitude. This is believed to be due to interference on high frequencies. A more in-depth analysis of this phenomenon is made in subsection 6.5.

6.4.2 Inverting Amplifier

Another experiment was made with an inverting amplifier connected as the schematic seen in Figure 10 with the input-output relation given in Equa-tion 8.

(42)

Figure 21: Inverting amplifier setup

Resistor values were chosen to produce an inverted Vout with half the ampli-tude of Vin with R1=3 k⌦ and R2=1.5 k⌦. The resulting measurement can be viewed in Figure 22.

Figure 22: Inverting amplifier measurement

6.5

High Frequency Interference

(43)

Figure 23: Interference at low frequencies

Figure 24: Interference at high frequencies

Both of the pictures show readings from a configuration where the output channel was connected directly to one of the input channels with the other input channel connected to ground. The di↵erence is that Figure 23 is show-ing a 1 kHz signal while Figure 24 is showshow-ing a 100 kHz signal. Ideally, the grounded channel in each graph should display a flat signal placed in the middle of the screen representing 0 V.

(44)

between wires on the PCB, more specifically, this phenomenon is called cross talk.

By reversing the input connections a reduced e↵ect was noted, indicating that the output channel might a↵ect one of the input channels, at least to a greater extent than the other. By consulting the PCB design a likely culprit was identified as shown by circle nr.1 in Figure 25. The figure shows a detailed view of the upper part of the PCB shown as a whole in Figure 13. Moving the wire from the second input channel downward, thereby separating it from the output connector, might mitigate the interference.

Figure 25: Possible points of interference

The fact that the interference is, in fact, visible in both configurations in-dicates that the input channels might also be interfering with each other. Another possible point of interest was identified, shown by circle nr.2 in Fig-ure 25. The wire drawn from the R7 resistor through the R9 resistor should preferably be routed di↵erently in order to maintain a safe distance from possible sources of interference.

However, probing with an oscilloscope showed that none of the aforemen-tioned possibilities is the likely point of interference. Nonetheless, the sug-gested improvements should be considered in future designs.

(45)

Figure 26: Likely point of interference Pin Function 1 Channel 1: Vout 2 Channel 1: V 3 Channel 1: V+ 4 -5 V 5 Channel 2: V+ 6 Channel 2: V 7 Channel 2: Vout 8 +5 V

Table 4: Operational amplifier IC pinout

Measuring the input pins 3 and 5 showed no interference, ruling out the two previous points of interest shown in Figure 25 as the integrated circuit is closer to the MCU. On the output pins 1 and 7 though, the experienced interference was present. Furthermore, Pin 1 showed a lower disturbance compared to the disturbance on pin 7 when the reversed setup was made with channel 2 grounded.

(46)

di↵erence in interference between the two configurations can be explained by the fact that in one setup the output from pin 1 is a↵ecting the input on pin 6 which is then amplified before reaching pin 7. In the reverse case, the input pin 6 is a↵ecting the output from pin 1 but the signal is by then already amplified.

In a redesign, the signal should be routed on the outside of the amplifier with sufficient clearance from any possible source of interference in order to minimize interference.

6.6

Requirements Comparison

The performance requirements of the systems were specified in Table 1. As can be seen in Table 5 the minimum requirements where satisfied in all aspects.

Results

Connection USB 2.0

API Developed using Python 3

Analog inputs 2

Analog bandwidth 0 Hz...100 kHz Input Voltage -4 V...+4 V Oscilloscope resolution 12 bit

Accuracy 1 % (Without interference) Time resolution > 1 Msamples/s

Data points 1000

Voltmeter Resolution 0,5 % (3 digit)

Analog outputs 1

Analog signals Sine, Square Output voltage -4 V...+4 V Output frequency 1 Hz. . . 100 kHz

3 significant digits 1,00 kHz, 1,01 kHz,. . .

Accuracy 1 %

Controllable digital outputs 1 (Diode) Voltage source -5V, +5V, 3.3V

Table 5: Performance results

(47)

high frequencies. The inaccuracy is caused by interference further discussed in subsection 6.5.

Connecting the output directly to both of the inputs gives the result shown in Figure 27. The figure shows very satisfying results even at the maximum frequency with the two channels overlapping to a very high degree and with a maximum di↵erence in amplitude by 0.04 Vpp. With the period measured to 10.0 µs the frequency is accurately measured as well as f = T1 = 10.0⇤101 6 =

100.0 kHz.

Figure 27: Accuracy of the input measurements

(48)

7

Conclusion

In this section the chosen methodology is evaluated, thereafter possible de-sign improvements that should be considered and insights gained with regard to the sampling frequency are given. Finally, some conclusions about the per-formance and usefulness of the system is presented relating to the questions asked in subsection 1.1.

7.1

Methodology

In section 3 the methodology was discussed. The intention was to simu-late and individually test each part of the hardware separately before actual implementation on the PCB paving the way for a smooth transition.

The first design of the auxiliary voltages resulted in inadequate performance and the second included components not compatible with the breadboard. Components incompatible with the breadboard prevented evaluation before-hand.

When the component was assembled on the PCB the output current, Vout+ from Equation 9, was measured to 3.34 V. But by then the rest of the design was already completed. As the exact value of the output current was un-known during the design stage an estimated value of 3.3 V was used in the calculations.

The signal range transformation shown in Figure 8 is greatly a↵ected by the value of the reference voltage V2in Figure 9 which, in turn, is generated using Vout+. A better knowledge of the actual Vout+ beforehand would probably have resulted in better accuracy of the signal modification.

Also, a lot of e↵ort was made to make the negative output voltage work correctly. Changing individual resistors and capacitors was cumbersome as the components had to be soldered in place. Something that could have been tested easily if the hardware packaging was compatible with the breadboard. Hence, the choice of hardware prevented the intended methodology to be used and resulted in problems that could have been avoided.

7.2

Signal Translation

(49)

elegant solution would have been to fit a variable resistor directly on the PCB. The incorrect assumption was made that it would be easy to fine-tune the signal completely in software but as the current design is using the full output range of the DAC the margin for signal translation is limited.

7.3

Interference Mitigation

The interference problems discussed in subsection 6.5 was unfortunate but can probably be mitigated with some easy design improvements routing the wires away from possible sources of interference. The precautions could also be taken one step further by designing a PCB with more layers, routing the signal wires in di↵erent layers surrounded by ground planes. This would definitely minimize any possible disturbances but also generate higher man-ufacturing costs.

7.4

Sampling Frequency

In subsection 2.6 the sampling frequency is discussed. From theory, it is a well-known fact that the sampling frequency needs to be at least twice the signal frequency in order to prevent loss of information. This requirement, while true, is not enough for the purposes of the current application. In order for the user to be able to visually see and compare signals, without post-processing of the results a much higher sampling frequency is required. The e↵ect of the number of samples can be visualized in Figure 4.

7.5

Availability

The graphical interface was developed with the intention to work on a wide range of operating systems. Tested on Windows 10, macOS Catalina and Ubuntu 20.04 with only minor di↵erences in the visual appearance but equal functionality the intended cross-platform availability is considered a success.

7.6

Assessment of Goals

(50)
(51)

8

Future Work

In this section, some suggestions for future improvements of the system are given. First, the recommended design improvements on the PCB are pre-sented, then a suggestion is made regarding how additional waveforms can be generated. Finally, di↵erent possibilities to interpret and process the data received by the computer are given.

8.1

Design improvements

For this thesis a limited number of PCBs were ordered to build the prototype that was used. If the choice is made to incorporate this device and use it as a teaching tool a new order of PCBs needs to be placed.

It would be advisable to make adjustments before doing so, both by making the adjustments to the USB connections discussed in subsection 6.2 but also to redraw the signal wires in order to mitigate the experienced interference as suggested in subsection 6.5.

8.2

Additional waveforms

Currently, the device is able to generate a sine wave as well as a square wave. A possible extension implemented with relatively small adjustments is to add more signal types, for example, a sawtooth wave or triangular wave. The required changes would be to store more tables in the MCU with the desired pattern, additional GUI controls, and an extension of the API with commands for changing the sample tables.

8.3

Post-processing and display modes

The data sent from the device to the PC is analyzed in order to determine the maximum Vppfor each channel and then presented without any processing in the graph window. Additional processing of the received values is possible. For example, calculating the average of several waveform captures would remove random noise and make the signal smoother. Also the sampling speed can be reduced significantly if the signal is reconstructed using a sin(x)x interpolation, a common technique utilized by oscilloscopes.

(52)
(53)

References

[1] Norris D. Programming with STM32: Getting Started with the Nucleo Board and C/C++. 1st ed. S.l.: McGraw-Hill Education TAB; 2018. [2] Amos B. Hands-On RTOS with Microcontrollers: Building Real-Time

Embedded Systems Using FreeRTOS, STM32 MCUs, and SEGGER De-bug Tools. Birmingham: Packt Publishing, Limited; 2020.

[3] Gay W. Beginning STM32: Developing with FreeRTOS, libopencm3 and GCC. 1st ed. Berkeley, CA: Apress; 2018.

[4] YashasS R, Kulkarni S, Kumara B. Waveform Generation using Direct Digital Synthesis (DDS) Technique; 2019. .

[5] Devices A. Fundamentals of Direct Digital Synthesis (DDS);. (accessed 2020-09-24). Available from: https://www.analog.com/media/en/ training-seminars/tutorials/MT-085.pdf.

[6] Mandal MK, Asif A. Continuous and discrete time signals and systems. Cambridge, UK: Cambridge University Press; 2007.

[7] STMicroelectronics. STM32 32-bit Arm Cortex MCUs;. (accessed 2020-09-24). Available from: https://www.st.com/en/microcontrollers-microprocessors/stm32-32-bit-arm-cortex-mcus.html.

[8] NUCLEO-L476RG - STM32 Nucleo-64 development board with STM32L476RG MCU, supports Arduino and ST morpho connectiv-ity - STMicroelectronics;. (accessed 2020-09-25). Available from: https://www.st.com/en/evaluation-tools/nucleo-l476rg.html. [9] ST-LINK/V2;. (accessed 2020-09-25). Available from: https://

www.st.com/en/development-tools/st-link-v2.html.

[10] LTspice| Design Center | Analog Devices;. (accessed 2020-09-25). Avail-able from: https://www.analog.com/en/design- center/design-tools-and-calculators/ltspice-simulator.html.

[11] Pratt A. Python3 Programming and GUIs. London: Elektor; 2017. [12] Overland A. Konstruktion av ing˚angsmodul f¨or CAN-buss; 2018.

(accessed 2020-09-21). Available from: https://hdl.handle.net/ 20.500.12380/255426.

(54)

[14] Jaanus M, Udal A. USB audio chip based oscilloscope and signal gen-erator for mobile laboratories. In: 2012 International Conference on Signals and Electronic Systems (ICSES); 2012. p. 1–4.

[15] Devices A. ADALM1000 Evaluation Board | Analog Devices;. (accessed 2020-09-24). Available from: https://www.analog.com/en/design- center/evaluation-hardware-and-software/evaluation-boards-kits/adalm1000.html#.

[16] Diligent. Analog Discovery 2: 100MS/s USB Oscilloscope, Logic Ana-lyzer and Variable Power Supply;. (accessed 2020-09-24). Available from: https : / / store.digilentinc.com / analog discovery 2 100msps -usb-oscilloscope-logic-analyzer-and-variable-power-supply/. [17] Velleman. PCSU200 USB PC OSCILLOSCOPE AND SIGNAL GEN-ERATOR;. (accessed 2020-09-25). Available from: https : / / www.velleman.eu/products/view/?id=407512.

[18] STMicroelectronics. Audio and waveform generation using the DAC in STM32 microcontrollers, AN3126, Rev. 3; 2017.

[19] STMicroelectronics. Extending the DAC Performance of STM32 micro-controllers, AN4566, Rev. 3; 2019.

[20] STMicroelectronics. STM32L476xx Datasheet, DS10198, Rev. 8; 2019. [21] About KiCad;. (accessed 2020-09-25). Available from:

https://kicad-pcb.org/about/kicad/.

(55)

A

Schematic

In this appendix, the full design schematic from KiCad is presented. In the schematic, all components, connections and values for resistors and capacitors are displayed.

(56)

1 2 3 4 5 1 2 3 4 5 A B C D Date: 2020-09-23

KiCad E.D.A. kicad (5.1.6-0-10_14)

Rev: v01

Size: A4

Id: 1/1

Title: theUwester File: thesis_schematic.sch Sheet: / Author: Joel Westerlund

+5 -6 7 U4B LM7332 R5 47k R6 33k +3.3V GND D4 LED R23 1k 1 2 J4 D3 LED D1 LED -5V +3.3V +5V GND GND GND D2 LED R7 900k R8 100k R22 1k 1k R20 1k R21 1 2 J5 +5V -5V +3.3V GND R11 10k R12 13k R2 130k R1 51k GND R19 180k R18 56k C11 2.2u GND GND PGOOD 1 C+ 10 OUT+ 11 EN+ 12 PAD 13 FB+ 2 VIN 3 GND 4 CP 5 OUT-6 FB-7 EN-8 C-9 U6 LM27762 C12 2.2u R9 900k R10 100k R17 56k R16 100k R15 10k C8 4.7u C9 4.7u C10 100n 1 2 3 4 5 J2 GND 1 2 J9 1 2 3 J8 C7 100n -5V GND +3.3V 1 2 J6 GND 1 2 3 4 Y2 Crystal_GND23 +5V C6 100n GND +5V +5V GND GND VBAT 1 PC2 10 PC3 11 VSSA 12 VDDA13 PA0 14 PA1 15 PA2 16 PA3 17 VSS 18 VDD19 PC13 2 PA4 20 PA5 21 PA6 22 PA7 23 PC4 24 PC5 25 PB0 26 PB1 27 PB2 28 PB10 29 PC14 3 PB11 30 VSS 31 VDD32 PB12 33 PB13 34 PB14 35 PB15 36 PC6 37 PC7 38 PC8 39 PC15 4 PC9 40 PA8 41 PA9 42 PA10 43 PA11 44 PA12 45 PA13 46 VSS 47 VDDUSB48 PA14 49 PH0 5 PA15 50 PC10 51 PC11 52 PC12 53 PD2 54 PB3 55 PB4 56 PB5 57 PB6 58 PB7 59 PH1 6 BOOT0 60 PB8 61 PB9 62 VSS 63 VDD64 NRST 7 PC0 8 PC1 9 U1 STM32L476RGTx C5 100n GND 1 2 3 4 SW1 SW_Push_Dual GND GND +5 -6 7 U2B LM7332 GND GND C3 6.8p C4 6.8p C1 20p GND GND C2 20p Crystal Y1 1 2 3 J1 GND VBUS 1 D-2 D+ 3 ID 4 GND 5 Shield 6 J3 USB_B_Micro 1 -2 +3 U2A LM7332 R3 27k R4 160k GND V-4 V+ 8 U2C LM7332 V-4 V+ 8 U3C LM7332 +5 -6 7 U3B LM7332 V-4 V+ 8 U4C LM7332 GND 1 -2 +3 U3A LM7332 1 -2 +3 U4A LM7332 R13 10k R14 13k -1.295V -1.295V -1.295V ADC2_IN ADC1_IN ADC2_IN ADC1_IN RESET RESET LSE_OUT LSE_IN HSE_OUT HSE_IN HSE_IN HSE_OUT USB_D- USB_D+ USB_D- USB_D+ LSE_OUT LSE_IN LED LED -5V 3.3V 2.82V Reset Button

Low Speed Crystal

out in1 in2 Voltage generator Indication LEDs USB Connector

High Speed Crystal

References

Related documents

In this section we describe a symbolic operational semantics for broadcast psi-calculi, that is sound (Theorem 7.11) and complete (Theorem 7.12) with respect to the concrete

In this study I use information gathered from interviews with experienced designers and designer texts along with features from methods frequently used for aiding the designers

Assessment proposed by the supervisor of Master ’s thesis: Very good Assessment proposed by the reviewer of Master ’s thesis: Excellent minus.. Course of

To improve the resolution of the system the high precision subpixel resolu- tion image processing techniques can be used to detect the position of the fringe edges with higher

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

The objective of this paper is to facilitate the application of RAMP to systematically manage MSD risks, and thereby contribute to the reduc- tion of MSDs globally. This is done

the one chosen for the proposal above is the one second from the right, with houses organized in smaller clusters.. this is the one judged to best respond to the spatial

Therefore, it would not be only a program which enables the communication between the antenna, spectrum analyzer and turntable but also it is a GUI4 where different parameters