AD-Wandler (MCP3428) Problem

NiRu

Neues Mitglied
22. Okt. 2020
3
0
1
Sprachen
  1. C#
  2. VB.Net
  3. Java
  4. PHP
Hallo gemeinsam,

ich suche Rat, aufgrund eines AD-Wandlers vom Typen MCP3428.
Wegen eines Schulprojektes, habe ich mich entschieden eine eigene PCB zu designen, welche Sensor Werte, Motoren, Relais und mehr ansteuern kann.
Das alles wird über einen Raspberry Pi Zero angesteuert.

Nun funktioniert die Motorsteuerung, ein I2C Multiplexer und die Spannungsregler, nur der ADC will nicht so recht.

Der ADC wird über i2c angesprochen, welcher direkt an SDA und SCL hängt und nicht erst über den Multiplexer geht.
Die Kommunikation scheint auch ohne Probleme zu funktionieren, allerdings sind die Werte nicht richtig die ich zurück bekomme.
So bekomme ich aus einem Spannungsteiler 37.5K und 15K bei 3.3V (~0.95V) gerade mal 0.02V über den ADC ausgegeben.
Es Spielt auch keine Rolle über welchen Channel ich gehe.
Ich habe den MCP3428 sogar bereits einmal getauscht, da ich ausschließen wollte das ich ihn beim Heißluft löten zerstört habe.

Ich finde einfach keine Lösung für dieses Problem.
Für die Tests habe ich fertige Python Bibliothek für den MCP3428 verwendet.
Im Anhang sind Bilder von der Schaltung und dem wie es im PCB Designer verbunden ist.

Allerdings muss ich dazu sagen, dass im Datenblatt ein 0.1uF Keramik und ein optionaler 10uF Tantalum Kondensator vorgegeben waren.
Der 10uF Tantalum ist nun ein 10uF Keramik Kondensator, weil ich beim bestellen nicht aufgepasst habe.

Die meisten Bauteile liegen in einer Ground Plane, ich hoffe das sorgt nicht für diese fehlerhaften Messwerte.


Wenn jemand Erfahrungen mit AD-Wandlern oder im speziellen mit dem MCP3428 hat, ich freue mich über jeden Tipp! :)

Danke !!!
 

Anhänge

  • 001.png
    001.png
    1,7 KB · Aufrufe: 10
  • 002.png
    002.png
    9,9 KB · Aufrufe: 12
  • 003.png
    003.png
    31,4 KB · Aufrufe: 11
Bezüglich der Himbeere und der Bibliothek kann ich nichts sagen, falls Du den Sensor mit irgendeinem AVR testen willst, könnte ich mich reinknien (aber Du wirst vermutlich keinen haben).

Der MCP3428 ist ein differentieller 16bit-ADC (mit integriertem Gain Amplifier).
So bekomme ich aus einem Spannungsteiler 37.5K und 15K
Sicherheitshalber mal nachgefragt: Wie hast Du den konkret angeschlossen (was ist mit dem negativen Eingang des differentiellen Paares)?

Nachtrag: Warum steht das Bauteil im Layout beschriftungstechnisch kopf? Da kriegt man ja beim durchgehen 'n Knoten in selbigem (bzw halte ich das für 'ne böse Fehlerquelle beim bestücken - da Pin1 nicht erkennbar ist, würde ich mich am Beschriftungsdruck orientieren)
 
Zuletzt bearbeitet:
  • Like
Reaktionen: NiRu
Hallo, danke für die Rückmeldung!

Deine Fragen haben mich Nachdenklich gemacht, genau so wie deine Anmerkung, dass es sich ja um einen differentiellen 16bit-ADC handelt und was mit dem negativen Eingang passiert.

Folglich habe ich mir nochmals das Datenblatt angesehen und auf Beispielschaltungen gesehen, wie dort Channel Minus auf Ground liegt, wenn nur der positivie Analog Pin benötigt wird.
Genau das war mein Problem, ich habe den positiven Channel als Analog Input verwendet, jedoch den negativen Channel ins leere laufen lassen.

Ich nahm an, dass er sich wenn nichts mit dem Minus Channel passiert, automatisch auf Ground (Vss) vom MCP3428 bezieht.

Nachtrag: Warum steht das Bauteil im Layout beschriftungstechnisch kopf? Da kriegt man ja beim durchgehen 'n Knoten in selbigem (bzw halte ich das für 'ne böse Fehlerquelle beim bestücken - da Pin1 nicht erkennbar ist, würde ich mich am Beschriftungsdruck orientieren)
Ja das stimmt allerdings, ich habe bei KiCad angenommen, dass die Beschriftungen vom TCA9548 (I2C Multiplexer) und dem MCP3428 identisch aufgedruckt sind.
Erst als ich die Bauteile bestellt habe, ist mir aufgefallen das die Beschriftung vom MCP auf dem Kopf steht und der TCA in der Beschriftung richtig herum liegt.
Allerdings teilen sich beide den Punkt in der oberen rechten Ecke. Beim nächsten Projekt werde ich besser darauf achten. :)


Vielen Dank nochmals!
Jetzt stimmen die Messwerte!

schönes Wochenende!
 
Ich nahm an, dass er sich wenn nichts mit dem Minus Channel passiert, automatisch auf Ground (Vss) vom MCP3428 bezieht.
Gemessen wird die Differenz zwischen beiden Pins - schön, daß sich das so einfach hat lösen lassen...;)
Allerdings teilen sich beide den Punkt in der oberen rechten Ecke.
??
Laut Datenblatt (S.36...) sollte der wie üblich bei Pin1 liegen, also links oben... :hmmmm:
 
Laut Datenblatt (S.36...) sollte der wie üblich bei Pin1 liegen, also links oben... :hmmmm:
Du hast absolut recht, ich habe tatsächlich beide Bauteile mit der Beschriftung auf dem Kopf. :D
Beim nächsten mal achte ich bei der Platzierung der Bauteile darauf.

Danke nochmals!
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)