lptweb

Upload: almonacid

Post on 14-Oct-2015

49 views

Category:

Documents


3 download

DESCRIPTION

LPTWeb

TRANSCRIPT

Puerto paralelo interfacing fcil: circuitos y programas que muestran cmo utilizar las capacidades de salida del puerto paralelo de la PC simples

introduccin

Puerto paralelo de la PC puede ser muy til canal de E/S para conectar tus propios circuitos para PC. Puerto paralelo del PC se puede utilizar para realizar un poco de hardware muy divertida interfaz experimentos. El puerto es muy fcil de usar cuando usted primero entender algunos trucos bsicos. Este documento trata de mostrar los trucos en fcil de entender.

ADVERTENCIA: El puerto paralelo de la PC puede daarse fcilmente si se cometen errores en los circuitos que se conectan a ella. Si el puerto paralelo est integrado a la placa base (como en muchos de los nuevos ordenadores) la reparacin del puerto paralelo daado puede ser caro (en muchos casos, es ms barato para reemplazar toda la motherborard de reparar ese puerto). Apuesta ms segura es comprar una tarjeta de E/S de bajo costo que tiene un puerto paralelo extra y utilizarlo para su experimento. Si te las arreglas para daar el puerto paralelo de la tarjeta, su sustitucin es fcil y barato.

NOTA: Los datos de controlar el nivel de puerto de E/S de aqu ha demostrado que funciona bien con los puertos paralelos en las tarjetas de la placa base del PC y de ampliacin conectados al bus ISA. Los ejemplos de programacin pueden no funcionar con tarjetas de E/S basada bus PCI (que pueden usar un hardware diferente y/o E/S direcciones de E,sus conductores hacen que acaba de ver como puertos paralelos a las aplicaciones "normales"). Los ejemplos de programacin no funcionan con USB a los adaptadores de puerto paralelo (utilizan totalmente diferente hardware, sus conductores hacen que se vean como puerto paralelo normal al sistema operativo aplicaciones " normales").

DESCARGO DE RESPONSABILIDAD: Cada cuidado razonable se ha tomado en la produccin de esta informacin. Sin embargo, el autor no acepta ninguna responsabilidad por cualquier efecto que esta informacin tiene en su equipo o ningn resultado del uso de esta informacin. Es la responsabilidad del usuario final determinar la aptitud para el uso para cualquier propsito particular. Los circuitos y software que aparecen aqu son para uso no comercial, sin el consentimiento del autor.

Cmo conectar circuitos al puerto paralelo

Puerto paralelo de la PC es de 25 pin conector hembra en forma de D en la parte posterior del equipo. Normalmente se utiliza para conectar la computadora a la impresora, pero muchos otros tipos de hardware para que el puerto est disponible hoy en da.

No todos los 25 son necesarios siempre. Por lo general, usted puede hacer fcilmente con slo 8 pines de salida (lneas de datos) y la seal de tierra . He presentado los pines en la siguiente tabla. Estos pines de salida son adecuados para muchos propsitos.

funciones de los contactos 2 D0 3 D1 4 D2 5 D3 6 D4 7 D5 8 D6 9 D7

Pasadores 18,19,20,21,22,23,24 y 25 son todas las patillas de tierra.

Esos datapins son pines de salida de nivel TTL. Esto significa que echen idealmente 0V cuando estn en nivel lgico bajo (0) y 5 V cuando estn en nivel lgico alto (1). En el mundo real, las tensiones pueden ser algo diferente de ser ideal cuando se carga el circuito. La capacidad de corriente de salida del puerto paralelo se limita a slo unos pocos miliamperios.

He aqu una idea simple de cmo se puede conectar a un PC de carga paralelas clavijas de datos del puerto.

Esta no es la nica manera de conectar cosas a un puerto paralelo.

Los pines de datos del puerto paralelo son salidas TTL, que tanto pueden hundir y actuales fuente. En implementaciones de puerto paralelo ordinarias las salidas de datos son 74LS374 CI salidas TTL ttem que puede fuente 2.6 mA y hundir 24 mA.

Salidas TTL regulares bsicamente consisten en un transistor de dos "apilados" en serie entre 5 voltios y tierra, con la salida procedente de la conexin entre ellos. Esto se llama una "salida de ttem". En un momento dado uno de estos transistores est llevando a cabo y la otra no. Para tirar de la salida de "alto", el transistor de +5 a las conductas de salida (H), que "fuentes" corriente positiva de la salida a tierra (es decir, un dispositivo externo entre la salida y la tierra ser conseguir el poder). Para tirar de la salida baja, slo el transistor inferior (L) lleva a cabo, "hundimiento" de corriente a tierra; un dispositivo externo entre 5 voltios y la salida puede ser energizado.

Las salidas estn diseados para que den al menos 2,4 V a 2,6 mA de carga. Esta cifra es 2,6 mA para circuitos LS-TLL ordinarias utilizadas, las implementaciones LSI utilizados en muchos ordenadores pueden dar ms o menos. Por ejemplo bastante popular (hace unos aos) UM82C11-C chip de puerto paralelo slo puede fuente de 2 mA.

Simple corriente de conexin de carga de hundimiento:

Al tomar corriente desde el puerto paralelo de la PC, mantenga la carga baja, slo hasta pocos miliamperios. Tratando de toke demasiada corriente (por ejemplo, un cortocircuito pines a tierra) puede frer el puerto paralelo. Yo no he matado a ningn puerto paralelo (an) en este mtodo, pero que he tenido en los casos en que demasiada carga ha hecho el puerto paralelo IC muy caliente. Ten cuidado.

Si usted tiene una fuente externa de +5 voltios, usted tiene otra opcin para la conexin: utilizar los pasadores datos fuera a hundirse hasta 24 mA de su suministro de 5 voltios. Esto se puede hacer con un circuito como este:

La carga tiene poder, entonces usted tiene externo 5 V en el pin de datos y puerto de impresora se establece en 0 . Este circuito le da la capacidad de conducir ms corriente que el enfoque de " hundimiento" . Tienes que ser cuidadoso con este circuito , ya que con este circuito se puede frer con facilidad el puerto paralelo si haces las cosas mal. Mi consejo es que tener mucho cuidado con este tipo de circuito , y asegrese de que la fuente de alimentacin de +5 V externa se apaga cuando el ordenador se apaga ( todos los puertos de la impresora no pueden gustar conseguir 5 V , aunque la carga al puerto de la impresora cuando no lo son powere ) . La fuente ms convient " 5 V externa " podra ser de misma otro puerto en el PC (USB , joystick, teclado / ratn, etc puerto) .

He utilizado su mayora circuitos de tipo " hundimiento" y este artculo se concentra en el uso de ellos.

Circuitos de conduccin LED simples

Usted puede hacer simple circuito para conducir un pequeo conducido a travs del puerto paralelo de la PC . Los nicos componentes que se necesitan son un LED y un 470 ohm resistencias . Slo tiene que conectar el diodo y la resistencia en serie. Se necesita Las resistencias para limitar la corriente tomada de puerto paralelo a un valor que se encienden los LED aceptablemente normales y es todava valor seguro ( no sobrecargar el chip de puerto paralelo) . En caso prctico la intensidad de salida ser de unos milliampres para el LED , lo que provocar un LED tpico a la luz algo visiblemente , pero no obtener la brigtness completo.

Luego de conectar el circuito al puerto paralelo de manera que un extremo del circuito va a uno pin de datos (que uno que con que se utilizar para controlar que el LED) y otro va a cualquiera de los pines de tierra. Asegrese de ajustar el circuito de modo que el cable positivo del LED (la ms larga) va a la DataPin. Si usted pone el led en el camino equivocado, no se encender en cualquier condicin. Puede conectar un circuito a cada uno de los pines de datos del puerto paralelo. De esta manera se obtiene ocho LEDs controlables software.

El controlador de software es fcil. Con el envo de 1 al DataPin donde se conecte, la luz, que el LED se encender. Al enviar 0 a ese mismo pin, el LED ya no se iluminar.

Aqu hay dos fotos del circuito anterior he construido:

Pn aquellos circuitos que he cableadas el cable de tierra a un solo pin de tierra ( tambin funciona bien , puede utilizar cualquiera de los pines de tierra ) .

Especificaciones tcnicas de los pines del puerto paralelo

Las especificaciones de IBM dice accoding http://www.epanorama.net/counter.php?url=http://www.linux.com/howtos/IO-Port-Programming-6.shtml lo siguiente: Los pines de salida de datos ( pins 2-9 ) se hunden 24 mA, fuente de 15 mA , y su salida de alto nivel es min . 2,4 V. El bajo estado de ambos es max . 0,5 V. Los pines 1 , 14 , 16 y 17 (las salidas de control ) tienen excitadores de colector abierto sacaron a 5 V a travs de resistencias de 4,7 Kiloohm ( hundir 20 mA, fuente de 0,55 mA , salida de alto nivel 5.0 V pullup ) . Puertos paralelos no son de IBM probablemente se desvan de esta norma.

Advertencia : Tenga cuidado con la conexin a tierra. Usted puede romper puertos paralelos por la conexin de dispositivos a ellos cuando el PC est encendido. No es una buena idea para cortocircuitar los pines a tierra o 5 V , esto puede daar el puerto. Podra ser una buena idea usar un puerto paralelo no integrado en la placa base para este tipo de cosas . ( Generalmente, usted puede obtener un segundo puerto paralelo de su mquina con una tarjeta barata estndar ` multi- I / O ' )

Programa de control para DOS (y Windows 9x )

El siguiente programa es un ejemplo de cmo controlar pines de datos del puerto paralelo LPT1 de su software. En este ejemplo se controla directamente los registros del puerto paralelo , por lo que no funciona en algn sistema operativo multitarea , que no permite eso. Funciona muy bien en MSDOS . Usted puede mirar el cdigo Borland Pascal 7.0 (debe compilar tambin con versiones anteriores tambin ) y luego descargar el programa compilado LPTOUT.EXE . Esto ha funcionado muy bien para m en sistemas DOS y Windows 95/98 sistemas. En los ltimos testeos este programa ha trabajado poco fiable en algunos sistemas Windoes 2000 .

Program lpt1_output;

Uses Dos;

Var addr:word; data:byte; e:integer;

Begin addr:=MemW[$0040:$0008]; Val(ParamStr(1),data,e); Port[addr]:=data;End

Cmo utilizar el programa

LPTOUT.EXE es muy fcil de usar programa . El programa toma un parmetro, que es el valor de los datos para enviar al puerto paralelo . Ese valor debe ser un nmero entero en formato decimal ( por ejemplo 255). Los nmeros hexadecimales se pueden utilizar tambin , pero deben estar precedidos por $ marca ( por ejemplo, $ FF ) . Las azadas de programas no tienen ningn tipo de comprobacin de errores que sea sencillo . Si el nmero no est en el formato correcto, el programa enviar un valor extrao al puerto .

Nota: Me he enterado de que este programa no funciona correctamente en algunos sistemas de Windows 2000 que he probado en esto. No s lo que est causando este problema especfico (que no sea usted no debe tratar de acceder al hardware directamente en el sistema basado en Windows NT ..) . No he probado este programa con Windows XP.

Ejemplo de cmo utilizar el programa

LPTOUT 0Ajuste todos datapins a bajo nivel.

LPTOUT 255Ajuste todos datapins a alto nivel .

LPTOUT 1Establecer DataPin D0 a alto nivel y todas las dems datapins a bajo nivel .

Cmo calcular sus propios valores a enviar para programar

Tienes que pensar en el valor que se da al programa como un nmero binario . Cada bit del nmero binario controla un bit de salida. En la siguiente tabla se describe la relacin de los bits , los pines de salida del puerto paralelo y el valor de esos bits .

Pin 2 3 4 5 6 7 8 9Bit D0 D1 D2 D3 D4 D5 D6 D7Valor 1 2 4 8 16 32 64 128

Por ejemplo, si desea establecer los pines 2 y 3 a 1 lgico ( led ), entonces usted tiene que el valor de salida 1 +2 = 3 . Si desea establecer en los pines 3,5 y 6 entonces usted necesita para el valor de salida 2 +8 +16 = 26 . De esta manera se puede calcular el valor de cualquier combinacin de bits que desee emitir .

Realizar cambios en el cdigo fuente

Usted puede cambiar fcilmente te nmero de puerto paralelo int el cdigo fuente con slo cambiar la direccin de memoria donde el programa lee la direccin del puerto paralelo. Para obtener ms informacin, consulte la siguiente tabla .

Formato del segmento de datos BIOS en 40h segmento:Offset Tamao Descripcin 08h WORD Direccin E / S base del primero puerto paralelo I / O, cero si ninguna 0Ah WORD Direccin E / S base del segundo puerto paralelo I / O, cero si ninguna Direccin 0Ch PALABRA Base de E / S de tercera paralelo puerto de E / S , cero si ninguna 0Eh PALABRA [ no- PS ] Direccin base de E / S del cuarto paralelo puerto de E / S , cero si ninguna

Por ejemplo cambiar el addr lnea : = MemW [$ 0040: $ 0.008 ] ; en el cdigo fuente de addr : = MemW [$ 0040: $ 000A ] ; si desea dar salida a LPT2 .

En lugar de tratar de leer la direccin de los datos de informacin de DOS bloquear siempre se puede utilizar la direccin de E / S fijo al cdigo fuente . El puerto LPT1 es normalmente en / 378h O- I o direccin 3BCh .

Para conocer la direccin del puerto de usar que puede utilizar , por ejemplo, el mtodo : En los sistemas modernos de Windows (he probado en Windows 2000 ) que puede llegar a conocer el puerto paralelo de E / S addrss travs de administrador de dispositivos. En primer lugar abrir el administrador de dispositivos ( Inicio - Configuracin - Panel de control - Sistema - Hardware - Administrador de dispositivos ) . A continuacin, seleccione all el puerto paralelo est interrested de seccin (COM y LPT) Puertos. Con el botn derecho del ratn se puede obtener de men donde se selecciona Propiedades. Desde all, seleccione Recursos donde se debe ver una pantalla como esta :

Los detalles en esta imagen son del puerto paralelo integrado en la placa base de mi PC.

Programacin Parallelport en DOS

Los ejemplos siguientes son ejemplos de cdigos de acceso a escribir a los puertos de E / S que utilizan diferentes lenguas . En los ejemplos que he utilizado de E / S direccin 378h , que es una de las direcciones en las que el puerto paralelo puede ser .

Las configuraciones tpicas de puerto paralelo de E / S addess visto en PCs con bus ISA :

LPT1: 3BCh , LPT2 : 378h , LPT3 : 278h LPT1: 378h , LPT2 : 278h LPT1: 378h

Estas son las direcciones de E / S tpicas utilizadas en sistemas de bus basados ISA. En los sistemas basados en bus PCI del puerto LPT1 en la placa base es tpicamente al / 378h O- I o direccin 3BCh . Si los sistemas tiene puertos LPT adicionales en la tarjeta multi- IO en bus PCI , los puertos LPT adicionales funcionan de forma diferente que el " puerto paralelo normal" se describe en este documento , y los mismos mtodos de control no pueden ser aplicados a ellos ( que estn en diferentes direcciones de E / S y podran utilizar diferentes sistemas de registro de control que podra ser especfico de tarjeta , el software del controlador que se incluye con la tarjeta hace que se vean como puertos LPT para las aplicaciones que utilizan las rutinas de impresin del sistema operativo estndar).

Los ejemplos siguientes son para sistema de DOS ( que puede o no funcionar en otros sistemas) . Los ejemplos de cdigo estn diseados para ser utilizado con el puerto LPT1 que reside en E / S direccin de 378h .

ensamblador

MOV DX, 0378hMOV AL, nOUT DX , AL

Donde n es los datos que desea enviar .

BASIC

OUT y H378 , N

Donde N es el nmero al que desea enviar .

C

outp ( 0x378 , n) ;

o

outportb ( 0x378 , n) ;

Donde N es los datos que desea enviar . El puerto de E / S real comando de control vara de compilador en compilador , ya que no es parte de bibliotecas de C estandarizados .

He aqu un ejemplo de cdigo fuente para Borland C + + 3.1 del compilador :

# include # include # include

/ ******************************************** // * Este programa establece las salidas de puerto paralelo * // ******************************************** /

void main (void){clrscr (); / * Pantalla clara * /outportb (0x378, 0xff); / * Enviar los datos al puerto paralelo * /getch (); / * Esperar por pulsacin de tecla antes de salir * /}

Usando DOS depuracin para acceder al puerto paralelo

Programa DOS depuracin es un simple ensamblador de 8088 que viene con el sistema operativo DOS (viene con las utilidades de DOS en la mayora de los sistemas modernos de ventanas tambin ) . Depurar permite la depuracin de aplicaciones de DOS de 16 bits simples ( no tiles a los modernos programas de Windows de 32 bits) . Programa de depuracin tiene varios comandos de la herramienta de depuracin incorporados, incluidos los comandos de lectura y escritura de puertos de E / S .

o- escribe un byte de DAT al puerto de E / S especificadaValor del puerto sintaxis opuerto - especifica la direccin del puerto . La direccin del puerto puede ser un valor de 8 o 16 bits .valor - especifica el valor a escribir en este I / O- puerto. Este valor es el valor 8 bits .

i - lee un byte de datos desde el puerto de E / S especificadaPuerto SINTAXIS ipuerto - especifica la direccin del puerto . La direccin del puerto puede ser un valor de 8 o 16 bits .

Ejemplos:

Si escribe

o 3bc ff

debug voluntad ff valor de salida (hex ) para 3bc puerto (hex ) .

Si escribe i 3BC depuracin mostrar 1 byte de datos del puerto paralelo.

Puerto paralelo de control en los programas de Windows

Creacin de programas para hablar con el puerto paralelo era bastante fcil en los viejos das de DOS y en Win95/98 tambin. Podemos utilizar las funciones _Outp en nuestro programa Inporb y outportb o _inp () o sin ningn problema si estamos corriendo el programa en DOS o Win95/98 . Pero entrar a la nueva era de sistemas operativos clon NT como WIN NT4, Win2000, WinXP , toda esta simplicidad se va.

Puerto paralelo directo en el control posible en Windows 3.xy Windows 95 directamente de los programas de aplicacin 16 bits y libreras DLL . As que usted puede utilizar el ejemplo C por encima de Windows 3.xy Windows 95 si usted hace su solicitud para el programa de 16 bits. Si desea controlar el puerto paralelo desde Visual Basic o Delphi y luego echar un vistazo a las bibliotecas en Parallel Port Central en http://www.epanorama.net/counter.php?url=http://www.lvr.com/ parport.htm .

Puerto directo control de la aplicacin no es posible en Windows NT y ser ale para controlar el puerto paralelo directamente usted tendr que escribir algn tipo de controlador de dispositivo para hacer esto. Tambin puede encontrar este tipo de controladores de puerto paralelo Central y Inpout32.dll para WIN NT/2000/XP.

DriverLINX PortIO en http://www.epanorama.net/counter.php?url=http://www.driverlinx.com/DownLoad/DlPortIO.htm es una pena para comprobar controlador para acceder a los puertos de E / S directamente bajo Windows 95 / NT ( tambin funciona bien con Windows 2000 ) . Este software libre viene con programas de ejemplo ( cdigo tanto ejecutable y fuente disponible ) cmo acceder a puertos I / O de los programas de Microsoft Visual C y Visual Basic .

El control de E / S Utilizando Utilizando la pgina web de Visual Basic en http://www.epanorama.net/counter.php?url=http://www.southwest.com.au/ ~ jfuller / vb / vbout.htm describe cmo para hacer una aplicacin de Visual Basic simple que controla el puerto paralelo de la PC .

Si usted est buscando un software ya hecho , y luego echar un vistazo a la pgina web kit Kemo M125 en http://www.epanorama.net/counter.php?url=http://www.kemo-electronic.com/en / module/m125 / . Mdulo de rel Kemo M125 est diseado para la conexin de hasta 8 aparatos diferentes , lmparas o motores de acuerdo con un programa de ordenador ( hasta 40V y cargas de hasta 0,4 A DC o AC 0,2 A ) . El mdulo se hace funcionar a la LPT1 puerto de la impresora de la misma manera como mi puerto paralelo controlar ejemplos de circuitos ( en este mdulo hay un rel de estado slido conectado para cada uno de los pines 8 de salida de datos en el puerto paralelo ) . Pgina de informacin kit Kemo M125 cuenta con un software de control disponible para su descarga. Los software permite el control de las salidas de forma manual y funcionamiento temporizado . Software de Windows se ejecuta en WIN9x , WIN2K y WinXP . Tambin es la programacin de ejemplo de cdigo fuente C disponible.

Kit de placa de rel rel de puerto paralelo descrito en http://www.epanorama.net/counter.php?url=http://electronickits.com/kit/complete/elec/ck1601.htm viene con software de control de Windows y DOS que puede puede descargar en la pgina de kit. Este software se ejecuta en el de Windows 9x/2000/ME/XP . La informacin sobre las utilidades de DOS se puede encontrar en http://www.epanorama.net/counter.php?url=http://www.qkits.com/serv/qkits/diy/pages/QK74.asp .

Pgina de monitores de puerto paralelo en http://www.epanorama.net/counter.php?url=http://neil.fraser.name/software/lpt/ tiene programas que le permiten configurar y monitorizar estados paralelos los pines del puerto . El software est disponible para diferentes versiones que funcionan en Windows 98 3.1 / 95/98 sistemas / ME / NT / 2000 / XP y DOS / Windows / ME . El software est escrito utilizando lenguajes de programacin de Visual Basic y Euphoria y viene con cdigo fuente .

Ms all de la PC del diseo Serie y Paralelo VBPortTest software Puerto software e interfaces en http://www.epanorama.net/counter.php?url=http://www.beyond-designs.com/PC_ports.htm es una herramienta til . VBPortTest utilidad puerto paralelo est diseado para ayudar a probar y depurar las interfaces de puerto paralelo . Permite el acceso a los tres registros (datos , estado y control de ) asociados con el puerto paralelo de PC estndar (SPP ) . El usuario puede leer y escribir los registros de datos y de control. El programa lee continuamente el registro de estado ( de slo lectura del registro de estado es ) . Bits de registro individuales se muestran en los LED junto con el valor hexadecimal para todo el registro de datos. En el modo de escritura, el usuario puede cambiar los bits individuales haciendo clic en el LED correspondiente . Los valores hexadecimales se pueden introducir en el teclado. Bit, byte y de byte estroboscopio modos de escritura son posibles. Ayuda en lnea con el material de referencia de puerto paralelo til incluye descripciones de las seales y Centronics forma de onda de temporizacin apretn de manos. VBPortTest est disponible para su descarga como freeware. Windows 98 , ME y XP compatible.

Si quieres hacer la programacin del puerto paralelo en Windows con C / C + + y luego un camino a seguir es utilizar mediante el inpout32.dll y el compilador Borland C libre . Para obtener ms informacin , puedes echar un vistazo http://hytherion.com/beattidp/comput/pport.htm y http://csjava.occ.cccd.edu/ ~ gilberts/bcc55.html . El segundo enlace fue una muy agradable , gua paso a paso sobre la forma de hacer las cosas.

Interfaz API de Windows estndar

Estndar de Windows API para la programacin del puerto paralelo se apunta para enviar caracteres a la impresora onneced al puerto paralelo . No est diseado para contrlling pins individuales dentro o fuera .

Utilizando el puerto paralelo para la salida digital se puede hacer para trabajar con la API de Windows normal con un simple hack de hardware . El truco principal es alfileres de corbata 11 ( ocupado) y 12 (Error de papel ) a tierra . De lo contrario, el controlador de hardware va a pensar que la impresora est hablando con est ocupado o que experimentan un error y no dar salida a ningn dato.

Slo tienes que enviar un caracter al puerto paralelo , y la wii de Windows enviar el valor de ese carcter a las clavijas de datos del puerto de impresora , adems de generar un pulso de luz estroboscpica lnea . El puerto mantendr el ltimo valor escrito en l hasta otro valor est escrito o hasta que el equipo se apaga o nuevos datos se enva al puerto . Si la salida de ms de un byte a la vez que el conductor va a enviarlos al puerto en secuencia y cambiar de vez en cuando la lnea Strobe (lnea 1 ) para cada byte . El momento involucrado vara algo de un ordenador a otro.

Esto significa que en un entorno de Windows podemos datos de salida del puerto paralelo. Puede enviar datos incluso a travs de la lnea de comandos de Windows con el comando copia la siguiente manera:

copiar somefile.bin LPT1

Esto enviar el contenido del archivo somefile.bin al puerto paralelo . El valor del ltimo byte en el archivo quedar como el estado del puerto paralelo despus de la ejecucin del comando.

Adems necesidad de que el hack de hardware , hay otras limitaciones en el mtodo de la API de Windows. API de Windows no tiene soporte incorporado para operaciones de entrada ni de leer de nuevo el ltimo valor enviado . A pesar de que el hardware del puerto paralelo soporta, el controlador de software no lo hace.

Control del puerto paralelo en Linux

Linux permitir acess a cualquier puerto utilizando el syscall ioperm . He aqu algunas partes de cdigo para Linux para escribir 255 al puerto de la impresora :

# include # include # include # include

# define base de 0x378 / * direccin base del puerto de impresora * /# define valor 255 / * valor numrico para enviar al puerto de la impresora * /

main (int argc, char ** argv ){ if ( ioperm (base, 1,1) ) fprintf ( stderr, " No se pudo obtener el puerto en % x \ n", base) , exit ( 1);

outb (valor, base) ;}

Guarde el cdigo fuente para presentar lpt_test.c y compilarlo con el comando :

gcc -O -o lpt_test.c lpt_test

El usuario tiene que tener las previledges para tener acceso a los puertos para que el programa funcione , as que tienes que ser root para poder ron este tipo de programas sin problemas de acceso. Si usted desea hacer un programa que se puede ejecutar por nadie entonces usted tiene que fijar primero el propietario del programa para ser root ( por ejemplo, hacer la compilacin cuando yhou son root) , dar a los usuarios los derechos para ejecutar el programa y luego establecer el programa que se ejecuta siempre con el propietario ( root) los derechos en lugar del derecho del usuario que lo ejecuta. Puede configurar el programn para ejecutarse en derechos de propietario por el uso siguiente comando :

chmod + s lpt_test

Notas sobre el cdigo fuente : Algunas personas han informado de que, por alguna razn, este cdigo no funciona en theuir sistemas. Si usted tiene problemas en conseguir que esto funcione , intente tho siguiente chagest al cdigo : sustituir las lneas " # include < unistd.h % gt ; " y " # include " con la lnea " # include " y luego vuelva a colocar la lnea "# define 0x378 base" con "# define 0x0378 base" .

Si quieres un programa ms til, a continuacin, descargar mi puerto paralelo lptout.c control de cdigo fuente del programa. Este programa trabaja para que puedas dar los datos para enviar al puerto paralelo como el argumento de lnea de comandos ( ambos nmeros decimales y hexadecimales compatibles) a ese programa y entonces salida que valorar al puerto paralelo . Usted puede compilar el cdigo fuente de los comandos de LPTOUT mediante la siguiente lnea para hacer la compilacin:

gcc -O -o lptout.c LPTOUT

Despus de haber compilado el programa se puede ejecutar fcilmente. Por ejemplo ejecutar. / LPTOUT 0xFF cumplir todos los pines de datos a 1 y ejecutar. / LPTOUT 0x00 cumplir todos los pines de datos a 0.

En algunos sistemas de las direcciones de los puertos de E / S pueden ser diferentes de un empleado en mi programa de ejemplo . En este caso tiene que modificar la direccin en la lnea # define base. Hay diferentes maneras de conocer la direccin del puerto . En primer lugar usted puede probar sus herramientas grficas de configuracin para buscar esta informacin. Esas herramientas y cmo utilizarlos varan bastante mucho entre las diferentes distribuciones de Linux. Tambin hay algunas herramientas de lnea de comandos que puede probar :

En muchos sistemas Linux se puede obtener informacin sobre los dispositivos de E / S y los puertos que utilizan con el comando " cat / proc / ioports " . Esta lista debe incluir el puerto paralelo o puerto paralelo en el mismo. El primer puerto paralelo (puerto en la placa base) normalmente tiene nombre parport0 . Hay algunos casos en los que es posible que no ver su dispositivo en la lista o, a veces se ve el nombre sama dos veces ( por lo general el primero de ellos es el ms adecuado ) . En algunos sistemas es posible que tenga puertos paralelos adicionales en las tarjetas de E / S en el bus PCI. En muchos sistemas nuevos de Linux se puede ejecutar " lspci- v | ms " para obtener informacin de cada dispositivo en el bus PCI (esto debe decirle a marca y modelo , interrumpir y asignaciones de bloques del puerto y de la memoria ) .

Tambin he escrito un rico programa ms caracterstica de controlar. portconrol es una E / S del programa de control de puerto para Linux de uso general sencillo. Te permite escribir y leer los puertos de E / S admitidas . El software permite escribir valores especificada en el puerto , la lectura de valor en determinada direccin de E / S que se puede imprimir a la pantalla en diferentes formatos y manipulacin a nivel de bit de los datos del puerto . El software portcontrol est disponible como paquete portcontrol.tar que incluye el cdigo fuente , instrucciones de compilacin / instalacin y instrucciones de uso. Para obtener ms detalles revise el README y el cdigo fuente portcontrol.c .

GUI simple Linux

He escrito un ejemplo sencillo programa de interfaz grfica de usuario para el control del puerto paralelo en el sistema Linux. Mi sencilla interfaz grfica de usuario de control de puerto paralelo est escrito de tal manera que le permite controlar los pines del puerto paralelo. Para ver lo que parece comprobar la captura de pantalla.

Esta sencilla interfaz grfica de usuario de control est escrito de tal manera que se ejecuta tanto en los sistemas de ventanas de KDE GNOME y . El programa est escrito como script bash que utiliza zenity y / o programas KDialog hacer los mens GUI s mismo. El programa espera que tenga el programa portcontrol instalado en su sistema Linux en / usr / local / sbin / portcontrol con los derechos adecuados que se pueden ejecutar l.

El programa est destinado a ser un simple ejemplo que puede modificar para sus propios usos . Slo tienes que descargar y empezar a probar menu.sh ti mismo.

consejos de programacin

Si desea obtener ms informacin acerca de la programacin de puertos de E / S recomiendo leer Linux E / S de programacin puerto mini- HOWTO. Aqu hay algunos consejos de ese documento:

Las rutinas para acceder a los puertos de E / S estn en / usr / include / asm / io.h (o linux/include/asm-i386/io.h en la distribucin de las fuentes del ncleo ) . Las rutinas existen macros en lnea, por lo que es suficiente para # include ; usted no necesita ninguna librera adicional. Debido a una limitacin en gcc, debe compilar el cdigo fuente que utiliza estas rutinas con la optimizacin del encendido (gcc -O1 o superior), o alternativamente usar # define extern esttica antes de # include ( recuerde externafterwards # undef ) . Para la depuracin , puede utilizar gcc- g -O (al menos con versiones modernas de gcc ) , a pesar de la optimizacin a veces puede hacer que el depurador se comporta un poco extraa. A veces es una buena idea poner todos los accesos del puerto de E / S en un archivo fuente separado y compilar slo que con la optimizacin de encendido. Antes de acceder a ningn puerto , debe dar su permiso programa para hacerlo. Esto se hace llamando al ioperm funcin () declarada en unistd.h , y se define en el kernel ) en algn lugar cerca del comienzo de su programa (antes del acceso a cualquier puerto I / O) . La sintaxis es ioperm (de , num, turn_on ) , donde a partir de es el primer nmero de puerto para dar acceso y NUM el nmero de puertos consecutivos para dar acceso a . ioperm () slo puede dar acceso a los puertos a travs de 0x000 0x3ff (o los puertos ms altos, es necesario utilizar iopl ( 3 ) que le da acceso a todos los puertos a la vez) . El ioperm () llamada requiere el programa para tener privilegios de root ; por lo tanto usted tiene que o bien ejecutar como usuario root, o hacerlo con setuid root . Usted no est obligado a bajar de forma explcita sus privilegios de acceso del puerto con ioperm (..., 0 ) al final de su programa; esto se hace automticamente en el proceso finalice . Usted puede eliminar los privilegios de root despus de haber llamado ioperm () para habilitar los puertos que desea utilizar . A setuid () para un usuario que no sea root no deshabilita el acceso al puerto otorgado por ioperm (), pero un tenedor () no ( el proceso hijo no recibe el acceso , pero el padre lo retiene ) . Para introducir un byte ( 8 bits) de un puerto , llame inb (puerto ) , devuelve el byte que tiene A la salida de un byte , llame outb (valor, puerto) Tenga en cuenta que todas las instrucciones de acceso a los puertos tienen al menos aproximadamente un microsegundo a ejecutar. Hay pginas de manual de ioperm ( 2 ) , iopl ( 2), y las macros anteriores en versiones razonablemente recientes de la coleccin pgina de manual de Linux Otra forma de acceder a puertos I / O es abrir () / dev / port ( un dispositivo de caracteres , el nmero mayor de 1 , menor de edad 4 ) para la lectura y / o escritura ( el stdio f * ( ) funciones tienen buffers internos , por lo que evitarlos ) . Entonces lseek () para el byte correspondiente en el archivo (posicin archivo 0 = 0x00 puerto , posicin del archivo 1 = Puerto 0x01 , y as sucesivamente ) , y read () o write () de un byte o una palabra desde o hacia l. Naturalmente , para que esto funcione el programa necesita acceso de lectura / escritura a / dev / port . Este mtodo es probablemente ms lento que el mtodo normal por encima , pero no necesita optimizacin del compilador ni ioperm ( ) . No necesita acceso root o bien , si se le da a un usuario que no sea root o grupo el acceso a / dev / port ( potencialmente peligrosa para la seguridad del sistema )

Ten en cuenta que este puerto de E / S para acceder en la forma descrita anteriormente slo funcionar en sistemas i386. Para poder utilizar ioperm es necesario incluir los encabezados ncessary a su software:

# include / * para libc5 * /# include / * para glibc * /

El protype funcin es el siguiente :

int ioperm ( unsigned long de , num unsigned long , int turn_on );

Ioperm establece los bits de permiso de acceso al puerto para el proceso para num bytes, a partir de la direccin del puerto desde , al valor encender . El uso de ioperm requiere privilegios de root . Slo la primera 0x3ff puertos I / O se pueden especificar de esta manera. Para ms puertos , la funcin iopl debe ser utilizado . Los permisos no se heredan en el tenedor , pero el ejecutivo que son. Esto es til para dar permisos de acceso a los puertos a tareas no privilegiadas . Este llamado es principalmente para la arquitectura i386. En muchas otras arquitecturas que no existe o siempre devolver un error. En caso de xito , se devuelve cero . En caso de error , se devuelve -1 , y errno un valor apropiado.

ioperm es especfica de Linux y no debera emplearse en programas pretendidamente transportables . Libc5 la trata como una llamada al sistema y posee un prototipo en . Glibc1 no tiene un prototipo. Glibc2 tiene un prototipo tanto en y en ( evitar esta ltima bacause que slo est disponible en i386) .

El acceso a E / S puede ser diferente en otras plataformas de Linux ( por ejemplo, la alfa utiliza una biblioteca , libio , para emular inb / outb en programas de usuario ) .

La descripcin anterior se concentra en el lenguaje de programacin C . Debe aplicarse directamente a C + + tambin. En ensamblador, usted tiene que llamar ioperm () o iopl () como en C, pero despus de que se puede utilizar el puerto de E / S de lectura / escritura de instrucciones directamente .

En otras lenguas , a no ser que usted puede insertar ensamblador o cdigo C en el programa o utilizar las llamadas de sistema mencionados anteriormente, es probable que sea ms fcil de escribir un simple archivo fuente C con las funciones para el puerto I / O accede a ellos o los retrasos que usted necesita, y compilar y vincularlo con el resto de su programa. O uso / dev / puerto como se describi anteriormente .

Parallel Library Programacin Port Pin para Linux

Si desea un enfoque de alto nivel al puerto paralelo de control de bajo nivel directamente writign para controlar registros apprach , tambin hay herramientas para este disponible. Parapin es un fcil utilizar la biblioteca de programacin pines del puerto paralelo . Usted puede encontrar este software en http://www.epanorama.net/counter.php?url=http://parapin.sourceforge.net/ . Parapin hace que sea fcil escribir cdigo en C bajo Linux que controla pines individuales en un puerto paralelo del PC . Este tipo de control es muy til para proyectos de electrnica que utilizan el puerto paralelo de la PC como una interfaz genrica de E / S digital.

Parapin hace todo lo posible para aislar al programador de la un tanto compleja interfaz de programacin del puerto paralelo proporcionado por el hardware del PC, por lo que es fcil de utilizar el puerto paralelo para E / S digitales

Parapin proporciona una interfaz sencilla que permite a los programas utilizan pines del puerto paralelo de la PC como entradas o salidas digitales. Parapin hace que sea fcil escribir cdigo en C bajo Linux que controla pines individuales en un puerto paralelo del PC . Puede valer valores lgicos altos o bajos de la TTL en los pines de salida o sondear el estado de los pines de entrada . Este tipo de control es muy til para proyectos de electrnica que utilizan el puerto paralelo de la PC como una interfaz genrica de E / S digital.

Parapin tiene dos personalidades : ya sea que puede ser utilizado como una biblioteca de espacio de usuario C , o ligado como parte de un mdulo de ncleo de Linux . Tambin hay un controlador de dispositivo que proporciona acceso al mdulo kernel desde el espacio de usuario , permitiendo al administrador utilizar permisos de sistema de archivos para controlar el acceso al puerto . Parapin fue escrito pensando en la eficacia , de modo que Parapin se puede utilizar en aplicaciones sensibles al tiempo .

La versin del espacio de usuario de Parapin se compila y se enlaza muy parecido a cualquier otra biblioteca C . Si ha instalado Parapin en su sistema usando `` make install '' , la biblioteca ( libparapin.a ) probablemente fue instalado en / usr / local / lib. El archivo de cabecera con prototipos de funciones de la biblioteca y otras definiciones, parapin.h , es probable que tambin en / usr / local / include . Para utilizar la biblioteca, primero asegrese de # include parapin.h en el archivo de origen C . Cuando se enlaza , complemento lparapin junto con cualquier otra biblioteca que pueda estar utilizando . Inicializacin de la biblioteca C se realiza mediante la funcin

int pin_init_user (int lp_base );

cuyo nico argumento, lp_base , especifica la direccin base de E / S del puerto paralelo est controlando. Tanto en la versin de la biblioteca de espacio de usuario C , y la versin del kernel , pines se configuran mediante una de las siguientes tres funciones :

void pin_input_mode (int pins ); void pin_output_mode (int pins ); void pin_mode (pines int , int modo );

El argumento de los pins de las tres funciones acepta las constantes LP_PINnn vez Parapin se ha inicializado (Seccin 5 ) , y los pines se han configurado como pines de salida (Seccin 6 ) , los valores pueden hacerse valer en los pins utilizando las siguientes funciones:

void set_pin (int pins ); void clear_pin (int pins ); void change_pin (pines int , int estado) ;

valor que se afirma la `` extremo '' se puede consultar mediante la siguiente funcin . Tenga en cuenta que el estado pata slo puede ser consultada slo si son los pines de entrada (por el hardware o configurar como entrada ) .

int pin_is_set (int pins );

Si desea utilizar la versin del kernel de Parapin de un programa de espacio de usuario sin necesidad de escribir su propio controlador especfico del hardware , se puede cargar el mdulo parapindriver despus de cargar kparapin . Este controlador de dispositivo expone la funcionalidad de kparapin a travs de una interfaz normal de carcter dispositivo (con excepcin de la gestin de interrupciones ) . Las principales ventajas son que el acceso a la funcionalidad del puerto paralelo de Parapin puede ser controlado a travs del sistema de archivos / dev permisos y toda la interaccin se realiza a travs del sistema del dispositivo orientada estndar llamadas como open () , close () , y ioctl (). Cuando la construccin de un programa de espacio de usuario que va a hacer uso de la interfaz parapindriver a kparapin , debe incluir parapindriver.h . Este archivo de encabezado define los comandos ioctl especficos de dispositivos que se utilizan para comunicarse con el controlador de dispositivo. Tambin incluye parapin.h , por lo que el programa puede hacer uso de todo el `` LP_ * constantes '' . Las llamadas al sistema parapindriver toman argumentos utilizando estas constantes y los pasan sin cambios a las rutinas kparapin .

Una vez parapindriver se carga correctamente, y una entrada correspondiente / dev est en su lugar , la inicializacin y parada del puerto paralelo son fciles. Para inicializar el sistema Parapin , simplemente llame a open (2 ) a la entrada / dev como lo hara con cualquier otro archivo de dispositivo : int dispositivo; device = open ( "/ dev /", 0); if ( dispositivo < 0 ) { fprintf ( stderr, " dispositivo abierto fallado \ n"); exit ( 1); } El nombre del dispositivo es tpicamente parport0 , parport1 , parport2 , etc .. ( como se encuentra en Fedora Core 4 sistema Linux) . Para apagar el sistema Parapin usted simplemente tiene que llamar a close (2 ) :

cerrar ( dispositivo) ;

Cuando se utiliza la interfaz de dispositivo parapindriver , todas las funciones relacionadas con pines en el puerto paralelo se invoca a travs de la ioctl ( 2 ) llamada al sistema . Los comandos ioctl para parapindriver se definen en el archivo de cabecera parapindriver.h . Los dos se utiliza para establecer los pins ser cualquiera pines de salida o pines de entrada son `` PPDRV_IOC_PINMODE_OUT '' y `` PPDRV_IOC_PINMODE_IN '' , respectivamente. Ejemplos:

ioctl ( dispositivo, PPDRV_IOC_PINMODE_OUT , LP_PIN01 | LP_PIN02 ); ioctl ( dispositivo, PPDRV_IOC_PINMODE_IN , LP_PIN11 );

Configuracin de estado del pin a travs de la interfaz de controlador de dispositivo sigue todas las mismas reglas que las descritas anteriormente . Los comandos ioctl utilizados son `` PPDRV_IOC_PINSET '' y `` PPDRV_IOC_PINCLEAR '' .

ioctl ( dispositivo, PPDRV_IOC_PINSET , LP_PIN01 | LP_PIN02 ); ioctl ( dispositivo, PPDRV_IOC_PINCLEAR , LP_PIN01 );

Consulta de estado del pin a travs de la interfaz de controlador de dispositivo sigue todas las mismas reglas que las descritas anteriormente . El comando ioctl utilizado es `` PPDRV_IOC_PINGET '' . Tenga en cuenta que el estado pata slo puede ser consultada slo si son los pines de entrada (por el hardware o configurar como entrada ) .

int valor ; valor = ioctl ( dispositivo, PPDRV_IOC_PINGET , DATA) ;

Los argumentos de estas llamadas ioctl utilizan exactamente las mismas constantes que son utilizados por las versiones de espacio de usuario y el kernel de Parapin s mismo. Los valores de retorno de las llamadas ioctl son los mismos que los definidos para las funciones correspondientes en kparapin (ms valor ENOTTY indica que un valor no vlido comando ioctl fue transmitido ) .

Los pines del puerto paralelo se accede con constantes en forma de LP_PIN ms el nmero de pin de puerto paralelo. Por ejemplo LP_PIN02 refiere al paralelo pin puerto 2 que son datos D0 a cabo pin. Sugerencia de programacin : Por lo general , es ms conveniente utilizar # define declaraciones para dar pins nombres lgicos que tienen significado en el contexto de su aplicacin. Ejemplo :

# include " parapin.h "

# define VCC LP_PIN02 # define CS LP_PIN03 # define CLK LP_PIN04 # define D0 LP_PIN10 / * entrada de pin * / ... clear_pin ( CS ); / * Tirn de seleccin de chip de baja , dilo a adquirir * / ... set_pin ( CLK ) ; / * Reloj que * / clear_pin ( CLK ) ;

Parapin tambin admite interrupciones a travs del puerto paralelo. Actualmente , Parapin slo admite un nico puerto paralelo a la vez. Muchas de las nuevas distribuciones de Linux incluyen parport controlador de dispositivo del kernel ya integrado al sistema listo para usar.

Docmentation Parapin est disponible en http://www.epanorama.net/counter.php?url=http://parapin.sourceforge.net/doc/parapin.html . La mayor parte de la descripcin Parapin dan por encima de la documentacin forma ade editado encontrado en esa direccin.

Otro software que controla el puerto paralelo Linux

Parashell es un programa que le permite controlar el puerto paralelo (entrada y salida ) mediante simples argumentos de la lnea de comandos. Debido a su interfaz fcil todo lo que necesitas saber es la direccin del puerto paralelo (es decir , 0x378 , 0x3bc , etc) y un poco acerca de binario. Este software se puede encontrar en http://www.epanorama.net/counter.php?url=http://parashell.sourceforge.net/ Ejemplo de uso:

/ usr / local / bin / parashell 0x378 VALOR

Cuando el valor es el valor numrico que desea enviar a paralelo pines de datos del puerto . Parasheel programa es fcil de usar en los scripts de shell . El paquete de software viene con ejemplos de scripts de shell. Parasheel tambin se puede utilizar para leer los estados de pin escrito :

/ usr / local / bin / pin 0x378

NOTA : Es necesario tener derecho raz en con xito programas parashell ejecutar.

MatPLC es un programa que podra valer la pena comprobar tambin . MatPLC es un programa PLC- como para Linux (PLC = Controlador Lgico Programable ) , licenciado bajo la GNU GPL. El software se puede controlar tambin el puerto paralelo de la PC . Pgina de inicio MatPLC se puede encontrar en http://www.epanorama.net/counter.php?url=http://mat.sourceforge.net/ .

El control de puerto paralelo a travs de web

Es posible construir un sistema que le permite controlar sus pines del puerto paralelo a travs de una web. Para ello, tiene las siguientes partes de su sistema Linux:

Un software de servidor web : Apache es el ms popular , Boa Tambin es posible El uso conrolling pginas web de interfaz ( que tienen que hacer los mismo , las posibles formas de la tela con unos botones de control ) Puerto paralelo controlar script CGI -BIN ( tienes que escribir esto) El programa de control que controlan el puerto paralelo ( el programa de control de Linux descrito anteriormente es adecuado )

Por lo general, basado en la web de E / S del dispositivo que controla las obras de la siguiente manera :

1 . Usuarios descarga una pgina web de alguna pgina donde las pginas web es (navegador web hace desde addess dado) 2 . El navegador web de usuario muestra el usuario de la pgina web descargada que ha necesitado el control ( formularios, botones , etc ) 3 . El usuario pulsa algn botn de control o botn de enviar el formulario 4 . La operacin del usuario en el paso 3 hace que el navegador web para enviar la informacin ( que se pulsa una tecla o un formulario contenido de datos ) a la direccin web que figura en la pgina web donde este botn / form es (puede ser igual o diferente del servidor web donde estuvo liderado la forma ) 5 . Un servidor web en esa direccin indicada recibe los datos desde el navegador web del usuario, comprueba que correcto y lo enva en algn comando camino al hardware real para hacer lo necesario ( esto se podra llamar al controlador de hardware o sealizacin alguna otra aplicacin en ejecucin en algn lugar accesible desde el servidor web)

Normalmente la web basado uder edificio interfaz se puede dividir en dos partes: bastante differnet : La parte de interfaz web (conseguir el formulario de informacin de control utilizado para la computadora ) y controlar el hardware real

La primera parte incluir ese servidor web, el control de las pginas web y scripts necesarios para tomar los controles de usuario . Hay una amplia seleccin de lenguajes de programacin adecuados, ms atractivos para esto podra ser Perl , PHP y UNIX shell script (bash ) . Al aquellos se pueden utilizar para hacer para leer los controles de usuario . La segunda parte tiene que ser por lo general por escrito utilizando el lenguaje C , porque la mayora de los lenguajes de script generalmente carecen de las caractersticas para hacer control directo de hardware real. Para este lenguaje C es generalmente el mejor enfoque. La idea es tht el control de hardware de bajo nivel real se realiza con el programa C simple, y luego el guin ( en parte 1) enva controles a este programa en C de alguna manera ( en el caso ms sencillo se ejecuta este programa en C con argumentos de lnea de comando de la derecha cada vez que de hardware necesita ser controlado ) .

Simple CGI- BIN ejemplo el control de

En este ejemplo, la idea es que usted hace una pgina web que tiene los botones de control de lo que controla que quieres hacer . Los botones de control se establecen para que pulsando las causa navegador web del usuario para enviar el contenido del formulario a un script CGI -BIN . Esta llamada hace que el servidor web para ejecutar el script CGI- BIN especificado. Los scrips cgi-bin est escrito para llevar a cabo el control necesario, normalmente llamando al programa de control de puerto paralelo con los parmetros adecuados.

Esta es la idea bsica de cmo hacer esto .

Aqu hay un ejemplo de aplicacin web para controlar simple. Haga lo siguiente para que funcione :

1 . Asegrese de que el sistema est ejecutando el servidor web Apache. La mayora de las distribuciones de Linux ya vienen con este software de servidor web. Asegrese de que ha instalado Apache. Los pasos flllowing esperan que ejecute el sistema Linux con Apache configurado correctamente ( Red Hat 7.2 configuracin predeterminada de Linux estn bien ) . Me epect que el material relacionado pginas web se encuentra en el directorio / var / www / (este es lugar tpico en los sistemas Red Hat Linux , en otras distribuciones el lugar puede variar, cambiar los ejemplos en este caso , segn sea necesario ) . Asegrese de que se ejecuta el servidor web. Puede empezar es por ejemplo con el comando siguiente ( en la mayora de los sistemas que necesita ser root para hacer esto) :

/ sbin / service httpd start

Asegrese de que puede acceder a su ordenador Linux con el navegador web ( que se ejecuta en el mismo u otro ordenador ) cuando Apache se est ejecutando en el equipo Linux.

2 . Compilar el cdigo fuente lptout.c a LPTOUT programa binario , copie el pgoram a / usr / sbin / directorio y derechos establecidos para que siempre se ejecute como root. Puede hacerlo iniciando sesin como root y ejecutar los siguientes comandos:

gcc -O -o lptout.c lptout.ccp LPTOUT / usr / sbin / LPTOUTchmod + s / usr / sbin / LPTOUT

Esto tambin debera hacerla presente . Ahora todo el mundo debera ser capaz de ejecutar el comando. Prueba de esto al iniciar sesin como alguien diferente a root y excute el comando:

/ usr / sbin / LPTOUT 0xff

Esto debe activar todos los pines del puerto paralelo LPT1 datos de altura ( 3 .. 5V) . Ejecutando comando

/ usr / sbin / LPTOUT 0xff

debe convertir todos los pines de salida bajas (0 .. 1 V ) . Asegrese de que esto funciona sin problemas. Prueba de que el puerto se pone muy controlada con este programa con un multmetro o el circuito de LED decribed en el comienzo de este documento .

3 . Instalacin de los scripts CGI para control del puerto paralelo . Las secuencias de comandos que necesita son lpton.cgi y lptoff.cgi . Haga clic en los nombres de archivo para ver el cdigo fuente , utilice " ver fuente ", si es necesario, guarde los archivos en el sistema con nombres lpton.cgi y lptoff.cgi . A continuacin, copie los archivos en el directorio cgi - bin del servidor web y darle los derechos de ejecucin necesarias . Inicie una sesin como root y hacer los siguientes comandos en el diectory donde almacen el lpton.cgi y lptoff.cgi :

lpton.cgi cp / var / www / cgi - bin / lpton.cgilptoff.cgi cp / var / www / cgi - bin / lptoff.cgichmod go + rx / var / www / cgi - bin / lpton.cgichmod go + rx / var / www / cgi - bin / lptoff.cgi

4 . Instale la pgina web que controla necesario. En este ejemplo, la pgina web controllign reside en la direccin web http://www.epanorama.net/counter.php?url=http://yourservernamehere/lpt/index.html donde el " yourservernamehere " significa el nombre o la direccin IP de el equipo Linux se ejecuta esta aplicacin en . Se necesita el cdigo fuente de la pgina web index.html ( haga clic en nombre de archivo para ver el cdigo fuente , utilice " ver fuente " , si es necesario , guardar en su computadora como un archivo index.html ) . Para crear el directorio web para el puerto paralelo para controlar haga lo siguiente cuando inicie sesin como root:

cd / var / www / html /mkdir lptchmod go + rx lpt

Ahora vaya al directorio donde tienes el archivo index.html y copiarlo al directorio creado con comandos siguientes ( an est conectado como root )

cp index.html / var / www / html / lpt / index.htmlgo chmod + r / var / www / html / lpt / index.html

5 . Compruebe que puede acceder a la pgina de control en el servidor Linux. Apunte su navegador web para addewss http://www.epanorama.net/counter.php?url=http://yourservernamehere/lpt/index.html donde el " yourservernamehere " significa el nombre o la direccin IP de su ordenador con Linux . Usted debe ver una pgina de control que se ve algo como esto:

6 . Prueba presionando los botones de control y ver que los pines de salida del puerto paralle cambian su estado tan controlado.

Usted puede encontrar todos los archivos necesarios para este proyecto web sencilla en un archivo tar llamado weblpt.tar . Slo tienes que descargar a tu sistema Linux y expandirla al directorio adecuado con el comando

tar xvf weblpt.tar

Ahora usted tiene todos los archivos que necesita . Slo hacer los pasos necesarios con ellos y usted debe obtener su solicitud de control simple de la tela de trabajo tambin.

NOTA : Este es un ejemplo sencillo de puerto paralelo de control a travs de web . Este ejemplo no es proably la forma ms convient o eficiente para hacer el control , pero ha funcionado para m . Al hacer de la electrnica que se controla a travs de la web , es necesario pensar siempre en la seguridad de la informacin relacionada con esta , lo que significa que slo las personas whos shoudl ser capaces de hacer el control se puede hacer esto y nadie puede cortar fcilmente a su sistema. Este mtodo tiene riesgos de seguridad potanetial porque el programa LPTOUT siempre se ejecuta en los derechos de root ( si alguien puede hacer que se caiga de alguna manera esto potencialmente puede causar problemas de seguridad ) . Para hacer todos los pasos mencionados en este documento lo que necesita estar conectado como root en el sistema para hacer lo que se necesita , cuando se est como root , se puede hacer un montn de dao a su sistema si usted hace errores estpidos .

Puerto paralelo para controlar el uso de PHP

He aqu otro ejemplo de cdigo fuente de control del puerto paralelo . ste fue enviado a m por Andrew Nickson para ser incluido en esta pgina web. Este es un script php que permitir la escritura de los datos en el puerto paralelo . Usted necesita tener un servidor web Apache y una versin decente de PHP se instala con Apache. Muchas distribuciones Linux incluyen esas herramientas si ha seleccionado aquellos que se instalar en su sistema ( Si usted no tiene verlos es necesario instalarlos ) .

Hay dos archivos, uno el script php real y el otro es el formulario de datos utilizados para obtener la entrada a los usuarios. Para este script funcione es necesario tener el mismo programa LPTOUT empleado en el ejemplo anterior en el ordenador en / usr / local / sbin suficiente razn de que el servidor web puede ejecutarlo.

Aqu est el cdigo fuente de lptout.php / parallel.php:

Hay dos archivos, uno el script php real y el otro es el formulario de datos utilizados para obtener la entrada a los usuarios. Para este script funcione es necesario tener el mismo programa LPTOUT empleado en el ejemplo anterior en el ordenador en / usr / local / sbin suficiente razn de que el servidor web puede ejecutarlo.

Aqu est el cdigo fuente de lptout.php / parallel.php:

Parallel Port Controller

Value (HEX)

Puede donwload la descarga esos cdigos fuente como un paquete comprimido con el nombre de archivo lptoutphp.zip . Sola PHP4 cuando escrib esta fuente hace aos de cdigo.

Control Web con PHP y AJAX

La interfaz web softwae portcontrol para el control del puerto paralelo es sencilla interfaz basada en web moderno para el control del puerto paralelo . El software se basa en el software PHP se ejecuta en el servidor Linux y una aplicacin cliente basada en JavaScript que se ejecuta en el navegador web del usuario. Con esta apprioach es posible obtener el estado casi en tiempo real de los pines de datos del puerto paralelo a la pantalla muy bien y hacer el control flexibles fcilmente.

El extremo del servidor se basa en pequea pieza de cdigo PHP y el software portconrol . portconrol es una E / S del programa de control de puerto para Linux de uso general sencillo. Te permite escribir y leer los puertos de E / S admitidas . El software permite escribir valores especificada en el puerto , la lectura de valor en determinada direccin de E / S que se puede imprimir a la pantalla en diferentes formatos y manipulacin a nivel de bit de los datos del puerto .

El archivo control.php hace la magia conrol puerto. Cuando se carga , el usuario obtiene una pgina web ms extremo del usuario El cdigo JavaScript . Ese cdigo JavaScript peridicamente (una vez en 5 segundos) pide al Estado rector del puerto paralelo del servidor (AJAX llamada) y si ha cambiado de estado de las actualizaciones de la pantalla. Tambin se ocupa de los botones de control . Cada botn de control de la prensa hace que el software de control para llamar al servidor para realizar la funcin deseada ( llamada AJAX ) . Despus de controlar se hace, el servidor devuelve el estado actual del puerto ( que se imprime en la pantalla) . Cuando el software de control est escrito de esta manera , funciona prerry bien y se siente casi como un programas de aplicaciones grficas que controlan el puerto paralelo directamente (en lugar de la aplicacin web tpica que se carga la pgina web una y otra vez cada vez que haces algo).

Adems de la secuencia de comandos PHP controllign real , he escrito tambin una nueva versin del archivo control.php . Este trabajo de archivos controlfile.php ms o menos en la misma forma , pero en lugar de controlar el puerto paralelo escribe y lee el estado de un archivo ( status.txt en el mismo directorio que el script es ) . Se puede utilizar para probar fcilmente el anuwhere sistema de control basado en AJAX / PHP ( el equipo no necesita someterse a algn puerto real en ella ) . La aplicacin de prueba basada en archivos AJAX control de puerto es availble aqu para que lo pruebe.

El software portcontrol con interfaz web se encuentra disponible como paquete portcontrol.tar que incluye el cdigo fuente , instrucciones de compilacin / instalacin y instrucciones de uso. Para obtener ms detalles revise el README.

Para utilizar el software que necesita para descargar tambin Sajax Toolkit simple Ajax por ModernMethod de http://www.epanorama.net/counter.php?url=http://www.modernmethod.com/sajax/ . He desarrollado este software utilizando PHP4 hace algunos aos. No he probado el software con PHP5 .

Control Web con PHP y AJAX en el sistema de Windows

Debido varias solicitudes tambin he hecho un puerto de Windows de mi Web que controla el uso de PHP y el sistema de AJAX. Esa versin de Windows se basa en los siguientes componentes :

PHP servidor web capaz que se ejecuta en el sistema Windows (yo us PortableWebAp versin 3.2 ) Versin de Windows de mi portcontrol descargas ( portcontrol.exe ) controlador inpout32.dll necesario por portcontrol.exe a ser capaz de controlar el hardware en los sistemas de Windows NT/2000/XP Versin ligeramente modificada de mis " control Web con PHP y AJAX " scripts PHP . Las modificaciones necesarias se refieren principalmente a los diferentes programas portcontrol ejecutable ( portcontrol vs portcontrol.exe ) nombre y la ruta de programa diferente (En Windows versin ejecutable se encuentra en mismo directorio que el cdigo PHP)

Para utilizar el paquete que tiene que hacer lo siguiente:

En primer lugar es necesario descargar la versin 3.2 de PortableWebAp http://www.epanorama.net/counter.php?url=http://portablewebap.com/ . Este es un paquete de software libre , aunque para conseguirlo es necesario registrarse primero . PortableWebAp es una plataforma porttil para aplicaciones web. Con l usted puede ejecutar aplicaciones web php desde un CD-ROM , DVD, unidad USB , desde cualquier directorio de cualquier unidad de disco duro . No es necesaria la instalacin . He escogido este packege por la sencillez de instalacin : Simplemente descomprima el archivo zip en el directorio que desee y ejecutarlo desde all. . No requiere instalacin o configuracin necesaria . El tamao es slo alrededor de 5 MB . El ms fcil de configurar el servidor web para Windows que he visto ! Por ejemplo instalar este software en el directorio C: \ PortableWebAp3.2

NORE : El software ha sido probado para trabajar bien en PortableWebAp versin 3.2 (incluye PHP4 ) . El paquete de software no parece funcionar con una versin ms nueva PortableWebAp 4 .

Luego hay que descargar inpout32 controlador desde http://www.epanorama.net/counter.php?url=http://www.logix4u.net/inpout32.htm . Descargue el archivo zip. Que contiene el controlador . Descomprimir el archivo zip. Al directorio adecuado. Copie inpout32.dll al directorio del sistema en el que el sistema puede encontrarlo. En mi sistema de Windows 2000 directorio adecuado era C: \ WINNT \ system32 ( si utiliza diferentes verwion de Windows que puede ser diferente) .

El tercer componente que necesita son mi script PHP y el paquete portcontrol.exe . Descarga este paquete WinPortControlAjax.zip AQU . Slo tienes que descargar el archivo zip. . Cree un directorio llamado portcontrol en el directorio C: \ PortableWebAp3.2 \ Program \ www \ localhost . Ahora descomprimir el paquete a esta C: \ PortableWebAp3.2 \ directorio \ portcontrol \ localhost www programa \ .

Ahora usted tiene todas las piezas necesarias para configurar el sistema . La siguiente parte es la prueba :

Inicie el PortableWebAp ejecutando portablewebap.exe desde C: \ PortableWebAp3.2 directorio. Esto iniciar el servidor web y tambin su navegador web. Si su computadora tiene software de servidor de seguridad en el mismo, el software de firewall puede preguntar si desea que este programa para permitir que se ejecute como un servicio / servidor ( permitirlo ) . El navegador inicialmente apunta a URL http://localhost:800/ . Escriba el http://localhost:800/portcontrol/control.php direccin a su navegador web para ir a la aplicacin de control de puerto. Usted tiene ahora la misma pantalla de control mirando como en aplicacin de Linux anteriormente.

Tambin existe una versin ms reciente del software de ejemplo para PortableWebAp versin 4. Descargue el archivo PortcontrolWebAp4.zip . Simplemente descomprima el archivo de programa \ www \ localhost \ portcontrol subdirectorio bajo el directorio donde se instal el PortcontrolWebAp4 . Escriba el http://localhost:800/portcontrol/control.php direccin a su navegador web para ir a la aplicacin de control de puerto. Este archivo PortcontrolWebAp4.zip es todo lo que necesita , adems de PortableWebAp porque este nuevo paquete incluye todos los archivos necesarios en el mismo (fuente PHP, Sajax , portcontrol.exe y inpout32 conductor) .

Esto funciona bastante tambin en el sistema Windows . Hay un inconveniente en la forma en que este sistema de Windows se implementa . Has visto a la pantalla de vez en cuando a parpadear en el equipo que ejecuta el servidor. Esto es causado por la portcontrol.exe comenzar cada pocos segundos ( iniciadas por control.php cuando el navegador web AJAX pide actualizacin de estado ) . Se pone en marcha cada vez que portcontrol.exe , es la consola ventana aparece ( se ve la ventana de la consola porque portcontrol.exe es una aplicacin de consola de Windows ) , y se cierra slo una fraccin de segundo ms tarde.

Modificaciones ideas para la interfaz web

Se me ha preguntado cmo controlar otros pines en el puerto paralelo que slo los pines de datos . Aqu hay algunas instrucciones de cmo modificar el cdigo fuente de la interfaz web para hacerlo.

El programa portcontrol que hace las cosas reales contolling puerto ya es compatible con el control de muchas otras cosas que slo las clavijas de datos del puerto paralelo. El ejemplo de cdigo PHP control.php simplemente no soporta esas caractersticas. Si desea utilizar estas funciones, es necesario modificar el cdigo fuente control.php y cambiar la definicin de puerto en l. Si usted quiere controlar los dos pines de datos y dems alfileres , entonces podra ser una buena idea hacer una copia de control.php a otro nombre y hacer modificaciones a la misma.

Para realizar los cambios abren el control de cdigo PHP puerto , y modificar las siguientes lneas :

En el sistema de Windows:

return " Time: " . date("M dS, Y, H:i:s ") . "Status: " . 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");

In Linux system:

return " Time: " . date("M dS, Y, H:i:s ") . "Status: " . 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");

By changing the LPT1DATA to one of supported port identifier, the controlling will be done to that port:

* Supported port identifiers * LPT1DATA * LPT1STATUS * LPT1HANDSHAKE * JOYSTICK* NONE

Para el control de los pines del puerto paralelo LPT1STATUS y LPT1HANDSHAKE son los puertos para su uso.

El control de algo de electrnica del mundo real

La idea de la interfaz se muestra arriba se puede ampliar para controlar algunos electrnica externa por simple adicin de un circuito de memoria intermedia para el puerto paralelo. La programacin puede realizarse exactamente de la misma manera segn lo dicho en mis ejemplos.

La construccin de sus propios circuitos de rel que controla

El siguiente circuito es la interfaz simples que usted puede utilizar para controlar el rel de puerto paralelo:

El circuito puede manejar rels que tienen corrientes de hasta 100 mA y operan a 24V o menos . El circuito necesita fuente de alimentacin externa que tiene la tensin de salida que es el adecuado para controlar el rel ( 5 .. 24 V dependiendo de rel) . El transistor hace la conmutacin de la corriente y el diodo prevenir picos de la forma de la bobina del rel que daan su ordenador ( si se deja el diodo fuera , entonces el transistor y el ordenador pueden ser daados ) .

Desde bobinas (solenoides y bobinas de los rels ) tienen una gran cantidad de inductancia , cuando se liberan ( cuando la corriente se corta ) que generar un gran pico de voltaje . La mayora de los diseos tienen un diodo o circuito de palanca diseado para bloquear que pico de voltaje de golpear el resto del circuito . Si ese diodo es malo, entonces el pico de tensin podra estar destruyendo su transistor "sumidero " o incluso la tarjeta de E / S en un periodo de tiempo. El modo de fallo para el transistor sumidero podra ser un cortocircuito, y en consecuencia que tendra la llave magntica en cortocircuito a tierra de manera indefinida.

El circuito puede ser utilizado tambin para controlar otras cargas pequeas como potentes LEDs , lmparas y pequeos motores de corriente continua . Tenga en cuenta que los dispositivos que desee controlar directamente desde el transistor debe tener menos de 100 mA de corriente .

ADVERTENCIA: Compruebe y vuelva a comprobar el circuito antes de conectarlo a su PC. El uso de un tipo errneo o componentes daados pueden causar que el puerto paralllel estropean . Los errores en la toma del circuito puede ocasionar que haya daos en su puerto paralelo y la necesidad de comprar una nueva tarjeta multi- io . El diodo 1N4002 en paralelo con el rel es un componente esencial de proteccin y no debe dejarse de lado en caso de acu, o un dao del puerto paralelo puede ocurrir debido a la alta tensin de contragolpe inductiva de la bobina del rel ( diodo que detiene esa espiga de occuring ) ,

Diseo de Safer nueva

El circuito de ejemplo anterior funciona bien y cuando el transistor es del tipo correcto y funciona correctamente. Si por alguna razn B y C debern ser llenados los una entre s y que estn demandando ms de 5 V en el lado del rel , el circuito puede empujar a que una mayor tensin en el puerto paralelo para daarlo . El siguiente circuito utiliza dos diodos 1N4148 para proteger el puerto paralelo contra superior a 5 seales V y tambin contra las seales de polaridad equivocada (potencia en el circuito es por accidente en la polaridad incorrecta.

Aadiendo an ms la idea de seguridad: Repalce el diodo 1N4148 conectado a tierra con diodo Zener 5.1V. Ese diodo entonces proteger contra picos de sobretensin y tensin negativa al mismo tiempo.

Ejemplo de circuito de Bad

Yo no s por qu me veo novatos que no creo que la electrnica muy bien pero siempre poniendo el rel "despus" del transistor, como si eso fuera algo importante. Pues no lo es, y de hecho es una mala prctica si desea que el puerto paralelo funcione bien! Este tipo de malos diseos de circuitos se han publicado en los grupos de noticias de Usenet electrnica muy a menudo. El siguiente circuito es ejemplo de este tipo de diseo de circuitos mal (no intente construirlo):

NOTA: Este es un mal diseo. No construir o utilizar este circuito.

El problema del circuito es que el voltaje que va al rel siempre est limitada a menos de 4,5 V incluso si se utiliza una mayor oferta Vcc. El circuito acta como un seguidor de emisor, lo que hace que el voltaje en el emisor es siempre al valor de la tensin de base - la base al emisor de tensin (0,6 .. 0,7 V). Esto significa que con el mximo de tensin de control 5.1V obtendr mximo de 4.5V a cabo no importa cul es la tensin de alimentacin (cuando superior a 5V y por debajo transistor voltaje de ruptura).

Otro problema es que en algunos casos este tipo de circuito puede comenzar a oscilar si la resistencia de base est justo en el borde.

Circuito bsico con aislamiento ptico

Una de las simples optoaislados circuito de salida para el puerto paralelo es el siguiente circuito basado 4N33:

El dispositivo optocouplet 4N33 tiene un transistor de salida Darlington que es capaz de manejar hasta 30 mA de carga de manera segura . La tensin mxima en el lado de salida es 30V . La entrada al aislamiento de salida puede manejar hasta 1500 V de tensin . Se conecta el lado de entrada + al pin de salida del puerto paralelo que desea utilizar para el control. Luego se conecta la entrada - lado en paralelo pin de tierra del puerto. El lado de salida est conectado al circuito para ser controlado en polaridad correcta . En este ejemplo se utiliza cirucit 1 kohm resistencia para limitar la corriente actual de control ( circuito tambin debera funcionar bien con resistencia de 470 ohm) . Debido a que la corriente alimentada al acoplador ptico es muy baja ( slo unos pocos mA ), el garantizado outptu reciente disponible del optoacoplador es baja. Usted puede esperar para obtener algo as como 10 mA de capacidad de la unidad de salida ( tal vez ms si tienes la suerte de tener un acoplador con alto CTR y el puerto paralelo con alta corriente de salida). El circuito se puede construir tambin utilizando 4N32 optoacoplador que es muy similar a 4N33 .

Datos de componentes 4N33 :

El 4N32 y 4N33 son pticamente aisladores acoplados con arseniuro de galio LED infrarrojo y un sensor Photodarlington solicon . La conmutacin se puede lograr manteniendo al mismo tiempo un alto grado de aislamiento entre los circuitos de conduccin y de carga . Muy alta velocidad de transferencia de corriente , 500 % Min . Alta resistencia de aislamiento Corriente continua mxima 60 mA Tensin de ruptura del colector -emisor de salida 30V La salida se puede llegar fcilmente en coche 50 mA Salida mxima disipacin de potencia 150 mW Aislamiento ensayado 5300V

Los datos de los componentes se ha tomado de ficha tcnica disponible en http://www.epanorama.net/counter.php?url=http://www.vishay.com/docs/83736/83736.pdf . Estos optoacopladores se pueden utilizar para reemplazar caa y rels de mercurio con ventajas de larga vida , conmutacin de alta velocidad y la eliminacin de los campos magnticos .

El transistor amplifica circuito optoacoplador

Si usted desea tener una muy buena proteccin y del puerto paralelo y ms capacidad de disco que usted puede ser que considere aislamiento ptico utilizando el siguiente tipo de circuito :

Pinout optoaislador tpica (CNY 17 y 4N25):

El aislador ptico est ah para proteger el puerto . Tenga en cuenta que no hay conexiones entre los contactos elctricos del puerto. El circuito se alimenta desde la fuente de alimentacin externo que no est conectado al PC si no hay necesidad de que . Esta disposicin impide cualquier corriente en los circuitos externos de daar el puerto paralelo .

La entrada del aislador ptico es un diode.R1 emisor de luz se utiliza para limitar la corriente cuando la salida desde el puerto est activado. Esa resistencia 1kohm limita la corriente a unos 3 mA , que es sufficent bien para que la conduccin transistor de salida.

El lado de salida del opto-aislador es como un transistor , con el colector en la parte superior del circuito y el emisor en la parte inferior . Cuando la salida est activada ( por la entrada de luz desde el LED en el opto- acoplador interno) , la corriente fluye a travs de la resistencia y en el transistor, encendindolo. Esto permite que la corriente fluya en el rel La corriente de salida del opto-aislador con la corriente de entrada listados arriba, debera ser alrededor de 1-3 mA ( depende del tipo de optisolator exacta y variaciones de los componentes ) . Esta corriente pasa a travs de R2 a la base TRANSISTO .

Encendido de la entrada en el puerto paralelo fuera hace que la salida del opto-aislador para desactivar , por lo que no fluye corriente a travs de l en el transistor y el transistor se apaga . Cuando el transistor est apagado no fluye corriente en el rel , por lo que se apaga. El diodo proporciona una salida para la energa almacenada en la bobina , evitando que el rel de que exista retroalimentacin del circuito de una manera no deseada .

El transistor en el circuito se puede utilizar para controlar las cargas de salida a un mximo de alrededor de 100 mA ( depende en cierta medida de los componentes y la tensin de operacin utilizado ) . La fuente de alimentacin externa puede ser de 5 V a 24 V gama . Cuando se utiliza un rel que tarda menos de este 100 mA de corriente y trabaja en el suministro de energa que utilice, usted debe estar bien. La carga de salida que se puede controlar con el circuito con un rel slo depende de las capacidades de los contactos de salida de rel ( mximo voltaje y corriente mxima ) .

La prohibicin circuito utilizarse tambin directamente para el control de cargas pequeas (menos de 100 mA de corriente ) . Slo hay que poner la carga que desea controlar en el lugar de la bobina del rel .

Algunos datos de los componentes de los componentes utilizados :

2N2222A : transistor NPN, caso T018 , Vce = 40V, Vcb = 75V , Ic = 800 mA , Hfe = 100-300 , 300MHz , 500mW BC547A : NPN transistor en caso TO92 , Vce = 45V , Vcb = 50V , Ic = 100 mA , Hfe = 110-800 , 300MHz , 625mW CNY17 : Acoplador ptico con salida del fototransistor , CTR del 40% al 200 %, dependiendo de la versin , 4400 aislamiento Vdc 4N25 : optoacoplador con salida del fototransistor , CTR normalmente el 50% ( 20 % mnimo) , aislamiento 2500V , entrada de marcha adelante mA , 30V tensin de salida mx max 80

Circuito de control de potencia de alta optoaislada

Aqu es una versin de mayor potencia del circuito descrito anteriormente :

En este circuito Q1 se utiliza para controlar la corriente de base de Q2 que controla la corriente real . Puede seleccionar casi cualquier transistor de potencia de uso general para este circuito que se ajuste a sus necesidades de control de corriente y tensin . Algunos ejemplos de las alternativas son, por ejemplo TIP41C (6A 100V ) o 2N3055 (100V 15A) . Dependiendo de su amplificacin facter inherint a la Q2 transistor es posible que no hough poder utilizar la capacidad de corriente total del dispositivo de salida T2 antes de que haya prdidas excesivas (calefaccin) en el que el transistor .

Este circuito es bsicamente muy simple modificacin del circuito optoaislador original con un transistor . La diferencia en este circuito es que aqu T2 controla la corriente de carga y Q1 acta como un amplificador de corriente para la corriente de control de la base de T2. Aislador ptico , R1, R2 , Q1 , D1 trabajo exactamente de la misma manera como en un circuito de transistor describe eariler en estos documentos . R3 acta como una resistencia adicional que garantiza que T2 no lleva a cabo cuando no hay seal alimentada a la optoaislador ( pequea posible fuga de corriente en la salida optosiolator no hacen T1 y T2 para llevar a cabo ) .

Fuente de alimentacin de control con puerto paralelo

Es posible controlar la tensin de red a travs del puerto paralelo con un circuito adecuado . Cuando el control de la tensin de red , usted necesita estar varycarefyl y saber lo que usted hace para hacerlo con seguridad . La tensin de red puede matar si te pones en contacto con l, y lo malo de la red de control de circuito puede incendiar su casa.

Primera idea para controlar la potencia de la red es utilizar uno de los circuitos ms arriba para controlar un rel que controla entonces la tensin de red . Estos trajes para muchas aplicaciones , siempre y cuando el rel est clasificado para las aplicaciones de conmutacin de alimentacin de red y para la valoracin actual de las aplicaciones. El contacto de rel se utiliza para cambiar el cable de fase / live ir al Equiment . Un circuito diseado apropiadamente debe tener adems del rel (adems de circuito de interfaz de puerto paralelo) tambin un fusible de tamao peoprly que se corte la energa que va a travs del rel en caso de cortocircuito o sobrecarga en el equipo que est siendo controlado . El fusible aqu se utiliza para proteger el rel de sobrecarga . Un rel funcionar en aplicaciones en las que el dispositivo est encendido y apagado requieren raramente. Si est switchign el dispositivo encendido y apagado a menudo , el rel normal siffer de edad mecnica y elctrica limitada , y en algunas aplicaciones tambin sobre el ruido causado por las chispas que se forman cuando los contactos del rel de apertura y cierre . Esas chispas pueden causar ruido frequncy radio.

Otro de los componentes adecuados para controlar la tensin de red es un rel de estado slido. El espectculo del circuito a continuacin describe cmo controlar un rel de estado slido desde el puerto paralelo de la PC . El rel de estado slido controla la tensin de la red .

El rel para esta aplicacin debe sone clasificado para la tensin de red que utiliz y la corriente que su equipo controlado (marcado con una L en la foto ) realiza . Los rels de estado slido diseado para conexin a red proporcionan el aislamiento necesario entre la entrada de control y lado de la red . El rel de estado slido se debe utilizar segn las notas de aplicacin del fabricante y los cdigos de los equipos elctricos locales. Usted debe mantener el lado de la red y del lado de baja tensin aislados en todos los casos (incluso en caso de daos en el equipo). Tambin debe poner un fusible nominal adecuado en serie con el rel de estado slido de manera a proteger el rel de sobrecarga. Un fusible de tamao adecuado no proteger el rel de estado slido contra el sobrecalentamiento de la carga intenta tomar demasiada corriente a travs del rel. El fusible puede no ne capaz de proteger a los agains rel daos cortocircuito ( si un cortocircuito en la carga , por lo general pierde el rel de estado slido y el fusible) .

Muchos rels de estado slido se pueden controlar directamente al puerto paralelo sin componentes adicionales. Es necesario seleccionar un rel de estado slido que es controlado por tensin y el rango de tensin de control puede tomar la tensin que las salidas del puerto de impresora ( 5V o algo menos). Para un funcionamiento fiable , hay que seleccionar un rel que puede operar a hasta tensiones de entrada de 3V y no toma corriente de control demasiado (se prefiere un SSR que toma slo unos milliampreres porque la capacidad de produccin actual de puerto paralelo se suele limitar a eso). Para gurarantee que la operacin sea confiable , con la conexin directa, asegrese de medir que la vontage de control entra en el SSR est dentro del rango de funcionamiento especificado cuando el rel se controla al puerto paralelo (se puede medir esto en ausencia de red aplicada al resto de circuito , ms seguro o medida de esta manera). El control de un rel de estado slido con bajo que el voltaje de control especificado puede provocar un funcionamiento poco fiable de rel de estado slido, e incluso puede causar algunos rels de estado slido fallan cuando se cargan pesadamente !

Tambin es posible construir la tensin de red el control de parte a partir de componentes discretos . He aqu dos ejemplos de cirucuits :

Esos son slo como ejemplo . No te recomiendo para construir estos circuitos . Hoy en da los rels de estado slido estn disponibles a precios razonables , y con ellos es ms fcil de construir circuitos que controlan seguras .

Una cosa muy importante tener en cuenta en la red de control de los circuitos es que deben ser construidas con sumo cuidado y la derecha. La tensin de red puede matar si usted viene en contacto con l. Un circuito baddly construida puede recalentarse y provocar un incendio . Cualquier red que controlan circuito deben ser construidos de tal manera que hay un componente de proteccin de sobrecorriente que protege el circuito contra sobrecargas ( generalmente un fusible en la entrada de alimentacin ) . El circuito debe ser incorporado en una caja segura y mecnicamente estable . Una caja de plstico aislante ( caso de la electrnica hecha de plstico que no se quema fcilmente) es una opcin. Otra opcin es la de construir el circuito en una caja de metal gounded . Las prcticas exactas de cmo construir la red de seguridad circuitos alimentados est fuera del alcance de este artculo . Usted debe saber estos detalles antes de intentar cualquier ciruit incorporado que se conecta directamente a la red elctrica .

Controlador de salida de 8 canales compacto

Usted puede construir un circuito con muchas salidas por conbiming muchos circuitos de transistores basados individuales. Si desea hve una construccin compacta con hasta 8 salidas , yo recomendara que usted considere el uso de IC ULN2803 que es fabricado por Allegro y varios otros fabricantes . Aqu est el Pentrada de este ULN203 IC :

ULN2803 es un 50V 500mA TTL- entrada NPN darlington controlador de 8 bits. Con carga continua corriente nominal hasta 500 mA para cada uno de los conductores, la alta corriente array Darlington ULN2803A es ideal para la conexin entre el circuito lgico de bajo nivel y varias cargas elctricas perifricas. Las cargas tpicas incluyen rels , solenoides, motores paso a paso , martillos de impresin magnticos, LED e incandescentes displays multiplexados y calentadores . Los conductores necesitan ninguna fuente de alimentacin ; el pin " comn" VDD es el ctodo comn de los ocho diodos de proteccin integradas. La ficha de este IC se puede encontrar en http://www.epanorama.net/counter.php?url=http://www.allegromicro.com/sf/2801/ y http://www.epanorama.net/counter.php?url=http://impressolibre.sourceforge.net/miniplotter/ULN2803-D.PDF

El ULN2803 est conectada entre cada una de las ocho lneas de ' salida ' del puerto de la impresora y el dispositivo que controla. El "dispositivo" de salida puede ser tan simple como un LED , un pequeo motor , o un rel . Las entradas en el lado izquierdo de la IC son directamente adecuados para ser conectados a las lneas de salida del puerto paralelo de la PC . Las salidas son de salida de colector abierto (salida se conecta a tierra mediante transistor cuando corresponda lnea de entrada pasa a estado alto ) , por lo que son muy adecuados para el control de diversas cargas alimentadas a travs de fuente de alimentacin externa . La tensin mxima controlable es 50V y corriente mxima por canal es de 500 mA. Las salidas pueden conectarse en paralelo para la capacidad de corriente ms alta carga. Los lados de entrada y de salida del IC tienen el mismo terreno comn que debe ser conectado tambin a la terminal de tierra ULN2803 IC .

La lnea " comn" se conecta a un circuito de proteccin contra sobretensiones adecuada para evitar daos a la IC , debido a " fem " cuando las cargas tales como motores y rels encienden y apagan . Esta lnea "comn" puede ser , por ejemplo, conectado a la lnea de alimentacin que suministra energa a los rels. Tambin se puede utilizar por ejemplo 30V Zener conectado a esta lnea como componente protetion (fuente de alimentacin del rel lmites a la mxima de menos de 30 V) . O se puede conectar un Zener 12V ROLMC comn a la fuente de alimentacin del rel ms ( lmites a los picos de tensin de alimentacin de 12 V plus , no usan ms alta que la fuente de alimentacin de 30V ) .

He aqu un ejemplo de circuito de control que impulsa ocho LEDs usando ULN2803 IC :

Este circuito tambin se puede utilizar para conducir otro tipo de cargas , por ejemplo rels , bombillas pequeas de luz, etc Basta con sustituir el LED ms la combinacin de la resistencia con la carga que desee (siempre y cuando la carga est dentro de las capacidades de la capacidad de la unidad de salida ULN2803 ) . Puede utilizar, por ejemplo 15V Diodo Zener para este ciruit .

Otros ejemplos de circuitos implementados con ULN2803 se puede encontrar en http://www.epanorama.net/counter.php?url=http://www.southwest.com.au/~jfuller/electronics/integrated.htm y http://www.epanorama.net/counter.php?url=http://www.southwest.com.au/ ~ jfuller/sio5works.htm .

Enlaces a paralelo circuitos de salida del puerto

Enlaces Plano de conexiones elctricas

Conexin del ULN2803 al puerto de impresora PARALELO JUNTA PUERTO REL - Hay 8 rels cada uno capaces de conmutar 12VDC/10A o 240VAC/5A . Se vende como un kit con todos los detalles sobre la documentacin. Esta pgina le ofrece un software de control para su descarga. Puerto Paralelo Relay Interface - tres ejemplos de controlar un rel de puerto paralelo de la impresora de la PC El interfaz simplificado de E / S - Cmo funciona - En esta aplicacin de la IC ULN2803 , pequeas corrientes disponibles en el puerto de impresora se utilizan para controlar los dispositivos que no podan ser conectados directamente al puerto , como motores y rels. Diagramas de conexin del controlador de motor paso a paso Rel de control - La cuestin de cmo conectar y controlar un rel de puerto paralelo se acerc. He aqu cmo usted puede hacerlo, incluso si usted no sabe mucho acerca de la electrnica ! Interfaz de salida simplificado - es una interfaz sencilla y de bajo costo de control de salida para el puerto de impresora Centronics . El coste final por interfaz es menos de $ 30. El circuito integrado ( IC ) que se utiliza es un nio de ocho line "Controlador Darlington " codificado ULN2803 . El estado digital de cada una de las ocho lneas del puerto de la impresora se utiliza para controlar los " drivers" internos de la IC que a su vez controlan los LED. La energa para los LEDs es proporcionada por la batera externa. Four -Way I / O es una interfaz simple y de bajo costo de entrada / salida de 4 direcciones para el puerto de impresora Centronics . La seccin de salida es controlada por una lnea de ocho " Darlin