Forum: Mikrocontroller und Digitale Elektronik Attiny13 weniger VCC output als VCC input


von Anfänger (Gast)


Lesenswert?

Hi,
hab ein kleines problem,
bin grad mit'n Attiny13 am spielen, u. lege am VCC 4.7volt an, an output 
pin kommen aber nur 0.8Volt raus....

kann mir vielleicht einer erklären wieso das so ist??

Danke u. Gruß

von Εrnst B. (ernst)


Lesenswert?

Anfänger schrieb:
> kann mir vielleicht einer erklären wieso das so ist??

Wenn du vorher erklärst, warum du meint, dass es anders sein sollte.

von Anfänger (Gast)


Lesenswert?

naja ich kenn des von anderen Atmel das Output=Input is...
deswegen meinte ich das es net ganz normal ist

von Εrnst B. (ernst)


Lesenswert?

Anfänger schrieb:
> naja ich kenn des von anderen Atmel das Output=Input is

Häh?

der Tiny13 ist ein programmierbarer Microcontroller, kein Stück Draht.


Aber, frisch geputzte Glaskugel: Du hast vergessen, den Ausgangs-Pin als 
solchen zu deklarieren. (DDR-Register). Damit schaltest du nur den 
Pull-Up, und der bildet mit deinem Messgerät einen Spannungteiler => 
0.8V.

von Thomas E. (thomase)


Lesenswert?

Anfänger schrieb:
> kann mir vielleicht einer erklären wieso das so ist??

Weil das offener Eingang ist.

mfg.

von Anfänger (Gast)


Lesenswert?

kurz gesagt ist es normal?
mir ist klar das es kein stück draht ist, ich kenns halt nur vom 
Atmel2XXX wenn ich da 5VCC hab, auch am outpin 5V hab...

von Stefan E. (sternst)


Lesenswert?

Anfänger schrieb:
> ich kenns halt nur vom
> Atmel2XXX wenn ich da 5VCC hab, auch am outpin 5V hab...

Ja, hast du beim AVR auch, wenn es denn ein Output ist und er auf High 
geschaltet ist, was bei dir offensichtlich nicht der Fall ist.

von Anfänger (Gast)


Lesenswert?

Mein Code sieht so aus:
1
$regfile = "ATtiny13.dat"
2
$crystal = 4800000
3
'-------------------------------------------------------------------------------------------------
4
' Ports auf Ausgang setzen
5
'-------------------------------------------------------------------------------------------------
6
Ddrb = &B011100
7
Portb = &B000001
8
'-------------------------------------------------------------------------------------------------
9
10
Do
11
If Pinb.0 = 1 Then
12
Portb.2 = 1                                                 'einschalten
13
Waitms 280
14
Portb.2 = 0
15
Wait 1
16
Portb.4 = 1
17
Waitms 280
18
Portb.4 = 0
19
Wait 2
20
Portb.3 = 1
21
Waitms 60
22
Portb.3 = 0
23
Waitms 100
24
Portb.2 = 1
25
Waitms 400
26
Portb.2 = 0
27
28
End If
29
30
31
Loop
32
End

PinB2 zb. ist doch auf High gesetzt...., oder is da ein fehler?

von Walter S. (avatar)


Lesenswert?

hä,
du machst doch alles mögliche in der Schleife, kein Wunder wenn das 
multimeter 0,8V misst

von Anfänger (Gast)


Lesenswert?

wie scho mein name sagt, bin ich ein Anfänger:)

wie wärs denn besser...?

von berlin ahoi (Gast)


Lesenswert?

was willst du genau machen?

von Uwe (Gast)


Lesenswert?

dein Multimeter ist einfach zu langsam das zu messen !
Mit nem Oszi würdest du schon so einiges sehen.
Mach mal die waitms in den 1000er bereich

von Anfänger (Gast)


Lesenswert?

ein kleines problem ist, das die MS auch net so ganz stimmen ^^ zb. 
280ms ist bei mir ca. 2 echte sekunden....
also daran kanns glaube ich auch net liegen

von Peter D. (pdiener) Benutzerseite


Lesenswert?

>280ms ist bei mir ca. 2 echte sekunden

Dann stimmt die tatsächliche Taktfrequenz nicht mit der überein, die 
hier definiert ist:
1
$crystal = 4800000

Grüße,

Peter

von Anfänger (Gast)


Lesenswert?

merci peter :)
hast recht gehabt, ein problem gelöst

so hab etz wieder bischen weiter getestet
also auf meinem testboard das über usb versorgt wird, klappt alles, 
5VCC, > 5V output am entsprechenden pin

wenn ich es über einen akku betreibe, der eben 4.7V hat, klappts 
nicht... dann kommt am pinB wieder ca. 0.8V raus

mein akku ist direkt mit dem Atmel verbunden

von des is net nett. (Gast)


Lesenswert?

vielleicht versteht der Compiler auch seinen in Schrift umgesetzen 
Dialekt nicht. Warum macht man denn sowas?
Ist es extra cool extra assozial zu wirken? :-D
Gut, normalerweise schon.. aber wenn man was von anderen will..
Und die Strategie geht auch noch auf...

von Peter D. (pdiener) Benutzerseite


Lesenswert?

>wenn ich es über einen akku betreibe, der eben 4.7V hat, klappts
>nicht

Vermutlich hat der Akku keine 4,7 V, sondern etwas weniger und die 
Schaltschwelle vom Brownout-Detector ist auf 4,3 V gesetzt. Dann kann es 
sein, dass der Prozessor wegen Unterspannung im Reset bleibt.

Die Schaltschwelle für den Brownoutdetector stellt man über die Fuses 
ein, siehe Datenblatt Table 18-5 und Table 17-3.
http://www.atmel.com/dyn/resources/prod_documents/doc2535.pdf

Bei dieser Anwendung sollte man 2,7 V einstellen.

Gleichzeitig auf Figure 18-2 achten, denn bei niedriger Betriebsspannung 
darf man nicht mehr die volle Taktfrequenz fahren.

Grüße,

Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.