Brushless direct current (BLDC) motors are seeing widespread use in a variety of applications including but not limited to micromobility, such as electric bicycles and robotics for actuation. Unlike their brushed counterparts, BLDC motors require electrical commutation; that is, their internal magnetic field must be caried by an alternating current rather than by a mechanical commutator. To accurately commutate BLDC motors, the position must be obtained with reasonable accuracy.
A popular control scheme for BLDC motors is field-oriented control (FOC) for permanent magnet synchronous motors (PMSMs). FOC aims to deliver sinusoidal currents to the motor to achieve the highest possible efficiency. FOC requires a relatively accurate position estimate to function properly. There are many ways to obtain the position of a BLDC motor with and without sensors. The most common method is by estimating the back-electromotive force (BEMF) of the motor, that is, measuring the voltage generated by the rotation of the magnets.
These methods are robust and well developed; however, they require rotation to provide position information, and do not work at a standstill and perform poorly at low speeds. This is quite problematic for the applications mentioned previously, as devices such as electric bicycles need to be able to provide torque and start from a standstill. The present workaround to this weakness of BEMF is to employ the use of external sensors that can report rotor position regardless of speed. Some sensor types include quadrature encoders and hall effect sensors. Unfortunately, sensors come with their own set of disadvantages and complications. They incur additional costs (e.g., from the sensors themselves, assembly costs, and additional wire harnesses) and are an added point of failure.
Saliency tracking for brushless direct current (BLDC) motors and other permanent magnet synchronous motors (PMSMs) is provided. Embodiments generate an accurate estimate of rotor position for use in field-oriented control (FOC) of BLDC motors. In addition, a robust saliency tracking algorithm provides for the use of BLDC motors in low-speed high-torque applications without the need of external sensors. This enables sensorless application of higher level algorithms as well, such as servo control.
Currently, fields such as micromobility and robotics use either expensive or cheap but unreliable sensors to address the issue of low-speed startup and braking. Embodiments described herein allow for the elimination of these sensors and thus save cost and improve system performance. In addition, accurate measurement of motor phase inductance and flux linkage can be provided without any additional equipment.
An exemplary embodiment provides a method for estimating rotor position of a PMSM. The method includes injecting a pulsating voltage into the PMSM; measuring a current responsive to the pulsating voltage; and estimating the rotor position of the PMSM from the measured current.
Another exemplary embodiment provides a rotor position estimator for a PMSM. The rotor position estimator includes a pulsating voltage generator configured to inject a pulsating voltage into the PMSM; an envelope detector configured to measure a current responsive to the injected pulsating voltage; and a phase-locked loop (PLL) configured to estimate a rotor position of the PMSM from an output of the envelope detector.
Another exemplary embodiment provides an electric motor control system. The electric motor control system includes an inverter configured to apply a torque-producing current to operate an electric motor; a current detector configured to measure current through the electric motor; and a processor coupled to the inverter and the current detector, wherein the processor is configured to implement a saliency tracking observer. The saliency tracking observer causes the inverter to inject a pulsating voltage into the electric motor; receives a current responsive to the pulsating voltage from the current detector; and estimates a rotor position of the electric motor from the measured current.
Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.
A more complete understanding of the present technology may be derived by referring to the detailed description and claims when considered in connection with the following illustrative figures. In the following figures, like reference numbers refer to similar elements and steps throughout the figures.
Elements and steps in the figures are illustrated for simplicity and clarity and have not necessarily been rendered according to any particular sequence. For example, steps that may be performed concurrently or in a different order are illustrated in the figures to help to improve understanding of embodiments of the present technology.
The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of the present disclosure. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element such as a layer, region, or substrate is referred to as being “on” or extending “onto” another element, it can be directly on or extend directly onto the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly on” or extending “directly onto” another element, there are no intervening elements present. Likewise, it will be understood that when an element such as a layer, region, or substrate is referred to as being “over” or extending “over” another element, it can be directly over or extend directly over the other element or intervening elements may also be present. In contrast, when an element is referred to as being “directly over” or extending “directly over” another element, there are no intervening elements present. It will also be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present.
Relative terms such as “below” or “above” or “upper” or “lower” or “horizontal” or “vertical” may be used herein to describe a relationship of one element, layer, or region to another element, layer, or region as illustrated in the Figures. It will be understood that these terms and those discussed above are intended to encompass different orientations of the device in addition to the orientation depicted in the Figures.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. As used herein, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and/or “including” when used herein specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Saliency tracking for brushless direct current (BLDC) motors and other permanent magnet synchronous motors (PMSMs) is provided. Embodiments generate an accurate estimate of rotor position for use in field-oriented control (FOC) of BLDC motors. In addition, a robust saliency tracking algorithm provides for the use of BLDC motors in low-speed high-torque applications without the need of external sensors. This enables sensorless application of higher level algorithms as well, such as servo control.
Currently, fields such as micromobility and robotics use either expensive or cheap but unreliable sensors to address the issue of low-speed startup and braking. Embodiments described herein allow for the elimination of these sensors and thus save cost and improve system performance. In addition, accurate measurement of motor phase inductance and flux linkage can be provided without any additional equipment.
Saliency tracking is a method for estimating a motor’s stator inductance between each phase of the motor to obtain position information. This inductance information is used to obtain rotor position and speed. Saliency tracking works by exploiting motor saliency. Motor saliency is the phenomenon that each motor winding has a different inductance, and this inductance varies as the motor rotates. This inductance information can be exploited to estimate speed and position.
The most common form of saliency tracking is high frequency pulsating voltage injection. When BLDC motors and PMSMs are modeled as synchronous machines (direct and quadrature axis), saliency causes the direct axis inductance to be lower than the quadrature axis inductance. The controller estimates the location of these axes. By injecting a pulsating voltage in the estimated direct axis, the differential inductance of the real axes causes an error current to arise in the estimated quadrature axis. The controller can correct this error to zero and track rotor position. Since saliency is a physical property of the motor and does not depend on operating characteristics, saliency tracking can provide rotor position at standstill and low speeds. One side effect of the pulsating voltages and currents is the generation of acoustic noise at the injection frequency.
Saliency tracking is a well-developed method for very large industrial PMSM drives and automotive scale electric vehicles; however, existing methods are not robust enough to be practical in most BLDC motors. Limitations include the low inductance of many BLDC motors used in micromobility and robotics applications and that the saliency signal is rather weak. The reason for this is large PMSMs used in industrial and automotive applications are specifically constructed to maximize saliency.
Saliency arises from two effects: reluctance of the rotor and saturation of the stator. PMSMs used for industrial and automotive applications have their permanent magnets buried in the rotor and surrounded by electrical steel. This creates a reluctance effect in which the rotor inductance couples into the stator, creating saliency. Saturation saliency arises from saturation of the stator from the permanent magnet flux coupling into the stator. Reluctance saliency is very robust and easy to detect. Saturation saliency is often weak and difficult to detect. As BLDC motors are built to minimize size, they do not incorporate rotor iron, and have relatively weak and nonconstant saturation saliency, thus presenting the challenge of implementing saliency tracking for such motors. Existing algorithms are not stable with BLDC motors and have other issues, such as unacceptable amounts of acoustic noise, poor tracking, and inverted polarity.
Embodiments described herein address these limitations by providing a practical method of saliency tracking for BLDC motors of nearly all sizes, and by extension, PMSMs of any size. This disclosure addresses the following issues:
The improved saliency tracking approach described herein offers the following advantages compared to other saliency tracking algorithms:
An exemplary embodiment includes the following components:
The improved saliency tracking algorithm of embodiments described herein is a sensorless position estimation algorithm for use with BLDC motors and PMSMs at standstill and low speed. This saliency tracking algorithm can be integrated with FOC. It is meant to be implemented as a firmware or software module in an embedded system that controls the speed and/or position of a BLDC motor or PMSM. Embodiments provide an accurate estimate of the rotor position of a motor so that a FOC algorithm can effectively control the speed and/or position of a BLDC motor.
The improved saliency tracking algorithm can be used in place of (i.e., eliminate) external sensors or can be used as a backup method in case of sensor failure. This approach works by injecting a pulsating voltage into the motor and measuring the resulting currents from the motor. Using the measured currents and digital signal processing, the algorithm then obtains an accurate position estimate of the rotor position. Embodiments use hardware with ability to measure motor phase currents reliably. When combined with an appropriate state machine, embodiments are also able to accurately measure motor phase inductance and flux linkage.
The saliency tracking observer injects a pulsating voltage into the direct axis of the estimated synchronous frame in FOC and derives a position and speed estimation of the motor by exploiting the differential quadrature and direct axes inductances. These components are described in more detail in Sections II.B.1-II.B.4 below.
With reference to
The resulting Q axis value is divided by the resulting D axis value. This value is fed into a PI type Phase Locked Loop (PLL). The PLL provides the position and speed estimate of the rotor. The D axis value is also fed through a bandpass filter (with a center frequency at twice the injection frequency) and modulated by twice the injection frequency. This value is then low-pass filtered to reject the injection frequency and all harmonics. The sign of this value determines whether to insert a 180° correction factor into the position estimate. For example, insert if positive, do not insert if negative.
After a brief period of time (e.g., 5x longest filter settling time), the state machine increases the injection frequency to be half the PWM frequency. Torque producing current is enabled, and the correction factor is frozen. Inductance can be calculated by dividing the injection voltage by the processed D axis current value and computing reactance. To obtain more accurate measurements, it may be beneficial to low pass filter the measured values and also use a number of different injection voltages to obtain a differential measurement.
Flux linkage can be calculated by dividing Q axis voltage by the speed estimate. In an exemplary aspect, this refers to the Q axis voltage from the PI current controller of the FOC system as depicted in
The voltage generator is defined as follows: Let Uh(t) be the injection voltage waveform
where Uhm is the magnitude of the injection voltage, f is the control loop frequency, N is the frequency divider, and t is time in seconds.
Note that the injection voltage has frequency equal to
and angular frequency
.
The frequency divider can be supplied by a state machine or other source and can be varied dynamically. N is only limited by the maximum allowable magnitude of the current response that can be determined by the equations below. The state machine that determines N is depicted in
The injection voltage Uhm is determined by the following procedure. Uhm can be calculated by the equation:
where IResponse is the desired magnitude of the injected current response. This can be determined by determining the required current to achieve a desired signal-to-noise ratio (SNR) with a given data acquisition stage. ƒ is the frequency of the injection voltage, as determined by N, Ld is the direct axis inductance. If direct axis inductance is unknown, any arbitrary voltage can be used instead so long as it overcomes any inverter nonlinearity and does not result in an overcurrent condition on the inverter. This can be done by selecting a minimum value of inductance to accommodate and selecting IResponse based off this minimum inductance value. Vdistortion is the voltage distortion incurred from inverter nonlinearities such as dead-time distortion. Dead-time distortion comprises the bulk of inverter nonlinearity for this context, and can be calculated by taking a fraction of dead-time to PWM period and multiplying by the bus voltage
Note that with sufficiently high frequency control loops, N can be chosen such that the injection frequency is beyond the audible range of human hearing, nominally stated to be 15 kilohertz (kHz).
An envelope detector may be constructed in the following way: The envelope detector is implemented as a zero-order hold that samples every N/2 cycles and lags behind the voltage injection generator by N/4 cycles (taking floor if N/4 is not an integer). This is because the injection current response can be modelled by the following equation:
where K is injection voltage divided by the line-to-neutral direct axis impedance of the three-phase motor.
An exemplary envelope detector may be implemented by the following pseudo-code:
The code executes every iteration of the control loop.
An exemplary low-pass filter may comprise a two-pole infinite impulse response filter tuned for a cut-off frequency of 25/170 times the Nyquist frequency. This filter has a settling time of about 10 time-steps. The coefficients are as follows:
The filter achieves unity gain by first accumulating the result of the finite stage of the filter and dividing that result by the gain before accumulating the recursive stage.
Other coefficients or different filter order can be used to achieve a different frequency response as required by the application. For example, a lower cutoff frequency can be selected at the expense of settling time.
The error to be corrected for in a PLL is computed as follows.
where
These follow from the park transformation of the currents resulting from a voltage injection occurring in the vector direction d̂. ΔΘ =/= 0 results in a qerr term as shown which experiences a different impedance, namely Lq instead of Ld, to the component in the vector direction d. This results in a rotation in the resulting current vector, Iinj, relative to the injected voltage vector, producing the equations described above. îdh is the component of Iinj in the vector direction d̂, while îqh is the component of Iinj in the vector direction q̂.
Following the previously discussed envelope detector and low-pass filter results in:
assuming ΔΘ ≈ 0 but nonzero when x ≈ 0, sin(x) ≈ x, cos(x) ≈ 1.
Dividing the quadrature axis result by the direct axis results yields
where
is the reciprocal of the saliency ratio. The saliency ratio, if known, can be compensated for at this stage; otherwise, the ratio can be accommodated by the transient characteristics of the PLL. Thus, the error term can be formulated from Equation 10 as Error =
When ΔΘ » 0, the error term becomes less well defined. It is necessary to limit the error term within reasonable bounds. This can be accomplished by taking the arctangent of the error value as arctangent asymptotically approaches positive or negative π/2 for large x. Since arctan x ≈ x when x ≈ 0, this can be done for all error computations. Thus, an alternate formulation for the error term from Equation 10 can be
where arctan2 is a four-quadrant arctangent.
The PLL is constructed as a PI-type PLL, where the error signal is multiplied by a proportional gain to obtain position, and the error signal is integrated and multiplied by an integral gain to obtain speed. The estimated speed is also used in the position estimation.
From the transfer function of such PI-type PLLs, Kp = 2ω and Ki = ω2, where ω is the bandwidth of the PLL (i.e., settling time and frequency response). If saliency ratio is not compensated for, then it becomes incorporated into the coefficients of the PLL as such
and
As a result, a selected range of saliency ratios can be identified such that Kp and Ki result in an overdamped system with bandwidth above a desired threshold. While the dynamic response will be degraded compared to a critically damped system, the result is that PLL will always be stable so long as the motor saliency remains above a threshold as determined by the chosen Kp and Ki. In an example implementation, Kp was chosen as 16,000 and Ki chosen as 2,000,000. This resulted in a system that remains sufficiently damped, and thus stable, down to a saliency ratio of 10%.
Rotor position and speed can be directly estimated by the outputs of this PLL. In order to allow for dynamic frequency scaling, the PLL is only updated when the peaks of the signal are detected.
Below is pseudo code that demonstrate an exemplary implementation of such error correction and PLL. envelope() is a function that returns the value of the signal at the peak, and zero elsewhere. low_pass_filt() is a function that runs an infinite impulse response low pass filter of the signal.
One issue with the formation of the error term is that the PLL has stable points at ΔΘ = 0° and ΔΘ = 180°. As such, there is a need to identify magnet polarity.
As can be seen from the graph, as the flux linkage increases due to stator current, the direct axis inductance decreases significantly while the quadrature axis inductance varies only slightly. Since a pulsating voltage causes a positive and negative direct axis current, this results in harmonics in the resulting direct axis current waveform.
The difference between the two is the relative phase of the second harmonic with the fundamental.
The second harmonic can be isolated by an infinite impulse response bandpass filter whose center frequency is 2 * (2 * π * ωh), where 2 * π * ωh is the injection frequency. Since the Nyquist is ƒ/2 where f is the control loop frequency, a lower frequency must be used to resolve the magnet polarity. Frequency divider of N = 16 or larger is recommended.
The corner frequencies of the bandpass filter need not be precise but must sufficiently isolate the harmonic signal in question. Exact coefficients will depend on the end application as aggressive corner frequencies will result in excessive round-off error.
This bandpass filtered signal is then modulated with
and subsequently low pass filtered. The low pass filter should be an infinite impulse response with coefficients chosen with a very low cut-off frequency, near DC, but sufficiently high enough to prevent excessive round-off error. Exact coefficients will depend on application.
In
hile in
Thus, ƒ(t) * p1(t) will always be positive while ƒ(t)* p2(t) will always be negative. Subsequent low pass filtering of these values will result in a value that is always positive or always negative.
Call the result of the signal p(t) and if ΔΘ = 0, then p(t) < 0, and when ΔΘ = 180°, then p(t) > 0. The polarity resolution only needs to be done once. Once the polarity has been identified, a compensation factor can be inserted into the position estimate and the frequency divider can be reduced. This is represented by Θcomp in
The purpose of the observer decoupling block is to decouple the saliency tracking observer from the rest of the FOC algorithm. Saliency tracking requires that the voltage be injected in the estimated direct axis for the saliency tracking observer. This presents a problem when other observers, such as a BEMF based observer, estimate a different rotor angle. The observer decoupling block decides which position estimate to use for the PI current controllers and, if necessary, rotates the injection voltage so that the voltage is injected in the estimated direct axis of the saliency tracking observer even if the saliency tracking observer’s estimate is not used.
The observer decoupler selects the position estimate to use and distributes that position to the rest of the FOC algorithm as shown in
The position multiplexor selects the position estimate to use based on the output of the state machine shown in
The speed estimate from the currently selected position observer is used for state transition decisions. If the speed falls below a certain threshold, the saliency tracking observer is activated, and its position estimate is used. If the speed exceeds a certain threshold, the saliency tracking observer is disabled and the BEMF observer’s estimate is used. When switching between position estimates, an intermediary period is inserted where a weighted average of both estimates is used. The weight of each estimate depends on time elapsed, with the weight of newly selected estimate increasing with time.
When the saliency tracking observer is activated, but the selected position estimate is not equal to the saliency tracking observer’s position estimate, the voltage mixer computes the necessary synchronous voltages so that the requested voltage is injected at the correct angle.
As seen in
The purpose of the saliency amplification block is to amplify the saliency signal to enhance stability. The saliency amplification block includes a direct axis current injector. The direct axis current injector simply requests additional direct axis current, which is typical in applications that require flux linkage modulation. Flux linkage modulation is only possible on motors with significant rotor inductance, so on BLDC motors, this effect is minimal as they usually do not feature significant amounts of rotor iron. In typical PMSM applications, the requested direct axis current is 0. With the saliency amplification block, the direct axis current is positive. Even on PMSM with reluctance saliency, the increase in flux linkage is beneficial, so long as the BEMF observer can accommodate variable flux linkage.
The motivation for this additional current injection is that as quadrature axis current approaches Iq_max, saturation saliency begins to disappear as the quadrature axis is now saturating to a similar degree as the direct axis. By injecting this additional current, the direct axis inductance now decreases as quadrature axis inductance decreases, preserving saliency. Care must be taken such that Iq_max does not exceed Iƒ + Id_inj_max while in saliency tracking operation.
This block is not compatible with other reluctance-based torque producing algorithms such as field weakening and maximum torque per ampere (MTPA), and such algorithms must be disabled while in saliency tracking operation.
The process continues at operation 904, with estimating the rotor position of the PMSM from the measured current. The process may optionally continue at operation 906, with measuring speed of the PMSM from the measured current. The process may optionally continue at operation 908, with measuring motor phase inductance from the measured current. The process may optionally continue at operation 910, with measuring motor phase flux linkage from the measured current.
Although the operations of
The exemplary computer system 1000 in this embodiment includes a processing device 1002 or processor, a system memory 1004, and a system bus 1006. The system memory 1004 may include non-volatile memory 1008 and volatile memory 1010. The non-volatile memory 1008 may include read-only memory (ROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), and the like. The volatile memory 1010 generally includes random-access memory (RAM) (e.g., dynamic random-access memory (DRAM), such as synchronous DRAM (SDRAM)). A basic input/output system (BIOS) 1012 may be stored in the non-volatile memory 1008 and can include the basic routines that help to transfer information between elements within the computer system 1000.
A general purpose three-phase inverter and its associated interface are thus connected to the system bus 1006. The three-phase inverter provides various hardware that facilitates various devices including, but not limited to, the measuring of currents and voltages flowing through the motor, and the application of Pulse Width Modulation (PWM) of the three-phase voltages. The inverter can communicate to the processing device 1002 through the system bus, and can transmit and receive signals including, but not limited to, PWM signals, current measurements, and voltage measurements.. This inverter facilitates the application of the embodiments herein for BLDC and PMSM motors.
The system bus 1006 provides an interface for system components including, but not limited to, the system memory 1004 and the processing device 1002. The system bus 1006 may be any of several types of bus structures that may further interconnect to a memory bus (with or without a memory controller), a peripheral bus, and/or a local bus using any of a variety of commercially available bus architectures.
The processing device 1002 represents one or more commercially available or proprietary general-purpose processing devices, such as a microprocessor, central processing unit (CPU), or the like. More particularly, the processing device 1002 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a processor implementing other instruction sets, or other processors implementing a combination of instruction sets. The processing device 1002 is configured to execute processing logic instructions for performing the operations and steps discussed herein.
In this regard, the various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with the processing device 1002, which may be a microprocessor, field programmable gate array (FPGA), a digital signal processor (DSP), an application-specific integrated circuit (ASIC), or other programmable logic device, a discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. Furthermore, the processing device 1002 may be a microprocessor, or may be any conventional processor, controller, microcontroller, or state machine. The processing device 1002 may also be implemented as a combination of computing devices (e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration).
The computer system 1000 may further include or be coupled to a non-transitory computer-readable storage medium, such as a storage device 1014, which may represent an internal or external hard disk drive (HDD), flash memory, or the like. The storage device 1014 and other drives associated with computer-readable media and computer-usable media may provide non-volatile storage of data, data structures, computer-executable instructions, and the like. Although the description of computer-readable media above refers to an HDD, it should be appreciated that other types of media that are readable by a computer, such as optical disks, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the operating environment, and, further, that any such media may contain computer-executable instructions for performing novel methods of the disclosed embodiments.
An operating system 1016 and any number of program modules 1018 or other applications can be stored in the volatile memory 1010, wherein the program modules 1018 represent a wide array of computer-executable instructions corresponding to programs, applications, functions, and the like that may implement the functionality described herein in whole or in part, such as through instructions 1020 on the processing device 1002. The program modules 1018 may also reside on the storage mechanism provided by the storage device 1014. As such, all or a portion of the functionality described herein may be implemented as a computer program product stored on a transitory or non-transitory computer-usable or computer-readable storage medium, such as the storage device 1014, volatile memory 1010, non-volatile memory 1008, instructions 1020, and the like. The computer program product includes complex programming instructions, such as complex computer-readable program code, to cause the processing device 1002 to carry out the steps necessary to implement the functions described herein.
An operator, such as the user, may also be able to enter one or more configuration commands to the computer system 1000 through a keyboard, a pointing device such as a mouse, or a touch-sensitive surface, such as the display device, via an input device interface 1022 or remotely through a web interface, terminal program, or the like via a communication interface 1024. The communication interface 1024 may be wired or wireless and facilitate communications with any number of devices via a communications network in a direct or indirect fashion. An output device, such as a display device, can be coupled to the system bus 1006 and driven by a video port 1026. Additional inputs and outputs to the computer system 1000 may be provided through the system bus 1006 as appropriate to implement embodiments described herein.
The operational steps described in any of the exemplary embodiments herein are described to provide examples and discussion. The operations described may be performed in numerous different sequences other than the illustrated sequences. Furthermore, operations described in a single operational step may actually be performed in a number of different steps. Additionally, one or more operational steps discussed in the exemplary embodiments may be combined.
Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow.
This application claims the benefit of U.S. Provisional Pat. Application No. 63/245,545, filed Sep. 17, 2021, and incorporates the disclosure of the application by reference.
Number | Date | Country | |
---|---|---|---|
63245545 | Sep 2021 | US |