-         

Ergebnis 1 bis 7 von 7

Thema: TLC 549 Programmierung (AD-Wandler)

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.03.2007
    Alter
    30
    Beiträge
    104

    TLC 549 Programmierung (AD-Wandler)

    Anzeige

    Hallo alle zusammen,
    ich habe da so ein Problem, das ich seit Tagen nicht lösen kann. Ich habe diese Schatung gebaut
    http://www.franksteinberg.de/e-tlc549.htm
    und dazu dieses Programm geschrieben.
    Code:
    Module Module1
        Public Declare Function Inp Lib "inpout32.dll" Alias "Inp32" (ByVal PortAddress As Short) As Short
        Public Declare Sub Out Lib "inpout32.dll" Alias "Out32" (ByVal PortAddress As Short, ByVal Value As Short)
        Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
        Dim BA As Double
        Sub Main()
            Dim WDat As Integer
            Dim i As Integer
            Dim Volt As Double
            Do
                Out(890, 2)                     'CS an
                Sleep(10)
                Out(890, 0)                     'CS aus
                Sleep(10)
                WDat = 0
                Volt = 0
                For i = 7 To 0 Step -1
                    If (Inp(889) And 8) Then
                        WDat = WDat + 2 ^ i
                    End If
                    Out(890, 4)                 'Clock an
                    Sleep(10)
                    Out(890, 0)                 'Clock aus
                Next
                Sleep(30)
                Volt = 5.26 / 256 * WDat
                MsgBox(Volt)
                WDat = 0
                Volt = 0
            Loop
        End Sub
    
    End Module
    Ich bin seit fast 4 Tagen da dran, aber ich bekomme das nicht hin, eine Spannung zu messen. Am Computer wird immer ein Wert von 5,3 Volt angezeit. Das ist nähmlich die Eingangsspannung. An der Platine kann es ja nihct liegen, das habe ich oft überpfrüft und es sind ja nur 2-3 Teile. Die Versorgungsspannung kommt extern von einem Computernetzteil. Meiner Meinung könnte es an dem Programm liegen, aber so genau habe ich das im Interenet gesehen. Zusätzlich habe ich ein Buch, wo die Programmierung ähnlich ist. (aber auf der seriellen Schnittstelle)
    Habt ihr vielleicht keinen Fehler entdeckt ?

    Gruss
    Yusuf

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.03.2007
    Alter
    30
    Beiträge
    104
    Hat noch niemand mit diesem IC gearbeitet?

  3. #3
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Bist du dir sicher das die Schaltung am Port 890 hängt?

    Schau bitte mal in der Hardwarekonfiguration deines Rechners nach welche Portnummer dein LPT hat, wo die Schaltung dran hängt

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    28.05.2007
    Ort
    Mannheim
    Alter
    30
    Beiträge
    270
    Ich sehe auch gerade noch etwas:
    du schreibst "Out(890, 0)" und später wiederum "(Inp(889) And "
    Also du müsstest dich schon einigen an welcher Portnummer deine Schaltung angeschlossen ist: 890 oder 889

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.03.2007
    Alter
    30
    Beiträge
    104
    Hi,
    das hängt am Port 888. Das Out ist ja an Pin 14 und 16. Diese Pins sind Control-Ports. Daher muss man bei diesen 2 dazu zählen. Und bei Pin 15 muss ich 1 zuzählen, weil das ein Statusport ist.

    //Register LPT1 Dezimal
    // Register (Basis-Adresse + 0) 0x378 888
    // Status Register (Basis-Adresse + 1) 0x379 889
    // Control Register (Basis-Adresse + 2) 0x37A 890

    Gruss Yusuf

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    24.03.2007
    Alter
    30
    Beiträge
    104
    Ich nehme die Versorgungsspannung jetzt von dem Parallelen Port. Dazu habe ich einen Kondensator daschwichen geschaltet. Um eine Spannung messen zu können habe ich eine 1,5V Batterie benutzt.
    Nun bekomme ich auch Messwerte, nur bei jeder Messung bekomme ich komplatt anderer Werte. Auch ohne Batterie bekomme ich wilde Messwerte zwischen 0- 3,6 V. 3,6 V ist die Versorgungsspannung.
    Ich habe mit so einem Programm auch gesehen, dass dieser IC Daten an den PIN 15 am Parallelport gibt.
    Entweder lese ich die Daten falsch oder es liegt ein anderer Fehler vor. Wisst ihr vielleicht, wo der Fehler sein kann ?

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    06.11.2006
    Beiträge
    1.078
    Hallo
    Da die Versorgung über eine Datenleitung erfolgt, mußt Du dafür sorgen, daß diese Datenleitung stabil auf high bleibt.
    Aus einem Ausgang 40-60mA ziehen zu können halte ich für ein Gerücht.
    20% davon sind eher realistisch, dieses ist aber wieder stark vom Mainboard abhängig.
    Mit freundlichen Grüßen
    Benno
    Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
    Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde

Berechtigungen

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