www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR @ 5 V, Pin high @ 1 V


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich treibe per AVR über 330 Ohm ein Sharp SSR gegen Masse. Der AVR 
wird mit 5 V betrieben.

Der Port wird mit
PORTx=0;
DDRx= (1<<SSRPIN);

initialisiert.

Komischerweise messe ich am Pin nur 1 V. Wat kann dat sein?

Autor: R. F. (inet_surfer88)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Welcher Controller genau?
Welcher Pin?

Ist es der Pin von der JTAG-Schnittstelle? Falls ja, muss diese 
deaktiviert werden.

Autor: Fump (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1 V. Wat kann dat sein?

1V. Sind ähh... 1V. Was sonst?

Was erwartest Du denn da und wie kommst Du darauf das zu erwarten?

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vcc 4.9 V

Tiny25, PB4 = 1.00 V

S202S12: 1.2 V @ 20 mA

Über dem SSR:  0.97 V

Über den 330 Ohm : 36 mV -> 11,8 mA

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:

> Über den 330 Ohm : 36 mV -> 11,8 mA

Der arme Herr Ohm... 36mV bei 11,8mA gibt's bei 3,3 Ohm.

Was ab und zu vorkommt: Das jemand versehentlich DDR nicht setzt, oder 
das falsche Bit, oder irgendwo wieder zurücksetzt. Dann zieht nur noch 
der hochohmige Pullup hoch und es kommt genau sowas bei raus.

Autor: R. F. (inet_surfer88)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mal schnell ins Datenblatt vom SSR schaue will das mind. 6V.
Da wird die Versorgung von 4,9V wohl nicht reichen, damit das Teil 
zuverlässig funktioniert.

Dann hat PB4 ne Menge an Sonderfunktionen, z.B. Anschluss für Quarz und 
noch viel viel mehr. Mal die Fuses kontrollieren, ob der Pin wirklich 
als Ausgang konfiguriert ist.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh ja, der arme Herr Ohm :-)

Mhh, ich forsche weiter. Danke jedenfalls für die Hilfsbereitschaft.

Autor: Peter R. (pnu)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das SSR ein Optokoppler sein soll ( ich bin in Abkürzungen nicht so 
perfekt), schalte doch probeweise anstelle des Optokopplers eine LED an 
den Anschluss. Die leuchtet Dir dann schon heim, in bezug auf richtige 
Polung der LED oder auf richtigen Wert des Widerstands (330Ohm) oder auf 
Softwarefehler.

Autor: Werner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn das SSR ein Optokoppler sein soll..

Solid State Relays, nehme ich mal an.

Außerdem tippe ich auch stark auf eine falsche DDRx def, will heißen:
Der Pin ist wahrscheinlich ein Eingang mit aktiviertem Pullup.

Wie ist denn Dein "SSRPIN" definiert?

Und: wenn Deine Init so:
>>DDRx= (1<<SSRPIN);

aussieht, kann es sein, dass du zu einem späteren Zeitpunkt nochmal so 
etwas in der art machst? z.B:

DDRx= (1<<EIN_WEITERER_PIN);

das würde einiges erklären. Vielleicht mal Suchen und Ersetzen von

DDRx = (1<<...);
durch
DDRx |= (1<<...);

Werner

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh je, es waren tatsächlich die Pullups.
Es hat sich ein DDRB ^= ~(1<<BIT); eingeschlichen, das ^ muss natürlich 
ein & sein.. Danke, es läuft.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.