-
Thread
Mehrfach Optokoppler in möglichst kompakter Bauform gesucht
überflüssig zu sein. Nachdem ich das nun noch mal überdacht habe, sieht das Konzept nun so aus: Ein MCP23017 soll acht Ausgänge (P-Mosfets) schalten. Diese sollen galvanisch voneinander getrennt sein. Dazu würde ich nun beispielsweise den LTV847 https://www.reichelt.de/LTV-847/3/index.html?&ACTION=3&LA
scheint in der Tat überflüssig zu > sein. Aha. Frank S. schrieb im Beitrag #4627384: > Ein MCP23017 soll acht Ausgänge (P-Mosfets) schalten. Scheinbar also deutlich mehr strom als 20mA. Welche Spannung ist denn zu isolieren für deine galvanische Trennung ? Wie wäre denn ein AQS221FR2S
-
Thread
MCP23008 Taster entprellen
den interrupt Ausgang des MCP23008 genutzt, um diesen als "Taster" an die Enptrell-routine zu übergeben (Der Interrupt Ausgang wird gesetzt, wenn am MCP ein Eingang gesetzt wurde und bleibt solange, bis der MCP abgefragt wurde).
Ich nutze bei einem Projekt den MCP23017, ist ja im Prinzip das selbe, nur in 16 Bit. Zwei davon werden im 10ms Raster abgefragt. Das geht ohne Probleme. An der Zeit kanns nicht liegen. Oder läuft dein uC auf einem extrem niedrigen Takt
-
Thread
230V detektieren - wenig Verlustleistung, wenig Bauteile
Hi, ich entwerfe gerade eine Relais Platine mit 32 Relais (24 V -> 230V, angesteuert mit MCP23017/ULN2803). Nun möchte ich zur zusätzlichen Überwachung (Relais defekt/Kontakt klebt) an jedem Relais eine 230V Erkennung implementieren und hab bei meiner Such nach geeigneten Schaltungen eine
-
Thread
MCP23017 und UDN2981
Hallo Zusammen, ich möchte für die Ansteuerung einer kleinen Relaiskarte eine Kombination von MCP23017 und UDN2981 verwenden. Mir ist allerdings nicht klar, ob ich wie im angehangenen Schaltbild zu sehen ist, Widerstände zwischen den MCP23017 Ports und dem UDN2981 Eingängen benötige und wenn
-
Thread
MCP23017 I2C Geschwindigkeitsmodi
Hallo Gemeinde, MCP23017 Datenblatt ist irgendwie unklar. Für I2C-Bus werden 3 verschiedene Geschwindigkeitsmodi erwähnt: 100kHz, 400kHz & 1.7MHz und für alle Modi sind verschiedene Bustiming-Parametern angegeben. Muss man dann ein Modus "wählen"? Wie wählt man ein Modus? Wenn alle MCP23017 ICs den Betrieb @1.7MHz unterstützen, die würden die niedrigere Taktraten auch unterstützen: Wozu sind diese Modi? Beste Grüße...
-
Thread
hd44780 LCD, Gpio, i2c, lib, Funktionenkonflickt
die Teilaufgaben. Zb. das SainsMart RGB-LCD-Keypad hat ja ein normales hd44780 display und einen MCP23017 I2C Gpio. So besteht die Hardware aus mehreren Objekten die alle nur genau ihren Teil beitragen und direkt miteinander kommunizieren. Dabei weiss das MCP23017 Objekt nicht, was es steuert. Und
-
Thread
128 Displays simultan ansteuern
die optimale wäre. Ich habe ja am I2C Bus nur die Möglichkeit, 8 verschiedene Adressen anzusteuern (mcp23017, PCF8574, etc.)...wie kann ich da auf 128 individuelle Adressen kommen? Die besagten Oled-Displays haben ja auch nur die Möglichkeit rückseitig per Jumper zwischen zwei Adressen zu wechseln. Letzteres
Timing vom LIN-Master bekommen, der einen Quarz braucht. Da würde es dann schon ein PIC16F1618 plus ein MCP2003B Transceiver für zusammen etwa 1€ als Slave ausreichen - Quarz entfällt hier. In der AVR-Welt gibts ähnliches, aber die meisten AVR-UARTS haben keinen LIN-Support. Im direkten Vergleich ist die
-
Thread
Routingprobleme EagleCad
Ohnen Berücksichtigung von Masseflächen, EMV, etc.: Links unten: MCP_PIN12_I2C-SCL_SPI-SCK höher legen und dann unten verbinden. Links oben: Mit Vias durchziehen.
@ La. Wi. (flyingeagle) > MCP23017_Driver_01F_C6.png https://www.mikrocontroller.net/articles/Richtiges_Designen_von_Platinenlayouts#Vorgehen_bei_der_Layouterstellung Vergiss die Masseflächen, mach es richtig. Was die DRC
-
Thread
USB-Schachbrett selber bauen
Beitrag #4510797: > Mit Schieberegistern, wie bereits gesagt. Ich habe da eher die I2C-Busse mit dem MCP23017 im Sinn. Siehe hier: http://www.netzmafia.de/skripten/hardware/RasPi/Projekt-IO-Expander/ Weiß allerdings noch nicht, ob die Schaltung auch mit Reeds (als Eingang) funktioniert.
-
Thread
LCD ansteuerung mit einem ATMega16 und I2C
Programmierprofi, aber bei der Pinzuordnung stimmt was nicht. E und RS liegen lt. Schaltplan auch auf PortB des MCP23017. [c] // LCD DB4-DB7 <--> PORTB an MCP23017 Bit GPB1-GPB4 #define LCD_PORT 0x13 //GPIOB Register Addresse des MCP23017 #define LCD_DDR 0x01 // IODIRB Register addresse des MCP23017
aber bei der Pinzuordnung stimmt > was > nicht. E und RS liegen lt. Schaltplan auch auf PortB des MCP23017. > // LCD DB4-DB7 <--> PORTB an MCP23017 Bit GPB1-GPB4 > #define LCD_PORT 0x13 //GPIOB Register Addresse des MCP23017 > #define LCD_DDR 0x01 // IODIRB Register addresse des MCP23017
-
Thread
Arduino: LCD an MCP23017
Hast Du Dir denn schon einmal das Datenblatt des MCP23017 angeschaut? Du musst in Deiner Lib für das Display die write-Routinen so ändern, dass die Zugriffe über den MCP23017 gemacht werden.
hab ich von hier: http://4.bp.blogspot.com/-M9KQCOFQns4/UwC1LEMnN2I/AAAAAAAAAtY/ZEH_DU08DNM/s1600/mcp23017+display_bb.png LG!
-
Thread
Problem mit dem MCP23017
Hallo Leute, Ich bräuchte ein wenig Hilfe mit meinem MCP23017 Portexpander. Ich habe versucht, in Kombination mit einem Arduino, den MCP als Ausgang zu beutzen. Das hat so auch funktioniert, bis auf eine Merkwürdige Begebenheit: Lasse ich Anschluss 7 blinken
://www.arduino-projekte.de //Librarys einbinden #include <Wire.h> #include "Adafruit_MCP23017.h" Adafruit_MCP23017 mcp; //Eine For-Schleife, um alle Pins von 0 - 16 als Ausgänge zu definieren void setup() { mcp.begin(); // use default address 0 for (int i=0;i<=16;i++
-
Thread
I2C/1-Wire Motortreiber gesucht
MCP23017 & 6 Transen? Zuviel Aufwand?
-
Thread
Mehrere AVR/ATMEGA an Raspberry Pi2 betreiben
Gehen wir mal davon aus das ich den I2C-Bus nehmen möchte. Ich habe schon eine Schaltung mit dem MCP23017 aufgebaut und dort ist mir bekannt wie ich dem Baustein die Adresse gebe wo er sich angesprochen fühlt. Aber beim ATMEGA finde ich eine solche Einstellmöglichkeit nicht. Oder muss das bei der
-
Thread
Maximale Geschwindigkeit von einem MCP23017?
Bus Speed mit dem ich dann an den MCP23017 senden kann?
Was soll denn an den MCP23017 angeschlossen werden?
-
Thread
Adressierung von MCP23017 via DIP Switch
Hallo Zusammen, ich verwende einen MCP23017 welcher 3 Adresspins hat. Um auf einer Platine nachher eine Adresse einstellen zu können möchte ich einen DIP Schalter verwenden. Jetzt ist die Frage wie ich den DIP-Switch anschließe ohne
-
Thread
Bytes sortieren - Visual C#
*/ // Info_Tmp = readGPIOAB(MCP23017_II); // read MCP23017 II // sprintf(Buffer, "%u ", Info_Tmp); // Integer to ASCII // uart_puts(Buffer); // UART out // uart_puts("\n"); // // /* read the 16 Input Bit´s from Chip three */ // Info_Tmp = readGPIOAB(MCP23017_III); // read MCP23017 III // sprintf(Buffer, "%u ", Info_Tmp); // Integer to ASCII // uart_puts(Buffer); // UART out // uart_puts("\n"); // // /* read the Sensors direct
-
Thread
VFD-Treiber richtig ansteuern
gefundenen VFD-Röhren ist noch diskret, wird aber dahingehend geändert. Vermutlich werde ich einen MCP23017 als Schieberegister nehmen, liegt hier noch rum. Ach ja: Heizung macht ein LM317, eine Schottky-Diode macht aus den 1,25V des LM317 ca. 0,9V für meine Röhren. Ein China-StepDown liegt hier
-
Thread
Frage zur Beschaltung eines PCF 8574T
ich auch, was er damit sagen wollte. Was wäre sinnvoller? Den PCF8574 gegen den vorgeschlagenen MCP23017 zu tauschen oder den Gatewiderstand ganz weg zu lassen und statt dessen einen Pullup zu installieren? Frank
auch, was er damit sagen wollte. > > Was wäre sinnvoller? Den PCF8574 gegen den vorgeschlagenen MCP23017 zu > tauschen oder den Gatewiderstand ganz weg zu lassen und statt dessen > einen Pullup zu installieren? Den Gatewiderstand lässt Du nicht weg. Ich würde ihn kleiner machen, so 22Ω. Dann
-
Thread
Problem MCP23S17 und avr-gcc
mcp_write(0, MCP_IODIRB, 0xff); // GPIOB Eingang mcp_write(0, MCP_GPPUA, 0xff); // PullUp aktiv // MCP23S17 #2 mcp_write(1, MCP_IOCONA, 0x28); // default: BANK = 0, MCP_SEQOP = 1, MCP_HAEN =
Hardware Adresse, welche einstellbar über A0 - A2 ist, genutzt werden. Deshalb CS zusammen. [c] mcp_write(1, MCP_IOCONA, 0x28); // default: BANK = 0, MCP_SEQOP = 1, MCP_HAEN = 1[/c] [quote] bit 3 HAEN: Hardware Address Enable bit (MCP23S17 only). Address pins are always enabled on MCP23017. 1
-
Thread
MCP23S17 als DIL Version wird teuerer warum?
jetzt 1,30 Euro. Vor Monaten bereits durchbach das das abgekündigte PCF8574 die 2 Euro Mauer. MCP23S17 und sein I2C-Bruder MCP23017 scheinen die neuen Kandidaten zu sein. Und das vor dem Hintergrund immer billiger werdender China-Importe. Weiß darüber jemand mehr? mit freundlichem Gruß
beantworten, ob es vor Jahren klug gewesen wäre NE567, XR2206, XR2209, 8038, AD584, TSA5511, PCF8574, MCP23017 und MCP23S17 zu horten oder ob man froh sein sollte, es nicht gemacht zu haben. Werde mich mal an "Supersaurus" wenden. Der paßt schon nicht mehr aufs Bild.
-
Thread
OOP Modelierung I2C Bus
Lichtsteuerung mit dem Raspberry Pi aufzubauen. Hardwaremäßig sind dabei 30 Stromstoßrelais an vier MCP23017 Portexpandern angeschlossen. Pro Portexpander sind es jeweils 8 Schaltausgänge und 8 Rückmeldekontakte. Nun stellt sich mir die Frage, wie ich das Ganze sinnvoll in Objekte verpacke, da ich
Adresse und Status, sowie den Methoden an und aus. Lese ich dann in der Klasse Lampe den entsprechenden MCP via dem I2C-Bus aus und verwerfe die restlichen sieben Bits (Der MCP liefert ja den Wert für einen kompletten Port zurück). Oder gibt es eine Klasse I2C-Bus die alles händelt und dann die Daten über
-
Thread
ESP-Baseboard auf Proto-Shield
Ich habe noch 2 Portexpander-IC auf Adapter-LP gelegt: -mcp23017 16-bit I2C http://www.conrad.de/ce/de/product/651441/Linear-IC-MCP23017-ESS-SSOP-28-Microchip-Technology-Ausfuehrung-IO-EXPANDER-I2C-16B?ref=searchDetail und den -mcp23s17 16-bit SPI http://www.conrad.de/ce/de/product/651445/Linear-IC-MCP23S17-ESS-SSOP-28-Microchip-Technology-Ausfuehrung-IO-EXPANDER-SPI-16B?ref=searchDetail auf 0,5 mm einseitigem Epoxy mit den Steckleisten: http://www.conrad.de/ce/de/product/741386/Praezisions-Buchsenleiste-RM
-
Thread
CAN Node multifunktional für Hausbus
sein, bspw. kaskadierte IO Platinen die in Kette verbunden werden und per SPI angesteuert werden (MCP 23017 o.ä. da hab ich aber noch keinen Plan wegen der 24V Beschaltung etc... Vl auch IC Haus...) Die Verkabelung soll dann physikalisch Strang, logisch Stern sein. D.h. ich kann 2 Adern für Versorgung
LPC11C24 5V für den CAN-Transceiver benötigt. Die Versorgung des LPC übernimmt ein nachgeschalteter LDO MCP1700. Der R-78E5.0-05 hat eine max. Eingangsspannung von 28V. Verkabelt habe ich alle Nodes mit EIB-Kabel (+24V, GND, CANL, CANH, Shild). Z.B. Relais (bistabil, auch in der Dose) werden dann direkt mit
-
Thread
Schieberegister für SPI?
>MCP29017 Äh, falsch, sollte MCP23017 lauten ;)
>Äh, falsch, sollte MCP23017 lauten ;) Und nochmal falsch, das ist der mit I2C. MCP23S17 für SPI.
-
Thread
12 Volt 0,6 Ampere mit Raspberry und Mosfet schalten
Michael T. schrieb im Beitrag #4179026: > Kann die so funktionieren? Nein! Der MCP23017 möchte auch noch eine Verbindung der Versorgungsspannung zu GND. Der MCP23017 möchte noch einen 100nF Kondensator ganz nahe an der Versorgung. Eine Freilaufdiode direkt am Relais feht!
-
Thread
STM32 I2C Probleme
Vorbereitung auf mein nächstes Projekt den I2C Bus verwenden. Als Einstieg hab ich drei LED's an den MCP23017 Port Expander gehängt und möchte die zum leuchten bringen. Allerdrings scheitert es wohl schon am richtigen Initialisieren vom I2C Bus. Ich möchte den I2C_2 Bus nehmen an PinA09 und PinA10. Ich
0xFFFF0000; //Alle LED's ausschalten while(1) // Endlos SChleife { I2C_WrReg(GPIOB_MCP,0x01); Delay(1000000); I2C_WrReg(GPIOB_MCP,0x00); } } void InitI2C_2(void) { GPIO_InitTypeDef GPIO_InitStruct; I2C_InitTypeDef I2C_InitStruct; RCC_I2CCLKConfig(RCC_I2C2CLK_SYSCLK
-
Thread
Liste von I2C Bausteinen
Temp-Sensor :DS1621 UKW-Stereo-Radio :TEA5767 Doch es gibt noch viele andere interessante Bausteine wie MCP23017 :16Bit IO-Expander mit Interruptfähigkeit 24AA64 :64K-Bit EEPROM Wenn man nach einer Liste der I2C-Bausteine sucht, findet man Listen mit eher wenig alten Chips. In denen meine Chips schonmal
DS1621 > UKW-Stereo-Radio :TEA5767 > > Doch es gibt noch viele andere interessante Bausteine wie > MCP23017 :16Bit IO-Expander mit Interruptfähigkeit > 24AA64 :64K-Bit EEPROM > > Wenn man nach einer Liste der I2C-Bausteine sucht, findet man Listen mit > eher wenig alten Chips. > In denen meine
-
Thread
Arduino: MCP23017 mit anderen Libraries kombinieren
Servus, zur Zeit bastele ich mit dem Arduino Uno und nutze den MCP23017 als Port Expander (angeschlossen über den I2C). Um den MCP zu Inputs/Outputs zu bewegen, nutze ich die Adafruit Library. Mein Problem ist die Verknüpfung mit anderen Libraries. Also zum Beispiel die Anbindung von einem Schrittmotor über den MCP an den Arduino (benutze den ULN2003A und schon bestehende Libraries dafür). Hat jemand Erfahrung damit? Mein Ansatz wäre es die Libraries anzupassen, aber das ist ja doch mit einiger Arbeit verbunden
-
Thread
MCP23017 und Stromstoßrelais AC
Wechselspannung) wollte ich fragen, was ich zwischen den MCP23017 und die Stromstoßrelais bauen muss Vielen Dank Michael
Der Thread ist zwar schon eine Weile alt aber besser spät als nie: Ich hab den MCP23017 auch so verschaltet und es funktioniert, allerdigs ohne den 180Ohm Widerstand. Wofür ist der angedacht ? Zur Strombegrenzung? Der MCP23017 hat ohne hin einen sehr kleinen Ausgangsstrom an den GPIOs
-
Thread
PCA9685 LEDs glimmen
ein glimmen der LEDs sichtbar (alle). Nicht mehr ganz so stark...aber immer noch störend. 3.) Ein MCP23017 der ebenfalls am I2C Bus hängt (nur Eingänge mit Tastern) hat jetzt plötzlich die Adresse 0x27 und nicht mehr 0x20. Dort sind übringens keine Pull-Ups eingesetzt. Also hat mir das jetzt alles
Ahnung. Ich bin aber glücklich das es trotz des Spannungsunterschieds klappt. Auch den Fehler am MCP23017 (der ebenfalls am I²C Bus sitzt und plötzlich falsch Adressiert war) konnte ich finden. Ich hatte die Adress-Pins völlig vergessen an VSS anzuschließen...grmpf. Eigentlich funktioniert dadurch
-
Thread
Problem mit der AccelStepper Bibliothek
include <Adafruit_MotorShield.h> #include "utility/Adafruit_PWMServoDriver.h" #include <Adafruit_MCP23017.h> Adafruit_MotorShield AFMS(0x60); // Default address, no jumpers Adafruit_StepperMotor *myStepper1 = AFMS.getStepper(200, 1); float v = 100; // wrappers for the first motor! void forwardstep1
-
Thread
Vorschläge für ein ATXMega128A1 Entwicklungsboard
Stiftleiste - Alle nicht belegten I/O Pins auf Stiftleisten ausgeführt - Ein bis zwei I/O Expander (MCP23017) - 2 bis 4 LED's und Taster - Ein Port über Darlington Stufe, +5Volt sicher - +3.3Volt Spannungsversorgung, max. 500mA über USB und bis max. 2A über externe Spannnungsquelle - +3.7Volt Li-Ion
USB-Geräteklassen zu implementieren, als eine serielle Schnittstelle. > - Ein bis zwei I/O Expander (MCP23017) Würde ich bei einem µC mit so vielen Pins nicht standardmäßig vorsehen. Wer wirklich mehr braucht, kann die Extender doch auch extern anschließen.
-
Thread
I2C Bus Störung
Funktionierte auch ganz prima, bis ich alle möglichen Anschlüsse daran gehängt habe(2. Bild). Ab da wurde mein MCP23017(Rot eingekreist) über I2C am Raspi nichtmehr erkannt. sobald nur noch alles essentielle daran hing lief es wieder. Ich bin zu dem Schluss gekommen das alle Kabel wahrscheinlich den Bus stören
-
Thread
Fehler im Code?
Hallo, ich hatte die Tage schon mal wegen Interruptproblemen beim MCP23017 gefragt, aber keine antworten erhalten, daher habe ich mich nochmal hingesetzt und den code auf das m.e. wesentliche reduziert: [c]#include <Wire.h> #define Mcp_Reg_IODIRA 0x00 //
); inputStateB = readiicbyte(mcp, Mcp_Reg_INTCAPB); inputStateA = readiicbyte(mcp, Mcp_Reg_GPIOA); inputStateB = readiicbyte(mcp, Mcp_Reg_GPIOB); inputStateA = readiicbyte(mcp, Mcp_Reg_OLLATA); inputStateB = readiicbyte
-
Thread
MCP23017 Interruptproblem
hallo, so langsam kriege ich graue Haare, könnte mir bitte jemand mal den Weg weißen? [c]attachInterrupt(1, ISRSwitchPressed, FALLING); void ISRSwitchPressed () { digitalWrite (LEDOnBoard, HIGH); if (SwitchPressed || isInInit) return; else SwitchPressed = true; Serial.println("ISRSwitchPressed"); }[/c] ich lese danach auch die register aus, so weit ich verstanden habe muss man das, damit neue Interrupts ausgelöst werden können. [c]word Ports = readiicwordgpio (MCPs[m]); // readiicbyte(MCPs[m], Mcp_Reg_INTCAPA); // Interrupts lesen und dadurch löschen //
-
Thread
Stufentrafo und Relais mit Arduino
einer Klimasteuerung. Der Aufbau: Arduino Uno mit Sensorshield v4 LCD Display 4x16 i2c DHT22 MCP23017 Saintsmart 8-Channel 5v Relays (AC250v/10A,DC30v/10A) Stufentrafo (80-100-125-150-175-190-230v) Der MCP23017 und Display werden über den i2c Bus angefahren und funktionieren auch beide. Vom
einer Steckdose durch an der ein Lüfter hängt. Ich habe das Problem das mein Relaisboard und der MCP A-Garnicht angehen wenn Last anliegt B-Schaltet man die Last erst nach dem hochfahren des Arduino, MCP und Relais ein schaltet er den Lüfter (wie gewünscht) in mehreren Etappen hoch oder runter
-
Thread
40x SPI-Chipselect?
Leitungen vom Master-IC durchsteuern und die Messwerte dann per SPI auslesen? Mit einem Port-Extender (MCP23017 et al.) oder einem TQFP64 AVR (z.B. ATMega644 oder ATMega128) als Master-IC ist das auch machbar. Diese haben 53 frei GPIOs und können die 40 CS der Reihe nach adressieren.
Baustein? > > Gruß, > Paule Servus Paule wie mein Vorredner schon sagte, würde ich auch den MCP23S17 nehme. Der SPI Portexpander hat 2 volle 8 Bit Ports, somit hast du mit einem Baustein 16 GPIO, mit zwei 32 und mit drei 48 - das sollte dann reichen. Empfehle dir wegen Platzbedarf die SMD Variante
-
Thread
Probleme beim auslesen des MCP23017
Hallo zusammen, sitze schon die vergangenen Abende bzw. Nächte dran eine Schaltung mit I2C und dem MCP23017 in Betrieb zu nehmen. Der Master ist ein Atmega 32 mit 16MHz Quarz. Ein Slave ist ein Atmega 8 mit internem Takt 1 MHz und ein weiterer Slave ist der MCP23017. Pullups liegen bei 1kOhm (10k
http://www.mikrocontroller.net/topic/87597 Aus diesen Funktionen habe ich mir die angehängten MCP23017.h und .c gebastelt. Kann es zu Problemen kommen, wenn ich die vorgefertigten Master und Slave includes aus dem genannten Beitrag verwende? Sind diese dafür geeignet? Gleich vorweg: ein Oszi
-
Thread
Denkfehler mit PCA9536 (Problem)
PCA9554 nicht zu schlecht. Ich habe auch schon mit der 16-Bit SPI-Version vom MCP23017 gearbeitet und der ist tatsächlich recht brauchbar. Funktioniert Dein PCA9536 schon beim Output setzen der Pins? Gerhard
Wir hatten doch dann auch mal zusammen was zu tun gehabt. Ich hatte ja die lib von falk auf den Mcp23008 umgeschrieben... Oder verwechsle ich dich gerade mit jemand anderem? Vg, Bülent
-
Thread
Portpin an 230V
detektieren. Der Portpin kann z.B. an einem Mikrokontroller, dem raspberry pi oder einem i2c Portexpander (MCP23017,PCF8574) sein. Ist diese Schaltung so ok, oder habe ich einen Denkfehler gemacht oder was übersehen? BTW: Ich verwende den BC337-40 als Standard Schalttransistor. Der hat ein hFE von
-
Thread
HD44870 with I2C expander PCF8574X or similar
noch 5 oder 6 Taster > anschließen (z.B. ein Steuerkreuz aus 5 Navimec-Tastern) Der Microchip MCP23017 ist oft günstiger zu bekommen und hat auch die benötigten Fähigkeiten. fchk