  | 
					
						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.
  | 
   
 
     |