Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Modulo relè si eccita all'avvio del RPi Pico

Tipologie, strumenti di sviluppo, hardware e progetti

Moderatore: Foto UtentePaolino

0
voti

[1] Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentesavo98 » 21 dic 2022, 20:14

Buonasera a tutti,

da neofita ho realizzato il mio primo programma in micropython.
Utilizzo un modulò con 8 relè.
Il programma funziona correttamente, tranne quando alimento il raspberry pi Pico e mi si attivano tutti i relè.

Come evito questo problema?

All'accensione del RPi Pico devono essere tutti diseccitati!

Non so più come risolvere.
Ho già provato a settare i relè su low sia nel while True che prima di quel ciclo, ma nulla.

Grazie mille
Avatar utente
Foto Utentesavo98
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 135
Iscritto il: 23 ott 2015, 20:33

0
voti

[2] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentespeedyant » 21 dic 2022, 20:22

Prova apostare il programma.

Hai modo di fare verifiche strumentali senza "carichi", ovvero il solo Pico senza schede relè?
Son quello delle domande strane!
Avatar utente
Foto Utentespeedyant
5.093 3 6 8
Master
Master
 
Messaggi: 3877
Iscritto il: 9 lug 2013, 18:29
Località: Torino

0
voti

[3] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentedjnz » 21 dic 2022, 20:42

E magari vediamo anche quali relé e collegati come.
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 708
Iscritto il: 26 lug 2020, 14:52

0
voti

[4] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentestefanopc » 21 dic 2022, 20:45

Che tipo di rele stai utilizzando?
Disegna uno schema di una singola uscita.
La scheda relè e la scheda del micro sono alimentate con un singolo alimentatore?
Le masse come sono collegate?
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5566
Iscritto il: 4 ago 2020, 9:11

0
voti

[5] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentesavo98 » 21 dic 2022, 20:59

Di seguito il programma:

- - -
nota mod.: listato eliminato, è riproposto in #9.
- - -

I relè sono collegati ai 5v del RPi (per ora li ho provati sempre e solo senza carico, quindi non è quello il problema)
Ultima modifica di Foto UtenteWALTERmwp il 22 dic 2022, 2:38, modificato 1 volta in totale.
Motivazione: Eliminato listato codice
Avatar utente
Foto Utentesavo98
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 135
Iscritto il: 23 ott 2015, 20:33

0
voti

[6] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentesavo98 » 21 dic 2022, 21:00

I "low" e gli "high" sono invertiti, perché non sapevo che bastava scollegare il GND del modulo relè.
Comunque anche se stacco il GND, mi restano eccitati i relè appena accendo il rasp. Poi appena clicco il pulsante , fa il suo ciclo giusto ed è come se resettasse tutti i relè e poi funziona giusto
Avatar utente
Foto Utentesavo98
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 135
Iscritto il: 23 ott 2015, 20:33

0
voti

[7] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentesavo98 » 21 dic 2022, 21:03

stefanopc ha scritto:Che tipo di rele stai utilizzando?
Disegna uno schema di una singola uscita.
La scheda relè e la scheda del micro sono alimentate con un singolo alimentatore?
Le masse come sono collegate?
Ciao



Sono alimentati tramite il rasp.
Il modulo relè è collegato al gnd del rasp
Avatar utente
Foto Utentesavo98
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 135
Iscritto il: 23 ott 2015, 20:33

2
voti

[8] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentedjnz » 21 dic 2022, 21:16

Il programma non è leggibile. Per non perdere l'indentazione va racchiuso tra i tag [code]
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 708
Iscritto il: 26 lug 2020, 14:52

0
voti

[9] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentesavo98 » 21 dic 2022, 21:30

Scusatemi, non ricordavo

p.s. vi ricordo che per eccitare un relè utilizzo ".low()" e per diseccitarlo ".high" perché ho scoperto dopo che mi bastava togliere il GND sul modulo dei relè. (sarà una modifica successiva questa)
Ora mi interessa che i relè non si eccitino tutti all'avvio del rasp



Codice: Seleziona tutto


import machine, onewire, ds18x20, utime

#lista GPIO relè (output)
relay_resistenza = machine.Pin(28, machine.Pin.OUT)
relay_macinino = machine.Pin(16, machine.Pin.OUT)
relay_dosatore = machine.Pin(17, machine.Pin.OUT)
relay_motorid = machine.Pin(18, machine.Pin.OUT)
relay_pompa = machine.Pin(19, machine.Pin.OUT)
relay_ev_caldaia = machine.Pin(20, machine.Pin.OUT)


#lista GPIO input
micro_gruppo = machine.Pin(13, machine.Pin.IN, machine.Pin.PULL_DOWN)
button_caffe_corto = machine.Pin(15, machine.Pin.IN, machine.Pin.PULL_DOWN)
ds_pin = machine.Pin(1)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()

counter_corto = 0
posizione_micro = 0  #se = 0 non è premuto, se = 1 è premuto
ciclo_macinatura = 0 #se = 1 l'ha eseguita


while True :
   
   
    ######## imposta relè spenti appena acceso il raspberry ########
   
       
   
    ######## controllo temperatura caldaia e attivaz./disattivaz. resistenza ########
    ds_sensor.convert_temp()
    utime.sleep(0.5)
    for rom in roms:
        temp = round (ds_sensor.read_temp(rom),2)
        print (temp, "Celsius")
    utime.sleep(0.5)
   
    if temp < 93:
        relay_resistenza.low()
       
    if temp > 95:
        relay_resistenza.high()
   
    ######## controllo del microinterruttore per motoriduttore del gruppo ########
   
    if micro_gruppo.value()==1:
        utime.sleep(0.1) ##############################################################modificare a 0.01 finite le prove
        posizione_micro = 1
        print("posizione micro: schiacciato")
    if micro_gruppo.value()==0:
        utime.sleep(0.1) ##############################################################modificare a 0.01 finite le prove
        posizione_micro = 0
        print("posizione micro: non schiacciato")
   
    ######## ciclo erogazione caffè ########
   
    if button_caffe_corto.value()==1:  #quando viene premuto tasto caffè corto
        counter_corto = 1
        utime.sleep(0.1)
        print("Erogazione caffè corto")
   
        while counter_corto == 1 and posizione_micro == 0 and ciclo_macinatura == 0:
            utime.sleep(1)
            relay_macinino.low() #Macinino ON
            print("Macinino ON")
            utime.sleep(3)
           
            relay_macinino.high() #Macinino OFF
            print("Macinino OFF")
            utime.sleep(2)
           
            relay_dosatore.low() #Dosatore ON
            print("Dosatore ON")
            utime.sleep(1.5)
           
           
            relay_dosatore.high() #Dosatore OFF
            print("Dosatore OFF")
            utime.sleep(1)
            ciclo_macinatura=1
       
            while counter_corto == 1 and posizione_micro == 0 and ciclo_macinatura == 1:
                       
                relay_motorid.low() #Motorid. gruppo ON
                print("Motorid. gruppo ON")
                utime.sleep(0.1)
                posizione_micro=0
                       
           
                while micro_gruppo.value()==1 and ciclo_macinatura == 1: #quando il micro viene premuto
                    posizione_micro = 1
                    print("Micro premuto")
                    relay_motorid.high() #Motorid. gruppo OFF
                    print("Motorid. gruppo OFF")
                    utime.sleep(1) #aspetta 1 secondo
                    relay_pompa.low() #Pompa ON
                    relay_ev_caldaia.low()  #Ev Caldaia ON
                    print("Pompa e EV caldaia ON")
                    utime.sleep(5) ##############################################################Ancora da regolare dose del caffè corto
                    relay_pompa.high() #Pompa OFF
                    relay_ev_caldaia.high()  #Ev Caldaia OFF
                    print("Pompa e EV caldaia OFF")
                    utime.sleep(2) ##############################################################Settare tempo attesa sgocciolamento
                    relay_motorid.low() #Motorid ON
                    print("Motorid gruppo ON")
                    utime.sleep(5) ##############################################################Ancora da regolare tempo ritorno motorid. alla posizione principale
                    relay_motorid.high() #Motorid OFF
                    print("Motorid gruppo OFF")
                    utime.sleep(1)
                    print("Erogazione caffè corto completata")
                    posizione_micro = 0
                    counter_corto = 0
                    ciclo_macinatura=0

Avatar utente
Foto Utentesavo98
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 135
Iscritto il: 23 ott 2015, 20:33

0
voti

[10] Re: Modulo relè si eccita all'avvio del RPi Pico

Messaggioda Foto Utentesavo98 » 21 dic 2022, 21:41

Ho il sospetto che il modulo a 8 relè che ho comprato su amazon sia stato un precedente reso, poiché c'era il ponticello giallo mezzo scheggiato.
Probabilmente aveva questi problemi e il venditore ha cercato di rifilarmela dietro.

A meno che io non conosca un preciso comando o che abbia sbagliato a caricare il programma sul rasp, nella mia scarsissima esperienza non vedo errori
Avatar utente
Foto Utentesavo98
59 2 6
Frequentatore
Frequentatore
 
Messaggi: 135
Iscritto il: 23 ott 2015, 20:33

Prossimo

Torna a Realizzazioni, interfacciamento e nozioni generali.

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti