Control de Buckpuck con digipot

1

Estoy trabajando con un circuito que debería controlar la intensidad de varios LED utilizando los pines CTL y REF en un número de pieza del controlador buckpuck 3021-DE-1000 . Estoy usando un AD5204 digipot configurado como un reóstato entre la CTL y los pines REF en el buckpuck para modular la corriente vista en el terminal CTL, que a su vez modula la corriente que el buckpuck envía al LED (cuanto más alta es la corriente vista en CTL, más baja es la salida del LED). Estoy usando un Arduino para controlar el AD5204. El circuito completo que estoy investigando se muestra a continuación: Creoquelapartepertinentedelcircuitoes:

No puedo hacer que los LED se enciendan. Los interruptores (SW-SPDT) y los BJT (Q1-3) se usan como encendido / apagado para los LED, mientras que el Digipot se supone que controla la intensidad de la salida del LED.

Mi idea inicial fue que no me estaba comunicando correctamente con el digipot, pero con un analizador lógico he confirmado que estoy enviando los comandos SPI correctos al AD5204. Este es el código que estoy usando (los pines Arduino 7,8 y 9 están escritos en alto para poner los BJT en corte, y los interruptores mecánicos están conectados al pin Arduino, no a GND, por lo que teóricamente la corriente en CTL debería estar dictando la salida del LED):

#include <SPI.h>

int cs = 10;
int address = 1;
int potval = 10;

void setup() {
  pinMode(7,OUTPUT); digitalWrite(7,HIGH);
  pinMode(8,OUTPUT); digitalWrite(8,HIGH);
  pinMode(9,OUTPUT); digitalWrite(9,HIGH);
  pinMode(cs,OUTPUT); digitalWrite(cs,HIGH);
  SPI.begin();
}

void loop() {
  digitalWrite(cs,LOW);
  SPI.transfer(address);
  SPI.transfer(potval);
  digitalWrite(cs,HIGH);
  delay(10);
}

Entonces estoy empezando a dudar que la comunicación con el AD5204 sea el problema, pero eso me deja bastante perdido. No estoy seguro de por qué los LED no se encienden, especialmente porque incluso si no me estaba comunicando con el AD5204, de forma predeterminada, todos los valores de los potes deberían estar configurados en rango medio (5kOhm).

En ese momento, los LED deberían estar encendidos, por lo que yo entiendo. ¿Hay algo que esté pasando por alto en el resto del circuito?

He intentado ser exhaustivo con la información que he proporcionado, pero disculpe de antemano si he omitido cosas e intentaré agregar la información lo antes posible, si lo he hecho.

EDIT

Bien, un par de cosas que he encontrado:

(1) Parece que no estoy cambiando el valor del limpiaparabrisas en el digipot; permanece en el valor predeterminado de 5kOhm, sin importar qué valor intente escribirle. Así que ese es un problema que necesito resolver.

(2) Al mismo tiempo, cuando el reómetro tiene un valor de 5kOhm, el LED debería estar encendido. He confirmado esto en una placa de pruebas con el mismo buckpuck que estoy usando en la PCB y en una olla rotativa mecánica: a 5 kOhm, el voltaje en el terminal CTL es ~ 1.23 V, y el LED está en su nivel más brillante.

(3) En la PCB con el circuito completo como se muestra en la imagen anterior, obtengo 4.3V en el terminal CTL para cada RDAC en el 5204, que no concuerda con (2).

    
pregunta cyin

2 respuestas

0

Lo primero que debe hacer es asegurarse de que sus digipots se estén comunicando y cambiando correctamente. Saque un multímetro y póngalo en los terminales W y B y vea si observa un cambio en la resistencia. Si no lo hace, entonces tiene un problema con la olla (o el transistor se enciende involuntariamente y está cortando la resistencia del reóstato). Otra posibilidad es que el pin CTRL en el buckpuck está cortando las cosas (nunca se sabe).

Pruebe cada parte del sistema por separado, encuentre un potenciómetro y conéctelo al disco de Buck sin el transistor o el reóstato conectado (o tome un extra del banco) para asegurarse de que tiene el buckpuck correcto, solo la E y Las versiones I tienen un regulador de 5V, si no lo tiene, el reóstato o el transistor no funcionarán y deberá proporcionar un voltaje de "pull up" para el pin de control.

Pondré mis apuestas de que no tienes el buckpuck correcto. Si leo la hoja de datos correctamente, solo el 3021-D-I-xxxx funcionará en tu aplicación.

Editar:

Porcierto,sitieneunapartede50ko100kΩ,podríaexcederlaclasificaciónactual,yaqueelbuckpuckpuedeobtener5mAylaspartesde50ky100ksolopuedentolerar5mA,porloquesilaresistenciabajalosuficiente,podríaquemareldigipotlaresistenciamásbajaesde45ohmios,queesmásde100mA,loquequemarálapieza.

DelahojadedatosdelAD5204:

  

Porejemplo,cuandoVA=0VylaTerminalBestánvinculadasaWiperW,el  LosvaloresderesistenciadesalidadescritosenlaTabla8seconfiguranparaelRDAC  códigosdecierre.

EstotambiénsignificaqueSitieneelterminalAconectadoaW,laresistenciaseráalrevés(latablaesdeBaWdelWiper,porloqueel\$R_{LosvaloresdeWB}\$serevertiránde\$R_{WA}\$

Porlotanto,cuandosudiseñoseenciende,elvalorpredeterminadoes84Ωo45Ω(dependiendodesuparte)yesmásprobablequequemeelAD5204.NecesitastenerresistenciaenserieparaprotegerelAD5204

Delaseccióndecalificacionesmáximasabsolutas:

    
respondido por el laptop2d
0

Espero que la resistencia externa sea el lado alto de un divisor de voltaje.

Mi procedimiento de solución de problemas sería:

  1. Desconecte el pin 3 (ref) o el pin 4 (ctl)
    y ver si los LEDs se encienden. Corté la pista al pin 4.
    Los LED deben estar encendidos al 100% de intensidad.
    Mida el voltaje en el pin 4, debe estar entre 0V y 1.5V, probablemente cero.

  2. Mientras está desconectado, puentea una resistencia de 2.5K a través de los pines CTL & REF
    y los LEDs deberían atenuar ≈50%. Mida el voltaje en el pin 4, debe ser de aproximadamente 2.8V.

  3. Puentee una resistencia de 10Ω entre REF y CTL.
    Los LED deben estar en intensidad mínima o apagados.
    Mida el voltaje en el pin 4, debe estar por encima de 4V.

  4. Vuelva a conectar los pines 3 y / o 4.

  5. Elimine el transistor de encendido / apagado y depure la programación del AD5204.


  

Al mismo tiempo, cuando el reómetro tiene un valor de 5kOhm, el LED   debería estar en He confirmado esto en una placa con el mismo   Buckpuck que estoy usando en el PCB y en una olla rotativa mecánica - a 5kOhm   el voltaje en el terminal CTL es ~ 1.23 V, y el LED está en su posición   más brillante.

Los LED deben estar en su punto más brillante cuando no hay conexión entre CTL y REF.

Yo usaría resistencias fijas para resolver problemas en lugar de una olla. 5K, 2.5K y 10Ω. Una vez que los LED funcionen correctamente con las resistencias, conectaría el AN5204.

Definitivamente eliminaría los transistores de la ecuación hasta que el AN5204 esté funcionando.

No debería necesitar una resistencia entre el AN5204 y el Buckpuck para limitar la corriente a 11 mA, dependiendo del voltaje del pin CTL con una resistencia de 10Ω conectada entre REF y CTL. A medida que la resistencia del recipiente disminuye, el voltaje en el pin CTL debe aumentar de V1V @ 5K, a aproximadamente 4V @ 0Ω. Ver Fig. 3.

  

En el PCB con el circuito completo como se muestra en la imagen anterior, obtengo   4.3 V en el terminal CTL para cada RDAC en el 5204, que no concuerda con (2).

Un voltaje de 4.3 V en el CTL significa que la resistencia entre CTL y REF es baja y los LED deben estar muy apagados o apagados.

1.23 V en el pin CTL significa que la resistencia es bastante alta y que los LED están a la máxima intensidad.

Vea la Figura 3 para los niveles de voltaje y corriente.

    
respondido por el Misunderstood

Lea otras preguntas en las etiquetas