Pages: [1] 2   Go Down
Author Topic: Controllare motore con PWM  (Read 3079 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ciao a tutti! Questo è il mio primo post su questo forum  smiley
Sto cercando di usare un motorino controllandolo con l'Arduino. Non mi interessano cose strane come farlo andare avanti e indietro o variare la velocità perchè lo voglio usare solo come fonte di vibrazione (l'ho tirato fuori da un vecchio cellulare).
Il problema è che ho fatto delle prove alimentandolo a varie tensioni e già a 4,5 volt si scalda troppo. Il progetto finale sarà alimentato da una batteria a 9v.
Ora vi chiedo: controllandolo con il solito schema che ho trovato in giro (quello qui sotto)

e facendo uscire dal pin digitale una PWM con duty cycle del 33% funzionerebbe tutto bene o ci sarebbero problemi dovuti ai picchi di 9v dell'onda? Come transistor va bene un 2N3904? E poi (ultima domanda) ho letto da qualche parte che bisognerebbe mettere un diodo in antiparallelo al motore per evitare che i picchi di tensione dovuti al carico induttivo danneggino il transistor... visto che vorrei mantenere il tutto più compatto possibile, è indispensabile o se ne può fare anche a meno?
Grazie a tutti in anticipo!
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21869
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ciao rbino

Pensa un po come funziona un motorino nel cellulare. gira qualche secondo intervallato da pause di altri secondi in tutto al massimo 30 secondi.
Viene alimentato da 3,3V (presumo visto che una tensione standard dei integrati é 3,3V) e in complessivo gira forse 15 secondi nel arco di mezz ora?
Ha tutto il tempo di rafreddarsi tra una chiamata e l' altra.

In poche parole non é fatto per girare di continuo.

Ciao Uwe

Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 2
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sì sì ma infatti io lo userei come è usato nel cellulare, lo farei vibrare per intervalli relativamente brevi (al massimo 10-20 secondi) e poi lo terrei spento per N minuti. Effettivamente ragionandoci meglio nei periodi "ON" sarebbe meglio fare brevi tratti ON-OFF (come effettivamente fa il cellulare). Ad esempio, se deve stare acceso 30 secondi, farlo stare acceso 2 sì e 2 no per 15 volte, o cose del genere. Poste queste condizioni, ci sono altri problemi dovuti ai 9 volt sul motore?
Logged

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21869
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

sí 9V sono troppi.
Prendi uno stabilizzatore di tensione per 3,3V. se scegli uno con un pin di enable puoi pilotare il motore cosí.

Ciao Uwe
Logged

Offline Offline
Full Member
***
Karma: 2
Posts: 180
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il diodo si usa quando l'energia accumulata dall'induttore (il motore od il rele') puo' danneggiare il transistor se liberata nel circuito (leggi, quando viene spento il motore od il rele'). Nel caso di motori cosi' piccoli, non credo sia necessario, dipende dalla corrente che scorre nella (e dall'induttanza della) bobina.
Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sto cercando di usare un motorino controllandolo con l'Arduino. Non mi interessano cose strane come farlo andare avanti e indietro o variare la velocità perchè lo voglio usare solo come fonte di vibrazione (l'ho tirato fuori da un vecchio cellulare).
Il problema è che ho fatto delle prove alimentandolo a varie tensioni e già a 4,5 volt si scalda troppo. Il progetto finale sarà alimentato da una batteria a 9v.
Ora vi chiedo: controllandolo con il solito schema che ho trovato in giro (quello qui sotto)

e facendo uscire dal pin digitale una PWM con duty cycle del 33% funzionerebbe tutto bene.....

Riesumo questo post per un problema analogo onde evitare di aprire discussioni inutilmente.

Ieri sera stavo appunto giocando con uno schema come quello in quota, con la sola aggiunta del diodo in parallelo al motore, pin pwm 9 su arduinouno, ed il transistor un TIP122.
Ho scoperto mio malgrado che pilotando il pin in digitale , ovvero digitalWrite(9,1) , il motore giustamente parte a tutta velocità, mentre invece con analogWrite(9,x) quest'ultimo non proferisce parola.
Con X intendo valori da 1 a 254, mentre invece questo inizia a girare alla massima potenza con analogWrite(9,255).

Sono sicuro che mi sfugge qualcosa, tempo fà ho fatto un regolatore pwm analogo pilotato da un NE555 e questi pare funzionare egreggiamente.

Grazie a tutti per l'aiuto.
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sei sicuro che il diodo di ricircolo sia collegato correttamente?
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ho pensato che se fosse collegato male il diodo ( cosa improbabile ) il motore non  avrebbe dovuto comunque girare neanche al massimo della velocità (ovvero con in base il +5 dell'arduino).
Comunque il diodo sta posto in parallelo al motore con l'anodo lato collettore, catodo lato +vcc.

P.S. le masse delle 2 alimentazioni (arduino e vcc motore) sono in comune.
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21869
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Riesumo questo post per un problema analogo onde evitare di aprire discussioni inutilmente.

Ieri sera stavo appunto giocando con uno schema come quello in quota, con la sola aggiunta del diodo in parallelo al motore, pin pwm 9 su arduinouno, ed il transistor un TIP122.
Ho scoperto mio malgrado che pilotando il pin in digitale , ovvero digitalWrite(9,1) , il motore giustamente parte a tutta velocità, mentre invece con analogWrite(9,x) quest'ultimo non proferisce parola.
Con X intendo valori da 1 a 254, mentre invece questo inizia a girare alla massima potenza con analogWrite(9,255).

Sono sicuro che mi sfugge qualcosa, tempo fà ho fatto un regolatore pwm analogo pilotato da un NE555 e questi pare funzionare egreggiamente.
Grazie a tutti per l'aiuto.

Che motore hai?
Ciao Uwe
Logged

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il motore è un piccolo motore elettrico ricavato da un auto radiocomandata (molto vecchia).
Non è un brushless, ha solo 2 contatti, ergo ne ho dedotto possa essere il classico motore a spazzole.

Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Strano.....
Che IC usi per pilotarlo.. intendo il transistor oppure il mosfet....
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma veramente lo schema che ho usato è quello sopra.
Il tip122 è un transistor darlington se non sbaglio.
Nessun altro componente al di fuori dello schema sopra ( e del diodo ) è stato utilizzato .
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Il tip 121 si è un darlinton ma il 122 non te lo so dire... prova a cambiare resistenza forse in base ha troppa poca corrente mettila da 470ohm o 330ohm....
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

MC
Offline Offline
God Member
*****
Karma: 14
Posts: 917
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Difatto il TIP122 fa parte della stessa famiglia, 120-121-122 , tutti darlinghton con caratteristiche leggermente diverse, tipo tensione collettore-base e collettore - emettitore più alti ( a salire da 60v del 120 a 100v del 122).
Hanno però tutti un hfe di 1000, quindi mi pare abbastanza strano che la resistenza da 1k non fornisca sufficiente corrente ... però tentar non nuoce.

E' che non vorrei 'spillare' troppo alle uscite del microcontrollore....

Potrei tentare a sostituire sennò il motore con un altro carico, tipo un led ( con opportuna resistenza ).
Delirio o può essere un test attendibile?
Logged

Vi è una spiegazione scientifica a tutto.
La fede è solo quell'anello che si porta al dito dopo il matrimonio.

Monselice PD Italy
Offline Offline
Faraday Member
**
Karma: 28
Posts: 5515
фон Крыса
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Si può andare ma se è un led sta attento all'alimentazione e mettici sempre una R di limitazione....
Logged

Se corri veloce come un fulmine, ti schianterai come un tuono.

Pages: [1] 2   Go Up
Jump to: