Buonasera ho recentemente programmato una centralina per il mio cancello automatico e con tanto impegno prove e tempo sono riuscito a renderla perfetta e sicura.
ho voluto quindi progettare un pcb e farmelo sviluppare implementando l'atmega standalone
il chip funziona a 16mhz infatti ho messo il quarzo corretto e i due condensatori da 22pf a massa
nella configurazione ho messo anche la resistenza di pullup per evitare il reset (se non sbaglio serve a questo? sul pin 1) e le varie alimentazioni e masse niente di piu. il bootloader l'ho caricato con l'aiuto di un altro arduino su breadboard. una volta messo il bootloader ho delicatamente rimosso l'atmega dall'arduino originale e inserito il nuovo atmega che ho programmato senza problemi.
adesso sto caricando a pezzi il codice per provare ogni funzione della scheda e proprio mentre testo i relè sfruttando un banalissimo blink del codice esempio noto che dei miei 3 relè uno manda in crisi il tutto. i primi due sui pin dig 6 e 7 funzionano perfettamente, mentre quello sul pin 5 fa un po come vuole, a volte scatta a volte no a volte salta il delay oppure a volte addirittura blocca lo scorrere del programma. usando l'atmega sulla board di arduino tutto funziona, ma appena lo metto da solo mi da questo problema...
vi viene in mente qualcosa?
intanto ora non hanno nessun carico li sto provando a vuoto.
i relè li ho comprati "nudi" non sono su una scheda, li attivo fornendo la tensione richiesta.
se io mando con una scheda arduino una tensione (con digitalWrite per capirci) al pin interessato, il relè funziona
ma se questa tensione la manda l'atmega standalone va in crisi tutto
Mi limito a fare 2+2, cioè se con arduino board funziona correttamente mentre con la tua scheda standalone no, devo allora per forza puntare il dito verso la tua scheda come colpevole. Quindi posta lo schema e layout del PCB.
Allora, tu puoi anche averli sempre usati così e ti possono anche aver sempre funzionato, ma ... sei fuori specifiche ed è normale che la MCU possa non farcela, resettari o proprio bruciarsi il pin a cui è collegato il relè.
Le specifiche della versione a 5V sono QUI ... ora, si legge bene che:
ogni pin di Arduino può dare al massimo, a Vcc, 40 mA (... ma quello è veramente un limite, nel normale funzionamento occorre stare al 60-70% di detto valore) ed inoltre la somma di tutti i pin e dell'assorbimento del chip, non deve superare al massimo i 200 mA (... e anche qui massimo va considerato come valore limite, ma nel normale funzionamento occorre stare al 60-70% di detto valore). Assorbimenti oltre detti limiti possono danneggiare irrimediabilmente il chip.
Lo schema che stai usando è pertanto totalmente sbagliato e fuori specifiche poi ... vedi tu ...
avete pienamente ragione! quindi userò un banale transistor con una resistenza in serie alla base per mandare in conduzione collettore ed emettitore e faccio arrivare la tensione 5v al rele! sicuramente funzionerà vi faccio sapere!
scusate, invece il diodo in parallelo alla bobina a cosa serve? questo mi sfugge sono sincero, mancanza mia
perchè ho visto che comunque il relè scatta indipendentemente dal verso di collegamento della bobina ovviamente, quindi non servrà per quello
... grazie mille per essertene accorto ed avelo segnalato ... come vedi non sono schede che ho fatto io, ma le fece Pighixxx molto tempo fa e ... ovviamente NON sono esenti da errori.
Ho corretto e provveduto a SOSTITUIRE l'immagine con la giusta piedinatura