attiny85 ADC zieht Strom?

OP Persönliche Seite #5551542
Lesenswert?

Hi

Ich bin immer noch bei meinen ersten Versuchen mit dem Attiny85.

Beim testen des ADC's ist mir aufgefallen das wenn ich den ADC Eingang 
(PB3) an den 5V Ausgang des Attiny85-Boards lege ziemlich viel Strom 
fließt.

Der tiny verbraucht alleine nur ~16mA, mit OLED nur 17mA, aber sobald 
ich den ADC Pin an die 5V lege springt der Strom auf ~60mA.

Dann habe ich gelesen das wenn die Pins als Eingänge geschaltet sind 
diese ~100MOhm Eingangswiderstand haben und wenn der ADC samplt 
1-100kOhm.

Was übersehe ich das den hohen Strom erklären könnte?

Das ist der Code den ich im Moment verwende:
1
#include <SSD1306_minimal.h>
2
SSD1306_Mini oled;
3

4
char buff[4];             // char array 4 digits
5
const int ADCPIN = 3;     //PB3
6
int ADC1_READ = 0;
7

8
void disp_val() {
9
 oled.startScreen();
10
 oled.clear();        // Clears the display
11
 oled.cursorTo(0, 0);
12

13
 ADC1_READ = analogRead(ADCPIN);   // read ADC PB0 value
14
 itoa(ADC1_READ,buff,10);      // convert int to char array
15
 oled.printString(buff);
16
}
17

18
void setup() {
19
  pinMode(ADCPIN, INPUT);
20

21
  oled.init(0x3C); // Initializes the display to the specified address
22
  oled.clear(); // Clears the display
23
  delay(1000); // Delay for 1 second
24
}
25

26
void loop() {
27
  disp_val();
28
  delay(500);
29
}
Angehängte Dateien:
Moderator Persönliche Seite #5551567
Lesenswert?

Paul G. schrieb:
> Beim testen des ADC's ist mir aufgefallen das wenn ich den ADC Eingang
> (PB3) an den 5V Ausgang des Attiny85-Boards lege ziemlich viel Strom
> fließt.

In deine „Blackbox“ in der Zeichnung gehen einfach mal so 12 V rein.
Irgendwer da drin wird daraus wohl die Spannung für den Controller
regeln.  Erzeugt derjenige vielleicht eine Versorgungsspannung von
weniger als 5 V (bspw. 3,3 V), und du versuchst dann, an die Eingänge
von außen 5 V zu legen?  In dem Falle öffnen die Eingangsschutzdioden
und führen Strom in Richtung Controller ab.

Wenn das nicht so ist, dann müsstest du uns etwas mehr über den Inhalt
deiner Blackbox verraten.
OP Persönliche Seite #5551575
Lesenswert?

Es handelt sich um ein "Development Board" aus China, steht zwar 
Digispark drauf...

Die 12V gehen soweit ich das verstehe von VIN in den 78L05 und der macht 
5 Volt draus. Die Teile sind mit einem Bootloader versehen (vermutlich 
Micronucleus) und ich programmiere den einfach mit der Arduino IDE. 
Sketch hochladen, tiny an USB hängen und dann läd er es hoch.

Ach ja und das OLED ist so ein Standart SSD1306 I2C.
Angehängte Dateien:
Moderator Persönliche Seite #5551601
Lesenswert?

Paul G. schrieb:
> Nein, wenn ich VCC direkt am Tiny messe (PIN8) liegen dort ~5,1V an (bei
> 12,4V an VIN), und das selbe am 5V out Pin.

Dann habe ich keine Idee mehr aus der Ferne.

ps: Direkte Messung der VCC an einem ADC-Pin funktioniert auf diese
Weise sowieso nicht.  Du musst ja gegen eine Referenzzspannug messen,
die gleich oder höher als die Eingangsspannung ist.  VCC kann man
zwar als Referenzspannung benutzen, aber damit kannst du logischerweise
dann nicht VCC messen, denn das Ergebnis wird immer der Max-Wert sein
(Mess- und Referenzspannung sind gleich).

Du musst also deine Messspannung entweder so weit herunter teilen, dass
du gegen die interne Bandgap-Referenz von 1,1 V messen kannst, oder aber
du drehst den Spieß um und misst die Bandgap selbst gegen Vcc als
Referenz.

pps: Was für einen Sinn soll es eigentlich haben, die Spannung hinter
dem 5-V-Regler zu messen?  Solange von den 12 V am Eingang halbwegs noch
was übrig ist, misst du doch an dieser Stelle sowieso einen konstanten
Wert.
Gast #5551662
Lesenswert?

Axel L. schrieb:
> PB3 geht als USB Eingang über eine 3,6V Zehnerdiode und einem 68 Ohm
> Widerstand auf Masse.

Ich denke auch, dass das der eigentliche Knackpunkt ist.

Wenn du einen Pin für was auch immer benutzt, schau in den Schaltplan 
des Moduls um zu sehen, was da sonst noch so dran hängt. (Gilt generell 
für jedes Mikrocontroller-Modul).
OP Persönliche Seite #5551671
Lesenswert?

Jörg W. schrieb:
> pps: Was für einen Sinn soll es eigentlich haben, die Spannung hinter
> dem 5-V-Regler zu messen?  Solange von den 12 V am Eingang halbwegs noch
> was übrig ist, misst du doch an dieser Stelle sowieso einen konstanten
> Wert.

Ich wollte einfach nur mal den ADC bei ~1024 sehen und dabei ist mir 
halt aufgefallen das ziemlich viel Strom fließt was ja eigentlich nicht 
sein dürfte. Ich probiere mal eine andere Spannungsquelle.

Wie ist das dann aber wenn ich genau weiß wieviel VCC der Tiny bekommt, 
dann kann ich doch VCC als Refernz nehmen und durch 1024 teilen und dann 
auf eine externe Spannungsquelle mit gleicher Erde anwenden oder geht 
das nicht?

Ich habe gerade mal aus Spaß den ADC "INPUT" Pin mit dem Voltmeter 
gemessen und alles andere abgeklemmt und da kommen 3,15V raus! Wie kann 
den das sein?

Dann habe ich einen anderen Baugleichen Tiny genommen und da kommt das 
selbe raus. Könnte das evtl etwas mit dem Bootloader zu tun haben? Der 
nutzt ja den ADC PIN PB3 auch für die USB Kommunikation... nur dachte 
ich bisher das er das nur nach dem Einschalten macht und nach ein paar 
Sekunden sich die PINS normal verwenden lassen sollen. Ich versuche mal 
PB0 als ADC input, der müsste frei sein...
OP Persönliche Seite #5551720
Lesenswert?

Arduino Fanboy D. schrieb:
> Paul G. schrieb:
>> PB5
> Der braucht meist eine Fusesetzung, damit er als vollwertiger ADC taugt.

Danke, ich schau mal ob ich das hinbekomme.

Mir schwant langsam das die Wahl eines solchen Fertigboards evtl. nicht 
der richtige Weg war. Evtl. kann man ja das ganze USB gedöhns ablöten 
bzw. die richtigen Tracks durchkratzen und so PB3/PB4 frei bekommen, 
dann noch den Bootloader löschen und das ganze per USBasp hochladen...
Gast #5551723
Lesenswert?

Der USB Bottloader ist doch gerade das Hauptmerkmal dieses Moduls. Wenn 
du das entfernst, bleibt nur noch der nackte Chip übrig. Dann kannst du 
den gleich einzeln kaufen.

Ich sage mal so:

Ein Mikrocontroller mit genau 3 freien Pins ist halt ein bisschen knapp 
zum Experimentieren. Wie wäre es stattdessen mit einem Arduino Nano 
(compatible) für 1,50€ ?
OP Persönliche Seite #5551735
Lesenswert?

Stefanus F. schrieb:
> Der USB Bottloader ist doch gerade das Hauptmerkmal dieses Moduls. Wenn
> du das entfernst, bleibt nur noch der nackte Chip übrig. Dann kannst du
> den gleich einzeln kaufen.

Und wenn ich Reset an PB5 deaktiviere um dort den ADC zu bekommen kann 
ich sowieso nicht mehr mit dem USBasp flashen, sofern ich das richtig 
verstehe...


> Ich sage mal so:
>
> Ein Mikrocontroller mit genau 3 freien Pins ist halt ein bisschen knapp
> zum Experimentieren. Wie wäre es stattdessen mit einem Arduino Nano
> (compatible) für 1,50€ ?

Hab noch zwei davon rummliegen ;). Wollte halt mal einen auf 
"Minimalismus" machen. Ich wechsle zum Nano.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren