Visualizza messaggio singolo
Vecchio 02 novembre 10, 10:38   #10 (permalink)  Top
faustog_2
User
 
L'avatar di faustog_2
 
Data registr.: 19-07-2008
Residenza: catania
Messaggi: 978
ok

scusami se uso terminologia marziana!
appena ho tempo cerco di tradurre tutt oin termini di assembler
..comunque mi la tua osservazione coincide con la mia .. però detta meglio da te ovviamente..

a dopo


Citazione:
Originalmente inviato da romoloman Visualizza messaggio
Scusami Fausto, ma forse se tu usassi una teminologia opportuna ti si capirebbe meglio.
Tu devi generare un impulso PWM con frequenza totale di 50Hz in base ad un impulso che ti arriva.
Che i due impulsi inizino asseme non ti importa nulla, ne tantomeno importa al servo.
Pertanto l'unica cosa che devi fare è:
leggere l'impulso, calcolare la durata di quello da generare in base alla tua funzione di trasformazione e generare l'impulso in uscita.
Non centrano nulla i ritardi o gli anticipi (credo sia la corretta definizione di "ritardo ancora più breve")

In picbasic il tuo problema lo si risolve con ben 8 righe di codice.
Esempio per aumentare del 20% le corse:

while 1=1
a=pulsin(gpio.portain,1);
if (a!=0) then
b=((a-150)*1.2)+150;
low gpio.portaout;
pulsout(gpio.portaout, b,1);
endif
wend

Alla fine non mi sembra così complesso...
faustog_2 non è collegato   Rispondi citando