BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   Convertire PWM (https://www.baronerosso.it/forum/circuiti-elettronici/104552-convertire-pwm.html)

Mrk89 30 settembre 08 23:52

1 Allegato/i
Citazione:

Originalmente inviato da SoldatoSemplice (Messaggio 1138397)
E tu generi il segnale invertito in modo di avere un duty cycle ampissimo e poi lo inverti di nuovo, tanto una frequenza massima di 500 hertz si può dire che praticamente qualunque transistor regge (almeno quelli che sono solito trattare io) e neanche viene troppo complicato e resto comunque del parere di non usare il PIC poi ci sono infinite soluzioni per raggiungere un medesimo risultato che decida il nostro amico.....

Si potrebbe utilizzare il PIC per "copiare" il segnale PWM del servo più volte.
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:

MSchiepp 01 ottobre 08 00:02

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

Mrk89 01 ottobre 08 00:10

Citazione:

Originalmente inviato da MSchiepp (Messaggio 1138598)
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

Grazie...:lol:
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:

SoldatoSemplice 01 ottobre 08 14:08

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

Emanue|e 01 ottobre 08 20:34

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