Ver Mensaje Individual
  #3  
Antiguo 09-07-2007
emeceuy emeceuy is offline
Miembro
 
Registrado: jun 2003
Ubicación: Uruguay
Posts: 122
Reputación: 21
emeceuy Va por buen camino
es cierto, porque supongo que quedó entreverado y no expliqué mucho el tema electronico...

PWM es PULSE WIDTH MODULATION, que consta en un ciclo de por ejemplo 1000 (pulsos de reloj, por ejemplo) de los cuales se define el tiempo de encendido y el tiempo de apagado. Si por ejemplo lo conecto al motor con un ciclo de trabajo de 50%, la salida estará 500 pulsos encendida y 500 pulsos apagado, y así sucesivamente... de ésta manera se puede variar la velocidad del motor, ya que como todo esto es muy rapido, no se nota que es discreto, sino que por la propia inercia del motor (y porque además el motor es un filtro) se ve como continuo...

Acá dejo un esquema del codigo, donde pro_MOTORMARCHA es el procedimiento que cuenta los pulsos y manda la salida a 1 o 0 segun el ancho de pulso que yo elija...

Otra manera fácil de explicar lo que quiero hacer, es poder sacar por una patita del puerto paralelo una frecuencia que yo pueda definir el ciclo de trabajo...

Código Delphi [-]
procedure Tfrm_principal.tmr_timerTimer(Sender: TObject);
begin
   if rgp_actitud.ItemIndex=1 then
      begin
         // procedimiento que envia datos al paralelo para detener el motor
         pro_MOTORDETENIDO;
      end
   else
       begin
          for var_loop:=1 to 8000 do
             begin
                // procedimiento que envia datos al paralelo para que funcione
                pro_MOTORMARCHA(ancho_de_pulso)
             end;
       end;
end;
__________________
Marcelo C.
Responder Con Cita