LifePo4 ADC Mightycore 1284P Probleme

Guten Morgen,
Ich bin so langsam am verzweifeln.
Ich hab mir mein eigenes Board gebaut.
Dieses basiert auf einem 1284p mit Externem 8Mhr Quarz. Läuft also auf 3,3V

Die Spannung sollte am A7 ADC Ausgelesen werden.Das ich die Akkus Kontrollieren kann.

Spannungsteiler siehe Bild:
grafik

BAT geht an A7 des 1284p.

Leider hab ich die beiden Widerstände beim Spannungsteiler vertauscht. Sollte doch aber trotzdem gehen.

Code hab ich erstmal ganz Simple.

int sensorPin = A7;    // analoger Eingang
 
void setup() {
  analogReference(INTERNAL);
  Serial.begin(9600);
}
 
void loop() {
  // Sensorwert lesen
  int sensorValue = analogRead(sensorPin);    
  float value = sensorValue;
  Serial.print("Wert:");
  Serial.println(value);
}

Problem ist das er mir immer 1023 anzeigt also von 3,3v bis 2,8V
Erst ab 2,7v ändert sich der Wert.

Liegt es am Code oder an meinem Spannungsteiler?
Wie kann ich das Lösen ohne das ich die Platinen neu bestellen muß? Das wäre ein Enormer Kostenfaktor den ich wenn es geht vermeiden möchte.
Spannungsteiler auslöten wird schwer da 0402 es sind.
Bitte helft mir da es ein etwas größeres Projekt ist.

Vielen Dank

Wenn es vernünftig werden soll, wirst du nicht drum herum kommen, die Widerstände zu tauschen.

Viel zu hochohmig!
AVR erwarten eine Impedanz von kleiner als 10k, so steht es auch in deinem Datenblatt.

Hi,

falls die Spannung der LiFePo4 direkt am 1284P anliegen, also ohne jeden Spannungsregler, so kann man vermutlich die Betriebsspannung (ergo Akkuspannung) intern gegen die Referenzspannung messen, wie ich es z.Bsp. vom 328P kenne.

Gruß André

Aber man will ja kein Batterie-Entladegerät bauen. Ein Kondensator könnte helfen.

Aus der Arduino - Referenz:

  • INTERNAL: a built-in reference, equal to 1.1 volts on the ATmega168 or ATmega328P and 2.56 volts on the ATmega32U4 and ATmega8 (not available on the Arduino Mega)

... und was macht dein 1284 Core bei INTERNAL ?

Das wäre Ideal. Ja es liegt Direkt am VCC an.
Hättest du mir da ein Codebeispiel?
Danke

Danke, was für welche sollte ich da im Idealfalle nehmen.
Hab mir schon gedacht das Tauschen muß.
Werde ich wohl nicht drum herum kommen. Kollege hat eien Lötpinzette damit sollte das gehen.

Das hängt doch sehr von deinen eigenen Spezifikationen ab.
Nicht so hochohmig wie aktuell und so, dass dein Akku nicht leer gesaugt wird.
Weiterhin dem Datenblatt entsprechend.

Hi,
schau Dir mal das hier an: Messen der eigenen Betriebsspannung mit dem Arduino
Für den 1284P sind es die gleichen Register wie beim ATmega2560 etc.

Gruß André

Ich denke daran auf 100k 100k zu gehen dann muß ich nur einen Wechseln.

Und ich dachte der Spannngsteiler wäre überflüssig, da die Akku Spannung direkt am µC Vcc anliegt.....

Wenn ich es hinbekomme das er die VCC gegen Interne Referenz misst ja dann brauch ich die nicht soweit ich es verstanden habe. Eben bei den LiFePo4 ohne LDO da ja VCC = Akku ist

Crossposting
https://www.mikrocontroller.net/topic/522934