Hallo zusammen, eine Anfängerfrage zum ADC des dsPIC33FJ32MC202/204: http://ww1.microchip.com/downloads/en/DeviceDoc/70283K.pdf Ich ich möchte die analogen Eingänge AN0 bis AN6 messen. Die Eingänge sind verteilt auf die Channels 0 bis 3. Eigentlich hatte ich nun gedacht, dass ich erst einen Eingang auf einen Channel legen und dann den entsprechenden Channel wandeln muss. Z.B. wenn ich AN3 messen möchte, hätte ich CH123SB = 1 gesetzt und so AN3 mit Channel 1 verbunden. Dann müsste ich nur noch Channel 1 wandeln und das Ergebnis aus ADC1BUF0 auslesen. Im Datenblatt kann ich aber nicht die Einstellung finden, in der ich den zu messenden Channel definiere. Zumindest nur begrenzt. Ich kann nur CH0, CH0+CH1 oder CH0+CH1+CH2+CH3 wandeln, aber nicht einfach nur CH1. Muss ich in meinem Beispiel also CH0 und CH1 wandeln? Und wie werden die Ergebnisse dann gespeichert? Für etwas Klarheit wäre ich sehr sehr dankbar!
Leider gibt es Datenblätter noch nicht als Hörbuch, deshalb sollte man lesen lernen ;) 20.2 ADC Initialization To configure the ADC module: 1. Select port pins as analog inputs (AD1PCFGH<15:0> or AD1PCFGL<15:0>). 2. Select voltage reference source to match expected range on analog inputs (AD1CON2<15:13>). 3. Select the analog conversion clock to match the desired data rate with the processor clock (AD1CON3<7:0>). 4. Determine how many sample-and-hold chan- nels will be used (AD1CON2<9:8> and AD1PCFGH<15:0> or AD1PCFGL<15:0>). 5. Select the appropriate sample/conversion sequence (AD1CON1<7:5> and AD1CON3<12:8>). 6. Select the way conversion results are presented in the buffer (AD1CON1<9:8>). 7. Turn on the ADC module (AD1CON1<15>). 8. Configure ADC interrupt (if required): a) Clear the AD1IF bit. b) Select the ADC interrupt priority.
Das habe ich natürlich gelesen. Aber genau hier habe ich auch mein Verständnis Problem Hans-Georg Lehnard schrieb: > 4. Determine how many sample-and-hold chan- > nels will be used (AD1CON2<9:8> and > AD1PCFGH<15:0> or AD1PCFGL<15:0>). Was passiert denn, wenn ich z.B. alle 4 Channels wähle? Werden dann 4 Wandlungen durchgeführt? Ich verstehe einfach nicht, wie ich nur Channel 1 messen kann.
Hallo, Lese mal bitte den "Family Reference Manual" Ch 16 - ADC. Da wird einiges genauer erklärt. http://ww1.microchip.com/downloads/en/DeviceDoc/70183D.pdf Du muss im grunde alle Kanäle (AN0 bis AN6) nacheinander auf CH0 zuschalten wenn du die alle sequenzielle abtasten möchtest. Die CH1 bis CH3 sind da wenn mann zb. 4 Kanäle simultan erfassen möchte. mfg, PICfan
PICfan schrieb: > Du muss im grunde alle Kanäle (AN0 bis AN6) nacheinander auf CH0 > zuschalten wenn du die alle sequenzielle abtasten möchtest. Die CH1 bis > CH3 sind da wenn mann zb. 4 Kanäle simultan erfassen möchte. Super, vielen Dank. Mein Fehler lag in der Interpretation des Bildes 20-1. Es sah so aus, als könne ich auf Channel 0 nur AN0 oder AN8 schalten. Ich habe aber die Punkte dazwischen übersehen. Tatsächlich kann ich AN0 BIS AN8 darauf schalten... -.-
Steht doch alles im Datenblatt und im Blockschaltbild kann man doch auch deutlich sehen welcher Anologeingang welchem Kanal zugeordnet werden kann. Der Chip hat im 10Bit Betrieb 4 SH und im 12 Bit Betrieb 1 SH aber immer nur einen AD Wandler. Este Seite Datenblatt .. Advanced Analog Features • ADC module: - Configurable as 10-bit, 1.1 Msps with four S&H or 12-bit, 500 ksps with one S&H Aber wie immer im Leben muss man sich erst mal entscheiden was man will ... Im 10Bit Betrieb kannst du 4 Eingänge gleichzeitig in die SH Stufen (channel 0-3) übernehmen. Die 4 Ausgänge der SH Stufen (Ladung der SH Kondensatoren) werden dann sequenziell digitalisiert. Im 12 Bit Betrieb werden bis zu 6(8) Analogeingänge sequenziell über Channel0 digitalisiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.