Analog Komparator beim Atmega 2560

  • 1
  • 2
  • Page 1 of 2
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Analog Komparator beim Atmega 2560

 · 
Posted: 07.11.2010 - 00:40  ·  #1
Hallo Leute,

ich möchte mit einer Trickschaltung denAusfall der Spannung an meinem 5V-Regler abfragen, mein Log noch auf die SD-Karte schreiben und dann kann passieren was will (BOD).

Dazu wollte ich den Analog Komparator benutzen. In den Datenblättern habe ich immer nur den Hinweis gefunden Standard: Wenn AIN1 kleiner als AIN0 ist löst es den Int aus.

Sprich ich müsste den AIN1 auf meinen 5V-Regler hängen und den AIN0 auf meinen gepufferten 5V-Teil der meine CPU noch weiter versorgt.

Aber nun meine Frage auf die ich bis jetzt keinen Hinweis gefunden habe.
Die gesamte VCC der CPU inkl. AVCC / AREF hängt am gepufferten 5V.
Gibt es die Möglichkeit das ich nur einen PIN Nutze (AIN0 oder AIN1) und er einfach mit den Internen AREF den vergleich macht?

Problem ist, ich habe nur noch einen PIN frei :(

Gruß

Thorsten
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 08.11.2010 - 10:17  ·  #2
Hallo Thorsten,

was Du da planst, habe ich so implementiert, allerdings verwende ich AIN0 als positiven Referenz-Eingang. Lt. Atmega Handbuch kannst Du die interne Referenz-Spannung jedoch genausogut auf den positiven Comparator-Eingang schalten, indem Du im ACSR Register das ACBG Bit setzt. Dann wird AIN0 frei. Die interne Referenz-Spannung mußt Du dann im ADMUX Register auf 1,1V oder 2,56V setzen.
Ich habe bei mir nicht die 5 V an AIN1 hängen, sondern den ungeregelten Eingang des Spannungsreglers (ca. 24 V) über Spannungsteiler, Schutzdiode und eine kleine Kapazität. Das gibt mehr Zeit und ist störsicherer. Ich habe dann noch ca. 50 msec Zeit, das genügt für das Schreiben auf die MMC-Karte.

Gruß, Michael
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 08.11.2010 - 14:30  ·  #3
Hallo Michael.

Quote by mc-electronic

was Du da planst, habe ich so implementiert, allerdings verwende ich AIN0 als positiven Referenz-Eingang. Lt. Atmega Handbuch kannst Du die interne Referenz-Spannung jedoch genausogut auf den positiven Comparator-Eingang schalten, indem Du im ACSR Register das ACBG Bit setzt. Dann wird AIN0 frei. Die interne Referenz-Spannung mußt Du dann im ADMUX Register auf 1,1V oder 2,56V setzen.
Ich habe bei mir nicht die 5 V an AIN1 hängen, sondern den ungeregelten Eingang des Spannungsreglers (ca. 24 V) über Spannungsteiler, Schutzdiode und eine kleine Kapazität. Das gibt mehr Zeit und ist störsicherer. Ich habe dann noch ca. 50 msec Zeit, das genügt für das Schreiben auf die MMC-Karte.


Ok, d. h. Du hast keinen getrennten Kodensator-Puffer vor der CPU/MMC, sondern nutzt den nach deinem Spannungsregler. RIchtig?

Naja, mit den Spannungsteiler ist das so eine Sache, meine Kunden können 12 - 28V DC an die Steuerung anschließen, deshalb dachte ich ich greife auf die geregelten 5V zu :)

Gruß
Thorsten
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 24
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 08.11.2010 - 14:37  ·  #4
Hallo Thorsten,

die Idee mit den 5V ist sehr, sehr schlecht. Das bräuchte dann extrem grosse Elkos an den 5V um ausreichend Zeit zu haben für für den Brownout!
Der Spannungsteiler an den 12..28V ist die beste Lösung, auch wenn das dann unterschiedliche Reaktionszeiten ergibt.

rolf
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 08.11.2010 - 14:45  ·  #5
Yup, das meine ich auch. Denk vor allem an den Störabstand, Du kannst ja den Interrupt (durch entsprechende Dimensionierung) bei Spannungen unter 9 V auslösen. Bei Einsatz von zusätzlichen Pufferkondensatoren sollte das klappen. Ich verwende die Caps des Spannungsreglers, das reicht bei mir.
Wenn Du die 5V überwachst, wo willst Du dann auslösen, bei 4.9V? Eine kleine Schwankung und der ACOMP kippt Dein System.

Noch ein Tip: Wenn die Zeit knapp ist, schreib die Daten in eine bereits bestehende Datei mit der richtigen Mindestgröße per Überschreiben. Das geht viel schneller, als Datei anlegen, öffnen, Sektoren allokieren etc.

Gruß, Michael
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 10.11.2010 - 10:12  ·  #6
Hallo Rolf,
Hallo Michael,
Quote by mc-electronic

Yup, das meine ich auch. Denk vor allem an den Störabstand, Du kannst ja den Interrupt (durch entsprechende Dimensionierung) bei Spannungen unter 9 V auslösen. Bei Einsatz von zusätzlichen Pufferkondensatoren sollte das klappen. Ich verwende die Caps des Spannungsreglers, das reicht bei mir.
Wenn Du die 5V überwachst, wo willst Du dann auslösen, bei 4.9V? Eine kleine Schwankung und der ACOMP kippt Dein System.

Eigentlich tu ich mir bei sowas immer schwer, so eine Spannung direkt auf die CPU zu ziehen :(
Ist da die Gefahr nicht einfach zu Groß das ich mir doch ein Störsignal oder eine Überspannung reinhauhe?

Das Problem was ich bei einem Spannungsteiler sehe, ist die unterschiedliche Spannung beim einspeisen, wenn ich von einer Schaltung ausgehe:

U = 28V
U2= 7V U1=21V
GND |------------[R2 10kOhm]--------------------[R1 30kOhm]------------< 28V
7V zur CPU <------------------------|

Diese 7 Volt sind natürlich zu viel, also müsste ich hier mit einer Z-Diode auf 4,7V begrenzen,
dadurch verschiebt sich aber auch dier Spannungsabfall oder?

U = 12V
U2= 3V U1=9V
GND|------------[R2 10kOhm]--------------------[R1 30kOhm]------------< +12V
3V zur CPU <----------------------------|

Bei 12 Volt sieht das schon wieder anderst aus. Bei so einer Spannungsverschiebung komme ich doch nur mit einen AD-Eingang hin. Oder? Der braucht aber wieder Umwandlungszeit, die mir beim sichern des Systems fehlt.

Also müsste ich doch am besten die Spannung am AIN0 schon mit einen Spannungsteiler auf 3V bringen und die am AIN1 auf 3-4,7V, Somit wäre die Spannung am AIN1 größer oder gleich dem AIN0. Oder habe ich ein Denkfehler?

Mit Z-Dioden habe ich aber auch schlechte Erfahrungen, mal kommen sie früher mal später :(

Quote by mc-electronic

Noch ein Tip: Wenn die Zeit knapp ist, schreib die Daten in eine bereits bestehende Datei mit der richtigen Mindestgröße per Überschreiben. Das geht viel schneller, als Datei anlegen, öffnen, Sektoren allokieren etc.


Danke, das habe ich schon mal ausgetestet, meine Dateien werden gleich beim 1. INIT der MMC in passender größe angelegt. Wie ist das eigentlich, was ich noch nicht probiert habe, wenn eine Datei bereits vorhanden ist und der Reset direkt beim Überschreiben kommt, ist die Datei dann auch ungültig, oder nur der EINE Datensatz?

Gruß
Thorsten
mc-electronic
Benutzer
Avatar
Gender: n/a
Location: Sauerland NRW
Posts: 372
Registered: 03 / 2008
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 10.11.2010 - 11:16  ·  #7
Hallo Thorsten,

ich habe keine schlechte Erfahrung damit, das Signal direkt über die Vorwiderstände auf den AIN1 zu ziehen, da sind ja 33 k Vorwiderstand vor - s. u.
Ich würde auch keine Zener-Diode nehmen, zu ungenau, die machen manchmal die ulkigsten Sachen. Nimm eine Schottky-Diode am AIN1, die du gegen die 5V Systemspannung legst. Dann hast Du eine schnelle, sichere Begrenzung im Spannungsteiler auf 5,2V und erlaubt sind ja Vcc + 0.5 V. Da bist Du dann ja noch von weg.
Nimm 33k / 12 k als Spannungsteiler und schalte einen kleine Kerko parallel zum 12 k Widerstand, so ca. 1 nF (Ein bischen Entstörung ;-)). Dann triggert der ACOMP bei ca. 9.5 V, wenn Du intern gegen 2.56 V Referenz (siehe mein erstes Post) vergleichst.
Egal, ob du 12V oder 24 V einspeist, unter 9,5V kommt der Interrupt - damit ist die Restzeit, die der Interrupt hat, immer gleich. Wenn Du kannst: schalte als erstes alle unnötigen Verbraucher deiner Schaltung im ACOMP Interrupt ab.
Wenn Du jetzt doch den AIN0 zusätzlich verwenden möchtest, dann mußt Du da 2.56V anlegen, zumindest für obige Dimensionierung.

AD-Wandler kannst Du vergessen, das kann nicht klappen.

Mit der Datei: kann ich Dir nicht sagen, ich habe schon ganze Karte defekt gehabt, wenn plötzlich der Strom weg war. Seit ich das wie oben überwache und im ACOMP alles schön sauber schließe, sind alle Probleme weg.
Übrigens hast Du es ja in der Hand, den ACOMP deaktiviert zu lassen, bis alle Deine Initialisierungs-Routinen durch sind.

Gruß, Michael
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Analog Komparator beim Atmega 2560

 · 
Posted: 10.11.2010 - 15:35  ·  #8
Hallo Michael.
Quote by mc-electronic

Nimm eine Schottky-Diode am AIN1, die du gegen die 5V Systemspannung legst. Dann hast Du eine schnelle, sichere Begrenzung im Spannungsteiler auf 5,2V und erlaubt sind ja Vcc + 0.5 V.


Hört sich ja alles machbar und gut an, aber was für eine Shottky-Diode meinst Du? Wirklich gegen 5V nicht gegen GND?

Gruß
Thorsten
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   141   155 · Page-Gen-Time: 0.045991s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI