DE112022002395T5 - Elektrowerkzeug mit einem block des maschinellen lernens zum steuern einer feldschwächung eines permanentmagnetmotors - Google Patents

Elektrowerkzeug mit einem block des maschinellen lernens zum steuern einer feldschwächung eines permanentmagnetmotors Download PDF

Info

Publication number
DE112022002395T5
DE112022002395T5 DE112022002395.3T DE112022002395T DE112022002395T5 DE 112022002395 T5 DE112022002395 T5 DE 112022002395T5 DE 112022002395 T DE112022002395 T DE 112022002395T DE 112022002395 T5 DE112022002395 T5 DE 112022002395T5
Authority
DE
Germany
Prior art keywords
machine learning
power tool
field weakening
learning controller
parameters
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112022002395.3T
Other languages
English (en)
Inventor
Jonathan E. Abbott
Alexander T. Huber
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Milwaukee Electric Tool Corp
Original Assignee
Milwaukee Electric Tool Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Milwaukee Electric Tool Corp filed Critical Milwaukee Electric Tool Corp
Publication of DE112022002395T5 publication Critical patent/DE112022002395T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/0265Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B23MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
    • B23QDETAILS, COMPONENTS, OR ACCESSORIES FOR MACHINE TOOLS, e.g. ARRANGEMENTS FOR COPYING OR CONTROLLING; MACHINE TOOLS IN GENERAL CHARACTERISED BY THE CONSTRUCTION OF PARTICULAR DETAILS OR COMPONENTS; COMBINATIONS OR ASSOCIATIONS OF METAL-WORKING MACHINES, NOT DIRECTED TO A PARTICULAR RESULT
    • B23Q15/00Automatic control or regulation of feed movement, cutting velocity or position of tool or work
    • B23Q15/007Automatic control or regulation of feed movement, cutting velocity or position of tool or work while the tool acts upon the workpiece
    • B23Q15/12Adaptive control, i.e. adjusting itself to have a performance which is optimum according to a preassigned criterion

Landscapes

  • Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Mechanical Engineering (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

Hier beschriebene Elektrowerkzeuge umfassen ein Gehäuse, einen Motor, der durch das Gehäuse gestützt wird, einen Akkupack, der derart ausgelegt ist, dass er das Elektrowerkzeug mit elektrischer Leistung versorgt, eine Benutzereingabe, die derart ausgelegt ist, dass sie ein Eingangssignal bereitstellt, das einer Zieldrehzahl des Motors entspricht, eine Mehrzahl von Sensoren, die durch das Gehäuse gestützt werden und derart ausgelegt sind, dass sie Sensordaten generieren, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, und eine elektronische Steuerung. Die elektronische Steuerung umfasst einen elektronischen Prozessor und einen Speicher. Der Speicher umfasst ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor. Die elektronische Steuerung ist derart ausgelegt, dass sie die Zieldrehzahl empfängt, die Sensordaten empfängt, die Sensordaten unter Verwendung des Steuerprogramms des maschinellen Lernens verarbeitet, unter Verwendung des Steuerprogramms des maschinellen Lernens eine Ausgabe auf der Grundlage der Sensordaten generiert, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter umfasst, und den Motor auf der Grundlage der generierten Ausgabe steuert.

Description

  • QUERVERWEIS AUF VERWANDTE ANMELDUNG
  • Diese Anmeldung beansprucht die Priorität und den Nutzen der vorläufigen US-Patentanmeldung Nr. 63/180,823 , die am 28. April 2021 eingereicht wurde und deren Inhalte hier durch Rückbezug in ihrer Gänze aufgenommen sind.
  • GEBIET
  • Hier beschriebene Ausführungsformen betreffen die Steuerung von Elektrowerkzeugmotoren.
  • KURZDARSTELLUNG
  • Hier beschriebene Ausführungsformen betreffen Elektrowerkzeuge, die den Voreilwinkel und/oder den Freilaufwinkel mithilfe einer Steuerung des maschinellen Lernens steuern.
  • Hier beschriebene Elektrowerkzeuge umfassen ein Gehäuse, einen Motor, der durch das Gehäuse gestützt wird, einen Akkupack, der durch das Gehäuse gestützt wird und derart ausgelegt ist, dass er das Elektrowerkzeug mit elektrischer Leistung versorgt, eine Benutzereingabe, die derart ausgelegt ist, dass sie ein Eingangssignal bereitstellt, das einer Zieldrehzahl des Motors entspricht, eine Mehrzahl von Sensoren, die durch das Gehäuse gestützt werden und derart ausgelegt sind, dass sie Sensordaten generieren, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, und eine elektronische Steuerung. Die elektronische Steuerung umfasst einen elektronischen Prozessor und einen Speicher. Der Speicher umfasst ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor. Die elektronische Steuerung ist derart ausgelegt, dass sie die Zieldrehzahl empfängt, die Sensordaten empfängt, die Sensordaten unter Verwendung des Steuerprogramms des maschinellen Lernens verarbeitet, unter Verwendung des Steuerprogramms des maschinellen Lernens eine Ausgabe auf der Grundlage der Sensordaten generiert, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter umfasst, und den Motor auf der Grundlage der generierten Ausgabe steuert.
  • In einem Aspekt wird das Steuerprogramm des maschinellen Lernens auf einer externen Systemvorrichtung durch Training auf der Grundlage von Beispielsensordaten und zugehörigen Ausgaben generiert und wird durch das Elektrowerkzeug von der externen Systemvorrichtung empfangen.
  • In einem weiteren Aspekt ist das Steuerprogramm des maschinellen Lernens eines von einem statischen Steuerprogramm des maschinellen Lernens und einem trainierbaren Steuerprogramm des maschinellen Lernens.
  • In einem weiteren Aspekt umfassen die Sensordaten eines oder mehrere von einem Motorstrom, einer Akkupackimpedanz, einer Akkupackspannung, und einer Bewegung des Elektrowerkzeugs.
  • In einem weiteren Aspekt umfassen der eine oder die mehreren Feldschwächungsparameter einen oder mehrere von einem Voreilwinkel, einem Leitungswinkel und einem Freilaufwinkel.
  • In einem weiteren Aspekt ist die elektronische Steuerung derart ausgelegt, dass sie die Feldschwächungsparameter unter Verwendung eines oder mehrerer Filter filtert.
  • In einem weiteren Aspekt umfassen das eine oder die mehreren Filter eines oder mehrere von einem Anstiegsratenfilter, einem Tiefpassfilter und einem Hysteresefilter.
  • In einem weiteren Aspekt ist die elektronische Steuerung ferner derart ausgelegt, dass sie einen oder mehrere Prioritätsparameterwerte empfängt, wobei das Steuerprogramm des maschinellen Lernens die Ausgabe auf der Grundlage der Sensordaten und der Prioritätsparameterwerte generiert.
  • Hier beschriebene Verfahren zum Betreiben eines Elektrowerkzeugs zum Steuern einer Feldschwächung umfassen ein Generieren, durch einen Sensor des Elektrowerkzeugs, von Sensordaten, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, und ein Empfangen, durch eine elektronische Steuerung des Elektrowerkzeugs, der Sensordaten. Die Steuerung umfasst einen elektronischen Prozessor und einen Speicher. Der Speicher umfasst ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor. Die Verfahren umfassen ferner ein Verarbeiten der Sensordaten unter Verwendung eines Steuerprogramms des maschinellen Lernens, ein Generieren, unter Verwendung des Steuerprogramms des maschinellen Lernens, einer Ausgabe auf der Grundlage der Sensordaten, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter umfasst, und ein Steuern, durch die elektronische Steuerung, eines Motors des Elektrowerkzeugs auf der Grundlage der Ausgabe.
  • In einem Aspekt wird das Steuerprogramm des maschinellen Lernens auf einer externen Systemvorrichtung auf der Grundlage von Beispielsensordaten und zugehörigen Ausgaben generiert und wird durch das Elektrowerkzeug von der externen Systemvorrichtung empfangen.
  • In einem weiteren Aspekt ist das Steuerprogramm des maschinellen Lernens eines von einem statischen Steuerprogramm des maschinellen Lernens und einem trainierten Steuerprogramm des maschinellen Lernens.
  • In einem weiteren Aspekt umfassen die Sensordaten eines oder mehrere von einem Motorstrom, einer Akkupackimpedanz, einer Akkupackspannung, und einer Bewegung des Elektrowerkzeugs.
  • In einem weiteren Aspekt umfassen der eine oder die mehreren Feldschwächungsparameter einen oder mehrere von einem Voreilwinkel, einem Leitungswinkel und einem Freilaufwinkel.
  • In einem weiteren Aspekt umfasst das Verfahren ferner ein Filtern des einen oder der mehreren Feldschwächungsparameter unter Verwendung eines oder mehrerer Filter.
  • In einem weiteren Aspekt umfassen das eine oder die mehreren Filter eines oder mehrere von einem Anstiegsratenfilter, einem Tiefpassfilter und einem Hysteresefilter.
  • In einem weiteren Aspekt umfasst das Verfahren ferner ein Empfangen eines oder mehrerer Parameterwerte über die elektronische Steuerung, und ein Generieren, durch das Steuerprogramm des maschinellen Lernens, der Ausgabe auf der Grundlage der Sensordaten und der Prioritätsparameterwerte.
  • Andere hier beschriebene Elektrowerkzeuge umfassen ein Gehäuse, einen Motor, der durch das Gehäuse gestützt wird, einen Akkupack, der durch das Gehäuse gestützt wird und derart ausgelegt ist, dass er das Elektrowerkzeug mit elektrischer Leistung versorgt, eine Benutzereingabe, die derart ausgelegt ist, dass sie ein Eingangssignal bereitstellt, das einer Zieldrehzahl des Motors entspricht, eine Mehrzahl von Sensoren, die durch das Gehäuse gestützt werden und derart ausgelegt sind, dass sie Sensordaten generieren, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, und eine elektronische Steuerung. Die elektronische Steuerung umfasst einen elektronischen Prozessor und einen Speicher. Der Speicher umfasst ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor. Die elektronische Steuerung ist derart ausgelegt, dass sie die Zieldrehzahl empfängt, die Sensordaten empfängt, die Sensordaten unter Verwendung des Steuerprogramms des maschinellen Lernens verarbeitet, unter Verwendung des Steuerprogramms des maschinellen Lernens einen oder mehrere Prioritätsparameter auf der Grundlage der empfangenen Zieldrehzahl und der empfangenen Sensordaten generiert. Die elektronische Steuerung ist ferner derart ausgelegt, dass sie eine Ausgabe auf der Grundlage der Sensordaten generiert, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter auf der Grundlage des einen oder der mehreren Prioritätsparameter und der empfangenen Sensordaten umfasst, und den Motor auf der Grundlage der generierten Ausgabe steuert.
  • In einigen Aspekten umfassen der eine oder die mehreren Prioritätsparameter einen oder mehrere von einem Drehzahlsteuerparameter, einem Höchstdrehzahlparameter, einem Höchstleistungsparameter und einem Parameter für maximale Effizienz.
  • In einigen Aspekten umfassen der eine oder die mehreren Feldschwächungsparameter einen oder mehrere von einem Voreilwinkel, einem Leitungswinkel und einem Freilaufwinkel.
  • In einigen Aspekten ist die elektronische Steuerung außerdem derart ausgelegt, dass sie die Feldschwächungsparameter unter Verwendung eines oder mehrerer Filter filtert, wobei das eine oder die mehreren Filter eines oder mehrere von einem Anstiegsratenfilter, Tiefpassfilter und Hysteresefilter umfassen.
  • Bevor Ausführungsformen ausführlich erläutert werden, versteht es sich, dass die Ausführungsformen in ihrer Anwendung nicht auf die Einzelheiten der Ausgestaltung und Anordnung von Komponenten beschränkt sind, die in der nachfolgenden Beschreibung dargelegt oder in den begleitenden Zeichnungen dargestellt sind. Die Ausführungsformen können auf verschiedene Weise praktiziert oder ausgeführt werden. Außerdem versteht es sich, dass die hier verwendete Ausdrucksweise und Terminologie dem Zweck der Beschreibung dienen und nicht als beschränkend betrachtet werden sollten. Das Verwenden von „umfassen“, „aufweisen“ oder „haben“ und Abwandlungen davon sollen die nachfolgend aufgeführten Elemente und deren Äquivalente sowie zusätzliche Elemente umfassen. Sofern nicht anders angegeben oder eingeschränkt, werden die Begriffe „montiert“, „verbunden“, „gestützt“ und „gekoppelt“ sowie Variationen davon weit gefasst und umfassen sowohl direkte als auch indirekte Montagen, Verbindungen, Stützen und Kopplungen.
  • Außerdem versteht es sich, dass Ausführungsformen eine Hardware, eine Software und elektronische Komponenten oder Module umfassen können, die zu Zwecken der Diskussion derart dargestellt und beschrieben sein können, als ob der Großteil der Komponenten ausschließlich in Hardware implementiert wäre. Jedoch würde ein Durchschnittsfachmann, und auf der Grundlage der Lektüre dieser ausführlichen Beschreibung, erkennen, dass in mindestens einer Ausführungsform die auf Elektronik basierenden Aspekte in einer Software implementiert (z. B. auf einem nichttransitorischen computerlesbaren Medium gespeichert) werden können, die durch eine oder mehrere Verarbeitungseinheiten, wie z. B. einen Mikroprozessor und/oder anwendungsspezifische integrierte Schaltungen („ASICs“) ausführbar ist. Daher ist zu beachten, dass eine Mehrzahl von hardware- und softwarebasierten Vorrichtungen sowie eine Mehrzahl unterschiedlicher Strukturkomponenten zum Implementieren der Ausführungsformen verwendet werden können. Zum Beispiel können „Server“, „Rechenvorrichtungen“, „Steuerungen“, „Prozessoren“ usw., die in dieser Beschreibung beschrieben werden, eine oder mehrere Verarbeitungseinheiten, ein oder mehrere computerlesbare Medienmodule, eine oder mehrere Eingabe-/Ausgabeschnittstellen, und verschiedene Verbindungen (z. B. einen Systembus), die die Komponenten verbinden, umfassen.
  • Relative Terminologie, wie zum Beispiel „etwa“, „ungefähr“, „im Wesentlichen“ usw., die in Verbindung mit einer Größe oder Bedingung verwendet wird, würde von einem Durchschnittsfachmann derart verstanden werden, dass sie den angegebenen Wert einschließt und die Bedeutung aufweist, die durch den Kontext bestimmt wird (z. B. umfasst der Begriff zumindest den Grad des Fehlers, der mit der Messgenauigkeit verbunden ist, Toleranzen [z. B. Herstellung, Montage, Verwendung usw.], die mit dem bestimmten Wert verbunden sind, usw.). Eine solche Terminologie sollte auch als Offenbarung des durch die Absolutwerte der beiden Endpunkte definierten Bereichs betrachtet werden. Zum Beispiel offenbart der Ausdruck „von ungefähr 2 bis ungefähr 4“ auch den Bereich „von 2 bis 4“. Die relative Terminologie kann sich auf plus oder minus einen Prozentsatz (z. B. 1 %, 5 %, 10 % oder mehr) eines angegebenen Wertes beziehen.
  • Obwohl bestimmte Zeichnungen Hardware und Software darstellen, die innerhalb konkreter Vorrichtungen angeordnet sind, versteht es sich, dass diese Beschreibungen lediglich Veranschaulichungszwecken dienen. Funktionalität, die hier derart beschrieben ist, dass sie durch eine Komponente durchgeführt wird, kann durch mehrere Komponenten auf eine verteilte Weise durchgeführt werden. Gleichermaßen kann Funktionalität, die durch mehrere Komponenten durchgeführt wird, konsolidiert sein und durch eine einzelne Komponente durchgeführt werden. In einigen Ausführungsformen können die dargestellten Komponenten kombiniert oder in getrennte Software, Firmware und/oder Hardware aufgeteilt werden. Anstatt innerhalb eines einzelnen elektronischen Prozessors angeordnet und durch diesen durchgeführt zu werden, können zum Beispiel Logik und Verarbeitung auf mehrere elektronische Prozessoren verteilt sein. Unabhängig davon, wie sie kombiniert oder aufgeteilt sind, können Hardware- und Software-Komponenten auf derselben Rechenvorrichtung angeordnet sein oder sie können auf verschiedene Rechenvorrichtungen, die durch ein oder mehrere Netzwerke oder andere geeignete Kommunikationsverknüpfungen verbunden sind, verteilt sein. Gleichermaßen kann eine Komponente, die derart beschrieben ist, dass sie eine konkrete Funktionalität durchführt, auch zusätzliche Funktionalität, die hier nicht beschrieben ist, ausführen. Zum Beispiel ist eine Vorrichtung oder Struktur, die auf eine bestimmte Weise „ausgelegt“ ist, zumindest auf diese Weise ausgelegt, kann jedoch auch auf eine Weise ausgelegt sein, die nicht explizit aufgelistet ist.
  • Weitere Aspekte der Ausführungsformen werden durch Betrachtung der ausführlichen Beschreibung und der begleitenden Zeichnungen offensichtlich werden.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
    • 1 zeigt ein erstes Elektrowerkzeugsystem.
    • 2 zeigt ein zweites Elektrowerkzeugsystem.
    • 3 zeigt ein drittes Elektrowerkzeugsystem.
    • 4A-B zeigen ein viertes Elektrowerkzeugsystem.
    • 4C zeigt ein viertes Elektrowerkzeugsystem.
    • 4D zeigt ein fünftes Elektrowerkzeugsystem.
    • 5A ist ein Blockdiagramm eines Beispielelektrowerkzeugs des Elektrowerkzeugsystems von 1 bis 4C.
    • 5B ist ein Blockdiagramm einer Steuerung des maschinellen Lernens des Elektrowerkzeugs von 5A.
    • 6 ist ein Ablaufdiagramm, das ein Verfahren zum Erstellen und Implementieren einer Steuerung des maschinellen Lernens für das Elektrowerkzeug von 5A darstellt.
    • 7 ist ein Ablaufdiagramm, das ein Verfahren zum Betreiben des Elektrowerkzeugs von 5A gemäß der Steuerung des maschinellen Lernens zeigt.
    • 8 ist ein Steuerprogramm des maschinellen Lernens gemäß einigen hier beschriebenen Ausführungsformen.
    • 9 ist ein Diagramm eines Motorstroms, einer Auslöserposition, einer Motordrehzahl im Verhältnis zur Zeit.
    • 10 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 11 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 12 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 13 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 14 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 15 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 16 ist ein Feldschwächungs-Steuerprogramm gemäß einigen hier beschriebenen Ausführungsformen.
    • 17 ist eine Reihe von Drehzahl-Drehmoment-Kurven gemäß einigen hier beschriebenen Ausführungsformen.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Einige Elektrowerkzeuge umfassen Sensoren und ein Steuersystem, das fest codierte Schwellenwerte verwendet, um zum Beispiel den Betrieb des Werkzeugs zu ändern oder anzupassen. Zum Beispiel kann ein Sensor detektieren, dass eine Akkuspannung unter einem vorgegebenen fest codierten Schwellenwert liegt. Das Elektrowerkzeug kann dann den Betrieb des Motors beenden, um den Akkupack zu schützen. Obwohl diese Arten von Schwellenwerten möglicherweise einfach zu implementieren sind und einige Vorteile für den Betrieb eines Elektrowerkzeugs bereitstellen, können sich diese Arten von fest codierten Schwellenwerten nicht an sich ändernde Bedingungen oder Anwendungen anpassen, bei denen das Elektrowerkzeug betrieben wird, und sind möglicherweise letztendlich nicht hilfreich beim Detektieren und Reagieren auf kompliziertere Bedingungen, wie zum Beispiel wenn das Elektrowerkzeug einen Rückschlag erfährt.
  • Die vorliegende Anmeldung beschreibt verschiedene Systeme, in denen eine Steuerung des maschinellen Lernens verwendet wird, um ein Merkmal oder eine Funktion des Elektrowerkzeugs zu steuern. Anstatt zum Beispiel fest codierte Schwellenwerte, die zum Beispiel durch einen Ingenieur bestimmt und programmiert werden, zu implementieren, detektiert die Steuerung des maschinellen Lernens Bedingungen auf der Grundlage von Daten, die während vorheriger Operationen des Elektrowerkzeugs gesammelt wurden. In einigen Ausführungsformen bestimmt die Steuerung des maschinellen Lernens zum Beispiel auf der Grundlage einer konkreten Anwendung des Elektrowerkzeugs oder während eines konkreten Modus des Elektrowerkzeugs einstellbare Schwellenwerte, die zum Betreiben des Werkzeugs verwendet werden. Dementsprechend basieren die Schwellenwerte, Bedingungen oder Kombinationen davon auf vorherigem Betrieb eines gleichartigen Elektrowerkzeugs und können sich auf der Grundlage einer vom Benutzer empfangenen Eingabe und weiterer Operationen des Elektrowerkzeugs ändern.
  • 1 zeigt ein erstes Elektrowerkzeugsystem 100. Das erste Elektrowerkzeugsystem 100 umfasst ein Elektrowerkzeug 105, eine externe Vorrichtung 107, einen Server 110 und ein Netzwerk 115. Das Elektrowerkzeug 105 umfasst verschiedene Sensoren und Vorrichtungen, die Nutzungsinformationen während des Betriebs des Elektrowerkzeugs 105 sammeln. Die Nutzungsinformationen können alternativ als Betriebsinformationen des Elektrowerkzeugs 105 bezeichnet werden und beziehen sich zum Beispiel auf Daten, die den Betrieb des Motors (z. B. Drehzahl, Position, Beschleunigung, Temperatur, Nutzungszeit und dergleichen), den Betriebsmodus des Elektrowerkzeugs 105 (z. B. Antriebsmodus, Schlagmodus, Betriebsdauer in jedem Modus, Häufigkeit des Betriebs in jedem Modus und dergleichen), während des Betriebs auftretende Bedingungen (z. B. Überhitzung des Motors und dergleichen) und andere Aspekte (z. B. Ladezustand des Akkus, Entladerate und dergleichen) betreffen.
  • In der dargestellten Ausführungsform kommuniziert das Elektrowerkzeug 105 mit der externen Vorrichtung 107. Die externe Vorrichtung 107 kann zum Beispiel ein Smartphone, einen Tablet-Computer, ein Mobiltelefon, einen Laptop, eine Smartwatch und dergleichen umfassen. Das Elektrowerkzeug 105 kommuniziert mit der externen Vorrichtung 107, um zum Beispiel zumindest einen Teil der Nutzungsinformationen für das Elektrowerkzeug 105 zu senden, Konfigurationsinformationen für das Elektrowerkzeug 105 zu empfangen, oder eine Kombination davon. In einigen Beispielen können die Nutzungsdaten von einem oder mehreren Sensoren des Elektrowerkzeugs 105, wie z. B. nachstehend beschriebenen Sensoren 530 (5), stammen. Zum Beispiel können Nutzungsdaten auf Dynamometerdaten, die mit dem Elektrowerkzeug 105 assoziiert sind, basieren. In einigen Ausführungsformen kann die externe Vorrichtung einen Transceiver mit kurzer Reichweite zum Kommunizieren mit dem Elektrowerkzeug 105 und einen Transceiver mit großer Reichweite zum Kommunizieren mit dem Server 110 umfassen. In der dargestellten Ausführungsform umfasst das Elektrowerkzeug 105 außerdem einen Transceiver zum Kommunizieren mit der externen Vorrichtung zum Beispiel über ein Kommunikationsprotokoll für kurze Reichweiten, wie z. B. BLUETOOTH®. In einigen Ausführungsformen überbrückt die externe Vorrichtung 107 die Kommunikation zwischen dem Elektrowerkzeug 105 und dem Server 110. Das heißt, das Elektrowerkzeug 105 sendet Betriebsdaten an die externe Vorrichtung 107, und die externe Vorrichtung 107 leitet die Betriebsdaten vom Elektrowerkzeug 105 an den Server 110 über das Netzwerk 115 weiter. Das Netzwerk 115 kann ein drahtloses Netzwerk mit großer Reichweite, wie z. B. das Internet, ein lokales Netzwerk („LAN“), ein Weitverkehrsnetzwerk („WAN“), oder eine Kombination davon sein. In anderen Ausführungsformen kann das Netzwerk 115 ein drahtloses Kommunikationsnetzwerk mit kurzer Reichweite sein, und in noch anderen Ausführungsformen kann das Netzwerk 115 ein verdrahtetes Netzwerk sein, das zum Beispiel serielle Protokolle (z. B. USB, USB-C, Firewire und dergleichen) verwendet. Gleichermaßen kann der Server 110 Informationen an die externe Vorrichtung 107 senden, die an das Elektrowerkzeug 105 weiterzuleiten sind. In einigen Ausführungsformen ist das Elektrowerkzeug 105 anstelle oder zusätzlich zum Transceiver für kurze Reichweiten mit einem Transceiver für lange Reichweiten ausgestattet. In solchen Ausführungsformen kommuniziert das Elektrowerkzeug 105 direkt mit dem Server 110. In einigen Ausführungsformen kann das Elektrowerkzeug 105 sowohl mit dem Server 110 als auch der externen Vorrichtung 107 direkt kommunizieren. In solchen Ausführungsformen kann die externe Vorrichtung 107 zum Beispiel eine grafische Benutzeroberfläche generieren, um ein Steuern und Programmieren des Elektrowerkzeugs 105 zu erleichtern, während der Server 110 größere Mengen von Betriebsdaten für zukünftige Programmierung oder einen zukünftigen Betrieb des Elektrowerkzeugs 105 speichern und analysieren kann. In anderen Ausführungsformen kann das Elektrowerkzeug 105 jedoch mit dem Server 110 direkt kommunizieren, ohne ein Kommunikationsprotokoll für kurze Reichweiten mit der externen Vorrichtung 107 zu nutzen.
  • Der Server 110 umfasst eine elektronische Serversteueranordnung, die einen elektronischen Serverprozessor 425, einen Serverspeicher 430, einen Transceiver, und eine Steuerung 120 des maschinellen Lernens aufweist. Der Transceiver ermöglicht es dem Server 110, mit dem Elektrowerkzeug 105, der externen Vorrichtung 107 oder beiden zu kommunizieren. Der elektronische Serverprozessor 425 empfängt Werkzeugnutzungsdaten vom Elektrowerkzeug 105 (z. B. über die externe Vorrichtung 107), speichert die empfangenen Werkzeugnutzungsdaten im Serverspeicher 430, und verwendet, in einigen Ausführungsformen, die empfangenen Werkzeugnutzungsdaten zum Erstellen und Anpassen einer Steuerung 120 des maschinellen Lernens.
  • Die Steuerung des maschinellen Lernens 120 implementiert ein Programm des maschinellen Lernens. Die Steuerung 120 des maschinellen Lernens ist derart ausgelegt, dass sie auf der Grundlage von Beispieleingaben ein Modell aufbaut (z. B. einen oder mehrere Algorithmen erstellt). Beim überwachten Lernen werden einem Computerprogramm Beispieleingaben und deren tatsächliche Ausgaben (z. B. Kategorisierungen) vorgelegt. Die Steuerung 120 des maschinellen Lernens ist derart ausgelegt, dass sie eine allgemeine Regel oder ein allgemeines Modell lernt, die/das auf der Grundlage der bereitgestellten Beispielpaare von Eingaben-Ausgaben die Eingaben auf die Ausgaben abbildet. Der Algorithmus des maschinellen Lernens kann derart ausgelegt sein, dass er unter Verwendung verschiedener Arten von Verfahren ein maschinelles Lernen durchführt. Zum Beispiel kann die Steuerung 120 des maschinellen Lernens das Programm des maschinellen Lernens unter Verwendung von Entscheidungsbaumlemen, Assoziationsregellernen, künstlichen neuronalen Netzen, rekurrenten künstlichen neuronalen Netzen, neuronalen Netzen mit langem Kurzzeitgedächtnis, induktiver Logikprogrammierung, Support-Vektor-Maschinen, Clustering, bayesianischen Netzen, Verstärkungs lernen, Repräsentationslernen, Ähnlichkeits- und Metriklernen, Sparse Dictionary Learning, genetischen Algorithmen, k-nächste-Nachbarn (KNN), Aufmerksamkeitsnetzwerken/Transformatoren, und anderen, wie z. B. jenen, die nachstehend in Tabelle 1 aufgeführt sind, implementieren.
    Tabelle 1
    Rekurrente Modelle Rekurrente neuronale Netze [„RNNs“], Long Short-Term Memory-Modelle [„LSTM“-Modelle] (Modelle mit langem Kurzzeitgedächtnis), Gated-Recurrent-Unit-Modelle [„GRU“-Modelle], Markov-Prozesse, Bestärkendes Lernen, rekurrente Transformatoren usw.
    Nicht-rekurrente Modelle Deep Neural Network [„DNN“] (tiefe neuronale Netze), Convolutional Neural Network [„CNN“], Support-Vektor-Maschinen [„SVM“], Anomalieerkennung (z. B.: Hauptkomponentenanalyse [„PCA“]),
    logistische Regression, Entscheidungsbäume/-wälder, Ensemble-Methoden (Kombination von Modellen), polynomiale/bayesianische/andere Regressionen, stochastischer Gradientenabstieg [„SGD“], lineare Diskriminanzanalyse [„LDA“], quadratische Diskriminanzanalyse [„QDA“], Klassifizierungen/Regression der nächsten Nachbarn, naive Bayes, Transformatoren usw.
  • Während Tabelle 1 (vorstehend) modellbasierte Programme des maschinellen Lernens beschreibt, versteht es sich, dass tabellenbasierte Programme des maschinellen Lernens, wie z. B. Nachschlagetabellen, ebenfalls verwendet werden können. Zum Beispiel können tabellenbasierte Programme des maschinellen Lernens von Vorteil sein, wenn die Anzahl der Eingaben in die Steuerung 120 des maschinellen Lernens begrenzt ist.
  • Die Steuerung 120 des maschinellen Lernens wird programmiert und trainiert, um eine konkrete Aufgabe durchzuführen. Zum Beispiel wird in einigen Ausführungsformen die Steuerung 120 des maschinellen Lernens trainiert, um eine Anwendung zu identifizieren, für die das Elektrowerkzeug 105 verwendet wird (z. B. Befestigen von Befestigungseinrichtungen). Die Aufgabe, für die die Steuerung 120 des maschinellen Lernens trainiert wird, kann zum Beispiel auf der Grundlage der Art von Elektrowerkzeug, einer Auswahl von einem Benutzer, typischer Anwendungen, für die das Elektrowerkzeug verwendet wird, und dergleichen variieren. Analog variiert auch auf der Grundlage der konkreten Aufgabe die Art und Weise, in der die Steuerung 120 des maschinellen Lernens trainiert wird. Insbesondere können die Trainingsbeispiele, die zum Trainieren der Steuerung des maschinellen Lernens verwendet werden, unterschiedliche Informationen umfassen und können auf der Grundlage der Aufgabe der Steuerung 120 des maschinellen Lernens verschiedene Dimensionen aufweisen. In dem vorstehend erwähnten Beispiel, in dem die Steuerung 120 des maschinellen Lernens derart ausgelegt ist, dass sie eine Nutzungsanwendung des Elektrowerkzeugs 105 identifiziert, kann jedes Trainingsbeispiel einen Satz von Eingaben, wie z. B. Motordrehzahl, Motorstrom und -spannung, einen Betriebsmodus, der gerade durch das Elektrowerkzeug 105 ausgeführt wird, und Bewegung des Elektrowerkzeugs 105 (z. B. von einem Beschleunigungsmesser), umfassen. Jedes Trainingsbeispiel umfasst außerdem eine spezifizierte Ausgabe. Wenn zum Beispiel die Steuerung 120 des maschinellen Lernens die Nutzungsanwendung des Elektrowerkzeugs 105 identifiziert, kann ein Trainingsbeispiel eine Ausgabe aufweisen, die eine konkrete Nutzungsanwendung des Elektrowerkzeugs 105 umfasst, wie z. B. Befestigungseinrichtungen befestigen. Andere Trainingsbeispiele, die unterschiedliche Werte für jede der Eingaben und eine Ausgabe umfassen, die darauf hinweist, dass die Nutzungsanwendung zum Beispiel ein Anbringen von Schrauben an einem Holzwerkstück ist. Die Trainingsbeispiele können zuvor gesammelte Trainingsbeispiele, zum Beispiel von einer Mehrzahl von Elektrowerkzeugen derselben Art, sein. Zum Beispiel können die Trainingsbeispiele zuvor zum Beispiel von zweihundert Elektrowerkzeugen derselben Art (z. B. Bohrmaschinen), zum Beispiel über einen Zeitraum von einem Jahr gesammelt worden sein. Jedoch können in anderen Beispielen Trainingsbeispiele auf der Verwendung eines einzelnen Elektrowerkzeugs, wie z. B. des Elektrowerkzeugs 105, basieren. In einigen Ausführungsformen kann die Steuerung 120 des maschinellen Lernens einen Zielparameter abtasten, um zu sehen, ob ein Ziel für den Zielparameter während der Verwendung des Elektrowerkzeugs 105 erreicht wurde.
  • Eine Mehrzahl von unterschiedlichen Trainingsbeispielen wird an die Steuerung 120 des maschinellen Lernens bereitgestellt. Die Steuerung 120 des maschinellen Lernens verwendet diese Trainingsbeispiele, um ein Modell (z. B. eine Regel, einen Satz von Gleichungen und dergleichen) zu generieren, das dabei hilft, die Ausgabe auf der Grundlage neuer Eingabedaten zu kategorisieren oder zu schätzen. Die Steuerung 120 des maschinellen Lernens kann verschiedene Trainingsbeispiele unterschiedlich gewichten, um zum Beispiel verschiedene Bedingungen oder Ausgaben von der Steuerung 120 des maschinellen Lernens zu priorisieren. Zum Beispiel kann ein Trainingsbeispiel, das einer Rückschlagbedingung entspricht, stärker gewichtet werden als ein Trainingsbeispiel, das einer Abnutzungsbedingung entspricht, um die korrekte Identifizierung der Rückschlagbedingung in Bezug auf die Abnutzungsbedingung zu priorisieren. In einigen Ausführungsformen werden die Trainingsbeispiele unterschiedlich gewichtet, indem eine andere Kostenfunktion oder ein anderer Wert konkreten Trainingsbeispielen oder Typen von Trainingsbeispielen zugeordnet wird.
  • In einem Beispiel implementiert die Steuerung 120 des maschinellen Lernens ein künstliches neuronales Netz. Das künstliche neuronale Netz umfasst typischerweise eine Eingabeschicht, eine Mehrzahl von verborgenen Schichten oder Knoten, und eine Ausgabeschicht. Typischerweise umfasst die Eingabeschicht so viele Knoten wie Eingaben, die der Steuerung 120 des maschinellen Lernens bereitgestellt werden. Wie vorstehend beschrieben, kann die Anzahl (und die Art) von Eingaben, die der Steuerung 120 des maschinellen Lernens bereitgestellt werden, auf der Grundlage der konkreten Aufgabe für die Steuerung 120 des maschinellen Lernens variieren. Dementsprechend kann die Eingabeschicht des künstlichen neuronalen Netzes der Steuerung 120 des maschinellen Lernens eine unterschiedliche Anzahl von Knoten auf der Grundlage der konkreten Aufgaben für die Steuerung 120 des maschinellen Lernens aufweisen. Die Eingabeschicht ist mit den verborgenen Schichten verbunden. Die Anzahl von verborgenen Schichten variiert und kann von der konkreten Aufgabe für die Steuerung 120 des maschinellen Lernens abhängen. Außerdem kann jede verborgene Schicht eine andere Anzahl von Knoten aufweisen und kann auf eine andere Art mit der nächsten Schicht verbunden sein. Zum Beispiel kann jeder Knoten der Eingabeschicht mit jedem Knoten der ersten verborgenen Schicht verbunden sein. Der Verbindung zwischen jedem Knoten der Eingabeschicht und jedem Knoten der ersten verborgenen Schicht kann ein Gewichtungsparameter zugewiesen werden. Außerdem kann jedem Knoten des neuronalen Netzes auch ein Bias-Wert zugewiesen werden. Jedoch ist möglicherweise jeder Knoten der ersten verborgenen Schicht nicht mit jedem Knoten der zweiten verborgenen Schicht verbunden. Das heißt, es können Knoten der ersten verborgenen Schicht vorhanden sein, die nicht mit allen Knoten der zweiten verborgenen Schicht verbunden sind. Den Verbindungen zwischen den Knoten der ersten verborgenen Schichten und der zweiten verborgenen Schichten werden jeweils verschiedene Gewichtungsparameter zugewiesen. Jeder Knoten der verborgenen Schicht wird mit einer Aktivierungsfunktion assoziiert. Die Aktivierungsfunktion definiert, wie die verborgene Schicht die von der Eingabeschicht oder von einer vorherigen Eingabeschicht empfangene Eingabe verarbeiten soll. Diese Aktivierungsfunktionen können variieren und nicht nur auf der Art der mit der Steuerung 120 des maschinellen Lernens assoziierten Aufgabe basieren, sondern sie können auch auf der Grundlage der konkreten Art einer implementierten verborgenen Schicht variieren.
  • Jede verborgene Schicht kann eine andere Funktion ausführen. Zum Beispiel können einige verborgene Schichten verborgene Faltungsschichten sein, die in manchen Fällen die Dimensionalität der Eingaben reduzieren können, während andere verborgene Schichten unter anderem statistischere Funktionen, wie z. B. Max-Pooling, wodurch eine Gruppe von Eingaben auf den Maximalwert reduziert werden kann, eine Mittelwertbildungsschicht, ausführen können. In einigen der verborgenen Schichten (auch als „dichte Schichten“ bezeichnet) ist jeder Knoten mit jedem Knoten der nächsten verborgenen Schicht verbunden. Einige neuronale Netze, die zum Beispiel mehr als drei verborgene Schichten umfassen, können als tiefe neuronale Netze betrachtet werden. Die letzte verborgene Schicht ist mit der Ausgabeschicht verbunden. Ähnlich der Eingabeschicht weist die Ausgabeschicht typischerweise die gleiche Anzahl von Knoten wie die möglichen Ausgaben auf. Im vorstehenden Beispiel, in dem die Steuerung 120 des maschinellen Lernens eine Nutzungsanwendung des Elektrowerkzeugs 105 identifiziert, kann die Ausgabeschicht zum Beispiel vier Knoten umfassen. Ein erster Knoten kann anzeigen, dass die Nutzungsanwendung einer Installation von Trockenbauwänden entspricht, ein zweiter Knoten kann anzeigen, dass die Nutzungsanwendung einem Anbringen einer Schraube an einem Holzwerkstück entspricht, ein dritter Knoten kann anzeigen, dass die Nutzungsanwendung einem Entfernen einer Schraube entspricht, und der vierte Knoten kann anzeigen, dass die Nutzungsanwendung einer unbekannten (oder nicht identifizierbaren) Aufgabe entspricht. In einigen Ausführungsformen wählt die Steuerung 120 des maschinellen Lernens dann den Ausgabeknoten mit dem höchsten Wert und zeigt dem Elektrowerkzeug 105 oder dem Benutzer die entsprechende Nutzungsanwendung an. In einigen Ausführungsformen kann die Steuerung 120 des maschinellen Lernens auch mehr als einen Ausgabeknoten auswählen. Die Steuerung 120 des maschinellen Lernens oder der elektronische Prozessor 550 kann dann die mehreren Ausgaben verwenden, um das Elektrowerkzeug 500 zu steuern. Zum Beispiel kann die Steuerung 120 des maschinellen Lernens die Art der Befestigungseinrichtung identifizieren und eine selbstbohrende Schraube (z. B. eine TEK-Schraube) und eine Blechschraube als die wahrscheinlichsten Kandidaten für die Befestigungseinrichtung wählen. Die Steuerung 120 des maschinellen Lernens oder der elektronische Prozessor 550 kann dann zum Beispiel den Motor gemäß der Hochlaufgeschwindigkeit für eine selbstbohrende Schraube steuern, aber Rückschlagdetektion von der Blechschraube übernehmen. Die Steuerung 120 des maschinellen Lernens und der elektronische Prozessor 550 können verschiedene Verfahren zum Kombinieren der Ausgaben von der Steuerung 120 des maschinellen Lernens implementieren.
  • Während des Trainings empfängt das künstliche neuronale Netz die Eingaben für ein Trainingsbeispiel und generiert eine Ausgabe unter Verwendung des Bias für jeden Knoten, und der Verbindungen zwischen jedem Knoten und der entsprechenden Gewichtungen. Das künstliche neuronale Netz vergleicht dann die generierte Ausgabe mit der tatsächlichen Ausgabe des Trainingsbeispiels. Auf der Grundlage der generierten Ausgabe und der tatsächlichen Ausgabe des Trainingsbeispiels ändert das neuronale Netz die Gewichtungen und/oder Biases, die mit jeder Knotenverbindung assoziiert sind. In einigen Ausführungsformen ändert das neuronale Netz während des Trainings auch die Gewichtungen, die mit jedem Knoten assoziiert sind. Das Training fährt fort, bis eine Trainingsbedingung erfüllt wird. Die Trainingsbedingung kann zum Beispiel einer vorgegebenen Anzahl von verwendeten Trainingsbeispielen, einem minimalen Genauigkeitsschwellenwert, der während des Trainings und der Validierung erreicht wird, einer vorgegebenen Anzahl von Validierungsiterationen, die abgeschlossen werden, einem optimierten Trainieren-gegen-Testen-Test, und dergleichen entsprechen. Verschiedene Arten von Trainingsalgorithmen können verwendet werden, um die Bias-Werte und die Gewichtungen der Knotenverbindungen auf der Grundlage der Trainingsbeispiele anzupassen. Die Trainingsalgorithmen können zum Beispiel unter anderem Gradientenabstieg, Newton-Verfahren, konjugierten Gradienten, Quasi-Newton, Levenberg Marquardt umfassen, siehe erneut Tabelle 1.
  • In einem anderen Beispiel implementiert die Steuerung 120 des maschinellen Lernens eine Support Vector Machine, um eine Klassifizierung durchzuführen. Die Steuerung 120 des maschinellen Lernens kann zum Beispiel klassifizieren, ob eine Befestigungseinrichtung abgenutzt wird. In solchen Ausführungsformen kann die Steuerung 120 des maschinellen Lernens Eingaben empfangen, wie z. B. Motordrehzahl, Ausgangsdrehmoment und Betriebszeit (z. B. wie lange das Elektrowerkzeug 105 an derselben Befestigungseinrichtung gearbeitet hat). Die Steuerung 120 des maschinellen Lernens definiert dann einen Spielraum unter Verwendung von Kombinationen einiger Eingabevariablen (z. B. Motordrehzahl, Ausgangsdrehmoment, Betriebszeit und dergleichen) als Stützvektoren, um den Spielraum zu maximieren. In einigen Ausführungsformen definiert die Steuerung 120 des maschinellen Lernens einen Spielraum unter Verwendung von Kombinationen aus mehr als einer von ähnlichen Eingabevariablen (z. B. Bewegung eines Werkzeugs entlang verschiedener Achsen). Der Spielraum entspricht dem Abstand zwischen den zwei nächsten Vektoren, die unterschiedlich klassifiziert sind. Zum Beispiel entspricht der Spielraum dem Abstand zwischen einem Vektor, der eine abgenutzte Befestigungseinrichtung repräsentiert, und einem Vektor, der eine nicht abgenutzte Befestigungseinrichtung repräsentiert. In einigen Ausführungsformen verwendet die Steuerung 120 des maschinellen Lernens mehr als eine Support Vector Machine, um eine einzelne Klassifizierung vorzunehmen. Wenn zum Beispiel die Steuerung 120 des maschinellen Lernens klassifiziert, ob eine Befestigungseinrichtung abgenutzt ist, kann eine erste Support Vector Machine auf der Grundlage der Motordrehzahl und der Betriebszeit bestimmen, ob die Befestigungseinrichtung abgenutzt ist, während eine zweite Support Vector Machine auf der Grundlage der Motordrehzahl und des Ausgangsdrehmoments bestimmen kann, ob die Befestigungseinrichtung abgenutzt ist. Die Steuerung 120 des maschinellen Lernens kann dann bestimmen, ob die Befestigungseinrichtung abgenutzt ist, wenn beide Support Vector Machines die Befestigungseinrichtung als abgenutzt klassifizieren. In anderen Ausführungsformen kann eine einzelne Support Vector Machine mehr als zwei Eingabevariablen verwenden und eine Hyperebene definieren, die jene Befestigungseinrichtungen, die abgenutzt sind, von den Befestigungseinrichtungen trennt, die nicht abgenutzt sind.
  • Die Trainingsbeispiele für eine Support Vector Machine umfassen einen Eingabevektor, der Werte für die Eingabevariablen (z. B. Motordrehzahl, Betriebsdauer, Ausgangsdrehmoment und dergleichen) umfasst, und eine Ausgabeklassifizierung, die anzeigt, ob die Befestigungseinrichtung eine Befestigungseinrichtung repräsentiert, die abgenutzt ist. Während des Trainings wählt die Support Vector Machine die Stützvektoren (z. B. eine Teilgruppe der Eingabevektoren), die den Spielraum maximieren, aus. In einigen Ausführungsformen kann die Support Vector Machine in der Lage sein, eine Linie oder eine Hyperebene zu definieren, die die Befestigungseinrichtungen, die abgenutzt sind, von jenen, die nicht abgenutzt sind, genau trennt. In anderen Ausführungsformen (z. B. in einem nicht trennbaren Fall) kann die Support Vector Machine jedoch eine Linie oder eine Hyperebene definieren, die den Spielraum maximiert und die Schlupfvariablen minimiert, die den Fehler in einer Klassifizierung einer Support Vector Machine messen. Nachdem die Support Vector Machine trainiert wurde, können neue Eingabedaten mit der Linie oder der Hyperebene verglichen werden, um zu bestimmen, wie die neuen Eingabedaten zu klassifizieren sind (z. B. um zu bestimmen, ob die Befestigungseinrichtung abgenutzt ist). In anderen Ausführungsformen kann, wie vorstehend erwähnt, die Steuerung 120 des maschinellen Lernens verschiedene Algorithmen des maschinellen Lernens implementieren, um eine Schätzung oder Klassifizierung auf der Grundlage eines Satzes von Eingabedaten vorzunehmen.
  • Einige Beispiele für Paare von Eingabedaten, Verarbeitungstechniken, und Algorithmen des maschinellen Lernens sind nachstehend in Tabelle 2 aufgelistet. Die Eingabedaten, die in der nachstehenden Tabelle als Zeitreihendaten aufgelistet sind, umfassen zum Beispiel eines oder mehrere der verschiedenen hier beschriebenen Beispiele für Zeitreihen-Werkzeugnutzungsinformationen.
    Tabelle 2
    Eingabedaten Datenverarbeitung Beispielmodell
    Zeitreihendaten K.A. RNN (unter Verwendung von LSTM) (z. B. für eine Anzeige von Schraubenabnutzung); DNN/CNN/RNN (z. B. LSTM, GRU)
    Zeitreihendaten Filterung (z. B. Tiefpassfilter) DNN-/CNN-/RNN-Klassifizierer/Regression (z. B. STM, GRU) (z. B. zur Schraubensitzdetektion) oder ein anderer nicht-rekurrenter Algorithmus
    Zeitreihendaten Schiebefenster, Auffüllen oder Datenuntermenge DNN-Klassifizierer/Regression (z. B. zur Schraubensitzdetektion) oder ein anderer nicht-rekurrenter Algorithmus
    Zeitreihendaten Erstellen von Funktionen (z. B. Analyse von Laufzeitdaten zusammenfassen) KNN oder ein anderer nicht-rekurrenter oder rekurrenter Algorithmus
    Zeitreihendaten Anfangsmodell (z. B. vortrainiert) Modellanpassung
    Zeitreihendaten Anfängliche RNN- oder DNN-Analyse für Klassifizierung Markov-Modell (zur Bestimmung einer wahrscheinlichen Werkzeuganwendung während oder zwischen Werkzeugoperationen)
    Zeitreihendaten Segmentierte Zeit und/oder Eigenschaften von Schlägen oder Impulsen DNN, CNN, RNN, Rekurrente Regression, Aufmerksamkeitsnetzwerk (z. B. zum Verwenden bei einer Drehmomentvorhersage)
  • Im Beispiel von 1 empfängt der Server 110 Nutzungsinformationen vom Elektrowerkzeug 105. In einigen Ausführungsformen verwendet der Server 110 die empfangenen Nutzungsinformationen als zusätzliche Trainingsbeispiele (wenn z. B. der tatsächliche Wert oder Klassifizierung auch bekannt ist). In anderen Ausführungsformen sendet der Server 110 die empfangenen Nutzungsinformationen an die trainierte Steuerung 120 des maschinellen Lernens. Die Steuerung 120 des maschinellen Lernens generiert dann einen geschätzten Wert oder eine Klassifizierung auf der Grundlage der eingegebenen Nutzungsinformationen. Der elektronische Serverprozessor 425 generiert dann Empfehlungen für zukünftige Operationen des Elektrowerkzeugs 105. Zum Beispiel kann die trainierte Steuerung 120 des maschinellen Lernens bestimmen, dass die Befestigungseinrichtung sitzt. Der elektronische Serverprozessor 425 kann dann bestimmen, dass eine langsamere Motordrehzahl für den gewählten Betriebsmodus verwendet werden kann, um zu verhindern, dass die Befestigungseinrichtung zu fest angezogen wird oder zu fest sitzt. Der Server 110 kann dann die vorgeschlagenen Betriebsparameter an die externe Vorrichtung 107 senden. Die externe Vorrichtung 107 kann die vorgeschlagenen Änderungen der Betriebsparameter anzeigen und eine Bestätigung vom Benutzer zum Implementieren der vorgeschlagenen Änderungen anfordern, bevor die Änderungen an das Elektrowerkzeug 105 weitergeleitet werden. In anderen Ausführungsformen leitet die externe Vorrichtung 107 die vorgeschlagenen Änderungen an das Elektrowerkzeug 105 weiter und zeigt die vorgeschlagenen Änderungen an, um den Benutzer über die durch das Elektrowerkzeug 105 implementierten Änderungen zu informieren. Der Server 110 kann ein Server vor Ort, ein Cloud-basierter Server, ein Personal-Computer, ein Laptop, eine End-of-Line-Vorrichtung (z. B. ein Dynamometer) zum Testen eines gegebenen Elektrowerkzeugs 105, oder eine andere Rechenvorrichtung sein, die in der Lage ist, die Funktionen des Servers 110 durchzuführen.
  • In der in 1 dargestellten Ausführungsform generiert insbesondere die elektronische Serversteueranordnung einen Satz von Parametern und aktualisierten Schwellenwerten, die für den Betrieb des Elektrowerkzeugs 105 in konkreten Modi empfohlen werden. Zum Beispiel kann die Steuerung 120 des maschinellen Lernens detektieren, dass während verschiedener Operationen des Elektrowerkzeugs 105 im Schlagmodus das Elektrowerkzeug 105 von einer schnelleren durchschnittlichen Drehzahl des Motors während der ersten zehn Sekunden des Betriebs hätte profitieren können. Die Steuerung 120 des maschinellen Lernens kann dann einen Motordrehzahlschwellenwert eines Schlagmodus derart anpassen, dass die Motordrehzahl während der ersten zehn Sekunden des Schlagmodus des Elektrowerkzeugs 105 erhöht ist. Der Server 110 sendet dann den aktualisierten Motordrehzahlschwellenwert an das Elektrowerkzeug 105 über die externe Vorrichtung 107.
  • Das Elektrowerkzeug 105 empfängt den aktualisierten Motordrehzahlschwellenwert, aktualisiert den Schlagmodus gemäß dem aktualisierten Motordrehzahlschwellenwert, und arbeitet im Schlagmodus gemäß dem aktualisierten Motordrehzahlschwellenwert. In einigen Ausführungsformen sendet das Elektrowerkzeug 105 periodisch die Nutzungsdaten an den Server 110 auf der Grundlage eines vorgegebenen Zeitplans (z. B. alle acht Stunden). In anderen Ausführungsformen sendet das Elektrowerkzeug 105 die Nutzungsdaten nach einer vorgegebenen Inaktivitätszeitdauer (z. B. wenn das Elektrowerkzeug 105 zwei Stunden lang inaktiv war), was anzeigen kann, dass eine Betriebssitzung abgeschlossen wurde. In anderen Ausführungsformen sendet das Elektrowerkzeug 105 die Nutzungsdaten in Echtzeit an den Server 110, und kann die aktualisierten Schwellenwerte und Parameter in anschließenden Operationen implementieren.
  • 2 zeigt ein zweites Elektrowerkzeugsystem 200. Das zweite Elektrowerkzeugsystem 200 umfasst ein Elektrowerkzeug 205, die externe Vorrichtung 107, einen Server 210 und ein Netzwerk 215. Das Elektrowerkzeug 205 ist jenem des Elektrowerkzeugsystems 100 von 1 ähnlich und sammelt ähnliche Nutzungsinformationen wie jene, die in Bezug auf 1 beschrieben wurden. Anders als das Elektrowerkzeug 105 des ersten Elektrowerkzeugsystems 100 umfasst das Elektrowerkzeug 205 des zweiten Elektrowerkzeugsystems 200 eine statische Steuerung 220 des maschinellen Lernens. In der dargestellten Ausführungsform empfängt das Elektrowerkzeug 205 die statische Steuerung 220 des maschinellen Lernens vom Server 210 über das Netzwerk 215. In einigen Ausführungsformen empfängt das Elektrowerkzeug 205 die statische Steuerung 220 des maschinellen Lernens während der Herstellung, während in anderen Ausführungsformen ein Benutzer des Elektrowerkzeugs 205 wählen kann, die statische Steuerung 220 des maschinellen Lernens nach der Herstellung des Elektrowerkzeugs 205 und in einigen Ausführungsformen nach dem Betrieb des Elektrowerkzeugs 205 zu empfangen. Die statische Steuerung 220 des maschinellen Lernens ist eine trainierte Steuerung des maschinellen Lernens, die der trainierten Steuerung 120 des maschinellen Lernens ähnlich ist, bei der die Steuerung 120 des maschinellen Lernens unter Verwendung verschiedener Trainingsbeispiele trainiert wurde und derart ausgelegt ist, dass sie neue Eingabedaten empfängt und eine Schätzung oder Klassifizierung für die neuen Eingabedaten generiert.
  • Das Elektrowerkzeug 205 kommuniziert mit dem Server 210 zum Beispiel über die externe Vorrichtung 107, wie vorstehend unter Bezugnahme auf 1 beschrieben. Die externe Vorrichtung 107 kann außerdem zusätzliche Funktionalität (z. B. ein Generieren einer grafischen Benutzeroberfläche) für das Elektrowerkzeug 205 bereitstellen. Der Server 210 des Elektrowerkzeugsystems 200 kann Nutzungsinformationen von Elektrowerkzeugen, die dem Elektrowerkzeug 205 ähnlich sind, verwenden (zum Beispiel wenn das Elektrowerkzeug 205 eine Bohrmaschine ist, kann der Server 210 Nutzungsinformationen von verschiedenen anderen Bohrmaschinen empfangen), und trainiert ein Programm des maschinellen Lernens unter Verwendung von Trainingsbeispielen aus den empfangenen Nutzungsinformationen von den Elektrowerkzeugen. Der Server 210 sendet dann das trainierte Programm des maschinellen Lernens an die Steuerung 220 des maschinellen Lernens des Elektrowerkzeugs 205 zum Ausführen während zukünftiger Operationen des Elektrowerkzeugs 205.
  • Dementsprechend umfasst die statische Steuerung 220 des maschinellen Lernens ein trainiertes Programm des maschinellen Lernens, das zum Beispiel zum Zeitpunkt der Herstellung bereitgestellt wird. Während zukünftiger Operationen des Elektrowerkzeugs 205 analysiert die statische Steuerung 220 des maschinellen Lernens neue Nutzungsdaten vom Elektrowerkzeug 205 und generiert Empfehlungen oder Handlungen auf der Grundlage der neuen Nutzungsdaten. Wie vorstehend unter Bezugnahme auf die Steuerung 120 des maschinellen Lernens besprochen, weist die statische Steuerung 220 des maschinellen Lernens eine oder mehrere konkrete Aufgaben auf, wie zum Beispiel Bestimmen einer aktuellen Anwendung des Elektrowerkzeugs 205. In anderen Ausführungsformen kann die Aufgabe der statischen Steuerung 220 des maschinellen Lernens anders sein. In einigen Ausführungsformen kann ein Benutzer des Elektrowerkzeugs 205 eine Aufgabe für die statische Steuerung 220 des maschinellen Lernens zum Beispiel unter Verwendung einer durch die externe Vorrichtung 107 generierten grafischen Benutzeroberfläche wählen. Die externe Vorrichtung 107 kann dann die Zielaufgabe für die statische Steuerung 220 des maschinellen Lernens an den Server 210 senden. Der Server 210 sendet dann ein trainiertes Programm des maschinellen Lernens, das für die Zielaufgabe trainiert wurde, an die statische Steuerung 220 des maschinellen Lernens. Auf der Grundlage der Schätzungen oder Klassifizierungen von der statischen Steuerung 220 des maschinellen Lernens kann das Elektrowerkzeug 205 seinen Betrieb ändern, einen der Betriebsmodi des Elektrowerkzeugs 205 anpassen und/oder einen anderen Aspekt des Elektrowerkzeugs 205 anpassen. In einigen Ausführungsformen kann das Elektrowerkzeug 205 mehr als eine statische Steuerung 220 des maschinellen Lernens umfassen, die jeweils eine andere Zielaufgabe aufweisen.
  • 3 zeigt ein drittes Elektrowerkzeugsystem 300. Das dritte Elektrowerkzeugsystem 300 umfasst ebenfalls ein Elektrowerkzeug 305, eine externe Vorrichtung 107, einen Server 310 und ein Netzwerk 315. Das Elektrowerkzeug 305 ist den vorstehend beschriebenen Elektrowerkzeugen 105, 205 ähnlich und umfasst ähnliche Sensoren, die verschiedene Arten von Nutzungsinformationen des Elektrowerkzeugs 305 überwachen (z. B. Motordrehzahl, Ausgangsdrehmoment, Typ des Batteriepacks, Ladezustand des Akkupacks, und dergleichen). Das Elektrowerkzeug 305 des dritten Elektrowerkzeugsystems 300 umfasst jedoch eine einstellbare Steuerung 320 des maschinellen Lernens anstelle der statischen Steuerung 220 des maschinellen Lernens des zweiten Elektrowerkzeugs 205. In der dargestellten Ausführungsform empfängt die einstellbare Steuerung 320 des maschinellen Lernens des Elektrowerkzeugs 305 das Programm des maschinellen Lernens vom Server 310 über das Netzwerk 315. Anders als die statische Steuerung 220 des maschinellen Lernens des zweiten Elektrowerkzeugs 205 kann der Server 310 aktualisierte Versionen des Programms des maschinellen Lernens an die einstellbare Steuerung 320 des maschinellen Lernens senden, um vorherige Versionen zu ersetzen.
  • Das Elektrowerkzeug 305 des dritten Elektrowerkzeugsystems 300 sendet eine Rückmeldung an den Server 310 (zum Beispiel über die externe Vorrichtung 107) hinsichtlich des Betriebs der einstellbaren Steuerung 320 des maschinellen Lernens. Das Elektrowerkzeug 305 kann zum Beispiel einen Hinweis hinsichtlich der Anzahl von Operationen, die durch die einstellbare Steuerung 320 des maschinellen Lernens falsch klassifiziert wurden, an den Server 310 senden. Der Server 310 empfängt die Rückmeldung vom Elektrowerkzeug 305, aktualisiert das Programm des maschinellen Lernens, und stellt das aktualisierte Programm an die einstellbare Steuerung 320 des maschinellen Lernens bereit, um die Anzahl von Operationen, die falsch klassifiziert werden, zu reduzieren. Angesichts der vom Elektrowerkzeug 305 empfangenen Rückmeldung aktualisiert daher der Server 310 die Steuerung 320 des maschinellen Lernens oder trainiert diese erneut. In einigen Ausführungsformen verwendet der Server 310 auch Rückmeldungen, die von ähnlichen Elektrowerkzeugen empfangen werden, um die einstellbare Steuerung 320 des maschinellen Lernens einzustellen. In einigen Ausführungsformen aktualisiert der Server 310 die einstellbare Steuerung 320 des maschinellen Lernens periodisch (z. B. jeden Monat). In anderen Ausführungsformen aktualisiert der Server 310 die einstellbare Steuerung 320 des maschinellen Lernens, wenn der Server 310 eine vorgegebene Anzahl von Rückmeldungsangaben empfängt (z. B. nachdem der Server 310 zwei Rückmeldungsangaben empfängt). Die Rückmeldungsangaben können positiv sein (z. B. anzeigen, dass die einstellbare Steuerung 320 des maschinellen Lernens eine Bedingung, ein Ereignis, eine Operation oder eine Kombination davon korrekt klassifizierte), oder die Rückmeldung kann negativ sein (z. B. anzeigen, dass die einstellbare Steuerung 320 des maschinellen Lernens eine Bedingung, ein Ereignis, eine Operation, oder eine Kombination davon falsch klassifizierte). In einigen Beispielen können die Rückmeldungsangaben nummerisch (z. B. ein erzielter Drehmomentwert) oder kategorisch (gelöst, festsitzend, abgenutzt) sein.
  • In einigen Ausführungsformen verwendet der Server 310 auch Nutzungsdaten und/oder Sensordaten (rohe oder verarbeitete), die vom Elektrowerkzeug 305 und anderen ähnlichen Elektrowerkzeugen empfangen werden, um die einstellbare Steuerung 320 des maschinellen Lernens zu aktualisieren. Zum Beispiel kann der Server 310 die einstellbare Steuerung 320 des maschinellen Lernens auf der Grundlage der neulich empfangenen Nutzungsdaten neu trainieren (oder ihr Training anpassen). Der Server 310 sendet dann eine aktualisierte Version der einstellbaren Steuerung 320 des maschinellen Lernens an das Elektrowerkzeug 305.
  • Wenn das Elektrowerkzeug 305 die aktualisierte Version der einstellbaren Steuerung 320 des maschinellen Lernens empfängt (z. B. wenn ein aktualisiertes Programm des maschinellen Lernens an die Steuerung 320 des maschinellen Lernens bereitgestellt und darin gespeichert wird), ersetzt das Elektrowerkzeug 305 die aktuelle Version der einstellbaren Steuerung 320 des maschinellen Lernens durch die aktualisierte Version. In einigen Ausführungsformen wird das Elektrowerkzeug 305 mit einer ersten Version der einstellbaren Steuerung 320 des maschinellen Lernens während der Herstellung ausgestattet. In solchen Ausführungsformen kann der Benutzer des Elektrowerkzeugs 305 neue Versionen der einstellbaren Steuerung 320 des maschinellen Lernens anfordern. In einigen Beispielen kann eine Implementierung von Aktualisierungen und/oder eine Verwendung der Funktionalität des maschinellen Lernens durch ein Abonnement, einen Kauf und/oder ein Leasing bereitgestellt werden. In einigen Ausführungsformen kann der Benutzer eine Häufigkeit wählen, mit der die einstellbare Steuerung 320 des maschinellen Lernens an das Elektrowerkzeug 305 gesendet wird. In anderen Beispielen kann der Betrieb oder die Modusnutzung des Elektrowerkzeugs 305 deaktiviert sein, bis eine neuere Version der Steuerung 320 des maschinellen Lernens auf dem Elektrowerkzeug 305 eingerichtet wurde, und/oder ein Kalibrierungsschritt der Steuerung 320 des maschinellen Lernens und/oder des Elektrowerkzeugs 305 durchgeführt wurde.
  • 4A zeigt ein viertes Elektrowerkzeugsystem 400. Das vierte Elektrowerkzeugsystem 400 umfasst ein Elektrowerkzeug 405, eine externe Vorrichtung 107, ein Netzwerk 415 und einen Server 410. Das Elektrowerkzeug 405 umfasst eine selbstaktualisierende Steuerung 420 des maschinellen Lernens. Die selbstaktualisierende Steuerung 420 des maschinellen Lernens wird zunächst zum Beispiel während der Herstellung auf das Elektrowerkzeug 405 geladen. Die selbstaktualisierende Steuerung 420 des maschinellen Lernens aktualisiert sich selbst. Mit anderen Worten empfängt die selbstaktualisierende Steuerung 420 des maschinellen Lernens neue Nutzungsinformationen von den Sensoren im Elektrowerkzeug 405, Rückmeldungsinformationen, die gewünschte Änderungen an Betriebsparametern anzeigen (z. B. möchte der Benutzer die Motordrehzahl oder das Ausgangsdrehmoment erhöhen), Rückmeldungsinformation, die anzeigen, ob die durch die Steuerung 420 des maschinellen Lernens vorgenommene Klassifizierung falsch ist, oder eine Kombination davon. Die selbstaktualisierende Steuerung 420 des maschinellen Lernens verwendet dann die empfangenen Informationen, um die selbstaktualisierende Steuerung 420 des maschinellen Lernens neu zu trainieren.
  • In einigen Ausführungsformen trainiert das Elektrowerkzeug 405 die selbstaktualisierende Steuerung 420 des maschinellen Lernens erneut, wenn sich das Elektrowerkzeug 405 nicht in Betrieb befindet. Zum Beispiel kann das Elektrowerkzeug 405 detektieren, wenn der Motor einen vorgegebenen Zeitraum lang nicht in Betrieb war, und einen Neutrainingsprozess der selbstaktualisierenden Steuerung 420 des maschinellen Lernens beginnen, während das Elektrowerkzeug 405 weiterhin außer Betrieb bleibt. Ein Training der selbstaktualisierenden Steuerung 420 des maschinellen Lernens, während sich das Elektrowerkzeug 405 nicht in Betrieb befindet, ermöglicht es, dass mehr Verarbeitungsleistung für den Neutrainingsprozess verwendet wird, anstatt um Rechenressourcen zu konkurrieren, die normalerweise für den Betrieb des Elektrowerkzeugs 405 verwendet werden.
  • Wie in 4A dargestellt, kommuniziert in einigen Ausführungsformen das Elektrowerkzeug 450 auch mit der externen Vorrichtung 107 und einem Server 410. Zum Beispiel kommuniziert die externe Vorrichtung 107 mit dem Elektrowerkzeug 405, wie vorstehend unter Bezugnahme auf 1 bis 3 beschrieben. Die externe Vorrichtung 107 generiert eine grafische Benutzeroberfläche, um die Einstellung von Betriebsparametern des Elektrowerkzeugs 405 zu erleichtern. Die externe Vorrichtung 107 kann außerdem die Kommunikation zwischen dem Elektrowerkzeug 405 und dem Server 410 überbrücken. Zum Beispiel empfängt, wie vorstehend unter Bezugnahme auf 2 beschrieben, in einigen Ausführungsformen die externe Vorrichtung 107 eine Auswahl einer Zielaufgabe für die Steuerung 420 des maschinellen Lernens. Die externe Vorrichtung 107 kann dann ein entsprechendes Programm des maschinellen Lernens vom Server 410 zum Senden an das Elektrowerkzeug 405 anfordern. Das Elektrowerkzeug 405 kommuniziert außerdem mit dem Server 410 (z. B. über die externe Vorrichtung 107). In einigen Ausführungsformen kann der Server 410 außerdem die selbstaktualisierende Steuerung 420 des maschinellen Lernens neu trainieren, zum Beispiel wie vorstehend unter Bezugnahme auf 3 beschrieben. Der Server 410 kann zusätzliche Trainingsbeispiele von anderen ähnlichen Elektrowerkzeugen verwenden. Ein Verwenden dieser zusätzlichen Trainingsbeispiele kann eine größere Variabilität bereitstellen und letztendlich die Steuerung 420 des maschinellen Lernens zuverlässiger gestalten. In einigen Ausführungsformen trainiert das Elektrowerkzeug 405 die selbstaktualisierende Steuerung 420 des maschinellen Lernens erneut, wenn sich das Elektrowerkzeug 405 nicht in Betrieb befindet, und der Server 410 kann die Steuerung 420 des maschinellen Lernens neu trainieren, wenn das Elektrowerkzeug 405 in Betrieb bleibt (zum Beispiel während das Elektrowerkzeug 405 während eines geplanten erneuten Trainings der Steuerung 420 des maschinellen Lernens in Betrieb ist). Dementsprechend kann in einigen Ausführungsformen die selbstaktualisierende Steuerung 420 des maschinellen Lernens auf dem Elektrowerkzeug 405, durch den Server 410, oder mit einer Kombination davon erneut trainiert werden. In einigen Ausführungsformen trainiert der Server 410 die selbstaktualisierende Steuerung 420 des maschinellen Lernens nicht neu, tauscht aber dennoch Informationen mit dem Elektrowerkzeug 405 aus. Zum Beispiel kann der Server 410 andere Funktionalität für das Elektrowerkzeug 405 bereitstellen, wie zum Beispiel ein Senden von Informationen hinsichtlich verschiedener Betriebsmodi für das Elektrowerkzeug 405.
  • Jede von 1 bis 4A beschreibt ein Elektrowerkzeugsystem 100, 200, 300, 400, in dem ein Elektrowerkzeug 105, 205, 305, 405 mit einem Server 110, 210, 310, 410 und mit einer externen Vorrichtung 107 kommuniziert. Wie vorstehend unter Bezugnahme auf 1 besprochen, kann die externe Vorrichtung 107 eine Kommunikation zwischen dem Elektrowerkzeug 105, 205, 305, 405 und dem Server 110, 210, 310, 410 überbrücken. Das heißt, das Elektrowerkzeug 105, 205, 305, 405 kann direkt mit der externen Vorrichtung 107 kommunizieren. Die externe Vorrichtung 107 kann dann die vom Elektrowerkzeug 105, 205, 305, 405 empfangenen Informationen an den Server 110, 210, 310, 410 weiterleiten. Gleichermaßen kann der Server 110, 210, 310, 410 Informationen an die externe Vorrichtung 107 senden, die an das Elektrowerkzeug 105, 205, 305, 405 weiterzuleiten sind. In solchen Ausführungsformen kann das Elektrowerkzeug 105, 205, 305, 405 einen Transceiver zum Kommunizieren mit der externen Vorrichtung 107, zum Beispiel über ein Kommunikationsprotokoll für kurze Reichweiten, wie z. B. BLUETOOTH®, umfassen. Die externe Vorrichtung 107 kann einen Transceiver für kurze Reichweiten zum Kommunizieren mit dem Elektrowerkzeug 105, 205, 305, 405 umfassen, und kann außerdem einen Transceiver für große Reichweiten zum Kommunizieren mit dem Server 110, 210, 310, 410 umfassen. In einigen Ausführungsformen ist eine verdrahtete Verbindung (zum Beispiel über ein USB-Kabel) zwischen der externen Vorrichtung 107 und dem Elektrowerkzeug 105, 205, 405 bereitgestellt, um eine direkte Kommunikation zwischen der externen Vorrichtung 107 und dem Elektrowerkzeug 105, 205, 305, 405 zu ermöglichen. Ein Bereitstellen der verdrahteten Verbindung kann ein schnelleres und zuverlässigeres Kommunikationsverfahren zwischen der externen Vorrichtung 107 und dem Elektrowerkzeug 105, 205, 305, 405 bereitstellen.
  • Die externe Vorrichtung 107 kann zum Beispiel ein Smartphone, einen Tablet-Computer, ein Mobiltelefon, einen Laptop, eine Smartwatch und dergleichen umfassen. Der in 1 bis 4A dargestellte Server 110, 210, 310, 410 umfasst mindestens einen elektronischen Serverprozessor 425, einen Serverspeicher 430, und einen Transceiver zum Kommunizieren mit dem Elektrowerkzeug 105, 205, 305, 405 über das Netzwerk 115, 215, 315, 415. Der elektronische Serverprozessor 425 empfängt Werkzeugnutzungsdaten vom Elektrowerkzeug 105, 205, 305, 405, speichert die Werkzeugnutzungsdaten im Serverspeicher 430, und verwendet, in einigen Ausführungsformen, die empfangenen Werkzeugnutzungsdaten zum Erstellen und Anpassen der Steuerung 120, 220, 320, 420 des maschinellen Lernens. Der Begriff externe Systemvorrichtung kann hier verwendet werden, um auf eine oder mehrere von der externen Vorrichtung 107 und dem Server 110, 210, 310 und 410 zu verweisen, da sie sich jeweils außerhalb des Elektrowerkzeugs 105, 205, 305, 405 befinden. Außerdem ist in einigen Ausführungsformen die externe Systemvorrichtung ein drahtloser Hub, wie z. B. eine Beaconing-Vorrichtung, die auf einer Baustelle zum Überwachen von Werkzeugen angeordnet wird, als Gateway-Netzwerkvorrichtung (z. B. zum Bereitstellen eines Wi-Fi®-Netzwerks) fungiert, oder beides. Wie hier beschrieben, umfasst die externe Systemvorrichtung mindestens eine Eingabe-/Ausgabeeinheit (z. B. einen drahtlosen oder verdrahteten Transceiver) zur Kommunikation, einen Speicher, der Anweisungen speichert, und einen elektronischen Prozessor zum Ausführen von Anweisungen, die im Speicher gespeichert sind, um die der externen Systemvorrichtung zugeschriebene Funktionalität auszuführen.
  • In einigen Ausführungsformen kommuniziert das Elektrowerkzeug 405 möglicherweise nicht mit der externen Vorrichtung 107 oder dem Server 410. Zum Beispiel zeigt 4B das Elektrowerkzeug 405 mit keiner Verbindung mit der externen Vorrichtung 107 oder dem Server 410. Da das Elektrowerkzeug 405 die selbstaktualisierende Steuerung 420 des maschinellen Lernens umfasst, kann das Elektrowerkzeug 405 vielmehr die Steuerung 420 des maschinellen Lernens implementieren, eine Benutzerrückmeldung empfangen und die Steuerung 420 des maschinellen Lernens aktualisieren, ohne mit der externen Vorrichtung 107 oder dem Server 410 zu kommunizieren.
  • 4C zeigt ein fünftes Elektrowerkzeugsystem 450, das ein Elektrowerkzeug 455 und die externe Vorrichtung 107 umfasst. Die externe Vorrichtung 107 kommuniziert mit dem Elektrowerkzeug 455 unter Verwendung der verschiedenen Verfahren, die vorstehend unter Bezugnahme auf 1 bis 4A beschrieben wurden. Insbesondere sendet das Elektrowerkzeug 455 Betriebsdaten hinsichtlich des Betriebs des Elektrowerkzeugs 455 an die externe Vorrichtung 107. Die externe Vorrichtung 107 generiert eine grafische Benutzeroberfläche, um die Anpassung von Betriebsparametern des Elektrowerkzeugs 455 zu erleichtern und Informationen hinsichtlich des Betriebs des Elektrowerkzeugs 455 an den Benutzer bereitzustellen. In der dargestellten Ausführungsform von 4C umfasst die externe Vorrichtung 107 eine Steuerung 460 des maschinellen Lernens. In einigen Ausführungsformen ist die Steuerung 460 des maschinellen Lernens der Steuerung 120 des maschinellen Lernens von 1 ähnlich. In solchen Ausführungsformen empfängt die Steuerung 460 des maschinellen Lernens die Nutzungsinformationen vom Elektrowerkzeug 455 und generiert Empfehlungen für zukünftige Operationen des Elektrowerkzeugs 455. Die Steuerung 460 des maschinellen Lernens kann in solchen Ausführungsformen einen Satz von Parametern und aktualisierten Schwellenwerten generieren, die für den Betrieb des Elektrowerkzeugs 105 in konkreten Modi empfohlen werden. Die externe Vorrichtung 107 sendet dann den aktualisierten Satz von Parametern und aktualisierten Schwellenwerten an das Elektrowerkzeug 455 zum Implementieren.
  • In einigen Ausführungsformen ist die Steuerung 460 des maschinellen Lernens der Steuerung 320 des maschinellen Lernens von 3 ähnlich. In solchen Ausführungsformen kann die externe Vorrichtung 107 die Steuerung 460 des maschinellen Lernens zum Beispiel auf der Grundlage einer vom Elektrowerkzeug 455 empfangenen Rückmeldung und/oder anderer Betriebsdaten vom Elektrowerkzeug 455 aktualisieren. In solchen Ausführungsformen umfasst das Elektrowerkzeug 455 auch eine Steuerung des maschinellen Lernens, die zum Beispiel der einstellbaren Steuerung 320 des maschinellen Lernens von 3 ähnlich ist. Die externe Vorrichtung 107 kann dann die einstellbare Steuerung 320 des maschinellen Lernens modifizieren und aktualisieren und die Aktualisierungen der Steuerung 320 des maschinellen Lernens an das Elektrowerkzeug 455 für eine Implementierung kommunizieren. Zum Beispiel kann die externe Vorrichtung 107 die Rückmeldung vom Benutzer verwenden, um die Steuerung 460 des maschinellen Lernens erneut zu trainieren, um mit dem Training einer Steuerung 460 des maschinellen Lernens fortzufahren, die eine Steuerung des bestärkenden Lernens implementiert, oder kann in einigen Ausführungsformen die Rückmeldung verwenden, um zum Beispiel eine Schaltrate in einem rekurrenten neuronalen Netz anzupassen.
  • In einigen Ausführungsformen umfasst, wie vorstehend kurz besprochen, das Elektrowerkzeug 455 eine Steuerung des maschinellen Lernens. Die Steuerung des maschinellen Lernens des Elektrowerkzeugs 455 kann zum Beispiel der statischen Steuerung 220 des maschinellen Lernens von 2, der einstellbaren Steuerung 320 des maschinellen Lernens von 3, wie vorstehend beschrieben, oder der selbstaktualisierenden Steuerung 420 des maschinellen Lernens von 4A ähnlich sein.
  • 4D zeigt ein sechstes Elektrowerkzeugsystem 475, das einen Akkupack 480 umfasst. Der Akkupack 480 umfasst eine Steuerung 485 des maschinellen Lernens. Obwohl nicht dargestellt, kann der Akkupack 480 in einigen Ausführungsformen mit der externen Vorrichtung 107, einem Server, oder einer Kombination davon, zum Beispiel durch ein Netzwerk kommunizieren. Alternativ oder zusätzlich kann der Akkupack mit einem Elektrowerkzeug 455, wie z. B. einem Elektrowerkzeug 455, das an den Akkupack 480 angeschlossen ist, kommunizieren. Die externe Vorrichtung 107 und der Server können der externen Vorrichtung 107 und dem Server 110, 210, 310, 410, die vorstehend unter Bezugnahme auf 1 bis 4A beschrieben wurden, ähnlich sein. Die Steuerung 485 des maschinellen Lernens des Akkupacks 480 kann einer beliebigen der Steuerungen 220, 320, 420 des maschinellen Lernens, die vorstehend beschrieben wurden, ähnlich sein. In einer Ausführungsform steuert die Steuerung 220, 320, 420 des maschinellen Lernens den Betrieb des Akkupacks 480. Zum Beispiel kann die Steuerung 485 des maschinellen Lernens dabei helfen, verschiedene Akkubedingungen zu identifizieren, die für den Akkupack 480 nachteilig sein können, und kann den durch den Akkupack 480 bereitgestellten Strombetrag automatisch ändern (z. B. erhöhen oder verringern), und/oder kann einige der Schwellenwerte, die den Betrieb des Akkupacks 480 regeln, ändern. Zum Beispiel kann der Akkupack 480 anhand von Anweisungen der Steuerung 485 des maschinellen Lernens die Leistung reduzieren, um eine Überhitzung der Akkuzellen zu verhindern. In einigen Ausführungsformen kommuniziert der Akkupack 480 mit einem Elektrowerkzeug (z. B. dem Elektrowerkzeug 105, 205, 305, 405, 455 ähnlich) und die Steuerung 485 des maschinellen Lernens steuert zumindest einige Aspekte und/oder Operationen des Elektrowerkzeugs. Zum Beispiel kann der Akkupack 480 Nutzungsdaten (z. B. Sensordaten) vom Elektrowerkzeug empfangen und Ausgaben generieren, um den Betrieb des Elektrowerkzeugs zu steuern. Der Akkupack 480 kann dann die Steuerausgaben an den elektronischen Prozessor des Elektrowerkzeugs senden.
  • In noch weiteren Ausführungsformen ist ein Leistungssystem, das eine Ladeeinrichtung (z. B. zum Aufladen des Akkupacks 480 oder eines ähnlichen Akkupacks ohne eine Steuerung des maschinellen Lernens) umfasst, bereitgestellt, wobei die Ladeeinrichtung eine Steuerung des maschinellen Lernens umfasst, die jenen hier beschriebenen ähnelt. In anderen Ausführungsformen kann ein Adapter, der derart ausgelegt ist, dass er zwischen dem Akkupack 480 und dem Elektrowerkzeug, wie z. B. dem Elektrowerkzeug 305, angeordnet wird, eine Steuerung des maschinellen Lernens umfassen, die das Elektrowerkzeug steuern kann.
  • 1 bis 4C zeigen Beispielelektrowerkzeuge in Form eines Schlagschraubers 105, 205, 305, 405. Die konkreten hier dargestellten und beschriebenen Elektrowerkzeuge 105, 205, 305, 405 sind jedoch lediglich repräsentativ. In anderen Ausführungsformen können die hier beschriebenen Elektrowerkzeugsysteme 100, 200, 300, 400 verschiedene Typen von Elektrowerkzeugen umfassen, wie zum Beispiel eine Bohrmaschine, einen Bohrhammer, einen Akkuschrauber, einen Elektroschrauber, eine Elektroratsche, einen angetriebenen Drehmomentschlüssel, ein hydraulisches Impulswerkzeug, einen Schlagschrauber, einen Kraftschrauber, ein Reaktionsarmwerkzeug, eine Spannungskontrollpistole oder einen Spannungskontrollschrauber, einen Rohrschneider, einen Schleifer, einen Nagler, eine Fettpresse, einen Rasentrimmer, einen Rasenmäher, einen Schlammmischer, einen Hochdruckreiniger, Gebläse, Presslufthämmer, und dergleichen. Ein Elektrowerkzeug 105, 205, 305, 405 der Elektrowerkzeugsysteme 100, 200, 300, 400 ist derart ausgelegt, dass es eine oder mehrere konkrete Aufgaben ausführt (z. B. Bohren, Schneiden, Befestigen, Pressen, Auftragen von Schmiermitteln, Aufrauen der Oberfläche, Erhitzen, Schleifen, Biegen, Formen, Schlagen, Polieren, Beleuchten usw.). Zum Beispiel ist ein Schlagschrauber mit der Aufgabe assoziiert, eine Drehleistung zu generieren (z. B. um einen Bohrer anzutreiben), während eine Säbelsäge mit der Aufgabe assoziiert ist, eine hin- und hergehende Ausgangsbewegung zu generieren (z. B. um ein Sägeblatt zu schieben und zu ziehen). Die mit einem konkreten Werkzeug assoziierte(n) Aufgabe(n) kann(können) auch als die Hauptfunktion(en) des Werkzeugs bezeichnet werden. Jedes Elektrowerkzeug umfasst eine Antriebsvorrichtung, die speziell für die Hauptfunktion des Elektrowerkzeugs entwickelt wurde. Zum Beispiel ist in den dargestellten Ausführungsformen, in denen das Elektrowerkzeug einem Schlagschrauber entspricht, die Antriebsvorrichtung eine Steckdose. In Ausführungsformen jedoch, in denen das Elektrowerkzeug zum Beispiel eine Bohrmaschine ist, kann die Antriebsvorrichtung ein verstellbares Spannfutter als einen Bohreinsatzdreher umfassen.
  • Jede von 1 bis 4D zeigt verschiedene Ausführungsformen, in denen verschiedene Typen von Steuerungen 120, 220, 320, 420 des maschinellen Lernens in Verbindung mit dem Elektrowerkzeug 105, 205, 305, 405 verwendet werden. In einigen Ausführungsformen kann jedes Elektrowerkzeug 105, 205, 305, 405 mehr als eine Steuerung 120, 220, 320, 420 des maschinellen Lernens umfassen, und jede Steuerung 120, 220, 320, 420 des maschinellen Lernens kann einen anderen Typ aufweisen. Zum Beispiel kann ein Elektrowerkzeug 105, 205, 305, 405 eine statische Steuerung 220 des maschinellen Lernens umfassen, wie unter Bezugnahme auf 2 beschrieben, und kann auch eine selbstaktualisierende Steuerung 420 des maschinellen Lernens umfassen, wie unter Bezugnahme auf 4A beschrieben. In einem anderen Beispiel kann das Elektrowerkzeug 105, 205, 305, 405 eine statische Steuerung 220 des maschinellen Lernens umfassen. Die statische Steuerung 220 des maschinellen Lernens kann anschließend entfernt und zum Beispiel durch eine einstellbare Steuerung 320 des maschinellen Lernens ersetzt werden. Mit anderen Worten kann das gleiche Elektrowerkzeug eine beliebige der vorstehend unter Bezugnahme auf 1 bis 4B beschriebenen Steuerungen 120, 220, 320, 420 des maschinellen Lernens umfassen. Außerdem ist eine in 6 dargestellte und nachstehend ausführlicher beschriebene Steuerung 540 des maschinellen Lernens eine Beispielsteuerung, die als eine oder mehrere der Steuerungen 120, 220, 320, 420, 460 und 485 des maschinellen Lernens verwendet werden kann.
  • 5A ist ein Blockdiagramm eines repräsentativen Elektrowerkzeugs 500 in Form eines Schlagschraubers, das eine Steuerung des maschinellen Lernens umfasst. Ähnlich den Beispielelektrowerkzeugen von 1 bis 4C repräsentiert das Elektrowerkzeug 500 verschiedene Typen von Elektrowerkzeugen. Dementsprechend ist die Beschreibung hinsichtlich des Elektrowerkzeugs 500 gleichermaßen auf andere Typen von Elektrowerkzeugen anwendbar. Die Steuerung des maschinellen Lernens des Elektrowerkzeugs 500 kann eine statische Steuerung des maschinellen Lernens sein, die der statischen Steuerung 220 des maschinellen Lernens des zweiten Elektrowerkzeugs 205 ähnlich ist, eine einstellbare Steuerung des maschinellen Lernens, die der einstellbaren Steuerung 320 des maschinellen Lernens des dritten Elektrowerkzeugs 305 ähnlich ist, oder eine selbstaktualisierende Steuerung des maschinellen Lernens, die der selbstaktualisierenden Steuerung 420 des maschinellen Lernens des vierten Elektrowerkzeugs 405 ähnlich ist. Obwohl das Elektrowerkzeug 500 von 5A derart beschrieben ist, dass es sich in Kommunikation mit der externen Vorrichtung 107 oder mit einem Server befindet, ist in einigen Ausführungsformen das Elektrowerkzeug 500 hinsichtlich des maschinellen Lernens selbständig oder geschlossen, und muss nicht mit der externen Vorrichtung 107 oder dem Server kommunizieren, um die Funktionalität der Steuerung 540 des maschinellen Lernens durchzuführen, die nachstehend ausführlicher beschrieben wird.
  • Wie in 5A dargestellt, umfasst das Elektrowerkzeug 500 einen Motor 505, einen Auslöser 510, eine Leistungsschnittstelle 515, ein Schaltnetz 517, eine Leistungseingangssteuerung 520, eine drahtlose Kommunikationsvorrichtung 525, ein Moduspad 527, eine Mehrzahl von Sensoren 530, eine Mehrzahl von Indikatoren 535, und eine elektronische Steueranordnung 536. Die elektronische Steueranordnung 536 umfasst eine Steuerung 540 des maschinellen Lernens, einen Aktivierungsschalter 545 und einen elektronischen Prozessor 550. Der Motor 505 betätigt die Antriebsvorrichtung des Elektrowerkzeugs 500 und ermöglicht es der Antriebsvorrichtung, die konkrete Aufgabe für das Elektrowerkzeug 500 auszuführen. Der Motor 505 empfängt Leistung von einer externen Leistungsquelle durch die Leistungsschnittstelle 515. In einer Ausführungsform ist der Motor 505 ein Permanentmagnetmotor, wie z. B. ein bürstenloser Gleichstrommotor („BLDC“). In einer Ausführungsform umfasst die externe Leistungsquelle eine Wechselstrom-Leistungsquelle. In solchen Ausführungsformen umfasst die Leistungsschnittstelle 515 ein Wechselstromkabel, das z. B. an eine Wechselstromsteckdose angeschlossen werden kann. In anderen Ausführungsformen umfasst die externe Leistungsquelle einen Akkupack. In solchen Ausführungsformen umfasst die Leistungsschnittstelle 515 eine Akkupackschnittstelle. Die Akkupackschnittstelle kann einen Akkupack-Aufnahmeabschnitt auf dem Elektrowerkzeug 500 umfassen, der derart ausgelegt ist, dass er einen Akkupack (z. B. den Akkupack oder einen ähnlichen Akkupack ohne eine Steuerung des maschinellen Lernens) aufnimmt und mit ihm gekoppelt wird. Der Batteriepack-Aufnahmeabschnitt kann eine Verbindungsstruktur zum Eingreifen in einen Mechanismus, der den Akkupack sichert, und einen Anschlussblock zum elektrischen Verbinden des Akkupacks mit dem Elektrowerkzeug 500 umfassen.
  • Der Motor 505 wird auf der Grundlage eines Zustands des Auslösers 510 mit Strom versorgt. Im Allgemeinen wird der Motor 505 mit Strom versorgt, wenn der Auslöser 510 aktiviert ist, und wenn der Auslöser 510 deaktiviert ist, ist der Motor ausgeschaltet. In einigen Ausführungsformen, wie z. B. den in 1 bis 4C dargestellten Elektrowerkzeugen 105, 205, 305, 405, erstreckt sich der Auslöser 510 teilweise entlang einer Länge des Griffs des Elektrowerkzeugs und ist beweglich mit dem Griff gekoppelt, so dass sich der Auslöser 510 in Bezug auf das Gehäuse des Elektrowerkzeugs bewegt. In der dargestellten Ausführungsform ist der Auslöser 510 mit einem Auslöseschalter 555 gekoppelt, so dass der Auslöseschalter 555 aktiviert wird, wenn der Auslöser 510 gedrückt wird, und wenn der Auslöser losgelassen wird, der Auslöseschalter 555 deaktiviert wird. In der dargestellten Ausführungsform ist der Auslöser 510 vorgespannt (z. B. mit einem Vorspannelement, wie z. B. einer Feder), so dass sich der Auslöser 510 in eine zweite Richtung weg vom Griff des Elektrowerkzeugs 500 bewegt, wenn der Auslöser 510 durch den Benutzer losgelassen wird. Mit anderen Worten soll der Standardzustand des Auslöseschalters 555 deaktiviert sein, sofern ein Benutzer nicht den Auslöser 510 drückt und den Auslöseschalter 555 aktiviert.
  • Das Schaltnetz 517 ermöglicht es, dass der elektronische Prozessor 550 den Betrieb des Motors 505 steuert. Das Schaltnetz 517 umfasst eine Mehrzahl von elektronischen Schaltern (z. B. FETs, Bipolartransistoren und dergleichen), die miteinander verbunden sind, um ein Netz zu bilden, das die Aktivierung des Motors 505 unter Verwendung eines pulsweitenmodulierten (PWM) Signals steuert. Zum Beispiel kann das Schaltnetz 217 eine Sechs-FET-Brücke umfassen, die pulsweitenmodulierte (PWM) Signale vom elektronischen Prozessor 550 empfängt, um den Motor 505 anzutreiben. Im Allgemeinen wird elektrischer Strom von der Leistungsschnittstelle 515 an den Motor 505 über das Schaltnetz 517 geliefert, wenn der Auslöser 510 gedrückt ist, wie durch eine Ausgabe des Auslöseschalters 555 angezeigt. Wenn der Auslöser 510 nicht gedrückt ist, wird kein elektrischer Strom von der Leistungsschnittstelle 515 an den Motor 505 geliefert. Wie nachstehend ausführlicher besprochen, steht in einigen Ausführungsformen der durch den Auslöseschalter 555 detektierte Betrag der Betätigung des Auslösers mit einer gewünschten Drehzahl des Motors 505 im Zusammenhang oder entspricht dieser. In anderen Ausführungsformen entspricht der Betrag der Auslöserbetätigung einem gewünschten Drehmoment.
  • Als Antwort darauf, dass der elektronische Prozessor 550 das Aktivierungssignal vom Auslöseschalter 555 empfängt, aktiviert der elektronische Prozessor 550 das Schaltnetz 517, um Leistung an den Motor 505 zu liefern. Das Schaltnetz 517 steuert den für den Motor 505 verfügbaren Strombetrag und steuert dadurch die Drehzahl- und die Drehmomentausgaben des Motors 505. Das Moduspad 527 ermöglicht es einem Benutzer, einen Modus des Elektrowerkzeugs 500 auszuwählen, und zeigt dem Benutzer den aktuell gewählten Modus des Elektrowerkzeugs 500 an. In einigen Ausführungsformen umfasst das Moduspad 527 einen einzelnen Aktuator. In solchen Ausführungsformen kann ein Benutzer einen Betriebsmodus für das Elektrowerkzeug 500 zum Beispiel auf der Grundlage einer Anzahl von Betätigungen des Moduspads 527 auswählen. Wenn zum Beispiel der Benutzer den Aktuator drei Mal betätigt, kann das Elektrowerkzeug 500 in einem dritten Betriebsmodus arbeiten. In anderen Ausführungsformen umfasst das Moduspad 527 eine Mehrzahl von Aktuatoren, wobei jeder Aktuator einem anderen Betriebsmodus entspricht. Das Moduspad 527 kann zum Beispiel vier Aktuatoren umfassen, wenn der Benutzer einen der vier Aktuatoren betätigt, kann das Elektrowerkzeug 500 in einem ersten Betriebsmodus arbeiten. Der elektronische Prozessor 550 empfängt eine Benutzerauswahl eines Betriebsmodus über das Moduspad 527 und steuert das Schaltnetz 517, so dass der Motor 505 gemäß dem gewählten Betriebsmodus betrieben wird. In einigen Ausführungsformen umfasst das Elektrowerkzeug 500 kein Moduspad 527. In solchen Ausführungsformen kann das Elektrowerkzeug 500 in einem einzelnen Modus arbeiten oder kann einen anderen Auswahlmechanismus zum Auswählen eines Betriebsmodus für das Elektrowerkzeug 500 umfassen. In einigen Ausführungsformen wählt, wie nachstehend ausführlicher beschrieben, das Elektrowerkzeug 500 (z. B. die elektronische Steueranordnung 536) automatisch einen Betriebsmodus für das Elektrowerkzeug 500 zum Beispiel unter Verwendung der Steuerung 540 des maschinellen Lernens.
  • Die Sensoren 530 sind mit dem elektronischen Prozessor 550 gekoppelt und kommunizieren verschiedene Ausgangssignale an den elektronischen Prozessor 550, die verschiedene Parameter des Elektrowerkzeugs 500 oder des Motors 505 anzeigen. Die Sensoren 530 umfassen zum Beispiel Hall-Effekt-Sensoren, Motorstromsensoren, Motorspannungssensoren, Temperatursensoren, Drehmomentsensoren, Positions- oder Bewegungssensoren, wie z. B. Beschleunigungsmesser oder Gyroskope, und dergleichen. Die Hall-Effekt-Sensoren geben Motorrückmeldungsinformationen an den elektronischen Prozessor 550 aus, wie z. B. eine Angabe (z. B. einen Impuls), die mit der Position des Motors, der Geschwindigkeit, und Beschleunigung des Rotors des Motors 505 im Zusammenhang steht. In einigen Ausführungsformen verwendet der elektronische Prozessor 550 die Motorrückmeldungsinformationen von den Hall-Effekt-Sensoren, um das Schaltnetz 517 zu steuern, um den Motor 505 anzutreiben. Zum Beispiel wird durch selektives Aktivieren und Deaktivieren des Schaltnetzes 517 Leistung selektiv an den Motor 505 geliefert, um eine Drehung des Motors mit einer konkreten Drehzahl, einem konkreten Drehmoment oder einer Kombination davon zu veranlassen. Der elektronische Prozessor 550 kann außerdem den Betrieb des Schaltnetzes 517 und des Motors 505 auf der Grundlage anderer Sensoren, die im Elektrowerkzeug 500 aufgenommen sind, steuern. Zum Beispiel ändert in einigen Ausführungsformen der elektronische Prozessor 550 die Steuersignale auf der Grundlage eines Sensorausgangssignals, das eine Anzahl von Schlägen, die durch das Elektrowerkzeug 500 abgegeben wurden, anzeigt,
    eines Sensorausgangssignals, das eine Geschwindigkeit des Ambosses des Elektrowerkzeugs 500 anzeigt, und dergleichen. In anderen Beispielen können Gegen-EMK-Spannungen unter Verwendung eines oder mehrerer Sensoren gemessen werden, um die Motorposition während des Betriebs des Elektrowerkzeugs 105 abzuleiten (z. B. „sensorlose Positionsdetektion“). Die Ausgangssignale der Sensoren werden verwendet, um das richtige Timing von Steuersignalen an das Schaltnetz 517 sicherzustellen und in einigen Fällen eine Rückkopplung im geschlossenen Regelkreis bereitzustellen, um die Drehzahl des Motors 505 derart zu steuern, dass sie innerhalb eines Zielbereichs oder auf einem Zielpegel liegt.
  • Die Indikatoren 535 sind auch mit dem elektronischen Prozessor 550 gekoppelt. Die Indikatoren 535 empfangen Steuersignale vom elektronischen Prozessor 550, um ein visuelles Signal zu generieren, um Informationen bezüglich des Betriebs oder des Zustands des Elektrowerkzeugs 500 dem Benutzer mitzuteilen. Die Indikatoren 535 können zum Beispiel LEDs oder einen Anzeigebildschirm umfassen und können verschiedene Signale generieren, die zum Beispiel einen Betriebszustand oder -modus des Elektrowerkzeugs 500, einen abnormalen Zustand oder ein ungewöhnliches Ereignis, das während des Betriebs des Elektrowerkzeugs 500 detektiert wurde, und dergleichen anzeigen. Zum Beispiel können die Indikatoren 535 gemessene elektrische Charakteristiken des Elektrowerkzeugs 500, den Zustand oder Status des Elektrowerkzeugs 500, einen Betriebsmodus des Elektrowerkzeugs 500 (nachstehend ausführlicher besprochen) und dergleichen anzeigen. In einigen Ausführungsformen umfassen die Indikatoren 535 Elemente, um Informationen an einen Benutzer mithilfe akustischer oder taktiler Ausgaben zu übermitteln. In einigen Ausführungsformen umfasst das Elektrowerkzeug 500 keine Indikatoren 535. In einigen Ausführungsformen warnt der Betrieb des Elektrowerkzeugs 500 den Benutzer hinsichtlich eines Zustands des Elektrowerkzeugs. Zum Beispiel kann eine schnelle Verzögerung des Motors 505 anzeigen, dass eine abnormale Bedingung vorhanden ist. In einigen Ausführungsformen kommuniziert das Elektrowerkzeug 500 mit der externen Vorrichtung 107, und die externe Vorrichtung 107 generiert eine grafische Benutzeroberfläche, die Informationen an den Benutzer übermittelt, ohne dass Indikatoren 535 auf dem Elektrowerkzeug 500 selbst benötigt werden.
  • Die Leistungsschnittstelle 515 ist mit der Leistungseingangssteuerung 520 gekoppelt. Die Leistungsschnittstelle 515 sendet die von der externen Leistungsquelle empfangene Leistung an die Leistungseingangssteuerung 520. Die Leistungseingangssteuerung 520 umfasst aktive und/oder passive Komponenten (z. B. Spannungsabwärtsregler, Spannungswandler, Gleichrichter, Filter usw.), um die durch die Leistungsschnittstelle 515 empfangene Leistung an den elektronischen Prozessor 550 und andere Komponenten des Elektrowerkzeugs 500, wie z. B. die drahtlose Kommunikationsvorrichtung 525, zu regeln oder zu steuern.
  • Die drahtlose Kommunikationsvorrichtung 525 ist mit dem elektronischen Prozessor 550 gekoppelt. In den Beispielelektrowerkzeugen 105, 205, 305, 405 von 1 bis 4A und 4C ist die drahtlose Kommunikationsvorrichtung 525 in der Nähe des Fußes des Elektrowerkzeugs 105, 205, 305, 405 angeordnet (siehe 1 bis 4), um Platz zu sparen und sicherzustellen, dass die magnetische Aktivität des Motors 505 die drahtlose Kommunikation zwischen dem Elektrowerkzeug 500 und dem Server 110, 210, 310, 410 oder mit einer externen Vorrichtung 107 nicht beeinträchtigt. In einem konkreten Beispiel ist die drahtlose Kommunikationsvorrichtung 525 unter dem Moduspad 527 angeordnet. Die drahtlose Kommunikationsvorrichtung 525 kann zum Beispiel einen Funktransceiver und eine Antenne, einen Speicher, einen Prozessor und eine Echtzeituhr umfassen. Der Funktransceiver und die Antenne arbeiten zusammen, um drahtlose Nachrichten an die externe Vorrichtung 107, ein zweites Elektrowerkzeug 500 oder den Server 110, 210, 310, 410 und den Prozessor zu senden und von diesen zu empfangen. Der Speicher der drahtlosen Kommunikationsvorrichtung 525 speichert Anweisungen, die durch den Prozessor zu implementieren sind, und/oder kann Daten speichern, die mit Kommunikationen zwischen dem Elektrowerkzeug 500 und der externen Vorrichtung 107, einem zweiten Elektrowerkzeug 500 oder dem Server 110, 210, 310, 410 im Zusammenhang stehen. Der Prozessor für die drahtlose Kommunikationsvorrichtung 525 steuert drahtlose Kommunikationen zwischen dem Elektrowerkzeug 500 und der externen Vorrichtung 107, einem zweiten Elektrowerkzeug 500, oder dem Server 110, 210, 310, 410. Zum Beispiel puffert der Prozessor der drahtlosen Kommunikationsvorrichtung 525 eingehende und/oder ausgehende Daten, kommuniziert mit dem elektronischen Prozessor 550 und bestimmt das Kommunikationsprotokoll und/oder Einstellungen, die in drahtlosen Kommunikationen verwendet werden.
  • In einigen Ausführungsformen ist die drahtlose Kommunikationsvorrichtung 525 eine Bluetooth®-Steuerung. Die Bluetooth®-Steuerung kommuniziert mit der externen Vorrichtung 107, einem zweiten Elektrowerkzeug 500 oder dem Server 110, 210, 310, 410, indem das Bluetooth® -Protokoll eingesetzt wird. In solchen Ausführungsformen befinden sich daher die externe Vorrichtung 107, ein zweites Elektrowerkzeug 500 oder der Server 110, 210, 310, 410 und das Elektrowerkzeug 500 innerhalb eines Kommunikationsbereichs (d. h. in der Nähe) zueinander, während sie Daten austauschen. In anderen Ausführungsformen kommuniziert die drahtlose Kommunikationsvorrichtung 525 unter Verwendung anderer Protokolle (z. B. Wi-Fi, Mobilfunkprotokolle, eines proprietären Protokolls usw.) über einen anderen Typ eines drahtlosen Netzwerks. Zum Beispiel kann die drahtlose Kommunikationsvorrichtung 525 derart ausgelegt sein, dass sie über Wi-Fi über ein Weitverkehrsnetz, wie z. B. das Internet, oder ein lokales Netzwerk kommuniziert, oder über ein Piconet (z. B. unter Verwendung von Infrarot- oder NFC-Kommunikationen) kommuniziert. Die Kommunikation über die drahtlose Kommunikationsvorrichtung 525 kann verschlüsselt sein, um die zwischen dem Elektrowerkzeug 500 und der externen Vorrichtung 107, einem zweiten Elektrowerkzeug 500 oder dem Server 110, 210, 310, 410 ausgetauschte Daten vor Dritten zu schützen.
  • In einigen Ausführungsformen umfasst die drahtlose Kommunikationsvorrichtung 525 eine Echtzeituhr (RTC). Die RTC erhöht die Zeit und hält sie unabhängig von den anderen Komponenten des Elektrowerkzeugs. Die RTC empfängt Leistung von der Leistungsschnittstelle 515, wenn die externe Leistungsquelle mit dem Elektrowerkzeug 500 verbunden ist, und kann Leistung von einer Reserveleistungsquelle empfangen, wenn die externe Leistungsquelle nicht mit dem Elektrowerkzeug 500 verbunden ist. Die RTC kann die Betriebsdaten vom Elektrowerkzeug 500 mit einem Zeitstempel versehen. Außerdem kann die RTC eine Sicherheitsfunktion aktivieren, in der das Elektrowerkzeug 500 deaktiviert ist (z. B. gesperrt und funktionsunfähig gemacht wird), wenn die Zeit der RTC eine durch den Benutzer bestimmte Sperrzeit überschreitet.
  • Die drahtlose Kommunikationsvorrichtung 525 exportiert in einigen Ausführungsformen Werkzeugnutzungsdaten, Wartungsdaten, Modusinformationen, Antriebsvorrichtungsinformationen und dergleichen vom Elektrowerkzeug 500 (z. B. vom Prozessor 550 des Elektrowerkzeugs). Die exportierten Daten können zum Beispiel anzeigen, wenn Arbeiten vollendet wurden, und dass Arbeiten gemäß Spezifikation vollendet wurden. Die exportierten Daten können außerdem eine chronologische Aufzeichnung von durchgeführten Arbeiten bereitstellen, die Dauer der Werkzeugnutzung verfolgen, und dergleichen. Der Server 110, 210, 310, 410 empfängt die exportierten Informationen entweder direkt von der drahtlosen Kommunikationsvorrichtung 525 oder durch eine externe Vorrichtung 107, und protokolliert die vom Elektrowerkzeug 500 empfangenen Daten. Wie nachstehend ausführlicher besprochen, können die exportierten Daten durch das Elektrowerkzeug 500, die externe Vorrichtung 107 oder den Server 110, 210, 310, 410 verwendet werden, um eine Steuerung des maschinellen Lernens zu trainieren oder anzupassen, die für ähnliche Elektrowerkzeuge relevant ist. Die drahtlose Kommunikationsvorrichtung 525 kann außerdem Informationen vom Server 110, 210, 310, 410, der externen Vorrichtung 107 oder einem zweiten Elektrowerkzeug 500 empfangen, wie z. B. Konfigurationsdaten, Betriebsschwellenwerte, Wartungsschwellenwerte, Moduskonfigurationen, Programme für das Elektrowerkzeug 500, aktualisierte Steuerungen des maschinellen Lernens für das Elektrowerkzeug 500 und dergleichen. Zum Beispiel kann die drahtlose Kommunikationsvorrichtung 525 Informationen mit einem zweiten Elektrowerkzeug 500 direkt oder über eine externe Vorrichtung 107 austauschen.
  • In einigen Ausführungsformen kommuniziert das Elektrowerkzeug 500 nicht mit der externen Vorrichtung 107 oder mit dem Server 110, 210, 310, 410 (z. B. Elektrowerkzeug 405 in 4B). Dementsprechend umfasst in einigen Ausführungsformen das Elektrowerkzeug 500 die vorstehend beschriebene drahtlose Kommunikationsvorrichtung 525 nicht. In einigen Ausführungsformen umfasst das Elektrowerkzeug 500 eine verdrahtete Kommunikationsschnittstelle, um zum Beispiel mit der externen Vorrichtung 107 oder einer anderen Vorrichtung (z. B. einem anderen Elektrowerkzeug 500) zu kommunizieren. Die verdrahtete Kommunikationsschnittstelle kann einen schnelleren Kommunikationsweg bereitstellen als die drahtlose Kommunikationsvorrichtung 525.
  • In einigen Ausführungsformen umfasst das Elektrowerkzeug 500 eine Einstellung zur gemeinsamen Nutzung von Daten. Die Einstellung zur gemeinsamen Nutzung von Daten zeigt an, welche Daten, falls überhaupt, vom Elektrowerkzeug 500 an den Server 110, 210, 310, 410 exportiert werden. In einer Ausführungsform empfängt das Elektrowerkzeug 500 (z. B. über eine durch die externe Vorrichtung 107 generierte grafische Benutzeroberfläche) eine Angabe des Typs von Daten, die vom Elektrowerkzeug 500 exportiert werden sollen. In einer Ausführungsform kann die externe Vorrichtung 107 verschiedene Optionen oder Ebenen der gemeinsamen Datennutzung für das Elektrowerkzeug 500 anzeigen, und die externe Vorrichtung 107 empfängt die Auswahl des Benutzers über ihre generierte grafische Benutzeroberfläche. Zum Beispiel kann das Elektrowerkzeug 500 eine Anzeige empfangen, dass lediglich Nutzungsdaten (z. B. Motorstrom und -spannung, Anzahl von abgegebenen Schlägen, mit jedem Schlag assoziiertes Drehmoment und dergleichen) vom Elektrowerkzeug 500 zu exportieren sind, aber Informationen zum Beispiel bezüglich der durch das Elektrowerkzeug 500 implementierten Modi, des Standorts des Elektrowerkzeugs 500 und dergleichen nicht exportiert werden dürfen. In einigen Ausführungsformen kann die Einstellung zur gemeinsamen Nutzung von Daten eine binäre Anzeige sein, ob Daten bezüglich des Betriebs des Elektrowerkzeugs 500 (z. B. Nutzungsdaten) an den Server 110, 210, 310, 410 gesendet werden oder nicht. Das Elektrowerkzeug 500 empfängt die Auswahl des Benutzers für die Einstellung der gemeinsamen Nutzung von Daten und speichert die Einstellung zur gemeinsamen Nutzung von Daten im Speicher, um die Kommunikation der drahtlosen Kommunikationsvorrichtung 525 gemäß der gewählten Einstellung zur gemeinsamen Nutzung von Daten zu steuern.
  • Die elektronische Steueranordnung 536 ist elektrisch und/oder kommunikativ mit einer Vielfalt von Modulen oder Komponenten des Elektrowerkzeugs 500 verbunden. Die elektronische Anordnung 536 steuert den Motor 505 auf der Grundlage der Ausgaben und Bestimmungen von der Steuerung 540 des maschinellen Lernens. Insbesondere umfasst die elektronische Steueranordnung 136 den elektronischen Prozessor 550 (auch als eine elektronische Steuerung bezeichnet), die Steuerung 540 des maschinellen Lernens und den entsprechenden Aktivierungsschalter 545. In einigen Ausführungsformen umfasst der elektronische Prozessor 550 eine Mehrzahl von elektrischen und elektronischen Komponenten, die Leistung, Betriebssteuerung und Schutz für die Komponenten und Module innerhalb des elektronischen Prozessors 550 und/oder des Elektrowerkzeugs 500 bereitstellen. Zum Beispiel umfasst der elektronische Prozessor 550 unter anderem eine Verarbeitungseinheit 557 (z. B. einen Mikroprozessor, einen Mikrocontroller oder eine andere geeignete programmierbare Vorrichtung), einen Speicher 560, Eingabeeinheiten 565 und Ausgabeeinheiten 570. Die Verarbeitungseinheit 557 umfasst unter anderem eine Steuereinheit 572, eine arithmetisch-logische Einheit („ALU“) 574 und eine Mehrzahl von Registern 576. In einigen Ausführungsformen ist der elektronische Prozessor 550 teilweise oder vollständig auf einem Halbleiterchip (z. B. einem „FPGA“-Halbleiterchip (Field Programmable Gate Array)) oder einer anwendungsspezifischen integrierten Schaltung („ASIC“) implementiert, wie z. B. einem Chip, der über einen „RTL“-Designprozess (Register Transfer Level) entwickelt wurde.
  • Der Speicher 560 umfasst zum Beispiel einen Programmspeicherbereich 580 und Datenspeicherbereich 582. Der Programmspeicherbereich 580 und der Datenspeicherbereich 582 können Kombinationen verschiedener Typen von Speicher umfassen, wie z. B. einen Festwertspeicher („ROM“), einen Direktzugriffsspeicher („RAM“) (z. B. einen dynamischen RAM [„DRAM“], einen synchronen DRAM [„SDRAM“] usw.), einen elektrisch löschbaren programmierbarem Nur-Lese-Speicher („EEPROM“), einen Flash-Speicher, eine Festplatte, eine SD-Karte oder andere geeignete magnetische, optische, physische oder elektronische Speichervorrichtungen. Der elektronische Prozessor 230 ist mit dem Speicher 560 verbunden und führt Software-Anweisungen aus, die in einem RAM des Speichers 560 (z. B. während der Ausführung), einem ROM des Speichers 560 (z. B. grundsätzlich dauerhaft) oder einem anderen nichttransitorischen computerlesbaren Medium, wie z. B. einem anderen Speicher oder einer Disk gespeichert werden können. Software, die in der Implementierung des Elektrowerkzeugs 500 aufgenommen ist, kann im Speicher 560 des elektronischen Prozessors 550 gespeichert werden. Die Software umfasst zum Beispiel eine Firmware, eine oder mehrere Anwendungen, Programmdaten, Filter, Regeln, ein oder mehrere Programmmodule und andere ausführbare Anweisungen. In einigen Ausführungsformen kann die Steuerung 540 des maschinellen Lernens im Speicher 560 des elektronischen Prozessors 550 gespeichert werden und wird durch die Verarbeitungseinheit 557 ausgeführt.
  • Der elektronische Prozessor 550 ist derart ausgelegt, dass er unter anderem Anweisungen, die mit den hier beschriebenen Steuerprozessen und -verfahren im Zusammenhang stehen, aus dem Speicher 560 abruft und ausführt. Der elektronische Prozessor 550 ist außerdem derart ausgelegt, dass er Elektrowerkzeuginformationen im Speicher 560 speichert, die Werkzeugnutzungsinformationen, Informationen, die den Typ des Werkzeugs identifizieren, eine eindeutige Kennung für das konkrete Werkzeug, Benutzercharakteristiken (z. B. Identität, Berufstyp, Qualifikationsniveau) und andere Informationen, die für den Betrieb oder eine Wartung des Elektrowerkzeugs 500 relevant sind (z. B. von einer externen Quelle, wie z. B. der externen Vorrichtung 107 empfangen oder zum Zeitpunkt der Herstellung vorprogrammiert) umfassen. Die Werkzeugnutzungsinformation, wie z. B. Strompegel, Motordrehzahl, Motorbeschleunigung, Motorrichtung, Anzahl von Schlägen, können erfasst oder aus einer Datenausgabe durch die Sensoren 530 abgeleitet werden. Insbesondere zeigt Tabelle 3 Beispieltypen von Werkzeugnutzungsinformationen, die durch den elektronischen Prozessor 550 erfasst oder abgeleitet werden können. In anderen Konstruktionen umfasst der elektronische Prozessor 550 zusätzliche, weniger oder andere Komponenten.
    Tabelle 3
    Datentyp Zeitreihendaten Nicht-Zeitreihendaten
    Rohdaten Auslöser, Strom, Spannung, Drehzahl, Drehmoment, Temperatur, Bewegung, Zeitpunkt zwischen Ereignissen (z. B. Schlägen) usw. Dauer, Datum, Uhrzeit, Zeitpunkt, Zeit seit der letzten Verwendung, Modus, Kupplungseinstellung, Richtung, Akkutyp, Vorhandensein eines Seitengriffs, Fehler, Verlauf vergangener Anwendungen und Schalthäufigkeit, Benutzereingaben, externe Eingaben, Gang usw.
    Abgeleitete Funktionen Gefilterte Werte von Rohdaten, schnelle Fourier-Transformationen (FFTs), unterabgetastete/gepoolte Daten, angepasste Parameter (z. B. Polynomanpassungen), PCA, durch Encoder-[Decoder]-Netzwerke generierte Merkmale, abgeleitete Merkmale (z. B. geschätzte Energie, Impuls, Trägheit von System), Ableitungen/Integrale/Funktionen/Akkumulatoren von Parametern, aufgefüllte Daten, Schiebefenster von Daten usw. Hauptkomponentenanalyse (PCA), durch Encoder-[Decoder]-Netzwerke generierte Merkmale, Wahrscheinlichkeitsmatrix der Anwendung/Verlauf, Funktionen von Eingaben usw.
  • Die Steuerung 540 des maschinellen Lernens ist mit dem elektronischen Prozessor 550 und mit dem Aktivierungsschalter 545 gekoppelt. Der Aktivierungsschalter 545 schaltet zwischen einem aktivierten Zustand und einem deaktivierten Zustand. Wenn sich der Aktivierungsschalter 545 im aktivierten Zustand befindet, befindet sich der elektronische Prozessor 550 in Kommunikation mit der Steuerung 540 des maschinellen Lernens und empfängt Entscheidungsausgaben von der Steuerung 540 des maschinellen Lernens. Wenn sich der Aktivierungsschalter 545 im deaktivierten Zustand befindet, befindet sich der elektronische Prozessor 550 nicht in Kommunikation mit der Steuerung 540 des maschinellen Lernens. Mit anderen Worten aktiviert und deaktiviert der Aktivierungsschalter 545 selektiv die Steuerung 540 des maschinellen Lernens. Wie vorstehend unter Bezugnahme auf 1 bis 4D beschrieben, umfasst die Steuerung 540 des maschinellen Lernens eine trainierte Steuerung des maschinellen Lernens, die vorher gesammelte Elektrowerkzeug-Nutzungsdaten nutzt, um neue Nutzungsdaten vom Elektrowerkzeug 500 zu analysieren und klassifizieren. Wie nachstehend ausführlicher erläutert, kann die Steuerung 540 des maschinellen Lernens Bedingungen, Anwendungen und Zustände des Elektrowerkzeugs identifizieren. In einer Ausführungsform schaltet der Aktivierungsschalter 545 zwischen einem aktivierten Zustand und einem deaktivierten Zustand. In solchen Ausführungsformen steuert, während sich der Aktivierungsschalter 545 im aktivierten Zustand befindet, der elektronische Prozessor 550 den Betrieb des Elektrowerkzeugs 500 (z. B. ändert den Betrieb des Motors 505) auf der Grundlage der Bestimmungen von der Steuerung 540 des maschinellen Lernens. Wenn sich der Aktivierungsschalter 545 dagegen im deaktivierten Zustand befindet, ist die Steuerung 540 des maschinellen Lernens deaktiviert und die Steuerung 540 des maschinellen Lernens nimmt keinen Einfluss auf den Betrieb des Elektrowerkzeugs 500. In einigen Ausführungsformen schaltet jedoch der Aktivierungsschalter 545 zwischen einem aktivierten Zustand und einem Hintergrundzustand. In solchen Ausführungsformen steuert, wenn sich der Aktivierungsschalter 545 im aktivierten Zustand befindet, der elektronische Prozessor 550 den Betrieb des Elektrowerkzeugs 500 auf der Grundlage der Bestimmungen oder Ausgaben von der Steuerung 540 des maschinellen Lernens. Wenn sich jedoch der Aktivierungsschalter 545 im Hintergrundzustand befindet, generiert die Steuerung 540 des maschinellen Lernens weiterhin eine Ausgabe auf der Grundlage der Nutzungsdaten des Elektrowerkzeugs 500 und kann Schwellenwerte oder andere Betriebspegel berechnen (z. B. bestimmen), aber der elektronische Prozessor 550 ändert nicht den Betrieb des Elektrowerkzeugs 500 auf der Grundlage der Bestimmungen und/oder Ausgaben von der Steuerung 540 des maschinellen Lernens. Mit anderen Worten arbeitet in solchen Ausführungsformen die Steuerung 540 des maschinellen Lernens im Hintergrund, ohne den Betrieb des Elektrowerkzeugs 500 zu beeinflussen. In einigen Ausführungsformen ist der Aktivierungsschalter 545 im Elektrowerkzeug 500 nicht aufgenommen und die Steuerung 540 des maschinellen Lernens bleibt im aktivierten Zustand oder wird derart gesteuert, dass sie zum Beispiel über drahtlose Signale vom Server (z. B. den Servern 110, 210, 310, 410) oder von der externen Vorrichtung 107 aktiviert oder deaktiviert wird.
  • Wie in 5B dargestellt, umfasst die Steuerung 540 des maschinellen Lernens einen elektronischen Prozessor 575 und einen Speicher 584. Der Speicher 584 speichert eine Steuerung 585 des maschinellen Lernens. Die Steuerung 585 des maschinellen Lernens kann ein trainiertes Programm des maschinellen Lernens umfassen, wie vorstehend unter Bezugnahme auf 1 bis 4D beschrieben. In der dargestellten Ausführungsform umfasst der elektronische Prozessor 575 eine Grafikverarbeitungseinheit. In der Ausführungsform von 5B ist die Steuerung 540 des maschinellen Lernens auf einer separaten Leiterplatte (PCB) vom elektronischen Prozessor 550 des Elektrowerkzeugs 500 angeordnet. Die PCB des elektronischen Prozessors 550 und der Steuerung 540 des maschinellen Lernens sind zum Beispiel mit Drähten oder Leitungen gekoppelt, um es zu ermöglichen, dass der elektronische Prozessor 550 des Elektrowerkzeugs 500 den Motor 505 auf der Grundlage der Ausgaben und Bestimmungen von der Steuerung 540 des maschinellen Lernens steuert. In anderen Ausführungsformen kann jedoch die Steuerung 585 des maschinellen Lernens im Speicher 560 des elektronischen Prozessors 550 gespeichert sein und kann durch die Verarbeitungseinheit 557 implementiert werden. In solchen Ausführungsformen umfasst die elektronische Steueranordnung 536 einen einzelnen elektronischen Prozessor 550. In noch anderen Ausführungsformen wird die Steuerung 540 des maschinellen Lernens im separaten elektronischen Prozessor 575 implementiert, ist aber auf derselben PCB wie der elektronische Prozessor 550 des Elektrowerkzeugs 500 angeordnet. Ausführungsformen, bei denen die Steuerung 540 des maschinellen Lernens als eine vom elektronischen Prozessor 550 separate Verarbeitungseinheit implementiert ist, ob auf derselben oder einer anderen PCB, ermöglichen ein Auswählen einer Verarbeitungseinheit, um jedes von der Steuerung 540 des maschinellen Lernens und dem elektronischen Prozessor 550 derart zu implementieren, dass die Fähigkeiten (z. B. Verarbeitungsleistung und Speicherkapazität) auf die besonderen Anforderungen jeder Einheit zugeschnitten sind. Eine solche Anpassung kann die Kosten senken und die Effizienz der Elektrowerkzeuge verbessern. In einigen Ausführungsformen umfasst, wie in 4C dargestellt, die externe Vorrichtung 107 zum Beispiel die Steuerung 540 des maschinellen Lernens, und das Elektrowerkzeug 500 kommuniziert mit der externen Vorrichtung 107, um die Schätzungen oder Klassifizierungen von der Steuerung 540 des maschinellen Lernens zu empfangen. In einigen Ausführungsformen wird die Steuerung 540 des maschinellen Lernens in einem Plug-in-Chip oder einer Plug-in-Steuerung implementiert, der/die leicht dem Elektrowerkzeug 500 hinzugefügt werden kann. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens einen Plug-in-Chip umfassen, der innerhalb eines Hohlraums des Elektrowerkzeugs 500 aufgenommen wird und mit dem elektronischen Prozessor 550 verbunden wird. Zum Beispiel umfasst in einigen Ausführungsformen das Elektrowerkzeug 500 ein abschließbares Fach, das elektrische Kontakte umfasst und das derart ausgelegt ist, dass es die Plug-in-Steuerung 540 des maschinellen Lernens aufnimmt und mit ihr verbunden wird. Die elektrischen Kontakte ermöglichen eine bidirektionale Kommunikation zwischen der Plug-in-Steuerung 540 des maschinellen Lernens und dem elektronischen Prozessor 550 und ermöglichen es, dass die Plug-in-Steuerung 540 des maschinellen Lernens Leistung vom Elektrowerkzeug 500 empfängt.
  • Wie vorstehend unter Bezugnahme auf 1 besprochen, kann die Steuerung 585 des maschinellen Lernens durch den Server 110 erstellt und betrieben werden. In anderen Ausführungsformen kann die Steuerung 585 des maschinellen Lernens durch den Server 110 erstellt, aber durch das Elektrowerkzeug 500 implementiert werden (ähnlich 2 und 3), und in noch anderen Ausführungsformen erstellt das Elektrowerkzeug 500 (z. B. der elektronische Prozessor 550, der elektronische Prozessor 575 oder eine Kombination davon) die Steuerung 585 des maschinellen Lernens und implementiert diese (ähnlich 4B). 6 zeigt ein Verfahren 600 zum Erstellen und Implementieren der Steuerung 585 des maschinellen Lernens. Das Verfahren 600 wird in Bezug auf das Elektrowerkzeug 500 beschrieben, aber, wie vorstehend unter Bezugnahme auf 5 beschrieben, repräsentiert das Elektrowerkzeug 500 die Elektrowerkzeuge 105, 205, 305, 405, die in den jeweiligen Systemen von 1 bis 4C beschrieben sind. Dementsprechend kann ein ähnliches Verfahren durch das Elektrowerkzeug 105, 205, 305, 405 der jeweiligen Systeme von 1 bis 4D implementiert werden. In Schritt 605 greift der elektronische Serverprozessor 425 auf Werkzeugnutzungsinformationen zu, die zuvor von ähnlichen Elektrowerkzeugen gesammelt wurden. Außerdem greift der elektronische Serverprozessor 425 auf benutzercharakteristische Informationen zu, wie z. B. charakteristische Informationen eines Benutzers, der ein jeweiliges Elektrowerkzeug zu einem Zeitpunkt verwendet, zu dem das Elektrowerkzeug Werkzeugnutzungsinformationen sammelt. Um zum Beispiel die Steuerung 585 des maschinellen Lernens für die Schlagschrauber von 1 bis 4C und 5A zu erstellen, greift der elektronische Serverprozessor 425 auf Werkzeugnutzungsdaten zu, die zuvor von anderen Schlagschraubern gesammelt wurden (z. B. über das Netzwerk 115). Die Werkzeugnutzungsdaten umfassen zum Beispiel Motorstrom, Motorspannung, Motorposition und/oder -geschwindigkeit, Nutzungszeit, Akkuladezustand, Position des Elektrowerkzeugs, Position oder Geschwindigkeit der Ausgangswelle, Anzahl von Schlägen und dergleichen. Außerdem greift der elektronische Serverprozessor 425 auf zuvor gesammelte benutzercharakteristische Informationen (z. B. über das Netzwerk 115) zu. Der elektronische Serverprozessor 425 fährt dann mit dem Erstellen und Trainieren der Steuerung 585 des maschinellen Lernens auf der Grundlage der Werkzeugnutzungsdaten, der benutzercharakteristischen Informationen oder beider fort (Schritt 610).
  • Das Erstellen und Trainieren der Steuerung 585 des maschinellen Lernens kann zum Beispiel ein Bestimmen der Architektur des maschinellen Lernens umfassen (z. B. Verwenden einer Support Vector Machine, eines Entscheidungsbaums, eines neuronalen Netzes oder einer anderen Architektur). Im Fall des Erstellens und Trainierens eines neuronalen Netzes kann zum Beispiel das Erstellen des neuronalen Netzes auch ein Bestimmen der Anzahl von Eingabeknoten, der Anzahl von verborgenen Schichten, der Aktivierungsfunktion für jeden Knoten, der Anzahl von Knoten jeder verborgenen Schicht, der Anzahl von Ausgabeknoten und dergleichen umfassen. Das Trainieren der Steuerung 585 des maschinellen Lernens umfasst ein Bereitstellen von Trainingsbeispielen an die Steuerung 585 des maschinellen Lernens und ein Verwenden eines oder mehrerer Algorithmen, um die verschiedenen Gewichtungen, Spielräume oder andere Parameter der Steuerung 585 des maschinellen Lernens einzustellen, um zuverlässige Schätzungen oder Klassifizierungen vorzunehmen.
  • In einigen Ausführungsformen umfasst das Erstellen und Trainieren der Steuerung 585 des maschinellen Lernens ein Erstellen und Trainieren eines rekurrenten neuronalen Netzes. Rekurrente neuronale Netze ermöglichen eine Analyse von Sequenzen von Eingaben, anstatt dass jede Eingabe individuell behandelt wird. Das heißt, rekurrente neuronale Netze können ihre Bestimmung oder Ausgabe für eine gegebene Eingabe nicht nur auf den Informationen für diese konkrete Eingabe, sondern auch auf den vorherigen Eingaben stützen. Wenn zum Beispiel die Steuerung 585 des maschinellen Lernens derart ausgelegt ist, dass sie einen Typ einer mit dem Elektrowerkzeug 500 verwendeten Befestigungseinrichtung identifiziert, kann die Steuerung 585 des maschinellen Lernens bestimmen, dass, da die letzten drei Vorgänge Radmuttern verwendet haben, der vierte Vorgang wahrscheinlich auch eine Radmutter verwenden wird. Ein Verwenden rekurrenter neuronaler Netze hilft dabei, einige der falschen Klassifizierungen auszugleichen, die die Steuerung 585 des maschinellen Lernens vornehmen würde, indem der Kontext um einen konkreten Vorgang bereitgestellt und berücksichtigt wird. Dementsprechend beeinflusst beim Implementieren eines rekurrenten neuronalen Netzes die Lernrate nicht nur, wie jedes Trainingsbeispiel das gesamte rekurrente neuronale Netz beeinflusst (z. B. Anpassen von Gewichtungen, Biases und dergleichen), sondern beeinflusst auch, wie jede Eingabe die Ausgabe der nächsten Eingabe beeinflusst.
  • Der elektronische Serverprozessor 425 erstellt und trainiert die Steuerung 585 des maschinellen Lernens zum Durchführen einer konkreten Aufgabe. Zum Beispiel wird in einigen Ausführungsformen die Steuerung 585 des maschinellen Lernens trainiert, um eine Anwendung zu identifizieren, für die das Elektrowerkzeug 500 verwendet wird (z. B. zum Befestigen von Befestigungseinrichtungen). In anderen Ausführungsformen wird die Steuerung 585 des maschinellen Lernens trainiert, um zu detektieren, wenn ein nachteiliger Zustand vorliegt oder bevorsteht (z. B. Detektieren eines Rückschlags). Die Aufgabe, für die die Steuerung 585 des maschinellen Lernens trainiert wird, kann zum Beispiel auf der Grundlage des Typs des Elektrowerkzeugs 500, einer Auswahl von einem Benutzer, typischer Anwendungen, für die das Elektrowerkzeug verwendet wird, benutzercharakteristischer Informationen und dergleichen variieren. 12 bis 17 erläutern Beispiele für konkrete Aufgaben, für die die Steuerung 585 des maschinellen Lernens erstellt und trainiert wird. Der elektronische Serverprozessor 425 verwendet verschiedene Werkzeugnutzungsdaten, um die Steuerung 585 des maschinellen Lernens auf der Grundlage der konkreten Aufgabe zu trainieren.
  • In einigen Ausführungsformen definiert die konkrete Aufgabe für die Steuerung 540 des maschinellen Lernens (z. B. für die Steuerung 585 des maschinellen Lernens) auch die konkrete Architektur für die Steuerung 585 des maschinellen Lernens. Zum Beispiel kann der elektronische Serverprozessor 425 für einen ersten Satz von Aufgaben eine Support Vector Machine erstellen, während der elektronische Serverprozessor 425 für einen zweiten Satz von Aufgaben ein neuronales Netz erstellen kann. In einigen Ausführungsformen ist jede Aufgabe oder jeder Typ von Aufgabe mit einer konkreten Architektur assoziiert. In solchen Ausführungsformen bestimmt der elektronische Serverprozessor 425 die Architektur für die Steuerung 585 des maschinellen Lernens auf der Grundlage der Aufgabe und der mit der konkreten Aufgabe assoziierten Architektur des maschinellen Lernens.
  • Nachdem der elektronische Serverprozessor die Steuerung 585 des maschinellen Lernens erstellt und trainiert, speichert der elektronische Serverprozessor 425 die Steuerung 585 des maschinellen Lernens zum Beispiel im Speicher 430 des Servers 110 (Schritt 615). Der elektronische Serverprozessor 425 sendet, zusätzlich oder alternativ, die trainierte Steuerung 585 des maschinellen Lernens an das Elektrowerkzeug 500. In solchen Ausführungsformen speichert das Elektrowerkzeug 500 die Steuerung 585 des maschinellen Lernens im Speicher 560 der Steuerung 540 des maschinellen Lernens. In einigen Ausführungsformen speichert, zum Beispiel wenn die Steuerung 585 des maschinellen Lernens durch den elektronischen Prozessor 550 des Elektrowerkzeugs 500 implementiert wird, das Elektrowerkzeug 500 die Steuerung 585 des maschinellen Lernens im Speicher 560 der elektronischen Steueranordnung 536.
  • Nachdem die Steuerung 585 des maschinellen Lernens gespeichert wurde, betreibt das Elektrowerkzeug 500 den Motor 505 gemäß (oder auf der Grundlage von) den Ausgaben und Bestimmungen von der Steuerung 540 des maschinellen Lernens (Schritt 620). In Ausführungsformen, in denen die Steuerung 540 des maschinellen Lernens (einschließlich der Steuerung 585 des maschinellen Lernens) im Server 110, 210 implementiert wird, kann der Server 110, 210 Betriebsschwellenwerte aus den Ausgaben und Bestimmungen von der Steuerung 540 des maschinellen Lernens bestimmen. Der Server 110, 210 sendet dann die bestimmten Betriebsschwellenwerte an das Elektrowerkzeug 500 zum Steuern des Motors 505.
  • Die Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens hängt von der Menge und Qualität der Daten ab, die zum Trainieren der Steuerung 540 des maschinellen Lernens verwendet werden. Wenn unzureichende Daten (z. B. durch den Server 110, 210, 310, 410) zum Trainieren der Steuerung 540 des maschinellen Lernens verwendet werden, kann dementsprechend die Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens reduziert sein. Alternativ können verschiedene Benutzer unterschiedliche Präferenzen haben und können das Elektrowerkzeug 500 für verschiedene Anwendungen und auf eine leicht andere Art und Weise betreiben (z. B. können manche Benutzer das Elektrowerkzeug 500 gegen die Arbeitsfläche mit größerer Kraft drücken, manche können eine schnellere Enddrehzahl bevorzugen und dergleichen). Diese Unterschiede beim Verwenden des Elektrowerkzeugs 500 können auch aus Sicht eines Benutzers einen Teil der Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens beeinträchtigen.
  • Um die Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens zu verbessern, empfängt fakultativ in einigen Ausführungsformen der elektronische Serverprozessor 425 eine Rückmeldung vom Elektrowerkzeug 500 (oder der externen Vorrichtung 107) bezüglich der Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens (Schritt 625). Mit anderen Worten betrifft zumindest in einigen Ausführungsformen die Rückmeldung die Steuerung des Motors aus dem früheren Schritt 620. In anderen Ausführungsformen empfängt jedoch das Elektrowerkzeug 500 keine Benutzerrückmeldung bezüglich der Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens und fährt stattdessen mit dem Betreiben des Elektrowerkzeugs 500 fort, indem die Steuerung 585 des maschinellen Lernens ausgeführt wird. Wie nachstehend ausführlicher erläutert, umfasst in einigen Ausführungsformen das Elektrowerkzeug 500 einen konkreten Rückmeldungsmechanismus zum Bereitstellen einer Rückmeldung über die Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens. In einigen Ausführungsformen kann die externe Vorrichtung 107 auch eine grafische Benutzeroberfläche bereitstellen, die Rückmeldung von einem Benutzer bezüglich des Betriebs der Steuerung 540 des maschinellen Lernens empfängt. Die externe Vorrichtung 107 sendet dann die Rückmeldungsangaben an den elektronischen Serverprozessor 425. In einigen Ausführungsformen kann das Elektrowerkzeug 500 lediglich eine negative Rückmeldung an den Server 110, 210, 310, 410 bereitstellen (z. B. wenn die Steuerung 540 des maschinellen Lernens mangelhafte Leistungsfähigkeit zeigt).
  • In einigen Ausführungsformen kann der Server 110, 210, 310, 410 das Fehlen einer Rückmeldung vom Elektrowerkzeug 500 (oder der externen Vorrichtung 107) als eine positive Rückmeldung betrachten, die auf eine angemessene Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens hinweist. In einigen Ausführungsformen empfängt das Elektrowerkzeug 500 sowohl positive als auch negative Rückmeldungen und liefert diese an den elektronischen Serverprozessor 425. Zusätzlich oder anstelle einer Benutzerrückmeldung (die z. B. direkt in das Elektrowerkzeug 500 eingegeben wird) tastet in einigen Ausführungsformen das Elektrowerkzeug 500 eine oder mehrere Elektrowerkzeugcharakteristiken über einen oder mehrere Sensoren 530 ab, und die Rückmeldung basiert auf der (den) abgetasteten Elektrowerkzeugcharakteristik(en). Bei einer Drehmomentschlüssel-Ausführungsform des Elektrowerkzeugs 500 umfasst der Drehmomentschlüssel zum Beispiel einen Drehmomentsensor, um das Ausgangsdrehmoment während eines Befestigungsvorgangs abzutasten, und das abgetastete Ausgangsdrehmoment wird als Rückmeldung bereitgestellt. Die Rückmeldung vom Drehmomentsensor kann eine direkte Rückmeldung an sich selbst liefern, um ein Überschießen des Zieldrehmoments beim Eindrehen und Einsetzen einer Befestigungseinrichtung zu verhindern. Alternativ kann ein Sensor an einem anderen Elektrowerkzeug verwendet werden (z. B. ein separater angetriebener Drehmomentschlüssel), um Rückmeldung bereitzustellen.
  • Das abgetastete Ausgangsdrehmoment (z. B. Rückmeldung) kann lokal am Elektrowerkzeug 500 oder extern an der externen Vorrichtung 107 oder dem elektronischen Serverprozessor 425 ausgewertet werden, um zu bestimmen, ob die Rückmeldung positiv oder negativ ist (z. B. kann die Rückmeldung positiv, wenn das abgetastete Ausgangsdrehmoment innerhalb eines akzeptablen Drehmomentbereichs liegt, und negativ, wenn es außerhalb des akzeptablen Drehmomentbereichs liegt, sein). Alternativ kann die abgetastete Ausgabe verwendet werden, um Ausgaben und/oder angepasste Schwellenwerte und/oder Konfidenzbereiche für die Steuerung 585 des maschinellen Lernens zu skalieren oder zu übertragen. Wie vorstehend besprochen, kann in einigen Ausführungsformen das Elektrowerkzeug 500 die Rückmeldung oder andere Informationen direkt an den Server 110, 210, 310, 410 senden, während in anderen Ausführungsformen eine externe Vorrichtung 107 als eine Brücke für Kommunikationen zwischen dem Elektrowerkzeug 500 und dem Server 110, 210, 310, 410 dienen kann und die Rückmeldung an den Server 110, 210, 310, 410 senden kann.
  • Der elektronische Serverprozessor 425 passt dann die Steuerung 585 des maschinellen Lernens auf der Grundlage der empfangenen Benutzerrückmeldung an (Schritt 630). In einigen Ausführungsformen passt der elektronische Serverprozessor 425 die Steuerung 585 des maschinellen Lernens nach dem Empfang einer vorgegebenen Anzahl von Rückmeldungsangaben an (z. B. nach dem Empfang von 100 Rückmeldungsangaben). In anderen Ausführungsformen passt der elektronische Serverprozessor 425 die Steuerung 585 des maschinellen Lernens an, nachdem eine vorgegebene Zeitdauer verstrichen ist (z. B. alle zwei Monate). In noch weiteren Ausführungsformen passt der elektronische Serverprozessor 425 die Steuerung 585 des maschinellen Lernens kontinuierlich an (z. B. nach dem Empfang jeder Rückmeldungsangabe). Ein Anpassen der Steuerung 585 des maschinellen Lernens kann zum Beispiel ein erneutes Trainieren der Steuerung 540 des maschinellen Lernens unter Verwendung der zusätzlichen Rückmeldung als neuer Satz von Trainingsdaten oder ein Anpassen einiger der Parameter (z. B. Gewichtungen, Stützvektoren und dergleichen) der Steuerung 540 des maschinellen Lernens umfassen. Da die Steuerung 540 des maschinellen Lernens bereits für die konkrete Aufgabe trainiert wurde, erfordert ein erneutes Trainieren der Steuerung 540 des maschinellen Lernens mit dem kleineren Satz von neueren Daten weniger Rechenressourcen (z. B. Zeit, Speicher, Rechenleistung usw.) als das ursprüngliche Training der Steuerung 540 des maschinellen Lernens.
  • In einigen Ausführungsformen umfasst die Steuerung 585 des maschinellen Lernens eine Steuerung des bestärkenden Lernens, die es ermöglicht, dass die Steuerung 585 des maschinellen Lernens kontinuierlich die durch den Benutzer empfangene Rückmeldung integriert, um die Leistungsfähigkeit der Steuerung 585 des maschinellen Lernens zu optimieren. In einigen Ausführungsformen wertet die Steuerung des bestärkenden Lernens periodisch eine Belohnungsfunktion auf der Grundlage der Leistungsfähigkeit der Steuerung 585 des maschinellen Lernens aus. In solchen Ausführungsformen umfasst das Training der Steuerung 585 des maschinellen Lernens ein Erhöhen der Betriebszeit des Elektrowerkzeugs 500, so dass die Steuerung 585 des bestärkenden Lernens eine hinreichende Rückmeldung empfängt, um die Ausführung der Steuerung 585 des maschinellen Lernens zu optimieren. In einigen Ausführungsformen wird, wenn bestärkendes Lernen durch die Steuerung 585 des maschinellen Lernens implementiert wird, eine erste Stufe der Operation (z. B. Training) während der Herstellung oder davor durchgeführt, so dass, wenn ein Benutzer das Elektrowerkzeug 500 betreibt, die Steuerung 585 des maschinellen Lernens eine vorgegebene Mindestleistungsfähigkeit (z. B Genauigkeit) erreichen kann. Sobald die Benutzerperson ihr Elektrowerkzeug 500 betreibt, kann die Steuerung 585 des maschinellen Lernens mit dem Lernen und Auswerten der Belohnungsfunktion fortfahren, um die Leistungsfähigkeit weiter zu verbessern. Dementsprechend kann ein Elektrowerkzeug anfangs mit einem stabilen und vorhersehbaren Algorithmus bereitgestellt sein, der im Verlauf der Zeit angepasst werden kann. In einigen Ausführungsformen wird das bestärkende Lernen auf Abschnitte der Steuerung 585 des maschinellen Lernens beschränkt. Zum Beispiel verbleibt in einigen Ausführungsformen, anstelle einer potenziellen Aktualisierung von Gewichtungen/Biases der gesamten oder eines wesentlichen Abschnitts der Steuerung 585 des maschinellen Lernens, was beträchtliche Verarbeitungsleistung und Speicher in Anspruch nehmen kann, das tatsächliche Modell eingefroren oder zum größten Teil eingefroren (z. B. alle bis auf die letzte Schicht(en) oder Ausgaben), und es werden lediglich ein oder einige wenige Ausgangsparameter oder Ausgabecharakteristiken (wie z. B. endgültige Skalierung oder Schwellenwerte) der Steuerung 585 des maschinellen Lernens auf der Grundlage der Rückmeldung aktualisiert.
  • In einigen Ausführungsformen interpretiert die Steuerung 540 des maschinellen Lernens den Betrieb des Elektrowerkzeugs 500 durch den Benutzer als eine Rückmeldung bezüglich der Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens. Wenn zum Beispiel der Benutzer den Auslöser während der Ausführung eines konkreten Modus fester drückt, kann die Steuerung 540 des maschinellen Lernens bestimmen, dass die durch die Steuerung 540 des maschinellen Lernens gewählte Motordrehzahl nicht hinreichend hoch ist, und kann die Motordrehzahl direkt erhöhen, die empfangene Rückmeldung verwenden, um die Steuerung des maschinellen Lernens erneut zu trainieren oder modifizieren, oder eine Kombination davon. Dementsprechend kann der Betrieb des Elektrowerkzeugs 500 zwischen zwei identischen nacheinander folgenden Betätigungen des Auslösers 510 des Elektrowerkzeugs 500 variieren. In einigen Ausführungsformen basiert das Ausmaß der Veränderung auf Benutzerrückmeldung, einer Lernrate oder beidem. Die nachstehende Tabelle 4 zeigt zum Beispiel eine gewisse Steuerung des Elektrowerkzeugs 500 durch den Benutzer an, und wie die verschiedenen Arten der Steuerung durch die Steuerung 540 des maschinellen Lernens als Rückmeldung bezüglich der Steuerung 540 des maschinellen Lernens interpretiert werden. Diese Art von Rückmeldung kann es der Steuerung 540 des maschinellen Lernens ermöglichen, geeignete Schwellenwerte und Parameter für die Motorsteuerung zu bestimmen, wenn der Steuerung 540 des maschinellen Lernens zum Beispiel einige Informationen bezüglich des Betriebs des Elektrowerkzeugs 500 fehlen. Diese Rückmeldungsmechanismen ermöglichen es zum Beispiel der Steuerung 540 des maschinellen Lernens, einen Betriebsmodus zu ändern, um eine selbstbohrende Schraube unbekannter Länge zu befestigen.
    Tabelle 4
    Steuerhandlung (durch den Benutzer) Interpretierte Rückmeldung durch die Steuerung des maschinellen Lernens
    Auslöser wird stärker betätigt Die Steuerung des maschinellen Lernens interpretiert dies als einen gewünschten Anstieg von Leistung, Drehzahl, Drehmoment, Anlauf, eine Kombination davon und dergleichen
    Elektrowerkzeug wird mit der Befestigungseinrichtung (z. B. im Uhrzeigesinn) gedreht Die Steuerung des maschinellen Lernens interpretiert dies als einen gewünschten Anstieg von Leistung, Drehzahl, Drehmoment, Anlauf, eine Kombination davon und dergleichen
    Der Auslöser wird leicht losgelassen (weniger gedrückt) Die Steuerung des maschinellen Lernens interpretiert dies als eine gewünschte Verringerung von Leistung, Drehzahl, Drehmoment, Anlauf, eine Kombination davon und dergleichen
    Elektrowerkzeug wird gegen die Befestigungseinrichtung (z. B. entgegen dem Uhrzeigesinn) gedreht Die Steuerung des maschinellen Lernens interpretiert dies als eine gewünschte Verringerung von Leistung, Drehzahl, Drehmoment, Anlauf, eine Kombination davon und dergleichen
    Erreichen des maximalen Spitzendrehmoments Die Steuerung des maschinellen Lernens interpretiert dies als eine notwendige Anpassung einer mechanischen oder elektronischen Kupplungseinstellung
    Identifizieren einer gelösten Befestigungseinrichtung mit einem zweiten Zug Die Steuerung des maschinellen Lernens interpretiert dies als eine notwendige Anpassung einer mechanischen oder elektronischen Kupplungseinstellung
    Der Auslöser wird losgelassen und zusätzliche Informationen zur Werkzeug- und/oder Motorbewegung Die Steuerung des maschinellen Lernens interpretiert dies als notwendige Anpassung der Rückschlagdetektionseinstellungen und der automatischen Abschalteinstellungen (zum Beispiel für Sägen)
    Detektieren eines Rückschlags Die Steuerung des maschinellen Lernens interpretiert dies als eine notwendige Anpassung der Rückschlagdetektionseinstellungen
    Identifizieren einer abgenutzten Befestigungseinrichtung durch Umschalten in die umgekehrte Richtung Die Steuerung des maschinellen Lernens interpretiert dies als eine notwendige Anpassung einer mechanischen oder elektronischen Kupplungseinstellung.
  • In einigen Ausführungsformen empfängt der Server 110, 210, 310, 410 zum Beispiel in Schritt 625 Werkzeugnutzungsdaten von einer Vielfalt verschiedener Elektrowerkzeuge. Wenn der elektronische Serverprozessor 425 die Steuerung 585 des maschinellen Lernens auf der Grundlage der Benutzerrückmeldung anpasst (Schritt 630), kann dementsprechend der elektronische Serverprozessor 425 die Steuerung 585 des maschinellen Lernens auf der Grundlage von Rückmeldung von verschiedenen Benutzern anpassen. In Ausführungsformen, in denen die Steuerung 540 des maschinellen Lernens vollständig am Elektrowerkzeug 500 implementiert ist (wie z. B. vorstehend unter Bezugnahme auf 4A-B besprochen), kann der elektronische Prozessor 550 die Rückmeldungsangaben von lediglich dem Elektrowerkzeug 405 verwenden, um die Steuerung 420 des maschinellen Lernens desselben Elektrowerkzeugs 405 anzupassen. Mit anderen Worten können einige Elektrowerkzeuge 500 lediglich die Rückmeldungsinformationen von bestimmten Benutzern verwenden, um die Steuerung 585 des maschinellen Lernens anzupassen. Ein Verwenden der Rückmeldungsinformation von bestimmten Benutzern kann dabei helfen, den Betrieb des Elektrowerkzeugs 500 für den Benutzer dieses bestimmten Werkzeugs individuell einzustellen.
  • Nachdem der elektronische Serverprozessor 425 die Steuerung 540 des maschinellen Lernens auf der Grundlage der Benutzerrückmeldung anpasst, arbeitet das Elektrowerkzeug 500 gemäß den Ausgaben und Bestimmungen von der angepassten Steuerung 540 des maschinellen Lernens (Schritt 635). In einigen Ausführungsformen, wie z. B. dem Elektrowerkzeugsystem 300 von 3, sendet der Server 310 die angepasste Steuerung 585 des maschinellen Lernens an das Elektrowerkzeug 500. Das Elektrowerkzeug 500 speichert dann die angepasste Steuerung 585 des maschinellen Lernens im Speicher 560 der Steuerung 540 des maschinellen Lernens (oder im Speicher 560 des Elektrowerkzeugs 500) und betreibt den Motor 505 gemäß der angepassten Steuerung 540 des maschinellen Lernens. Die angepasste Steuerung 540 des maschinellen Lernens verbessert ihre Leistungsfähigkeit durch Verwenden eines größeren und vielfältigeren Datensatzes (z. B. durch Empfangen von Rückmeldungsangaben von verschiedenen Benutzern) für das Training der Steuerung 540 des maschinellen Lernens.
  • In einigen Ausführungsformen kann der Benutzer außerdem eine Lernrate für die Steuerung 540 des maschinellen Lernens wählen. Ein Anpassen der Lernrate für die Steuerung 540 des maschinellen Lernens beeinflusst die Geschwindigkeit der Anpassung der Steuerung 540 des maschinellen Lernens auf der Grundlage der empfangenen Benutzerrückmeldung. Wenn zum Beispiel die Lernrate hoch ist, beeinflusst bereits eine kleine Anzahl von Rückmeldungsangaben des Benutzers (oder der Benutzer) die Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens. Wenn dagegen die Lernrate niedriger ist, werden mehr Rückmeldungsangaben vom Benutzer verwendet, um die gleiche Änderung der Leistungsfähigkeit der Steuerung 540 des maschinellen Lernens zu erzeugen. Ein Verwenden einer Lernrate, die zu hoch ist, kann bewirken, dass sich die Steuerung 540 des maschinellen Lernens aufgrund eines abnormalen Betriebs des Elektrowerkzeugs 500 unnötig ändert. Dagegen kann ein Verwenden einer Lernrate, die zu niedrig ist, dazu führen, dass die Steuerung 540 des maschinellen Lernens unverändert bleibt, bis eine große Anzahl von Rückmeldungsangaben empfangen wird, die eine ähnliche Änderung anfordern. In einigen Ausführungsformen umfasst das Elektrowerkzeug 500 einen dedizierten Aktuator, um die Lernrate der Steuerung 540 des maschinellen Lernens anzupassen. In einer anderen Ausführungsform kann der Aktivierungsschalter 545, der zum Aktivieren oder Deaktivieren der Steuerung 540 des maschinellen Lernens verwendet wird, auch zum Anpassen der Lernrate der Steuerung 540 des maschinellen Lernens verwendet werden. Zum Beispiel kann der Aktivierungsschalter 545 eine Drehscheibe umfassen. Wenn die Drehscheibe an einem ersten Ende positioniert ist, kann die Steuerung 540 des maschinellen Lernens deaktiviert sein, wenn sich die Drehscheibe zu einem zweiten Ende, das dem ersten Ende entgegengesetzt ist, bewegt, wird die Steuerung 540 des maschinellen Lernens aktiviert und die Lernrate steigt. Wenn die Drehscheibe das zweite Ende erreicht, kann die Lernrate bei einer maximalen Lernrate liegen. In anderen Ausführungsformen kann eine externe Vorrichtung 107 (z. B. ein Smartphone, ein Tablet, ein Laptop, ein Rechner, eine ASIC und dergleichen) kommunikativ mit dem Elektrowerkzeug 500 gekoppelt sein und eine Benutzeroberfläche bereitstellen, um zum Beispiel die Lernrate auszuwählen. In einigen Ausführungsformen kann die Auswahl einer Lernrate eine Auswahl einer niedrigen, mittleren oder hohen Lernrate umfassen. In anderen Ausführungsformen sind mehr oder weniger Optionen verfügbar, um die Lernrate einzustellen, und können die Fähigkeit umfassen, das Lernen auszuschalten (d. h. die Lernrate auf null einzustellen).
  • Wie vorstehend besprochen, beeinflusst, wenn die Steuerung 540 des maschinellen Lernens ein rekurrentes neuronales Netz implementiert, die Lernrate (oder zuweilen als „Schaltrate“ bezeichnet), wie vorherige Eingaben oder Trainingsbeispiele die Ausgabe der aktuellen Eingabe oder des Trainingsbeispiels beeinflussen. Wenn zum Beispiel die Schaltrate hoch ist, weisen die vorherigen Eingaben eine minimale Auswirkung auf die mit der aktuellen Eingabe assoziierte Ausgabe auf. Das heißt, wenn die Schaltrate hoch ist, wird jede Eingabe mehr als eine unabhängige Eingabe behandelt. Wenn dagegen die Schaltrate niedrig ist, weisen vorherige Eingaben eine hohe Korrelation mit der Ausgabe der aktuellen Eingabe auf. Das heißt, die Ausgabe der aktuellen Eingabe hängt stark von den Ausgaben ab, die für vorherige Eingaben bestimmt wurden. In einigen Ausführungsformen kann der Benutzer die Schaltrate in Korrelation (z. B. mit demselben Aktuator) mit der Lernrate wählen. In einigen Ausführungsformen wird jedoch ein getrennter Aktuator (oder ein Element der grafischen Benutzeroberfläche) generiert, um die Schaltrate unabhängig von der Lernrate zu ändern. Die Verfahren oder Komponenten zum Einstellen der Schaltrate sind jenen, die vorstehend in Bezug auf das Einstellen der Lernrate beschrieben wurden, ähnlich.
  • Die Beschreibung von 6 konzentriert sich auf das Trainieren, Speichern und Anpassen der Steuerung 585 des maschinellen Lernens durch den elektronischen Serverprozessor 425. In einigen Ausführungsformen kann jedoch der elektronische Prozessor 550 des Elektrowerkzeugs 500 einige oder alle der vorstehend unter Bezugnahme auf 6 beschriebenen Schritte durchführen. Zum Beispiel zeigt 4 ein Beispielelektrowerkzeugsystem 400, in dem das Elektrowerkzeug 405 die Steuerung 540 des maschinellen Lernens speichert und anpasst. Dementsprechend führt in diesem System 400 der elektronische Prozessor 550 einige oder alle der vorstehend in Bezug auf 6 beschriebenen Schritte durch. Analog führt in einigen Ausführungsformen der elektronische Prozessor 575 der Steuerung 540 des maschinellen Lernens oder der externen Vorrichtung 107 einige oder alle der vorstehend unter Bezugnahme auf 6 beschriebenen Schritte durch.
  • 7 ist ein Ablaufdiagramm, das ein Verfahren 700 zum Betreiben des Elektrowerkzeugs 500 gemäß der Steuerung 540 des maschinellen Lernens, wie in Schritt 620 von 6 angegeben, zeigt. In Schritt 705 empfängt das Elektrowerkzeug 500 ein Auslösesignal vom Auslöser 510, das anzeigt, dass das Elektrowerkzeug 500 eine Operation beginnen soll. Während des Betriebs des Elektrowerkzeugs 500 empfängt der elektronische Prozessor 550 Ausgabesensordaten (Schritt 710) von den Sensoren 530. Wie vorstehend besprochen, stellen die Ausgabesensordaten unterschiedliche Informationen bezüglich des Betriebs des Elektrowerkzeugs 500 (die als Betriebsparameter bezeichnet werden) bereit, die zum Beispiel Motorposition, Motordrehzahl, Spindelposition, Spindeldrehzahl, Ausgangsdrehmoment, Position des Elektrowerkzeugs 500, Ladezustand des Akkupacks, Datum, Uhrzeit, Zeitpunkt, Zeit seit der letzten Verwendung, Modus, Kupplungseinstellung, Richtung, Akkutyp, Vorhandensein von Seitengriff, Fehler, Verlauf früherer Anwendungen und Schaltrate, Benutzereingaben, externe Eingaben, Gang und dergleichen umfassen, siehe erneut Tabelle 3. Der elektronische Prozessor 550 stellt dann mindestens einen Teil der Sensordaten an die Steuerung 540 des maschinellen Lernens bereit (Schritt 715). In Ausführungsformen, in denen der elektronische Prozessor 550 die Steuerung 585 des maschinellen Lernens implementiert, umgeht der elektronische Prozessor 550 den Schritt 715. Wenn das Elektrowerkzeug 500 keine lokale Kopie der Steuerung 540 des maschinellen Lernens speichert, wie im Elektrowerkzeugsystem 100 von 1, sendet der elektronische Prozessor 550 einige oder alle der Sensorinformationen an den Server 110, wo die Steuerung 540 des maschinellen Lernens die empfangenen Informationen in Echtzeit, ungefähr Echtzeit, zu einem späteren Zeitpunkt oder gar nicht analysiert.
  • Die an die Steuerung 540 des maschinellen Lernens gesendeten Sensorinformationen variieren zum Beispiel auf der Grundlage der konkreten Aufgabe für die Steuerung 540 des maschinellen Lernens. Wie vorstehend besprochen, kann die Aufgabe für die Steuerung des maschinellen Lernens zum Beispiel auf der Grundlage des Typs des Elektrowerkzeugs 500 variieren. Zum Beispiel kann im Kontext eines Schlagschraubers die Steuerung 540 des maschinellen Lernens für das Elektrowerkzeug 500 derart ausgelegt sein, das sie einen Typ der Anwendung des Elektrowerkzeugs 500 identifiziert, und kann konkrete Betriebsschwellenwerte für jeden Typ der Anwendung verwenden. In solchen Ausführungsformen kann der elektronische Prozessor 550 zum Beispiel die Drehzahl des Motors 505, die Drehzahl der Spindel, den Betriebsmodus des Elektrowerkzeugs übertragen, sendet aber den Ladezustand des Akkupacks möglicherweise nicht. Die Steuerung 540 des maschinellen Lernens generiert dann eine Ausgabe auf der Grundlage der empfangenen Sensorinformationen und der mit der Steuerung 540 des maschinellen Lernens assoziierten konkreten Aufgabe (Schritt 720). Zum Beispiel verarbeitet (z. B. klassifiziert gemäß einem der vorstehend erwähnten Algorithmen des maschinellen Lernens) das Programm des maschinellen Lernens, das auf der Steuerung 540 des maschinellen Lernens ausgeführt wird, die empfangenen Sensorinformationen und generiert eine Ausgabe. Im vorstehenden Beispiel kann die Ausgabe der Steuerung 540 des maschinellen Lernens einen Typ der Anwendung anzeigen, für die das Elektrowerkzeug 500 verwendet wird. Der elektronische Prozessor 550 betreibt dann den Motor 505 auf der Grundlage der Ausgabe von der Steuerung 540 des maschinellen Lernens (Schritt 725). Zum Beispiel kann der elektronische Prozessor 550 die Ausgabe von der Steuerung 540 des maschinellen Lernens verwenden, um zu bestimmen, ob Betriebsschwellenwerte (z. B. Anfangsdrehzahl, maximale Drehzahl, Enddrehzahl, Drehrichtung, Anzahl von Schlägen und dergleichen) geändert werden sollen, um die Effizienz der Operation des Elektrowerkzeugs 500 zu ändern.
  • Der elektronische Prozessor 550 verwendet dann die aktualisierten Betriebsschwellenwerte oder Bereiche, um den Motor 505 zu betreiben. In einem anderen Beispiel kann die Ausgabe einen Zustand des Werkzeugs anzeigen und der elektronische Prozessor 550 steuert den Motor in Abhängigkeit von dem Zustand. Zum Beispiel, und wie nachstehend ausführlicher beschrieben, kann der Zustand einen Ausgangsdrehmomentwert des Motors, ein Hindernis, das detektiert wird, einen detektierten anormalen Zubehörzustand, einen detektierten Rückschlag oder einen abgeschlossenen Vorgang (z. B. ist ein Befestigungsvorgang abgeschlossen) anzeigen. In einem anderen Beispiel wird ein detektierter Schlag verwendet, um das ideale Schlag-zu-Schlag-Motorprofil vorherzusagen, um den Schlagzeitpunkt, eine zusätzliche Drehmomentabgabe, eine maximale Drehmomentabgabe oder eine andere Charakteristik des Schlags zu optimieren. Der Motor kann wiederum auf der Grundlage der Bedingung derart gesteuert werden, dass er stoppt, die Drehzahl erhöht, oder die Drehzahl verringert (z. B. durch Bremsen), oder er kann basierend auf der Bedingung auf andere Weise gesteuert werden. Obwohl sich die konkrete Aufgabe der Steuerung 540 des maschinellen Lernens ändern kann, wie nachstehend ausführlicher beschrieben, verwendet der elektronische Prozessor 550 die Ausgabe der Steuerung 540 des maschinellen Lernens, um zum Beispiel das Elektrowerkzeug 500 besser zu betreiben und eine größere Betriebseffizienz zu erzielen.
  • In einigen Ausführungsformen empfängt die Steuerung 540 des maschinellen Lernens, zusätzlich oder anstelle von Sensordaten, Benutzercharakteristiken des aktuellen Benutzers des Elektrowerkzeugs 500 in Schritt 715, und generiert dann eine Ausgabe in Schritt 720 auf der Grundlage der Benutzercharakteristiken oder auf der Grundlage der Benutzercharakteristiken und der in Schritt 715 empfangenen Sensordaten. In einigen Ausführungsformen wird zusätzlich oder anstelle eines Steuerns des Motors in Schritt 725 ein anderes elektronisch steuerbares Element gesteuert. Zum Beispiel werden in einigen Ausführungsformen eine oder mehrere LEDs des Elektrowerkzeugs aktiviert, deaktiviert, ihre Farbe ändert sich, oder ihre Helligkeit ändert sich; ein Übersetzungsverhältnis des Elektrowerkzeugs wird geändert (z. B. wird das Übersetzungsverhältnis erhöht oder verringert, oder ein Übersetzungsverhältnis aus einer Mehrzahl von Übersetzungsverhältnissen wird ausgewählt), eine Magnetspule des Elektrowerkzeugs wird aktiviert oder deaktiviert, oder eine elektronische Filterrate wird für einen fehlerhaften oder verrauschten Sensor angepasst. In einigen Ausführungsformen wird eine elektrisch gesteuerte Kupplung ein- und ausgeschaltet oder derart angepasst, dass ein Überdrehen von Schrauben und ein Abnutzen von Befestigungseinrichtungen vermieden wird. In anderen Ausführungsformen werden die Motorantriebscharakteristiken geändert, wie z. B. welche Wicklung verwendet wird und/oder die Verwendung von Feldschwächungs-/Phasenvoreilungstechniken.
  • In einigen Ausführungsformen kann der Server 110, 210, 310, 410 eine Auswahl verschiedener Steuerungen 585 des maschinellen Lernens speichern, in denen jede Steuerung 585 des maschinellen Lernens spezifisch trainiert wird, um eine andere Aufgabe durchzuführen. In solchen Ausführungsformen kann der Benutzer auswählen, welche der Steuerungen 585 des maschinellen Lernens mit dem Elektrowerkzeug 500 implementiert werden soll. Zum Beispiel kann eine externe Vorrichtung 107 eine grafische Oberfläche bereitstellen, die es dem Benutzer ermöglicht, einen Typ der Steuerung 585 des maschinellen Lernens auszuwählen. Ein Benutzer kann die Steuerung 585 des maschinellen Lernens zum Beispiel auf der Grundlage von Anwendungen, für die der Benutzer das Elektrowerkzeug 500 häufig verwendet (z. B. wenn der Benutzer oft Trockenbauwände installiert), oder häufig verwendeten Elektrowerkzeugen (z. B. verwendet ein Benutzer häufig einen Schlagschrauber) auswählen. In solchen Ausführungsformen empfängt die grafische Benutzeroberfläche eine Auswahl eines Typs der Steuerung 585 des maschinellen Lernens. Die externe Vorrichtung 107 kann dann die Auswahl des Benutzers an den Server 110, 210, 310, 410 senden. Der Server 110, 210, 310, 410 würde dann eine entsprechende Steuerung 585 des maschinellen Lernens an das Elektrowerkzeug 500 senden, oder kann aktualisierte Betriebsschwellenwerte auf der Grundlage der Ausgaben von der durch den Benutzer gewählten Steuerung 585 des maschinellen Lernens senden. Dementsprechend kann der Benutzer wählen, welche Funktionen mit der Steuerung 585 des maschinellen Lernens implementiert werden sollen, und kann ändern, welcher Typ der Steuerung 585 des maschinellen Lernens durch den Server 110, 210, 310, 410 oder das Elektrowerkzeug 500 während des Betriebs des Elektrowerkzeugs 500 implementiert wird.
  • Wie vorstehend besprochen, wird die Steuerung 540 des maschinellen Lernens mit einer oder mehreren konkreten Aufgaben assoziiert. Die Steuerung 540 des maschinellen Lernens empfängt verschiedene Arten von Informationen vom Elektrowerkzeug 500 und dem elektronischen Prozessor 550 auf der Grundlage der konkreten Aufgabe, für die die Steuerung 540 des maschinellen Lernens ausgelegt ist. Zum Beispiel zeigt 8 ein Diagramm 800 für eine Beispielnutzung der Steuerung 540 des maschinellen Lernens zum Verwenden in einem Elektrowerkzeug, wie z. B. dem Elektrowerkzeug 500. In der dargestellten Ausführungsform ist die Steuerung 540 des maschinellen Lernens derart ausgelegt, dass sie einen oder mehrere Feldschwächungsparameter für eine gegebene Anwendung bestimmt. In einer solchen Ausführungsform empfängt die Steuerung 540 des maschinellen Lernens mehrere Betriebsparameter (Eingaben), die mit dem Werkzeug 500 assoziiert sind. Die Betriebsparameter können eine Anzahl von Drehungen 802, ein gemessenes Drehmoment 804, eine charakteristische Drehzahl 806, eine oder mehrere Spannungen 808, einen oder mehrere Ströme 810, einen gewählten Betriebsmodus 812 des Werkzeugs 500, eine Fluidtemperatur 814 (z. B. zum Verwenden bei hydraulischen Impulswerkzeugen), und Werkzeugbewegungsinformationen 816 (die z. B. mithilfe eines Gyroskops, eines Bewegungssensors und dergleichen bereitgestellt werden) umfassen.
  • In einigen Ausführungsformen werden die vorstehend beschriebenen Informationen (Betriebsparameter) durch den elektronischen Prozessor 550 auf der Grundlage von Sensordaten von den Sensoren 530, arithmetischen Operationen unter Verwendung der Sensordaten (um z. B. ein Drehmoment zu berechnen) und Vergleichen der Sensordaten oder berechneter Werte mit einem Schwellenwert (z. B. Definieren, ob ein Anstieg oder eine Verringerung eines Betriebsparameters schnell ist) generiert. Die generierten Informationen werden dann durch die Steuerung 540 des maschinellen Lernens während des Betriebs des Werkzeugs empfangen. Auf der Grundlage der empfangenen Informationen bestimmt die Steuerung 540 des maschinellen Lernens einen oder mehrere Feldschwächungsparameter 818 und gibt diese an den elektronischen Prozessor 550 aus, und der elektronische Prozessor 550 steuert dementsprechend eine Ausgabe des Werkzeugs 500. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens dem elektronischen Prozessor 550 mitteilen, einen Voreilwinkel und/oder einen Freilaufwinkel der Leitung des Motors 505 zu erhöhen oder zu verringern. In einer Ausführungsform kann die Steuerung 540 des maschinellen Lernens zum Beispiel ein neuronales Netz mit mehreren Ausgaben verwenden, so dass jede Ausgabe einem Voreilwinkel für den Motor 505 entspricht. In einigen Beispielen können die neuronalen Netze verhältnismäßig klein sein, wodurch ermöglicht wird, dass der elektronische Prozessor 550 die Funktionen der Steuerung 540 des maschinellen Lernens durchführt, ohne dass zuerst die Verarbeitungskapazität oder Fähigkeiten wesentlich erhöht werden, oder die Hardware des Prozessors 550 auf eine andere Weise aufgerüstet wird.
  • Wie vorstehend besprochen, kann die Steuerung 540 des maschinellen Lernens einen oder mehrere Feldschwächungsprozesse oder -operationen durchführen. Eine Feldschwächung wird im Allgemeinen mit einem Permanentmagnetmotor, wie z. B. dem Motor 505, verwendet. Wenn sich der Permanentmagnetmotor dreht, wird in einer oder mehreren Wicklungen des Motors 505 eine Gegen-EMK erzeugt, die wiederum den Stromfluss in den Motor 505 erschwert, was zu einem Drehzahl- oder Drehmomentverlust am Ausgang des Motors 505 führt. In einem Beispiel wird eine Feldschwächung dadurch erreicht, dass der Leitungswinkel um einen bestimmten Wert, der als Voreilwinkel bekannt ist, vorgeschoben wird. Der Voreilwinkel kann auf der Grundlage einer aktuellen Drehzahl des Motors 505 angewendet werden. In einigen Beispielen wird der Voreilwinkel lediglich dann modifiziert, nachdem ein Drehzahlschwellenwert überschritten wurde. In einer Ausführungsform veranlasst eine Vergrößerung des Voreilwinkels eine entsprechende Vergrößerung eines Gesamtleitungswinkels, der auf den Motor 505 angewendet wird. Jedoch kann in einigen Beispielen der Leitungswinkel um einen Betrag verschoben werden, der dem Voreilwinkel gleicht, so dass der Gesamtleitungswinkel gleich bleibt. Außerdem kann ein Freilaufwinkel zusätzlich zu oder in Verbindung mit einer Änderung des Leitungswinkels oder Voreilwinkels modifiziert werden. Ein Freilauf tritt auf, wenn eine Motorwicklung von einer Erregerspannung getrennt wird, die durch einen oder mehrere Schalter innerhalb des Schaltnetzes 517 bereitgestellt wird, und ein in einem oder mehreren Ankern des Motors gespeicherter Strom durch einen oder mehrere Schalter innerhalb des Schaltnetzes 517 (oder durch eine oder mehrere Freilaufdioden innerhalb des Schaltnetzes 517) zu einer Versorgungsschiene fließt, die der Versorgungsschiene, die den Anker während des vorhergehenden Leitzyklus mit Leistung versorgt hat, entgegengesetzt ist.
  • Frühere Implementierungen der Feldschwächung basierten im Allgemeinen auf einem oder mehreren Hall-Effekt- oder anderen Positionssensoren, die mit dem Rotor eines Motors assoziiert sind, um zu bestimmen, wann jeder der Transistoren in einem Schaltnetz, wie z. B. dem Schaltnetz 517, leitend sein soll. Die nachstehenden Ausführungsformen verwenden einen oder mehrere Betriebsparameter des Elektrowerkzeugs 500, um einen oder mehrere Feldschwächungsparameter zu modifizieren, um verschiedene Feldschwächungsoperationen durchzuführen.
  • Unter Bezugnahme auf 9 ist ein Datendiagramm 900 gezeigt, das eine Beispielausgabe eines mit einem Elektrowerkzeug assoziierten Motors, wie z. B. des Motors 505, während einer Deckschraubenoperation darstellt. Eine Auslösereingabe 902, die mit einer Benutzereingabe, wie z. B. über den Auslöser 510, assoziiert ist, ist mit drei unterschiedlichen Eingabepegeln im Zeitverlauf dargestellt. Eine Drehzahl 904 des Motors 505 folgt im Allgemeinen der Auslösereingabe 902. Ein Strom 906 wird zusammen mit der Auslösereingabe 902 und der Drehzahl 904 verfolgt. Wie in 9 dargestellt, ist der Strom im Allgemeinen verrauscht und weist Einschaltspitzen auf, wenn der Auslöser 510 von einer Position in eine andere betätigt wird. Ungefähr bei der 1,75-Sekunden-Marke am Punkt 908 beginnt der Strom 906 zuzunehmen und die Drehzahl 904 beginnt dagegen zu sinken. In Fällen, in denen der Motor 505 ein Permanentmagnetmotor ist, können der Abfall der Drehzahl 904 und der Anstieg des Stroms 906 auf einen Anstieg der durch den Motor 505 generierten Gegen-EMK zurückzuführen sein. Dementsprechend kann es von Vorteil sein, eine Feldschwächung anzuwenden, um die Drehzahl bei Punkt 908 aufrechtzuerhalten, um die Motordrehzahl in der gesamten Befestigungsoperation aufrechtzuerhalten.
  • 10 zeigt einen Steuerprozess 1000 zum Durchführen einer Feldschwächung auf der Grundlage des an den Motor 505 bereitgestellten Stroms. Eine Auslösereingabe wird bei 1002 an den elektronischen Prozessor 550 bereitgestellt, der dann eine Motor-PMW-Ausgabe bei 1004 einstellt, um eine Drehzahl des Motors auf der Grundlage der Auslösereingabe zu steuern. Die Motor-PWM wird bei 1006 an eine Motorsteuerung bereitgestellt. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550. Obwohl der Steuerprozess von 10 derart beschrieben wurde, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1000 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572 oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten angesehen werden.
  • Ein an den Motor gelieferter Strom wird bei 1008 abgetastet und gefiltert. In einer Ausführungsform wird der Strom gefiltert, um ein mit dem Stromsignal assoziiertes Rauschen zu entfernen oder reduzieren, so dass eine genaue Repräsentation des Stroms an den elektronischen Prozessor und/oder die Verarbeitungseinheit 557 bereitgestellt werden kann. In einer Ausführungsform wendet die Verarbeitungseinheit 557 ein oder mehrere Software-Filter auf das Stromsignal an. Die Software-Filter können eines oder mehrere von Tiefpassfiltern, Butterworth-Filtern, gleitenden Durchschnittsfiltern oder anderen Filtern, je nach Bedarf für eine gegebene Anwendung, umfassen. Ein gefilterter Strom wird dann bei 1010 an die Verarbeitungseinheit 557 ausgegeben, die bei 1012 einen oder mehrere Feldschwächungsparameter auf der Grundlage des gefilterten Stroms einstellt. Im Steuerprozess 1000 werden die Feldschwächungsparameter lediglich eingestellt, wenn der Motor bei 100 % PWM arbeitet (z. B. ist der Auslöser vollständig betätigt). Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen. In einigen Ausführungsformen werden, wenn der Wert des gefilterten Stroms steigt, die Feldschwächungsparameter modifiziert, um eine Drehzahl oder andere Betriebscharakteristiken (z. B. Strom) des Motors 505 aufrechtzuerhalten. Zum Beispiel kann ein Voreilwinkel als Antwort auf einen Anstieg des gefilterten Stroms erhöht werden, um dabei zu helfen, die Drehzahl des Motors 505 aufrechtzuerhalten. In anderen Ausführungsformen kann ein Leitungswinkel als Antwort auf einen Anstieg des gefilterten Stroms erhöht werden, um dabei zu helfen, die Drehzahl des Motors 505 aufrechtzuerhalten.
  • Zum Beispiel steigen, wie im Diagramm 1020 gezeigt, beim Anstieg von Strom ein oder mehrere Feldschwächungsparameter, wie z. B. ein Voreilwinkel und/oder ein Leitungswinkel, mit Anstieg des Stroms, bis ein Schwellenwert erreicht wird, wobei bei diesem Punkt der (die) Feldschwächungsparameter reduziert wird (werden). In einigen Ausführungsformen wird (werden) der (die) Feldschwächungsparameter aufgrund einer Sättigung des Motors 505 verringert. Obwohl der (die) Feldschwächungsparameter derart dargestellt sind, dass er (sie) im Allgemeinen einen linearen Anstieg aufweisen, können andere Variationstypen, wie z. B. trapezförmig, sigmoidartig, stückweise, gestuft usw., verwendet werden. Diagramm 1020 stellt lediglich ein Beispiel dar, und es versteht sich, dass andere Elektrowerkzeuge oder Operationen, die ähnliche Profile aufweisen, verwendet werden können, um zusätzliche Drehzahl-vs.-Drehmoment-Profile zu generieren oder andere vom Benutzer gewünschte Ziele zu erreichen. Durch Generieren verschiedener Drehzahl-vs.-Drehmoment-Profile kann die „Starrheit“ oder Aufrechterhaltung der Drehzahl beeinflusst werden.
  • Ein oder mehrere Filter können dann bei 1014 auf die Feldschwächungsparameter angewendet werden. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter, und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden.
  • Die gefilterten Feldschwächungsparameter werden dann bei 1006 an die Motorsteuerung bereitgestellt, um den Motor 505 zu steuern.
  • Unter Bezugnahme auf 11 wird ein modifizierter Steuerprozess 1100, gemäß einigen Ausführungsformen, zum Durchführen einer Feldschwächung auf der Grundlage des an den Motor 505 gelieferten Stroms bereitgestellt. Eine Auslösereingabe wird bei 1102 an den elektronischen Prozessor 550 bereitgestellt, der dann eine Motor-PMW-Ausgabe bei 1104 einstellt, um eine Drehzahl des Motors auf der Grundlage der Auslösereingabe zu steuern. Die Motor-PWM wird bei 1106 an eine Motorsteuerung bereitgestellt. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550. Obwohl der Steuerprozess 1100 derart beschrieben ist, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1100 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572 oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten verstanden werden.
  • Ein an den Motor gelieferter Strom wird bei 1108 abgetastet und gefiltert. In einer Ausführungsform wird der Strom gefiltert, um ein mit dem Stromsignal assoziiertes Rauschen zu entfernen oder reduzieren, so dass eine genaue Repräsentation des Stroms an den elektronischen Prozessor und/oder die Verarbeitungseinheit 557 bereitgestellt werden kann. In einer Ausführungsform wendet die Verarbeitungseinheit 557 ein oder mehrere Software-Filter auf das Stromsignal an. Ein gefilterter Strom wird dann bei 1110 an einen Summierer 1112 ausgegeben, wo er mit einem bei 1114 generierten Feldschwächungs-Kompensationsfaktor KFW kombiniert wird. In einigen Aspekten kann der Feldschwächungs-Kompensationsfaktor einen oder mehrere von einem Voreilwinkel-, einem Leitungswinkel- und/oder einem Freilaufwinkel-Kompensationsfaktor umfassen. Der Feldschwächungs-Kompensationsfaktor kompensiert potenzielle Effizienzverluste, wenn einfach eine Feldschwächung auf natürliche Weise hinzugefügt wird, wie vorstehend im Steuerprozess 1000 beschrieben. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor als eine Konstante beschrieben. In anderen Ausführungsformen kann der Feldschwächungs-Kompensationsfaktor eine lineare und/oder nicht lineare Funktion sein, die den Feldschwächungs-Kompensationsfaktor auf der Grundlage eines oder mehrerer verschiedener Parameter, wie z. B. Motorstrom, -drehzahl usw., bereitstellt. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor auf der Grundlage einer Rückmeldung von einem oder mehreren Feldschwächungsfiltern angepasst, wie nachstehend beschrieben.
  • Der kombinierte gefilterte Strom und der Feldschwächungsfaktor werden an die Verarbeitungseinheit 557 ausgegeben, die bei 1116 einen oder mehrere Feldschwächungsparameter auf der Grundlage des gefilterten Stroms und des Feldschwächungs-Kompensationsfaktors einstellt. Im Steuerprozess 1100 werden die Feldschwächungsparameter lediglich eingestellt, wenn der Motor bei 100 % PWM arbeitet (z. B. ist der Auslöser vollständig betätigt). Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen. In einigen Ausführungsformen werden, wenn der Wert des gefilterten Stroms steigt, die Feldschwächungsparameter modifiziert, um eine Drehzahl oder andere Betriebsparameter des Motors 505 aufrechtzuerhalten. Zum Beispiel kann ein Voreilwinkel als Antwort auf einen Anstieg des gefilterten Stroms erhöht werden, um dabei zu helfen, die Drehzahl des Motors 505 aufrechtzuerhalten.
  • Ein oder mehrere Filter können dann bei 1118 auf die Feldschwächungsparameter angewendet werden. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter, und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden.
  • Die gefilterten Feldschwächungsparameter werden dann bei 1006 an die Motorsteuerung bereitgestellt, um den Motor 505 zu steuern. Außerdem können die gefilterten Feldschwächungsparameter auch als eine Eingabe verwendet werden, um den Feldschwächungs-Kompensationsfaktor bei 1114 zu generieren und/oder modifizieren.
  • Unter Bezugnahme auf 12 ist ein Steuerungsprozess 1200, gemäß einigen Ausführungsformen, zum Durchführen einer Feldschwächung auf der Grundlage des an den Motor 505 bereitgestellten Stroms und eines variablen PWM-Wertes gezeigt. Eine Auslösereingabe wird bei 1202 an den elektronischen Prozessor 550 bereitgestellt, der dann eine Motor-PMW-Ausgabe bei 1204 einstellt, um eine Drehzahl des Motors 505 auf der Grundlage der Auslösereingabe, wie z. B. über den Auslöser 510, zu steuern.
  • Der PWM-Wert wird bei 1206 in eine PWM-vs.-Feldschwächung-Zuordnung (Feldschwächung: „FW“) eingegeben. Die PWM-vs.-FW-Zuordnung kann einen oder mehrere Feldschwächungsparameter umfassen, die mit einem gegebenen PWM-Wert korreliert sind. In einigen Ausführungsformen ist die PWM-vs.-FW-Zuordnung eine Nachschlagetabelle. In anderen Ausführungsformen umfasst die PWM-vs.-FW-Zuordnung eine oder mehrere Funktionen, um einen oder mehrere Feldschwächungsparameter auf der Grundlage des empfangenen PWM-Wertes zu bestimmen. In einem Beispiel kann die Zuordnungsfunktion folgendermaßen sein: MotorPWM = min(nennPWM + nenn FW, 100); FW = max(nennFW + nennPWM- 100, 0), wobei der nennPWM-Wert gleich einem PWM-Wert ist, der mit dem Auslösesignal assoziiert ist; und der nennFW-Wert auf einem oder mehreren gefilterten Feldschwächungsparametern basiert, wie nachstehend beschrieben. In einigen Ausführungsformen kann die PWM-vs.-FW-Zuordnung verwendet werden, um einen effizienteren Betrieb eines Elektrowerkzeugs zu ermöglichen, indem zunächst versucht wird, die PWM zu variieren, um die Drehzahl aufrechtzuerhalten, anstatt eine Feldschwächung zu verwenden. Im Allgemeinen kann eine Feldschwächung Wärme innerhalb des Motors und/oder des Schaltnetzes generieren, und eine steigende PWM kann verwendet werden, um die Drehzahl aufrechtzuerhalten, ohne dass zusätzliche Wärme in das System eingeführt wird. Wenn zum Beispiel eine Benutzereingabe, wie z. B. über den Auslöser 510, bei 50 % liegt, kann mehr PWM hinzugefügt werden, um die Drehzahl auf der Grundlage der PWM-vs.-FW-Zuordnung aufrechtzuerhalten. Wenn jedoch die Benutzereingabe bei einem höheren Wert liegt, wie z. B. bei 90 % oder mehr eines Höchstwertes, ist der verfügbare PWM-Betrag begrenzt, und daher kann eine Feldschwächung, wie z. B. eine Voreilwinkel- oder Leitungswinkelschwankung, angewendet werden, um beim Aufrechterhalten der gewünschten Drehzahl zu helfen.
  • In einigen Beispielen kann eine umgekehrte Feldschwächung oder Mittellinienkommutierung angewendet werden, wobei die gewünschte Ausgabe des Elektrowerkzeugs 105 geringfügig unter einem Nennwert (z. B. 100 %) liegt, die PWM jedoch bei 100 % betrieben wird, wobei der Voreilwinkel, der Freilaufwinkel und der Kommutierungswinkel angepasst sind, so dass der Motor bei bestimmten Kommutierungswinkeln praktisch ohne Antrieb ist. Dies hat den Vorteil, dass die Hochfrequenz-Schaltverluste minimiert werden, die mit dem Betrieb eines Motors mit maximaler PWM assoziiert sind, während gleichzeitig die Ausgabe des Werkzeugs verringert wird.
  • Der PWM-Wert wird auch in die Verarbeitungseinheit 557 eingegeben, die bei 1208 einen oder mehrere Feldschwächungsparameter auf der Grundlage des gefilterten Stroms und des Feldschwächungs-Kompensationsfaktors einstellt. In einigen Ausführungsformen des Steuerprozesses 1200 werden die Feldschwächungsparameter lediglich eingestellt, wenn der Motor bei 100 % PWM arbeitet (z. B. ist der Auslöser vollständig betätigt). Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen. In einigen Ausführungsformen werden, wenn der Wert des gefilterten Stroms steigt, die Feldschwächungsparameter modifiziert, um eine Drehzahl des Motors 505 aufrechtzuerhalten. Zum Beispiel kann ein Voreilwinkel als Antwort auf einen Anstieg des gefilterten Stroms erhöht werden, um dabei zu helfen, die Drehzahl des Motors 505 aufrechtzuerhalten.
  • Ein oder mehrere Filter können dann bei 1210 auf die Feldschwächungsparameter angewendet werden. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter, und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden.
  • Die gefilterten Feldschwächungsparameter werden dann bei 1206 an die PWMvs.-FW-Zuordnung bereitgestellt, um zu ermöglichen, dass die PWM-vs.-FW-Zuordnung auf der Grundlage der gefilterten Feldschwächungsparameter aktualisiert wird. Außerdem können die gefilterten Feldschwächungsparameter auch als eine Eingabe verwendet werden, um bei 1212 den Feldschwächungs-Kompensationsfaktor zu generieren und/oder modifizieren.
  • Ein PWM-Wert und ein oder mehrere Feldschwächungsparameter werden bei 1214 auf der Grundlage der Ausgabe der PWM-vs.-FW-Zuordnung an eine Motorsteuerung ausgegeben. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550. Obwohl der Steuerprozess 1200 derart beschrieben wurde, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1200 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572, oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten verstanden werden.
  • Ein an den Motor gelieferter Strom wird bei 1216 abgetastet und gefiltert. In einer Ausführungsform wird der Strom gefiltert, um ein mit dem Stromsignal assoziiertes Rauschen zu entfernen oder reduzieren, so dass eine genaue Repräsentation des Stroms an den elektronischen Prozessor und/oder die Verarbeitungseinheit 557 bereitgestellt werden kann. In einer Ausführungsform wendet die Verarbeitungseinheit 557 ein oder mehrere Software-Filter auf das Stromsignal an. Ein gefilterter Strom wird dann bei 1218 an einen Summierer 1220 ausgegeben, wo er mit dem bei 1212 generierten Feldschwächungs-Kompensationsfaktor KFW kombiniert wird. In einigen Aspekten kann der Feldschwächungs-Kompensationsfaktor einen oder mehrere von einem Voreilwinkel-, einem Leitungswinkel- und/oder einem Freilaufwinkel-Kompensationsfaktor umfassen. Der Feldschwächungs-Kompensationsfaktor kompensiert potenzielle Effizienzverluste, wenn einfach eine Feldschwächung auf natürliche Weise hinzugefügt wird, wie vorstehend im Steuerprozess 1000 beschrieben. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor als eine Konstante beschrieben. In anderen Ausführungsformen kann der Feldschwächungs-Kompensationsfaktor eine lineare und/oder nicht lineare Funktion sein, die den Feldschwächungs-Kompensationsfaktor auf der Grundlage eines oder mehrerer verschiedener Parameter, wie z. B. Motorstrom, -drehzahl usw., bereitstellt. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor auf der Grundlage einer Rückmeldung von einem oder mehreren Feldschwächungsfiltern angepasst, wie nachstehend beschrieben.
  • Der kombinierte gefilterte Strom und der Feldschwächungsfaktor werden an die Verarbeitungseinheit 557 ausgegeben, die derart ausgelegt sein kann, dass sie bei 1208 einen oder mehrere Feldschwächungsparameter auf der Grundlage des gefilterten Stroms und des Feldschwächungs-Kompensationsfaktors modifiziert, Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen. In einigen Ausführungsformen werden, wenn der Wert des gefilterten Stroms steigt, die Feldschwächungsparameter modifiziert, um eine Drehzahl des Motors 505 aufrechtzuerhalten. Zum Beispiel kann ein Voreilwinkel als Antwort auf einen Anstieg des gefilterten Stroms erhöht werden, um dabei zu helfen, die Drehzahl des Motors 505 aufrechtzuerhalten. Die aktualisierten Feldschwächungsparameter können dann bei 1218 gefiltert werden, wie vorstehend beschrieben.
  • Unter Bezugnahme auf 13 ist ein Steuerprozess 1300, gemäß einigen Ausführungsformen, zum Durchführen einer Feldschwächung auf der Grundlage eines an den Motor 505 bereitgestellten Stroms und eines variablen PWM-Wertes unter Verwendung des maschinellen Lernens gezeigt. Eine Auslösereingabe wird bei 1302 an den elektronischen Prozessor 550 bereitgestellt, der dann bei 1304 eine Motor-PMW-Ausgabe einstellt, um eine Drehzahl des Motors 505 auf der Grundlage der Auslösereingabe, wie z. B. über den Auslöser 510, zu steuern.
  • Der PWM-Wert wird bei 1306 in eine PWM-vs.-Feldschwächung-Zuordnung (Feldschwächung: „FW“) eingegeben. Die PWM-vs.-FW-Zuordnung kann einen oder mehrere Feldschwächungsparameter umfassen, die mit einem gegebenen PWM-Wert korreliert sind. In einigen Ausführungsformen ist die PWM-vs.-FW-Zuordnung eine Nachschlagetabelle. In anderen Ausführungsformen umfasst die PWM-vs.-FW-Zuordnung eine oder mehrere Funktionen, um einen oder mehrere Feldschwächungsparameter auf der Grundlage des empfangenen PWM-Wertes zu bestimmen. In einem Beispiel kann die Zuordnungsfunktion folgendermaßen sein: MotorPWM = min(nennPWM + nenn FW, 100); FW = max(nennFW + nennPWM- 100, 0), wobei der nennPWM-Wert gleich einem PWM-Wert ist, der mit dem Auslösesignal assoziiert ist; und der nennFW-Wert auf einem oder mehreren gefilterten Feldschwächungsparametern basiert, wie nachstehend beschrieben.
  • Der PWM-Wert wird auch in die Verarbeitungseinheit 557 eingegeben, die bei 1308 einen oder mehrere Feldschwächungsparameter auf der Grundlage des gefilterten Stroms und des Feldschwächungs-Kompensationsfaktors einstellt. In einigen Ausführungsformen des Steuerprozesses 1300 werden die Feldschwächungsparameter lediglich eingestellt, wenn der Motor bei 100 % PWM arbeitet (z. B. ist der Auslöser vollständig betätigt). Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen. In einigen Ausführungsformen werden, wenn sich der Wert eines oder mehrerer allgemeiner Parameter, wie nachstehend beschrieben, ändert, die Feldschwächungsparameter modifiziert, um eine Drehzahl des Motors 505 aufrechtzuerhalten. Zum Beispiel kann ein Voreilwinkel als Antwort auf eine Änderung eines oder mehrerer allgemeiner Parameter erhöht werden, wie nachstehend beschrieben. In anderen Beispielen werden, wie in Diagramm 1380 dargestellt, ein oder mehrere Feldschwächungsparameter variiert, nachdem die Drehzahl (oder Pseudodrehzahl, wie nachstehend beschrieben) einen Schwellenwert (wie z. B. 50 % eines Höchstwertes) erreicht, der eine Anwendung einer Feldschwächung erfordert, um die gewünschte Drehzahl aufrechtzuerhalten. Dementsprechend wird ein Feldschwächungsparameter 1382 angewendet, um die gewünschte Drehzahl aufrechtzuerhalten.
  • Ein oder mehrere Filter können dann bei 1310 auf die Feldschwächungsparameter angewendet werden. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter, und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden.
  • Die gefilterten Feldschwächungsparameter werden dann bei 1306 zurück an die PWM-vs.-FW-Zuordnung bereitgestellt, um zu ermöglichen, dass die PWM-vs.-FW-Zuordnung auf der Grundlage der gefilterten Feldschwächungsparameter aktualisiert wird. Außerdem können die gefilterten Feldschwächungsparameter auch als eine Eingabe verwendet werden, um bei 1334 den Feldschwächungs-Kompensationsfaktor zu generieren und/oder modifizieren.
  • Ein PWM-Wert und ein oder mehrere Feldschwächungsparameter werden bei 1314 auf der Grundlage der Ausgabe der PWM-vs.-FW-Zuordnung an eine Motorsteuerung ausgegeben. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550. Obwohl der Steuerprozess 1300 derart beschrieben wurde, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1300 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572, oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten verstanden werden.
  • Ein oder mehrere Sensoren, wie z. B. die vorstehend beschriebenen Sensoren 530, sind dann derart ausgelegt, dass sie einen oder mehrere mit dem Betrieb des Elektrowerkzeugs 500 assoziierte Parameter überwachen. In einer Ausführungsform wird ein Motorstrom 1316 abgetastet und gefiltert. Ein oder mehrere Feldschwächungsparameter 1318 werden bei 1306 durch die PWM-vs.-FW-Zuordnung bereitgestellt, und ein assoziierter PWM-Wert 1320 wird durch die PWM-vs.-FW-Zuordnung bei 1306 bereitgestellt. Außerdem wird eine Akkuimpedanz („Z“) 1322 abgetastet. In einer Ausführungsform wird die Akkuimpedanz 1322 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuimpedanz 1322 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Außerdem wird eine anfängliche Akkuspannung („Vi“) 1324 abgetastet. In einer Ausführungsform wird die Akkuspannung 1324 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuspannung 1324 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Eine oder mehrere Werkzeugbewegungseingaben („G“) 1326 können ebenfalls abgetastet werden. Zum Beispiel können die Sensoren 530 ein oder mehrere Gyroskope und/oder einen oder mehrere Beschleunigungsmesser umfassen, die die eine oder die mehreren Bewegungseigaben 1326 bereitstellen können.
  • Die abgetasteten Werte werden dann bei 1328 durch eine oder mehrere Komponenten der elektronischen Steueranordnung 536 ausgewertet, um einen oder mehrere allgemeine Parameter, wie z. B. Pseudodrehzahl, Pseudoleistung, Pseudodrehmoment usw., abzuleiten, die dann zum Modifizieren eines oder mehrerer Feldschwächungsparameter verwendet werden können, wie hier beschrieben. Ein Verwenden von Pseudoparameterwerten anstelle gemessener Parameter kann von Vorteil sein, da die Anwendung einer Feldschwächung auf ein System die lineare Beziehung gemessener Werte zu berechneten Werten, wie z. B. Strom zu Drehmoment usw., ändern kann. In einigen Ausführungsformen verwendet der elektronische Prozessor 550 einen oder mehrere Prozesse oder Algorithmen, um den einen oder die mehreren allgemeinen Parameter zu generieren. In anderen Ausführungsformen generiert die Steuerung 540 des maschinellen Lernens die allgemeinen Parameter unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens, wie z. B. jener, die vorstehend beschrieben wurden. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens eines oder mehrere von einem DNN, RNN, CNN oder einer Regression verwenden, um die allgemeinen Parameter abzuleiten. In anderen Beispielen kann die Steuerung 540 des maschinellen Lernens die allgemeinen Parameter unter Verwendung einer oder mehrerer analytischer Funktionen, wie z. B. einer polynomialen Regression, ableiten.
  • Die allgemeinen Parameter werden dann bei 1330 an einen Summierer 1332 ausgegeben, wo die allgemeinen Parameter mit einem bei 1334 generierten Feldschwächungs-Kompensationsfaktor KFW kombiniert werden. In einigen Aspekten kann der Feldschwächungs-Kompensationsfaktor einen oder mehrere von einem Voreilwinkel-, einem Leitungswinkel- und/oder einem Freilaufwinkel-Kompensationsfaktor umfassen. Der Feldschwächungs-Kompensationsfaktor kompensiert potenzielle Effizienzverluste, wenn einfach eine Feldschwächung auf natürliche Weise hinzugefügt wird, wie vorstehend im Steuerprozess 1000 beschrieben. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor als eine Konstante beschrieben. In anderen Ausführungsformen kann der Feldschwächungs-Kompensationsfaktor eine lineare und/oder nicht lineare Funktion sein, die den Feldschwächungs-Kompensationsfaktor auf der Grundlage eines oder mehrerer verschiedener Parameter, wie z. B. Motorstrom, -drehzahl usw., bereitstellt. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor auf der Grundlage einer Rückmeldung von einem oder mehreren Feldschwächungsfiltern angepasst, wie nachstehend beschrieben. In weiteren Beispielen kann der Feldschwächungs-Kompensationsfaktor zumindest teilweise auf einer Ausgabe von der bei 1306 generierten PWM-vs.-FW-Zuordnung basieren.
  • Die kombinierten allgemeinen Parameter und der Feldschwächungs-Kompensationsfaktor werden an die Verarbeitungseinheit 557 ausgegeben, die derart ausgelegt sein kann, dass sie bei 1308 einen oder mehrere Feldschwächungsparameter auf der Grundlage der allgemeinen Parameter und des Feldschwächungs-Kompensationsfaktors modifiziert, Zum Beispiel zeigt, wie in 13 dargestellt, Diagramm 1380, wie mit steigender Pseudodrehzahl ein oder mehrere Feldschwächungsparameter 1308 erhöht werden können, um die Drehzahl aufrechtzuerhalten.
  • Unter Bezugnahme auf 14 ist ein Steuerprozess 1400, gemäß einigen Ausführungsformen, zum Durchführen einer Feldschwächung unter Verwendung einer Regelung dargestellt. Eine Auslösereingabe wird bei 1402 an den elektronischen Prozessor 550 bereitgestellt, der dann eine Motor-PMW-Ausgabe bei 1404 einstellt, um eine Drehzahl des Motors 505 auf der Grundlage der Auslösereingabe, wie z. B. über den Auslöser 510, zu steuern.
  • Der PWM-Wert wird bei 1406 in eine PWM-vs.-Feldschwächung-Zuordnung (Feldschwächung: „FW“) eingegeben. Die PWM-vs.-FW-Zuordnung kann einen oder mehrere Feldschwächungsparameter umfassen, die mit einem gegebenen PWM-Wert korreliert sind. In einigen Ausführungsformen ist die PWM-vs.-FW-Zuordnung eine Nachschlagetabelle. In anderen Ausführungsformen umfasst die PWM-vs.-FW-Zuordnung eine oder mehrere Funktionen, um einen oder mehrere Feldschwächungsparameter auf der Grundlage des empfangenen PWM-Wertes zu bestimmen. In einem Beispiel kann die Zuordnungsfunktion folgendermaßen sein: MotorPWM = min(nennPWM + nenn FW, 100); FW - max(nennFW + nennPWM- 100, 0), wobei der nennPWM-Wert gleich einem PWM-Wert ist, der mit dem Auslösesignal assoziiert ist; und der nennFW-Wert auf einem oder mehreren gefilterten Feldschwächungsparametern basiert, wie nachstehend beschrieben.
  • Der PWM-Wert wird auch in die Verarbeitungseinheit 557 eingegeben, die bei 1408 einen oder mehrere Feldschwächungsparameter auf der Grundlage des gefilterten Stroms und des Feldschwächungs-Kompensationsfaktors einstellt. Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen.
  • Ein oder mehrere Filter können dann bei 1410 auf die Feldschwächungsparameter angewendet werden. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter, und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden.
  • Die gefilterten Feldschwächungsparameter werden dann bei 1406 zurück an die PWM-vs.-FW-Zuordnung bereitgestellt, um zu ermöglichen, dass die PWM-vs.-FW-Zuordnung auf der Grundlage der gefilterten Feldschwächungsparameter aktualisiert wird. Außerdem können die gefilterten Feldschwächungsparameter auch als eine Eingabe verwendet werden, um bei 1412 den Feldschwächungs-Kompensationsfaktor zu generieren und/oder modifizieren.
  • Ein PWM-Wert und ein oder mehrere Feldschwächungsparameter werden bei 1414 auf der Grundlage der Ausgabe der PWM-vs.-FW-Zuordnung an eine Motorsteuerung ausgegeben. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550. Obwohl der Steuerprozess 1400 derart beschrieben wurde, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1400 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572 oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten verstanden werden.
  • Ein oder mehrere Sensoren, wie z. B. die vorstehend beschriebenen Sensoren 530, sind dann derart ausgelegt, dass sie einen oder mehrere mit dem Betrieb des Elektrowerkzeugs 500 assoziierte Parameter überwachen. In einer Ausführungsform wird ein Motorstrom 1416 abgetastet und gefiltert. Ein oder mehrere Feldschwächungsparameter 1418 werden bei 1406 durch die PWM-vs.-FW-Zuordnung bereitgestellt, und ein assoziierter PWM-Wert 1420 wird durch die PWM-vs.-FW-Zuordnung bei 1406 bereitgestellt. Außerdem wird eine Akkuimpedanz („Z“) 1422 abgetastet. In einer Ausführungsform wird die Akkuimpedanz 1422 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuimpedanz 1422 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Außerdem wird eine anfängliche Akkuspannung („Vi“) 1424 abgetastet. In einer Ausführungsform wird die Akkuspannung 1424 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuspannung 1424 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Eine oder mehrere Werkzeugbewegungseingaben („G“) 1426 können ebenfalls abgetastet werden. Zum Beispiel können die Sensoren 530 ein oder mehrere Gyroskope und/oder einen oder mehrere Beschleunigungsmesser umfassen, die die eine oder die mehreren Werkzeugbewegungseingaben 1426 bereitstellen können.
  • Die abgetasteten Parameter werden dann bei 1428 durch eine oder mehrere Komponenten der elektronischen Steueranordnung 536 ausgewertet, um einen oder mehrere allgemeine Parameter, wie z. B. Pseudodrehzahl, Pseudoleistung, Pseudodrehmoment usw., abzuleiten, die dann zum Modifizieren eines oder mehrerer Feldschwächungsparameter verwendet werden können, wie hier beschrieben. In einer Ausführungsform verwendet der elektronische Prozessor 550 einen oder mehrere Prozesse oder Algorithmen, um den einen oder die mehreren Parameter zu generieren. In anderen Ausführungsformen generiert die Steuerung 540 des maschinellen Lernens die allgemeinen Parameter unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens, wie z. B. jener, die vorstehend beschrieben wurden. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens eines oder mehrere von einem DNN, RNN, CNN oder einer Regression verwenden, um die allgemeinen Parameter abzuleiten. In anderen Beispielen kann die Steuerung 540 des maschinellen Lernens die allgemeinen Parameter unter Verwendung einer oder mehrerer analytischer Funktionen, wie z. B. einer polynomialen Regression, ableiten. Außerdem können Parameter, wie z. B. die Akkuimpedanz 1422 und die Akkuspannung 1424, verwendet werden, um maximale Werte allgemeiner Parameter anzupassen, um die maximale Ausgabe des Werkzeugs zu berücksichtigen. Wenn zum Beispiel eine Drehzahlsteuerung verwendet wird, um den Motor 505 zu steuern, kann die folgende Gleichung verwendet werden, um einen maximalen Zieldrehzahlparameter zu bestimmen: Max Ziel = v i v m a x O r i g i n a l   M a x   T a r g e t ,
    Figure DE112022002395T5_0001
     
    Figure DE112022002395T5_0002
    wobei Vmax die maximale Spannungsausgabe des Akkus ist.
  • Einer oder mehrerer der allgemeinen Parameter können bei 1430 ausgegeben und bei 1432 mit der eingestellten Motor-PWM-Ausgabe gemischt werden. Die kombinierten allgemeinen Parameter werden dann bei 1434 mit dem einen oder den mehreren allgemeinen Parameter kombiniert, um einen Unterschied (d. h. Fehler) zwischen den kombinierten allgemeinen Parametern und dem einen oder den mehreren allgemeinen Parametern, die bei 1428 ausgegeben werden, zu bestimmen. Dann wird bei 1436 ein Proportionalfehler auf Grundlage des ermittelten Unterschieds bestimmt und bei 1438 wird ein Integralfehler auf Grundlage des ermittelten Unterschieds bestimmt. Der Proportionalfehler und der Integralfehler werden beide bei 1440 zu einem Fehlerwert kombiniert. Obwohl als Proportional-Integral-Steuerung („PI“-Steuerung) in 14 dargestellt, wird in Betracht gezogen, dass andere Regelungskonzepte, wie z. B. Proportional-, Integral-, Proportional-Integral-Derivative („PID“), Feedforward, Lead-Lag und dergleichen ebenfalls verwendet werden können, um eine Regelung mit geschlossenem Regelkreis bereitzustellen. Der kombinierte Fehlerwert wird dann bei 1442 mit dem Feldschwächungs-Kompensationsfaktor kombiniert.
  • In einigen Aspekten kann der Feldschwächungs-Kompensationsfaktor einen oder mehrere von einem Voreilwinkel-, einem Leitungswinkel- und/oder einem Freilaufwinkel-Kompensationsfaktor umfassen. Der Feldschwächungs-Kompensationsfaktor kompensiert potenzielle Effizienzverluste, wenn einfach eine Feldschwächung auf natürliche Weise hinzugefügt wird, wie vorstehend im Steuerprozess 1000 beschrieben. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor als eine Konstante beschrieben. In anderen Ausführungsformen kann der Feldschwächungs-Kompensationsfaktor eine lineare und/oder nicht lineare Funktion sein, die den Feldschwächungs-Kompensationsfaktor auf der Grundlage eines oder mehrerer verschiedener Parameter, wie z. B. Motorstrom, -drehzahl usw., bereitstellt. In einigen Ausführungsformen wird der Feldschwächungs-Kompensationsfaktor auf der Grundlage einer Rückmeldung von einem oder mehreren Feldschwächungsfiltern angepasst, wie nachstehend beschrieben. In weiteren Beispielen kann der Feldschwächungs-Kompensationsfaktor zumindest teilweise auf einer Ausgabe von der bei 1406 generierten PWM-vs.-FW-Zuordnung basieren.
  • Die kombinierten allgemeinen Parameter und der Feldschwächungs-Kompensationsfaktor werden an die Verarbeitungseinheit 557 ausgegeben, die derart ausgelegt sein kann, dass sie bei 1408 einen oder mehrere Feldschwächungsparameter auf der Grundlage der allgemeinen Parameter und des Feldschwächungs-Kompensationsfaktors modifiziert. Beispiele für Feldschwächungsparameter können einen Voreilwinkel, einen Freilaufwinkel, einen Leitungswinkel usw. umfassen.
  • Unter Bezugnahme auf 15 ist ein Steuerprozess 1500, gemäß einigen Ausführungsformen, zum Durchführen einer Feldschwächung unter Verwendung einer Regelung mit maschinellem Lernen dargestellt. Eine Auslösereingabe wird bei 1502 an den elektronischen Prozessor 550 bereitgestellt, der dann bei 1504 einen Soll-Drehzahlwert einstellt, um eine Drehzahl des Motors 505 auf der Grundlage der Auslösereingabe, wie z. B. über den Auslöser 510, zu steuern. Obwohl der Steuerprozess 1500 derart beschrieben wird, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1500 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572, die Steuerung 540 des maschinellen Lernens, und/oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten verstanden werden.
  • Der Soll-Drehzahlwert wird bei 1506 in die Steuerung 540 des maschinellen Lernens eingegeben. Außerdem können ein oder mehrere Prioritätsparameter bei 1508 bestimmt und bei 1506 an die Steuerung 540 des maschinellen Lernens bereitgestellt werden. In einigen Ausführungsformen bestimmt die Steuerung 540 des maschinellen Lernens, welche Parameter zu priorisieren sind. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens verschiedene Parameter, wie z. B. Drehzahlsteuerung, maximale Drehzahl, maximale Leistung, maximale Effizienz, ein gewünschtes Drehmoment-Drehzahl-Profil usw., priorisieren. In einigen Ausführungsformen kann die Steuerung 540 des maschinellen Lernens die Parameter auf der Grundlage der Anwendung priorisieren. Zum Beispiel arbeiten Schappenbohrer möglicherweise am besten unter Verwendung einer konstanten Drehzahlsteuerung, während Lochsägen möglicherweise am besten arbeiten, wenn die Effizienz maximiert wird. Wie vorstehend beschrieben, kann die Steuerung 540 des maschinellen Lernens derart ausgelegt sein, dass sie eine Anwendung ermittelt.
  • Die Prioritätsparameter können verwendet werden, um die Steuerung des maschinellen Lernens anzuweisen, einen oder mehrere Parameter zu priorisieren, um verschiedene Operationen des Elektrowerkzeugs 500 zu optimieren, wie z. B. Spitzenleistungsabgabe, Laufzeit, Stabilität usw. Die Steuerung 540 des maschinellen Lernens kann dann eine oder mehrere Operationen unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens durchführen. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens intern eine Zieldrehzahl auf der Grundlage der Solldrehzahl und des einen oder der mehreren Prioritätsparameter bestimmen. Die Steuerung 540 des maschinellen Lernens kann außerdem einen oder mehrere Feldschwächungsparameter auf der Grundlage der Solldrehzahl, des einen oder der mehreren Prioritätsparameter, und/oder anderer abgetasteter Werte bestimmen, wie nachstehend ausführlicher beschrieben. Die Steuerung 540 des maschinellen Lernens kann ferner derart ausgelegt sein, dass sie eine Zuordnung generiert, die PWM auf Feldschwächungsparameterwerte abbildet. In einer Ausführungsform kann das Abbilden unter Verwendung einer fest codierten Funktion durchgeführt werden. In anderen Ausführungsformen kann das Abbilden unter Verwendung variabler Ausgaben durchgeführt werden.
  • Die Steuerung 540 des maschinellen Lernens kann ferner derart ausgelegt sein, dass sie einen oder mehrere bestimmte Feldschwächungsparameter unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens filtert. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens derart ausgelegt sein, dass sie ein oder mehrere nicht lineare Filter verwendet, um den einen oder die mehreren bestimmten Feldschwächungsparameter zu filtern. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden. In einigen Beispielen kann die Steuerung 540 des maschinellen Lernens derart ausgelegt sein, dass sie eine oder mehrere Empfehlungen in Bezug auf eine ideale Verwendung einer Feldschwächung bereitstellt. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens verschiedene Empfehlungen für eine Feldschwächungsverwendung generieren, wie z. B. eine ideale Verwendung für verschiedene Operationen oder Betriebsmodi eines konkreten Werkzeugs. Diese Empfehlungen können an einen Benutzer bereitgestellt werden, wie z. B. über eine externe Vorrichtung, wie z. B. die externe Vorrichtung 107.
  • In einigen Ausführungsformen kann die Steuerung 540 des maschinellen Lernens ferner verschiedene Eingaben auswerten, um die erforderlichen Feldschwächungsparameter zu bestimmen. Zum Beispiel kann ein nicht maschineller Lernalgorithmus die Prioritätsparameter auf der Grundlage verschiedener Eingaben, wie z. B. benutzerdefinierter Eingaben und/oder sensorabgeleiteter Eingaben, bestimmen. Die Eingaben können umfassen: Akkudaten, wie z. B. Akkuspannung, Akkuchemie, verbleibende Akkukapazität, Akkuimpedanz, Akkulebensdauer (z. B. Coulomb-Zähler), Akkutemperatur, Vorhandensein von Akkus in der Nähe; Akkuladedaten, wie z. B. Werkzeuglademuster für einen Benutzer, Tageszeit, akzeptierten Akkuverbrauch, andere Werkzeuge, die mit demselben Akkupack verwendet werden; und Temperaturdaten, wie z.B. Umgebungstemperatur, Akkutemperatur und/oder Werkzeugtemperatur. Andere Eingaben können umfassen: Auslösereindrückwerte, zuvor identifiziertes Zubehör/zuvor identifizierte Anwendung/Aufgabe und/oder typische damit assoziierte Belastungseigenschaften, Werkzeugmodi (z. B. Befestigen von Schrauben, Bohren, Hammerbohren), Anwendungsprofil (z. B. geht das Werkzeug durch den FW-Bereich oder bleibt es in diesem), Aktivierung einer Feldschwächung lediglich bei Verzögerung, Energieanforderung, Handrotation, Belastung durch den Benutzer, und/oder Gefühlsprofil (z. B. Verwendung der Feldschwächung zum Verbessern der Drehzahlsteuerung für allmähliche Auf- und Abwärtsrampen). Es versteht sich, dass je nach gegebener Anwendung andere Eingaben ebenfalls verwendet werden können. Außerdem kann das Werkzeug eine oder mehrere Benutzereingaben umfassen, wie z. B. Knöpfe, Tasten, Wählscheiben oder andere Benutzerschnittstellen (wie z. B. über eine externe Vorrichtung, wie z. B. die externe Vorrichtung 107), die es einem Benutzer ermöglichen können, Eingaben bereitzustellen, die mit den Feldschwächungsparametern im Zusammenhang stehen (z. B. Feldschwächung erhöhen oder verringern, variieren, wann eine Feldschwächung angewendet wird usw.).
  • Obwohl die vorstehenden Ausführungsformen ein Verwenden von Algorithmen des maschinellen Lernens zum Bestimmen der Feldschwächungsparameter beschreiben, versteht es sich, dass nicht-maschinelle Lernalgorithmen ebenfalls verwendet werden können. Wenn zum Beispiel der Logikfluss oder die Eingaben einfacher sind, wie z. B. wenn die Feldschwächung auf einem einzelnen Parameter, wie z. B. einer Auslösereindrückung basiert, können nicht-maschinelle Lernalgorithmen, wie z. B. auf Nachschlagetabellen basierende Algorithmen, verwendet werden, um die Feldschwächungsparameter zu generieren.
  • Die Steuerung 540 des maschinellen Lernens gibt dann bei 1510 einen oder mehrere Motorantriebsparameter an die Motorsteuerung aus. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550.
  • Ein oder mehrere Sensoren, wie z. B. die vorstehend beschriebenen Sensoren 530, sind derart ausgelegt, dass sie einen oder mehrere mit dem Betrieb des Elektrowerkzeugs 500 assoziierte Parameter überwachen. In einer Ausführungsform wird ein Motorstrom 1512 abgetastet und gefiltert. Ein oder mehrere Feldschwächungsparameter 1514 werden durch die Steuerung 540 des maschinellen Lernens generiert, und ein assoziierter PWM-Wert 1516 wird durch die Steuerung 540 des maschinellen Lernens ausgegeben. Außerdem wird eine Akkuimpedanz („Z“) 1518 abgetastet. In einer Ausführungsform wird die Akkuimpedanz 1518 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuimpedanz 1518 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Außerdem wird eine anfängliche Akkuspannung („Vi“) 1520 abgetastet. In einer Ausführungsform wird die Akkuspannung 1520 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuspannung 1520 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Eine oder mehrere Werkzeugbewegungseingaben („G“) 1522 können ebenfalls abgetastet werden. Zum Beispiel können die Sensoren 530 ein oder mehrere Gyroskope und/oder einen oder mehrere Beschleunigungsmesser umfassen, die die eine oder die mehreren Werkzeugbewegungseingaben 1522 bereitstellen können.
  • Die abgetasteten Parameter werden dann bei 1524 durch die Steuerung 540 des maschinellen Lernens unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens ausgewertet, um einen oder mehrere allgemeine Parameter, wie z. B. Pseudodrehzahl, Pseudoleistung, Pseudodrehmoment usw., abzuleiten, die dann zum Modifizieren eines oder mehrerer Feldschwächungsparameter verwendet werden können, wie hier beschrieben. In einer Ausführungsform verwendet die Steuerung des maschinellen Lernens einen oder mehrere Prozesse oder Algorithmen, um den einen oder die mehreren allgemeinen Parameter zu generieren. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens eines oder mehrere von einem DNN, RNN, CNN oder einer Regression verwenden, um die allgemeinen Parameter abzuleiten. In anderen Beispielen kann die Steuerung 540 des maschinellen Lernens die allgemeinen Parameter unter Verwendung einer oder mehrerer analytischer Funktionen, wie z. B. einer polynomialen Regression, ableiten. Außerdem können Parameter, wie z. B. die Akkuimpedanz 1518 und die Akkuspannung 1520, verwendet werden, um maximale Werte allgemeiner Parameter anzupassen, um die maximale Ausgabe des Werkzeugs zu berücksichtigen. Obwohl die vorstehenden allgemeinen Parameter mit der Steuerung 540 des maschinellen Lernens generiert werden, wird in Erwägung gezogen, dass andere Komponenten, wie z. B. der elektronische Prozessor 550, derart ausgelegt sein können, dass sie die allgemeinen Parameter unter Verwendung von nicht-maschinellen Lernalgorithmen generieren. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens derart ausgelegt sein, dass sie die Prioritätsparameter (z. B. Drehzahlsteuerung) bestimmt, während der elektronische Prozessor 550 derart ausgelegt sein kann, dass er die tatsächliche Steuerung des Motors über die Motorsteuerung 1510 handhabt.
  • Der eine oder die mehreren bestimmten allgemeinen Parameter werden an die Steuerung 1506 des maschinellen Lernens bereitgestellt, die dann derart ausgelegt ist, dass sie die allgemeinen Parameter als eine zusätzliche Eingabe beim Durchführen der vorstehend beschriebenen Funktionen verwendet. Außerdem kann die Steuerung des maschinellen Lernens durch direktes Bereitstellen der allgemeinen Parameter an die Steuerung 540 des maschinellen Lernens einen oder mehrere Algorithmen des maschinellen Lernens verwenden, um die Motorausgabe derart zu betreiben, dass die allgemeinen Parameter aufrechterhalten werden. Wenn der allgemeine Parameter zum Beispiel ein Pseudodrehzahlparameter ist, kann die Steuerung des maschinellen Lernens einen oder mehrere Motorausgabewerte (z. B. PWM) in Verbindung mit einem oder mehreren Feldschwächungsparametern bestimmen, um die Ausgabe derart aufrechtzuerhalten, dass der Pseudodrehzahlwert konstant bleibt, wodurch eine konstante Ausgabe am Motor bereitgestellt wird.
  • Wie vorstehend ausführlich beschrieben, kann die Steuerung 540 des maschinellen Lernens derart ausgelegt sein, dass sie eine Benutzerrückmeldung oder andere Eingaben empfängt, um ihren Betrieb im Verlauf der Zeit zu modifizieren. Daher kann sich in einigen Ausführungsformen die Steuerung 540 des maschinellen Lernens im Verlauf der Zeit hinsichtlich des Generierens von Feldschwächungsparametern auf der Grundlage von Rückmeldungen und anderen Eingaben anpassen. In anderen Ausführungsformen kann die Steuerung 540 des maschinellen Lernens statische Algorithmen verwenden, die sich nicht auf der Grundlage einer Rückmeldung eines Benutzers oder anderer Eingaben ändern.
  • Unter Bezugnahme auf 16 ist ein Steuerprozess 1600, gemäß einigen Ausführungsformen, zum Durchführen einer Feldschwächung unter Verwendung einer Regelung, die ausschließlich durch maschinelles Lernen erfolgt, dargestellt. Eine Auslösereingabe wird bei 1602 an den elektronischen Prozessor 550 bereitgestellt, der dann bei 1604 einen Soll-Drehzahlwert einstellt, um eine Drehzahl des Motors 505 auf der Grundlage der Auslösereingabe, wie z. B. über den Auslöser 510, zu steuern. Obwohl der Steuerprozess 1600 derart beschrieben wird, dass er durch eine oder mehrere Komponenten des Elektrowerkzeugs 500 durchgeführt wird, versteht es sich, dass der Steuerprozess 1600 durch eine oder mehrere Komponenten, wie z. B. den elektronischen Prozessor 550, die Verarbeitungseinheit 557, die Steuereinheit 572, die Steuerung 540 des maschinellen Lernens, und/oder andere Komponenten, entweder allein oder in Kombination, ausgeführt werden kann. Jegliche Verweise auf eine konkrete Komponente des Elektrowerkzeugs 500 dienen Veranschaulichungszwecken und sollen nicht als Beschränkung von Funktionen auf eine oder mehrere Komponenten verstanden werden. Wie in 16 dargestellt, kann eine einzelne Steuerung 540 des maschinellen Lernens verwendet werden, um einen beliebigen erforderlichen Parameter oder andere Daten abzuleiten und/oder zu bestimmen, um auf der Grundlage von Sensorrohdaten die erforderliche Feldschwächung durchzuführen, wie nachstehend beschrieben.
  • Der Soll-Drehzahlwert wird bei 1606 in die Steuerung 540 des maschinellen Lernens eingegeben. Außerdem können ein oder mehrere Prioritätsparameter bei 1608 bestimmt und bei 1606 an die Steuerung 540 des maschinellen Lernens bereitgestellt werden. Die Prioritätsparameter können verwendet werden, um die Steuerung des maschinellen Lernens anzuweisen, einen oder mehrere Parameter zu priorisieren, um verschiedene Operationen des Elektrowerkzeugs 500 zu optimieren, wie z. B. Spitzenleistungsabgabe, Laufzeit, Stabilität usw. Die Steuerung 540 des maschinellen Lernens kann dann eine oder mehrere Operationen unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens durchführen. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens intern eine Zieldrehzahl auf der Grundlage der Solldrehzahl und des einen oder der mehreren Prioritätsparameter bestimmen. Die Steuerung 540 des maschinellen Lernens kann außerdem einen oder mehrere Feldschwächungsparameter auf der Grundlage der Solldrehzahl, des einen oder der mehreren Prioritätsparameter, und/oder anderer abgetasteter Werte bestimmen, wie nachstehend ausführlicher beschrieben. Die Steuerung 540 des maschinellen Lernens kann ferner derart ausgelegt sein, dass sie eine Zuordnung generiert, die PWM auf Feldschwächungsparameterwerte abbildet. In einer Ausführungsform kann das Abbilden unter Verwendung einer fest codierten Funktion durchgeführt werden. In anderen Ausführungsformen kann das Abbilden unter Verwendung variabler Ausgaben durchgeführt werden. Die Steuerung 540 des maschinellen Lernens kann ferner derart ausgelegt sein, dass sie einen oder mehrere bestimmte Feldschwächungsparameter unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens filtert. Die Filter können verwendet werden, um die Stabilität des Systems zu erhöhen (z. B. unnötige Schwankungen innerhalb des Systems zu verhindern), wenn eine Feldschwächung angewendet wird. Beispielfilter können ein Anstiegsratenfilter, ein Tiefpassfilter und/oder ein Hysteresefilter umfassen, jedoch werden andere Filtertypen in Betracht gezogen. Das Anstiegsratenfilter kann derart ausgelegt sein, dass es die maximale oder minimale Rate eines Anstiegs und/oder einer Verringerung des einen oder der mehreren Feldschwächungsparameter begrenzt. Das Tiefpassfilter kann derart ausgelegt sein, dass es eine Ausgangsantwort der Feldschwächungsparameter glättet, und wird häufig angewendet, nachdem die anderen Filter angewendet wurden. Das Hysteresefilter kann auch zur Stabilität beitragen, indem es Änderungen der Feldschwächungsparameter nur dann erlaubt, wenn die Änderungen einen vorgegebenen Wert überschreiten. Dies kann verhindern, dass geringfügige Änderungen (z. B. weniger als 10 % Abweichung) beständig vorgenommen werden.
  • Die Steuerung 540 des maschinellen Lernens gibt dann bei 1610 einen oder mehrere Motorantriebsparameter an die Motorsteuerung aus. Die Motorsteuerung kann ein Schaltnetz, wie z. B. das Schaltnetz 517, sein, das derart ausgelegt ist, dass es den Motor auf der Grundlage der durch den elektronischen Prozessor 550 bereitgestellten PWM steuert. In anderen Ausführungsformen ist die Motorsteuerung eines oder mehrere von dem Schaltnetz 517 und einer elektronischen Steuerung, wie z. B. dem vorstehend beschriebenen elektronischen Prozessor 550.
  • Ein oder mehrere Sensoren, wie z. B. die vorstehend beschriebenen Sensoren 530, sind derart ausgelegt, dass sie einen oder mehrere mit dem Betrieb des Elektrowerkzeugs 500 assoziierte Parameter überwachen. In einer Ausführungsform wird ein Motorstrom 1612 abgetastet und gefiltert. Ein oder mehrere Feldschwächungsparameter 1614 werden durch die Steuerung 540 des maschinellen Lernens, und ein assoziierter PWM-Wert 1616 wird durch die Steuerung 540 des maschinellen Lernens ausgegeben. Außerdem wird eine Akkuimpedanz („Z“) 1618 abgetastet. In einer Ausführungsform wird die Akkuimpedanz 1618 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuimpedanz 1618 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Außerdem wird eine anfängliche Akkuspannung („Vi“) 1620 abgetastet. In einer Ausführungsform wird die Akkuspannung 1620 unter Verwendung des einen oder der mehreren Sensoren 530 abgetastet. In anderen Ausführungsformen wird die Akkuspannung 1620 durch einen oder mehrere Sensoren innerhalb des Akkupacks 480 abgetastet und an das Elektrowerkzeug 500, wie z. B. über die Leistungsschnittstelle 515, übertragen. Eine oder mehrere Werkzeugbewegungseingaben („G“) 1622 können ebenfalls abgetastet werden. Zum Beispiel können die Sensoren 530 ein oder mehrere Gyroskope und/oder einen oder mehrere Beschleunigungsmesser umfassen, die die eine oder die mehreren Werkzeugbewegungseingaben 1622 bereitstellen können.
  • Die abgetasteten Parameter werden dann bei 1606 durch die Steuerung 540 des maschinellen Lernens unter Verwendung eines oder mehrerer Algorithmen des maschinellen Lernens ausgewertet, um einen oder mehrere allgemeine Parameter, wie z. B. Pseudodrehzahl, Pseudoleistung, Pseudodrehmoment usw., abzuleiten, die dann zum Modifizieren eines oder mehrerer Feldschwächungsparameter verwendet werden können, wie hier beschrieben. In einer Ausführungsform verwendet die Steuerung des maschinellen Lernens einen oder mehrere Prozesse oder Algorithmen, um den einen oder die mehreren allgemeinen Parameter zu generieren. Zum Beispiel kann die Steuerung 540 des maschinellen Lernens eines oder mehrere von einem DNN, RNN, CNN oder einer Regression verwenden, um die allgemeinen Parameter abzuleiten. In anderen Beispielen kann die Steuerung 540 des maschinellen Lernens die allgemeinen Parameter unter Verwendung einer oder mehrerer analytischer Funktionen, wie z. B. einer polynomialen Regression, ableiten. Außerdem können Parameter, wie z. B. die Akkuimpedanz 1618 und die Akkuspannung 1620, verwendet werden, um maximale Werte allgemeiner Parameter anzupassen, um die maximale Ausgabe des Werkzeugs zu berücksichtigen.
  • Die Steuerung 540 des maschinellen Lernens kann einen oder mehrere Algorithmen des maschinellen Lernens verwenden, um die Motorausgabe anzutreiben, um den einen oder die mehreren bestimmten allgemeinen Parameter aufrechtzuerhalten. Wenn der allgemeine Parameter zum Beispiel ein Pseudodrehzahlparameter ist, kann die Steuerung des maschinellen Lernens einen oder mehrere Motorausgabewerte (z. B. PWM) in Verbindung mit einem oder mehreren Feldschwächungsparametern bestimmen, um die Ausgabe derart aufrechtzuerhalten, dass der Pseudodrehzahlwert konstant bleibt, wodurch eine konstante Ausgabe am Motor bereitgestellt wird.
  • Wie vorstehend ausführlich beschrieben, kann die Steuerung 540 des maschinellen Lernens derart ausgelegt sein, dass sie eine Benutzerrückmeldung oder andere Eingaben empfängt, um ihren Betrieb im Verlauf der Zeit zu modifizieren. Daher kann sich in einigen Ausführungsformen die Steuerung 540 des maschinellen Lernens im Verlauf der Zeit hinsichtlich des Generierens von Feldschwächungsparametern auf der Grundlage von Rückmeldungen und anderen Eingaben anpassen. In anderen Ausführungsformen kann die Steuerung 540 des maschinellen Lernens statische Algorithmen verwenden, die sich nicht auf der Grundlage einer Rückmeldung eines Benutzers oder anderer Eingaben ändern.
  • Unter Bezugnahme auf 17 ist eine Reihe von Drehzahl-Drehmoment-Kurven gezeigt, gemäß einigen Ausführungsformen. Diagramm 1700 zeigt eine ideale Drehzahl-Drehmoment-Kurve 1702. Die ideale Drehzahl-Drehmoment-Kurve 1702 kann Drehzahlbegrenzung verwenden, um einen scharfen Knick zu erzeugen, bei dem die Drehzahl schnell abnimmt, wenn das Drehmoment zunimmt. Dies ermöglicht, dass die Leerlaufdrehzahl anfänglich hoch ist und beibehalten wird, wenn das Drehmoment über einen Bereich zunimmt. Diagramm 1704 zeigt eine simulierte Drehzahl-Drehmoment-Kurve 1706 unter Verwendung standardmäßiger Feldschwächungstechniken. Wie in Diagramm 1704 dargestellt, kann die Leerlaufdrehzahl erhöht werden, aber es wird kein definierter Knick erreicht, wie in Diagramm 1700 dargestellt. Schließlich zeigt Diagramm 1708 eine Drehzahl-Drehmoment-Kurve 1710 unter Verwendung von Pseudoparametern zum Steuern der Feldschwächung, wie vorstehend ausführlich beschrieben. Insbesondere kann eine Pseudodrehzahlbegrenzungstechnik verwendet werden, um eine konstantere Drehzahl bei niedrigen Drehmomentwerten (z. B. Leerlaufdrehmoment) bereitzustellen. Die vorstehend beschriebene Drehzahl-Drehmoment-Kurve 1710 kann unter Verwendung eines der vorstehend ausführlich beschriebenen Feldschwächungs-Steuerschemata implementiert oder erreicht werden.
  • Daher stellen hierin beschriebene Ausführungsformen unter anderem Elektrowerkzeuge und zugehörige Systeme bereit, die eine Steuerung des maschinellen Lernens umfassen, um ein Merkmal oder eine Funktion des Elektrowerkzeugs oder des zugehörigen Systems zu steuern. Verschiedene Merkmale und Vorteile der Ausführungsformen werden in den folgenden Ansprüchen dargelegt.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/180823 [0001]

Claims (20)

  1. Elektrowerkzeug, umfassend: ein Gehäuse; einen Motor, der durch das Gehäuse gestützt wird, einen Akkupack, der durch das Gehäuse gestützt wird und derart ausgelegt ist, dass er das Elektrowerkzeug mit elektrischer Leistung versorgt, eine Benutzereingabe, die derart ausgelegt ist, dass sie ein Eingangssignal bereitstellt, das einer Zieldrehzahl des Motors entspricht, eine Mehrzahl von Sensoren, die durch das Gehäuse gestützt werden und derart ausgelegt sind, dass sie Sensordaten generieren, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, eine elektronische Steuerung, wobei die elektronische Steuerung einen elektronischen Prozessor und einen Speicher umfasst, wobei der Speicher ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor umfasst, wobei die elektronische Steuerung zum Folgenden ausgelegt ist: Empfangen der Zieldrehzahl, Empfangen der Sensordaten, Verarbeiten der Sensordaten unter Verwendung des Steuerprogramms des maschinellen Lernens, Generieren, unter Verwendung des Steuerprogramms des maschinellen Lernens, einer Ausgabe auf der Grundlage der Sensordaten, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter umfasst, und Steuern des Motors auf der Grundlage der generierten Ausgabe.
  2. Elektrowerkzeug nach Anspruch 1, wobei das Steuerprogramm des maschinellen Lernens auf einer externen Systemvorrichtung durch Training auf der Grundlage von Beispielsensordaten und zugehörigen Ausgaben generiert wird, und durch das Elektrowerkzeug von der externen Systemvorrichtung empfangen wird.
  3. Elektrowerkzeug nach Anspruch 1, wobei das Steuerprogramm des maschinellen Lernens eines von einem statischen Steuerprogramm des maschinellen Lernens und einem trainierbaren Steuerprogramm des maschinellen Lernens ist.
  4. Elektrowerkzeug nach Anspruch 1, wobei die Sensordaten eines oder mehrere von einem Motorstrom, einer Akkupackimpedanz, einer Akkupackspannung, und einer Bewegung des Elektrowerkzeugs umfassen.
  5. Elektrowerkzeug nach Anspruch 1, wobei der eine oder die mehreren Feldschwächungsparameter einen oder mehrere von einem Voreilwinkel, einem Leitungswinkel und einem Freilaufwinkel umfassen.
  6. Elektrowerkzeug nach Anspruch 1, wobei die elektronische Steuerung derart ausgelegt ist, dass sie die Feldschwächungsparameter unter Verwendung eines oder mehrerer Filter filtert.
  7. Elektrowerkzeug nach Anspruch 6, wobei das eine oder die mehreren Filter eines oder mehrere von einem Anstiegsratenfilter, einem Tiefpassfilter und einem Hysteresefilter umfassen.
  8. Elektrowerkzeug nach Anspruch 1, wobei die elektronische Steuerung ferner derart ausgelegt ist, dass sie einen oder mehrere Prioritätsparameterwerte empfängt, wobei das Steuerprogramm des maschinellen Lernens die Ausgabe auf der Grundlage der Sensordaten und der Prioritätsparameterwerte generiert.
  9. Verfahren zum Betreiben eines Elektrowerkzeugs zum Steuern einer Feldschwächung, wobei das Verfahren umfasst: Generieren, durch einen Sensor des Elektrowerkzeugs, von Sensordaten, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, Empfangen, durch eine elektronische Steuerung des Elektrowerkzeugs, der Sensordaten, wobei die Steuerung einen elektronischen Prozessor und einen Speicher umfasst, wobei der Speicher ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor umfasst, Verarbeiten der Sensordaten unter Verwendung eines Steuerprogramms des maschinellen Lernens der Steuerung des maschinellen Lernens, Generieren, unter Verwendung des Steuerprogramms des maschinellen Lernens, einer Ausgabe auf der Grundlage der Sensordaten, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter umfasst, und Steuern, durch die elektronische Steuerung, eines Motors des Elektrowerkzeugs auf der Grundlage der Ausgabe.
  10. Verfahren nach Anspruch 9, wobei das Steuerprogramm des maschinellen Lernens auf einer externen Systemvorrichtung auf der Grundlage von Beispielsensordaten und zugehörigen Ausgaben generiert wird, und durch das Elektrowerkzeug von der externen Systemvorrichtung empfangen wird.
  11. Verfahren nach Anspruch 10, wobei das Steuerprogramm des maschinellen Lernens eines von einem statischen Steuerprogramm des maschinellen Lernens und einem trainierten Steuerprogramm des maschinellen Lernens ist.
  12. Verfahren nach Anspruch 9, wobei die Sensordaten eines oder mehrere von einem Motorstrom, einer Akkupackimpedanz, einer Akkupackspannung, und einer Bewegung des Elektrowerkzeugs umfassen.
  13. Verfahren nach Anspruch 9, wobei der eine oder die mehreren Feldschwächungsparameter einen oder mehrere von einem Voreilwinkel, einem Leitungswinkel, und einem Freilaufwinkel umfassen.
  14. Verfahren nach Anspruch 9, das ferner ein Filtern des einen oder der mehreren Feldschwächungsparameter unter Verwendung eines oder mehrerer Filter umfasst.
  15. Verfahren nach Anspruch 14, wobei das eine oder die mehreren Filter eines oder mehrere von einem Anstiegsratenfilter, einem Tiefpassfilter und einem Hysteresefilter umfassen.
  16. Verfahren nach Anspruch 9, ferner umfassend: Empfangen, durch die elektronische Steuerung, eines oder mehrerer Prioritätsparameterwerte, und Generieren, durch das Steuerprogramm des maschinellen Lernens, der Ausgabe auf der Grundlage der Sensordaten und der Prioritätsparameterwerte.
  17. Elektrowerkzeug, umfassend: ein Gehäuse; einen Motor, der durch das Gehäuse gestützt wird, einen Akkupack, der durch das Gehäuse gestützt wird und derart ausgelegt ist, dass er das Elektrowerkzeug mit elektrischer Leistung versorgt, eine Benutzereingabe, die derart ausgelegt ist, dass sie ein Eingangssignal bereitstellt, das einer Zieldrehzahl des Motors entspricht, eine Mehrzahl von Sensoren, die durch das Gehäuse gestützt werden und derart ausgelegt sind, dass sie Sensordaten generieren, die einen Betriebsparameter des Elektrowerkzeugs anzeigen, eine elektronische Steuerung, wobei die elektronische Steuerung einen elektronischen Prozessor und einen Speicher umfasst, wobei der Speicher ein Steuerprogramm des maschinellen Lernens zum Ausführen durch den elektronischen Prozessor umfasst, wobei die elektronische Steuerung zum Folgenden ausgelegt ist: Empfangen der Zieldrehzahl, Empfangen der Sensordaten, Verarbeiten der Sensordaten unter Verwendung des Steuerprogramms des maschinellen Lernens, Generieren, unter Verwendung des Steuerprogramms des maschinellen Lernens, eines oder mehrerer Prioritätsparameter auf der Grundlage der empfangenen Zieldrehzahl und der empfangenen Sensordaten, Generieren einer Ausgabe auf der Grundlage des einen oder der mehreren Prioritätsparameter und der empfangenen Sensordaten, wobei die Ausgabe einen oder mehrere Feldschwächungsparameter umfasst, und Steuern des Motors auf der Grundlage der generierten Ausgabe.
  18. Elektrowerkzeug nach Anspruch 17, wobei der eine oder die mehreren Prioritätsparameter einen oder mehrere von einem Drehzahlsteuerparameter, einem Höchstdrehzahlparameter, einem Höchstleistungsparameter und einem Parameter für maximale Effizienz umfassen.
  19. Elektrowerkzeug nach Anspruch 17, wobei der eine oder die mehreren Feldschwächungsparameter einen oder mehrere von einem Voreilwinkel, einem Leitungswinkel und einem Freilaufwinkel umfassen.
  20. Elektrowerkzeug nach Anspruch 17, wobei die elektronische Steuerung derart ausgelegt ist, dass sie die Feldschwächungsparameter unter Verwendung eines oder mehrerer Filter filtert, wobei das eine oder die mehreren Filter eines oder mehrere von einem Anstiegsratenfilter, einem Tiefpassfilter und einem Hysteresefilter umfassen.
DE112022002395.3T 2021-04-28 2022-04-28 Elektrowerkzeug mit einem block des maschinellen lernens zum steuern einer feldschwächung eines permanentmagnetmotors Pending DE112022002395T5 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163180823P 2021-04-28 2021-04-28
US63/180,823 2021-04-28
PCT/US2022/026791 WO2022232434A1 (en) 2021-04-28 2022-04-28 Power tool including a machine learning block for controlling field weaken of a permanent magnet motor

Publications (1)

Publication Number Publication Date
DE112022002395T5 true DE112022002395T5 (de) 2024-02-22

Family

ID=83808114

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022002395.3T Pending DE112022002395T5 (de) 2021-04-28 2022-04-28 Elektrowerkzeug mit einem block des maschinellen lernens zum steuern einer feldschwächung eines permanentmagnetmotors

Country Status (3)

Country Link
CN (1) CN117279745A (de)
DE (1) DE112022002395T5 (de)
WO (1) WO2022232434A1 (de)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020072077A (ko) * 2001-03-08 2002-09-14 한국전기연구원 신경회로망 추정기를 이용한 매입형 영구자석동기전동기의 제어 방법
US11855520B2 (en) * 2018-07-18 2023-12-26 Panasonic Intellectual Property Management Co., Ltd. Electric tool, control method, and program
US11876464B2 (en) * 2019-02-14 2024-01-16 The Board Of Trustees Of The University Of Alabama Systems, methods and devices for neural network control for IPM motor drives
CN114423568A (zh) * 2019-07-23 2022-04-29 米沃奇电动工具公司 包括用于控制紧固件的安装的机器学习块的电动工具

Also Published As

Publication number Publication date
WO2022232434A1 (en) 2022-11-03
CN117279745A (zh) 2023-12-22
US20220347811A1 (en) 2022-11-03

Similar Documents

Publication Publication Date Title
DE102016013985A1 (de) Vorrichtung für maschinelles Lernen und Verfahren zum Optimieren der Laufruhe des Vorschubs der Vorschubachse einer Maschine und eine die Vorrichtung für maschinelles Lernen umfassende Motorsteuervorrichtung
DE102018214276B4 (de) Vorrichtung für maschinelles Lernen, Steuersystem, Steuervorrichtung und Verfahren für maschinelles Lernen
US20220299946A1 (en) Power tool including a machine learning block for controlling a seating of a fastener
DE102008027591A1 (de) Fahrzeugelektroniksteuerung
DE102018119023A1 (de) Elektrische arbeitsmaschine und verfahren zum steuern eines drehzustands eines motors einer elektrischen arbeitsmaschine
DE112011102038T5 (de) Leistungsversorgungssteuerschaltung und Leistungsversorgungssteuervorrichtung
DE102018119021A1 (de) Elektrische arbeitsmaschine und verfahren zum steuern eines drehzustands eines motors einer elektrischen arbeitsmaschine
DE102019201758A1 (de) Vorrichtung für maschinelles lernen; vorrichtung zurservosteuerung; system zur servosteuerung; undverfahren für maschinelles lernen
DE102016225011A1 (de) Abschaltsystem und -steuerverfahren eines Brennstoffzellenfahrzeugs
DE102020115658A1 (de) Anpassungsunterstützungsvorrichtung
DE102009002391A1 (de) Steuervorrichtung für ein Automatikgetriebe
DE102018218263A1 (de) Verfahren zum Maschinenlernen durch Gaußsche Prozesse
DE112022002592T5 (de) Systeme und verfahren zum auswerten von crimpanwendungen
EP3950230B1 (de) Akkupack für ein elektrowerkzeug
WO2022117622A1 (de) Verfahren und vorrichtung zum ermitteln einer restlebensdauer eines technischen systems
DE112022002395T5 (de) Elektrowerkzeug mit einem block des maschinellen lernens zum steuern einer feldschwächung eines permanentmagnetmotors
DE102019001177A1 (de) Steuergerät, maschinelle Lernvorrichtung und System
EP2947325B1 (de) Pumpensteuerverfahren
DE112006001932T5 (de) Mit einem Mikroprozessor ausgerüstete Reglerschaltung für einen Elektromotor
DE10321872A1 (de) Generatorregelung mit Haupt- und Hilfsregler
US12005540B2 (en) Power tool including a machine learning block for controlling field weakening of a permanent magnet motor
DE112022001361T5 (de) Elektrische Motorsteuerung für Hochleistungshydrauliksysteme
WO2019063257A1 (de) Situative kraftrückmeldung für bediengeräte
DE102018210441A1 (de) Servo Motor Controller
DE102017003796A1 (de) Produktionsmanagementgerät, das die betriebslast von produktionsmaschinen verringert

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE