Pages: 1 [2]   Go Down
Author Topic: Coda di output  (Read 1776 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 2792
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Mi dispiace ma quei link a me non funzionano causa firefox non aggiornato.

PS: non ho intenzione di aggiornare firefox, quello che ho è perfetto.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Firenze
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

son riuscito e sto facendo un po di prove, ma c'è un problema a monte del'assorbimento: riesco a comandare un rele ma al contrario!
quando leggo il bit 0 il relè si accende, quando lo porto a 1 il rele si spegne! se tolgo la corrente ad arduino il rele si accende!!
ho collegato un'uscita digitale (in questo caso la 5) sull'ingresso digitale del Low_level_iput numero 5, e il gnd con il gnd. Non ho collegato la 5v.



* 16 rele module 1.jpg (675.84 KB, 1632x1224 - viewed 15 times.)

* 16 rele module 2.jpg (745.51 KB, 1632x1224 - viewed 14 times.)
Logged

"Cosi non si va avanti..." disse il gambero

0
Offline Offline
Faraday Member
**
Karma: 23
Posts: 2792
Arduino rocks
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Si il comportamento è corretto, se guardo lo schema l'anodo del diodo led interno all'accoppiatore ottico (U19,U18 ecc) è collegato a +5V tramite una resistenza di valore che dipende dal componente siglato PR?.

Pertanto quando dal pin di arduino escono +5V il rele non si eccita, se dal pin escono circa 0V il relè si eccita.

Risolvi usando dei transistor o 2 ULN, ma con i transistor ti servono anche 16 resistenze da 10k.

Come collegare i 2 ULN lo devi dedurre dallo schematico della scheda relè ed è semplice perchè quella scheda già ne adopera 2.

È evidente che un povero cristo compra una scheda relè per evitare di pasticciare con pcb millefori e altri componenti elettronici, ma in questo caso sei obbligato a pasticciare o ad acquistare un'altra scheda relè decente.

Il relè poteva essere collegato direttamente agli accoppiatori ottici, che non sono necessari, perchè il relè è già un disaccoppiatore non ottico ma meccanico. Allora la cosa sensata è usare i relè con gli ULN senza gli accoppiatori ottici, che ti risolvono il problema dell'isolamento e della corrente necessaria per ogni relè che è inferiore ad 1mA, 1x16= 16mA che sono erogabili dai pin di arduino come del resto da tutti i microcontroller del mondo, o meglio anche altri microcontroller non sono in grado di fornire tutta la corrente rischiesta da quella scheda relè.

Quello che ha progettato quella scheda mi sa che di elettronica non ne capisci un tubo.

Ciao.
Logged

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Genova
Offline Offline
Faraday Member
**
Karma: 17
Posts: 2745
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

potrebbe anche modificare la scheda unendo con una punta di stagno i pin degli accoppiatori ottici fino ad entrare direttamente nel uln
Logged

Meglio imparare dalle cose inutili piuttosto che non imparare niente.   [Arduino Mega R3 + Ethernet shield W5100 + SD card 8Gb FAT32]

Firenze
Offline Offline
Jr. Member
**
Karma: 1
Posts: 65
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Purtroppo con l'elettronica non me la cavo, ho ovviato tenendo le uscite di arduino sempre asserite e mettendole a 0 per eccitare il rele. Ho inserito nel SETUP del programma la scrittura a 1 dei pin interessati. Per il resto funziona tutto; non mi rimane che verificare quanta corrente assorbono tutti i rele ma per curiosità ho provato ad eccitarne 2 insieme, poi 3, fino a tutti e sei 6 e non ci sono mai stati problemi.
Vi riepilogo come ho fatto:
uso arduino UNO + ethernet shield, ho collegato le uscite digitali di arduino interessate ai pin della scheda, ho collegato il GND con il GND della scheda, la scheda alimentata a 12V con alimentatore esterno, arduino alimentato da usb. Su arduino ho programmato un webserver che su richiesta http invia una stringa JSON con lo stato dei contatti, e riceve sempre tramite http richieste per la scrittura dei bit. In pagina grafica ho usato ajax per leggere e scrivere. Ho programmato lo script per inviare un comando di eccitazione allo scatenarsi dell'evento onMouseDown su un pulsante, e il comando di diseccitazione sull'evento onMouseUp. La prossima modifica sarà un temporizzatore, in modo che non c'è bisogno di diseccitare un rele tramite la pressione di un tasto, ma vorrei che lo faccia arduino x secondi dopo l'eccitazione. Ho fatto poche prove con al libreria Timer ma non ha funzionato molto bene, sicuramente non l'ho usata nel modo giusto.
Per ora comando solo la discesa delle 6 tapparelle, vorrei riuscire a controllare anche la salita ma non ho abbastanza uscite digitali. Probabilmente il prossimo acquisto sarà arduino MEGA sempre con ethernet shield.

Direi che il motivo per cui ho aperto il post è decaduto, non ho piu bisogno di una coda di output se riesco ad eccitare insieme tutti i rele.
Logged

"Cosi non si va avanti..." disse il gambero

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

ciao... sono nuovissimo.. e non è che ci capisca granchè ..... detto questo vorrei semplicemente precisare che  la scheda 8 rele in oggetto usa il comando negativo perchè è progettata per lavorare con segnali ttl i quali  sono in grado di cortocircuitare a massa molto più di alimentare in positivo...ciao a tutti
Logged

Pages: 1 [2]   Go Up
Jump to: