|
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 06.04.2010, 20:36 Titel: TLC549 Analog-Digitalwandler |
|
|
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 , wenn nein
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 |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 07.04.2010, 15:31 Titel: |
|
|
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 |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 07.04.2010, 17:09 Titel: |
|
|
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 |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
|
Nach oben |
|
|
Andy19312
Anmeldungsdatum: 22.10.2005 Beiträge: 428
|
Verfasst am: 07.04.2010, 21:57 Titel: |
|
|
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 |
|
|
28398
Anmeldungsdatum: 25.04.2008 Beiträge: 1917
|
|
Nach oben |
|
|
|
|
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.
|
|