Go Down

Topic: Servo controllo di velocità (Read 2 times) previous topic - next topic

aleale97

Ciao a tutti, sto tentando di programmare un programma che in base al valore restituito da un sensore(come ad esempio un termometro) aumenti o diminuisca la velocità di un servo(ventola)...
Io avevo pensato di leggere il valore del sensore(da 0 a 1023) e inserirlo in una variabile. fare dieci variabili da 100 ognuna(l'ultima da 123). fare delle condizioni in base al quale l'arduino stabilisce in quale settore è da 1 a 10(velocità da 1 a 10 quindi) a questo punto dare piccoli impulsi di corrente a un relè che accenderà e spegnerà l'oggetto, quindi se il sensore restituisce 123 sarà nella zona 2 e riceverà un tot di impulsi elettrici che accendono e spengono il servo per farlo andare al 20% delle sue possibilità con quel voltaggio.

Che dite? c'è un metodo migliore?

Alessandro
p.s. ovviamente al motore non bastano i 5v dell'arduino altrimenti controllarlo sarebbe facile

uwefed

Non Ti capisco.
cosa significa
Quote
fare dieci variabili da 100 ognuna(l'ultima da 123).

Che servo usi?
Un servo normalmente non puoi pilotare la lelocitá ma solo la posizione.
Non puoi usare un relé per pilotare in velocitá qualcosa perché sono troppo lenti nel funzionamento, oltr  che li rompi abbastanza velocemente se li comuti di continuo.

Ciao Uwe

ratto93

ho capito.... le ventole teipo da pc (quelle montate sui dissipatori dei processori) hanno 3 cavi rosso nero giallo.... non funzionano come servi il giallo restituisce i giri della ventola non è un ingresso a meno che te non abbia una ventola particolare.... in quelle nuove con 4 cavi il marrone dovrebbe essere un ingresso ma non so dirti il tipo....
per controllare la velocità della ventola devi farlo con il semplice PWM
Se corri veloce come un fulmine, ti schianterai come un tuono.

aleale97

uwefed:
Intanto grazie per la risposta... Per la variabile intendevo:
Code: [Select]

int VAL1 = 0
int VAL2 = 100
...
int VAL10 = 1023

e poi confrontare il valore con if...

ratto93:
ne ho sentito parlare e pensavo che fosse proprio questo ovvero mandare impulsi di energia regolarmente ma con un relè non si può fare e siccome io ho bisogno più dei 5v come posso fare?

Grazie mille ad entrambi

uwefed

Il giallo é un uscita con un segnale di velocitá, non un entrata per regolare la velocitá.
Le ventole a 4 fili hanno come 4o filo un entrata PWM.
Comunque non sono dei servo.
Ciao Uwe

astrobeed


per controllare la velocità della ventola devi farlo con il semplice PWM


Non è detto che sia possibile, molte ventole hanno la velocità fissa perché al loro interno c'è un piccolo bldc con la relativa elettronica.


ratto93

devi usare un transistor... o un mosfet se nè parlato qualche discussione fà....
@astrobeed si è vero infatti su 2 ventole su circa una decina che ho provato a far andare con PWM non funzionava correttamente.... devi sperare che la tua possa farlo....
oppure devi variare la tensione di funzionamento.....
Se corri veloce come un fulmine, ti schianterai come un tuono.

aleale97

sostanzialmente i transistor sono dei relè?la funzione è la stessa... applico corrente mi apre il circuito non la applico e melo chide(o inverso), giusto?

superlol

in base alla tensione e corrente applicata sulla base cambia lo stato di resistenza tra emettitore e collettore, valori tendenti a infinito con base senza corrente e tendenti a 0 con corrente e tensione "giusta" alla base.

ho studiato bene? XD

ad ogni modo se i valori hanno intervalli uguali fra di loro (tipo da 0 a 100, 100 a 200, 200 a 300 ecc..) potresti usare la funzione map senza troppi problemi ottimizzando di molto il codice
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

ratto93


sostanzialmente i transistor sono dei relè?la funzione è la stessa... applico corrente mi apre il circuito non la applico e melo chide(o inverso), giusto?
si e no.....
http://it.wikipedia.org/wiki/Transistor
sono un pò più diffivcili da usare dei comuni relè....
Se corri veloce come un fulmine, ti schianterai come un tuono.

aleale97

ehm.. ho 14 anni non credo di averla ancora studiata  XD
Comunque... Ottimo, in base alla tensione che gli do esso cambia anche la tensione dell'emettitore se ho capito bene.. un buon posto dove conoscere la funzione map?

Grazie mille a entrambi comunque

superlol

sul sito di arduino  8)

e comunque per la cronaca io di anni ne ho 16 ma non mi risparmio di leggere sul web, wikipedia e chiedere anche in giro rompendo le b***e  ;)

http://arduino.cc/en/Reference/Map
guardati anche tutto il reference
Il nuovo forum italiano sull'elettronica: http://www.electroit.tk/ <--- Nuovamente online!

f.schiano


sostanzialmente i transistor sono dei relè?la funzione è la stessa... applico corrente mi apre il circuito non la applico e melo chide(o inverso), giusto?


Non sono dei relè. Ma possono assumere il cosiddetto "funzionamento da interruttore". I transistor sono degli elementi che possono essere utili per moltissime cose tra cui il chiudere un circuito in maniera controllata.

Tu puoi collegare la base del BJT a un pin digitale dell'arduino e metterlo a HIGH o LOW in base a quando vuoi chiudere l'interruttore.

In parole povere forse si potrebbe arrivare a dire che il transistor in modalità da interruttore è simile a un relè , ma non fare questo errore, perchè sono utili, come ho già detto, per molte altre cosuccie :D . Faresti bene a leggerti qualcosa per cominciare su wikipedia.

Ciao!
L'impossibile...richiede solo piu' tempo!

aleale97

grazie mille ragazzi per tutte le risposte... non vi risparmierò sicuramente da molte delle mie domande ma per oggi mi reputo soddisfatto.. Vado a continuare la preparazione al mio esame grazie ancora

uwefed

Quote from: aleale97

ehm.. ho 14 anni non credo di averla ancora studiata  XD
Comunque... Ottimo, in base alla tensione che gli do esso cambia anche la tensione dell'emettitore se ho capito bene.. un buon posto dove conoscere la funzione map?


Il transistore BJT ( npn e pnp) funziona a corrente e non a tensione.

Quote from: superlol

e comunque per la cronaca io di anni ne ho 16 ma non mi risparmio di leggere sul web, wikipedia e chiedere anche in giro rompendo le b***e  smiley-wink


Io ho 44 anni e mi cercano tutti di rompere le b... con domande ma non ci riescono  ;) ;) ;)

Ciao Uwe

Go Up