-
Artikel
I2C als Hausbus
vom Preis und der Beschaffbarkeit ;) - PCA9600 Gibts nun bei Reichelt!) Der Hauptunterschied zwischen P82B96 und PCA9600 sind die Spannungspegel an der Sx/Sy Seite des ICs. Der P82B96 kann diese Pins bei einem low-Signal nicht weiter als 0,88V nach unten ziehen (I2C kompatibel, nicht TTL kompatibel). Der verbesserte PCA9600 kann bis auf 0,74V herunter ziehen (I2C und TTL kompatibel). Des weiteren hat der PCA weniger Laufzeitverzögerung und ist bis zu 1MHz Bustakt spezifiziert. Der P82B96 (und PCA9600) verhindert eine
-
Thread
Micropython und Esp32 statt Arduino ?
Schifflein : Mangels ausreichend vieler UARTs decodiere ich bei einem Projekt den RS232-Strom selber. Bei 9600 Baud 104 us Periode. Mitten im Bit getastet sind das 50 us Phase mit vielleicht 10 us erlaubtem Jitter. Oder einfach die Servos : Simple PPM-Ansteuerung, aber wenn das jittet, fliest da dauernd Strom
Hardware-Timer geht es nicht. Sei Froh, dass der ESP32 diesen RMT hat. Der ESP8266 hat keinen. Kennst du den PCA9685? Der ist zur Ansteuerung von Servos prima geeignet, und er hat 12 Kanäle!
-
Thread
Viele Drucktaster und LEDs ansteuern
sind. Die LEDs würde ich zwecks EMV statisch ansteuern, mit LED-Treibern wie z.B. IS31FL3265A oder PCA9955. Das ist immer noch per I2C, aber Daten werden nur bei Änderungen übertragen. Bonus: programmierbarer Konstantstrom (Signale nachts dunkler), Diagnose gegen Kurzschlüsse und Unterbrechungen, I2C
der Anlage einen ATmega8 (als Slave), die mit dem Main-Controller über I2C mit Bus-Treibern vom Typ PCA9600 kommunizieren. Das geht mit 6-adrigem Flachband-Kabel über 15 Meter mit 50Kbit/s ohne Probleme.
-
Thread
Stromsensor stabilisieren ACS712x
justieren und es gibt reichlich Libs dafür. Ich habe damals einen INA226 und einen Pegelwandler (PCA9600) auf eine kleine Platine gesetzt und direkt an einem 75mV 100A Shunt verbaut. Auf meiner Auswerteplatine war der uC und ebenfalls ein PCA9600, der den Pegel wieder zurückübersetzt hat. Die Strecke
-
Thread
Mehrere ATmegas über RS422 (MAX 488) verbinden.
professionellen Gebäudeautomation (mit der z.B. Krankenhäuser, Bürogebäude etc. gesteuert werden) sind 9600 Baud weit verbreitet. Und damit können Busleitungen von mehreren hundert Meter Länge völlig problemlos beliebig wild verkabelt werden, und das auch bei > 50 Slaves am Bus.
schrieb im Beitrag #7563847: > Was ist jetzt in dem Sinne die Hardware? Der Transceiver (z.B. > PCA82C251, Max305x) ist ja strunzdumm und macht nur physikalischen Bus. Ja, das macht der CAN-Controller. Benjamin K. schrieb im Beitrag #7563847: > Die Atmega88 werden kein CAN können, bzw nur als
-
Thread
kennt jemand sich aus mit MC23017 IO-Board
> PCA 9685 https://www.nxp.com/products/power-management/lighting-driver-and-controller-ics/led-controllers/16-channel-12-bit-pwm-fm-plus-ic-bus-led-controller:PCA9685 Da sind 6 Adresseingänge, wenn die
ich schon x-mal in anderen Sketchen benutzt habe.. langsam nervt mich der mcp.. hab hier noch PCA 9548 liegen, ist sowas ähnliches wie der mcp.. hab ich damit mehr Glück ?
-
Thread
WS2812b über PCA9685 an Arduino?
zum Flackern bringen. Da es eben sehr viele sind und das Projekt ziemlich groß ist, wollte ich einen PCA9685 an den Arduino anhängen und an die Pins des PCA je 5 WS2812b anschließen. Das könnte ja theoretisch nach bedarf jederzeit mit einem oder mehreren weiteren PCA ergänzt werden. Ich habe dafür bereits
LED_COUNT 1 Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver(); // Erstellen Sie eine Instanz des PCA9685-Chips Adafruit_NeoPixel strip(LED_COUNT, 0, NEO_GRB + NEO_KHZ800); void setup() { Serial.begin(9600); // Starten Sie die serielle Kommunikation pwm.begin(); // Starten Sie den PCA9685
-
Thread
Verfügbarer Bidirektionaler Pegelwandler 5V - 3,3V
products/detail/nxp-usa-inc/NVT2002DP-118/2355938 * https://www.digikey.de/en/products/detail/onsemi/PCA9306USG/2652014
Patrick L. schrieb im Beitrag #7287186: > Die "[V] .Dual bidirectional PCA9306 I2C-bus and SMBus voltage-level > translator (30St/10€)" von Roger P, wurden leider bereits verkauft. Gibt es auch bei Reichelt. (Der PCA9306 enthält aber auch nur drei MOSFETs.) Veit D.
-
Thread
mal wieder: Arduino Klasse in Klasse - bitte Hilfe!
in einem anderen Thread schrieb, möchte ich die LEDs in Tastern mit Hilfe des I2C-Servocontrollers PCA9685 ansteuern. Während ein estes Testprogramm ohne eigene Klasse problemlos läuft, hat die Version mit meiner Klasse ein merkwürdiges Problem: Es gibt beim Compilieren keinen Syntaxerror, aber es passiert
kann einen LA an I2C anschliessen. Man sieht auch das auf dem Bus etwas zyklisch rauskommt, aber der PCA ist nicht da und entsprechend gibt es NAK auf dem Bus. https://wokwi.com/projects/346672212853391955 Ist es also das simple Problem das die Abschlusswiderstände am Bus fehlen?
-
Thread
Teensy 4.0 I²C-Kommunikation
Signale für Deine Glasfaser zu machen, brauchst Du das hier: https://www.nxp.com/docs/en/data-sheet/PCA9600.pdf Damit hast Du nacher 4 Fasern, jeweils zwei in jede Richtung. fchk
-
Thread
µC / I²C / Port Expander Potenziale entkoppeln
12 beschrieben. https://www.reichelt.de/index.html?ACTION=7&LA=3&OPEN=0&INDEX=0&FILENAME=A200%2FDS_PCA9600.pdf Ich würde die Trennung weiter Richtung Last setzen. Gruß Carsten
-
Thread
PWM Chaos mit Arduino und PCA9685
Streifen mit einem Arduino Dimmen. Da mir die PWM Pins des Arduinos nicht ausreichen habe ich mir das PCA9685 Board von Az-Delivery geholt (https://www.az-delivery.de/products/pca9685-servotreiber). mit dem wollte ich dann MOSFETS ansteuern. Nun habe ich das Problem, dass ich nicht weiß wie ich das Projekt
Marcel V. schrieb im Beitrag #7109890: > Ich habe das PCA Board an SCL, CLA, V+ Der PCA und seine Pullup werden von/über Vcc versorgt. Es gibt keine Verbindung zwischen V+ und Vcc
-
Thread
Einfacherer I2C Buffer gesucht
den EN-Pin einsparen und zu einem 6-poligen Gehäuse wechseln. Der Gewinn wäre minimal. Auch der PCA9600 vom Erfinder des I2C verwendet 8 Pins, führt dann aber RX und TX auf der Kabelseite getrennt raus. https://www.nxp.com/products/interfaces/ic-spi-serial-interface-devices/ic-bus-repeaters-hubs-extenders
, weil der PCA9615 ja quasi das gleiche macht aber dediziert für I2C ist.
-
Thread
Weichensteuerung für Modelleisenbahn mit Arduino, Raspberry Pi und MQTT Server
Modul des Bahnhofs befindet sich ein Arduino mit Ethernet Shield -an diese Arduinos ist jeweils ein PCA9685 PWM Servo Controller angeschlossen -dieser Servocontroller steuert logischerweise Servomotoren welche schlussendlich das eigentliche Stellen der Weichen übernehmen -ein Raspberry Pi soll die Tastendrücke
interessiert. Main: [c]#include "HCPCA9685.h" #include "SETUP.h" void setup() { Serial.begin(9600); ethernetSetup(); mqttSetup(); PWMSetup(); // put your setup code here, to run once: } void loop() { // put your main code here, to run repeatedly: mqttLoop(); } [/c
-
Thread
I²C gestört - Verdrillen
:PCA9600 Hat jemand Erfahrungen damit? Idealerweise wird das Ding ja einfach Plug&Play dazwischen geschaltet, oder?
ich das richtig verstanden habe). > > Der PCA9600 ist eine vereinfachte Version, der eigentlich meinen Zweck > voll erfüllen könnte. Äh, nein. Da bekommst Du keinen differentiellen Bus raus. Der PCA9600 wandelt die bidirektionalen Open Collector
-
Thread
RS485 galvanische Trennung?
ausreichend. Immer nur so gut wie nötig entwickeln und nicht wie maximal möglich. Auch bei den alten PCA82C251 habe ich den Widerstand für Slope control immer auf 0 Ohm gesetzt und keine Probleme mit CE gehabt.
Transceiver sind alle Slew-Rate begrenzte MAX483. Die Länge der Leitung ist 70m und die Datenrate ist 9600, N,8,1. Die Sternteilnehmer sind zum Teil nach der 70m Hauptleitung bis zu 5m auseinander. Jeder Busteilnehmer hat eine eigene nur einmal vorkommende Teilnehmer Adresse. Unadressierte Busteilnehmer
-
Thread
[I2C] Bus abkoppeln
in der Skizze, also nur je 1 MCP und nur der RPi hinter seinem eigenen Bustreiber, dann könnte der PCA9600 als Bustreiber den P82B715 ersetzen. Der ist innen drin völlig anders aufgebaut, mit dem Nachteil, dass er nur in so einfachen Anwendungen funktioniert. Aber mit dem entscheidenden Vorteil, dass er ohne VCC den Bus nicht blockiert. Das PCA9600-Datenblatt ist allerdings etwas für lange Winterabende. Ich hoffe, ich hab' nichts übersehen. Bleiben noch die Pull-Up am Bus. In einem CAT-7 Kabel sind doch 8 Adern, evt. kann man die Pull-Up
-
Thread
24 V Inputs auf seriell etc.
Layout). Auf diesen Modulen habe ich optional einen LongRange-I2C implementiert, der über den PCA9600 + CAN-Transceiver eine stabile Übertragung des I2C bei 400 kHz über mehr als 50 m unterstützt. Wenn du Interesse hast, dann kann ich dir z. B. die Leiterplatten schicken. Ist zwar auch SMD drauf
-
Thread
Daten aus I2C zum PC, grosse Distanz
Ich habe mir mal die Lösungen mit PCA9600 und CAN angesehen, und auch mit den Leuten vom Förderverein bzw dem Institut telefoniert. Aber: 1. PCA9600 plus CAN etc ist zwar auf den 1. Blick schön (denb PCA9600 kannte ich noch nicht),
Harald schrieb im Beitrag #6122366: > Ich habe mir mal die Lösungen mit PCA9600 und CAN angesehen, und auch > mit den Leuten vom Förderverein bzw dem Institut telefoniert. > > Aber: 1. PCA9600 plus CAN etc ist zwar auf den 1. Blick schön (denb > PCA9600 kannte ich noch
-
Thread
RS485 Abschlusswiderstand nötig bei 2 Devices?
gar nicht bei 9600 Baud. Bei anderen Protokollen und vor allem bei höheren Baudraten wird das zunehmend ein Problem. 100 Mbit Ethernet geht bei 35m ohne Abschlußwiderstände nicht, denn dort überlagern sich die Reflektionen
wenn man die Kabel vertauscht. CAN ist da robuster, da sind bis +/-36V auf den Datenpins erlaubt (PCA82C251).
-
Thread
AD-Wandler von AT89C51: Impulsbreite mit zwei Potis einstellen
* Initialisierung der seriellen Schnittstelle 0 des CC03ers */ /* Schnittstellenparameter: 9600Baud, 8 Datenbit, 1 Stopp-Bit*/ /* asynchroner Betrieb */ /**************************************************************/ SCON=0x52; TMOD
Schleife genau n*1µs dauert und alle anderen Programmteile nichts dauern? Nimm doch einfach das PCA und setze das Vergleichsregister (CCAPnH,CCAPnL) bei jedem Interrupt auf die gewünschte Zeit. Das PCA kann auch Pins direkt togglen (P1.3-P1.7) oder Du machst es auch im Interrupt. Den ADC kann man
-
Thread
Eigenentwicklung Ersatzplatine Drucksensorboard für Pluggit
float Sensor2=0.0; int PWM1=0; int PWM2=0; void setup() { Wire.begin(); Serial.begin(9600); } void loop() { multiplexer(0); // Schalte I2C-Multiplexer PCA9540B auf Kanal0 (Sensor1) Sensor1=SDPlesen(); // Drucksensor1 lesen multiplexer
I2C-Multiplexer PCA9540B auf Kanal0 (Sensor1) Sensor1=(Sensor1+SDP810lesen())/2.0; // Drucksensor1 lesen und Dämpfung multiplexer(1); // Schalte I2C-Multiplexer PCA9540B auf Kanal1
-
Thread
STM32 HAL_SPI Problem: MOSI immer HIGH
-----------------------------------------------------*/ /* USER CODE BEGIN Includes */ #include "PCA9685.h" #include "MCP23S17.h" #include "nextion.h" #include "pwm.h" /* USER CODE END Includes */ /* Private typedef -----------------------------------------------------------*/ /* USER CODE
*/ /* USER CODE END USART1_Init 1 */ huart1.Instance = USART1; huart1.Init.BaudRate = 9600; huart1.Init.WordLength = UART_WORDLENGTH_8B; huart1.Init.StopBits = UART_STOPBITS_1; huart1.Init.Parity = UART_PARITY_NONE; huart1.Init.Mode = UART_MODE_TX_RX; huart1.Init.HwFlowCtl
-
Thread
Level Shifter selbst bauen, ESP8266, I2C, Bi-Direktional - Welcher MOSFET?
wodurch der MOSFET anschaltet, und am Source dann auch ungefähr 0 V ist. > Verwende lieber einen PCA9306, den liefert saubere Signalpegel. Der PCA9306 benutzt auch nur MOSFETs. Details siehe http://www.ti.com/lit/pdf/slva675.
habe mir die Signale auf dem Oszilloskop angeschaut. Der NXT kommuniziert übrigens mit extra lahmen 9600 Hz an SCL.
-
Thread
-
Thread
Frage zu MSP430 Dokumentation für Einstieg
Dann kommt die RTC dran. Später noch ein I2C LCD Character Display und ein Port Expander mit dem PCA9554.. Mir gefällt der uC trotz aller Schwierigkeiten die es gab. Das FRAM ist eine feine Sache. Der Debugger benimmt sich nun. Ist Deine Bord schon angekommen? Gerhard
genauso so leicht steuern als ob sie ein Bestandteil des uC wären. Z.B. die internen Register eines PCA9554 sind dann als X-Reg 10... zugänglich. (z.B. PCA9554 Register: X10=Input Port Register, X11=Output Port Register, X12=Polarity Inv. reg., X13=Configuration register). Ist dann total transparent
-
Thread
zwei mega328 über 10m Kabel miteiander kommunizieren lassen
Interessant, den PCA9600 kannte ich noch nicht. Der hat Leistungsstarke Treiber, damit könnte man sogar ordentlich terminieren.
@Stefanus: Hinter den PCA9600 kannste dann noch CAN Transceiver hängen. Dann geht die Party erst richtig ab.
-
Thread
Vibrationsmessung MPU 6050
Wire.write(0); // set to zero (wakes up the MPU-6050) Wire.endTransmission(true); Serial.begin(9600); pixels.begin(); // This initializes the NeoPixel library. } void loop(){ Wire.beginTransmission(MPU_addr); Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H)
vielleicht DWT rechnen. Falls du die Richtung auch brauchst, puh, vielleicht kann man ja was mit ner PCA machen, also SVD auf eine Matrix an Messwerten? Oder PCA auf die absoluten FFT Ergebnisse in alle Richtungen? Oder meinst du wie man die Gesundheitsgefaehrdung von Vibrationen bestimmt? Gibt es das
-
Thread
PCA9600 Extender
I²C = TWI in AVR-Sprechweise. Sechs Meter gehen ohne PCA9600.
Brauche ich nur einen PCA9600 auf dieser Platine und verbinde die „Low“ Seite mit allen fünf AVR‘s? Ja. Und einen auf der Masterseite. Der PCA9600 bringt aber nur etwas, wenn dir eine höhere Spannung (ca 12V) zur Verfügung
-
Thread
Meine Erfahrungen zum I2C Level Shifting per TCA 9509 und weitere Fragen
long communications cables https://www.nxp.com/docs/en/application-note/AN10658.pdf Datenblatt PCA9600 (Tab.7 p.14): http://www.nxp.com/documents/data_sheet/PCA9600.pdf
communications > cables > https://www.nxp.com/docs/en/application-note/AN10658.pdf > > Datenblatt PCA9600 (Tab.7 p.14): > http://www.nxp.com/documents/data_sheet/PCA9600.pdf Hallo Wolfgang, das war der richtige Tip (im PCA9600.pdf): Fig 18. I2C-bus multipoint application sagt: "...no