Guten Tag Miteinander
Ich habe ein Problem bei einem meiner Projekte.
Die angeschlossene GPIO-Erweiterung (MCP23018) wird via I2C nicht erkannt.
Vermutlich wird es ein Anfängerfehler sein. Ich wäre dankbar, wenn ihr mich in die richtige Richtung schubsen könntet.
Vieleicht hatte jemand von euch schon einen ähnlichen Fall.
Gruss Maesi
(Falls ich eine wichtige Info vergessen habe liefere ich diese möglichst schnell nach)
Problem:
Ein MCP23018 ist an einen Raspberry über die SDA und SCL Pins angeschlossen.
Die Stromversorgung des MCP23018 wird über die Pins des Raspberrys realisiert.
Die Stromversorgung des Raspberrys wird über ein separates Netzteil (IRM 20-5) realisiert.
Es läuft eine frische Installation des Betriebssystem auf dem Raspberry.
Terminalbefehl "sudo i2cdetect –y 1" liefert eine leere Tabelle zurück. Der Baustein MCP23018 wird nicht erkannt.
Ziel:
MCP23018 ansteuern/erkennen können.
Ich vermute mal folgende Fehlerquellen:
- ein Detail beim Verkabeln übersehen/falsch gemacht
- beim Aufsetzten des Raspberrys etwas vergessen --> es handelt sich um ein altes Modell
- Defekte PINs am Rasperry oder Bauteile (eher unwahrscheinlich --> mehrer durchgetestet)
Leider finde ich im Internet keine weiteren Anhaltspunkte wo der Fehler liegen könnte...
Für jeden Denkanstoss wäre ich dankbar.
Um meine Elektrokenntnisse auf Vordermann zu bringen habe ich mir eine Wörteruhr vorgenommen.
Der Raspberry dient als Steuereinheit (hatte noch ein paar rumliegen). Über die I2C Schnittstelle und die Porterweiterer möchte ich eine LED-Matrix realisieren.
Das Ganze wird am Schluss noch in einen Rahmen Verpackt.
Zumindest war das mal der Plan
verwendete Bauteile:
cat /proc/cpuinfo:
processor : 0
model name : ARMv6-compatible processor rev 7 (v6l)
BogoMIPS : 697.95
Features : half thumb fastmult vfp edsp java tls
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xb76
CPU revision : 7
Hardware : BCM2835
Revision : 000e
Serial : 000000003012fa6d
Model : Raspberry Pi Model B Rev 2
MCP23018 (GPIO-Erweiterung)
IRM-20-5 (Netzteil)
bisherige Schritte:
- Ich bin diesem Tutorial (ist zwar für 23017, beide sollten aber kompatibel sein) gefolgt, den Part mit den LEDs habe ich weggelassen.
- eine schlechte Spannungsversorgung sollte ausgeschlossen sein wegen dem dediziertem Netzteil 5V und 4A.
- Rasperry sollte korrekt eingerichtet sein. Frisches Betriebssystem und Quervergleich mit anderen Tutorials.
- MCP23018 ausgetestet mit Versorgungsspannung 5V und 3.3V. Via Netzteil und Raspberry
(unter anderem wegen diesem Post aus diesem Forum)
- mehrere MCP23018 durchgetestet und auch mehrere Raspberrys (alle von der 1. Generation)
Überblick:
Schaltaufbau gemäss Tutorial:
evtl hilfreiche Terminal-Ausgaben:
Module Size Used by
sg 28672 0
uas 24576 0
fuse 114688 3
hid_logitech_hidpp 40960 0
sha256_generic 16384 0
libsha256 20480 1 sha256_generic
cfg80211 667648 0
rfkill 28672 2 cfg80211
8021q 32768 0
garp 16384 1 8021q
stp 16384 1 garp
llc 16384 2 garp,stp
joydev 20480 0
hid_logitech_dj 24576 0
raspberrypi_hwmon 16384 0
i2c_bcm2835 16384 0
bcm2835_codec 36864 0
bcm2835_v4l2 45056 0
v4l2_mem2mem 32768 1 bcm2835_codec
bcm2835_isp 28672 0
bcm2835_mmal_vchiq 28672 3 bcm2835_isp,bcm2835_codec,bcm2835_v4l2
videobuf2_vmalloc 16384 1 bcm2835_v4l2
videobuf2_dma_contig 20480 2 bcm2835_isp,bcm2835_codec
videobuf2_memops 16384 2 videobuf2_dma_contig,videobuf2_vmalloc
videobuf2_v4l2 28672 4 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem
videobuf2_common 53248 5 bcm2835_isp,bcm2835_codec,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
videodev 225280 6 bcm2835_isp,bcm2835_codec,videobuf2_common,bcm2835_v4l2,v4l2_mem2mem,videobuf2_v4l2
mc 45056 6 bcm2835_isp,bcm2835_codec,videobuf2_common,videodev,v4l2_mem2mem,videobuf2_v4l2
vc_sm_cma 32768 2 bcm2835_isp,bcm2835_mmal_vchiq
uio_pdrv_genirq 16384 0
uio 20480 1 uio_pdrv_genirq
fixed 16384 0
i2c_bcm2708 16384 0
snd_bcm2835 28672 4
snd_pcm 94208 1 snd_bcm2835
snd_timer 32768 1 snd_pcm
snd 73728 11 snd_timer,snd_bcm2835,snd_pcm
i2c_dev 16384 0
ip_tables 28672 0
x_tables 32768 1 ip_tables
ipv6 446464 26
options i2c_bcm2708 baudrate=100000 #macht keinen Unterschied
i2c-dev
snd-bcm2835
i2c-bcm2708
#For more options and information see
# Some settings may impact device functionality. See link above for details
# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
disable_overscan=1
# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16
# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
dtparam=i2c1=on
#dtparam=i2s=on
#dtparam=spi=on
# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2
# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4
# uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on # <-------------------------------
dtparam=i2c1=on # <-------------------------------
#dtparam=i2s=on
#dtparam=spi=on
# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
# Additional overlays and parameters are documented /boot/overlays/README
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
[pi4]
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
[all]
#dtoverlay=vc4-fkms-v3d