projects:4e4th:4e4th:start:msp430g2553_experimente:input
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
projects:4e4th:4e4th:start:msp430g2553_experimente:input [2016-02-03 09:55] – [Spannungsteiler aus ohmschen Widerstand und Mikrofon] mka | projects:4e4th:4e4th:start:msp430g2553_experimente:input [2016-02-04 00:06] (aktuell) – [Elektretmikrofon] mka | ||
---|---|---|---|
Zeile 295: | Zeile 295: | ||
- | ==== Spannung zwischen drei Widerständen ablesen | + | ==== Ohmsche Widerstände |
Das Bild ändert sich wenn man einen Spannungsteiler anschließt. Der ADC-Wert stellt sich auf den Wert am Spannungsteiler ein, und die Schwankungsbreite der Werte wurde etwas geringer. Ein Tantal-Kondensator zwischen dem Eingang und Vss ([[http:// | Das Bild ändert sich wenn man einen Spannungsteiler anschließt. Der ADC-Wert stellt sich auf den Wert am Spannungsteiler ein, und die Schwankungsbreite der Werte wurde etwas geringer. Ein Tantal-Kondensator zwischen dem Eingang und Vss ([[http:// | ||
Zeile 330: | Zeile 330: | ||
- | ==== Spannungsteiler aus ohmschem- und Fotowiderstand ==== | + | ==== Fotowiderstand ==== |
Aus dem vorherigen Versuch lässt sich leicht ein Weiterer machen, mit dem ein [[http:// | Aus dem vorherigen Versuch lässt sich leicht ein Weiterer machen, mit dem ein [[http:// | ||
Zeile 343: | Zeile 343: | ||
{{: | {{: | ||
- | ==== Spannungsteiler aus ohmschen Widerstand und Mikrofon | + | ==== Elektretmikrofon |
- | Ersetzt man den Fotowiederstand durch eine [[https:// | + | Ersetzt man den Fotowiederstand durch eine [[https:// |
- | {{: | + | Die Abfrage des ADC10-Eingangs kann mit Forth einfach durchgeführt werden. Das kleine Testprogramm registriert den Spannungspegel als ganzzahligen Wert. Minimum und Maximum werden gespeichert. So kann die Amplitude, die eine Schallwelle am Spannungsteiler auslöst, ermittelt werden. Der verwendete Mikroprozessor wäre schnell genug die Schallwelle feiner abzutasten, hat aber nicht genug RAM um die Werte alle zu speichern. Hier ging es ja auch nur um das Prinzip, und das kann man schon erkennen wenn die Extremwerte registriert werden. |
+ | Im Beispiel " | ||
+ | test3 | ||
+ | 81 435 981 900 ok | ||
+ | Die Pegel lagen zwischen 81 und 981 was eine Differenz von 900 ergibt, der Messbereich war 0...1024. Es lässt sich also ein sehr deutliches großes Signal einfach finden. (Die Mikrofonkapsel war recht unempfindlich, | ||
+ | |||
+ | {{: | ||
+ | {{: | ||
+ | |||
+ | \ mikrofon test 4e4th | ||
+ | | ||
+ | \ ADC input Versuche | ||
+ | | ||
+ | hex | ||
+ | 01B0 CONSTANT ADC10CTL0 | ||
+ | 01B2 CONSTANT ADC10CTL1 | ||
+ | 01B4 CONSTANT ADC10MEM | ||
+ | 004A CONSTANT ADC10AE0 | ||
+ | | ||
+ | 0020 constant p1in | ||
+ | 0021 constant p1out | ||
+ | 0022 constant p1dir | ||
+ | 0027 constant p1ren | ||
+ | | ||
+ | bin | ||
+ | \ FEDCBA9876543210 | ||
+ | \ | ||
+ | \ 1 ADC10SHT_2 | ||
+ | \ 1 REF2_5V | ||
+ | \ | ||
+ | \ 1 ADC10ON | ||
+ | 0011000001110000 | ||
+ | | ||
+ | 0000000000000010 | ||
+ | 0000000000000001 | ||
+ | 0000000000000100 | ||
+ | 0100000000000000 | ||
+ | 00000001 CONSTANT BIT0 | ||
+ | 00000010 CONSTANT BIT1 | ||
+ | 00000100 CONSTANT BIT2 | ||
+ | 00001000 CONSTANT BIT3 | ||
+ | 00010000 CONSTANT BIT4 | ||
+ | 00100000 CONSTANT BIT5 | ||
+ | 01000000 CONSTANT BIT6 | ||
+ | 10000000 CONSTANT BIT7 | ||
+ | | ||
+ | : ADC-INIT | ||
+ | adcsetup ADC10CTL0 ! | ||
+ | inch4 ADC10CTL1 ! \ input channel 4 | ||
+ | bit4 ADC10AE0 | ||
+ | : ADC+ 1 ADC10CTL0 cset ; \ Start ADC10 | ||
+ | : ADC- 1 ADC10CTL0 cclr ; \ STOP ADC10 | ||
+ | : ADC \ -- adcmem | ||
+ | ENC ADC10SC + ADC10CTL0 cset | ||
+ | BEGIN ADC10IFG ADC10CTL0 cget UNTIL adc10mem ; | ||
+ | | ||
+ | hex variable MINIMUM | ||
+ | | ||
+ | : INIT | ||
+ | bit4 p1dir cclr \ P1.4 is input | ||
+ | bit4 p1ren cclr \ resistor disable | ||
+ | bit4 p1out cset | ||
+ | adc- adc-init adc+ | ||
+ | FFFF minimum ! 0 maximum ! ; | ||
+ | | ||
+ | decimal | ||
+ | : range ( n -- ) | ||
+ | dup minimum @ umin minimum ! | ||
+ | maximum @ umax maximum ! ; | ||
+ | | ||
+ | : .adc | ||
+ | minimum @ u. | ||
+ | adc @ dup u. range | ||
+ | maximum @ u. | ||
+ | maximum @ minimum @ - u. ; | ||
+ | | ||
+ | : TEST init page BEGIN 1000 ms page .adc key? UNTIL ; | ||
+ | : TEST2 init page BEGIN page .adc key? UNTIL ; | ||
+ | : TEST3 init begin adc @ range key? until cr .adc ; | ||
+ | | ||
+ | : .DATA init 50 0 DO cr adc @ u. LOOP ; | ||
+ | : .DATA2 | ||
+ | | ||
+ | ( finis ) |
projects/4e4th/4e4th/start/msp430g2553_experimente/input.1454489757.txt.gz · Zuletzt geändert: 2016-02-03 09:55 von mka