Forum: Mikrocontroller und Digitale Elektronik ATMega 8535 und Analoge Signale die nicht ganz konform sind


von Elsurion (Gast)


Lesenswert?

Hallo zusammen.

Ich habe ein Problem mit einem Input. Und zwar bekomme ich 3 Signale von 
3 verschiedenen IR-Phototransistororen, welcher durch das Umgebungslicht 
nicht ganz schliesst. Ich habe immer rund 1.6V als Geschlossen und 4,5V 
als Leitend.

Diese Spannung teile ich mittels eines Spannungsteilers auf ~2.1V und 
~0,4V, jedoch meint der Controller dass die 2.1V schon als Low 
anzuschauen sind.

Messtechnisch konnte ich keine Schwankung der Spannung feststellen.

Dem Port habe ich mittels DDRA  = 0x00; inititalisiert und mittels
PORTA = 0x00; die Pull-Up ausgeschaltet, da ich gegen Low auswerten 
will.

Auswerten tu ich den Status damit: if (! (PINA & (1 << PA5))) {}
Nur werden mir diese Pins als LOW erkannt, obwohl da noch 2,1V anliegen.

Gibt es einen anderen Weg als hier einen Transitortreiber vorzuschalten?

Gruss

von uwegw (Gast)


Lesenswert?

Er hält sich nur an sein Datenblatt.
High ist definiert als größer 0,6 mal VCC, bei VCC=5V also 3V.
Low ist definiert als kleiner 0,2 mal VCC, bei VCC=5V also 1V.
Was dazwischen ist, ist nicht definiert! Es kann high oder low 
rauskommen.

Die sauberste Lösung wäre es, nen externen Schmittrigger vorzuschalten.
Und wenn da noch ADC-Kanäle frei sind, könnte man die Spannung auch 
analog einlesen und dann anhand eines Schwellenwertes in high/low 
einteilen

von Elsurion (Gast)


Lesenswert?

Also so wie ich das Tutorial verstanden habe kann ich maximal 1 Kanal 
auswerten und nicht 3 miteinander...

Oder habe ich das falsch verstanden?

von ein Tscheche (Gast)


Lesenswert?

Die Frage ist, wie schnell man die Werte vom ADC braucht...

von Falk B. (falk)


Lesenswert?

@ Elsurion (Gast)

>Ich habe ein Problem mit einem Input. Und zwar bekomme ich 3 Signale von
>3 verschiedenen IR-Phototransistororen, welcher durch das Umgebungslicht
>nicht ganz schliesst. Ich habe immer rund 1.6V als Geschlossen und 4,5V
>als Leitend.

Dann brauchst du einen grösseren Arbeitswiderstand, siehe [[Lichtsensor 
/ Helligkeitssensor]].

>Diese Spannung teile ich mittels eines Spannungsteilers auf ~2.1V und
>~0,4V,

Ist Käse.

>Nur werden mir diese Pins als LOW erkannt, obwohl da noch 2,1V anliegen.

Ist doch OK. Der AVR hat schon Schmitt-Trigger Eingänge.

MfG
Falk

von Elsurion (Gast)


Lesenswert?

Habe es jetzt mittels Doppelinvertierung gelöst, damit bekommt der MC 
genau die Werte die er will, 0V und 5V.

von crazy horse (Gast)


Lesenswert?

Doppelinvertierung ist hübsch, aber in MC-Zeiten völlig überflüssig :-), 
hat man früher manchmal gemacht, um alles in NAND-Logik erledigen zu 
können.

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.