Go Down

Topic: ADC Suche um Sensor auszuwerten. (Read 1 time) previous topic - next topic

Jomelo

Jun 04, 2012, 12:21 pm Last Edit: Jun 13, 2012, 11:33 am by Jomelo Reason: 1
Hi,
ich versuche im Moment einen ADC (MCP3901) zum laufen zu bekommen, die Konfiguration ist aber nicht die leichteste.
Aus diesem Grund wollte ich euch um Hilfe bittet. Vielleicht kennt einer einen passenden ADC der leichter zu konfigurieren ist.

Daten die relevant sind:
Analoger Kanal:     +5V bis -5V
Digitale Spannung: 3,3V

Der Takteingang sollte mit ein Rechtecksignal auskommen.

Ausgabe der Daten wenn möglich Seriell als Stream
Auflösung 16 oder 24 Bit.

Kennt jemand so einen Chip (DIP oder SMD) ?

uwefed

Fangen wir mal am Anfang an: Welchen Sensor hast Du?
Grüße Uwe

Jomelo

Das Thema kann geschlossen werden. Der MCP3901 ist vermutlich defekt. (Spannungen passen, SPI Konfiguration kommt an (überprüft mit einem LogicAnalyser), kein Ausgangssignal auf irgendeinem Ausgang)

uwefed

#3
Jun 05, 2012, 10:01 pm Last Edit: Jun 28, 2013, 09:47 pm by uwefed Reason: 1
Dann meld Dich wieder, wenn Du einen anderen MCP3901 besorgt hast. Wir sind neugierig.
Grüße Uwe

Jomelo

Hi,

ich habe den ADC nun am laufen. Da ich keine genaueren Angaben zum Projekt machen will stell ich hier nur den ADC (MCP3901) kurz vor.

Kenndaten vom MCP3901:
- 2 Kanal, 16 - 24bit Auflösung, einstellbar
- Auflösungsbereich:  -1V - +1V  (wird zerstört wenn -6V oder +6V am Eingang überschritten werden)
- kann die Phasenverschiebung zwischen Kanal 1 und Kanal 2 messen
- Betriebsspannung digital: 2,7V - 5V (läuft auch mit 3,3V Technik)
- Betriebsspannung analog: 5V
- Datenausgabe sowie Konfiguration laufen über eine SPI Schnittstelle (SPI Takt bei digi 5V => 16Mhz, SPI Takt bei digi 3,3V => 10MHz)
- Die Daten könne von jedem Kanal als Stream ausgegeben werden, wobei hier die Auswertung schwer ist, da kein Trennzeichen existiert.

Mehr Details gibt es im Datenblatt.

Die Lib existiert im Moment nur für die 32bit Kontroller von Atmel. Ich könnte sie bei bedarf auf den Arduino portieren.
 

Jomelo

Hier nochmal die Lib für den 32 Bit Kontroller.
Umschreiben und anpassen ist ausdrücklich erlaubt.

vahegan

Hallo,

Mein Deutsch ist nicht so gut, also ich muss ins Englisch shreiben.

I have been looking for an Arduino library to use with MCP3901 and I only found this forum.

I don't know how to port the library for a 32bit MCU for Arduino. Please, could anyone help me with this?

Fielen dank

Bitte bitte für den Arduino umschreiben.

Und wenn es geht für den MCP3903. Sollte ja sehr ähnlich sein.
Ich hab bereits versucht den Beispielcode von dem Microchip-Eval-Board zu portieren. Scheitere aber meiner Ansicht nach beim Initialisieren des Chips.
Die Verdrahtung paßt, da ein MCP3304 noch am Bus hängt und sinvolle Daten zurücksendet.

Ein Beispiel für das Abtasten in je 16- / 24-Bit und ein automatisches Abrufen sämtlicher 7 Kanäle mit den Config-Bits wäre absolute spitze.
Allgemein fand ich die Beschreibung des Konfigurierens des ADCs über die Config-Bits im Datenblatt sehr unverständlich.
Deswegen ware ich sehr sehr dankbar über einen funktionierenden Beispielcode.

Als bitte bitte bitte...

uwefed


Bitte bitte für den Arduino umschreiben.

Und wenn es geht für den MCP3903. Sollte ja sehr ähnlich sein.
Ich hab bereits versucht den Beispielcode von dem Microchip-Eval-Board zu portieren. Scheitere aber meiner Ansicht nach beim Initialisieren des Chips.
Die Verdrahtung paßt, da ein MCP3304 noch am Bus hängt und sinvolle Daten zurücksendet.

Ein Beispiel für das Abtasten in je 16- / 24-Bit und ein automatisches Abrufen sämtlicher 7 Kanäle mit den Config-Bits wäre absolute spitze.
Allgemein fand ich die Beschreibung des Konfigurierens des ADCs über die Config-Bits im Datenblatt sehr unverständlich.
Deswegen ware ich sehr sehr dankbar über einen funktionierenden Beispielcode.

Als bitte bitte bitte...

Und a goldene Uhr und a Steig Epfl an nou? (Und willst Du auch noch einen goldene Uhr und eine Kiste Äpfel haben?)

Ich finde Deine Forderung schamlos. Wir helfen Dir wenn Du Probleme hast aber wir machen Dir nicht die Arbeit.

Grüße Uwe



Quote
Und a goldene Uhr und a Steig Epfl an nou? (Und willst Du auch noch einen goldene Uhr und eine Kiste Äpfel haben?)


Sollte nicht so rüberkommen. Und die Kiste Äpfel will ich nicht sondern spendier ich gerne...

Ich kann ja gerne den Code den ich erarbeitet habe posten. Aber das Ding hat mich ohne Ende nerven gekostet. Am Ende hat der Chip bei jedem Neustart (Frisch Spannung drauf) komplett andere Sachen gemacht.

Ich könnte es auch anders formulieren: Wäre schön, wenn mir jemand erklärt, wie man die Init-Routine für den Chip schreibt um zwischen den 16- /24Bit-Modus zu wechseln und die Automatikroutine um alle 7 Kanäle hinterneinander abzurufen.

Sorry wenn es "schamlos" rüberkam.

uwefed

Ok angnommen. Auf dieser Basis kann man arbeiten.

Was hast Du bisher für einen Sketch verwendet; wie hast Du den MCP3903 am Arduino angeschlossen?

Grüße Uwe

Go Up