Ich habe mehrere Foren zu Mikrocontrollern und FPGAs durchsucht, aber ich konnte nicht die Antwort finden, nach der ich gesucht habe.
Ich muss mich entscheiden, ob ich einen Mikrocontroller/Minipc wie einen Rapsberry Pi oder so etwas wie einen Zynq SoC verwenden werde.
Was ich tun möchte, ist: Vibrationen mit einem Geophonsensor erkennen, einen ADC verwenden, um die Informationen an einen Controller zu senden, und dann einen DAC verwenden, um ein Gegensignal an einen Aktuator zu senden.
Ich möchte immer noch die eingehenden und ausgehenden Signale anzeigen und das ausgehende Signal so einstellen, dass ich einer bestimmten Frequenz entgegenwirken kann.
Derzeit verwende ich einen lüfterlosen PC, einige Verstärker, DAC und ADC, um die Berechnungen durchzuführen, und einen externen Laptop, um das Signal abzustimmen (mit MATLAB).
Jetzt möchte ich eine Lösung finden, um die Berechnungen auf kleinere Weise durchzuführen. Ich habe den Rapsberry Pi überprüft, aber der Bereich in Volt für den DAC - ADC ist sehr niedrig: -0,3 bis +0,3 V. Ich suche einen Bereich zwischen +/- 10 V und 16 Bit.
Außerdem muss ich noch in der Lage sein, die Signale abzustimmen und anzuzeigen. Vielleicht zwei Chips, einer für Berechnungen und einer für die Kommunikation mit der Benutzeroberfläche?
Danke schön.
Aus meiner Sicht hast du 3 Möglichkeiten:
Behalten Sie das gleiche System bei, skalieren Sie es einfach herunter. Dies ist einfach (da Sie ein High-Level-System haben), aber möglicherweise nicht allzu effizient, da das Betriebssystem nicht für Latenz oder Echtzeitbetrieb optimiert ist. Es wird auch machthungrig sein.
Ein Mikrocontroller mit ~100 MHz sollte für diese Aufgabe über ausreichend Rechenleistung verfügen (und weitaus reaktionsschneller sein als eine Linux-basierte Lösung). Sie müssen eine Schnittstelle zu den peripheren Spannungspegeln herstellen, sollten jedoch in der Lage sein, einen einfachen Verstärker für diese Aufgabe zu verwenden (der dabei einen gewissen Schutz für die digitale Seite bietet). Sie können Ausgabedaten über einen UART, einige Anzeigeleuchten oder ein kleines Anzeigefeld erfassen - für alle diese Teile sollten Beispiele leicht zu finden sein. Natürlich müssen Sie ein etwas anderes Software-Paradigma lernen (Micro-Python ist möglich, aber hier vielleicht nicht ideal).
Ihr Beispielteil passt möglicherweise nicht gut - es ist enorm überspezifiziert und teuer. Die grundlegende Echtzeitverarbeitung könnte wahrscheinlich in einem ziemlich kleinen Gerät durchgeführt werden, aber die Codierung auf niedriger Ebene ist wahrscheinlich eine Herausforderung (es sei denn, Matlab kann Ihnen den gesamten Code generieren, den Sie benötigen).
Überprüfen Sie, welche Datenrate Sie benötigen, um Ihr 'Abbruch'-Signal zu erzeugen, dies bestimmt die Größe des Speicherarrays und die DMA-Frequenz, die Sie benötigen, um den DAC in Ihrem Design anzusteuern.
Wenn Sie einen ±10-V-Bereich benötigen, liegt dieser normalerweise außerhalb des Bereichs der meisten ADCs und DACs, sodass Sie eine Standardlösung benötigen oder Ihr eigenes analoges System entwerfen müssen.
Verwenden Sie einen Raspberry Pi, sie sind billig und es gibt zahlreiche Codebeispiele und Tutorials, um Ihnen den Einstieg zu erleichtern, die Software ist kostenlos und die meisten Distributionen, die Sie auf einem Rasberri Pi installieren, werden bereits mit Software geliefert, die Sie verwenden werden. Sie können auch Datenerfassungsgeräte erhalten, die im ±10-V-Bereich arbeiten
Ein Mikrocontroller (auf einem Entwicklungsboard) ist ebenfalls eine Option, stellen Sie jedoch sicher, dass die Software (Compiler) kostenlos ist. Sie können gcc mit den meisten verwenden, aber wenn Sie mit einer IDE debuggen möchten, wird dies schwieriger, da die meisten kommerziellen Compiler Sie auf 32 KB Programmierung beschränken, bevor die Kosten in die Tausende steigen. Höchstwahrscheinlich programmieren Sie in C. Wenn Sie keine Abschirmung finden, würden Sie Ihre eigene Elektronik auf einer Leiterplatte entwerfen. Mit einem Mikrocontroller können Sie einen Regelkreis schneller ausführen als ein PC oder ein Gerät mit einem normalen Betriebssystem (Sie können möglicherweise ein Echtzeitbetriebssystem (RTOS) auf einem Pi installieren und die Dinge schneller ausführen.)
Ein FPGA ist am kompliziertesten, die Toolchains sind kostenlos, aber die Zeit, die Sie zum Einrichten der Software benötigen, könnte für den Anfang Tage betragen. Es gibt Entwicklungsplatinen, die analoge Elektronik müsste entwickelt werden. Der Kompromiss ist die Geschwindigkeit. Wenn Sie sehr schnelle Signale haben, müssen Sie ein FPGA verwenden, da Sie Hardware auf Gate-Ebene mit ns-Timing entwerfen können.
DiBosco
Herzog
awjlogan
Alter Furz
DiBosco
Alter Furz
Bobflux
wiebel
Bobflux
pjc50
Herzog
jonk
Herzog
Bobflux