You are on page 1of 23

Tomado de:

http://www.epanorama.net/circuits/parallel_output_es.html
Por Fernando Campos

Control Web usando


sistemas Windows

PHP

AJAX

en

A causa de varias peticiones he portado a


Windows mi sistema Web de control de puertos
usando PHP y AJAX. La versin Windows se
basa en los siguiente componentes:
Servidor Web capaz de correr PHP en un
sistema
Windows
(Yo
he
usado PortableWebAp versin 3.2)
Versin Windows de mi software de control
de puertos (portcontrol.exe)
El
driver inpout32.dll requerido
por
portcontrol.exe
para
poder
controlar
hardware en sistemas Windows NT/2000/XP
Versin ligeramente modificada de mis
scripts PHP Control Web usando PHP y
AJAX. Las modificaciones requeridas son
mayormente relacionadas con el diferente
nombre de ejecutable (portcontrol vs.
portcontrol.exe) y ruta al ejecutable (en la
versin Windows el ejecutable se encuentra
en el mismo directorio que el cdigo PHP)

To use the package you need to do the


following:
Primero tiene que descargar la versin 3.2
de PortableWebAp de http://www.epanorama.ne
t/counter.php?url=http://portablewebap.com/.
Se trata de un paquete software gratuito,
aunque requiere que se registre para poder
descargarlo. PortableWebAp es una plataforma
portable para aplicaciones Web. Con ella se
pueden correr aplicaciones Web desde un
CDROM, DVD, lpiz USB y desde cualquier
directorio de cualquier disco duro. No requiere
instalacin. Escog este paquete por la
simplicidad de la instalacin: simplemente
descomprima el archivo .zip en el directorio
desde el que quiere ejecutarlo. No requiere de
instalacin ni configuracin. El tamao es de
unos 5Mb. El servidor Web para Windows ms
fcil de configurar que jams he visto! Puede
instalarlo, por ejemplo, en el directorio
C:\PortableWebAp3.2
A continuacin, necesita descargar el inpout32
driver de http://www.epanorama.net/counter.ph
p?url=http://www.logix4u.net/inpout32.htm.
Descargue el archivo .zip que contiene el driver.
Descomprmalo a un directorio vlido. Copie
inpout32.dll a un directorio del sistema donde el
sistema pueda encontrarlo. En mi sistema

Windows
2000
este
directorio
es
C:\WINNT\system32 directory (este directorio
puede ser diferente si usa una versin diferente
de Windows).
El tercer componente que necesita es mi
paquete con mi script PHP y el prontcontrol.exe.
Descargue
el
paquete WinPortControlAjax.zipAQU.nicame
nte descargue el archivo .zip. Cree un directorio
llamado portcontrol dentro del directorio
C:\PortableWebAp3.2\Program\www\localhost.
Ahora descomprima el paquete en este
directorio
C:\PortableWebAp3.2\Program\www\localhost\p
ortcontrol
Ahora ya tiene todas las partes necesarias para
establecer el sistema. La parte siguiente es el
testeo:
Inicie PortableWebAp ejecutando el archivo
portablewebap.exe
en
el
directorio
C:\PortableWebAp3.2. Esto iniciar el servidor
Web y tambin su navegador. Si su ordenador
tiene un cortafuegos, ste puede preguntarle si
quiere que este programa pueda ejecutarse
como servicio/servidor en
su
ordenador
(permita esto). El navegador al iniciarse se
dirige
a
la
URL

http://www.epanorama.net/counter.php?
url=http://localhost:800/ . Escriba la direccin
http://www.epanorama.net/counter.php?
url=http://localhost:800/portcontrol/control.php
en su navegador para acceder a la aplicacin
de control de puertos. Ahora debera tener en
la pantalla una aplicacin parecida a la que
hemos visto antes en Linux.

Esto tambin funciona en Windows. Hay una


desventaja en la forma que se implementa este
sistema Windows. Puede ser que vea un flash
intermitente en la pantalla del ordenador que
corre el servidor. Esto es causado porque
portcontrol.exe se inicia cada pocos segundos
(iniciado por control.php cuando el navegador
AJAX le pide una actualizacin del estado).
Cada vez que se inicia portcontrol.exe, su
consola Windows aparece (ve la consola
Windows porque portcontrol.exe es una
aplicacin de consola Windows) y se cierra una
fraccin de segundo ms tarde.
Ideas de modificaciones para la interfaz
Web
Se me ha preguntado muchas veces cmo
preguntar otras clavijas en el puerto paralelo
que no sean las clavijas de datos. Aqu hay
algunas instrucciones que explican cmo
modificar el cdigo fuente de la interfaz Web
para hacer precisamente esto.
El programa portcontrol que se encarga del
control de puertos en nuestra interfaz ya
suporta el control de muchas otras cosas aparte
de las clavijas de datos del puerto paralelo. El
ejemplo de cdigo en PHP control.php no
suporta estas opciones. Si quiere usar estas

opciones, tendr que modificar el cdigo


fuente de control.php y cambiar la definicin
del puerto en ste. Si quiere controlar tanto
clavijas
de
datos
como
otras
clavijas,
seguramente sea una buena idea hacer una
copia de control.php con otro nombre y hacer
las modificaciones en l.
Para hacer modificaciones abra el cdigo php
de control de puertos y modifique las lneas
siguientes:
En sistemas Windows:
return " Time: " . date("M dS, Y, H:i:s
")
.
"Estado:
"
.
shell_exec("portcontrol.exe
LPT1DATA
read print bin");
shell_exec("portcontrol.exe
LPT1DATA
read setbit " . $x . " write");
shell_exec("portcontrol.exe
LPT1DATA
read resetbit " . $x . " write");
En sistemas Linux:
return " Time: " . date("M dS, Y, H:i:s
")
.
"Estado:
"
.
shell_exec("/usr/local/sbin/portcontrol
LPT1DATA read print bin");
shell_exec("/usr/local/sbin/portcontrol
LPT1DATA read setbit " . $x . " write");

shell_exec("/usr/local/sbin/portcontrol
LPT1DATA read resetbit " . $x . "
write");
Cambiando
LPT1DATA
por
uno
de
los
identificadores de puertos suportados, el control
se llevar a cabo en se puerto:
* Identificadores de puerto suportados
* LPT1DATA
* LPT1STATUS
* LPT1HANDSHAKE
* JOYSTICK
* NONE
Para controlar clavijas de puerto paralelo los
puertos a usar son LPT1STATUS y
LPT1HANDSHAKE.
Controlando algunos sistemas electrnicos
reales
La idea de la interfaz mostrada ms arriba se
puede
expander
para
controlar
algunos
dispositivos electrnicos externos simplemente
aadiendo un circuito bfer al puerto paralelo.
La programacin se llevara a cabo de la
misma forma que hemos visto en mis ejemplos.
Construyendo sus
control de rel

propios

circuitos

de

El circuito siguiente es la interfaz ms simple


que puede usar para controlar rel desde el
puerto paralelo:
Vcc
|
+------+
|
__|
__
Espiral
/^\

Dodo 1N4002
de

rel /---\
|
|
+------+
|
| /
4.7K
B |/ C
Clavija
de
control
>-\/\/\/--|
Transistor NPN: BC547A o 2N2222A
de datos del puerto paralelo |\ E
| V
|
Clavija tierra >--------------+
del puerto paralelo
|
Suelo
El circuito puede ocuparse de rels que tomen
corrientes de hasta 100mA y operen a 24V o
menos. El circuito necesita una fuente de
energa externa que tenga la salida de voltaje
adecuada para el control del rel (5..24V en

funcin del rel). El transistor se encarga del


cambio de corriente y el dodo previene que
picos de la espiral de rel daen a su
ordenador (si no pone el dodo, el transistor y
su ordenador se pueden daar).
Como los espirales (solenoides y espirales de
rel) tienen una cantidad de inductancia muy
grande, cuando se liberan (cuando se corta la
corriente) generan un poco de voltaje muy
grande. La mayora de los diseos tienen un
dodo o un circuito de palanca para impedir
que esta subida de voltaje golpee al resto del
circuito. Si el dodo es malo, el voltaje puede,
con el tiempo, destruir su transistor de
entierro
o
hasta
su
tarjeta
de
entrada/salida. El modo de fallo del transistor
puede ser un cortocircuito y consecuentemente,
tendra el solenoide acortado a tierra
indefinidamente.
El circuito tambin se puede usar para
controlar otras cargas pequeas como LEDs
potentes, lmparas y pequeos motores DC.
Recuerde que los dispositivos que planee
controlar directamente con el transistor deben
tomar menos de 100mA de corriente.
ADVERTENCIA:
Compruebe
y
vuelva
a
comprobar el circuito antes de conectarlo a su

PC.
Usar
componentes
estropeados
o
inadecuados puede provocar que su puerto
paralelo se estropee. Errores en la construccin
del circuito pueden resultar en la prdida del
puerto paralelo y obligarle a comprar una
tarjeta multi-IO nueva. El dodo 1N4002 en
paralelo con el rel es un componente esencial
de proteccin y nunca debera ser dejado
fuera del circuito o su puerto paralelo se puede
ver daado a causa del gran pico de voltaje
que provoca la alta inductancia del rel (el
dodo se encarga de evitar este pico).

Nuevo diseo ms seguro


El ejemplo de circuito detallado ms arriba es
correcto y funciona bien. Si por alguna razn B
y C tienen que ser juntados y est pidiendo
ms de +5V por el lado del rel, el circuito
puede enviar un voltaje as de alto y con ello
daar el puerto paralelo. El circuito siguiente
usa dos dodos 1N4148 para proteger el
puerto paralelo de seales ms altas de +5V y
tambin contra la polarizacin equivocada de
las seales (la electricidad en el circuito est
por error en la polaridad incorrecta).
Vcc
|

+------+
|
__|
__
Espiral
/^\

Dodo 1N4002
de

rel

/---\

|
|
+------+
|
Dodo
| /
1N4148 4.7K
B |/ C
Clavija
de
>-|>|-+--\/\/\/--|
Transistor NPN: BC547A o 2N2222A
datos de puerto
|
|\ E
paralelo
+-|<|-+
| V
1N4148
|
|
Tierra de
>-----------+------+
puerto paralelo
|
Tierra
Idea para aadir an ms seguridad:
Sustituya el dodo 1N4148 conectado a tierra
con un dodo zener de 5.1V. Este dodo
proteger de picos de sobrevoltaje y de voltaje
negativo al mismo tiempo.
Ejemplo de circuito mal diseado
No s POR QU veo principiantes que an no
PIENSAN muy bien la electrnica, pero an

as insisten en poner el rel DESPUS del


transistor, como si eso fuera algo importante.
Pues NO lo es, de hecho, es una MALA
PRCTICA si quiere que el puerto paralelo
funcione bien! Este tipo de circuitos mal
diseados se publican a menudo en los grupos
de noticias de electrnica de usenet. EL circuito
siguiente es un ejemplo de este tipo de circuitos
mal diseados (no pruebe a construirlo):
Vcc
|
| /
4.7K
B |/ C
Puerto
paralelo---\/\/\/\/---|
Transistor NPN: BC547A o 2N2222A
|\ E
| V
|
+------+
|
__|
__
Espiral
/^\
Diode 1N4002
de
rel /---\
|
|
+------+
|
Tierra

NOTA: ste es un mal diseo. No pruebe


a construirlo.
El problema de este circuito es que el voltaje
que va por el rel siempre se encuentra
limitado a 4.5V, aunque use una fuente Vcc
mayor. El circuito acta como un seguidor de
emisor, lo que causa que el voltaje en el emisor
siempre se encuentre en el valor base de voltaje
base al emisor de voltaje (0.6..0.7V). Esto
significa que con el mximo de 5.1V de voltaje
controlado, obtendr un mximo de 4.5V sin
importar cual sea el voltaje aportado (cuando
sea mayor de 5V y por debajo, el transistor
rompe el voltaje).
Otro problema es que en algunos casos este
circuito puede empezar a oscilar si la resistencia
base se encuentra justo en el extremo.
Circuito bsico con aislamiento ptico
Uno de los ejemplos ms simples de circuito de
salida aislado pticamente es el siguiente
circuito basado en 4N33:

El dispositivo de par ptico 4N33 tiene un


transistor de salida Darlington que es capaz de
conducir hasta 30mA de forma segura. El
voltaje mximo en el lado de salida es de 30V.
Uno conecta el lado de entrada + a la clavija de
salida del puerto paralelo que quiere usar para
el control. A continuacin, conecta el lado de
entrada a la clavija tierra del puerto paralelo.
El lado de salida se conecta al circuito para ser
controlado con la polaridad correcta. En este
circuito de ejemplo us una resistencia de
1Kohm para limitar el control de corriente (el
circuito tambin debera funcionar bien con
una resistencia de 470Ohm). Como la corriente
que se sirve al par ptico es muy baja (slo
unos mA), la corriente de salida del par ptico
disponible garantida es baja. Puede esperar
obtener algo parecido a una capacidad de
conduccin de 10mA en la salida (puede que
ms si tiene la suerte de tener un acoplador
con alto CTR y un puerto paralelo con una alta
corriente de salida). El circuito tambin se
puede construir usando un par ptico 4N32 que
es muy similar al 4N33.
Datos del componente 4N33:
El 4N32 y el 4N33 son aislantes acoplados
pticamente con un LED infrarrojo de

arseniato
de
galio
y
photodarlington de silicona.

un

sensor

El intercambio se puede conseguir al mismo


tiempo que se mantiene un alto nivel de
aislamiento entre los circuitos de carga y de
conduccin.
Muy alto ratio de transferencia de corriente,
mn. 500%.
Alta resistencia de aislamiento
Transmite corriente
mximo de 60mA

continua

hasta

un

Rotura del voltaje del colector-emisor de


salida a 30V.
La salida puede conducir fcilmente una
corriente de 50mA.
Mximo de disipacin de energa por la
salida de 150mW.
Voltaje de testeo de aislamiento a 5300V
Los datos del componente se han sacado de la
tabla de datos obtenible
en http://www.epanorama.net/counter.php?
url=http://www.vishay.com/docs/83736/83736.
pdf. Estos acopladores pticos se pueden usar

para sustituir rels de caa o de mercurio con


las consiguientes ventajas de larga vida,
intercambio de alta velocidad y eliminacin de
los campos magnticos.
Circuito de acoplador ptico amplificado
con transistor
Si quiere tener una muy buena proteccin de
su puerto paralelo y ms capacidad de
conduccin puede considerar el aislamiento
ptico usando un circuito de este tipo:
V+

(12V)

|
+-----------+
|
+------+
Puerto
|
|
Paralelo
D1
---

|
|
|
|

1N4001

/ \

Espiral de rel
R1
1 ----------- 5

/---\
|
D(x) ----1k------| Opto|
|

|-----+
| aislante

+------+

GND -------------|

|-+

|
2

----------- 4|

|
CNY 17 o

R2

| /
4N25
B |/

4.7K

T1
+--\/\/\

/\/---|
|\

BC547A o 2N2222A

| V
|
Tierra del circuito externo
Asignacin de clavijas tpica en un optoaislante (CNY 17 y 4N25):
----------------------------1--|---|------------|--6
|
|
|
|
| \---/ \
|
------ |
| \ / \
| | / C
| |
| --- \ \|
| |/
| |
|
|
\ ---|
---|--5
|
|
\|
B |\
|
2--|----| V E
|
|
--------|--4
3--|--NC
|

----------------------------El opto-aislante est all para proteger el


puerto. Ntese que no hay conexiones entre las
partes elctricas del puerto. El circuito est
abastecido por una fuente de energa externa
que no est conectada al PC si no hay
necesidad de que sea as. Esta disposicin
previene que alguna corriente en los circuitos
externos pueda daar el puerto paralelo
La entrada del opto-aislante es un dodo
emisor de luz. R1 se usar para limitar la
corriente cuando la salida del puerto est
activada. La resistencia de 1Kohm limita la
corriente a alrededor de 3mA, lo que es ms
que suficiente para la conduccin del transistor
de salida.
El lado de salida del opto-aislante es como un
transistor, con el colector arriba de todo del
circuito y el emisor abajo. Cuando se activa la
salida (con la luz de entrada del LED interno del
opto-aislante), la corriente fluye a travs de la
resistencia dentro del transistor, encendindolo.
Esto permite que la corriente fluya dentro del
rel. La corriente de salida del opto-aislante
con la entrada de corriente explicada arriba
debera ser dentro del rango de 1-3mA.
(depende del tipo exacto de opto-aislante y de

la variacin de componentes). Esta corriente


pasa a travs de R2 en direccin a la base
transistor.
Apagando la entrada en el puerto paralelo
provoca que la salida del opto-aislante se
apague, de forma que ni pasa ninguna corriente
a travs de ste y hacia el transistor, de forma
que ste ltimo tambin se apaga. Cuando el
transistor est apagado, no pasa corriente por
el rel y est tambin se apaga. El dodo
nos ofrece una salida para la energa guardada
en el espiral, previniendo as, que este
devuelva parte de la corriente al circuito de
forma indeseada.
El transistor en el circuito se puede usar para
controlar las cargas de salida hasta un mximo
de alrededor de 100mA (depende un poco de
los componentes y del voltaje de la operacin
usada). La fuente de energa externa puede
estar dentro del rango de 5V a 24V. Cuando use
un rel que toma menos de estos 100mA de
corriente y funcione con la fuente de energ a
que use, todo debera ir bien. La carga de
salida que usted puede controlar con el circuito
con un rel nicamente depende de los ratings
de contacto de los rels de salida (mximo
corriente y mximo voltaje).

Este
circuito
tambin
se
puede
usar
directamente para controlar pequeas cargas
(menos de 100mA de corriente). Simplemente
coloque la carga que quiera controlar en el sitio
del rel.
Datos de componente
componentes usados:

de

algunos

de

los

2N2222A: transistor NPN, caja T018,


Vce=40V, Vcb=75V, Ic=800mA, Hfe=100300, 300MHz, 500mW
BC547A: transistor NPN en caja TO92,
Vce=45V, Vcb=50V, Ic=100mA, Hfe=110800, 300MHz, 625mW
CNY17: Acoplador ptico con fototransistor
de salida, CTR de 40% a 200% en funcin
de la versin, aislamiento 4400 Vdc
4N25: Acoplador ptico con fototransistor
de salida, CTR normalmente 50% (20%
mnimo), aislamiento 2500V, entrada
transmite adelante una carga mx. 80 mA,
voltaje mx. de salida 30V
Circuito de control aislado pticamente
de alta energa

Aqu hay una versin de alta energa del


circuito descrito ms arriba:
V+

(12V)

|
+-----------+-----+------+
|
|
|
Puerto
|
|
paralelo
D1
---

|
|
|
|

1N4001

/ \ Espiral de rel
R1
1 ----------- 5
|
/---\
|
D(x) ----1k------| Opto|-----+
|
|
| aislante
|
+-----+------+
GND -------------|
|-+
|
|
2 ----------- 4|
|
|
CNY 17 o
|
R2
| /
|
4N25
|
4.7K
B |/ C T1
|

+--\/\/\
/\/---|

BC547A

|
|

|\

|
|

| V

| /
/

B |/C

T2
\

+----------|

R3

power

kohm

|\E

/ 10
transistor
\

| v
|
|
+---------------------------+
|
Tierra del circuito externo
En este circuito Q1 se usa para controla la base
de corriente de Q1, quien controla la corriente
en s misma. Puede seleccin prcticamente
cualquier transistor para este circuito mientras
cumpla sus necesidades de corriente y voltaje.
Algunas alternativas a modo de ejemplo son
TIP41C (6A 100V) o 2N3055 (100V 15A). En
funcin de su factor heredado de amplificacin
al transistor Q1, puede que no sea posible usar

toda la capacidad de corriente de su dispositivo


de salida T2 antes que haya demasiadas
perdidas (calor) en este transistor.
Este circuito es bsicamente una modificacin
muy simple del circuito aislante ptico original
con un transistor. La diferencia en este circuito
es que en este caso T2 controla la carga de
corriente y Q1 acta como un amplificador para
el control de corriente base de T2. Los aislantes
pticos R1, R2, Q1, D1 funcionan exactamente
de la misma forma que en el circuito de un
transistor descrito anteriormente en este
documento. R3 acta como una resistencia
extra que garantiza que T2 no conduce cuando
no se le da seal al aislante ptico (impide que
T1 y T2 conduzcan a causa de un pequeo
escape de corriente de la salida del aislante
ptico).
Control de la red de suministro de energ a
con puertos paralelos
Es posible controla el voltaje de la red de

You might also like