![]() |
1 Allegato/i Citazione:
Il pic rileva il fronte di salita del segnale, resetta il TMR0 e, sul fronte di discesa del segnale memorizza il valore letto dal TMR0. Nei restanti 18ms ripete il segnale letto. Sicuramente non sono stato molto chiaro:lol: Spero si capisca meglio dal disegno. Supponiamo di aver 2ms divisi in 200 passi di TMR0. Utiliziamo il TMR0 nei primi 2ms del segnale per leggerlo, e nei restanti 18ms per generare un segnale "copia" del precedente. Poi in uscita si utilizza un semplicissimo RC per portare il segnale da digitale ad analogico variabile da 0 a 5V:wink: |
Questa è carina!! Più che ripetere il segnale del servo bisogna generare una frequenza il cui periodo alto vari da 0% a 100% quando l'impulso in ingresso varia da 1 a 2 mS: in pratica basta sottrarre i mS dal segnale letto e buttare fuori impulsi da 0 a 1mS ogni millisecondo. Bravo! Michele |
Citazione:
L'avevo fatto tempo fa per un regolatore per motori brushed...^_^ Solo che facevo aprire e chiudere un MOS per variare la velocità di un motore. P.S. Ho detto "ripetere" perchè io utilizzo il TMR0 sia per leggere il segnale che arriva dalla ricevente, sia per creare il segnale "copia", quindi in uscita riporto il segnale arrivato dalla ricevente "riempito" dai segnali creati dal PIC.:rolleyes: |
1 Allegato/i Concordo sul fatto che sia una soluzione elegante e che probabilmente occupa poche righe di codice ma per questa pplicazione è sprecata nel thread sopra stiamo discutendo qualcosa di molto simile, guarda per esempio questo circuito postato nell'altro thread e segui la discussione, al finale tu ci metti un invertitore BJT e ottieni fedele il tuo segnale |
Vi ringrazio molto per le risposte. Mi è venuta un' idea che forse renderebbe tutto molto facile ed immediato risolvendo in 5 minuti senza scomodare PIC o integrati, solo che al momento non ho la possibilità di provare... Ma se smonto un servo, ne prendo il circuito eliminando il potenziometro e prelevando la tensione dove è attaccato al motore? Il motore del servo è il classico due poli in continua giusto? Potrebbe funzionare... Emanuele |
| Tutti gli orari sono GMT +2. Adesso sono le 21:32. |
Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002