BaroneRosso.it - Forum Modellismo

BaroneRosso.it - Forum Modellismo (https://www.baronerosso.it/forum/)
-   Circuiti Elettronici (https://www.baronerosso.it/forum/circuiti-elettronici/)
-   -   Servocomandi e PLC (https://www.baronerosso.it/forum/circuiti-elettronici/226130-servocomandi-e-plc.html)

romoloman 16 ottobre 11 11:14

Citazione:

Originalmente inviato da faustog_2 (Messaggio 2820867)
scusami, se correggo, per muovere i servo non si usa il PWM, esso è un concetto leggermente diverso, il PWM può essere usato per muovere un motore DC, se accoppiato ad un ponte H come per esempio L298. Mentre per muovere un servo serve un onda quadra che può variare da circa 900 uS a circa 2,2 mS. Per muovere un servo sicuramente è ideale un 16F628 va benissimo visto che non ha bisogno di quarzo esterno, con una spesa di qualche euro e una buona lettura del Tanzilli..

Scusa se ti correggo io... a seconda di come è implementato il PWM ovvero se hai la possibilità di settare la frequenza, fra PWM e segnale servo non c'è molta differenza....
Il segnale di un servo non è altro che un'segnale PWM con frequenza di PWM di 50hz e duty cycle max del 10% e mi minimo 5%.
Vedi anche: Servomechanism - Wikipedia, the free encyclopedia

PS: Lo standard prevede durata minima 1000us e massima di 2000us
900 e 2100 sono le corse estese non garantite.

marcosinatti 16 ottobre 11 15:59

Grazie Romoloman per la risposta, io non capisco se quando uno risponde ad una discussione legge tutti i post prima di rispondere oppure legge solo le righe pari o quelle dispari.

Io ho scritto:

Dal momento che serve un impulso da 1 a 2ms su un periodo di 20mS si parla si modulare il pwm dal 5 al 10%

Mi sembra una frase chiara e che non da modo di fraintedere.

Pwm = Pulse Width Modulation (modulazione di larghezza di impulso)

Poi se il pwm lo usi da 0 a 100% o da 5 a 10% sempre pwm è! Stop.

Dimenticavo... penso di aver chiaro il concetto di ponte H, pwm etc... come puoi vedere sul mio sito Elettronica - Software - Marco Sinatti


:fiu:

marcosinatti 16 ottobre 11 20:08

Ahhh scusa Romoloman, non era indirizzato a te ovviamente...

romoloman 16 ottobre 11 21:50

Citazione:

Originalmente inviato da marcosinatti (Messaggio 2821785)
Ahhh scusa Romoloman, non era indirizzato a te ovviamente...

Mi sembrava ovvio....
La cosa più tragica è che certa gente ha a che fare con gli studenti...
Se ha certe convinzioni mi chiedo cosa insegni.....
Speriamo sia stata una svista da mente in relax per il weekend...

Prendere abbagli capita a tutti...

faustog_2 17 ottobre 11 00:42

--
 
si ok corretto, il fatto è che appunto nel moviemtno dei servi questa onda quadra può variare tra i 900uS ma anche 850 e i 2200 mS infatti vi sono gli estensori, poi il segnale va adormire circa 20 mS.. max 30 mS, e poi ricomincia, non ho mai provato con un PWM a smuover un servo, quando a vrò modo ci voglio provare.. rimane il fatto che con i PWM ci piloti i motori DC, mentre i servo con un segnale simile ma che ha una tempistica diversa, 50 Hz significa che in ogni ciclo disponiamo di 20.000 uS, il 10% come da te suggerito corrisponde a 2 mS perfetto minimo 5% sono 1 mS anche questo perfetto, quindi quale prescaler al TMR2 ? quale valore a PR2.. per determinare la frequenza? che valori poter far osciollare CCPR1L ?

a dopo
fausto



Citazione:

Originalmente inviato da romoloman (Messaggio 2821099)
Scusa se ti correggo io... a seconda di come è implementato il PWM ovvero se hai la possibilità di settare la frequenza, fra PWM e segnale servo non c'è molta differenza....
Il segnale di un servo non è altro che un'segnale PWM con frequenza di PWM di 50hz e duty cycle max del 10% e mi minimo 5%.
Vedi anche: Servomechanism - Wikipedia, the free encyclopedia

PS: Lo standard prevede durata minima 1000us e massima di 2000us
900 e 2100 sono le corse estese non garantite.


romoloman 17 ottobre 11 00:49

Citazione:

Originalmente inviato da faustog_2 (Messaggio 2822373)
si ok corretto, il fatto è che appunto nel moviemtno dei servi questa onda quadra può variare tra i 900uS ma anche 850 e i 2200 mS infatti vi sono gli estensori, poi il segnale va adormire circa 20 mS.. max 30 mS, e poi ricomincia, non ho mai provato con un PWM a smuover un servo, quando a vrò modo ci voglio provare.. rimane il fatto che con i PWM ci piloti i motori DC, mentre i servo con un segnale simile ma che ha una tempistica diversa, 50 Hz significa che in ogni ciclo disponiamo di 20.000 uS, il 10% come da te suggerito corrisponde a 2 mS perfetto minimo 5% sono 1 mS anche questo perfetto, quindi quale prescaler al TMR2 ? quale valore a PR2.. per determinare la frequenza? che valori poter far osciollare CCPR1L ?

a dopo
fausto

Si sta parlando di PLC.... ti sfugge ? Mi spieghi cosa centrano CCPR1L e TRM2 con un PLC ?
Grazie....

Hai detto una cosa errata e questa è una :climb:

Il servo si comanda con un segnale PWM. PUNTO!!!!


Comunque a 8 Mhz:
T2CON |= 120;
T2CON.TMR2ON = 1;
T2CON.T2CKPS1 = 1
T2CON.T2CKPS0 = 0;
PR2=120

Questo per far si che Timer2 abbia una frequenza di interrupt di 50.08Hz
Se i calcoli a mente non mi fregano....

romoloman 17 ottobre 11 01:16

Citazione:

Originalmente inviato da faustog_2 (Messaggio 2822373)
si ok corretto, il fatto è che appunto nel moviemtno dei servi questa onda quadra può variare tra i 900uS ma anche 850 e i 2200 mS infatti vi sono gli estensori, poi il segnale va adormire circa 20 mS.. max 30 mS, e poi ricomincia, non ho mai provato con un PWM a smuover un servo, quando a vrò modo ci voglio provare.. rimane il fatto che con i PWM ci piloti i motori DC, mentre i servo con un segnale simile ma che ha una tempistica diversa, 50 Hz significa che in ogni ciclo disponiamo di 20.000 uS, il 10% come da te suggerito corrisponde a 2 mS perfetto minimo 5% sono 1 mS anche questo perfetto, quindi quale prescaler al TMR2 ? quale valore a PR2.. per determinare la frequenza? che valori poter far osciollare CCPR1L ?

a dopo
fausto

Cosa vuol dire che un PWM ha una tempistica diversa ??? Mai sentito che nei PWM si può regolare la frequenza ?

Un segnale impulsato a duty cycle variabile per definizione si chiama PWM.
Quindi per tua stessa ammissione un servo si comanda con un segnale PWM (come del resto riportato ovunque).

Considerazione prima di andare a dormire visto che domattina alle 6 sono in piedi...
Questo post dimostra incontrovertibilmente come ormai trovare qualcuno che avendo detto una cosa errata abbia il coraggio di ammetterlo è cosa rara.....

Lascio perdere ulteriori considerazioni....

marcosinatti 17 ottobre 11 12:56

Pwm = Pulse Width Modulation (modulazione di larghezza di impulso)


:wink:

faustog_2 21 ottobre 11 00:48

--
 
ciao romoloman

ti scrivo adesso perchè ho avuto un casino di cose da fare.. ..vedo che sei un tipo un pò suscettibile, non ti arrabbiare non c'è motivo.
Ok ammetto la mia leggerezza nell'aver dato una risposta frettolosa, con un il PWM ci piloti un servo.

X il discorso della tempistica.. volevo dire in altre parole x creare impulsi relativi a 4 ch , oppure 6 ch ecc.. ..ovvero x gestire piu di un servo, tra un segnale e l'altro passa circa un millisecondo, poi alla fine dei 4 oppure 6 ch una pausa piu lunga e poi si ricomincia. ..ciò ovviamente nn puo' essere gestito con un PWM

se dovessi dire qualche fesseria, accomodati pure non ho problemi ad ammettere d'aver sbagliato, anzi grazie per le delucidazioni.

hai esperienza con i motori passo passo?

a presto


Citazione:

Originalmente inviato da romoloman (Messaggio 2822394)
Cosa vuol dire che un PWM ha una tempistica diversa ??? Mai sentito che nei PWM si può regolare la frequenza ?

Un segnale impulsato a duty cycle variabile per definizione si chiama PWM.
Quindi per tua stessa ammissione un servo si comanda con un segnale PWM (come del resto riportato ovunque).

Considerazione prima di andare a dormire visto che domattina alle 6 sono in piedi...
Questo post dimostra incontrovertibilmente come ormai trovare qualcuno che avendo detto una cosa errata abbia il coraggio di ammetterlo è cosa rara.....

Lascio perdere ulteriori considerazioni....


romoloman 21 ottobre 11 10:17

Citazione:

Originalmente inviato da faustog_2 (Messaggio 2829744)
ciao romoloman

ti scrivo adesso perchè ho avuto un casino di cose da fare.. ..vedo che sei un tipo un pò suscettibile, non ti arrabbiare non c'è motivo.
Ok ammetto la mia leggerezza nell'aver dato una risposta frettolosa, con un il PWM ci piloti un servo.

X il discorso della tempistica.. volevo dire in altre parole x creare impulsi relativi a 4 ch , oppure 6 ch ecc.. ..ovvero x gestire piu di un servo, tra un segnale e l'altro passa circa un millisecondo, poi alla fine dei 4 oppure 6 ch una pausa piu lunga e poi si ricomincia. ..ciò ovviamente nn puo' essere gestito con un PWM

se dovessi dire qualche fesseria, accomodati pure non ho problemi ad ammettere d'aver sbagliato, anzi grazie per le delucidazioni.

hai esperienza con i motori passo passo?

a presto

Ammettere i propri errori è sintomo di intelligenza e per me la faccenda si chiude qui, amici come prima...
Il discorso che fai tu sulla tempistica ha senso solo se fai una codifica sequenziale sullo stesso canale (in questo caso è una sequenza di segnali pwm e non un PWM puro).
Altrimenti il discorso non cambia, supponi di dover gestire 6 canali, avrai una routine di interrupt che scatta ogni 20ms... all'interno di questa routine vai a gestire in sequenza timer1 per il primo canale, finito di gestire il primo gestisci il secondo e via così per le 6 uscite del PIC relative ai 6 servocomandi.
Avrai 6 segnali PWM distinti su 6 uscite distinte (è così fra l'altro che lavora una RX).
Ovvio che in questo caso i fronti di salita non sono tutti allo stesso T..
Tuttavia se tu volessi averli allo stesso T sarebbe sufficiente ordinare i canali per larghezza di impulso crescente e gestire i delta T (potrebbe diventare una rogna gestire delta molto piccoli a bassa frequenza di clock della CPU).
Tuttavia la sincronicità dei fronti di salita non è una cosa obbligatoria, considerando i tempi di risposta meccanici di un servo ed infatti se provi a vedere con un'oscilloscopio le uscite di una RX te ne renderai conto tu stesso...


Con i passo passo ci ho lavorato, ultimamente mi sono solo capitati lavori in cui c'erano brushless con encoder o resolver.


Tutti gli orari sono GMT +2. Adesso sono le 13:27.

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