Cosillas

Ch1 Voltaje, Ch2 Corriente (20mV / A)

Mientras que la depuración de un portátil el otro día tuve la oportunidad de lanzar un efecto hall actual de la sonda en la entrada de DC mientras se ejecutaba un juego (NieR: Automata, sólo un poco de chillin alrededor del Campamento de Resistencia). La traza es bastante interesante - mi interpretación es que hay alguna configuración relativamente baja de potencia (el corto se sumerge en 6A en el rastro de corriente cian), seguido de 8mS de menor potencia GPU trabajo (que tiene que ser la GPU dando patadas en , La CPU (i7-4800MQ) no puede acercarse a 190W!), Y 8mS de mayor, pero variable, la carga de la GPU.

Conociendo la tubería de renderizado de Automata (que implica un paso GI largo y costoso), me atrevería a decir que la fase 10A es la computación global de iluminación (que debería, en una sonda de corriente de 200KHz, parecer atraer potencia constante)

Hyundai Sonata Hybrid batería desmontable

Recientemente, nosotros (Ben, Charles, Dane, yo) adquirimos una batería Hyundai Sonata 2011 para ir con nuestras piezas Prius y motores Hyundai Sonata. La tensión (270V nominal) y la capacidad (1.4KWh) parecía prometedor para los vehículos de tamaño medio, las capacidades de potencia eran bastante alta (casi 60KW, de acuerdo con INL), y el precio era excepcional (260 $ de LKQ para el grado una 'B' Uno, $ 350 para un grado "A").

El Laboratorio Nacional de Idaho había realizado algunas pruebas en la batería como parte del programa DOE AVTA. El informe completo está aquí , pero la esencia de él es:

72S 'Polímero de Litio' (3,75V nominal, 4,2V máximo)

Capacidad de 5.3Ah (1.4KWh)

Resistencia del paquete de 400mohm, ~ 5mohm por la célula

Fuente máxima de 60KW (a plena carga, 40C), sumidero de pico de 46KW (a pleno vacío, 30C)

Fuente media de 46KW (30C), sumidero medio de 30KW (20C)

5mohm en una célula de 5.3Ah no es malo, a la par con las mejores ("60C") R / C baterías en el mercado. El paquete completo era bastante pesado, pero esperanzadamente podríamos arrojar la mitad o más de ese peso quitando la armadura de acero. Sin más preámbulos, vamos a cavar en!

La primera cosa que todo el mundo parece notar: el soplador enorme que refresca el paquete. Hyundai está muy orgulloso de su diseño de paquete refrigerado por aire, y el chico es que un soplador poderoso. Yo no estaba interesado personalmente en el ventilador, pero podría ser útil para el deber de tracción a largo plazo.

Haciendo caso omiso de varias advertencias ominosas y la eliminación de la cubierta de seguridad HV, nos saludan el ensamblaje del contactor (más sobre eso más adelante), y ...

... el BMS! Este es bastante interesante que investigaremos más al final del post.

Moviendo, levantando la tapa principal del paquete revela las tripas de la batería:

Es difícil de distinguir de la foto, pero las barras de plata grandes (dos en la parte superior, una debajo de los módulos) mantienen el paquete en compresión a través de las placas de extremo, que están rellenados con espuma de alta densidad.

Los módulos llevan una etiqueta 'GreenPower'; Hay varias compañías de energía que van por ese nombre, pero ninguno de ellos parece hacer baterías híbridas.

Quitar unos cuantos tornillos y desenchufar los conectores de balance libera los módulos. No se muestra: ¡asegúrese de retirar la desconexión de seguridad antes de reparar los componentes internos del paquete!

Los módulos son convenientemente dimensionados; Cada uno es 8S / 5.3Ah y pesa un cabello de más de 2.5kg (2.6, para ser exactos). Lamentablemente hay un montón de espacio vacío en cada módulo, presumiblemente para el flujo de aire, y como resultado la densidad de energía es bastante pobre.

Pasando a la caja del contactor, deshacer un gran número de broches de plástico revela dos pequeños contactores adorables de 400VDC / 80A:

No tengo ni idea de cómo obtener 35KW a través de un contactor 80A ...

Un desvío: el BMS

El BMS es muy sencillo en el interior - de hecho, totalmente hecha de componentes disponibles en el mercado.

El IC grande es un microcontrolador . ¿Las buenas noticias? ¡Tiene una hoja de datos! ¿El malo? Es una especie de parte de Infineon godforsaken, construido en una costumbre uArch y cuesta $ 22

Vamos chicos, ¿qué tan difícil es usar un brazo?

Los conjuntos de equilibrado reales se construyen alrededor del monitor de batería apilable LTC6802 . Cada chip monitorea su propio módulo, resultando en nueve fichas encadenadas entre sí.

La comunicación a través de la barrera de aislamiento LV / HV ocurre a través de un par de aisladores digitales ISO7241C de Texas Instruments , alimentados por un par de convertidores DC-DC montados en tablero de 1W fabricados por Mornsun (nunca he oído hablar de ellos? Estos parecen ser clones de los populares módulos CUI 1W.

El paquete de aspecto extraño por encima de la micro es un Infineon TLE6220 - algún tipo de interruptor controlado por SPI para controlar la precarga y los contactores principales.

EL VEREDICTO

El bueno:

Bastante bajo ESR y altas calificaciones de la descarga - el pico 40C para 10s está sobre tan bueno como cualquier cosa consigue.

Embalaje conveniente; Los módulos son un voltaje y una capacidad razonables y limitan el prismatics en cierta medida, requiriendo solamente una abrazadera externa simple de mantener la compresión.

BMS está construido a partir de componentes disponibles en el mercado, lo que da cierta esperanza para la ingeniería inversa y / o reprogramación.

Muy barato; El paquete equivalente de un vendedor chino de la manía sería bien sobre mil dólares.

El malo:

Muy baja densidad de energía, una cuarta parte de un LiPo estándar y la mitad de un paquete A123 desnudo.

No puede alcanzar 48V nominales usando los módulos.

En general, no es un paquete para battlebots o volar cosas, pero para aplicaciones de peso insensible el precio, el poder y la comodidad prácticamente no se puede batir a partir de ahora (a principios de 2017).

Caracterización del comportamiento de overlock de Ryzen R7

Ha pasado un tiempo desde que hice un post de overclocking, principalmente porque nada interesante ha ocurrido desde Sandy Bridge. Ryzen ha sido la primera cosa nueva en la mitad de una década para golpear el mercado, así que obedientemente fui y compré un R7 1700 y un Asus PRIME B350-Plus en nombre de la ciencia.

Todas las pruebas se realizaron utilizando una fuente de servidor Antec de 400W. Las corrientes de la CPU se midieron usando un amperímetro de CC de la abrazadera en los alambres de 12V que entraban en la CPU 8-perno. El resto de la configuración consistió en Windows 10 Enterprise (me aseguré de que Defender y Windows Update estuvieran deshabilitados), un XFX HD5750 para salida de vídeo básica y un disco de 320 GB 7200RPM de 2,5 "No es el más exclusivo de las configuraciones, pero es improbable que afecte al overclocking Cifras. Todo se hizo en una instalación al aire libre en una habitación con temperaturas ambientales de ~ 20C - espero que el kilometraje más fresco del stock para bajar ligeramente en un caso con temperaturas ambientales más altas. Los ajustes se hicieron sobre la marcha en Ryzen Master.

Números de enfriador de stock

Wraith Spire es notablemente bueno para un enfriador de stock, capaz de mantener apagado 120W mientras permanece razonablemente fresco. Atrás han quedado los días de los enfriadores de valores de mierda que se ejecuta stocked clock i7 a 90C. La mala noticia: 3.8GHz parecía algo inalcanzable en el refrigerador de stock; Había una sensación distinta de fuga térmica (Prime95 funcionaría hasta que los temps golpearon cerca de 76C o algo así y luego se estrellaron, pero no lo suficientemente duro para derribar Windows). Poder parece bastante en la comprobación a 3.7GHz, y no es grande en 3.8GHz, aunque usted pierde algo de eficiencia pasado 3.5GHz. Números aéreos de gama alta Yo rompí el viejo Thermalright TRUE 120 para algunas pruebas; No es un refrigerador moderno por cualquier medio, pero podría enfriar 200 + W 45nm procesadores de vuelta en el día, así que pensé que estaría bien. Tenga en cuenta que los números de hasta 37x son los números de enfriadores stock desde arriba, el enfriador de stock hizo un trabajo lo suficientemente bueno que no me molestó rerunning los puntos de referencia. 40x era bastante inalcanzable en mi configuración. Las temperaturas subieron rápidamente, llegando a estrellarse lo suficiente como para disparar un reinicio. Estoy bastante seguro de que este es un límite de resistencia térmica de troquel; No es posible quitar 25W por núcleo en la matriz de Ryzen mientras se mantienen las temperaturas sub-70C necesarias para la estabilidad. Intenté 1.4375V también, pero el poder subió a 204W (17A) y el sistema igualmente reiniciado. 4C / 8T números Pasando por la teoría de que la frecuencia de pared a 39x fue térmica, he desactivado cuatro núcleos con la esperanza de que la conducción de calor lateral en el dado reducirá sustancialmente las temperaturas. Mientras que las temperaturas bajaron dramáticamente, permitiendo una operación mucho mejorada en 40x, 41x estaba muy fuera de alcance; Las temperaturas se mantuvieron en control, pero Windows se estrelló antes de poder obtener lecturas significativas de potencia. Prime95 números de mezcla No satisfecho con la falta de 4GHz, y todavía va por la teoría de la estabilidad térmica, he intentado Blend, que me imaginé es más representativo de las cargas térmicas entusiastas. Se sacó 40x bien, aunque requiere un poco más de voltaje para hacerlo que la prueba de cuatro núcleos (accidente después de unos 10 minutos de mezcla a 1.375V) Como un bono, Las temperaturas más bajas también se traducen en requisitos de tensión ligeramente reducidos.

Escala de Voltaje / Potencia Por la ciencia, dejé el multiplicador a 30x y lentamente subí el voltaje. No es tan interesante como esperaba, se parece a la escala cuadrática estándar de escala de 1300mV, entonces sucede algo, lo que resulta en un golpe en el consumo de energía. La protuberancia es parece parte de la razón por la que no podemos pasar de 40x, si los refinamientos del proceso podría moverlo hacia fuera obtendríamos más Conclusiones Lo que resulta en un golpe en el consumo de energía. La protuberancia es parece parte de la razón por la que no podemos pasar de 40x, si los refinamientos del proceso podría moverlo hacia fuera obtendríamos más Conclusiones Lo que resulta en un golpe en el consumo de energía. La protuberancia es parece parte de la razón por la que no podemos pasar de 40x, si los refinamientos del proceso podría moverlo hacia fuera obtendríamos más Conclusiones

Ryzen Master es bastante bueno. Después de dejarlo corriendo durante media hora mientras escribía este post, se estrelló, pero parecía funcionar bien cuando lo volví a abrir. La interfaz de usuario es condenadamente sensible a una herramienta de overclocking, tan buena como cualquier otra que he usado.

El BIOS PRIME B350-Plus no es grande en lo que respecta al overclocking. En particular, la opción de establecer un voltaje fijo falta, y no tengo ni idea de lo que el 'FID' y 'DID' razones (aumento DID parece bajar la frecuencia de destino ??). Presumiblemente, esto se solucionará en una versión posterior del BIOS.

Ryzen, o al menos mi muestra, parece tener características de baja frecuencia-temperatura más allá de 75C. En las pruebas 38x de stock y 40x, Windows se estrelló cuando la lectura de temperatura en Ryzen Master cruzó 75C.

Parece que en 8 núcleos, las limitaciones térmicas vienen de la capacidad de extraer calor de la matriz, no debido a la resistencia térmica del disipador de calor al aire. Las temperaturas subieron rápidamente en respuesta a cambios de frecuencia, y al menos cualitativamente, las aletas en el TRUE 120 eran bastante frías.

En 4 núcleos, la eficiencia es sólida. El escalado de voltaje no es tan bueno como el lago Kaby (que se envía a 4.2GHz y típicamente en el vecindario 1.225V), pero el consumo de energía está en control y las temperaturas son muy bajas.

Ryzen tiene dos golpes distintos en la eficiencia. Soy cuidadoso de decir donde se basan en una sola muestra, pero parece que el primero está en el barrio de 35x y el segundo, alrededor de 38x. Empujar para que los últimos dos compartimientos (u ocho, si usted desea ser picky) causa un aumento insano en el consumo de energía en mi muestra;La muestra a muestra de corte puede variar, pero me siento seguro diciendo que usted perderá un montón de rendimiento / watt a la derecha alrededor de 3,8 +/- GHz.

Bremsproject Temporada 2 - Parte 1: Nueva Electrónica

Como muchos de mis colegas en el último semestre, decidí que sería divertido construir un battlebot de peso pesado ("The Dentist") para la segunda temporada del programa de televisión Battlebots. "El dentista" implicó girar encima de un tambor de almacenaje de la energía 200KJ, y siendo tan mecanicamente incompetente como soy, decidí que claramente mi contribución al deporte sería una cierta clase de sistema de energía absurdo que implica los centenares de voltios y de motores grandes.

Fui y compré unos cuantos inversores Prius y sacudí los viejos trozos de Bremsthesis , y comencé la aventura de este año para encender el hardware de otra persona.

Nuevas tablas, mejores tablas ¡

Wow, estos motores tienen resolvers en ellos! Mucho más conveniente que nuestra consola construida de soportes 3D-impresos y sensores de pasillo analógicos. Aún más convenientemente, hay un IC bastante costoso que toma la entrada y las salidas del resolvedor en impulsos del codificador en cuadratura. Más bien afortunadamente, este IC puede ser muestreado de Analog Devices, o comprado a vendedores no oficiales eBay por alrededor de $ 15.

Implementar el IC usando las notas de hoja de datos es bastante sencillo; La única parte difícil es obtener los amplificadores de salida a la derecha (la generación de seno / coseno en el propio chip es la salida de un DAC, y no es adecuado para conducir un resolver directamente): Implementar el IC usando las notas de hoja de datos es bastante sencillo; La única parte difícil es obtener los amplificadores de salida a la derecha (la generación de seno / coseno en el propio chip es la salida de un DAC, y no es adecuado para conducir un resolver directamente): Implementar el IC usando las notas de hoja de datos es bastante sencillo; La única parte difícil es obtener los amplificadores de salida a la derecha (la generación de seno / coseno en el propio chip es la salida de un DAC, y no es adecuado para conducir un resolver directamente):

El diseño es un poco menos directo. La siguiente tarjeta hija funciona, pero tiene alrededor de 1 LSB de ruido:

Junta || Esquemático

Probablemente podría hacer mejor, pero ¿quién necesita 12 bits de precisión de posición de todos modos?

La placa de interfaz real para el módulo Prius permanece en gran medida sin cambios en el diseño del año pasado, los únicos cambios que es que utiliza los encabezados Morpho y es todo montaje en superficie, porque el infierno si estoy usando sockets en un robot de combate.

Junta || Esquemático

Nuevo este año! Pines del inversor Prius

Alfiler #

Nombre

Descripción

Notas

1

IGCT

Potencia de accionamiento de la puerta

Protección reversa, ~ 9-16V

2

GIVB

Inversor pequeño, sentido de corriente V

Redundante con GIVA

3

GIVA

Inversor pequeño, sentido de corriente V

50 mV / A, cero centrado, aislado

4

GIWB

Inversor pequeño, sentido de corriente W

Redundante con GIWA

5

GIWA

Inversor pequeño, sentido de corriente W

50 mV / A, cero centrado, aislado

6

GWU

Inversor pequeño, entrada de fase W

Invertir, lógica 12V, aislado; Sin flotador

7

GVU

Inversor pequeño, entrada de fase V

Véase más arriba

8

GUU

Inversor pequeño, entrada de fase U

Véase más arriba

9

GIVT

Temperatura del inversor pequeño

Comportamiento desconocido, probablemente ratiométrico

10

GFIV

Indicador de falla del inversor pequeño

Probablemente open-collector

11

GSDN

Inversor pequeño ENABLE

Lógica 12V, ajuste de flotadores bajos todas las fases

12

MIVT

Temperatura del inversor grande

Comportamiento desconocido, probablemente ratiométrico

13

MFIV

Indicador de fallo del inversor grande

Probablemente open-collector

14

MSDN

Inversor grande ENABLE

Lógica 12V, ajuste de flotadores bajos todas las fases

15

GINV

Potencia de accionamiento de puerta GND

Aislado

dieciséis

MIWA

Inversor grande, sentido de corriente W

25mV / A, cero, centrado, aislado

17

MIWB

Inversor grande, sentido de corriente W

Redundante con MIWA

18

MIVA

Inversor grande, sentido de corriente V

25mV / A, cero, centrado, aislado

19

MIVB

Inversor grande, sentido de corriente V

Redundante con MIVA

20

CAROLINA DEL NORTE

Sin conexión

21

CAROLINA DEL NORTE

Sin conexión

22

CAROLINA DEL NORTE

Sin conexión

23

MWU

Inversor grande, entrada de fase U

Invertir, lógica 12V, aislado; Sin flotador

24

MWV

Inversor grande, entrada de fase V

Véase más arriba

25

MWW

Inversor grande, entrada de fase W

Véase más arriba

26

VH

Tensión del bus

Relación aún no determinada

27

OVH

Sobretensión del inversor

Probablemente open-collector

28

Tierra

Piso del chasis

Dejar sin conexión

Notas de la etapa de potencia: Los lados son probablemente IGBT's CM400 y CM200. Freqency de conmutación de stock es 5KHz; El rendimiento se vuelve bastante pobre pasado alrededor de 15KHz como retrasos internos y deadtime introducir distorsión severa en formas de onda sintetizadas. Los sensores de corriente saturan a 400 y 200A; El módulo de potencia tiene detección de sobrecorriente rápida establecida en algún lugar a su alrededor (todo el inversor flotará automáticamente si las corrientes de fase son demasiado altas). Los diodos son bastante pequeños en comparación con los IGBT's, y probablemente no están clasificados para la corriente completa del inversor.

Firmware del firmware

Gracias a la mayoría de mí, el código Brems original se había hinchado a proporciones algo desagradables, con contextos, bucles de eventos, búferes, depuradores y más clases de las que debería estar en un proyecto de microcontrolador de dos personas. Era hora de reducir tamaño; Convenientemente, Ben estaba trabajando en un controlador FOC basado en un codificador para su proyecto de pierna de robot, así que decidí tomar prestados bits de su código y mezclarlo con el mío. El nuevo código está aquí .

Tidbits de la nota particular:

A = nuevo FastPWM (PWMA);

B = nuevo FastPWM (PWMB);

C = nuevo FastPWM (PWMC);

NVIC_EnableIRQ (TIM1_UP_TIM10_IRQn); // Habilitar TIM1 IRQ

TIM1-> DIER | = TIM_DIER_UIE; // activar la interrupción de actualización

TIM1-> CR1 = 0x40; // CMS = 10, sólo se interrumpe cuando se cuenta

TIM1-> CR1 | = TIM_CR1_ARPE; // autoreload on,

TIM1-> RCR | = 0x01; // actualiza el evento una vez por cuenta ascendente / descendente de tim1

TIM1-> EGR | = TIM_EGR_UG;

TIM1-> PSC = 0x00; // no hay preescaler, el temporizador cuenta en sincronía con el reloj periférico

TIM1-> ARR = 0x4650; // 5 Khz

TIM1-> CCER | = ~ (TIM_CCER_CC1NP); // Interrupción cuando el lado bajo está activado.

TIM1-> CR1 | = TIM_CR1_CEN;

Este fragmento de código configura Timer 1 para ejecutarse a 5Khz en modo alineado en centro; Es decir, los puntos centrales de las formas de onda de conmutación cuando los tres canales están apagados están alineados. Esto nos permite probar la corriente cuando ninguna de las fases está cambiando, con la esperanza de reducir el ruido del sensor. TIM1-> ARR controla la frecuencia de conmutación; Reducir a la mitad su valor duplica la frecuencia de conmutación.

RCC-> APB2ENR | = RCC_APB2ENR_ADC1EN; // reloj para ADC1

RCC-> APB2ENR | = RCC_APB2ENR_ADC2EN; // reloj para ADC2

ADC-> CCR = 0x00000006; // Modo simultáneo regular, 3 canales

ADC1-> CR2 | = ADC_CR2_ADON; // ADC1 en

ADC1-> SQR3 = 0x0000004; // PA_4 como ADC1, secuencia 0

ADC2-> CR2 | = ADC_CR2_ADON; // ADC2 ON

ADC2-> SQR3 = 0x00000008; // PB_0 como ADC2, secuencia 1

GPIOA-> MODER | = (1 << 8);

GPIOA-> MODER | = (1 << 9);

GPIOA-> MODER | = (1 << 2);

GPIOA-> MODER | = (1 << 3);

GPIOA-> MODER | = (1 << 0);

GPIOA-> MODER | = (1 << 1);

GPIOB-> MODER | = (1 << 0);

GPIOB-> MODER | = (1 << 1);

GPIOC-> MODER | = (1 << 2);

GPIOC-> MODER | = (1 << 3);

Este bit configura los ADC's. Estamos engañando un poco aquí; Los ADCs se configuran en modo de secuencia, pero las secuencias son de longitud 1. Debido a que sólo dos valores son necesarios para la operación básica no tenemos que preocuparse de tratar con la secuenciación (algo útil, como mbed de alguna manera va y clobbers ADC_EOC bandera funcionalidad ).

Void zero_current () {

for (int i = 0; i <1000; i ++) {

ia_supp_offset + = (float) (ADC1-> DR);

Ib_supp_offset + = (float) (ADC2-> DR);

ADC1-> CR2 | = 0x40000000;

Wait_us (100);

}

Ia_supp_offset / = 1000.0f;

Ib_supp_offset / = 1000.0f;

Ia_supp_offset = ia_supp_offset / 4096.0f * AVDD - I_OFFSET;

Ib_supp_offset = ib_supp_offset / 4096.0f * AVDD - I_OFFSET;

}

Esta función intenta calcular un desplazamiento adicional (causado por la desviación del sensor, etc.) cada vez que el controlador se restablece; Esto es además de cualquier error de calibración medido causado por inexactitudes de resistencia o error AVDD.

P = pos.GetElecPosition () - POS_OFFSET;

Si (p <0) p + = 2 * PI;

Float sin_p = sinf (p);

Float cos_p = cosf (p);

Ia = ((flotante) adval1 / 4096.0f * AVDD - I_OFFSET - ia_supp_offset) / I_SCALE;

Ib = ((float) adval2 / 4096.0f * AVDD - I_OFFSET - ib_supp_offset) / I_SCALE;

Ic = -ia - ib;

Float u = CURRENT_U;

Float v = CURRENT_V;

Alfa = u;

Beta = 1 / sqrtf (3.0f) * u + 2 / sqrtf (3.0f) * v;

D = alfa * cos_p - beta * sin_p;

Q = -alpha * sin_p - beta * cos_p;

Float d_err = d_ref - d;

Float q_err = q_ref - q;

D_integral + = d_err * KI;

Q_integral + = q_err * KI;

If (q_integral> INTEGRAL_MAX) q_integral = INTEGRAL_MAX;

If (d_integral> INTEGRAL_MAX) d_integral = INTEGRAL_MAX;

If (q_integral <-INTEGRAL_MAX) q_integral = -INTEGRAL_MAX;

If (d_integral <-INTEGRAL_MAX) d_integral = -INTEGRAL_MAX;

Vd = KP * d_err + d_integral;

Vq = KP * q_err + q_integral;

If (vd <-1.0f) vd = -1.0f; If (vd> 1.0f) vd = 1.0f;

If (vq <-1.0f) vq = -1.0f; If (vq> 1.0f) vq = 1.0f; 0f) vq = -1,0f; If (vq> 1.0f) vq = 1.0f; 0f) vq = -1,0f; If (vq> 1.0f) vq = 1.0f;

Esta es la materia jugosa que en realidad cierra los bucles de corriente d y q. POS_OFFSET es un offset del sensor medido al alinear el motor al eje d (fase A alta, fases B y C baja).

El resto del código debe ser bastante auto-explicativo; El proyecto mbed debe salir de la caja en un Nucleo-F446RE.

Ver cámara Parte 1

Casi tan importante como el cuadro: la imagen de la cosa que tomó la imagen

Tomo muchas fotos de cosas pequeñas. Los tableros, las tomas de productos, las máquinas y similares a menudo justifican primeros planos, y tomar fotos de cerca significa necesariamente una profundidad de campo poco profunda. También soy un fanático de la resolución, y como tener nitidez a nivel de píxel (después de todo, ¿de qué sirven todos esos píxeles adicionales si no tienen información?). Esto implica necesariamente tener un sensor grande, o una lente exótica ultra-rápida y un montón de píxeles diminutos.

El problema de tener un sensor grande es que a corta distancia, la profundidad de campo se cae como distancia focal al cuadrado, por lo que todo lo que está en foco en un KAF-22000 es mucho más difícil que tener todo en foco en un sensor de teléfono celular. Ahora, me gusta el bokeh con mantequilla tanto como la siguiente persona, Pero para aplicaciones como la documentación del proyecto o las fotos de la tienda web que tienen una porción de 2 mm de su sujeto en el enfoque no es realmente aceptable. Detener no soluciona el problema tampoco; En la mayoría de los sensores modernos usted consigue parar abajo en alguna parte entre f / 5.6 y f / 11 antes de los tornillos de la difracción usted.

La solución (al menos en cierta medida) es mover el plano de enfoque con movimientos de la cámara. Para un número sorprendente de fotos de la documentación del proyecto, esto funciona muy bien; Tableros en particular se ven naturales, con las tablas enteramente en foco y la dirección Z de enfoque aproximadamente perpendicular a la tabla.

Este post está motivado por un par de cosas. Hay sorprendentemente poca documentación sobre fotografía de tipo mesa con relaciones de reproducción de medio (1: 5-1: 20) usando movimientos y áreas de imagen de tamaño medio; La mayoría de las cosas se concentran en la fotografía de gran angular basada en turnos para trabajos de arquitectura o de paisajes de bellas artes. La optimización de una cámara para el trabajo de gran angular es notablemente diferente de la construcción de una para el trabajo de cerca; Los movimientos involucrados son mucho, mucho más pequeños (un par de grados en lugar de decenas de grados) y la mayoría de las cámaras que hay son cámaras tipo panqueque con telémetros y se centran en la portabilidad. La precisión del enfoque también es mucho menos importante, ya que la profundidad de campo en f / 5.6 en una lente de 35 mm centrada en decenas de metros es cientos de veces mayor que una lente f / 5.6 de 90 mm enfocada a decenas de centímetros. En segundo lugar, no hay mucho material por ahí se centra en la construcción de una cámara "barata" (relativamente hablando, por supuesto, mi sistema todavía cuesta $ 2000 + y tuve la suerte real en la parte posterior digital). Finalmente, Una gran cantidad de información en los foros es publicado por idiotas o lealistas de la marca y simplemente errónea.

Cuerpo de la cámara

Necesita precisión de posicionamiento de medio grado en todos los movimientos para resolver los píxeles de 9 micras o de cuarto de grado para píxeles de 4,5 micras (A7R, D800). Esto significa engranajes; Cámaras como la serie Linhof Technica, el Fuji GX680 o cualquiera de los numerosos monorrieles baratos no funcionará. Y no, su Speed ​​Graphic no funcionará.

Las cámaras con todos los movimientos orientados que no son muy costosos incluyen: S o cualquiera de los numerosos monorrieles baratos no funcionará. Y no, su Speed ​​Graphic no funcionará. Las cámaras con todos los movimientos orientados que no son muy costosos incluyen: S o cualquiera de los numerosos monorrieles baratos no funcionará. Y no, su Speed ​​Graphic no funcionará. Las cámaras con todos los movimientos orientados que no son muy costosos incluyen:

Sinar P / P2 / X: Probablemente la mejor opción; El sistema Sinar es omnipresente y las cámaras están bellamente construidas. La X es probablemente una mejor opción que la original P simplemente porque es más reciente; El P2 es ligeramente mejor, pero es típicamente bastante caro.

Sinar P3: Este es un P2 con estándares más pequeños. Cuesta alrededor de dos veces más que un P2 en el mercado secundario, o alrededor de cuatro veces más que el X. Si tienes acceso a la tienda de máquinas hay pocas razones para obtener un P3, ya que no podrá pagar cualquiera de las P3 accesorios específicos (persianas CMV, etc) de todos modos.

Cambo Legend Master: Solía ​​tener uno de estos; Los engranajes no son grandes y la cámara es gigantesca sin opción a encogerse debido a la cola de milano + L-soporte de diseño. Dicho esto, son muy baratos y forman una línea de base de lo que es aceptable.

Cambo Ultima: Nunca he usado uno, pero parece ser el mismo precio y calidad de construcción como un P3.

Rollei X-act2: Este tipo es una de dos cámaras (siendo el otro el inexistente Silvestri S5 Micron) diseñado desde cero para ser un sistema digital. Es pequeño, pero los accesorios son caros (aunque todos son fáciles de hacer en un molino) y la gama limitada de movimientos son algo restrictivos para el trabajo de mesa.

Linhof M679cs: Si estás leyendo este post no te lo puedes permitir.

Lentes

Lentes para cámaras de visión digital son una especie de misterio, envuelto en BS lore y casi-como-BS materiales de marketing. En general, se pueden dividir en tres clases:

Lentes simétricas de 6 elementos con un pequeño círculo de imagen. Esto incluye el Schneider Digitars, lentes de ampliación apochromatic, Fujinon EBC GX lentes, y un puñado de oscuras 2x3 película lentes. Por lo general son baratos ($ 200-500) y resolver píxeles de 9 micrones, pero no mucho más. Entre estos los notables son:

APO Componon HM 4.5 / 90: La resolución más alta de la línea de lente simétrica de Schneider. Resuelve ligeramente a sus hermanos simétricos, y tiene características tales como multicoating y un anillo azul de lujo en la lente.

Makro Symmar HM 5.6 / 120: Caro, pero la mejor opción macro. Incluso resuelve píxeles de 5 micrones como rango cercano. A veces disponible en una carcasa tipo barril (sólo apertura, sin obturador) en cámaras de visión artificial para un poco más barato.

Sinaron Digital 4/80: Se trata de un Digitar de 80mm en un soporte Sinar DB. Difícil de usar, ya que las platinas de la base de datos carecen de una apertura accesible externamente, pero suciedad barata (sub- $ 150) y ubicua ya que era la lente más barata en el viejo sistema Sinarcam.

Componons, en general, son el mismo diseño óptico que los Digitars coincidentes, pero algo más barato. Los componentes de APO son de hecho la misma lente exacta; Mientras que el diseño apochromatic contribuye muy poco a su poder de resolución, los revestimientos modernos mejorarán ligeramente el contraste. Dicho esto, son mucho más caros que sus contrapartes no APO.

Las lentes del sistema GX680 son bastante buenas; Sin embargo, sus persianas electrónicas de la hoja requerirán la piratería no trivial (que como de la escritura de este poste nadie ha hecho) encender.

Lentes simétricas de 8 elementos basadas en un diseño de gran angular. La sabiduría detrás de estas no está clara, pero he oído decir que la primera generación Rodenstock Digarons (Apo-Sironar Digital) fueron rebranded Grandagons. Estas lentes tienen campos de visión más planos que las lentes de 6 elementos, pero son bastante raras y caras. Esta línea contiene principalmente:

Apo-Sironar Digital 90 / 5.6: Como la longitud focal más larga de las lentes de 8 elementos, esta lente puede casi resolver píxeles de 5 micrones. Comercializado como el HR Digaron-W 90 / 5.6, afirma ser clasificado para sensores de 80 MP, pero MTF a 100lp / mm en las esquinas es menos que estelar.

Retrofocus 12+ elemento de lentes: A saber, la línea de Digaron-S de lentes. No es tan caro como se podría pensar (el 100/4 es de $ 1000 en un buen día, incluyendo Copal 0 obturador). También conocido como el Sinaron Digital HR. Todo es bueno para píxeles de 5 micrones o menos. Si está utilizando un A7R como respaldo digital y desea cualquier apariencia de resolución, o si tiene un IQ180 o un microstepping atrás, estas lentes son más o menos obligatorias. Vale la pena señalar que tendrá movimientos limitados con estas lentes en sensores de 36x48mm; Que fueron diseñados para el máximo rendimiento en los sensores de 33x44mm (de ahí el fuera de las longitudes focales como el 60mm).

Sensor

Vista en vivo por favor! Tendrás un tiempo miserable centrándose sin él. Lamentablemente persuadir a la vista en vivo de un CCD sin obturador electrónico en absoluto es muy difícil. Sinar tiene la mejor implementación de vista en vivo, mientras que la fase uno no tenía video en vivo hasta la serie P +. Si usted puede permitirse, el CFV-50C o el IQ3-100 son ideales, pero si usted está leyendo este poste usted no puede probablemente. Una opción alternativa es usar un A7R / II, que tiene un sensor formidable, aunque algo pequeño, lo que hace que el enfoque sea algo incómodo; Si desea una longitud focal normal algunas cámaras pueden no ser capaces de enfocar al infinito sin lensboards agresivamente empotrados y fuelles de bolsa.

(... más por venir en el próximo post)

Volviendo piezas de automóviles usados ​​a los vehículos silly Parte 4: BREMSTHESIS 2

(El nombre sin sentido proviene de Bremschopper y el hecho de que parte o todo este proyecto está involucrado en la tesis de bachiller de Nick).

Así que previamente habíamos conseguido un control orientado al campo más o menos trabajando - el siguiente paso era conseguirlo razonablemente estable, reduciendo así El número de lesiones causadas por el firmware durante las pruebas de vehículos y el número de dólares gastados en ladrillos de reemplazo.

¿Qué es FOC?

FOC (Field-Oriented Control) es un nombre real de fantasía para algunas operaciones para hacer el control de corriente en un motor mejor y más fácil. En matemáticas esto sería una transformación de coordenadas y una rotación, pero aquí en la tierra EE se les da los nombres de "Transformar Clarke" y "Transformar Parke" y se asocian con algún hexagrama místico o el otro, pero me divago ...

Los cálculos de Clarke Transform

Que para las corrientes de fase nominales anteriores da

La transformación de Parke calcula más lejos

Debido a que estos valores son DC, el bucle ya no necesita correr lo suficientemente rápido para muestrear la sinusoide. Además, Id e Iq están relacionados con el par producido por el motor y las características físicas del motor, lo que nos permite controlar y optimizar directamente el par generado por el motor para una mayor eficiencia.

Loop Tweaking

El lazo funcionó bien, pero bajo carga pesada hubo ruidos extraños estrépito que ocurrió alrededor de 6Hz, como muestra la gráfica de abajo

No había nada evidente en el firmware que se estaba ejecutando a 6Hz ...

Resulta que el clunking estaba sucediendo debido a la interrupción interna de sobrecorriente en el ladrillo, lo que trajo la cuestión de por qué el corte interno de sobrecorriente estaba disparando en nuestro conjunto de corriente bastante baja punto. Entonces recordamos que los sensores de corriente no estaban realmente calibrados en el firmware ... resulta que estaban fuera por un factor de 7 o menos.

Con la mala calibración grosera atendida del siguiente paso fue mejorar la respuesta de bucle para permitir mayores valores de consigna antes de que los transitorios hicieran que la protección de sobreintensidad se disparara. La adición de un poco de paso manual en el acelerador y la caída de las ganancias por un factor de 100 o más parecía fijarlo (el primero es probablemente equivalente a este último, pero como las ganancias eran muy bajas me preocupaba cuestiones de precisión con Los flotadores de precisión única que estábamos usando para la matemática).

Más voltios

El controlador parecía trabajar en 300A - tristemente el rendimiento del vehículo era bastante pobre en el departamento de par. Nos registramos nuestra matemáticas, y descubrimos nuestro gearing estaba en un factor de 3 o así. Un nuevo piñón más tarde ... Y descubrimos nuestro engranaje estaba apagado por un factor de 3 o tan. Un nuevo piñón más tarde ... Y descubrimos nuestro engranaje estaba apagado por un factor de 3 o tan. Un nuevo piñón más tarde ...

Tales chorro de agua wow

... decidimos que era el momento para más voltios. Soldamos un horrible paquete de 120S3P:

Mantecoso

Y lo instalamos, sobre el cual fuimos recibidos con un montón de paradas al azar de sobrecorriente en la carretera. Dejar caer las ganancias ayudó (3x el voltaje del autobús hizo las ganancias con eficacia 3x más alto) pero no mucho. Un poco más de investigación llevó a la conclusión de que las paradas sólo ocurrió a altas RPM mecánica, por lo que era el momento para otra ronda de depuración.

Un Último (?) Error

Había un montón de razones por las que el controlador podría estar fallando: inestabilidad de bucle, ruido eléctrico, errores rotundos en el código, algún problema de hardware latente que todavía teníamos que pensar, etc.

Primero descartamos la inestabilidad del bucle: la salida del bucle (verde abajo) era más o menos prístina:

Hicimos algunas pruebas con diferentes ganancias y tratamos de tener una idea de lo que estaba pasando, pero ninguno resultó ser demasiado productivo. Entonces tuvimos la brillante idea de quitar la rueda trasera para algunas pruebas de alta velocidad, sin carga, en las que se reveló inmediatamente que el controlador no era capaz de girar el motor pasado un período de miles de RPM, independientemente de la carga .

Esto indicaba un problema de fase: cualquier desfase en los sensores aparecería como desfase en la posición del motor, lo que haría que todas las suposiciones de FOC fueran violadas y hacer que la corriente de fase real subiera. Debido a que los sensores de sala analógica tenían amplificadores de salida con un punto de 17kHz -3dB, era razonable suponer que el desfase de fase del amplificador no era cero incluso en un par de KHz.

Y de hecho, ajustar la fase parecía mejorar la situación, pero dejaré los excelentes resultados de eso para el próximo post ...