Ich versuche, ein paar Temperaturen in meinen Computer zu bekommen. In meinem kleinen Labor habe ich ungefähr 50 Thermistoren, die ein bisschen wie dieser NTC-Thermistor aussehen . Ich möchte jetzt die Temperatur von allen gleichzeitig bekommen und ihre Temperatur in eine Datei auf meinem Computer schreiben (Linux, Win, Mac spielt keine Rolle). Welche Möglichkeiten hätte ich? Mit welchen Kosten muss ich rechnen? Gibt es Boards mit USB-Adapter?
Ich denke, dieses Problem ist sehr einfach zu lösen.
Sie haben zwei Möglichkeiten zur Auswahl:
Das Einzige, was Sie tun müssen, ist, einige Daten vom Temperatursensor zu senden (ich denke, mit ADC-Konverter). Sie können FTDI UART <-> USB-Konverter verwenden - und Daten als normale UART-Signale senden.
Viele uCs verfügen über einen integrierten USB-Stack - einige von PIC - auch 8-Bit (z. B. PIC16F1459), AVRs (Atmega8U2) oder 32-Bit-STM (wie STM32F405). USB ist komplizierter als UART, aber Sie können erstaunliche Dinge damit machen. Außerdem funktioniert die CDC USB-Klasse als UART-Emulator ohne zusätzliche Chips.
Aber für diese Art von Betrieb - verwenden Sie den UART-zu-USB-Konverter, wenn Sie es schnell machen möchten.
Außerdem - mit Arduino können Sie es in etwa 15 Minuten erledigen - es hat einen dedizierten virtuellen seriellen Port.
Aber die Kommunikation ist hier einfach. Dabei gibt es ein weiteres Problem. PCB für diese Schaltung wird groß sein. Warum? Sie müssen einen Weg finden, alle 50 ADC-Kanäle zu messen. Nur Mikrocontroller mit vielen GPIOs kommen ohne zusätzlichen Multiplexer-IC aus. Eine andere Sache, die Sie tun müssen, ist, einige Rauschunterdrückungsschaltkreise zu erstellen, da diese Kanalmenge sie erzeugen kann - und außerdem - Sie müssen verhindern, dass Temperaturmesskanäle vom Mikrocontroller Rauschen erhalten. Um die Linearität und Stabilität zu erhöhen, müssen Sie Erregerschaltungen überbrücken - was Platz beansprucht. Wenn Sie eine Leiterplatte mit 3 Sensoren erstellen möchten, ist dies sehr einfach. Aber 50 Sensoren... Das muss man sich mal vorstellen.
Was ist, wenn Sie eine kleine Anzahl von ADC-Kanälen haben? Verwenden Sie analoge Multiplexer - aber dann benötigen Sie mehr GPIO für die Multiplexer-Logik und mehr Platz für neue integrierte Schaltkreise auf Ihrer Leiterplatte. Denken Sie daran, dass analoge Multiplexer nicht ideal sind, sodass ein Kanal einen anderen beeinflussen kann (Sie haben diese Art von Informationen im Datenblatt).
Wenn Sie 50 Kanäle in Ihrem Mikrocontroller verwenden, denken Sie an die richtige Verzögerung zwischen der Konvertierung auf verschiedenen Kanälen - denn wenn Sie den Kanal sofort ändern, hat der interne ADC-Kondensator eine gewisse Spannung, und dies wird den Messwert verfälschen.
Dieses Problem klingt einfach, aber es ist nicht so einfach, wie wir denken.
Versuchen Sie zuerst, einen Temperaturmesser mit 4 Kanälen zu machen.
Am einfachsten ist es, sich einige DAQ (Data Acquisition) Boards von einem Unternehmen wie National Instruments zu kaufen. Bauen Sie für jedes DAQ eine Signalkonditionierungsplatine, um die Thermistoren in einen Spannungsausgang umzuwandeln. Die Schaltung für diese Platinen wäre sehr einfach – im Grunde eine Spannungsreferenz für die gesamte Platine sowie ein einzelner Widerstand und Kondensator für jeden Thermistor.
ABER. Dies hat zwei Nachteile. Erstens ist Geschwindigkeit. Sie müssten jeden Temperaturkanal nacheinander und nicht alle auf einmal abtasten. Dies ist wahrscheinlich kein wirkliches Problem - Thermistoren haben normalerweise Zeitkonstanten im Sekundenbereich, sodass Sie durch sequentielles Abtasten wahrscheinlich nicht viel Genauigkeit verlieren. Das zweite ist vielleicht ein größeres Problem – die Kosten. Sie können 32 Kanäle mit 12 Bit pro Kanal für ~ 1500 US-Dollar pro Platine erhalten, und Sie benötigen 2 Platinen für 50 Kanäle. Wenn Sie eBay riskieren möchten, können Sie möglicherweise niedrigere Preise für gebrauchte Boards erzielen.
Alternativ können Sie sich ein oder mehrere digitale IO-USB-Boards besorgen und Ihre eigenen zusammenstellen. Ein 32-Bit-DIO-Board sollte Sie etwa 100 US-Dollar kosten, und 32 Bit sollten mehr als genug sein, um 50 Kanäle zu erfassen. Suchen Sie auf Digikey und Sie können 8-Bit-ADCs mit parallelem Ausgang für weniger als 2 US-Dollar, 12 Bit für weniger als 10 US-Dollar erhalten (und je nach betrachtetem Temperaturbereich und gewünschter Temperaturauflösung können 12 Bit gut sein). notwendig - Thermistoren sind sehr nichtlinear). Sie müssten Leiterplatten für Ihre Signalkonditionierung und ADCs herstellen und können Ihre eigenen Kompromisse zwischen der Anzahl der ADCs und dem Multiplexen eingehen. Möglicherweise müssen Sie auch digitales Multiplexen lernen, um auszuwählen, welchen ADC Sie lesen möchten (wenn Sie mehr als einen verwenden), aber das müssen Sie sowieso lernen.
Wouter van Ooijen
Das Photon
Das Photon
Das Photon