Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi USB Programmieren (https://www.delphipraxis.net/177901-usb-programmieren.html)

Baum21 19. Dez 2013 13:01

AW: USB Programmieren
 
:(
hmm, trotzdem wenn ich anstelle der LED einen Transistor einbauen würde müsste es doch gehen?
Und Wozu ist die Verbindung bei DTR und D4?
(Nur noch die zwei fragen :) )

himitsu 19. Dez 2013 13:21

AW: USB Programmieren
 
D4 ist der Port 4, den du vom Programm ansteuerst und über den dann die LED gegen Masse gezogen wird.

Port im Programm = 0 >>> Anschluß AUS >>> LED an

Also könnte man die LED auch "direkt" von da auf eine der beiden 5V legen und es würde eben so funktionieren.
Die grauen Stiche dürften vermutlich eine Verbindung auf der Leiterplatte darstellen und bei dem roten Bogen mußt du eine Verbindung herstellen.

joehd 5. Jan 2014 18:15

AW: USB Programmieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also in einem anderen Thread habe ich eine Frage zur Seriellen Communikation gestellt darin ist auch eine Unit die sehr einfach ist.
Die kannst du nehmen und die Register schalten ..

Delphi-Quellcode:
//===========================================
procedure TForm1.Button6Click( Sender: TObject );
begin
  ComPort1.SetRTS( true );
end;

//===========================================
procedure TForm1.Button7Click( Sender: TObject );
begin
  ComPort1.SetRTS( false );
end;

//===========================================
procedure TForm1.Button8Click( Sender: TObject );
begin
  ComPort1.SetDTR( true );
end;

//============================================
procedure TForm1.Button9Click( Sender: TObject );
begin
  ComPort1.SetDTR( false );
end;

end.
Dann hast du schon mal 2 Ausgänge

Als Transistor würde ich einen NPN nutzen z.B. BC 546
die Grundschaltung ist einfach .

Emitter nach Minus GND
Basis über einen Widerstand ( 10 KOhm ) an den Ausgang positives Signal schaltet den Transistor durch
Deine z.B. LED Schaltest du über plus und einen Vorwiederstand ca 1 KOhm an +5 Volt
Siehe auch Bild .
R2 ist Quasi die LED und der Vorwiderstand der LED. Auf die Richtige Polung der LED achten ! sonst geht sie nicht ..
R_LED berechnet sich aus R = U/I = (UB -ULED)/ ILED = (5Volt-2Volt)/0,005 A = 600 Ohm ich nehme immer 1 KOHM das klappt dann schon ...

Über den BS546 kannst du ca 200 mA schalten und PTOT ( maximale Verlustleistung am Transistor dann ist er TOT ;-)) sind 500 mWatt ...
wenn du ein Relais damit betreiben möchtest dann muss da noch eine Schutzdiode über die Spule die dann in Sperrrichtung betrieben wird. Also Kathode an + und Anode an -.
Die Schaltung kann man auch an einem µC ( Pic oder Microcontroller ) nutzen. Die Maximale Belastung eines USB Anschluss darf 500 mA nicht überschreiten. (USB 2.0 ) Sonst ist er futsch. Ich würde nicht mehr als 400 machen.
Grüße Joachim

ggf noch benötigte Links mit Delphi Beispielen wie schon jemand geschrieben der FT232R kann mehr ...

http://www.ftdichip.com/Drivers/VCP.htm

Die benötigte Unit für die Serielle Kommunikation ist die TCOMPORT die habe ich schon mal hier hochgeladen. Diese ist jedoch nicht von mir !

OlafSt 5. Jan 2014 19:19

AW: USB Programmieren
 
Ist ja lustig... Das Bild sieht dem Bild frappierend ähnlich, das ich vor Jahren mal für ein Transistor-Tutorial gebastelt habe ;)

ulilüding 5. Jan 2014 21:21

AW: USB Programmieren
 
Um die ganze Sache mal TECHNISCH anzugehen: USB-Stecker einstecken kann ja wohl jeder. Was dranhängt? Sieht hier nach einem Wandler auf eine RS-232-Schnittstelle aus, wie RTS vermuten läßt. Eine software wird also die pins dieser Schnittstelle setzen oder abfragen. Dabei ist es dann schon egal, ob diese direkt in der PC-hardware vorhanden ist oder über einen USB-Wandler-Baustein "vorgegaukelt" wird. Das macht hier offensichtlich ein PIC (Mikrocontroller von microchip). Der bezieht seinen Strom über die USB-Schnittstelle, und für ein paar LEDs reicht dieser Strom allemal auch noch. Die Batterie ist also überflüssig. Die RS-232-pins können die LEDs möglicherweise dennoch nicht zum zufriedenstellenden Leuchten bringen. Das liegt daran, daß dort mit wesentlich höheren Spannungen gearbeitet wird als den 5 Volt vom USB. Die Energie ist demzufolge etwas schlapp, selbst für die 20mA für eine LED. Die Umsetzung per Transistor ist also keine schlechte Idee. Da die RS-232-Signale im Bereich -15..-3 (LO) und +3..+15 (HI) Volt liegen, reicht der schon erwähnte npn-Transistor (z.B. BC237) und ein Basis-Vorwiderstand im Bereich 10..47KOhm aus. Die LED sollte dann zwischen +5V (vom USB) und dem Kollektor liegen - Vorwiderstand nicht vergessen! - 150 Ohm für 20mA. Der Emitter liegt auf GND. So kann man durch setzen der RS-232-flags die LEDs einschalten. Mit der Batterie, z.B. 9-Volt-Block, geht's auch. Minus an GND, Plus an die LED (statt den +5V vom USB), Vorwiderstand anpassen (350 Ohm für 20mA bei 9V). Die Signale, die die Zustände der RS-232-Schnittstelle bestimmen, kommen aber mit Sicherheit aus dem PIC. Und da kann man die LEDs direkt dranzwacken, denn jeder PIC kann locker 20mA sink current liefern. Sol heißen, LED auf +5V, üer Vorwiderstand auf den entsprechenden PIC-port. Aber: die LED leuchtet dann bei LO-pegel. Das mit dem Transistor geht hier genauso. Für hellere LEDs, die mehr Strom brauchen, den Vorwiderstand anpassen. Außerdem muß der Transistor diesen Strom schalten können, und die Stromversorgung muß den Strom liefern können (USB: bei 500mA ist Schluß, und der PIC braucht auch noch Strom. Batterie: 9-Volt-Block ade, die ziehen NIX vom Teller). Da kann man dann über ein externes Netzteil nachdenken, weiterhin über eine PWM-Helligkeitsregelung für die LED (verringer die Verluste) usw., also nach oben offen. Viel Glück. LGU

joehd 6. Jan 2014 02:05

AW: USB Programmieren
 
Zitat:

Zitat von OlafSt (Beitrag 1242298)
Ist ja lustig... Das Bild sieht dem Bild frappierend ähnlich, das ich vor Jahren mal für ein Transistor-Tutorial gebastelt habe ;)

Ist aus dem Internet gefunden ist nicht von mir auf jeden Fall :-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz