Hallo
Danke fürs Interesse.
An dieser Stelle kommen wir wohl nicht weiter:
www.roboternetz.de/community/threads/48018-NiboBee-Spannungsmessung-mit-Hindernis?p=463617&viewfull=1#post46361
(Mit geänderter Formel?)
Das Prinzip kennen wir ja inzwischen: Man sollte die interne 2,56V-Referenz verwenden. Das konnte schon der asuro:
int Batterie(void)
{
ADMUX = (1 << REFS0) | (1 << REFS1) | BATTERIE; // internal 2.56V reference with external capacitor
ADCSRA |= (1 << ADSC); // Start conversion
while (!(ADCSRA & (1 << ADIF))); // wait for conversion complete
ADCSRA |= (1 << ADIF); // clear ADCIF
return ADCL + (ADCH << 8);
}
(Aus der asuro-Library. Ob das allerdings funktionierte kann ich nicht sagen, weil ich's bisher mit der Biene so noch nicht geschafft habe ohne dass sich das Programm aufhängt)
btw. werde ich, da ich ja nun eh in analog.c rumfummeln muss, die unsinnige zyklische Aktuallisierung der ADC-Werte entfernen. Ich werde den ADC nur auslesen, wenn ich einen Wert brauche. Das beseitigt den Overhead der ADC-ISR und gibt mir die Kontrolle über die LinienLEDs zurück.
Es gibt, auch bei der bee, noch viel zu erforschen.
Gruß
mic