Anschließen eines Beschleunigungssensors an den ADC (Analog-Digital-Wandler)

Anschließen eines Beschleunigungsmessers an den ADC (Analog-Digital-Wandler)

Gehen wir diese Metallstraße in Breadboardville entlang und treffen den angeheiterten Herrn Schwerkraft, einverstanden? Während wir dort sind, werden wir ihn anstupsen und reizen, um zu sehen, wie er reagiert. Das ist in Ordnung, da wir seine Empfindlichkeit und die Art der Währung, die er uns geben wird, bestimmen müssen. Ich muss bei diesen angeheiterten Schwerkraft-Leuten aufpassen. Sie könnten Ihnen analoge Spannungswährung oder Währung, die Zeit beinhaltet, liefern! Herr Schwerkraft, der zeitrelative Währung gibt, ist dann besser geeignet, mit Frau PWM zu interagieren. Erinnern Sie sich an sie? Sie ist diejenige mit der Stoppuhr.

Wenn Herr Schwerkraft der Typ ist, der uns die Spannungswährung liefert, ist er perfekt für den ADC. Die wirklich kranken Herrn Schwerkraft können auch multiple Persönlichkeiten haben. Egal, wie Sie Herrn Schwerkraft stoßen, er könnte seine Spannung in einem von drei seiner Ausgangsports ausspucken. Tatsächlich spuckt er ständig aus. In voller Haltung (keine Neigung) ist er etwa auf halbem Weg mit dem Ausspucken seiner Spannungswährung. Wenn man ihn nach vorne drückt, beginnt er, die Währung proportional zur auf seinen Rücken ausgeübten Kraft auszuspucken. Diese Kraft wird tatsächlich in G gemessen. Nur um eine gute Referenz zu bekommen: Ein G ist die Schwerkraft im Stillstand und mit der durchschnittlichen Menge intakter Erdkruste (ja, es gibt weniger Schwerkraft, wenn große Löcher unter Ihnen sind, aber das geht in die tiefe Physik, also lasse ich das jetzt!).

Zurück zu Herrn Schwerkraft. raten Sie mal, was passiert, wenn Sie ihn rückwärts stoßen. Sie haben Recht, er spuckt weniger im Verhältnis zur Schwerkraft aus. Aber! Wenn Sie ihn kräftig stoßen, spürt er diese "Kraft" (in G's, erinnern Sie sich) und er wird proportional zum Schub der Beschleunigung ausspucken.

Das Programm für den ADC ist ziemlich einfach. Alles, was wir tun, ist, die Referenzspannung zu ändern. Anstatt den AVCC-Pin zu verwenden, um die obere Spannung für den ADC zu bestimmen, verwenden wir eine interne Referenzspannung (eine Spannung, die der Mikrocontroller "King Core" selbst entwickelt hat). Warum ändern wir diese Spannungsreferenz? Warum ist der AVCC nicht gut genug? Nun, wir könnten tatsächlich den AVCC verwenden, aber die Auflösung des ADC-Ergebnisses würde reduziert. Im Falle der AVCC-Referenzspannung denkt der Mikrocontroller, dass Sie ihm einen Sensor senden werden, der eine Spannung bis zu 5V liefert. Herr Schwerkraft spuckt nur bis etwa 2,4 Volt aus, so dass die Spannung von 2,4 bis 5V im Wesentlichen verschwendet wird. Wir möchten also eine Spannungsreferenz verwenden, die näher an der oberen Spannung liegt, die Herr Schwerkraft liefern wird.

Um diese interne Spannung einzustellen, müssen wir lediglich REFS0 und REFS1 setzen. So einfach ist das.

So könnte das Programm aussehen:

#include
#include
#include "MrLCD.h"
int main(void)
{
InitializeMrLCD();
Send_A_StringToMrLCDWithLocation(1,1,"ADC Result:");

ADCSRA |= 1< ADMUX |= (1< ADCSRA |= 1< ADCSRA |= 1<
sei();

ADCSRA |= 1<
while (1)
{
}
}
ISR(ADC_vect)
{
uint8_t theLowADC = ADCL;
uint16_t theTenBitResults = ADCH<<8 | theLowADC;
Send_An_IntegerToMrLCD(13,1,theTenBitResults, 4);

ADCSRA |= 1<
}
Zurück zum Blog

Hinterlasse einen Kommentar

Bitte beachte, dass Kommentare vor der Veröffentlichung freigegeben werden müssen.