Field of the invention
[0001] The subject of the invention is a method of controlling a motor of an electric projectile
propulsion device, in particular an Air Soft Gun (ASG), a controller for an electric
projectile propulsion device, an electric projectile propulsion device and a computer
program product.
State of the art
[0002] From the document
WO2019173070A1, a trigger mechanism is known that allows the user to selectively adjust the pull
force vs. displacement profile of the trigger by changing the static magnetic field
in the mechanism of the projectile propulsion device - a firearm. In a magnetic closed
loop configuration, the trigger mechanism comprises a fixed yoke and a pivotally movable
trigger part. The trigger part includes a trigger portion and an operating portion
operatively connected to a firing mechanism of the firearm in order to fire the firearm.
Triggering occurs as a result of the activation of the switch or detection of the
proximity of the trigger by a magnetic sensor.
[0003] From the document
WO2009006172A2, an electric projectile propulsion device is known, which is a toy AEG or ASG (Air
Soft Electric Gun), equipped with a battery-driven motor, switched on and off with
a single trigger switch. The document discloses a motor controller and a method for
controlling the motor using a microcontroller and an electronic trigger switch. The
motor controller is provided with a variety of fault protection measures, including
a MOSFET transistor-based switch, overcurrent protection measures, high and low voltage
protection measures, high and low temperature protection measures, and a MOSFET-based
half-bridge to provide control and braking. In addition, the possibility of providing
the controller with a number of sensors for monitoring the state of the device, including
its temperature, failure, position, etc., has been disclosed.
[0004] The use of electronic trigger switches in ASG toys has many advantages. These include:
increased reliability, decreased power loss, controllability by a microcontroller,
easy shot counting as well as design flexibility to provide numerous additional features
with a microcontroller.
Technical problem
[0005] There are also some issues with the use of electronic trigger switches. One of them
is the adjustment and setting of the trigger sensitivity - practically impossible
with the use of microswitches. More advanced sensors, e.g. magnetic ones, are more
suitable in this respect, but they are also susceptible to interference. Interference
may result in no shot being fired with the trigger pulled, firing with no trigger
pulled, unintentional interruption of continuous fire, or changes in trigger sensitivity.
This is very unfavorable, especially during competition when a failure of the switch
prevents the competitor from continuing to compete. An unintentional change in trigger
sensitivity is also very unfavorable, as it results in a lack of full control and
lack of precision.
Summary of the invention
[0006] A method of controlling a motor of an electric projectile propulsion device performed
by a controller comprising a microcontroller and a trigger sensor connected thereto,
adapted to start the motor in response to a displacement of a trigger, according to
the invention is distinguishable by that it comprises a magnetic element coupled to
the trigger, and the trigger sensor is a magnetic field sensor having at least two
non-parallel measurement axes configured to sense the position of the magnetic element
along the at least two axes. The position of the trigger is determined on the basis
of a measurement carried out along these at least two axes and a comparison of the
readout with reference data stored in memory of the microcontroller. The memory contains
vectors of reference values for at least two axes, unique for the admissible trigger
positions. A shot is fired when a predefined condition is met. Such a configuration
reduces the risk of accidental firing in case of interference or impact. The second
and possibly subsequent measurement axes ensure the uniqueness of the measurement
readout. At the same time, the lack of mechanical contact with the sensor makes the
device insensitive to mechanical wear of the trigger sensor. At the same time, precision
and speed of operation as well as insensitivity to interference from radio signal
sources located in the immediate vicinity or even on the same printed circuit board
are ensured.
[0007] Advantageously, the magnetic field sensor is a triaxial Hall sensor and the position
of the magnetic element is determined on the basis of a measurement carried out along
three axes and a comparison with reference data containing vectors of reference values
for three axes. The risk of an occurrence of a given combination of three values in
the measurement is lower than in the case of two values, thus reducing the risk of
accidental firing.
[0008] Advantageously, initially, a calibration is performed to obtain reference data, the
calibration consisting in creating a map of vectors of reference measurement values
for individual axes for the whole useful trigger position range. During the calibration,
the steps of measuring the magnetic field along at least two axes for the two extreme
positions of the trigger are first performed, and then the step of sampling of the
readouts of the magnetic field sensor with slowly moving trigger is performed. Such
calibration allows the reference data to be adapted to the characteristics of a given
projectile propulsion device. In addition, it has surprisingly been found that such
a procedure performed by the shooter results in a higher density of measurement data
in the phase of the trigger movement in which the shooter wishes to set a threshold
value, the exceeding of which triggers the shot. While factory-set reference data
works great, adjusting it to requirements of a given shooter can result in increased
performance and increased density of the reference vectors at individual, crucial
phases of trigger movement.
[0009] Advantageously, the predefined condition is to obtain readouts from at least two
axes of the magnetic field sensor corresponding, within predetermined tolerance, to
the vector of measurement values along those axes that is contained in the reference
data and corresponds to the trigger pull beyond the predefined value.
[0010] Advantageously, the predefined condition is to obtain a sequence of readouts from
at least two axes of the magnetic field sensor corresponding, within predetermined
tolerance, to the vectors of measurement values along those axes that are contained
in the reference data and correspond to the trigger pull positions, at least one of
which exceeds a predefined value, the magnetic field sensor being sampled at a rate
of 2.5 kHz or higher. This condition additionally reduces the risk of accidental firing,
and the high sampling rate ensures that the user will not experience any delay.
[0011] A controller of a motor of an electric projectile propulsion device comprising a
microcontroller provided with memory and a trigger position sensor connected to the
microcontroller, according to the invention is distinguished by that the trigger position
sensor is a multi-axial magnetic sensor having at least two non-parallel axes, and
the microcontroller is adapted to perform the method according to the invention.
[0012] Advantageously, the controller comprises a user interface connected to the microcontroller.
[0013] Advantageously, the user interface is a communication module connected to the microcontroller.
[0014] Advantageously, the communication module is a transceiver operating in the Bluetooth
Low Energy standard.
[0015] Advantageously, the magnetic field sensor is connected to the microcontroller via
a digital bus adapted to transfer the samples with frequency of 2.5 kHz or higher.
[0016] Advantageously, the magnetic field sensor is connected to the microcontroller via
a dedicated analog-to-digital converter built into the sensor. Such a solution allows
one to use sampling rates higher than those available with standard built-in sensor
converters, and consequently to use more complex signal processing techniques including
filtering and smoothing.
[0017] An electric projectile propulsion device provided with a motor, a trigger for starting
the motor and a controller for the motor comprising a magnetic field sensor adapted
to start the motor when a predefined trigger displacement condition is met, according
to the invention is distinguished by that the controller for the motor is a controller
according to the invention and the device further comprises a magnetic element coupled
to the trigger.
[0018] Advantageously, the controller is made on a printed circuit board arranged substantially
in parallel to a plane of the trigger movement. This allows the magnetic element and
the sensor to be configured so that the trajectories produce unique value vectors
over the entire range of positions.
[0019] Advantageously, the trigger is rotatably mounted on an axle, whereas the magnetic
element and the magnetic field sensor are arranged so that the trajectory of the magnetic
element during pulling the trigger includes, in its initial phase, a segment running
along an arc centered at the magnetic field sensor. Such a configuration makes it
possible to make the position measurement independent of the field measurement readouts
along individual axes, or to correlate it with the direction determined on the basis
of the ratio of readouts along at least one pair of axes. This ensures insensitivity
to temperature drift. The arc section should preferably cover the range from the first
10% to the first 20% of the trajectory of the magnetic element, where the highest
measurement accuracy is required.
[0020] A computer program product according to the invention comprises instructions for
the microcontroller of the motor controller of the projectile propulsion device, which,
when executed by the microcontroller of the motor controller, cause the method according
to the invention to be performed.
Brief description of the drawings
[0021] The subject of the invention is explained in the embodiments shown in the drawings,
in which
Fig. 1a shows the housing of the projectile propulsion device with the motor controller
and the trigger in the first extreme position - the trigger is released,
Fig. 1b shows the same housing with the trigger in the second extreme position - the
trigger is fully pulled,
Fig. 2a shows a general block diagram of the controller as well as the motor and the
power source,
Fig. 2b shows the waveforms corresponding to readouts from the x, y, z axes of the
trigger sensor as a function of the position of the magnetic element,
Fig. 3 shows the flow chart of an exemplary calibration,
Fig. 4 shows the flow chart of actions performed during the calibration with the trigger
released,
Fig. 5 shows the flow chart of actions performed during the calibration with the trigger
pulled,
Fig. 6 shows the flow chart of actions performed during the calibration with the trigger
in motion,
Fig. 7 shows the results of exemplary trigger sensor readouts during the calibration.
Description of embodiments of the invention
[0022] The electric device according to the invention is equipped with a motor for tensioning
a spring (not shown in the drawings) responsible for ejecting the projectile. In the
case of single fire, in the first phase of the shot the spring is coupled to the motor
and is tensioned by a set of gears driven by the spinning motor (not shown in the
drawings), while in the second phase the motor is decoupled and the released spring
ejects the projectile. In the case of continuous fire, coupling, spring tensioning
and decoupling repeat automatically, causing a series of shots until the trigger is
released or the projectiles are run out.
[0023] The shot is triggered by the trigger, as with conventional handguns or rifles. In
the present invention, the trigger is coupled to a motor controller that senses the
position of the trigger and turns on the motor. A fragment of the projectile propulsion
device according to the invention is shown in Fig. 1a and Fig. 1b. Fig. 1a shows a
fragment of the device in which the trigger
130 is in the released position, and Fig. 1b shows a fragment of the device in which
the trigger
130 is pulled. The trigger rotates around an axle
131. The controller
120 is integrated on a printed circuit board with a trigger position sensor
121, the board additionally containing a Bluetooth Low Energy communication transceiver.
In alternative embodiments, other radio modules may be used, in particular using other
communication standards such as WiFi, LoRa, Wmbus, or UWB.
[0024] The motor is supplied with direct current via connecting cables
141, 142. Due to the fact that the trigger position sensor is insensitive to interference caused
by wireless transmission of the radio module, the controller can be made on a single
printed circuit board. A magnetic element
132 is mounted on the trigger
130, and the trigger position sensor
121 is a magnetic field sensor detecting the field along at least two non-parallel axes.
In the present embodiment, a triaxial Hall sensor TLV493 from Infineon, detecting
the magnetic field along the x, y, z axes was used. The trigger movement causes rotation
of the magnetic element
132 around the axle
131, and in consequence a change in the magnetic field sensed by the sensor along at least
two non-parallel axes. Based on the measured values of the magnetic field, the position
of the magnetic element
132 is determined. When the trigger is being pulled, the readout of the trigger position
sensor
121 along a given axis follows a repeatable curve resulting from a trajectory of the
magnetic element
132. In consequence, it is possible to adapt the controller by configuring the microcontroller
210 so that a shot was fired at a convenient time instance selected by the user. In the
case of users using the projectile propulsion device for sports purposes, indicated
trigger position is usually close to the initial position of the trigger because the
"sensitive" trigger improves the chances during ASG competitions.
[0025] A simplified block diagram of a control system for the projectile propulsion device
according to an embodiment of the present invention is shown in Fig. 2. Power is supplied
to the motor
200 from a power source
290 via a transistor key
291 controlled by a microcontroller
210. The controller
120 includes the microcontroller
210 controlling the transistor key
291 and receiving readouts from the triaxial Hall sensor acting as the trigger position
sensor
121. It should be noted that a sensor having two non-parallel axes is sufficient to implement
the invention.
[0026] The TLV493 sensor has a built-in analog-to-digital converter that transmits data
using redundancy correction codes via an I2C bus using correction codes. This is a
good and safe solution, although the clock speed of the I2C bus does not allow the
use of the most advanced signal processing techniques. On the other hand, the integrated
converter ensures reliability and avoids hard-to-find intermittent compatibility issues.
[0027] The microcontroller
210 is provided with memory
212 in which reference data is stored, and a communication module
213 which preferably transmits to a remote device a configuration regarding, for example,
the trigger position at which a shot is to be fired, or collects statistical information
about the number of shots fired, their rate, the condition of the battery being the
power source, etc. In addition, through the communication module, the motor controller
obtains, among others, instructions for the procedure of collecting the reference
value vector map. Thus, the communication module acts as a user interface.
[0028] The device can be equipped with both a user interface, e.g. in the form of LEDs and/or
a display and physical buttons, as well as only with the communication module through
which the user communicates with the device using an application running on a remote
device, e.g. a smartphone connected to the microcontroller via the communication module
213.
[0029] The microcontroller
210 is adapted to implement the method according to the invention, which can be loaded
as a program into the memory
212.
[0030] The microcontroller
210 tracks the movement of the trigger via the trigger position sensor
121, which senses the changes in the magnetic field along the
x, y, z axes caused by the movement of the magnetic element
132. A vector of the sensor readouts
pcx, pcy, pcz corresponding to the
x, y, z axes, respectively, is compared with the reference value vectors stored in the memory
212. Exemplary shapes of
p along particular axes as a function of the trigger pull degree which determines the
change in the position
r of the magnetic element
132 is shown in Fig. 2b. The dotted line
px(r) represents the readout of the magnetic field value along the x-axis, the solid line
py(r) represents the vector of readouts of the magnetic field value along the y-axis, and
the dashed line
pz(r) represents the readouts of the magnetic field value along the z-axis.
[0031] The microcontroller
210, in response to the movement of the trigger
130 that displaces the magnetic element
132 beyond the predefined position, activates the transistor key
291, thus powering the motor
200, which causes the spring being tensioned and released, resulting in a shot being fired.
[0032] Since the trigger sensor
121 is a magnetic field sensor having at least two non-parallel measurement axes, random
sensor readouts due to interference do not cause a shot. Similarly, the shot will
not be fired due to mechanical failure of the trigger or the entire device when one
of the mechanical elements of the trigger or the entire housing is damaged due to
an impact, fall or other event. Such events may occur during a competition and may
lead to very dangerous uncontrolled firing situations. The position
r of the trigger
130 is determined by taking measurements along at least two axes (in the present embodiment
along three axes) and comparing the readout, i.e. the vector of the read magnetic
field values
pcx, pcy,
pcz with the reference data stored in the memory
212 of the microcontroller
210. The reference data includes reference readout value vectors for different trigger
positions. The combinations of the coordinates of the reference vectors
pcx(r), pcy(r), pcz(r) are unique for the admissible, i.e. realizable in practice, positions
r of the magnetic element
132, resulting from the trigger pull degree causing the rotation of the trigger around
the rotation axle
131.
[0033] A triaxial measurement is even more reliable than a biaxial measurement, not only
because the combination of the three values makes it easier to ensure that the combination
is unique for each position of the magnetic element 132 in the entire trigger pull
range, but also because, in case of interference, the probability that the interference
will result in an readout matching the reference is significantly lower. Interference
occurs for a variety of reasons. The source of interference is the radio communication
module
213. Interference is also caused by the power cables of the motor during its operation
due to the generated magnetic field associated with the current flow. When starting
the motor, the operating current can significantly exceed 100 Amperes. Magnetic sensors
are also affected by permanent magnets and electromagnets commonly used in computers,
door and gate locks, book covers, telephones, e-readers, or notebooks.
[0034] Lack of consistent readouts for all axes is considered an invalid measurement that
does not start the motor. Thus, the solution prevents accidental firing in case of
internal or external interference or the application of an external magnetic field
e.g. of a magnet or, for example, caused by the proximity of a high-power walkie-talkie.
[0035] The controller
120 made on a printed circuit board is preferably placed in the device in such a way
that the movement of the magnetic element 132 takes place in a plane substantially
parallel to the plane in which the PCB is mounted. In such a case the sensor operating
range can be fully utilized and, in the crucial phase of motion, the analog-to-digital
converters that convert the signals from the Hall sensor to digital signals analyzed
by the microcontroller work on signals well matched to their dynamic range. Such arrangement
of the elements of the motor controller
120, especially the trigger position sensor
121, gives a high dynamics of changes in the value of the read magnetic field during the
movement of the magnetic element
132, which results in an increased measurement resolution.
[0036] Preferably, the magnetic element
132, the trigger
130, the rotation axle
131 and the trigger sensor
121 are arranged such that the trajectory of the magnetic element
132 during pulling of the trigger includes, in its initial phase, a segment running along
an arc centered in the trigger sensor
121, and additionally, two of the measurement axes of the trigger sensor
121 are perpendicular to each other and parallel to the plane of the printed circuit
board. Such a configuration makes it easier to obtain independence from conditions
affecting the amplitude of the readout and to directly detect the trigger rotation
angle on the basis of the ratio between the readouts along the two above-mentioned
axes. The possibility of making the readout independent of the operating temperature
is especially valuable, because firing from an electric projectile propulsion device
is an exothermic operation, so the controller operates in a large range of temperatures.
[0037] Preferably, this initial phase is between the positions corresponding to the trigger
pull degree of 10% and 20%, because it is where the users typically set the moment
of starting the motor and thus it is advantageous to ensure the highest insensitivity
to variables environmental conditions in this particular range.
[0038] Using the solutions according to the invention, the projectile propulsion device
can be calibrated according to the individual needs or sport skills of the person
using the device. Calibration can also help if the geometry of the device changes
due to a shock or an impact-type environmental exposure, or the operating temperature
changes dramatically.
[0039] In this embodiment, the calibration is performed in all three x,y,z axes of the sensor.
First, the readouts corresponding to the two extreme positions of the trigger are
collected, and then a sampling step
311 of the readouts (
pcx(r),
pcy(r),
pcz(r)) of the trigger sensor
121 is performed with the trigger
130 moving slowly while being pulled by the operator, as described below with reference
to Fig. 3. Calibration is under the control of the microcontroller
210. It is advantageous to provide an increased density of registered unique combinations
of the readouts in the range corresponding to the initial stage of the trigger pulling
- preferably between the positions corresponding to the trigger pull degree of 10%
and 20%.
[0040] The calibration flow chart is illustrated in Fig. 3. Step
300 initiates the procedure in response to a user command. The command can be given by
pressing a calibration button (not shown in Fig. 2a) connected to the microcontroller
210 or by a signal from a remote device e.g. a smartphone or tablet being in communication
with the communication module
213. Then, in step
301, the device enters the calibration mode via the user interface. In step
302, the user interface outputs an instruction to pull and release the trigger. If trigger
pull and release are detected in step
303, the procedure proceeds to the calibration at released trigger step
306, otherwise this step is skipped. After step
306, the user is instructed via the user interface to pull and hold the trigger in step
307. If a trigger pull is detected in step
304, the procedure proceeds to the calibration at pulled trigger step
308, otherwise step
308 is skipped. Next, in step
310, the user interface outputs an instruction to pull the trigger slowly and smoothly.
In step
311, the sensor is sampled and in step
312, a reference map of the positions and magnetic field values along three axes is created.
In step
313, the position map is evaluated and if it is correct, the completeness of the reference
data is verified in step
314, and if the verification result is positive, the calibration ends with success - step
315. If the map fails the verification, e.g. due to collecting less than the desired number
of unique trigger positions, the process fails. A minimum number of unique positions
is typically assumed to be 200- although much less is sufficient - and in the present
invention typically 400-500 unique positions are obtained.
[0041] The flow chart for determining the reference value vector for the released trigger
position is shown in Fig. 4. Advanced shooters set the moment of trigger release very
close to its neutral position, at the trigger pull degree of 10% to 20%, to ensure
the fastest possible response of the system, even to a slight finger movement on the
trigger, because such settings give the shooter more responsiveness and improve performance,
especially in Speed Soft games. The calibration at the released position starts with
the initialization step
460. After waiting for the insensitivity time - delay step
461, the microcontroller
210 starts the sampling of magnetic field values along all axes of the trigger sensor
121 - step
462. In the sampling step
463, 2000 values are collected for each measurement axis. In the analysis step
464, the collected values are subjected to an analysis, in which base values for each
axis and standard deviations for each axis are determined. These values are then used
to determine the current trigger position and to set tolerances. Determining the calibration
values for the released trigger position ends with storing this data in the memory
- step
465.
[0042] The flow chart for determining the reference value vector for the fully pulled trigger
position is shown in Fig. 5. The calibration at fully pulled position starts with
the initialization step
580. After waiting for the insensitivity time - delay step
581, the microcontroller
210 starts the sampling of magnetic field values along all axes of the trigger sensor
121 - step
582. In the sampling step
583, 2000 values are collected for each measurement axis. In the analysis step
584, the collected values are subjected to an analysis, in which base values for each
axis and standard deviations for each axis are determined. The correctness of the
data is verified in step
585 by checking whether the pulled trigger state is sufficiently different from the released
trigger state. The difference is evaluated based on the absolute values of the differences
of the individual coordinates of the measurement vector for the individual axes of
the magnetic sensor
121. If this condition is not met, an error message is issued to the user interface in
step
587. Determining the reference value vector for the pulled trigger position ends with
storing this data in the memory - step
588. These values are then used to determine the current trigger position and to set tolerances.
[0043] The flow chart for determining the reference trigger position map and the magnetic
field values for the positions between the released and pulled ones is shown in Fig.
6. The operation begins with the initialization step
610 and starting sampling. The user is instructed via the interface to slowly pull the
trigger. After waiting for the insensitivity time - delay step
611, the microcontroller
210 allocates 3 sample buffers in allocation step
612 and in step
613 it starts sampling the magnetic field values along all axes of the trigger sensor
121. The buffers are filled in step
615, starting at the time instance when the movement of the trigger was detected in step
614. Sampling ends when each of the buffers of 2000 samples of magnetic field values along
the axis corresponding to this buffer is filled. The data is verified in step
616 by checking whether a full trigger pull has not occurred before 2000 samples have
been collected and whether sufficient number of samples have been collected by the
time the trigger is fully pulled. If these conditions are not met, an error message
is issued to the user interface in step
619. Sampling ends with filled buffers in step
617.
[0044] The collected samples are processed by deleting positions sampled multiple times
and creating a map of unique values. On the basis of the sum of the absolute values
of the differences in the individual axes x, y, z, the resultant differences Δ between
adjacent samples are created. By reviewing the entire sample set, the minimum value
minΔ of the difference between adjacent samples is determined. Then duplicates are
removed by not rewriting from the buffers to the reference table stored in the memory
the samples of the field values along the x, y, z axes, differing from the previous
ones by less than minΔ. If more than 500 samples of the magnetic field values along
the x, y, z axes are saved in the reference table, the calibration is successful,
otherwise an error message is issued. Each sample in the reference table corresponds
to a deeper pull of the trigger. The pull degree is indicated by successive values
starting from zero. In the last step of a correctly performed set of operations, the
created reference table is saved to the nonvolatile memory of the microcontroller,
i.e. to the built-in memory of the microcontroller or the external memory
212 attached to it. Fig. 7 illustrates the graphs corresponding to the reference data,
i.e. the reference values of the magnetic field readout for the three measurement
axes stored in the reference table.
[0045] After the calibration is completed, the user can use the user interface to set an
individual trigger position, which, when exceeded, causes a shot, or leave the default
value (half of the full trigger displacement). It turns out that most shooters, when
performing individual calibration, guide the trigger in such a way that the most measurement
points are collected in the phase of the movement in which they later want to set
the firing position. This is related to the intentional or unintentional slowing down
of the trigger movement during the calibration. For shooters participating in competitions,
not only the reliability of the weapon is important, but also the firing rate, which
is related to the sampling rate and processing delay.
[0046] In this embodiment, the sampling period of the trigger sensor is set to 310 us. This
is a compromise value between the capabilities of the selected communication interfaces
between the microprocessor and the sensor (I2C) and the time resolution required for
reliable and redundant data processing at a rate sufficient for sports operating conditions.
Redundant data processing is optional, but provides additional security.
[0047] The time between sensor measurements is an important parameter to ensure the proper
speed of the trigger mechanism when using the device. The use of shorter time (higher
sampling rate) additionally enables the use of digital data analysis algorithms.
[0048] Leading players of Air Soft sports, especially in the form of Speed Soft games, can
make a successful shot in less than 7 ms. With simple processing, in order to avoid
aliasing, it is enough to use a sampling frequency twice as high as the frequency
of the measured signal. In this case, a measurement period of 3.5 ms (sampling frequency
286 Hz) is sufficient. When sampling at such a frequency, the predefined criterion
for triggering the shot is to obtain readouts from all axes of the trigger sensor
121 that correspond, within a predefined tolerance, to a reference vector of measurement
values for these axes contained in the reference data and corresponding to a trigger
pull beyond a predefined value.
[0049] Sampling with a period of 310 µs (sampling frequency approx. 3.2 kHz) allows 22 independent
measurements for all axes of the trigger sensor to be done in the time when the fastest
players shoot. Such redundancy allows one to formulate the shot trigger condition
not only in relation to a single specific readout value vector for three axes, but
also based on a sequence of consecutive measurements. Such significant oversampling
of signals allows the sequence of readouts from the trigger sensor to be matched with
the sequence of readouts stored in the reference data and a real operation on the
trigger to be confirmed and distinguished from external interference or random events
caused, for example, by a stroke due to the fall of the device, and, in the particular
case, a fall in which the trigger mechanism is damaged. The applied oversampling allows
the signal to be subjected to an additional analysis, for example discrimination of
values showing too large gradient of changes. Such operations may additionally require
approximation of values between measured reference data. Tests have shown that the
measurement sequence detection works well at sample rates above 2.5 kHz.
[0050] High rate of readouts from the trigger sensor, significantly exceeding 3kHz, providing
the possibility of using even more advanced signal processing techniques including
filtering and smoothing, can be obtained by using an analog sensor connected to an
external analog-to-digital converter or by using a converter built into the microcontroller.
In such cases, it is necessary to conduct analog signals using conductive connections
on the PCB. Such connections are particularly exposed to internal and external electromagnetic
interference that is very difficult to eliminate due to the negligible amount of energy
on the signal lines and the very high sensitivity of the inputs of signal converters.
[0051] In the embodiment of the controller and method discussed above, referring to Fig.
2a, a Hall sensor with a built-in analog-to-digital converter made in a single silicon
structure is used. Due to the short connection distances in the silicon structure
of the sensor, the sensitive connections of analog signals are practically completely
immune to electromagnetic interference. Communication with the microcontroller is
performed in a digital way, which by its nature is much more resistant to interference.
The used I2C communication bus provides the ability to transfer data with a period
of 310 µs and an elementary correction code.
[0052] In alternative embodiments, a faster communication interface may be used, which may
additionally utilize more advanced redundancy cyclic codes to ensure that the information
is delivered unchanged or is marked as invalid. To ensure immunity to interference
while maintaining a sampling frequency exceeding 3.3 kHz, an external analog-to-digital
converter can be used, providing sampling frequency for each axis of the magnetic
sensor exceeding 3.3 kHz, preferably greater than 5 kHz and even greater than 10 kHz,
together with a suitable communication bus faster than I2C and utilizing advanced
redundancy codes.
Advantages and industrial applicability of the invention
[0053] The invention allows one to take benefit from the sensitivity and precision of the
magnetic sensor, and at the same time provides resistance to interference, especially
to troublesome and common external magnetic field.
[0054] Additionally, it was unexpectedly possible to achieve resolution of the trigger position
detection higher than in the case of other sensors. Fig. 2b and 7 show that for different
positions, different measurement axes exhibit alternating high and low values and
high and low gradients of changes. Especially in the initial phase of the movement,
at least one axis shows a strong dependence on the trigger position. This results
in a high resolution of the position detection. Using all the values one gets high
dynamics. Over 400 unique positions obtained, corresponding to 400 degrees of adjustment,
is a much higher result than in the case of other electronic controllers for projectile
propulsion weapons.
[0055] The present invention may be embodied in various hardware, software, or combinations
thereof. The hardware implementation may include, but is not limited to, application-specific
integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal
processors (DSPs), microcontrollers, microprocessors, systems-on-a-chip (SoC), and
other programmable logic devices. It can also include custom or commercial off-the-shelf
(COTS) hardware components such as integrated circuits (ICs), printed circuit boards
(PCBs), as well as specialized circuits designed to perform specific functions. The
invention may also be implemented using a combination of different hardware components,
such as a combination of ASICs and FPGAs or a combination of microprocessors and DSPs.
It will be clear to those skilled in the art that the specific hardware components
used to practice the invention may vary depending on desired performance and cost
constraints. The appended claims are not limited to the specific hardware components
described herein, and any combination of hardware components known in the art that
are capable of performing the functions described in the claims is considered to fall
within the scope of the invention as defined by the appended claims.
[0056] An implementation of a computer program product may include, but is not limited to,
a set of instructions for a programmable device writable in its memory, it may be
firmware, middleware, and other software applications that can be run on general purpose
hardware or specialized hardware. In extreme cases, it can be offered in the form
of software as a service (SaaS).
[0057] The computer program product may be stored on a variety of media, including, but
not limited to, magnetic media such as hard drives, optical media such as CDs or DVDs,
flash memory devices such as USB drives, as well as solid state drives (SSDs). The
computer program product may also be stored in cloud storage systems such as Amazon
Web Services (AWS), Microsoft Azure or Google Cloud Platform. In case of SaaS, the
software is hosted and shared over the internet and can be accessed via a web browser
or other client software. SaaS provides the advantage of allowing users to access
the software from anywhere with an internet connection, with no need for installation
on local devices.
[0058] It is clear to those skilled in the art that the specific hardware and software components
used to practice the invention may vary depending on desired performance and cost
constraints. The appended claims are not limited to the specific media and software
components described herein, and any combination of media and software components
known in the art that are capable of performing the functions described in the claims
is considered to fall within the scope of the invention.
[0059] The embodiments described above should not be considered as limiting as they are
merely intended to illustrate the invention as defined by the appended claims which
cover the entire spectrum of implementations.
1. A method of controlling a motor of an electric projectile propulsion device with a
motor controller (120) comprising a microcontroller (210) and a trigger sensor (121) connected thereto adapted to start the motor (200) in response to a displacement of a trigger (130), characterized in that, the motor controller comprises a magnetic element (132) coupled to the trigger, the trigger sensor (121) is a magnetic field sensor having at least two non-parallel measurement axes (x,y,z) configured to sense a position of the magnetic element (132) along the at least two axes (x,y,z), and the position (r) of the trigger (130) is determined on the basis of a measurement carried out along these at least two
axes and a comparison of the measurement readout (pcx, pcy, pcz) with reference data stored in memory (212) of the microcontroller (210) which contains vectors of reference measurement values for at least two axes (pcx(r), pcy(r), pcz(r)) unique for admissible trigger positions (r), and a shot is fired when a predefined condition is met.
2. Method of controlling according to claim 1, wherein the magnetic field sensor (121) is a triaxial Hall sensor and the position of the magnetic element (132) is determined on the basis of a measurement carried out along three axes (x,y,z) and a comparison with reference data containing vectors of reference values for
three axes (x,y,z).
3. The method according to claim 1 or 2, wherein, initially, a calibration is performed
to obtain reference data, in which the steps of measuring (306, 308) the magnetic field along at least two axes (x,y,z) for the two extreme positions of the trigger are first performed, and then the step
of sampling (311) of the readouts (pcx(r), pcy(r), pcz(r)) of the magnetic field sensor (121) with slowly moving trigger (130) is performed.
4. Method according to any of claims 1 to 3, wherein the predefined condition is to obtain
readouts from at least two axes of the magnetic field sensor (121) corresponding, within predetermined tolerance, to the vector of measurement values
along those axes that is contained in the reference data and corresponds to the trigger
pull beyond the predefined value.
5. Method according to any of claims 1 to 4, wherein the predefined condition is to obtain
a sequence of readouts from at least two axes of the magnetic field sensor (121) corresponding, within predetermined tolerance, to the vectors of measurement values
along those axes that are contained in the reference data and correspond to the trigger
pull positions, at least one of which exceeds a predefined value, wherein the magnetic
field sensor is sampled at a rate of 2.5 kHz or higher.
6. A motor controller (120) of a motor (200) of an electric projectile propulsion device comprising a microcontroller (210) provided with memory (212) and a trigger position sensor (121) connected to the microcontroller characterized in that the trigger position sensor (121) is a multi-axial magnetic field sensor having at least two non-parallel axes, and
the microcontroller (210) is adapted to perform the method as defined in any of claims 1 to 5.
7. Motor controller (120) according to claim 6 comprising a user interface connected to the microcontroller
(210).
8. Motor controller (120) according to claim 7 in which the user interface is a communication module (213) connected to the microcontroller (210).
9. Motor controller (120) according to claim 8 in which the communication module (213) is a transceiver operating in the Bluetooth Low Energy standard.
10. Motor controller (120) according to any of claims 6 to 9 in which the magnetic field sensor (121) is connected to the microcontroller via a digital bus adapted to transfer the samples
with a rate of 2.5 kHz or higher.
11. Motor controller (120) according to claim 10 characterized in that the magnetic field sensor (121) is connected to the microcontroller via a dedicated analog-to-digital converter.
12. An electric projectile propulsion device provided with a motor (200), a trigger (130) for starting the motor and a controller (120) for the motor comprising a trigger position sensor (121) adapted to start the motor (200) when a predefined trigger (130) displacement condition is met characterized in that the controller (120) of the motor is a controller according to claim 6 and it further comprises a magnetic
element (132) coupled to the trigger (130).
13. Electric projectile propulsion device according to claim 12 characterized in that the controller (120) is made on a printed circuit board arranged substantially in parallel to the plane
of a motion of the trigger.
14. Electric projectile propulsion device according to claim 12 or 13 characterized in that the trigger (130) is rotatably mounted on an axle (131), whereas the magnetic element (132) and the magnetic field sensor (121) of the controller (120) are arranged so that the trajectory of the magnetic element during pulling the trigger
includes, in its initial phase, a segment running along an arc centered at the magnetic
field sensor (121).
15. A computer program product comprising instructions for the microcontroller of the
motor controller of the projectile propulsion device characterized in that the instructions executed by the microcontroller of the motor controller cause the
method according to any of claims 1 to 5 to be performed.