Einer meiner Schüler plant, ein einfaches musikalisches Keyboard mit PIC-Mikrocontrollern mit MIDI-Ausgang zu erstellen.
Das Hauptproblem betrifft jetzt den Druck- / Kraftsensor. Ich habe in dieser Frage zu Flexiforce eine gute Alternative gefunden .
Ich frage mich, ob es eine einfachere Sensoralternative ohne Ampops gibt, die für den AD-Eingang verwendet werden kann.
Vielen Dank.
Diese Frage scheint mit einer verwandt zu sein, die ich vor einiger Zeit gestellt habe . Wenn Genauigkeit nicht Ihr Hauptanliegen ist, können einfache Spannungsteiler ausreichen. In dieser Anleitung erfahren Sie, wie Sie aus antistatischem, leitfähigem Schaum einen sehr billigen Drucksensor herstellen.
quelle
Es gibt mehrere Möglichkeiten, dies zu tun. Ich werde ein Design erklären, das sehr kostengünstig und ziemlich genial ist. Es ist das Design von LinnStrument . Sie können einen Blick auf die Sensorplatine werfen . Da ich weder das Sensordesign noch ein LinnStrument besessen habe, ist das Folgende alles ein Ergebnis des Reverse Engineering und entspricht möglicherweise nicht dem ursprünglichen Design. Sicherlich nicht die mechanische und Materialauswahl.
TL; DR: Es ist möglich, eine LinnStrument-Sensorebene nur mit MCU-Pins und einem Widerstand pro Spalte abzutasten. Es werden keine externen Operationsverstärker oder Multiplexer benötigt.
Mechanisch
Die Sensorplatine verwendet ein piezoresistives Material wie Velostat . Ein solches Material verringert seinen Volumenwiderstand mit zunehmendem Druck. Die Streifen des Materials werden in ein Gitter gelegt und gescannt, um den Druck und die Position innerhalb jeder Zelle zu messen. Darauf werde ich weiter unten näher eingehen.
Ein Prototypentwurf könnte von oben nach unten wie folgt aussehen:
Auf dieser Sensoranordnung kann eine dünne Silikonfolie angebracht werden, um ein weicheres Gefühl zu erzielen.
Der Schnittpunkt jeder Zeile und Spalte wird als Zelle bezeichnet.
Beim Zusammenbau ist es ziemlich wichtig, dass die Säulen gut an der oberen Folienabdeckung haften und die Reihen gut an der Grundplatte haften. Dies stellt sicher, dass der Luftspalt nicht vorzeitig überbrückt wird. Daher sollten Sie (1) + (2) und (4) + (5) separat zusammenbauen, dann (3) auf einem der beiden installieren und dann einklemmen.
Wenn Sie möchten, dass sich die Zellen federnd und etwas "seltsam" anfühlen, können Sie den Luftspalt geschlossen lassen und Luft darin einschließen. Alternativ können Sie ein kleines zentrales Loch durch jede Zelle in der (4) + (5) -Baugruppe schneiden, bevor Sie sie mit dem Rest des Sensors verbinden. Dies entlüftet den Luftspalt und bietet ein anderes Gefühl.
Ein halber Zoll an jedem Ende jeder Reihe und jedes Spaltenstreifens sollte aus diesem Sandwich herausragen. Kupferband mit leitfähigem Klebstoff wird verwendet, um Verbindungen zu den Enden jeder Reihe und jedes Säulenstreifens herzustellen. Stellen Sie sicher, dass Sie die Verbindungsdrähte an das Kupferband anlöten, bevor Sie sie an Velostat anschließen. Velostat hat einen sehr niedrigen Schmelzpunkt . Sie werden Ihre sorgfältig zusammengebaute Sensorbaugruppe ruinieren, wenn Sie das vergessen (ja, ich weiß aus eigener Erfahrung).
Bei der Montage der Reihen- und Säulenstreifen ist es wichtig, diese leicht vorzuspannen, damit sie beim Auftragen auf die Klebstoffe vollkommen flach sind.
Soweit ich das beurteilen kann, ist dies mehr oder weniger das Design von Roger Linn, da das Bild der Sensorplatine und die Firmware als Referenz verwendet werden können.
Mit ausgiebigen Experimenten sollten Sie in der Lage sein, die Velostat-Streifen mit Cricut zu schneiden , während Sie bereits auf die Abdeckung oder die Grundplatte laminiert sind. Nach dem Schneiden können Sie die dünnen Isolationsstreifen zwischen den Zeilen / Spalten abziehen. Dies wäre nützlich, wenn Sie einen genaueren Sensor haben möchten, ohne jedes Mal zu schwören, wenn eine Spalte oder Zeile auf den Klebstoff geklebt wird, bevor Sie ihn richtig positioniert haben :)
Einschränkungen
Wenn Sie vier Ecken eines Rechtecks in der Sensorebene betätigen, verkürzen Sie zwei Zeilen und zwei Spalten und schalten sie so effektiv offline und für andere Messungen unbrauchbar.
Um diese Einschränkung zu überwinden, müssten Abhebungen (Verbindungspunkte) zwischen den Zeilen in jeder Spalte und nicht nur an den Enden jeder Spalte erfolgen. Für eine 4-Zeilen-Matrix benötigen Sie 5 Verbindungen in jeder Spalte - an jedem Ende und zwischen jeder Zeile. Dies würde das Design erschweren.
Verweise
Ein grundlegendes, Single-Cell - Design für Z-Achsen - Mess zu sehen ist hier . Da es ein einzelnes Velostat-Quadrat ohne separate Zeilen- / Spaltenabnehmer hat, kann es die Druckposition nicht erfassen. Eine einfache Modifikation dieses FSR wäre das Anbringen schmaler Säulenabnehmer entlang der oberen / unteren Kanten an der Vorderseite und entlang der linken / rechten Kanten an der Rückseite. Es würde das Auslesen von X-, Y- und Z-Werten ermöglichen.
Scannen
Z (Druck) Erkennung
Sobald Sie eine Berührung in einer Zelle erkannt haben, können Sie mehr tun: Sie können die Position erkennen der Presse in der Zelle erkennen. So können Sie Pitch Bending und Texture Modulation durchführen.
X-Position innerhalb der Zelle
Y-Position mit der Zelle
Wie geht das billig?
Die Sensoroberfläche selbst kann für Materialien unter 100 US-Dollar zusammengebaut werden, viel weniger, wenn Sie eine kleine Oberfläche anstreben. Die wichtigsten Werkzeuge, die Sie benötigen, sind ein X-Acto-Messer mit scharfen Klingen und ein Stahllineal zum Schneiden der Materialien. Einige Experimente an einer einzelnen Zelle sind erforderlich, um die bestimmten verwendeten Materialien zu bewerten.
Eine geniale Methode zum Scannen eines solchen Gitters ohne Signalaufbereitung ist unten angegeben. Dies ist eine Vereinfachung gegenüber dem ursprünglichen Design, das analoge Schalter und einige Signalkonditionierungen verwendet. Es arbeitet immer noch angemessen und hat den Vorteil, dass bis auf wenige Widerstände keine Komponenten außerhalb der MCU erforderlich sind. Die Annahme ist, dass Zeilen physikalisch nicht kürzer als Spalten sind - dies hilft bei der Genauigkeit der Z-Erfassung. Sie können es natürlich in jeder gewünschten Ausrichtung spielen.
Alles, was wir für die Schnittstelle zur Sensoroberfläche benötigen, sind die GPIO-Pins: Es werden keine externen Schalter benötigt!
Der Sensor arbeitet auch dann angemessen, wenn Sie den A / D-Kanal nur an ein Ende einer Zeile oder Spalte anschließen und das andere Ende schweben lassen. Dies ermöglicht es uns, die Pin-Multiplexer-Funktionalität zu verwenden, die in den meisten MCUs mit analogen Eingängen vorhanden ist.
Die Erfassung einer Zelle funktioniert wie folgt, wobei alle anderen Pins als Eingänge festgelegt sind:
Angenommen, wir haben ein 4x4-Raster und 8 + 8 + 4 GPIO-Pins, von denen 8 eine A / D-Wandlung durchführen können. Das Sensorgitter verfügt über 16 direkte Verbindungen zum GPIO: zwei Enden von jeweils 4 Zeilen und Spalten. Beschriften wir die Zeilenenden als 0L, 0R bis 3L, 3R für das linke und rechte Ende der Zeilen 0 bis 3. Beschriften wir die Spaltenenden als 0T, 0B bis 3T, 3B für das obere und untere Ende der Spalten 0 bis 3.
Die Erfassung einer Zelle mit gegebenen r ow und c PALTE wird dann durch einfache Rekonfiguration GPIOs erreicht. Der Trick besteht darin, zu erkennen, dass jedes als Eingang konfigurierte GPIO effektiv getrennt wird .
Z.
X.
Y.
Die Verfolgung einer Berührung zwischen Zellen ist logisch, kann jedoch ignoriert werden, wenn der Sensor mit großen Zellen ausgestattet ist - beispielsweise 1 x 1 Zoll.
Alle GPIO-Pins sollten für den Hochstrom-Antriebsmodus konfiguriert sein, um ihre Impedanz zu senken und die Empfindlichkeit zu verbessern.
simulieren Sie diese Schaltung - Schema erstellt mit CircuitLab
simulieren Sie diese Schaltung
Abschließend
Wie Sie sehen, habe ich beschlossen, eine für weniger als 1,5.000 US-Dollar für Aufkleber für mich selbst herzustellen und dabei ein bisschen Spaß zu haben :)
Wenn Ihr Schüler die Open-Source-Firmware von LinnStrument mit minimalen Änderungen nutzen möchte, könnte das Design auf Arduino Due mit einigen externen Analogschaltern und einem externen 12-Bit-A / D-Wandler basieren . Das ursprüngliche Design verwendet ADS7883 , aber es ist eine einfache Änderung an nur einer Funktion, um einen anderen Konverter zu verwenden. Der Quellcode sollte auf die meisten Plattformen mit einem C ++ - Compiler portierbar sein, sofern er schnell genug ist.
quelle
Kraftmesser sind grundsätzlich variable Widerstände. Sie ändern ihren Widerstand relativ zu einer ausgeübten Kraft oder einem ausgeübten Druck.
Das Problem bei der Erkennung liegt in der Variation des Widerstands relativ zur ausgeübten Kraft. Dies ist nicht großartig, daher sind häufig eine gute Nachweismethode und Verstärkung erforderlich.
Eine Wheatstone-Brücke ist eine wirklich gute Schaltung, mit der kleine Widerstandsänderungen in Spannungsänderungen umgewandelt werden können.
Eine einfache, aber grobe Methode besteht darin, den Ausgang der Wheatstone-Brücke mit Ihrem A / D-Eingang zu verbinden, der das Delta V messen kann. Alternativ können Sie die beiden Ausgänge möglicherweise sogar puffern und mit einigen in einen Komparator einspeisen Hysterese und dies kann Ihnen eine binäre Ausgabe geben. Sehr grob, ermöglicht jedoch die Erkennung von Kraft / keine ausgeübte Kraft.
Wenn Sie andererseits wissen möchten, wie viel Kraft ausgeübt wird, müssen Sie eine Analyse durchführen, um die Spannungsänderung in Bezug auf die Druckänderung zu ermitteln. Die Ableitung der Wheatstone-Brückengleichungen ist etwas schwierig, aber es gibt viele Zusammenfassungen in den Interwebs. Sie benötigen eine gute Anregungsquelle.
Wenn Sie die Kraft / den Druck kennen, die Sie erfassen möchten, können Sie die Änderung des Widerstands und dann die Änderung der Spannung berechnen und diese mit der Auflösung des A / D vergleichen. Wenn Sie nach groben Änderungen suchen, kann dies ausreichend sein.
Wenn Sie einen genaueren Wert suchen, benötigen Sie einen Instrumentenverstärker, um die Differenzverstärkung durchzuführen, und Sie können diesen in Ihren A / D einspeisen. Texas Instruments macht einige der besten IAs in Bezug auf CMRR und PSRR gegen Frequenz. Diese wurden ursprünglich von Burr Brown hergestellt, bevor TI sie kaufte.
Für die Präzisionsmessung muss Ihre Brücke die Widerstände so nah wie möglich an Ihrem Dehnungsmessstreifen abschließen, um sicherzustellen, dass Sie Temperaturschwankungen ausgleichen können. Außerdem ist eine gute präzise Erregerspannung erforderlich.
quelle