In genere, le breadboard supportano una tensione massima di poche decine di volt e una corrente di un paio di ampere al massimo. Se devi alimentare componenti con tensioni o correnti elevate per un prolungato periodo, puoi prendere in considerazione soluzioni che richiedono la saldatura.
Grazie! Ottimo video, come sempre. Domanda/Richiesta tutorial: Accendere una ventola e regolare la velocità in funzione della temperatura rilevata da un sensore (es DHT11) . Grazie
Al momento non abbiamo un video al riguardo, ma ti può essere di aiuto il video ( www.italiantechproject.it/arduino/sensore-di-temperatura-e-umidita-dht11 ). Una volta recuperata la temperatura, puoi usarla al posto dell'ingresso del potenziometro per determinare il valore della variabile motorSpeed.
@@TechMaker Grazie, ho utilizzato una soglia di allarme (int alertTemp=22), quando la temperatura rilevata da ht11 supera quella soglia si accende un led e parte la ventola. Sembrava funzionare ma ad un certo punto la ventola ha smesso di girare. Non funziona più nemmeno se la collego direttamente alla pila da 9V. Il led invece continua a funzionare...😢
Complimenti, complimenti, complimenti, per i fantastici video ma sopratutto per le risposte fornite agli utenti, spesso molti youtubers non lo fanno e sono odiosi. Bravo/i campanella accesa ed iscrizione assicurata
Complimenti per la spiegazione precisa e dettagliata. Volevo sapere come poter inserire un pulsante per invertire il senso di rotazione del motore? Grazie e ancora complimenti.
La condizione può essere un qualsiasi confronto o anche una variabile. Perché sia vera la condizione, la variabile deve contenere un valore diverso da 0 (nel caso di una variabile booleana è ancora più semplice perché la valutazione coincide con il contenuto della variabile). Il punto esclamativo inverte l'esito, quindi se la variabile enable è true, la condizione sarà false, altrimenti sarà true. In pratica le seguenti condizioni sono equivalenti: if(!enable) if(!enable == true) if(enable != true) if(enable == false)
La resistenza può variare in base al modello del transistor, ma in genere la corrente sulla base dovrebbe essere circa un decimo della massima corrente del carico. Per cui un valore di 150ohm dovrebbe andar bene.
Ok perfetto grazie mille gentilissimo! Continuando ad informarmi ho letto che se il motorino dovesse andare in blocco può arrivare a 0,5A. In questo caso quindi è opportuno mettere una resistenza più alta, va bene una da 330 Ohm oppure è un po' eccessiva?
Per sfruttare una corrente di carico più alta la resistenza sulla base del transistor deve essere più bassa. Il valore della resistenza può essere alzato o abbassato finché le correnti che attraversano il transistor siano entro i limiti previsti nel datasheet del transistor.
Si può prendere spunto da questo tutorial per comandare una pompa peristaltica a 12V con corrente 80mA? Cosa posso utilizzare per pilotarla? Un IRL540N andrebbe bene o cosa mi consigli? Grazie e ottima spiegazione!
Il MOSFET IRL540N ha una disposizione dei pin diversa rispetto al transistor bipolare mostrato nel video. Inoltre con i MOSFET va inserito un resistore da 10kohm di pull-down (ovvero verso il GND) sul pin Gate, invece di uno in serie con il pin di Arduino.
Quando si usano più fonti di alimentazione diverse nello stesso circuito, occorre collegare tutti i poli negativi (GND) insieme in modo da avere lo stesso punto di riferimento.
Ciao, sto usando dei motorini DC che collego ad un ponte H (L298N) ma quando inizializzo la scheda questi girano. vorrei che anche quando inizializzo siano fermi perchè devo simulare le sbarre di un parcheggio e questo mi crea un problema. Sapresti aiutarmi? (ho collegato le uscite del ponte H ai pin 0,1 e 12,13)
Ciao, ottimo video, volevo sapere se con lo stesso metodo del transistor si poteva far girare il motore in due direzioni diverse senza dover invertire i cavi. Grazie
Per girare un motore in entrambe le direzioni non basta un solo transistor, in alternativa a usare più di un transistor si può usare dei ponti h o dei motor driver.
Ed anche questo tutorial è fantastico!!! Grazie!!! Sto cercando di capire la necessità di inserire il resistore da 220 ohm inserito vicino al transistor. Mi sono dato la seguente spiegazione. Di fatto il transistor fa parte di un (sotto)circuito, quello che va dal pin 2 (che fornisce energia) al transistor, per poi tornare alla messa a terra. Il resistore serve (sulla base della legge di Ohm) a limitare l'impatto che la corrente fornita da Arduino attraverso il pin 2 avrebbe sul transistor. E' corretto il ragionamento? Grazie di cuore... non hai idea quanto stia imparando dai tuoi tutorials!
Ciao e complimenti per la chiarezza nelle spiegazioni e nel montaggio del video nel quale si vedono tutti i dettagli della fase di montaggio delle componentistiche. Vorrei avere un parere da te o da chi legge il mio commento, sto cercando di costruire un motore che pilota delle lame per il taglio del prato, so che sto per fare una domanda banale(forse) ma sono bloccato. Il rotore del motore DC come lo collego alle eventuali lame? Hai/avete per caso un link o un suggerimento da darmi? Grazie mille, Ste
Ciao, complimenti per i video Vorrei sapere se posso utilizzare questo tutorial per un circuito con un vibration coin motor e una batteria da 9 V. Grazie
L'esempio del video dovrebbe funzionare anche con un vibration coin motor. Verifica che la tensione e la corrente fornita al motore sia sufficiente e che non ci sia qualche collegamento fuori posto.
@@TechMaker In che modo posso verificare la tensione e la corrente? non ho accesso al momento a nessun tester, solo un sensore di accelerazione. I motori sono a 3 V e una batteria di 9V.
Se i motori sono a 3V, non possono essere collegati direttamente alla tensione di 9V della batteria, perché c'è il rischio di danneggiarli. Per ridurre la tensione in modo che sia adeguata per i motori, si possono usare per esempio dei convertitori di tensione step-down.
@@TechMaker Grazie. Gentilissimo. Un' ultima domanda, come posso testare quanta forza di vibrazione ho alla fine? un multimetro o posso applicare un sensore di accelerazione al circuito? Grazie.
Salve buonasera, non riesco a capire come è dimensionata la resistenza sulla base, nel senso che conosco la corrente massima di spunto e per cui tramite il beta da li risalgo alla corrente di base che ci vuole per ottenerla ? Inoltre un altra domanda che può sembrare sciocca quando arriva il segnale alla base giustamente connette il motore a terra permettendo il ricircolo della corrente che attraversa il motore e la sua accensione, ma se io ci connetto la batteria direttamente ai capi del motore non è essa a dare la corrente per poterlo farlo ruotare ? scusa davvero possono essere anche domande sciocche
Per un transistor bipolare in modalità interruttore, la corrente sulla base deve essere di circa 10 volte inferiore a quella del carico. Collegando entrambi i poli della batteria direttamente al motore, il motore girerà, però senza la possibilità di fermarlo da Arduino. Lo scopo del transistor in questo circuito è proprio di aggiungere la possibilità di interrompere il flusso di corrente.
@@TechMaker ok ci siamo, ma la corrente di collettore per cui in questo caso a quanto equivale a 1,34 A che da datasheet è il valore massimo di corrente del motore ? Poi un altro dubbio perché non si inserisce la resistenza di collettore in questo caso ? Perchè c'è la forza controelettromotrice del motore ? scusami se ti faccio queste domande nel dettaglio ma davvero voglio capire bene le cose. Per adesso ti ringrazio della risposta che mi hai dato!
La resistenza ha lo scopo di ridurre la corrente e per alimentare un motore non è necessaria. Il diodo invece ha lo scopo di proteggere gli altri componenti dalle correnti inverse che si generano quando il motore viene fermato. Il valore hfe ha particolare importanza quando il transistor viene usato come amplificatore. Nella modalità di interruttore è sufficiente abbondare leggermente la corrente sulla base per mandare il transistor in saturazione.
Ho seguito uno schema praticamente identico tranne l'uso di una porta digitale al posto del pwm e un transistor 2n2222. Tuttavia ottengo dei risultati inspiegabili: la corrente massima di collettore non supera i 36 mA qualuque configurazione di resistenze io utilizzi, anche togliendo per assurdo quella di base, quindi ovviamente il motore non parte. Misurando la Vce nella fase ON, mi spara un valore di 4.2 volt, non riesco davvero a capire perchè, stando al datasheet in saturazione dovrebbe essere sotto a 1 V. Qualche idea?
Nello sketch viene usata la funzione analogWrite che va usata solo sui pin pwm. Inoltre prova a misurare la corrente che entra alla base del transistor.
nel kit che ho io c'è la batteria e il cavo che serve per collegarla direttamente nella porta della scheda arduino. se volessi collegare la batteria direttamente sulla breadboard come dovrei fare? grazie in anticipo
Puoi usare, per esempio, un modulo power jack ( www.techmaker.it/alimentazione/469-modulo-per-power-jack ). In alternativa, se la corrente non supera 1A, puoi usare un modulo di alimentazione per breadboard ( www.techmaker.it/alimentazione/338-alimentatore-per-breadboard-3-3v-5v ).
Con il PWM puoi girare il motore più lentamente o velocemente, ma per sapere la velocità (giri al minuto) serve un componente esterno in grado di misurarla.
Ciao, complimenti per i tuoi tutorial. Ho visto che sempre più usi il #define. Quale è la differenza tra #define e int? Potrei al posto di: #define MOTOR_PIN 3 utilizzare: int MOTOR_PIN = 3; ? Grazie mille
Si, è possibile usare una variabile int al posto di #define. La differenza è che la variabile int può cambiare il suo valore dopo essere inizializzata, mentre con #define il valore rimane sempre lo stesso.
Ciao innanzitutto complimenti per il video. Avrei una semplice domanda a cui non trovo risposta. Faccio tutti i collegamenti corretti utilizzando un 2N222A ovviamente controllando collettore ed emettitore, e come fonte di alimentazione esterna uso una batteria a litio da 3,7 v circa. Solo che se collego il motore alla batteria direttamente gira molto più veloce che quando lo collego al transistor, e invece con il transistor perde molta potenza non so come risolvere.
Prova a diminuire la resistenza sulla base. Inoltre verifica con un tester se il motore collegato direttamente alla batteria non supera gli ampere che il transistor è in grado di pilotare.
Buongiorno, Complimenti ancora per i video, scrivo per sapere come si chiamano i cavetti colorati in conduttore solido che utilizzate per i video (esempio questo)? non intendo i multifilari con i pin hai capi, ma quelli che utilizzati per i semplici ponticelli, più rigidi e con l'isolante colorato; ho provato a cercarli ma senza successo; voi li vendete? Grazie in anticipo!!
Grazie per la risposta, sono proprio quelli che intendo. Per quanto riguarda il tutorial sarebbe interessante un video in cui si spieghi l'utilizzo di un ponte H per poter comande un motore DC in ambedue i sensi di rotazione (es. L298N); Continuate così!!
Grazie, spiegazione eccellente. Vorrei porti un quesito: se volessi pilotare un motore dc però con 20A di spunto max con lo stesso procedimento, che transistor devo usare? Grazie in anticipo
ciao! complimenti per il video è tutto chiarissimo, però a me servirebbe far muovere il Motore automaticamente e non premendo il pulsante, cioè a me servirebbe che il motore si muova 1 minuto in avanti 30 secondi fermo e 1 minuto nel senso opposto poi altri 30 secondi fermo e poi di nuovo avanti e così via per 18 ore consecutive su 24 e poi 6 ore fermo, avevo pensato di mettere un timer all'alimentatore (perché vorrei usare un alimentatore e non la pila visto l'uso continuo che devo fare), comunque vorrei sapere se è possibile fare questi movimenti, e sopratutto come scrivere nel software che è la cosa che proprio non so fare. ti ringrazio in anticipo e complimenti!
naturalmente devo aggiungere il ponte h per farlo andare nelle due direzioni, questo lo so fare, è solo la parte software che non riesco a comprendere come fargli fare queste automazioni. Grazie
Il movimento del motore può essere azionato anche senza usare un pulsante. È sufficiente inviare un segnale tra 0 e 255 usando il metodo analogWrite. Come giustamente hai detto per far girare il motore DC in entrambe le direzioni non basta un solo transistor, ma ti serve un ponte H oppure un motor driver. Per le tempistiche puoi usare un modulo Real Time Clock. Nei prossimi video cercheremo di affrontare anche questi argomenti.
grazie della risposta! volevo sapere un ultima cosa, ma Arduino deve essere per forza collegato al pc? cioè una volta fatto lo sketch e caricato su Arduino poi si può scollegare dal pc? grazie in anticipo ;)
La scheda di Arduino non deve essere necessariamente collegata al computer per poter funzionare. Una volta caricato lo sketch, può essere usata indipendentemente dal PC. In quel caso è necessario fornire un'alimentazione attraverso il power jack (oppure il pin VIN), usando per esempio un alimentatore esterno. Usando Arduino UNO la tensione deve essere tra 7V e 12V.
Ciao, bel video! Non riesco a capire come collegare l'alimentatore, mi puoi aiutare? Ho anche un'altra domanda: l'alimentatore va collegato solo al polo negativo e positivo o vanno fatti altri collegamenti? Grazie e ciao
I collegamenti dipendono dal tipo di alimentatore. In ingresso, se ha una spina, è sufficiente collegarla direttamente alla presa elettrica. Se, invece, presenta singoli connettori esposti (fase, neutro e messa a terra), prima di collegarli alla presa vanno collegati ad un cavo con la spina all'estremità opposta. In uscita, se i poli positivo e negativo sono esposti, possono essere collegati direttamente sulla breadboard. Se invece c'è un connettore power jack, puoi usare un adattatore www.techmaker.it/alimentazione/465-connettore-power-jack-femmina-con-morsetti-a-vite
La corrente per alimentare il motore non può passare attraverso Arduino. Occorre creare collegamenti separati, uno dalla batteria verso la scheda e l'altro dalla batteria verso il motore.
Cercavo qualcosa di simile per far ruotare il piatto di un giradischi portandolo a 33 e 45 giri secondo te è fattibile una cosa del genere? Io ho provato in mille modi cn i trimmer e riduttori di tensione, Sn riuscito a portarlo su quelle velocità, solo che nn era costante, perdeva colpi!!!!
Sui transistor bipolari la resistenza sulla base dipende alla corrente che si vuole pilotare. In linea generale, per un transistor utilizzato in modalità interruttore, la corrente tra base ed emettitore deve essere 10 volte più piccola della corrente tra collettore ed emettitore.
Si, è possibile farlo, però sarebbe meglio usare Arduino Mega, in quanto Arduino Uno non ha 10 ingressi analogici per poter ricevere 10 potenziometri. In alternativa puoi anche usare dei convertitori analogico-digitale separati, come per esempio il circuito integrato MCP3008.
Lo sketch è identico, il circuito pure tranne che come alimentatore ho 2 batterie collegate come hai fatto te con l'alimentatore e il motore dc non ha i collegamenti fatti bene come i tuoi (so che non andrebbe fatto ma ho attorcigliato 2 cavetti alle estremità di metallo del motore), come posso collegare il motore a dei cavi in modo sicuro e come faccio a controllare che il motore non sia rotto. Grazie per la disponibilità, non riesco davvero a venirne a capo
Puoi verificare se il motore funziona correttamente, collegando temporaneamente le sue estremità direttamente ai due poli dell'alimentazione. Assicurati che la tensione sia adeguata per il motore che stai utilizzando. Per garantire che i collegamenti siano stabili, sarebbe meglio saldarli.
@@TechMaker ho sistemato il motore, ma ora fa un rumore quasi si forzasse di girare ma non riesce. Tuttavia collegandolo direttamente all'alimentatore gira senza problemi 🙇😓
Se diventa bollente potrebbe significare che la quantità di corrente è superiore al limite. Dovresti controllare il datasheet del transistor per verificare che il modello in questione riesca a sopportare la corrente che circola nel circuito.
Italian Tech Project può essere il fatto che non avendo alimentazione esterna ho collegato il positivo del motore ai 5v di Arduino? (Collegato al lato superiore della bread board quindi 5v di Arduino)
Sarebbe meglio non collegare il motore DC direttamente alla corrente erogata da Arduino. La scheda di Arduino è stata progettata per sopportare al massimo 200mA e il motore DC spesso richiede molta più corrente. A lungo andare potresti bruciare la scheda. Questo però non dovrebbe influire sul transistor.
Salve, su tinkercad (un simulatore) sto usando un motore CC con arduino e un integrato L293D, attraverso un potenziometro a un pin analogico e un comando map sto inviando più o meno tensione agli enable dell'integrato collegati a dei PWM, ma i giri del motore sono incostanti, cosa potrebbe essere?
Il segnale PWM non riproduce esattamente un segnale analogico. In teoria il motore per un brevissimo tempo è accesso al massimo e successivamente spento del tutto. Nella pratica, però, l'inerzia del motore dovrebbe ammorbidire l'alternanza tra lo stato acceso e spento.
Potresti fare un video in cui spieghi il diodo e il suo uso nei circuiti.Perchè alcuni dicono di collegare l’anodo del diodo All’anodo del motore dc e il catodo del diodo con il catodo del motore dc,in modo opposto a come hai fatto tu perché dicono che collegato in questo modo(come hai fatto nel video) il diodo diminuisce la tensione che arriva al motore dc potresti darmi dei chiarimenti grazie mille
Il diodo semplicemente in un verso permette il passaggio della corrente, mentre nell'altro no. Non va bene collegarlo invertito rispetto a come mostrato nel video, perché in questo modo praticamente tutta la corrente passerebbe per il diodo e non attraverso il motore.
Ho provato a scrivere questo programma : Int soglia (30.00); # include dht.h # define dhttype dht11 #define motor PIN 10 (Più altre costanti ...non mi metto a scriverle tutte,insomma ,LCD più altra roba per stazione meteorologica) Void setup (){ PIN mode ( motor_ PIN ,output ); (Più altre ,per dht11) Void loop If (temp> soglia) Analogwrite( motor_pin,150); Else Analogwrite (motor_ PIN, 0); Il mio problema e che dovrei fare accendere il motore a seconda della soglia se la supera acceso se non la supera spento ma il motore rimane spento pk?
Il motore può essere usato anche senza dei pulsanti e dei potenziometri. Il diodo invece serve a proteggere il transistor dalle scariche di corrente inversa quando viene fermato il motore.
Il transistor è utilizzato per impedire che la corrente richiesta dal motore passi attraverso Arduino. Collegare il motore direttamente danneggerebbe la scheda. Il circuito integrato L293D, invece, può essere utilizzato in quanto contiene al suo interno dei transistor.
Nn saprei cosa fare senza i tuoi tutorial!! Cavolo, meglio del professore del università!! Grande
Addirittura 😉, comunque grazie.
Bellissimo progetto è spiegato benissimo.... mi avvicino da un mese ad arduino e finalmente un bel progetto completo
Siamo contenti che il video ti sia piaciuto.
Grazie finalmente dei tutorial in italiano x arduino grazie ancora e complimenti
Grazie per i complimenti, continua a seguirci.
Chiarissimo, complimenti ! Guardero' quelli precedenti per imparare altro e chiarire dei concetti. |
👍
Mi hai insegnato Questa dell alimentazione esterna. Grazieeee
Ma la bradboard fino a che tensione e corrente può sopportare ?
In genere, le breadboard supportano una tensione massima di poche decine di volt e una corrente di un paio di ampere al massimo. Se devi alimentare componenti con tensioni o correnti elevate per un prolungato periodo, puoi prendere in considerazione soluzioni che richiedono la saldatura.
Ottimo tutorial (come sempre). Spiegato molto bene ed ho apprezzato anche molto la tecnica con cui è stato scritto lo sketch.
Grazie, siamo contenti che il video ti sia piaciuto.
Ottimo tutorial come sempre grazie
Grazie per i complimenti.
Grazie! Ottimo video, come sempre.
Domanda/Richiesta tutorial: Accendere una ventola e regolare la velocità in funzione della temperatura rilevata da un sensore (es DHT11) . Grazie
Al momento non abbiamo un video al riguardo, ma ti può essere di aiuto il video ( www.italiantechproject.it/arduino/sensore-di-temperatura-e-umidita-dht11 ). Una volta recuperata la temperatura, puoi usarla al posto dell'ingresso del potenziometro per determinare il valore della variabile motorSpeed.
@@TechMaker Grazie, ho utilizzato una soglia di allarme (int alertTemp=22), quando la temperatura rilevata da ht11 supera quella soglia si accende un led e parte la ventola. Sembrava funzionare ma ad un certo punto la ventola ha smesso di girare. Non funziona più nemmeno se la collego direttamente alla pila da 9V. Il led invece continua a funzionare...😢
Qual è la tensione nominale della ventola?
@@TechMaker DC 3.5~5.5V. Gliene ho dati 9...
Non va bene fornire la tensione di 9V ad una ventola che supporta al massimo 5,5V. Purtroppo probabilmente si è bruciata.
Complimenti bello interessante 👍
Grazie
ottimo..grazie
Grazie a te per aver guardato il video.
Complimenti, complimenti, complimenti, per i fantastici video ma sopratutto per le risposte fornite agli utenti, spesso molti youtubers non lo fanno e sono odiosi. Bravo/i campanella accesa ed iscrizione assicurata
Facciamo il nostro meglio per diffondere la conoscenza.
Ottimo
Grazie.
Complimenti per la spiegazione precisa e dettagliata.
Volevo sapere come poter inserire un pulsante per invertire il senso di rotazione del motore?
Grazie
e ancora complimenti.
Per far girare il motore in entrambe le direzione serve più di un transistor. In alternativa si può usare un motor driver.
Buonasera, non capisco come faccia a verificare la condizione: if(!enabled). Come fa a verificare questa condizione? Cosa confronta? Grazie.
La condizione può essere un qualsiasi confronto o anche una variabile. Perché sia vera la condizione, la variabile deve contenere un valore diverso da 0 (nel caso di una variabile booleana è ancora più semplice perché la valutazione coincide con il contenuto della variabile). Il punto esclamativo inverte l'esito, quindi se la variabile enable è true, la condizione sarà false, altrimenti sarà true. In pratica le seguenti condizioni sono equivalenti:
if(!enable)
if(!enable == true)
if(enable != true)
if(enable == false)
Ciao, che transistor hai usato nel video?
In questo video è stato usato il transistor BC337.
@@TechMaker Grazie!
ciao il video è bellissimo...ti volevo chiedere se al posto dell'alimentatore posso usare 4 batterie AA (6v) utilizzando il motore proposto? grazie
Certo, puoi utilizzare anche delle batterie per alimentare un motore
Buongiorno, con un motore che lavora a 6v e 0,25a che resistenza serve?
La resistenza può variare in base al modello del transistor, ma in genere la corrente sulla base dovrebbe essere circa un decimo della massima corrente del carico.
Per cui un valore di 150ohm dovrebbe andar bene.
Ok perfetto grazie mille gentilissimo! Continuando ad informarmi ho letto che se il motorino dovesse andare in blocco può arrivare a 0,5A. In questo caso quindi è opportuno mettere una resistenza più alta, va bene una da 330 Ohm oppure è un po' eccessiva?
avrei anche un'altra domanda: cosa succede se inseriamo una resistenza superiore o inferiore a quella consigliata?
Per sfruttare una corrente di carico più alta la resistenza sulla base del transistor deve essere più bassa.
Il valore della resistenza può essere alzato o abbassato finché le correnti che attraversano il transistor siano entro i limiti previsti nel datasheet del transistor.
Utilizzando un NPN337 dovrebbe riuscire a reggere gli ampere necessari
ciao 12 volt di alimentazione esterna sono pochi? grazie
La tensione di alimentazione dipende dal motore utilizzato
Si può prendere spunto da questo tutorial per comandare una pompa peristaltica a 12V con corrente 80mA? Cosa posso utilizzare per pilotarla? Un IRL540N andrebbe bene o cosa mi consigli? Grazie e ottima spiegazione!
Si, un MOSFET IRL540N dovrebbe andar bene.
@@TechMaker Ho provato ma non funziona. :-(
Il MOSFET IRL540N ha una disposizione dei pin diversa rispetto al transistor bipolare mostrato nel video. Inoltre con i MOSFET va inserito un resistore da 10kohm di pull-down (ovvero verso il GND) sul pin Gate, invece di uno in serie con il pin di Arduino.
Minuto 3:11 perchè i poli negativi vanno uniti?
Quando si usano più fonti di alimentazione diverse nello stesso circuito, occorre collegare tutti i poli negativi (GND) insieme in modo da avere lo stesso punto di riferimento.
Ciao, sto usando dei motorini DC che collego ad un ponte H (L298N) ma quando inizializzo la scheda questi girano. vorrei che anche quando inizializzo siano fermi perchè devo simulare le sbarre di un parcheggio e questo mi crea un problema. Sapresti aiutarmi? (ho collegato le uscite del ponte H ai pin 0,1 e 12,13)
Con un motor driver L298N puoi usare i pin ENA e ENB per disabilitare le uscite.
farai anche qualche video su come pilotare i motori universali a 230 V?
Col tempo arriveranno anche dei video per pilotare carichi ad alta tensione.
Ciao, ottimo video, volevo sapere se con lo stesso metodo del transistor si poteva far girare il motore in due direzioni diverse senza dover invertire i cavi.
Grazie
Per girare un motore in entrambe le direzioni non basta un solo transistor, in alternativa a usare più di un transistor si può usare dei ponti h o dei motor driver.
@@TechMaker ok, grazie mille👍
Ed anche questo tutorial è fantastico!!! Grazie!!! Sto cercando di capire la necessità di inserire il resistore da 220 ohm inserito vicino al transistor. Mi sono dato la seguente spiegazione. Di fatto il transistor fa parte di un (sotto)circuito, quello che va dal pin 2 (che fornisce energia) al transistor, per poi tornare alla messa a terra. Il resistore serve (sulla base della legge di Ohm) a limitare l'impatto che la corrente fornita da Arduino attraverso il pin 2 avrebbe sul transistor. E' corretto il ragionamento? Grazie di cuore... non hai idea quanto stia imparando dai tuoi tutorials!
Si, il resistore sulla base del transistor serve per limitare il flusso di corrente.
ciao, cosa si può usare al posto del diodo? Se si può usare qualcos'altro per favore dimmelo grazie.
Per proteggere gli altri componenti serve proprio il diodo.
Ciao e complimenti per la chiarezza nelle spiegazioni e nel montaggio del video nel quale si vedono tutti i dettagli della fase di montaggio delle componentistiche.
Vorrei avere un parere da te o da chi legge il mio commento, sto cercando di costruire un motore che pilota delle lame per il taglio del prato, so che sto per fare una domanda banale(forse) ma sono bloccato. Il rotore del motore DC come lo collego alle eventuali lame? Hai/avete per caso un link o un suggerimento da darmi?
Grazie mille,
Ste
Dipende da come sono fatte le lame. Sul motore si possono usare delle giunte, accoppiatori, ingranaggi ecc. per adattarlo al carico che deve muovere.
chiarissimo, sai questa cosa la si puo gestire tramite alexa?
Sì, è possibile controllare un motore DC con Arduino tramite Alexa, utilizzando ad esempio la piattaforma Arduino IoT Cloud
Ciao, complimenti per i video Vorrei sapere se posso utilizzare questo tutorial per un circuito con un vibration coin motor e una batteria da 9 V. Grazie
Ho provato a seguire passo per passo il tutorial ma il motore non vibra. Grazie
L'esempio del video dovrebbe funzionare anche con un vibration coin motor. Verifica che la tensione e la corrente fornita al motore sia sufficiente e che non ci sia qualche collegamento fuori posto.
@@TechMaker In che modo posso verificare la tensione e la corrente? non ho accesso al momento a nessun tester, solo un sensore di accelerazione. I motori sono a 3 V e una batteria di 9V.
Se i motori sono a 3V, non possono essere collegati direttamente alla tensione di 9V della batteria, perché c'è il rischio di danneggiarli.
Per ridurre la tensione in modo che sia adeguata per i motori, si possono usare per esempio dei convertitori di tensione step-down.
@@TechMaker Grazie. Gentilissimo. Un' ultima domanda, come posso testare quanta forza di vibrazione ho alla fine? un multimetro o posso applicare un sensore di accelerazione al circuito? Grazie.
Salve buonasera, non riesco a capire come è dimensionata la resistenza sulla base, nel senso che conosco la corrente massima di spunto e per cui tramite il beta da li risalgo alla corrente di base che ci vuole per ottenerla ? Inoltre un altra domanda che può sembrare sciocca quando arriva il segnale alla base giustamente connette il motore a terra permettendo il ricircolo della corrente che attraversa il motore e la sua accensione, ma se io ci connetto la batteria direttamente ai capi del motore non è essa a dare la corrente per poterlo farlo ruotare ? scusa davvero possono essere anche domande sciocche
Per un transistor bipolare in modalità interruttore, la corrente sulla base deve essere di circa 10 volte inferiore a quella del carico.
Collegando entrambi i poli della batteria direttamente al motore, il motore girerà, però senza la possibilità di fermarlo da Arduino. Lo scopo del transistor in questo circuito è proprio di aggiungere la possibilità di interrompere il flusso di corrente.
@@TechMaker ok ci siamo, ma la corrente di collettore per cui in questo caso a quanto equivale a 1,34 A che da datasheet è il valore massimo di corrente del motore ? Poi un altro dubbio perché non si inserisce la resistenza di collettore in questo caso ? Perchè c'è la forza controelettromotrice del motore ? scusami se ti faccio queste domande nel dettaglio ma davvero voglio capire bene le cose. Per adesso ti ringrazio della risposta che mi hai dato!
e per la stessa ragione si mette il diodo per la forza controelettromotrice giusto ?
Poi dici dieci volte perchè in corrispondenza del valore della corrente di carico che hai l'hfe è pari a 10 ?
La resistenza ha lo scopo di ridurre la corrente e per alimentare un motore non è necessaria.
Il diodo invece ha lo scopo di proteggere gli altri componenti dalle correnti inverse che si generano quando il motore viene fermato.
Il valore hfe ha particolare importanza quando il transistor viene usato come amplificatore. Nella modalità di interruttore è sufficiente abbondare leggermente la corrente sulla base per mandare il transistor in saturazione.
Si può aggiungere un potenziometro a slitta per aumentare e diminuire la velocità tipo funzione di un giradischi?
Si, è possibile usare un potenziometro per variare la velocità dei giri del motore.
Ho seguito uno schema praticamente identico tranne l'uso di una porta digitale al posto del pwm e un transistor 2n2222. Tuttavia ottengo dei risultati inspiegabili: la corrente massima di collettore non supera i 36 mA qualuque configurazione di resistenze io utilizzi, anche togliendo per assurdo quella di base, quindi ovviamente il motore non parte. Misurando la Vce nella fase ON, mi spara un valore di 4.2 volt, non riesco davvero a capire perchè, stando al datasheet in saturazione dovrebbe essere sotto a 1 V. Qualche idea?
Nello sketch viene usata la funzione analogWrite che va usata solo sui pin pwm.
Inoltre prova a misurare la corrente che entra alla base del transistor.
nel kit che ho io c'è la batteria e il cavo che serve per collegarla direttamente nella porta della scheda arduino. se volessi collegare la batteria direttamente sulla breadboard come dovrei fare? grazie in anticipo
Puoi usare, per esempio, un modulo power jack ( www.techmaker.it/alimentazione/469-modulo-per-power-jack ). In alternativa, se la corrente non supera 1A, puoi usare un modulo di alimentazione per breadboard ( www.techmaker.it/alimentazione/338-alimentatore-per-breadboard-3-3v-5v ).
Potresti saldare 2 cavi di arduino quelli normali che usi per collegare i componenti dalla breadboard alla scheda di arduino sui 2 poli della batteria
ciao si può far comandare due diversi motori (o più) in modo indipendente?
Con un solo transistor non è possibile farlo. Si può usare un ponte H oppure un motor driver per poter gestire più di un motore in modo indipendente.
grazie hai creato qualche sketch in tal caso? buona serata
Purtroppo non c'è ancora un tutorial al riguardo. Prossimamente cercheremo di affrontare anche questo argomento.
graziee... buona serata
posso metterci un lcd per vedere i giri del motore? se si come posso fare?
Per misurare i giri del motore si possono usare dei sensori magnetici o fotointerruttori.
@@TechMaker non potrei usare il pwm? per avere una misura? p.s. scusa per l'ignoranza sono un neofita.
Con il PWM puoi girare il motore più lentamente o velocemente, ma per sapere la velocità (giri al minuto) serve un componente esterno in grado di misurarla.
Ciao,
complimenti per i tuoi tutorial.
Ho visto che sempre più usi il #define. Quale è la differenza tra #define e int?
Potrei al posto di: #define MOTOR_PIN 3 utilizzare: int MOTOR_PIN = 3; ?
Grazie mille
Si, è possibile usare una variabile int al posto di #define. La differenza è che la variabile int può cambiare il suo valore dopo essere inizializzata, mentre con #define il valore rimane sempre lo stesso.
Se non vuoi usare #define basta scrivere const int = nomeVariabile, dove const fa in modo che la variabile non possa cambiare valore
Ciao innanzitutto complimenti per il video. Avrei una semplice domanda a cui non trovo risposta. Faccio tutti i collegamenti corretti utilizzando un 2N222A ovviamente controllando collettore ed emettitore, e come fonte di alimentazione esterna uso una batteria a litio da 3,7 v circa. Solo che se collego il motore alla batteria direttamente gira molto più veloce che quando lo collego al transistor, e invece con il transistor perde molta potenza non so come risolvere.
Prova a diminuire la resistenza sulla base. Inoltre verifica con un tester se il motore collegato direttamente alla batteria non supera gli ampere che il transistor è in grado di pilotare.
@@TechMaker va bene grazie mille credo proprio che il problema fossero gli ampere controllerò il datasheet grazie ancora!
Buongiorno,
Complimenti ancora per i video, scrivo per sapere come si chiamano i cavetti colorati in conduttore solido che utilizzate per i video (esempio questo)?
non intendo i multifilari con i pin hai capi, ma quelli che utilizzati per i semplici ponticelli, più rigidi e con l'isolante colorato;
ho provato a cercarli ma senza successo; voi li vendete?
Grazie in anticipo!!
Si, li vendiamo, penso che ti riferisci a questi ( www.techmaker.it/cavi-e-jumper/123-set-di-cavetti-rigidi-assortiti-per-breadboard )
Grazie per la risposta, sono proprio quelli che intendo.
Per quanto riguarda il tutorial sarebbe interessante un video in cui si spieghi l'utilizzo di un ponte H per poter comande un motore DC in ambedue i sensi di rotazione (es. L298N);
Continuate così!!
Prossimamente arriveranno anche altri video sui motori, continua a seguirci.
Ciao dove posso scriverti per un consiglio?
Puoi contattarci all'indirizzo info@techmaker.it
@@TechMaker grazie mille le ho scritto 😁
Vorrei sapere di quanto è la resistenza dell'Interruttore
Per un pulsante/interruttore vanno bene dei resistori da 10kohm a 100kohm. In particolare nel video ne è stato utilizzato uno da 100kohm.
Grazie, spiegazione eccellente. Vorrei porti un quesito: se volessi pilotare un motore dc però con 20A di spunto max con lo stesso procedimento, che transistor devo usare? Grazie in anticipo
Si potrebbe usare per esempio un MOSFET PSMN1R1-30PL.
@@TechMaker sembra impossibile reperirlo. Una dritta per acquistarlo?
Grazie in anticipo
oppure un alternativa. Grazie ancora
Per richiedere la reperibilità e la quotazione dei prodotti non presenti sul nostro sito e-commerce puoi contattarci via email ( info@techmaker.it ).
bel video, ma il diodo da quanto serve?
Va bene un classico diodo 1N4007
ciao! complimenti per il video è tutto chiarissimo, però a me servirebbe far muovere il Motore automaticamente e non premendo il pulsante, cioè a me servirebbe che il motore si muova 1 minuto in avanti 30 secondi fermo e 1 minuto nel senso opposto poi altri 30 secondi fermo e poi di nuovo avanti e così via per 18 ore consecutive su 24 e poi 6 ore fermo, avevo pensato di mettere un timer all'alimentatore (perché vorrei usare un alimentatore e non la pila visto l'uso continuo che devo fare), comunque vorrei sapere se è possibile fare questi movimenti, e sopratutto come scrivere nel software che è la cosa che proprio non so fare. ti ringrazio in anticipo e complimenti!
naturalmente devo aggiungere il ponte h per farlo andare nelle due direzioni, questo lo so fare, è solo la parte software che non riesco a comprendere come fargli fare queste automazioni. Grazie
Il movimento del motore può essere azionato anche senza usare un pulsante. È sufficiente inviare un segnale tra 0 e 255 usando il metodo analogWrite.
Come giustamente hai detto per far girare il motore DC in entrambe le direzioni non basta un solo transistor, ma ti serve un ponte H oppure un motor driver.
Per le tempistiche puoi usare un modulo Real Time Clock.
Nei prossimi video cercheremo di affrontare anche questi argomenti.
grazie della risposta! volevo sapere un ultima cosa, ma Arduino deve essere per forza collegato al pc? cioè una volta fatto lo sketch e caricato su Arduino poi si può scollegare dal pc? grazie in anticipo ;)
La scheda di Arduino non deve essere necessariamente collegata al computer per poter funzionare. Una volta caricato lo sketch, può essere usata indipendentemente dal PC. In quel caso è necessario fornire un'alimentazione attraverso il power jack (oppure il pin VIN), usando per esempio un alimentatore esterno. Usando Arduino UNO la tensione deve essere tra 7V e 12V.
Come va la coltivazione? ;p
Potresti specificare il tipo delle resistenze?
Grazie.
Per il pulsante, va bene una resistenza da 10k a 100k ohm, mentre per il transistor BC337, puoi utilizzare una resistenza da 330 ohm.
Ciao, bel video! Non riesco a capire come collegare l'alimentatore, mi puoi aiutare? Ho anche un'altra domanda: l'alimentatore va collegato solo al polo negativo e positivo o vanno fatti altri collegamenti? Grazie e ciao
I collegamenti dipendono dal tipo di alimentatore. In ingresso, se ha una spina, è sufficiente collegarla direttamente alla presa elettrica. Se, invece, presenta singoli connettori esposti (fase, neutro e messa a terra), prima di collegarli alla presa vanno collegati ad un cavo con la spina all'estremità opposta.
In uscita, se i poli positivo e negativo sono esposti, possono essere collegati direttamente sulla breadboard. Se invece c'è un connettore power jack, puoi usare un adattatore www.techmaker.it/alimentazione/465-connettore-power-jack-femmina-con-morsetti-a-vite
ciao io ho un motore dc e va alimentato a 24v ma se io gli mando 12v in piu che sucede in tutto gli arivano 36v
Se al motore arriva più corrente di quella che è in grado di reggere potrebbe bruciarsi
quindi ce lascio perdere
Come si fa a collegare un sensore che in una determinata condizione (come il passaggio di un corpo) fa cambiare il senso di rotazione?
Se si tratta di un robot con le ruote, puoi usare per esempio un sensore di ostacoli o di prossimità.
come si può alimentare il motorino utilizzando solamente l'arduino connesso alla batteria?
La corrente per alimentare il motore non può passare attraverso Arduino. Occorre creare collegamenti separati, uno dalla batteria verso la scheda e l'altro dalla batteria verso il motore.
@@TechMaker Ok, grazie mille.
ma invece per farlo partire tramite un relè esterno?
Al posto del transistor è possibile usare anche un relè comandato a 5V.
Cercavo qualcosa di simile per far ruotare il piatto di un giradischi portandolo a 33 e 45 giri secondo te è fattibile una cosa del genere? Io ho provato in mille modi cn i trimmer e riduttori di tensione, Sn riuscito a portarlo su quelle velocità, solo che nn era costante, perdeva colpi!!!!
Potresti provare a usare un motoriduttore.
@@TechMaker Cosa intendi per motoriduttore?
Al posto del potenziometro ho messo un trimmer.... Quando metto su il vinile si vede che perde colpi... Di poco ma è fastidioso
www.google.com/shopping/product/446789395434105485?q=pll+phase+locked+loop+tutorial&client=ms-android-huawei&sa=X&biw=360&bih=518&tbs=vw:l,ss:44&prmd=visn&prds=epd:18254879161601720116,paur:ClkAsKraXxByXUVtqEg57r8pkopKC7VYmUIUnPbXrO7E8NZdhUeZV1G7oa5iTUBiiizsvictXy5OnJ9dNUILV2aiakHH35f07WJmx5tXjkUI6Ti0D6cufJC-XBIZAFPVH71Wa6yuGmC6EnsQdhq-LEYu9FgDww,cdl:1,prmr:1,cs:1&ved=0ahUKEwiU5fLMgKXgAhXIzYUKHTEwDB4QgTYI7wI
I motoriduttori sono dei componenti composti da un motore elettrico e degli ingranaggi che servono a regolare i numeri di giri dell'albero in uscita.
come mai viene usata una resistenza da 330 ohm per la base del transistor?
Sui transistor bipolari la resistenza sulla base dipende alla corrente che si vuole pilotare. In linea generale, per un transistor utilizzato in modalità interruttore, la corrente tra base ed emettitore deve essere 10 volte più piccola della corrente tra collettore ed emettitore.
Domanda: se volessi pilotare 10 motorini, aventi ognuno pulsante e potenziometro dedicato?
Si, è possibile farlo, però sarebbe meglio usare Arduino Mega, in quanto Arduino Uno non ha 10 ingressi analogici per poter ricevere 10 potenziometri.
In alternativa puoi anche usare dei convertitori analogico-digitale separati, come per esempio il circuito integrato MCP3008.
Lo sketch è identico, il circuito pure tranne che come alimentatore ho 2 batterie collegate come hai fatto te con l'alimentatore e il motore dc non ha i collegamenti fatti bene come i tuoi (so che non andrebbe fatto ma ho attorcigliato 2 cavetti alle estremità di metallo del motore), come posso collegare il motore a dei cavi in modo sicuro e come faccio a controllare che il motore non sia rotto. Grazie per la disponibilità, non riesco davvero a venirne a capo
Puoi verificare se il motore funziona correttamente, collegando temporaneamente le sue estremità direttamente ai due poli dell'alimentazione. Assicurati che la tensione sia adeguata per il motore che stai utilizzando. Per garantire che i collegamenti siano stabili, sarebbe meglio saldarli.
@@TechMaker ho sistemato il motore, ma ora fa un rumore quasi si forzasse di girare ma non riesce. Tuttavia collegandolo direttamente all'alimentatore gira senza problemi 🙇😓
Prova ad aumentare il valore della costante "BOOT_TIME".
@@TechMaker non funziona comunque, fa sempre lo stesso rumorino. Potrebbe essere un problema di basso voltaggio? Grazie ancora maestro 🙏
Prova ad abbassare il valore della resistenza sulla base del transistor.
complimenti ...il volume è migliorato ma ....puoi scendere un po a livelli più esaurienti per chi come me fa più fatica data l'età? grazie
Proveremo ad essere più esaurienti, in ogni caso puoi sempre scrivere nei commenti i tuoi dubbi.
è normale che il transistor diventi di fuoco?
Se diventa bollente potrebbe significare che la quantità di corrente è superiore al limite. Dovresti controllare il datasheet del transistor per verificare che il modello in questione riesca a sopportare la corrente che circola nel circuito.
Italian Tech Project il bello che funziona lo stesso
Italian Tech Project può essere il fatto che non avendo alimentazione esterna ho collegato il positivo del motore ai 5v di Arduino? (Collegato al lato superiore della bread board quindi 5v di Arduino)
Sarebbe meglio non collegare il motore DC direttamente alla corrente erogata da Arduino. La scheda di Arduino è stata progettata per sopportare al massimo 200mA e il motore DC spesso richiede molta più corrente. A lungo andare potresti bruciare la scheda. Questo però non dovrebbe influire sul transistor.
Salve, su tinkercad (un simulatore) sto usando un motore CC con arduino e un integrato L293D, attraverso un potenziometro a un pin analogico e un comando map sto inviando più o meno tensione agli enable dell'integrato collegati a dei PWM, ma i giri del motore sono incostanti, cosa potrebbe essere?
Il segnale PWM non riproduce esattamente un segnale analogico. In teoria il motore per un brevissimo tempo è accesso al massimo e successivamente spento del tutto. Nella pratica, però, l'inerzia del motore dovrebbe ammorbidire l'alternanza tra lo stato acceso e spento.
@@TechMaker infatti provando sulla realtà credo che non si noti questa cosa, sennò posso usare un pin analogico
I pin analogici su Arduino funzionano solo come ingressi. Per avere un'uscita analogica serve un DAC (convertitore digitale-analogico).
@@TechMaker a neanche lo sapevo, grazie 👍🏻
Ciao,non capisco perchè hai messo il diodo in questo modo .la corrente va dal polo positivo a quello negativo ma il diodo è messo in modo opposto
Un diodo serve a proteggere il circuito dalla tensione inversa generata quando il motore si ferma
Potresti fare un video in cui spieghi il diodo e il suo uso nei circuiti.Perchè alcuni dicono di collegare l’anodo del diodo All’anodo del motore dc e il catodo del diodo con il catodo del motore dc,in modo opposto a come hai fatto tu perché dicono che collegato in questo modo(come hai fatto nel video) il diodo diminuisce la tensione che arriva al motore dc potresti darmi dei chiarimenti grazie mille
Il diodo semplicemente in un verso permette il passaggio della corrente, mentre nell'altro no. Non va bene collegarlo invertito rispetto a come mostrato nel video, perché in questo modo praticamente tutta la corrente passerebbe per il diodo e non attraverso il motore.
Ok grazie mille per la risposta
La parte successiva?
Prossimamente arriveranno anche altri video dedicati ai motori. Puoi iscriverti al canale per ricevere tutte le notifiche.
Italian Tech Project già iscritto tranquillo. ;) Aspetto nuovi video. Vai avati così.
Ho fatto tutto con tinkercad ma non mi esce pure copiando tutto dal video
Lo sketch dovrebbe funzionare anche su Tinkercad. Controlla che tutti i collegamenti siano corretti.
Scusa, ma quello che hai fatto è un tutorial su Arduino o una gara di Formula1??
Per approfondire concetti base potrebbe esserti di aiuto seguire le puntate precedenti di questo tutorial.
Ho provato a scrivere questo programma :
Int soglia (30.00);
# include dht.h
# define dhttype dht11
#define motor PIN 10
(Più altre costanti ...non mi metto a scriverle tutte,insomma ,LCD più altra roba per stazione meteorologica)
Void setup (){
PIN mode ( motor_ PIN ,output );
(Più altre ,per dht11)
Void loop
If (temp> soglia)
Analogwrite( motor_pin,150);
Else
Analogwrite (motor_ PIN, 0);
Il mio problema e che dovrei fare accendere il motore a seconda della soglia se la supera acceso se non la supera spento ma il motore rimane spento pk?
Prova a stampare sul monitor seriale la temperatura rilevata dal sensore, per verificare che il sensore funzioni correttamente.
voglio uno facile non difficile. Non ho ne un bottone ne un potenziomentro e ne un diodo e non mi va di comprarli.
Il motore può essere usato anche senza dei pulsanti e dei potenziometri. Il diodo invece serve a proteggere il transistor dalle scariche di corrente inversa quando viene fermato il motore.
Questo motorino gira al contrario
Il motore DC può girare in entrambe le direzioni, basta invertire la polarità sui due connettori del motore.
non capisco a cosa serva il transistor, ci sono molti altri video di persone che lo collegano direttamente o attraverso un L293D
Il transistor è utilizzato per impedire che la corrente richiesta dal motore passi attraverso Arduino. Collegare il motore direttamente danneggerebbe la scheda. Il circuito integrato L293D, invece, può essere utilizzato in quanto contiene al suo interno dei transistor.