Hallo an alle.
Ich bin neu im Forum und habe als kleines Kind mal mit Bascom die AVRs programmiert.
Nun bin ich über Arduino gestolpert und habe gleich ein Projekt für mich gefunden um das System mal auszuprobieren.
Nun würde ich gerne die Differenz ADCs mit 20 facher Verstärkung nutzen, leider kann ich
keine Informationen finden wie die Ports in Arduino benutzt werden.
Also falls einer ein Code Beispiel für mich hat wäre ich echt dankbar.
Angeschlossen wird ein O2 Sensor mit einer Ausgangs Spannung von ca. 10 – 50 mV.
Wow was für eine Geschwindigkeit hier !!
Ich meine die ADCs eine Atmega2560.
Ich habe 2 von den Sensoren die ich auslesen muss.
Ich möchte mir einen OP für die verstärkung sparen.
Dann bist du hier falsch.... alles was über "ich möchte eine LED 2x blinken lassen, bevor Pin 3 auf High schaltet" überfordert die meisten hier... mein Tipp: http://www.mikrocontroller.net
@Madwilli Jetzt überforderst Du mich auch.
Wenns mit Bascom auf dem ATmega2560 geht, dann funktionierts auch mit dem Arduino. Ich hab im Datenblatt auf die schnelle nichts dazu gefunden. Vieleicht weiß jemand anders mehr.
Grüße Uwe
Auch auf die Gefahr, das ich am Ende als "doof" dastehe
Du willst einen der analogen Eingänge nutzen, um die Spannung eines Sensors zwischen 10 und 50 mV zu messen.
Das würde aus meiner Sicht durch setzen der Referenzspannung gehen, siehe analogReference() - Arduino Reference. Wobei 0,05V schon ziemlich "dünn" ist.
Du könntest aber mittels eines Operationsverstärkers die Spannung auf 1 bis 5 V anheben.
Da fehlt mir etwas die Erfahrung, aber aus meiner Sicht dürfte folgendes Schaltung verwendbar sein: Operationsverstärker – Wikipedia
Eingelesen wird der Wert einfach per analogRead(analogPin), was einen Wert zwischen 0 und 1023 liefert, den Du dann auf die tatsächlichen Werte mappen kannst.
Mario.
Ich hoffe das war jetzt nicht komplett an der Frage vorbei
Der ATmega2560 hat im Register in dem der Multiplexereingang für den AD-Wandler eingestellt wird die Möglichkeit eines verstärkten Differentialeingangs zu setzen.
Wies genau geht kann ich nicht sagen da ichs nie versucht habe.
Prinzipiell aber so wie einen bestimmten analogen Eingang per SW direkt zu lesen.
ADMUX – ADC Multiplexer Selection Register und ADCSRB – ADC Control and Status Register B
Hallo,
zufällig habe ich genau so was schon mal ausprobiert. Ich stell den Code mal rein. Ist zwar ziemlich viel Overhead drin (serielle Kontrollausgaben), aber ich kann den Code nicht zusammenkürzen und testen, weil ich gestern meinen Mega geschrottet habe (12V von hinten übers Steckbrett kommt nicht so gut).
Ich hoffe der Code ist verständlich, zumindest geht daraus hervor, welche Register gesetzt werden müssen. Der Rest sollte sich aus dem Datenblatt ergeben.