(19)
(11) EP 4 414 652 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
14.08.2024 Bulletin 2024/33

(21) Application number: 23461511.0

(22) Date of filing: 07.02.2023
(51) International Patent Classification (IPC): 
F41A 19/58(2006.01)
F41B 11/642(2013.01)
F41A 19/69(2006.01)
F41B 7/00(2006.01)
F41B 11/646(2013.01)
F41B 11/71(2013.01)
(52) Cooperative Patent Classification (CPC):
F41A 19/58; F41B 11/646; F41B 11/642; F41B 7/00; F41B 11/71; F41A 19/69
(84) Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA
Designated Validation States:
KH MA MD TN

(71) Applicant: GF Corp Spolka z Ograniczona Odpowiedzialnoscia Spolka Komandytowa
51-162 Wroclaw (PL)

(72) Inventor:
  • Frankiewicz, Artur
    Gliwice (PL)

(74) Representative: Bury & Bury 
Ul. Przyczolkowa 124
02-968 Warszawa
02-968 Warszawa (PL)

   


(54) A METHOD OF CONTROLLING A MOTOR OF AN ELECTRIC PROJECTILE PROPULSION DEVICE, A CONTROLLER FOR AN ELECTRIC PROJECTILE PROPULSION DEVICE, AN ELECTRIC PROJECTILE PROPULSION DEVICE AND A COMPUTER PROGRAM PRODUCT


(57) A method of controlling a motor of an electric projectile propulsion device performed by a 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), according to the invention comprises a magnetic element (132) coupled to the trigger, and the trigger sensor (121) is a magnetic field sensor having at least two non-parallel measurement axes (x,y,z) configured to sense the position of the magnetic element (132) along the at least two axes (x,y,z). 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 readout (pcx, pcy, pcz) with reference data stored in memory (212) of the microcontroller (210). A shot is fired when a predefined condition is met.
In a 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, according to the invention 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 according to the invention.
The electric projectile propulsion device according to the invention is provided with the controller according to the invention, and the computer program product according to the invention comprises instructions executed by the microcontroller of the motor controller causing the method according to the invention to be performed.




Description

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.


Claims

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.
 




Drawing

























Search report









Search report




Cited references

REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description