Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   1 LED an LPT zum leuchten bringen (https://www.delphipraxis.net/54347-1-led-lpt-zum-leuchten-bringen.html)

mschaefer 12. Okt 2005 17:18

Re: 1 LED an LPT zum leuchten bringen
 
Nein, kein Relais mit der Schaltung!

Das muß dann eine Optokoppler-Lösung sein. Der Hintergrund ist, dass Du bei Relais übelicherweise Spannungsspritzer beim Schlten hast und das ist weder für die Platinenspannung noch für den Transistorkreis dauerhaft lebenserhaltend.

Grüße // Martin

ManuMF 12. Okt 2005 17:31

Re: 1 LED an LPT zum leuchten bringen
 
Hallo,
ich habe bisher noch nicht mit Optokopplern gearbeitet. Wie müsste ich die einbauen - mit Widerstand, wie eine LED? Auf der anderen Seite schließe ich dann logischerweise die Relais über die BC108 an, denke ich. Als Koppler scheint der PC817 ganz gut.

Gruß und Danke für die Geduld,
ManuMF

turboPASCAL 12. Okt 2005 18:01

Re: 1 LED an LPT zum leuchten bringen
 
Code:
.                                                V+  (12V)
.                                                 |
.                                    +------------+
.                                    |            +------+
. Parallel                           |            |      |
. Port                               |    D1     ---     |
.                                    |   1N4001  / \    Relay coil
.          R1    1  ----------- 5    |          /---\    |
. D(x) ----1k------| Opto-     |-----+            |      |
.                  | Isolator |                  +------+
. GND -------------|           |-+                |
.                2  ----------- 4|                |
.                   CNY 17 or   |   R2        | /
.                   4N25         |   4.7K   B |/  C  T1
.                                +--\/\/\/\/---|      BC547A or 2N2222A
.                                              |\  E
.                                              | V
.                                                |
.                                                |
.                                               ___
.                                          external circuit ground
So etwas findet man u.a. hier: http://www.epanorama.net/circuits/parallel_output.html

mschaefer 13. Okt 2005 09:42

Re: 1 LED an LPT zum leuchten bringen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Moin zusammen

Ja, das sieht für Minirelais schon gut aus, vielleicht bekommt man das mit IC
noch etwas integrierter, aber solide ist das allemal. Habe mal etwas gesammelt:

HARDWARE
Einiges zur Leitungsbelegung des Parallelports findet sich im Anhang.
Etwas ausfürhlicher mit mehreren Schaltplänen ist das hier beschrieben
Relais am Parallelport

Richtig Konkret mit Schaltungsaufbau findet sich bei bei Frank Steinberg
Einfach-Relaiskarte selbstgebaut

Und wirklich begeistert hat mich die Seite http://www.lightcontrol.de.vu/ von Marco Schäck



SOFTWARE
Datenleitungen liegen an Pin 2-9. Ansteuern tut man die Led über den Befehl "OutPort($378,1);". Dabei ist $378 der Druckerport und bei dem zweiten Parameter gibt man die Nr. der LED an. Wenn 1 und 2 angesprochen werden sollen, dann muss dort 3 hin, denn 1+2 = 3 <= ist alles in Byte. Um Datenleitung 0 und 4 einzuschalten, musst du als Bytewert 2^0 + 2^4 senden, also 17.

Unter Windows 9.x geht das Ansteuern mit folgenden kleinen Beispielen.
Delphi-Quellcode:
procedure OutPort(PortAddr: word; Databyte: byte); assembler; stdcall;
  asm
  mov al,Databyte
  mov dx,PortAddr
  out dx,al
end;

In C mit assembler unter Angabe der Portadresse
Code:
void port_out( short int port, unsigned char value )
{
. __asm
. {
. . push dx
. . mov dx,port
. . mov al,value
. . out dx,al
. . pop dx
. }
}

Oder hier die knappe Version in C only:
Code:
#include <conio.h>

void main()
{
     _outp(0x378,1);
}
Leider ist bei mir der Parallelport meist schon vergeben aber USB ist noch eingies komplexer. Was ich bisher leider an den ganzen Ansaätzen vermisse ist eine Variante wo man auch größere Leitungslängen realisieren kann. Wenn das zu steuernde Gerät nicht direkt beim PC steht wäre es praktisch eine banale lange Zweidrahtleitung bis zur eigentlichen Relaissteuerung zu haben.

Viele Grüße // Martin

supermuckl 13. Okt 2005 09:50

Re: 1 LED an LPT zum leuchten bringen
 
ganz einfach
längere leitung einfach an den ausgang vom optokoppler - bezogen auf die ascii schaltung von turboPASCAL
dazwischenhängen. den leitungswiderstand dann einfach am R2 abziehen und dann haste wieder deine ausgangsschaltung die auch funzt.

turboPASCAL 13. Okt 2005 09:52

Re: 1 LED an LPT zum leuchten bringen
 
Zitat:

Zitat von mschaefer
SOFTWARE
Datenleitungen liegen an Pin 2-9. Ansteuern tut man die Led über den Befehl "OutPort($378,1);"...

Siehe hierzu auch: http://www.delphipraxis.net/internal...=435914#435914 :mrgreen:

runger 13. Okt 2005 11:25

Re: 1 LED an LPT zum leuchten bringen
 
Und Outport geht nicht bei Win2K, WinXP.....

Rainer

mschaefer 13. Okt 2005 13:02

Re: 1 LED an LPT zum leuchten bringen
 
Moin zusammen,

Ja Matti hat die Softwareseite schon im Nachbarthread gelöst und das auch unter XP. Erlaube mir mal den Link:
SourceCode zur Parallelportansteuerung von TurboPascal

Damit ist wohl die Aufgabenstellung dieses Threads wohl ausreichend erledigt, jedenfalls kann man mit den Softwarebeispielen arbeiten und von Hardware LED´s von 2mW bis 1000Watt wohl ansteuern...

PS:
Mein "Langleitungsproblem" ist eigentlich mal ein Projekt gewesen, wo ich per serieller Übertragung Daten zu einem/mehreren Mikrocontrollern seriell gesendet habe und diese sollten dann die Relais angesteuern. Leider waren die Kontroller damals nicht baudstabil, was das Projekt bisher auf Eis gelegt hat :cry:. Denis Dein Vorschlag ist gut solange man weiss wie lange die Leitung ist und was für einen Widerstand man dann in der Leitung hat, aber wie das Leben so spielt...


Grüße // Martin

supermuckl 13. Okt 2005 13:09

Re: 1 LED an LPT zum leuchten bringen
 
gut, du kannst ja auch statt eine spannungssnittstelle auch eine stromsnittstelle machen und einfach mit einem widerstand den strom messen (der ja immer gleich bleibt, egal wie lang die leitung ist) und die abfallende spannung am widerstand kannst dann an die basis vom transistor lassen und fertig is die sache :)

mschaefer 13. Okt 2005 13:24

Re: 1 LED an LPT zum leuchten bringen
 
Ja,

das wäre eine Möglichket! Wenn man die Stromschnittstelle noch pulst
könnte man damit sogar eine serielle Übertragung aufbauen und dann am
Ende je nach Codierung mehrere LED / Relais schalten.

Grüße // Martin


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:40 Uhr.
Seite 3 von 4     123 4      

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