Vai al contenuto
PLC Forum


Pic14f877 E Motori - per farli andare veloci uguali


andreansr125

Messaggi consigliati

ciao a tutti, io ho costruito un robot per la mia tesina di maturità,solo che il mio compagno che doveva occuparsi del software si è dileguato e a me è rimasto il compito in questi ultimi brevi giorni...

per ora il problema che mi è parso più complesso è quello che riguarda l'accoppiamento dei due motori che si occupano di muovere il robot (è un cingolato quindi un motopre per ogni cingolo)

questi due motori sono dotati di tachimetri incorporati che mi danno in uscita una tensione lineare di 4 volt ogni 1000 giri.

in ingresso a pilotare i motori ho due registri a 8 bit,in cui i primi 127 valori rappresentano la velocità in un senso e gli altri nell'altro senso.

mettiamo conto che i motori girano al massimo a 3000 giri quindi ho +/- 12 volt provenienti dai tachimetri dei motori. fisso questo valore come il 100% e il -100% della velocità possibile.

poi fisso come 100% il valore 11111111 in ingresso e come -100% il valore 00000000, come 0% il valore medio 10000000.

a questo punto, per ogni valore che ricevo in ingresso io calcolo la percentuale rispetto al totale: per oesempio se ho in ingresso il valore 10110110 questo è 55/127*100 il 43,3% della velocità totale nel senso "avanti".

ora ammettiamo di avere il valore di 4 volt dal tachimetro, corrispondente al 30% della velocità totale.

a questo punto il programma aumenterà il registro del modulo PWM interessato di una certa costante.

dopodichè controlla di nuovo la velocità, se è necessario aumenta ancora e così via finchè non arriva alla velocità giusta (ovviamente con un certo errore di margine)

secondo voi può funzionare?

se no, avete idee o anche degli esempi da farmi vedere su come fare per risolvere la questione??

grazie!!

Link al commento
Condividi su altri siti


Non non va bene. Devi campionare la reazione di velocità a tempi fissi e costanti (diciamo con interupt a 10msec). Confronti la lettura con il valore di riferimento e ricavi l'errore. L'errore lo moltiplichi per una costante ed ottieni la correzzione proporzionale. Però con la sola correzzione proporzionale non annulli l'errore. E' necessario anche una correzzione integrale. Per fare questo devi moltiplicare l'errore per un'altra costante e sommarlo alla storia dell'integrale.

Se guardi nella sezione didattica del forum c'è un mio tutorial con anche un'esempio scritto in linguaggio simil "C"

Link al commento
Condividi su altri siti

grazie mille,veramente fantastico l'articolo!!! anche se non è proprio sul forum ma sulla homepage del forum :)

comunque grazie tantissime!!! :D

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...