Aumento y posición por pulsos: cómo se posicionan los lentes zoom motorizados POMEAS
Los lentes zoom motorizados POMEAS se posicionan por conteo de pulsos absolutos, no por tensión ni por una señal de retroalimentación analógica. Cada modelo de lente se entrega con una tabla de pulsos en la que el nombre de archivo identifica el modelo de lente y cada línea mapea un aumento óptico a su posición de pulso — por ejemplo 1X 4600, 2X 8400. El zoom multposición preestablecido entonces es simplemente almacenar esos valores de pulso y emitir llamadas repetidas a MoveTo(pulse).
Como el mapeo se produce por calibración de fábrica de un ensamblaje óptico y mecánico específico, los valores de pulso siempre deben citarse junto con el número de modelo exacto y el tipo de motor. El mismo aumento se mapea a conteos de pulso distintos en modelos distintos, en generaciones de motor distintas y en tarjetas de control cifradas frente a estándar.
Datos clave a simple vista
| Elemento | Valor |
| Método de posicionamiento | Conteo de pulsos absolutos con una referencia de origen |
| Ubicación de la tabla de pulsos | OP/*.txt en el SDK — nombre de archivo = modelo de lente, cada línea = un aumento |
| Granularidad típica | De 9 a 17 pasos de aumento seleccionables por lente, según el modelo |
| Lectura de posición de vuelta | Sí — GetPos() / serie XN |
| Relación con el aumento | No lineal; los incrementos de pulso por paso de aumento se reducen a medida que sube el aumento |
| Portabilidad entre modelos | Ninguna — las tablas son específicas del modelo y del motor |
Por qué posicionamiento por pulsos, y no por una señal analógica
| Método de control | Posicionamiento | ¿Repetible? |
| Motor DC con potenciómetro | Analógico, sin referencia absoluta | No |
| Paso a paso o servo con conteo de pulsos | Conteo de pulsos absoluto | Sí — legible y reproducible |
| Zoom motorizado POMEAS | Pulso absoluto más una referencia de origen | Sí — MoveTo(pulso absoluto) con lectura de posición de vuelta |
Las consecuencias de ingeniería importan más que el mecanismo:
- El aumento no es "girar hasta que se vea más o menos bien" — es "ir al pulso N".
- El mismo valor de pulso produce la misma posición mecánica, y por tanto el mismo aumento, cada vez.
- Los aumentos usados con frecuencia pueden por tanto congelarse en un conjunto de posiciones preestablecidas (la documentación POMEAS las llama posiciones registradas o movimientos punto a punto) y conmutarse desde la aplicación host con un solo comando.
Una tabla de pulsos completa: PMS-LZL-12109-3 (12.5X, línea de control de motor 32)
La siguiente tabla es la tabla de pulsos de fábrica para el PMS-LZL-12109-3, un lente de doble motor 12.5X con un motor de ajuste de enfoque motorizado de 3 mm. Proporciona nueve pasos de aumento a lo largo de su rango.
| Aumento óptico | Pulso | Aumento óptico | Pulso |
| 0.58X | 10 | 4X | 13650 |
| 1X | 4600 | 5X | 15200 |
| 2X | 8400 | 6X | 16500 |
| 3X | 11700 | 7X | 17700 |
| — | — | 7.5X | 18650 |
Lea los incrementos en lugar de los números absolutos y la no linealidad es obvia: el paso de 1X a 2X cuesta 3800 pulsos, mientras que de 7X a 7.5X cuesta solo 950. El conteo de pulsos sigue la posición mecánica; el aumento es el resultado óptico. Ambos se relacionan por calibración de fábrica, no por una fórmula que pueda extrapolar.
Una segunda plataforma: 6.5X serie 65 con línea de control de motor 512
La tabla de abajo pertenece a la plataforma 6.5X serie 65, usada por el PMS-LZ-650104 (motorizado) y el PMS-LZ-650105 (motorizado, iluminación coaxial). Tiene once pasos y un recorrido total de 24400 pulsos.
| Aumento óptico | Pulso | Aumento óptico | Pulso |
| 0.69X | 0 | 3X | 20000 |
| 0.7X | 500 | 3.5X | 21800 |
| 1X | 8000 | 4X | 23000 |
| 1.5X | 12000 | 4.5X | 24200 |
| 2X | 15500 | Recorrido total: 24400 |
| 2.5X | 18000 | |
Compare las dos tablas y el punto se vuelve concreto: 1X es el pulso 4600 en el lente 12.5X y el pulso 8000 en el lente 6.5X. No hay una escala compartida. Un valor de pulso no tiene sentido a menos que el modelo se indique junto a él.
Tres cosas que cambian los números
1. Generación de motor
Las distintas generaciones de motor usan ángulos de paso y micro-pasos distintos, por lo que el mismo aumento óptico cae en un conteo de pulso diferente. Siempre haga coincidir la tabla con la línea de control realmente instalada en su lente.
2. Tarjeta de control cifrada frente a estándar
Los lentes equipados con la tarjeta de control cifrada tienen una calibración de cero mecánico independiente y un área de parámetros Flash. Sus tablas de pulsos difieren de la versión estándar de la misma plataforma óptica — a 1X, por ejemplo, la plataforma 6.5X de 1" marca 6500 en la tarjeta cifrada y 8000 en la estándar. Cambiar la tarjeta de control implica cambiar la tabla.
3. Construcción de riel frente a base
Las construcciones de zoom montadas en riel usan un accionamiento mecánico distinto, que también explica por qué las dos variantes de la plataforma 6.5X se especifican con cifras de resolución en el espacio objeto distintas. Los datos de especificación deben tomarse por modelo, no por serie.
Una trampa de documentación que vale la pena conocer
Las tablas de pulsos existen en más de un documento, y no todas coinciden. Una tabla ampliamente difundida en el manual del producto es un diseño de ocho columnas cuyos encabezados de columna no se alinean con los datos que hay debajo. Contrastar esa tabla con los archivos de pulsos por modelo reales del SDK muestra claramente la discrepancia:
| Columna según etiqueta | Qué es realmente el dato | Cómo lo sabemos |
| "serie 650" | Correcto — datos de la serie 65 | Coincide exactamente con el archivo de pulsos de la serie 65, paso a paso (1X = 8000, 2X = 15500, 4.5X = 24200, total 24400) |
| "serie 4K" | En realidad datos 12.5X | Coincide exactamente con el archivo de pulsos del lente 12.5X (1X = 4600, 2X = 8400, 4X = 13650, 7.5X = 18650) |
La regla práctica: tome los valores de pulso de los archivos de pulsos por modelo suministrados con el SDK, no de una tabla resumen en un manual. Una tabla resumen que mezcla plataformas es un peligro de lectura, y usar una columna bajo su encabezado impreso enviará el lente a la posición equivocada.
Poner a trabajar las posiciones preestablecidas
Enviar un comando de posición
| Ruta | Método | Uso típico |
| Comando serie en bruto | XG más seis dígitos HEX | PLC, controlador de movimiento, microcontrolador |
| API SDK heredada | MoveGoto(Motor m, long dest) | Windows C++ / C# |
| SDK V4.4.7 | MoveTo(pulse) con lectura de vuelta GetPos() | Recomendado para desarrollos nuevos |
Ciclar por aumentos preestablecidos
(1) XM / GetMaxPos() read total travel, confirm the target is in range
(2) XH / GoHome() home the lens and establish the absolute reference
(3) XG <pulse> / MoveTo() move to the preset position
(4) XZ / GetStatus() poll until 0x55, or until status reads stopped
(5) XN / GetPos() read back and verify (closed loop)
(6) back to (3) for the next preset position
El ciclado punto a punto es una capacidad nativa de la aplicación de demostración suministrada: introduzca un valor de pulso en el campo de posición de prueba, cárguelo como posición registrada, defina un conteo de repeticiones y un tiempo de espera, y ejecute. Ese es el mecanismo detrás de la secuenciación de zoom multiposición — un lente que sirve a varias variantes de producto llamando a conjuntos de posición distintos, sin cambio de lente ni hardware de conmutación mecánica.
// Move to a preset magnification and verify the result
int zoomTo(int fd, long targetPulse) {
char buf[16];
int n = snprintf(buf, sizeof(buf), "%c%c%6lX%c", 'X', 'G', targetPulse, '\r');
if (write(fd, buf, n) != n) return -1; // send
if (waitStop(fd, 10000) != 0) return -2; // wait for motion to end
long pos = readPos(fd); // read back
return (labs(pos - targetPulse) <= TOL) ? 0 : -3; // tolerance set by the integrator
}
La tolerancia TOL debe elegirla el integrador según el requisito del proceso. El protocolo proporciona lectura de posición de vuelta; no define una cifra de repetibilidad, y no debe hacerse ninguna afirmación de precisión numérica sin mediciones tomadas en su propio hardware bajo sus propias condiciones.
Cómo evaluar la repetibilidad usted mismo
Si su proceso necesita una cifra de repetibilidad, midala. El procedimiento de abajo produce un valor de rango para una condición de operación específica.
| Paso | Acción |
| 1 | Elija dos posiciones preestablecidas muy separadas: A (bajo aumento) y B (alto aumento) |
| 2 | Lleve el lente al origen, MoveTo(A), espere la parada, registre la posición P₁ con GetPos() |
| 3 | MoveTo(B), espere la parada, registre la posición |
| 4 | MoveTo(A), espere la parada, registre P₂ |
| 5 | Repita los pasos 3–4 N veces — N de 30 o más es aconsejable — registrando la posición alcanzada en A cada vez |
| 6 | Calcule el rango R = máx(Pᵢ) − mín(P₂) y la desviación estándar |
| 7 | Invierta los papeles de A y B y repita en la dirección opuesta (prueba bidireccional) |
| 8 | Registre la temperatura ambiente, la longitud del cable del motor y la velocidad de recorrido junto con el resultado |
Reporte el rango R para ese conjunto específico de condiciones, y establezca las condiciones — una cifra sin sus condiciones no es utilizable por nadie.
Conceptos erróneos comunes
«El valor de pulso para 12.5X es un número específico»
No. Los valores publicados para la plataforma 12.5X difieren según la generación de motor, y los números no son intercambiables. Cite el valor de pulso junto con el modelo y el tipo de motor, siempre.
«Los valores de pulso se pueden reutilizar entre modelos»
No. El diseño óptico, el recorrido mecánico y el micro-paso del motor difieren todos. Consulte cada modelo por separado. La sola plataforma 6.5X tiene al menos cuatro tablas distintas entre sus variantes estándar, cifrada y de riel.
«Las tarjetas cifradas y estándar usan la misma tabla»
No lo hacen. La tarjeta cifrada tiene su propia calibración de cero y área de parámetros Flash, por lo que su tabla difiere de la tarjeta estándar en la misma óptica.
«Pulso equivale a aumento»
El pulso es posición; el aumento es el resultado óptico. La relación la establece la calibración de fábrica y no es lineal.
«Puedo leer la tabla de pulsos del manual del producto»
No de forma fiable. Use el archivo de pulsos por modelo incluido en el SDK. Las tablas resumen en los manuales pueden y de hecho contienen desalineación de columnas, y la consecuencia es un lente llevado a la posición equivocada.
Preguntas frecuentes
¿De dónde vienen los valores de pulso?
De la calibración de fábrica de cada modelo de lente individual. Se distribuyen como archivos de texto sin formato en la carpeta OP del SDK, donde el nombre de archivo es el modelo de lente y cada línea empareja un aumento con su posición de pulso.
¿Es lineal la relación aumento-pulso?
No. Los incrementos de pulso por paso de aumento disminuyen a medida que aumenta el aumento, porque el conteo de pulsos sigue la posición mecánica y no la potencia óptica.
¿Puedo añadir mis propios pasos de aumento entre los tabulados?
El lente acepta cualquier valor de pulso dentro de su recorrido total, por lo que las posiciones intermedias son alcanzables. Como la relación es no lineal, el aumento en un pulso intermedio debe establecerse por medición y no por interpolación.
¿Qué ocurre si envío un valor de pulso igual a la posición actual?
El lente no se mueve y no reporta error. Este es un comportamiento especificado, y es la razón por la que una lectura de posición de vuelta — no un comando de movimiento — es la forma fiable de confirmar que el enlace está vivo.
¿Necesito llevar el lente al origen antes de mover a una posición preestablecida?
Sí, si quiere que la referencia absoluta sea válida. El origen establece el cero mecánico a partir del cual se miden los valores de pulso absolutos.
Lecturas recomendadas
Productos relacionados