Universal DRO basierend auf Arduino Nano - shDRO

Meine Damen und Herren, hallo.

In diesem Artikel werde ich ĂŒber die Entwicklung eines GerĂ€ts zum Ablesen von Messwerten von digitalen Linealen und anderen Sensoren an Dreh- und FrĂ€smaschinen sprechen.

Die Entwicklung ist noch nicht abgeschlossen und es wird beschrieben, was im Moment getan wurde.

Wen kĂŒmmert es, willkommen bei Katze.

Warum eigene Entwicklung, aber kein fertiges Produkt.
Ich habe zwei Metallmaschinen (chinesisch): FrÀsen und Drehen.

Ich produziere regelmĂ€ĂŸig Produkte mit unterschiedlichem KomplexitĂ€tsgrad (ich bin kein Dreher oder FrĂ€smaschinenbediener, dies ist nur ein Hobby). Und wenn das Produkt komplex ist, mussten Sie einen Taschenrechner in die Hand nehmen und den Fortschritt des FrĂ€sers oder FrĂ€sers berechnen. Und wenn sich herausstellte, dass der FrĂ€ser / FrĂ€serhub groß genug war, mussten wir die Umdrehungen der Bremssattelgriffe berĂŒcksichtigen, was offen gesagt Ă€rgerlich war. Infolgedessen dachte ich ĂŒber DRO nach (digitale BremssĂ€ttel wurden lange Zeit nur fĂŒr diesen Zweck gekauft, aber der Zeitmangel verzögerte die Herstellung stĂ€ndig).

Bevor ich mit der Entwicklung meiner DRO begann, musste ich zwei Fragen zur Angemessenheit meiner eigenen Entwicklung beantworten:

  • Warum nicht das fertige Produkt kaufen?
  • Es gibt viele DRO-Projekte im Netzwerk mit unterschiedlichen Schwierigkeitsgraden und detaillierten Beschreibungen der DIY-Fertigung. Warum also nicht einen von ihnen sammeln?

Ich antworte mir.

Ja, es gibt viele Produkte auf dem Markt, sowohl im Inland als auch im Ausland, mit unterschiedlichen Preisen und Funktionen. Der gleiche Ali bietet eine vorgefertigte DRO mit drei optischen Leitungen zu einem Preis von etwa 13.000 Rubel an. - ein sehr niedriger Preis fĂŒr ein solches GerĂ€t. Da ich mich jedoch fĂŒr den Herstellungsprozess selbst interessiere, wurde die Option "gekauft und installiert" gestrichen.

Bei der Beantwortung der zweiten Frage setze ich mich an die Stelle einer Person, die das GerÀt selbst nach einer Beschreibung zusammenbaut und was sie tun soll. NÀmlich:

  • Kaufen Sie die erforderlichen Komponenten: Prozessor, Anzeige, Tasten und kleine Dinge wie WiderstĂ€nde, Kondensatoren, Stabilisatoren usw. (ohne das natĂŒrlich nirgendwo);
  • je nach KomplexitĂ€t des Projekts eine Leiterplatte herstellen / kaufen;
  • Löten Sie dann alles und flashen Sie den Prozessor.
  • danach die Arbeit an den Fehlern machen;

Und erst nach diesen Schritten erhalten Sie ein fertiges Produkt. Jeder Schritt dauert einige Zeit und da eine Person eine faule und ungeduldige Kreatur ist (im guten Sinne dieser Worte), möchte sie das Ergebnis der Arbeit des GerÀts so schnell wie möglich sehen, auch wenn es sich um eine Zwischenstufe handelt. Und doch habe ich mich entschlossen, mein GerÀt so zu entwickeln, dass eine Person bereits zu Beginn des Montageprozesses Zwischenergebnisse ihrer Arbeit sehen kann.

Nun war es notwendig, ein Board fĂŒr die Implementierung auszuwĂ€hlen.

WĂ€hlen Sie zwischen Arduino basierend auf Atmega und STM.

Ich bin ein Top-Programmierer, aber bei der Arbeit musste ich Atmega- und MSP-430-Mikrocontroller programmieren, ich war mit STM nicht vertraut. Deshalb habe ich mich fĂŒr Atmega entschieden. Ich entschied mich fĂŒr das billigste Board (oder nicht? Ich hatte es gerade) Arduino Nano basierend auf dem Atmega328-Mikrocontroller.

ShDRO-Funktionen:

(durchgestrichene FunktionalitÀt, die noch nicht implementiert wurde)

  • Arduino Nano Board, Atmega328 Prozessor;
  • 12 unabhĂ€ngige Arduino-KanĂ€le / Ports, an die LesegerĂ€te angeschlossen sind;
  • Jeder Kanal hat die folgenden Eigenschaften: Typ (CLKin, DATAin, Ain, Bin usw.), EI (Enable Interrupt), IL (Interrupt Level), Inv (Invented Signal);
  • maximale Anzahl angeschlossener GerĂ€te: 6;
  • Jedem GerĂ€t können ein oder mehrere von 12 verfĂŒgbaren KanĂ€len zugewiesen werden.
  • ProtokollunterstĂŒtzung: 24BIT, 21BIT , BCD7 , BIN6, Quadratursignal, periodisches Signal vom Drehzahlmesser (neue Protokolle können hinzugefĂŒgt werden);
  • Konsole: Ermöglicht die Verwendung des Terminalprogramms zum Konfigurieren und Testen von shDRO wĂ€hrend der Montage und des Betriebs.
  • Im Konsolenmodus ist ein logischer Pseudoanalysator implementiert, mit dem Sie die in der Konsole angegebenen Kanalebenen lesen und das Austauschprotokoll bestimmen können. Die maximale Anzahl von Abtastwerten betrĂ€gt 256, die minimale gemessene Zeit zwischen Abtastwerten betrĂ€gt 8 Mikrosekunden. Mindestens ein zu analysierender Kanal muss fĂŒr die Unterbrechung konfiguriert sein.

Modulares Schema:



Das GerÀt besteht aus folgenden Modulen:

  • drei Spannungsstabilisatoren 5 V, 3 V, 1,5 V 3v Stabilisatoren. und 1.5.v. einstellbar. Diese Spannungspegel werden in digitalen Messschiebern (1,5 V) und in der iGAGING-Leitung (3 V) verwendet.
  • 4 achtstellige Sieben-Segment-Anzeigen basierend auf MAX7219, kaskadiert mit Hardware-SPI verbunden;
  • eine Tastatur. Die Tastatur besteht aus zwei Widerstandsmatrizen: 2x4 und 4x4. In diesem Fall ist das Layout der Spuren auf der Platine einfacher (Sie können jedoch zwei 3x4-Matrizen erstellen, fĂŒr die dies bequemer ist). Jede Matrix ist mit dem ADC-Kanal verbunden.

    Die Verwendung von Widerstandsmatrizen ist fĂŒr mich ein großes Minus, weil Mit der Zeit nimmt der Widerstand der Tasten zu und die vom ADC gemessenen Spannungspegel Ă€ndern sich entsprechend. In der „ehrlichen“ Matrix fehlten jedoch einfach die Beine / AnschlĂŒsse der Platine (fĂŒr 24 Tasten werden 10 AnschlĂŒsse benötigt). Auf dieser Grundlage implementiert die Firmware die LernfunktionalitĂ€t der Tastatur, das Lernen kann jederzeit durchgefĂŒhrt werden und Sie benötigen keine Verbindung zum Terminalprogramm (die Schulung wird unten beschrieben).
  • einen Lautsprecher, der an den Hardwarezweig von Zeitgeber 1 angeschlossen ist;
  • Adapterplatine zur Koordinierung der Pegel zwischen GerĂ€ten und Arduino-Ports;
  • 4 DB9-Buchsen (fĂŒr den Fall, dass Sie bis zu 6 GerĂ€te unterstĂŒtzen, mĂŒssen Sie 6 Steckverbinder installieren, aber ich habe die zukĂŒnftige RĂŒckseite des GehĂ€uses nicht ĂŒberladen, vorausgesetzt, drei Steckverbinder werden fĂŒr Achsen verwendet und ein Steckverbinder wird von anderen GerĂ€ten gemeinsam genutzt.) . Die Steckverbinder sind die einfachsten mit Beinen zum Löten von DrĂ€hten. Die DrĂ€hte sind wiederum mit der Adapterplatine verlötet;

    Die Wahl dieses Steckertyps hat folgende GrĂŒnde: ZuverlĂ€ssigkeit (im Vergleich zu USB-Steckern und RJ-45), große Anzahl von Pins und einfache Verkabelung. Und ich habe auch eine optische Leitung mit dieser Art von Stecker.

Schaltplan:



Im nĂ€chsten Teil werde ich die Logik von shDRO beschreiben, die derzeit verfĂŒgbaren Konsolenbefehle beschreiben und auch die erste Version der Firmware auslegen.

Der zweite Teil.

Source: https://habr.com/ru/post/de446408/


All Articles