Controlando una bomba variable de pistón con una Raspberry Pi

1

Estoy involucrado en un equipo que está controlando un AA10VG Bomba variable de pistón axial utilizando una Raspberry Pi 3 Modelo B V1.2. Me han delegado el diseño del circuito que controlará el desplazamiento de la bomba, pero simplemente no entiendo lo suficiente la ingeniería eléctrica para hacerlo.

Ya tenemos una fuente de alimentación de 12V separada que controlará otros componentes del diseño, así como una fuente de alimentación para el RPi. Tenemos un MCP4725 DAC para convertir el control de desplazamiento deseado de digital a una señal analógica, pero aquí es donde El problema surge: controlar realmente la bomba.

El desplazamiento de la bomba varía según la corriente del suministro de 12V (de 400 mA a 1115 mA). El DAC tiene una salida de voltaje de 5V con una corriente de 25 mA. Necesitamos encontrar una manera de hacer que el DAC controle de manera confiable el desplazamiento de la bomba, pero no sé cómo hacerlo.

Supongo que necesitaremos algún tipo de amplificador de corriente que pueda ser controlado por la corriente de salida de 5V pero alimentado por la fuente de 12V. He investigado múltiples amplificadores operacionales y seis o siete preguntas solo en este sitio, pero todas estas se relacionan con un voltaje constante en todo el sistema, sistemas de agnóstico actual o no están relacionados de alguna otra manera.

Si esto es posible, proporcione detalles sobre los símbolos en su diagrama de circuito, ya que soy nuevo en esto.

Descargo de responsabilidad: soy un estudiante de ciencias de la computación cuyo equipo de ingeniería eléctrica no ha podido ayudarlo de ninguna manera, y he sido elegido para solucionarlo porque soy el más cercano. Por favor sea paciente con mi comprensión limitada en última instancia.

    
pregunta Addison Crump

1 respuesta

0

En su lugar, debe utilizar una salida PWM de la tarta de frambuesa, no el DAC. Luego, conecte el PWM a un mosfet o solo a un transistor NPN.

Y necesitará una resistencia de derivación para tener una retroalimentación de la corriente y controlarla con un PID.

El problema con PWM es que controlará la salida de voltaje, pero el solenoide de la bomba puede cambiar la resistencia con la temperatura y el desplazamiento es de acuerdo a la corriente, no al voltaje en el solenoide. Es por eso que necesita retroalimentación actual si desea precisión.

El código que utilicé para controlar una válvula de alivio de presión variable con arduino:

  I1 = analogRead(A3); // Read the current from the shunt resistor

  E0 = I0-I1;  // Compare with I0 the current I want to send to the solenoid

  Integral += Ki*E0;  // Adjust the Ki here

  if(Integral>800){Integral = 800;}  // Anti-Windup

  else if(Integral<-800){Integral = -800;}

  Temp = K_0*I0 + Integral + Kp*E0; // Command sent to the PWM output, 0-1024

  if(Temp>1024){Temp = 1024;}else if(Temp<0){Temp = 0;}

  OCR1A = Temp;   // PWM duty cycle register
    
respondido por el Jesse_a_b

Lea otras preguntas en las etiquetas