1° Forum di Astronomia Amatoriale Italiano

Il primo forum di astrofili per astrofili, nato nel 2000!
Oggi è mercoledì 23 luglio 2025, 10:22

Menu

* Home
* Iscriviti
* La Bacheca
* F.A.Q.
* Cerca
* Login/Logout 

Login

Nome utente:
Password:

 Ho dimenticato la password

In Linea

Visitano il forum: Nessuno e 1 ospite

Regolamento

regolamento

Links

*
Astrocafè

Segnala bolide
* Meteoblue.com
* Previsioni seeing
* Il Meteo.it
Help Forum
 

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 43 messaggi ]  Vai alla pagina Precedente  1, 2, 3, 4, 5  Prossimo
Autore Messaggio
MessaggioInviato: giovedì 24 settembre 2015, 12:15 
Non connesso
Avatar utente

Iscritto il: domenica 23 aprile 2006, 22:02
Messaggi: 7738
Tipo di Astrofilo: Fotografo
La terza via è ovviamente quella di modificare il firmware di Arduino in modo da pilotare il relay "invertitore".


Top
  Profilo   WWW  
 
MessaggioInviato: giovedì 24 settembre 2015, 12:38 
Non connesso
Avatar utente

Iscritto il: lunedì 13 febbraio 2006, 9:53
Messaggi: 14850
Tipo di Astrofilo: Visualista e Fotografo
Emiliusbrandt ha scritto:
... mentre io ho un motore a 12V in corrente continua che l'inversione di polarita al momento gliele faccio io con lo schema a relè incrociato.


Mi pare che tu abbia gia' capito come fare, ma se hai dubbi posta il tuo schema attuale e vediamo insieme come modificarlo

_________________
{andreaconsole.altervista.org}¦ Ballscope 300/1500 DIY "John Holmes"


Top
  Profilo   WWW  
 
MessaggioInviato: giovedì 24 settembre 2015, 16:22 
Non connesso
Avatar utente

Iscritto il: martedì 13 gennaio 2009, 20:22
Messaggi: 3023
Località: Locarno e Laveno Mombello - Lago Maggiore
Tipo di Astrofilo: Visualista
Ciao Andrea, sì in effetti ora mi pare piuttosto chiara la cosa.

Quindi la cosa migliore, lasciando il motore attuale, penso che sia di configurare adeguatamente la Arduino UNO, cosa di cui non sono assolutamente capace tra l'altro, ma penso che chiedendo aiuto qualcuno potrebbe aiutarmi.

Fino all'alimentazione del motore invertita quando serve ci so arrivare poichè gia ora uso quello schema, solo che al momento lo piloto con due comandi, uno che da potenza e l'altro che inverte.

Quando devo aprire il tetto premo prima "inverte" e poi "potenza" e lui si apre (all'occorrenza se vedo in video che ci sono problemi ripremo "potenza" e tutto si ferma, altrimento lascio andare fino a fine corsa.

Per chiudere tolgo "inverte" e premo "potenza e va fino alla chiusura, salvo se voglio lasciare parzialmente aperto e allora ripremo "potenza" per togliere corrente.

In effetti se Ivaldo potesse darmi una mano a modificare il firmware di Arduino in modo da pilotare il relè che inverte la polarità sarei a cavallo, come si suo dire.

Per ora grazie a tutti.

Emilio

_________________
My gallery
Skype ID: xwicxgunnar
Osservo con dobson Geoptik Nadirus 12" e con Celestron Nexstar 6SE


Top
  Profilo    
 
MessaggioInviato: giovedì 24 settembre 2015, 16:34 
Non connesso
Avatar utente

Iscritto il: lunedì 13 febbraio 2006, 9:53
Messaggi: 14850
Tipo di Astrofilo: Visualista e Fotografo
Non puoi disegnare lo schema? Se è come penso non è necessario modificare il codice

_________________
{andreaconsole.altervista.org}¦ Ballscope 300/1500 DIY "John Holmes"


Top
  Profilo   WWW  
 
MessaggioInviato: giovedì 24 settembre 2015, 17:23 
Non connesso
Avatar utente

Iscritto il: martedì 13 gennaio 2009, 20:22
Messaggi: 3023
Località: Locarno e Laveno Mombello - Lago Maggiore
Tipo di Astrofilo: Visualista
Lo schema è esattamente il secondo che ha disegnato Ivaldo, solo che lui ha indicato due relè da usarsi, ma in effetti io ho usato un relè doppio che fa lo stesso lavoro.

In più nel mio impianto c'è anche la possibilità di interrompere l'alimentazione per lasciare il tetto parzialmente aperto o per eventuali problemi nella apertura o chiusura (ricordo una volta che un gatto era proprio messo in un punto che se non fermavo subito la chiusura l'avrei schiacciato e lo vedevo proprio bene nel canale video).

A parte questo, che non dobbiamo contarlo, si avrebbe un relè comandato a 12v e due cavi 12 v in ingresso nel relè , due in uscita che vanno al motore e collegamenti incrociati sul relè stesso per dare questa funzione di inversione polarità.

A tutti gli effetti l'unico comando è rele ON chiude, relè OFF apre.

De cercare lo schema in rete perché a memoria non lo ricordo.

Se non lo trovo mi metto lì e lo ridisegno.

_________________
My gallery
Skype ID: xwicxgunnar
Osservo con dobson Geoptik Nadirus 12" e con Celestron Nexstar 6SE


Top
  Profilo    
 
MessaggioInviato: giovedì 24 settembre 2015, 17:30 
Non connesso
Avatar utente

Iscritto il: martedì 13 gennaio 2009, 20:22
Messaggi: 3023
Località: Locarno e Laveno Mombello - Lago Maggiore
Tipo di Astrofilo: Visualista
Ecco, lo schema esatto è questo.


Allegati:
73990951f034f360f6fb29955babe1a299819eca_3.png
73990951f034f360f6fb29955babe1a299819eca_3.png [ 4.53 KiB | Osservato 2638 volte ]

_________________
My gallery
Skype ID: xwicxgunnar
Osservo con dobson Geoptik Nadirus 12" e con Celestron Nexstar 6SE
Top
  Profilo    
 
MessaggioInviato: giovedì 24 settembre 2015, 20:09 
Non connesso
Avatar utente

Iscritto il: martedì 13 gennaio 2009, 20:22
Messaggi: 3023
Località: Locarno e Laveno Mombello - Lago Maggiore
Tipo di Astrofilo: Visualista
Questo è esattamente il sistema che monto ora, tranne che l'alimentazione/comando della bobina del relè sono a parte da un piccolo alimentatore a 12V.

Quindi due fili + e - a 12V dall'alimentatore che vanno sul relè, ponti incrociati sui piedini del relè come da disegno e due fili dal relè che vanno al motore.

Il relè è bistabile quindi se dai comando hai una polarità, se togli comando ne hai un altra.

Quindi ricapitolando, con questo schema posso collegarmi alla Arduino come ha fatto Ivaldo?

Sinceramente non ho ancora capito.

Ivaldo tra le altre cose dice che la chiusura e l'apertura (i relè rispettivi in effetti) vanno collegati uno al 5V della scheda + la porta 4 e l'altro sempre al 5V + la porta 5.

Se nella mia configurazione ho già un solo relè che se azionato alternativamente ribalta la polarità, non vedo come possa essere interfacciato con la Arduino.

Sempre che qualcuno non sappia programmare tale scheda nel modo adeguato, bisogna studiare qualcosa con più relè, ma poi diventano troppi e allora molto meglio un motore FAAC usato ...


Allegati:
RELE.jpg
RELE.jpg [ 139.37 KiB | Osservato 2627 volte ]

_________________
My gallery
Skype ID: xwicxgunnar
Osservo con dobson Geoptik Nadirus 12" e con Celestron Nexstar 6SE
Top
  Profilo    
 
MessaggioInviato: venerdì 25 settembre 2015, 7:39 
Non connesso
Avatar utente

Iscritto il: lunedì 13 febbraio 2006, 9:53
Messaggi: 14850
Tipo di Astrofilo: Visualista e Fotografo
Io pensavo ad una cosa del genere
Allegato:
Untitled.jpg
Untitled.jpg [ 42.97 KiB | Osservato 2610 volte ]

Ci sono 4 diodi (1N4148, ad esempio): quelli a sinistra servono ad isolare i comandi fra loro e i due a destra a proteggere l'arduino dalle sovratensioni generate nei rele'.
Ovviamente dovresti usare rele' a 5V.
Lo schema e' molto semplice ma ha un paio di problemi:
- non e' detto che il rele' in alto si attivi al comando di chiusura, considerata la caduta di tensione sul diodo;
- non e' una buona cosa chiedere ad arduino di attivare dei rele'; http://playground.arduino.cc/Main/Ardui ... imitations
Entrambi i problemi si risolvono usando due transistor (e potresti continuare ad usare i rele' a 12V che gia' hai!) ma il circuito si complica un po'.
Se non hai particolari difficolta' a realizzare circuiti te lo disegnon (oppure puoi prendere uno shield rele' gia' pronto).


La modifica custom al codice la sconsiglierei perche', anche se sarebbe molto semplice da fare, poi dovresti tenerne conto ogni volta che capita di dover aggiornare il software.

Piu' semplice ancora pero' e' la prima proposta di Ivaldo, quella con l'alimentatore duale; se non vuoi prendere un alimentatore duale (magari non facile da trovare) basta metterne due da 12V in serie. Il punto di connessione centrale fara' da massa.

_________________
{andreaconsole.altervista.org}¦ Ballscope 300/1500 DIY "John Holmes"


Top
  Profilo   WWW  
 
MessaggioInviato: venerdì 25 settembre 2015, 22:02 
Non connesso
Avatar utente

Iscritto il: martedì 13 gennaio 2009, 20:22
Messaggi: 3023
Località: Locarno e Laveno Mombello - Lago Maggiore
Tipo di Astrofilo: Visualista
Ciao Andrea,

a conti fatti penso che la soluzione più economica e veloce sia proprio prendere un alimentatore duale e usare due relè separati.

le altre soluzioni mi creano qualche dubbietto.

Ne ho visti di alimentatori duali in rete a costi abbordabili e mi semplificherebbe davvero la vita.

Ancora su un paio di giorni e ordino il materiale e poi parto con la modifica.

Vi tengo informati, per ora grazie mille a tutti per il prezioso aiuto.

_________________
My gallery
Skype ID: xwicxgunnar
Osservo con dobson Geoptik Nadirus 12" e con Celestron Nexstar 6SE


Top
  Profilo    
 
MessaggioInviato: domenica 27 settembre 2015, 8:13 
Non connesso
Avatar utente

Iscritto il: domenica 23 aprile 2006, 22:02
Messaggi: 7738
Tipo di Astrofilo: Fotografo
Andrea ha come quasi sempre ragione. Io ho scritto di collegare due relay da 5V alla scheda Arduino UNO di AstroDome, ma è una semplificazione e di questo mi scuso (ed aggiornerò quanto prima la pagina web sul mio sito). In realtà si trovano facilmente in commercio delle schedine già pronte con uno o più relay su cui sono già presenti tutti i componenti accessori. Hanno un aspetto simile a questo
Allegato:
SchedaRelay.jpg
SchedaRelay.jpg [ 228.32 KiB | Osservato 2593 volte ]

e si alimentano prelevando 5V dall'alimentatore che utilizzerai per AstroDome o se ti è più comodo dal pin +5V di Arduino UNO.

Forse arrivo tardi, ma da quanto ho capito tu oggi hai due pulsanti, uno attiva il motore e l'altro determina il senso di rotazione. Potresti in questo caso collegare i due nuovi relay di AstroDome invece di questi pulsanti e modificare il codice in questo modo:
Codice:
void roofOpen(){
  // Apertura del tetto
  if(meteoAlarm == HIGH){ // Verifica che non sia attivo l'allarme meteo
    if(digitalRead(endSwitch1) == HIGH){ // Verifica che il tetto non sia già  aperto
      Serial.println(2);
      oldRoofStatus = 2;
      // +++ MODIFICA +++
      // digitalWrite(relay1, LOW); // Vecchia linea, da eliminare
      digitalWrite(relay1, LOW); // Attiva il contatto di inversione del movimento
      delay(500); // Pausa di mezzo secondo
      digitalWrite(relay2, LOW); // Avvia il movimento di apertura del tetto
      // +++ FINE MODIFICA +++
      boolean roofMove = true; // Quando questa variabile diventa falsa il tetto si ferma
      long timer = 0; // Variabile usata come cronometro
      while(roofMove) { // Avvia un ciclo di verifica
        delay(10); // Pausa di un decimo di secondo
        timer++; // Incrementa il valore del cronometro
        if(timer > motorTimeOut){roofMove = false;} // È stato raggiunto il valore di timeout?
        if(digitalRead(endSwitch1) == LOW){roofMove = false;} // Il tetto è giunto a fine corsa?
        if(Serial.read() == 72){roofMove = false;} // Il PC ha richiesto l'annullamento con il carattere "H"?
        if(digitalRead(manualSwitch2) == LOW){roofMove = false;} // È stato premuto il pulsante di chiusura?
      }
      // +++ MODIFICA +++
      // digitalWrite(relay1, HIGH); // Vecchia linea, da eliminare
      digitalWrite(relay2, HIGH); // Interrompi il movimento del tetto
      delay(500); // Pausa di mezzo secondo
      digitalWrite(relay1, HIGH); // Rilascia il contatto di inversione
      // +++ FINE MODIFICA +++
      while(digitalRead(manualSwitch2) == LOW){ // Attendi che il pulsante di chiusura venga rilasciato
        delay(10);
      }
      delay(500); // Pausa di mezzo secondo
    }
  }
}

void roofClose(){
  // Chiusura del tetto
  if(digitalRead(endSwitch2) == HIGH){ // Verifica che il tetto non sia già  chiuso
    Serial.println(3);
    oldRoofStatus = 3;
    // +++ MODIFICA +++
    // digitalWrite(relay2, LOW); // Vecchia linea, da eliminare
    digitalWrite(relay1, HIGH); // Disattiva il contatto di inversione del movimento
    delay(500); // Pausa di mezzo secondo
    digitalWrite(relay2, LOW); // Avvia il movimento di apertura del tetto
    // +++ FINE MODIFICA +++
    boolean roofMove = true; // Quando questa variabile diventa falsa il tetto si ferma
    long timer = 0; // Variabile usata come cronometro
    while(roofMove) { // Avvia un ciclo di verifica
      delay(10); // Pausa di un decimo di secondo
      timer++; // Incrementa il valore del cronometro
      if(timer > motorTimeOut){roofMove = false;} // È stato raggiunto il valore di timeout?
      if(digitalRead(endSwitch2) == LOW){roofMove = false;} // Il tetto è giunto a fine corsa?
      if(Serial.read() == 72){roofMove = false;} // Il PC ha richiesto l'annullamento con il carattere "H"?
      if(digitalRead(manualSwitch1) == LOW){roofMove = false;} // È stato premuto il pulsante di apertura?
    }
    // +++ MODIFICA +++
    // digitalWrite(relay2, HIGH); // Vecchia linea, da eliminare
    digitalWrite(relay2, HIGH); // Interrompi il movimento del tetto
    // +++ FINE MODIFICA +++
    while(digitalRead(manualSwitch1) == LOW){ // Attendi che il pulsante di apertura venga rilasciato
      delay(10);
    }
    delay(500); // Pausa di mezzo secondo
  }
}


Spero di non averti creato troppa confusione Emilio.


Top
  Profilo   WWW  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 43 messaggi ]  Vai alla pagina Precedente  1, 2, 3, 4, 5  Prossimo

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010