-         

Ergebnis 1 bis 8 von 8

Thema: Probleme mit dem Port A / der Auswertung von +5V

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2007
    Beiträge
    20

    Probleme mit dem Port A / der Auswertung von +5V

    Anzeige

    Zuvor: Tschuldigung für die schlechte Fragestellung im Topic. Wußte nicht, wie ich es besser beschreibe.

    Problem: Ich will mit einem Relais/Optokoppler ein Programm auf der RN Control auslösen.

    Dazu wollte ich eigtl. Pin A.4 ---Relais---GND verbinden. So zeigt mir die Print Ausgabe vom mega32-test-programm korrekt, den Wechsel am Pina.4 zwischen High/Low an, je nachdem ich das Relais anspreche von extern her oder nicht.

    Als weiteren Testschritt (bin noch Anfänger ) hab ich die Soundausgabe benutzt und zum einfacheren Testen nen Taster der beide Pins (A.x und GND) verbindet.
    Taster gedrückt - Sound kommt. Nicht gedrückt - Ruhe. So wie ichs will.

    Nur im richtigen Programm, was ich eigentlich schreibe, geht so überhaupt nichts.
    Wenn ich die Abfrage mit

    If pind.2 = 1 and pina.4 = 0 then
    ...
    ...


    mache, geht gar nichts!

    Selbst wenn ich den Schrittmotor nur allein ansteuere mit pina.4 läuft nix los. Verstehe das nicht mehr. Hab schon fieberhaft gesucht im Forum und im Wissenbereich, aber ich finde keinerlei Info´s wie man ganz einfach eine anliegende Spannung (idealerweiße die 5V vom Board selbst) anspricht und auswertet.
    Ne Fotodiode hatte ich auch schon am Port A, die zeigt auch korrekt die analoge Spannungsänderung an.
    Aber ich müßte doch den Pin, wo das Relais dran hängt, digital auswerten, oder lieg ich da völlig falsch???

    Danke für die Hilfe & Achtung Anfänger!

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Ich bin etwas verwirrt. Was ist denn wie am Portd.2 angeschlossen? Sind beide Pins als Eingang definiert? Läuft der Schrittmotor wenn du ihn ohne die IF-Abfrage steuerst?

    Ich habe mir die Schaltpläne angeschaut (vom RN-Control14), es sind weder Porta.4 noch Portd.2 extern beschaltet. Wenn du die Pins mit dem Schalter/Relais gegen GND schaltest brauchst du noch einen Widerstand zu 5V um bei nicht gedrücktem Taster sicher ein High am Pin zu haben. Entweder der interne PullUp oder einen externen (ca. 4,7-10K) Widerstand?

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2007
    Beiträge
    20
    Hi.


    Dank der Forumsüberlastung gerade, bin ich im Wissensbereich auf etwas gestoßen, wo ich vorher gar nicht hingeschaut habe. Den AVR Einsteiger-steckbrett-Kurs

    Damit, also der einfachen Auswertung eines Tasters gings auch

    Dann die Übertragung ins eigene Programm und es geht auch, allerdings mit seltsamen Störung. (dazu mehr weiter unten)

    Also an d2 ist ein Näherungssensor verbaut. Der gibt ein high ab, wenn der Magnet in der Nähe. Funktioniert soweit auch super.


    Wenn ich nur mit den Näherungssensoren arbeite, läuft das Programm sehr zuverlässig ab, dafür, dass ich erst abktiv seit dem WE programmiere. Nun wollte ich den einen Näherungssensor durch das genannte Relais ersetzen, so wie es mal geplant ist.

    Die internen Pullup-Widerstände sind eingeschalten, also müßte es ja hinhauen mit meinem Anschlussschema, oder?
    Es gleicht zumindest dem in dem AVR Einsteigerkurs auf RN Wissen.

    Nun habe ich aber ein anderes, komisches Problem:

    Die ganzen Platinen sind in nem Eigenbau-Gehäuse (RN Control und Rn step297). Die Signalleitungen sind alle über ne D-Sub Buchse nach außen geführt. Die Leitungen für pina.4 sind einfache Litze mit 0,14qm von Conrad.
    Wenn ich die leitungen bewege, reagiert die Schaltung darauf. Die Lötverbindungen hab ich alle kontrolliert. Alles 1a. Ist der Port A so feinfühlig dass er schon den Kontakt mit meiner Haut zum Anlass nimmt, darauf zu reagieren? Ist irgendwie seltsam.
    Kann ich mit einem externem Widerstand darauf Einfluss nehmen?

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2007
    Beiträge
    20
    Zitat Zitat von radbruch
    Wenn du die Pins mit dem Schalter/Relais gegen GND schaltest brauchst du noch einen Widerstand zu 5V um bei nicht gedrücktem Taster sicher ein High am Pin zu haben. Entweder der interne PullUp oder einen externen (ca. 4,7-10K) Widerstand?
    Hi & Danke!

    Ich hab mir die Sache jetzt wieder angesehen und mehrere Fehler, die ich verursacht habe, gefunden.
    Zum einen war die Litze im PortA.4 nur lose drin (Klemmhalter) und zum anderen hab ich auch nichts über Pullup-Widerstände gefunden in der pdf zum rn control. Bin davon ausgegangen welche zu haben. Ich dachte, die sind intern im Mikrokontroller? Naja, wird Zeit dass ich mir ein Buch hole und besser zu kapieren

    Jetzt hab ich eine ordentliche Verbindung an Pind.7 für den Taster und mit einem eigenem Pullup-Widerstand versehen. Und so läufts prima!

    Danke für den Hinweis und ich kann schön weiter programmieren \/

    mfG

  5. #5
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Hallo

    Ich dachte, die sind intern im Mikrokontroller?
    Die sind drin, müssen aber aktiviert werden:

    Config Portd.7 = Input 'Pin auf Eingang schalten
    Set Portd.7 ' internen PullUp aktivieren

    Trotzdem prima dass es nun funktioniert.

    Gruß

    mic

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2007
    Beiträge
    20
    Zitat Zitat von radbruch
    Hallo
    Config Portd.7 = Input 'Pin auf Eingang schalten
    Set Portd.7 ' internen PullUp aktivieren
    Jetzt bin ich trotzdem neugierig?

    Kein Rechtschreibfehler oben?

    Den internen schalt ich ein, indem ich den Pin auf High setze, den ich auswerten möchte? Mehr nicht? Dann hätte es ja die ganze Zeit schon funktionieren können, wenn ich das gewußt hätte....

    Also bei meinem Programm dann eben so: ?

    Config Porta.4 = Input 'Pin auf Eingang schalten
    Set Porta.4 ' internen PullUp aktivieren

    Config Porta.5 = Input 'Pin auf Eingang schalten
    Set Porta.5 ' internen PullUp aktivieren

    ?

    Hab ja zwei Taster, die ich auswerten will. Hätte ich das da so schreiben müssen???

  7. #7
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.782
    Blog-Einträge
    8
    Ja, wenn der Pin als Eingang konfiguriert ist, schaltet man den PullUp so ein. Der "Schreibfehler" war wohl hier:

    Jetzt hab ich eine ordentliche Verbindung an Pind.7 für den Taster..

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    21.09.2007
    Beiträge
    20
    Mal abgesehen von dem losen Kabel geht es tatsächlich so

    Ich hab zum Test wieder eine Litze bei a.4 eingeklemmt, diesmal den richtigen internen Pullup-widerstand aktiviert und es ging auf Anhieb...

    Die Schreibweise hab ich von dir genommen. Also oben bei Config und Set den Porta.4 und im Programm mit Pina.4.

    Ebenfalls lag der Denkfehler darin, dass ich irgendwie dachte, dass der interne nur an Porta.7 anliegt. Aber das ist in den Testprogrammen ja nur deswegen immer Porta.7, da dort die originalen 5 Taster angeschlossen sind.

    Also wieder dazu gelernt, dank deiner Hilfe \/


    Danke nochmal, so hab ich gleich was über die Bedeutung der Pullup/down Widerstände gelernt

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •