ATTINY 13 schaft gerade mal 1kHz als Schmitt-Trigger?

Gast #3217501
Lesenswert?

Hallo

Gebe auf einen Analog- Eingang eines ATTINY 13 eine Sinusspannung Ue < 
2,5 Vss, Offset: 2,5 VDC und schalte einen Ausgang beim Über-/ 
Unterschreiten eines festen Grenzwertes Ug.
Das geht sauber bis 100 Hz.  Bei ca. 1 kHz sind die Ausgangs- Flanken 
(Last 1 kOhm)schon ziemlich rund und darüber unbrauchbar. Im Datenblatt 
steht was von 250kHz?
Gast #3217506
Lesenswert?

Henry schrieb:
> Das geht sauber bis 100 Hz.  Bei ca. 1 kHz sind die Ausgangs- Flanken
> (Last 1 kOhm)schon ziemlich rund und darüber unbrauchbar. Im Datenblatt
> steht was von 250kHz?

warum sollte sie die Flanke abhänig von der Frequenz ändern? die 
Flankensteiheit ist doch immer gleich, auch wenn du 1mal pro Stunde 
schaltest.
#3217645
Lesenswert?

Henry schrieb:

> Gebe auf einen Analog- Eingang eines ATTINY 13 eine Sinusspannung Ue <
> 2,5 Vss, Offset: 2,5 VDC und schalte einen Ausgang beim Über-/
> Unterschreiten eines festen Grenzwertes Ug.

Ein bisschen detaillierter hätte die Beschreibung schon sein dürfen. 
Also laß mich raten, was du tust.

1. du konfigurierst den ADC für den free running mode und läßt ihn so 
permanent die Spannung an deinem Eingangspin messen

2. dein Hauptprogramm ist eine Endlosschleife:

a) warten daß der ADC eine Wandlung fertig hat
b) ADC-Wert lesen
c) wenn ADC-Wert > X, dann Ausgangspin=H, sonst Ausgangspin=L

Richtig so? Dann wäre zuerst mal zu sagen, daß das kein 
Schmitt-Trigger ist, weil der nämlich zwei Schaltschranken hätte.
Aber das nur am Rande.

> Das geht sauber bis 100 Hz.  Bei ca. 1 kHz sind die Ausgangs- Flanken
> (Last 1 kOhm)schon ziemlich rund und darüber unbrauchbar. Im Datenblatt
> steht was von 250kHz?

Keine Ahnung, was du mit 250kHz meinst. Vielleicht den ADC-Takt? Dazu 
sagt mein Datenblatt zwar 200kHz, aber sicher sagen beide Datenblätter 
übereinstimmend, daß der ADC minimal 13 solche Takte für eine Messung 
benötigt.

Bei 200kHz ADC-Takt kommt also alle 65µs (resp mit ~15kHz) ein neuer 
Wert. Und weil du 2 Schleifendurchläufe brauchst, um das Ausgangssignal 
einmal auf H und wieder zurück auf L zu setzen, kannst du so auf maximal 
~7.6kHz am Ausgang kommen.

Was du mit "runden Flanken" meinst, ist unklar. Die Flankensteilheit an 
einem Ausgang des tiny13 hängt im wesentlichen von der angeschlossenen 
Kapazität ab. Mit einigen 10pF, die man sich mit der Verdrahtung 
einhandelt, dürfte die Flankensteilheit im Bereich einiger ns liegen. 
Selbst wenn wir ganz großzügig mal 65ns annehmen, dann ist die Flanke 
immer noch 1000-mal kürzer als die kürzeste L- oder H-Zeit des 
Ausgangssignals (das ja nur alle 65µs überhaupt umschalten kann).
Da kann nix rund sein. Es sei denn, du hast da einen 1000µF Elko an 
den Ausgang des tiny13 gehängt.

Naja. Auf jeden Fall ist ein solcher "Schmitt-Trigger" unter Verwendung 
des ADC völliger Humbug, weil viel zu langsam.


XL
#3217699
Lesenswert?

MWS schrieb:
>> prüfen mal wie schon  Falk Brunner geschrieben hat, ob der pin wirklich
>> aus ausgang gesetzt ist.
>
> Wenn er das nicht wäre, dann würde kein Vss von 5V auf dem Oszibild zu
> sehen sein, dann wären das noch um die 0,3-0,4V.

wenn es ein Eingang ist, gibt es auch noch den Pullup mit dem man schon 
die Betriebsspannung erreicht (nach einiger Zeit)
(Firma: matzetronics) #3217724
Lesenswert?

Axel Schwenke schrieb:
> Naja. Auf jeden Fall ist ein solcher "Schmitt-Trigger" unter Verwendung
> des ADC völliger Humbug, weil viel zu langsam.

Ich dachte auch immer, das gerade für solche Fälle der Analog Comparator 
des Tiny13 gedacht ist. Eine wählbare Triggerschwelle könnte man dann 
immer noch mit PWM und einem RC Glied bauen.
Aber ich möchte sehen, mit was der TE den Ausgang belastet.
Gast #3217862
Lesenswert?

Walter S. schrieb:
> wenn es ein Eingang ist, gibt es auch noch den Pullup mit dem man schon
> die Betriebsspannung erreicht (nach einiger Zeit)

Das müsstest Du jetzt erklären...

Ist der Pin auf Eingang High und geht der Lastwiderstand gegen GND, so 
bildet er mit dem internen Pullup einen Spannungsteiler, ist der Pin 
Eingang Low, so zieht allein der Widerstand gegen VCC. Ein Hub von 5V 
laut Oszibild ist damit ausgeschlossen.

Das wird auch mit sehr langem Warten nix.

Aber das ist nur deshalb so ein dummes Rumgerate, weil der TE keine 
ausreichende Info liefert.
Gast #3217974
Lesenswert?

Du misst Mist.
Lös doch mal den Rechteck von dem 100 Hz Signal auch mal mit 250 µs/div 
auf, du wirst die gleichen verschliffenen Flanken sehen!

Welche Ausgangsimpedanz hast du? Welche Lastkapazität? Lass 
1:1-Tastkopf?
Gast #3218176
Lesenswert?

O.k. hier bitte mal das Programm in (hüstel) BASCOM:

$regfile = "Attiny13.dat"
$crystal = 1200000
$hwstack = 8
$swstack = 2
$framesize = 5

Dim Uist As Word

Config Adc = Single , Prescaler = Auto
Start Adc

Config Portb.1 = Output
Led Alias Portb.1

Do
    Uist = Getadc(2)

      If Uist < 300 Then
      Led = 0
      End If

      If Uist > 300 Then
      Led = 1
      End If

Loop

End

Dieser Schmitt-Trigger ist nur als Versuch gedacht, um ein Gefühl für 
die
Verarbeitungsgeschwindigkeit des ATTINY zu bekommen. Später soll ein 
Messwert überwacht werden. Oszi- Tastköpfe sind o.k. Funktionieren 
direkt am Funktionsgenerator einwandfrei.

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