Transistor e Arduino Nano bruciato

Ciao a tutti, sono nuova, quindi scusatemi se posto nella sezione sbagliata :confused:
Ho anche poche conoscenze di elettronica e Arduino, per cui scusatemi se vi sembrerà che stia facendo domande molto stupide :confused:
Sto lavorando con un Arduino Nano e una cassa a 4 ohm, amplificando il segnale col transistor NPN Bd137.

Quello che ho fatto è stato questo:
base: ho fatto convergere 2 pin dell'arduino Nano su un' unica "corsia" (non so come si chiama in maniera tecnica la fila di buchi sulla breadboard :blush: ), ho aggiunto una resistenza da 560 Ohm e ho portato tutto sulla base.
Carico sul collettore: come carico ho usato questo altoparlante da 4 ohm, aggiungendo una resistenza da 110 ohm (in realtà erano 2 da 220, in parallelo).
Dopodichè ho portato l'emettitore a Ground di arduino.
Ho alimentato il polo positivo dell'altoparlante con un generatore di tensione da 12V (quello coi morseti per caricare la batteria dell'auto), e ho portato il cavo negativo dell'alimentatore a Ground di arduino.
Il tutto è sembrato funzionare decentemente per qualche minuto: l'altoparlante riproduceva le due frequenze contemporaneamente, in maniera amplificata rispetto a quando era collegato solo ad Arduino. Dopo un po', tutto si è spento e l'arduino nano era bruciato :confused: :confused: :confused:
Ne ho subito ordinati altri due ma prima di procedere con gli esperimenti, vorrei capire come mai si è bruciato.. Ho pensato ad un ritorno di corrente verso l'arduino, ma da dove? Il transistor non funziona da diodo? Oppure è stato perchè ho fatto convergere due pin sullo stesso utilizzatore?
Qualcuno mi aiuterebbe a capire dove ho sbagliato e come fare la prossima volta?
Grazie mille :slight_smile:

temo che tu abbia messo brutalmente in corto due uscite della MCU, che essendo Cmos quando non sono "alte" sono a massa, e modulando le due uscite in maniera indipendente hai momenti dove un'uscita è alta e l'altra è bassa
lascio a te immaginare cosa succede in questo caso

anche l'ampli audio è un po' brutale...

Intanto grazie mille per la risposta :slight_smile:
Ho capito..
Come potrei fare dunque, per far convergere due segnali sulla stessa cassa? Potrei mettere un diodo per una in modo che il segnale vada solo in una direzione?

Se no, avevo anche provato, nello sketch, a far partire i due segnali dallo stesso pin.. In un certo qualmodo funzionava.. solo che nella mia testa ho pensato che potesse essere più pericoloso.. :confused: invece potrebbe andare?

Senza il codice che usi è difficile consigliarti.

Ciao,
P.

Devi miscelare i segnali, con resistenze e condensatori di valore tale che il microcontrollore sia protetto
e che il transistor amplificati correttamente.

Visto che si tratta di miscelare brutalmente due segnali digitali, tra Arduino e la resistenza che va alla base del transistor basta interporre una porta logica OR (due ingressi un'uscita). Può anche essere costruita con semplici componenti discreti (due diodi e una resistenza).

Un altro tipo di miscelazione, con effetto sonoro diverso, si avrebbe con una porta XOR, che essendo (molto) più complessa è meglio prendere integrata.

PS: come si chiamano le corsie delle breadboard? Boh, in 30 anni di utilizzo non me lo sono mai chiesto :smiley: Le ho sempre pensate semplicemente come strisce o righe di contatti.

Bastano 2 resistenze sulle due uscite, che convergono sulla stessa base
Però queste sono cose elementari da sapere, se arduino è un passatempo queste cose uno deve conoscerle, non farsele dire
altrimenti non è più un passatempo, ma una pena continua

IO sarei per i diodi inoltre, se non serve una grande potenza sull'altoparlante, sostituirei il Bd137 con hfe di circa 100-200 con un transistor con hfe più alta tipo il 2N2222 per ridurre la corrente di base e non caricare le uscite di arduino. Se invece serve una potenza maggiore metterei il 2N2222 e il Bd137 in configurazione darlington.

Ma la corrente di base non dipende dal transistor, d

Dipende dalla resistenza di base

Non si usano darlington in configurazione switching, i darlington non saturano

Quando si usa un transistor quello che si vuole avere è una certa corrente di collettore.
La corrente di base influenza la corrente di collettore in base al valore hfe (Ic=Ib*hfe usare il valore minimo del datasheet per hfe) maggiore è hfe del transistor minore è la corrente di base per avere la corrente di collettore richiesta.
Per mandare in saturazione un transistor occorre fornire sulla base una tensione superiore a 0,7V, per il darlington una tensione di 1,4V. Arduino in uscita fornisce 5V sufficienti, per me, di mandarlo in saturazione (potrei anche sbagliarmi).
Per essere certi che il transistor vada in saturazione dopo aver fatto i calcoli con la formula precedente si abbassa ulteriormente la resistenza calcolata.
Diverso se vogliamo utilizzare il transistor in zona lineare.

Ti confermo la tua ipotesi:

Ti sbagli

Dei due transistor del darlington il primo se fosse saturo avrebbe tensione tra collettore ed emettitore di circa 0,2 volt, saturo appunto
Il secondo però ha tensione base emettitore di circa 0,7 volt

Ma la base del secondo è emettitore del primo

Quindi la somma fa 0,9, tra emettitore del secondo è collettore del primo

Evidentemente nei conti c'è qualcosa che non va

Ecco perché non satura

Mi fido di quello che hai scritto.
Farò una prova per testare il funzionamento.

Ti fido o provi?

Perché le due cose contrastano

Contento tu, io di mio sono tranquillo

Sono come San Tommaso voglio metterci la mano.

Intanto grazie a tutti per le risposte siete stati super utili :slight_smile:
Dunque: la maggiorparte delle cose che mi avete consigliato non ho idea di cosa siano, per cui andrò diligentemente a informarmi e vedrò se riesco a metterle in pratica.. Parlo di porte OR e porte XOR, e di configurazione darlington.

A Standardoil, oltre che ringraziarlo (perchè credo che prima di tutto proverò il suo consiglio delle resistenze), rispondo che purtroppo per ora Arduino è una pena :confused: ma piano piano spero di trasformarlo quantomeno in un passatempo :grin:
Di sicuro ora ho capito che non basta designare una porta come "output" perchè questa lo sia sempre e automaticamente :sweat_smile:

Poi aggiungo una ulteriore domanda: in assenza di Arduino, ho pensato di collegare alla mia cassa (amplificata come ho descritto) un jack che esce dal PC, per usarlo come produttore di audio, usando un programma del pc che mi permette di combinare diverse frequenze, al posto dell'arduino.
Quindi in questo caso eliminato il problema dei 2 pin convergenti.
Devo proteggerlo in qualche modo da eventuali ritorni di corrente, oppure sto tranquilla?

pgiagno:
Senza il codice che usi è difficile consigliarti.

Ciao,
P.

Posto il semplicissimo codice che uso, così magari mi sapete dire se è possibile indicare lo stesso pin per entrambi i toni o mi esplode l'arduino :sweat_smile:

#include <Tone.h>


Tone tone1;
Tone tone2;

void setup(void) { 
tone1.begin(3);
tone2.begin(2);
}

void loop() {
  // put your main code here, to run repeatedly:
tone1.play(900);
tone2.play(50);
}

Grazie ancora :slight_smile:

Credo che il consiglio di Standardoil sia quello più efficace e più semplice per te da seguire.

Per il collegamento alla cassa amplificata devi considerare che il jack di uscita del PC è, molto probabilmente, stereo, mentre tu parli di una cassa amplificata, molto probabilmente mono. Sai come fare le connessioni?

La cassa amplificata dovrebbe essere già protetta all'ingresso, quindi non ci dovrebbero essere problemi a connettere l'uscita audio di un PC, che potrebbe risultare anche eccessiva. Ma sulla cassa ci sarà una regolazione del volume, giusto? O no?

Ciao,
P.

In realtà la cassa è passiva e l'ho amplificata io solo col transistor :sweat_smile:
Mi informerò bene su come fare per l'uscita stereo..
In realtà, più che proteggere la cassa, quello che mi interessa è proteggere il computer! Siccome la cassa l'ho amplificata con un transistor semplice, usando solo una resistenza per aumentare il carico della cassa, senza condensatori, il pc rischia?

L'uscita stereo di un PC puoi collegarla alla tua "cassa" attraverso due resistenze (una per canale) connesse a un condensatore che finisce sull'ingresso della tua cassa. In buona sostanza: Uscita left => resistenza 1k circa => condensatore 10uF => ingresso cassa; Uscita right => resistenza 1k circa => stesso condensatore da 10uF; massa con massa.

Ciao,
P.

In realtà la cassa è passiva e l'ho amplificata io solo col transistor

Uno solo? il massimo del minimalismo alla Nelson Pass.

Con un solo bjt questo per forza di cose deve lavorare in classe A.

Come kit amplificatore audio c'è ancora in circolazione il mitico TDA2030 qui

Da quanto ho capito l' "amplificatore" che usa non è lineare, è un semplice on/off comandato dalle uscite digitali di Arduino. Per un segnale audio analogico serve un amplificatore lineare, ma un monotransistor (giustamente in classe A, la più bollente e meno efficiente), o anche un minimalissimo simmetria complementare senza alcuna stabilizzazione/retroazione, probabilmente porterebbero a ulteriori "bruciature", forse anche della "cassa" (ricordo ancora due complementari diventati letteralmente viola causa valanga termica per assenza delle resistenze di emettitore e di qualsiasi altra compensazione).

Concordo senza se e senza ma sull'usare un integratino audio apposito, o un modulino già completo che adesso se ne trovano di tutti i tipi... mica come 35 anni fa ::slight_smile: