protocolo PTZ de enfoque de velocidad variable

1

Estoy construyendo sistemas de cámaras para montar en la parte superior de una torre de televisión. Cuando ruedan las nubes de tormenta, el video se muestra en el informe meteorológico del televisor. Nadie quiere subir a la torre para panoramizar, inclinar, hacer zoom y enfocar la cámara manualmente durante una tormenta eléctrica, por lo que los controlamos de forma remota. Actualmente controlo los sistemas con protocolo Pelco D sobre RS485.

Estoy construyendo algunos sistemas de cámara que son capaces de paneo, inclinación, zoom y enfoque de velocidad variable. (PTZ). (El prototipo tiene un Arduino que controla los motores de enfoque y enfoque).

Lamentablemente, mi copia antigua del protocolo estándar de Pelco D (y el protocolo anterior de Pelco P) no tiene una manera de decirle a la cámara qué velocidad para hacer zoom o enfocar. (Las únicas cosas de velocidad variable que admite son las funciones de giro e inclinación de velocidad variable). Así que en la actualidad, cablé la velocidad, lo que todos están de acuerdo es la velocidad incorrecta. Aproximadamente la mitad de la gente dice que es demasiado rápido, y el otro dice que es demasiado lento :-). Sería mucho más fácil encuadrar una toma y enfocar si pudiéramos aprovechar el hardware que ya tengo para hacer el control de velocidad variable.

Controlo ambos extremos del cable RS485, así que podría inventar otro protocolo aleatorio.

  • ¿Existe una extensión estándar o semi estándar para el protocolo de Pelco que admita el enfoque o el zoom de velocidad variable o ambos?
  • ¿Existe una buena manera de extender el protocolo de Pelco de manera que, cuando agregué nuevas cámaras y un nuevo controlador de cámara a un bus RS485 común, no entren en conflicto con cámaras antiguas y controladores de cámara antiguos que ya están en el autobús; ¿y es menos probable que entren en conflicto con las nuevas extensiones que otros pueden agregar más adelante?
  • ¿Hay algún otro protocolo estándar para controlar las cámaras de televisión, preferiblemente uno que admita el zoom de velocidad variable? Wikipedia dice que Pelco D se usa en "infancia" . ¿Hay mejores protocolos disponibles? Si es así, ¿cómo obtengo la información que necesito para implementar esos protocolos en mis sistemas de cámaras?
pregunta davidcary

5 respuestas

1

El comando 0x25 de Pelco es "Establecer velocidad de zoom", 0x27 es "Establecer velocidad de enfoque", ambos utilizan el valor en el 6to byte para establecer velocidades de 0-3:

Del manual de Pelco D Rev 4:

Estos dos comandos aceptan valores de 0 a 3, en el byte 6, para cambiar la velocidad de la función indicada. Algunas cámaras (como la cámara X12 en el Spectra I) no admiten estas funciones. Si la cámara no admite ninguna de estas funciones, o ambas, se ignora el comando. 0 es la velocidad más lenta, 3 es la más rápida.

Si falla, puede usar el comando 0x4F (ir a la posición del zoom) repetidamente para mover el zoom lentamente, o puede asignar algún otro comando o preset para indicar el zoom lento.

    
respondido por el John U
1

Mirando este tutorial (no oficial) de Pelco D / P hay hay tipos de mensaje para configurar la velocidad de zoom / enfoque en el conjunto de comandos extendido.

Anteriormente he usado funciones de presets de limpiaparabrisas / lavadoras / lámparas y cámaras en un controlador Dedicated Micro DS2. Siempre puede secuestrarlos para enviar señales de incremento / decremento a un parámetro de velocidad de giro rastreado en el extremo del alojamiento. Esto puede ser útil si desea utilizar una unidad de joystick de control existente que no admita el conjunto extendido.

Puede intentar firmar el NDA para obtener el documentos oficiales para confirmar.

    
respondido por el shuckc
1

La versión actual del Protocolo D es 5.2.10 a partir de agosto de 2013. Trabajo en Pelco y si desea una versión actual del protocolo, envíeme un correo electrónico a [email protected] y le enviaré un dupdo.

Hay varias formas de cambiar la velocidad del zoom / enfoque / iris. Nuestras cámaras no admiten el tipo de cambio de velocidad que podría parecer el más útil, es decir, que tiene el cambio de velocidad de una manera variable. Todo lo que nuestras cámaras pueden hacer es hacer cambios de pasos, lo que no es tan útil como podría ser.

Si desea agregar nuevos comandos al Protocolo D, la forma más sencilla de no interferir con el resto del Protocolo D es cambiar el primer byte de 0xFF a otra cosa. Luego, todos los usuarios deben ignorar el comando y usted tiene su extensión "propio Protocolo D". Podría realizar cambios directamente en el protocolo y, mientras no se conecte a un sistema de Protocolo D "real", nadie lo sabrá.

    
respondido por el Eric Hamilton
1

El comando del protocolo PelcoD consta de 7 bytes de la siguiente manera:

Byte 1 (Sync) - the synchronization byte, fixed to FF
Byte 2 (Camera Address) - logical address of the camera being controlled (Address 1 is 01)
Byte 3 & 4 (Command 1 and 2) are shown below
Byte 5 (Data 1) - pan speed, range from 00 (stop) to 3F (high speed) and FF for "turbo" speed (the maximum pan speed that the device can go)
Byte 6 (Data 2) - tilt speed, range from 00 (stop) to 3F (maximum speed)
Byte 7 (Checksum) - sum of bytes (excluding the synchronization byte), then modulo 100 (Decimal code: 256)

Aquí hay una lista de algunos de los comandos importantes en el protocolo de PelcoD que puede escribir directamente en el puerto serie, o si la cámara está conectada a usted por Ethernet, puede enviarlos como un paquete de red:

Function    Byte1   Byte2   Byte3   Byte4   Byte5   Byte6   Byte7
Up  0xFF    Address 0x00    0x08    Pan Speed   Tilt Speed  SUM
Down    0xFF    Address 0x00    0x10    Pan Speed   Tilt Speed  SUM
Left    0xFF    Address 0x00    0x04    Pan Speed   Tilt Speed  SUM
Right   0xFF    Address 0x00    0x02    Pan Speed   Tilt Speed  SUM
Upleft  0xFF    Address 0x00    0x0C    Pan Speed   Tilt Speed  SUM
Upright 0xFF    Address 0x00    0x0A    Pan Speed   Tilt Speed  SUM
DownLeft    0xFF    Address 0x00    0x14    Pan Speed   Tilt Speed  SUM
DownRight   0xFF    Address 0x00    0x12    Pan Speed   Tilt Speed  SUM
Zoom In 0xFF    Address 0x00    0x20    0x00    0x00    SUM
Zoom Out    0xFF    Address 0x00    0x40    0x00    0x00    SUM
Focus Far   0xFF    Address 0x00    0x80    0x00    0x00    SUM
Focus Near  0xFF    Address 0x01    0x00    0x00    0x00    SUM
Set Preset  0xFF    Address 0x00    0x03    0x00    Preset ID   SUM
Clear Preset    0xFF    Address 0x00    0x05    0x00    Preset ID   SUM
Call Preset 0xFF    Address 0x00    0x07    0x00    Preset ID   SUM
Query Pan Position  0xFF    Address 0x00    0x51    0x00    0x00    SUM
Query Pan Position Response 0xFF    Address 0x00    0x59    Value High Byte Value Low Byte  SUM
Query Tilt Position 0xFF    Address 0x00    0x53    0x00    0x00    SUM
Query Tilt Position Response    0xFF    Address 0x00    0x5B    Value High Byte Value Low Byte  SUM
Query Zoom Position 0xFF    Address 0x00    0x55    0x00    0x00    SUM
Query Zoom Position Response    0xFF    Address 0x00    0x5D    Value High Byte Value Low Byte  SUM

Los comandos anteriores de esta página.

Comando de PelcoD ejemplos : Dirección de la cámara: 1
Pan a la izquierda a alta velocidad: FF 01 00 04 3F 00 44
Pan a la derecha a velocidad media: FF 01 00 02 20 00 23
Incline hacia arriba a alta velocidad: A0 00 00 08 00 20 AF 27
Incline hacia abajo a velocidad media: FF 01 00 10 20 00 31
Detener todas las acciones (Pan / Tilt / Zoom / Iris, etc.): FF 01 00 00 00 00 01

Nota : no habrá respuesta de las cámaras en el protocolo Pelco-D < br>

    
respondido por el David
0

Esto puede parecer un poco de campo izquierdo, pero estaría tentado de usar el formato DMX.

Si no está familiarizado con él, se trata de un protocolo RS485 que se usa normalmente para la iluminación (incluidas las luces que panorámicas, inclinación, zoom) que consiste simplemente en 512 números de 8 bits que se repiten una y otra vez con una pausa al principio (para indicar el siguiente). el número es el primero), si necesita un número de 16 bits, simplemente use dos números consecutivos de 8 bits juntos, varios dispositivos comparten la línea definiendo cuál es el primer número que escuchan.

La idea es que no está atado a las características específicas del dispositivo, solo proporciona los números que necesita, puede usar el kit existente, como los puentes de Ethernet y los escritorios de control, y existen bibliotecas y escudos de ardunio para trabajar con él.

Las desventajas que vienen a la mente es que no tiene detección / corrección de errores y su velocidad relativamente rápida significa que no tiene una longitud de cable enorme

    
respondido por el back_ache

Lea otras preguntas en las etiquetas