Lampeggio led accensione arduino

Ciao a tutti.
Tempo fa per un progetto avevo partorito (grazie all'aiuto del forum) questo:


In pratica è un Attiny85 che controlla 3 led rgb tramite dei BC327.
Ho fatto subito l'ordine dei pcb (me ne servivano 15 e fare tutto a mano con la mia manualità era impossibile). La fretta però non mi ha fatto notare un piccolo difetto... che si è subito palesato al montaggio e accensione del primo pcb... quado alimento il tutto i 3 led fanno un lampeggio.
Per il resto il circuito funziona benissimo, però quel lampeggio è proprio fastidioso.
Come prima istruzione del setup() ho messo una analogWrite a 255, ma il problema non si è risolto.

Credo ci sia una soluzione hardware... qualcuno più ferrato di me potrebbe darmi una dritta?
Considerando anche che i pcb sono già fatti...

Mmm ... potrei sbagliare, ma mi sa tanto che ti tocca aggiungere delle resistenze di pull-up sulle basi dei transistor per evitare che, a base flottante (quando parte la MCU ha i pin in three state), vadano in conduzione

Guglielmo

Quindi dici di mettere una resistenza tra il pin2 del BC e vcc... di che valore? a sinistra o a destra della resistenza da 1 k?
Visto che il vcc "più vicino" è il pin3 del BC, per semplicità posso saldare la resistenza al pin3?

Se dipende da quello, vanno messe tra ciascuna base e ciascun emettitore. Puoi usare resistenze da 4k7...10k.

Grazie. Faccio una prova e vedo se risolvo

Se il problema persiste, devi ritardare la Vcc sugli emettitori o la massa sui catodi dei LED...

Torno in argomento perché le resistenze non hanno risolto.
Se avete altre idee sono ben accette.

... molto strano, ma se è così ... allora sei nei guai perché ... mi sa che l'unica altra strada è quella che ha indicato Datman al post #7 e ... difficile applicarla su CS già fatti ... :roll_eyes:

Guglielmo

Non credo di aver sbagliato a saldarle... le ho messe direttamente sui piedni del BC327. Tutto funziona esattamente come prima (lampeggio compreso purtroppo...).

Se non è una cosa da "geni dell'elettronica" e ti va di provare a spiegare, magari mi ingegno un po'.

Tra pin 2 e 3 giusto?
Strano pure io lo dico poiché vuole dire che per un istante le uscite assumono valore LOW.
Resistenze di valore?

Ciao.

Il digistump usa due pin per la comunicazione USB!

Per dirla terra terra... Tra il piedino che va al pin dell'attiny e il piedino connesso a vcc. Valore 10k

Questa non l'ho capita...

Edit: forse l'ho capita. Ho riguardato il pinout del digistump e in effetti uno dei pin pwm è segnato anche come pin usb... Dici che è quello il problema?

Quando comunica, accende il LED!

Sto usando la usb solo come alimentazione, collegata al classico alimentatore per cellulare.
Dici che interferisce anche quello?
In ogni caso, la usb non la uso proprio per comunicare col pc. Gli sketchs li carico in altro modo. Se "taglio" la pista che va al pin dici che risolvo?

Secondo me no, comunque la scheda ha ancora il booloader originale? Se si, è molto probabile che sia lui ad attivare le uscite per registrarsi come dispositivo USB.

Ciao, Ale.

Su queste cose sono proprio una zappa... Visto che non sono riuscito ad installare i driver digispark su ubuntu, il caricamento degli sketch da usb non funziona. Quindi li carico col sistema "arduino as isp" tramite un arduino uno. Non so se questa procedura mantenga o cancelli il bootloader...
Grazie anche a te per l'interessamento. E grazie anche a Mauro che non ho ringraziato prima.

Che core stai usando per la programmazione? Comunque mi sembra che se non fai l'azione specifica ("scrivi bootloader", in genere si fa per settare i fuse) il bootloader non viene toccato.

Ciao, Ale.

Io vorrei capire perché usate certe stupide schede invece di usare l'ATtiny85 pulito ... :roll_eyes:
... comunque, rispetto allo schema che trovo per quella schedina, vedo alcune discrepanze con il tuo schema; questo è quanto si trova sul loro sito:

Tu segni pin 4 come GPIO0 e, sul loro schema il 4 è GND
Tu segni pin 1 come Vcc e, sul loro schema, 1 è il reset
... ecc.

Praticamnete non corrisponde quasi nulla ... com'è sta cosa ?

Guglielmo

P.S.: ... e perché usare la nomenclatura GPIOn quando, su ATMEL si sua PAn, PBn, ecc. secondo il nome delle porte?

Per questo specifico progetto mi serviva la usb per l'alimentazione. E questo era il modo più immediato per averla.

Le mie capacità con kicad sono quello che sono... quando non riesco a trovare i pezzi che mi servono me li creo alla buona... ho disegnato in kicad lo schema mettendo i pin con li vedo fisicamente sulla scheda...
Se può aiutare, il Gpio0 corrisponde a PB0 e via di seguito gli altri.

Il pinout è questo
external-content.duckduckgo.com
PB0 - PB1 - PB4 sono i 3 pin pwm che uso per i led.

Grazie di nuovo a tutti.

Ho installato sia quello digistump che un altro core. Ho provato sia l'uno che l'altro e mi sembrava che si comportassero in maniera uguale. Non ricordo con quale ho fatto l'ultimo caricamento.
Se ne hai uno buono da suggerirmi spara pure.