Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

TLC549 Analog-Digitalwandler

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 06.04.2010, 20:36    Titel: TLC549 Analog-Digitalwandler Antworten mit Zitat

Ich hab mir mal ein paar Gedanken zum TLC 549 gemacht.
Siehe Schaltplan:http://andybos.an.funpic.de/Mein_Schaltung.PNG
Siehe Erklärung des Schaltplan:http://andybos.an.funpic.de/TLC%20549.txt

stimmt das insoweit?

wenn ja, hier der Programmiercode:
Code:

screenres 300,300,24

#Include  Once  "windows.bi"

Dim hCom        as handle
Dim PortNr      as string  = "COM1"
Dim modemStat   as Dword
dim daten       as string
dim i           as single

hCom = CreateFile(PortNr, GENERIC_READ Or GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL)

    If hCom = INVALID_HANDLE_VALUE Then
        Print "Fehler beim Oeffnen von "; PortNr
        sleep
    End
    Else
        locate 1,1
        Print PortNr; " geoeffnet"
    Endif

'Stromversorgung und Referenzspannung schalten
EscapeCommFunction(hCom, SETRTS) 'RTS +12V

DO

'I/o Clock schicken = high
'Nun werden wieder Spannungen analog digital gewandelt
EscapeCommFunction(hCom, SETDTR) 'DTR +12V
sleep 1
'I/o schicken = low
'so dass der analog Wert dann im TLC 549 liegt
EscapeCommFunction(hCom, CLRDTR) 'DTR -12V
'alte Daten löschen
daten = ""

'8 Bit einlesen
for i = 7 to 0 step -1

'Clocksignal schicken high
EscapeCommFunction(hCom, SETBREAK) 'TxD +12V (Break)
'Clocksignal schicken low
EscapeCommFunction(hCom, CLRBREAK) 'TxD -12V
'Jetzt sollte der entsprechende Bit beim Datenausgang des TLC sein.

'Den lesen wir hier auch gleich mal ein
GetCommModemStatus(hCom, @modemStat)
    'Wenn eine 1, dann dies
    if modemStat And  MS_CTS_ON = 1 then
        daten =  "1"+daten
    else
    'Wenn = 0, dann das
        daten = "0"+daten
    end if

next                           'naechstes Bit holen

locate 2,1
PRINT "Daten:"; daten

LOOP WHILE INKEY$ = ""          'Ende mit Tastendruck
'Com Schnittstelle schliessen
CloseHandle(hCom)



Stimmt das auch so?

Wenn ja grinsen, wenn nein mit dem Kopf durch die Mauer wollen
Edit: Hab den Programmiercode eben nochmal abgeändert

Hoffe, dass mir hier jemand unter die Arme greifen könnte.


Zuletzt bearbeitet von Andy19312 am 07.04.2010, 17:46, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 07.04.2010, 15:31    Titel: Antworten mit Zitat

Hab noch ein paar Rechnungen erstellt.

Wenn ich nicht mehr als 0,02 A haben möchte, für VCC und REF, dann muss ich aber erstmal wissen, ob die serielle Schnitstelle überhaupt 12 Volt u. 20 mA liefert.


R = U / I

VCC : R = 5 Volt/0,02 A = 250 Ohm
Rges : R = 12 Volt/0,02 A = 600 Ohm

Vorwiderstand = Rges - VCC = 250 Ohm

P = U * I
P = 7 Volt * 0,02 A = 0,14 W

Antwort: Um den TLC 549 mit Strom zu versorgen, benötige ich ein 250 Ohm Widerstand.
Dieser Widerstand ist ein 1/4 Watt Widerstand.
Zudem ist es der Widerstand Nr.2

Ref : R = 3.4 Volt/0,02 A = 170 Ohm
Rges : R = 5 Volt/0,02 A = 250 Ohm

Vorwiderstand = Rges - Ref = 80 Ohm

P = U * I
P = 1.6 Volt * 0,02 A = 0,032 W
Antwort: Um eine Ref Spannung anzulegen, benötige ich einen 80 Ohm Widerstand.
Dieser Widerstand ist ein 1/4 Watt Widerstand.
Zudem ist es der Widerstand Nr.1
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 07.04.2010, 17:09    Titel: Antworten mit Zitat

Wiegesagt ohne Informationen zur seriellen Schnittstelle "wieviel Volt u. A" kann ich keine Berechnung für den AD Wandler anstellen.

Zudem muss ich wissen, aber wieviel Volt die serielle Schnittstelle eine Spannung einlesen kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 07.04.2010, 20:04    Titel: Antworten mit Zitat

http://www.franksteinberg.de/progss.htm#serielleSS
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Andy19312



Anmeldungsdatum: 22.10.2005
Beiträge: 428

BeitragVerfasst am: 07.04.2010, 21:57    Titel: Antworten mit Zitat

Thanks, also Pegel liegen bei -12 V u. + 12 V.
Desweiteren liefert die Schnittstelle maximal 20 mA.

Ok.

Wie sieht es mit dem Schaltplan u. dem Programmiercode aus?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
28398



Anmeldungsdatum: 25.04.2008
Beiträge: 1917

BeitragVerfasst am: 08.04.2010, 15:36    Titel: Antworten mit Zitat

Auf der gleichen Seite einfach mal hochscrollen. peinlich

http://www.franksteinberg.de/progss.htm#BitsundBytes

Hier gibts auch noch Infos:
http://www.skilltronics.de/versuch/tutorials/tutorials.html
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Profi-Forum Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz