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
pro_MOTORDETENIDO;
end
else
begin
for var_loop:=1 to 8000 do
begin
pro_MOTORMARCHA(ancho_de_pulso)
end;
end;
end;