• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
con gpio8 problemi

problemi con GPIO8
#1
ciao a tutti

volevo sapere se è possibile eseguire in test dei miei relè.
Precisamente ho una scheda sainsmart 16 relè 12v interfacciata.
Ho provato ad eseguire lo script python suggerito sul sito ma ho trovato una anomalia sul GPIO8
praticamente ho collegato solo dal GPIO1 a GPIO8 escludendo GPIO0, in pratica eseguono tutti il comando tranne GPIO8 che rimane sempre acceso, anche durante l'avvio del raspberry pi 2 model b 1.1

lo script che ho eseguito è:

#! /usr/bin/python
import RPi.GPIO as GPIO

relay_pins = {'one': 11, 'two':7, 'three':12, 'four':16, 'five':18, 'six':22, 'seven':15, 'eight':13}

GPIO.setmode(GPIO.BOARD) # use P1 header pin numbering convention
GPIO.setwarnings(False) # don't want to hear about how pins are already in use

for relay_pin, board_pin in relay_pins.iteritems():
GPIO.setup(board_pin, GPIO.OUT)
GPIO.output(board_pin, GPIO.HIGH)


purtroppo lo script esegue solo 8 relè ma per prova volevo accendere solo quella parte, non voglio dire una cavolata ma mi sorge il dubbio che lo script potrebbe essere scritto per i GPIO di raspberry primo modello.
Un altro problema è identificare i numeri dei GPIO intesi da python e quelli numerati sullo schema della GPIO del raspberry pi 2 model b 1.1 putroppo sono diversi e non coincidono.

Attualmente lo scheda della GPIO a cui faccio riferimento è questa:

[Immagine: j8header-2b.png]

Grazie
Risposta
#2
Come noti, il gpio 8 (e 9) sono assegnabili alla i2c. Probabilmente hai la i2c attiva, ma puoi usare qualsiasi pin libero tu voglia, naturalmente cambiando il numero nel listato.
Ps, per provare i relè, puoi usare un solo canale e spostare il filo sui vari relè a fine di testarne il funzionamento
Risposta
#3
Grazie, ho trovato l'errore sullo script 'eight':13 ho sostituito il 13 con il 3 come riportato sulla tabella e ora funziona si spegne e si accende a comando!
Pensavo che non ci fosse correlazione tra i numeri sulla scheda e i GPIO gestiti da python
Ad ogni modo GPIO 8 all'accensione si accende e poi si spegne quando viene caricato completamente OS.
Quindi devo disattivare I2C che non so come si fa e non so nemmeno cosa sia... oppure cambio PIN ma non so nemmeno come posso cambiare il numero del listato.
Controllando i GPIO su RPirrigate ho notato che partono dal GPIO2 e non da 1 o 0 quindi mi sento un po' disorientato su come assegnare il GPIO 0 o 1 al GPIO 2 di RPirrigate oppure partire dal primo relè cioè GPIO2 sul raspberry per non creare GPIO vuoti su RPirrigate

Grazie di cuore per l'aiuto
Risposta
#4
Mamma mia che confusione.
Naturalmente c'è correlazione tra i numeri gpio e Python (altrimenti come fai?) il problema è che esistono 2 tipi diversi di numerazione, come si vede anche dall'immagine che hai messo. Una è quella "classica" del connettore, in cui i Pin cominciano da 1 in alto a sinistra e poi aumentano come se leggessi un libro: da sinistra a destra, e poi passi alla riga sotto.
Poi c'è la numerazione Broadcom (BCM) che è quella GPIO0, GPIO1 ecc.. Che solitamente è quella che si usa nel software (ma a seconda della libreria che usi, puoi impostare il tipo di numerazione che vuoi usare)
Risposta
#5
Grazie, cerco di disturbarti il meno possibile visto la grande disponibilità che offri e per fortuna altrimenti avrei dovuto "darci su a malincuore" ho letto delle guide ma sono superficiali purtroppo e non ho trovato nulla a riguardo sulla riprogrammazione dei GPIO oppure disabilitare le funzioni secondarie tipo il GPIO8 che mi fa partire il relè all'accensione/riavvio/spegnimento e lo spegne finchè non è avviato jessy o scollego la corrente nel caso di un sudo shutdown.

Come posso fare?
Cioè passo al GPIO9 o GPIO10 collegandolo al PIN 8 del modulo relè e poi identificare i GPIO utilizzati su RPirrigate tramite i numeri da 1-40 oppure posso fare qualche cosa di più?

Thanks
Risposta
#6
Ci sono quasi... devo solo far funzionare RPirrigate...

GPIO fisici utilizzati:

GPIO2
GPIO3
GPIO4
GPIO5
GPIO6
GPIO7
GPIO10 (GPIO8 e 9 esclusi perché mi accende il relè durante il boot)
GPIO11


Con i test suggerito dal sito di sainsmart i relè si accendono correttamente:

#! /usr/bin/python
import RPi.GPIO as GPIO

relay_pins = {'one': 13, 'two':15, 'three':16, 'four':18 'five':22, 'six':7, 'seven':24, 'eight':26}

GPIO.setmode(GPIO.BOARD) # use P1 header pin numbering convention
GPIO.setwarnings(False) # don't want to hear about how pins are already in use

for relay_pin, board_pin in relay_pins.iteritems():
GPIO.setup(board_pin, GPIO.OUT)
GPIO.output(board_pin, GPIO.HIGH)

Se utilizzo RPirrigate e imposto un irrigazione sul GPIO2 nel menu a tendina collegato al relè 1
e inserendo settimana 0 e giorni 0 (per fargli fare l'irrigazione il giorno stesso e con qualche minuto di ritardo rispetto l'ora di sistema, il relè non si accende. Ho provato anche con il GPIO3 dal menu a tendina di RPirrigate ma fa la stessa cosa, non si accende.
L'unica cosa che posso dire è che RPirrigate mi dice che l'irrigazione è in corso ma il relè è spento. Quando elimino il modulo esempio del GPIO2 da RPirrigate e ne creo uno nuovo sempre su quel GPIO2, le informazioni non vengono cancellate e mi da sempre l'irrigazione in corso, è un bug?


[Immagine: Foto%2007-08-16%2018%2006%2041a_zps1c5ny137.jpg]
Risposta
#7
Aggiorno:

Ho provato vari GPIO dal menu a tendina di RPirrigate...
Arrivando fino al GPIO6 non è successo nulla impostando irrigazione manuale e forzando, ma durante la disattivazione dell'irrigazione manuale solo sul GPIO4 che corrisponde al collegamento GPIO7 pin 7 sul raspberry 2 alla disattivazione dell'irrigazione manuale mi accende il relè... cioè fa il contrario.
Non so che fare...

L'unica cosa che mi viene in mente è reinstallare tutto...

Premetto che non ho collegato i 5V del raspberry pi2 perché il modulo relè funziona a 12v e il PIN del modulo relè a 5V controllando con il tester mi eroga 5v quindi ho evitato di collegarlo ai 5v del raspberry per non creare un danno, non penso che possa compromettere il funzionamento di RPirrigate non collegando i 5v del raspy, mentre il GND è comune su modulo relè, interfaccia e raspberry
Risposta
#8
Mmm forse capisco.. Tu fai riferimento alla numerazione di WiringPi, che è una libreria storica (direi quasi datata ora che ne esistono di più moderne) che, giusto per complicare le cose, usa un' altra numerazione ancora.
Ma RpiIrrigate non usa WiringPi.
Riassumiamo i 3 modi di numerare sti benedetti PIN:
- BCM - Broadcom pin number, comunemente chiamati "GPIOx", dove x è il numero, E' la numerazione utilizzta dal chip Broadcom che è il cuore dei PI, questa numerazione è quella che usano le librerie più moderne come RPi.GPIO e GPIO Zero
- WiringPi - E' la numerazione della libreria Wiring Pi di Gordon
- Fisica - Numero corrispondente alla posizione fisica del pin sul connettore

per la pedinatura, fai riferimento a questo sito

questo comporta enormi confusioni a chi si avvicina la prima volta all' uso dei GPIO, e tutte le vecchie guide, anche ufficiali, usano wiringPI, poi ti trovi a usare altro e non capisci più.. Basterebbe evitare WiringPi, e si eviterebbe di mettere confusione in testa a chi comincia..
Risposta
#9
Esatto! Grazie!!! Con la tabella nuova corrisponde tutto quanto, ora rimane solo il problema che i relè lavorano al contrario, accesi la prima volta in manuale non si accende e se disattivo il manuale si accende per spegnersi quando lo riattivo. Purtroppo non ho nessun ponticello sul modulo rele per poter inverire il funzionamento, ho letto un post di bob che nel caso avrebbe spiegato come farlo ma poi nel post il problema ha preso un risvolto diverso e non ho potuto documentarmi.
Dopo questo finalmente funziona
Risposta
#10
Non è che hai usato il contatto normalmente chiuso, invece di quello normalmente aperto? Sono relè deviatori, tieni al suo posto il comune, e sposta l'altro filo sul morsetto libero do un relè, per provare.
Risposta
  


Vai al forum:


Navigazione: 6 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect