Ich hab solche MCP2515 CAN-Bus Module im Einsatz, aber die letzte Bestellung aus China funktioniert nicht wie erwartet. Liegt wohl daran dass ich die Module mit 3v3 vom ESP32 versorge. Der INT hat einen 10k Pull-up aber liegt dauerhaft auf GND. Deswegen werden auch keine Nachrichten abgeholt. Mit den optisch gleichen Modulen aus der alten Bestellung funktioniert es. Kann ich einfach den CAN Transceiver austauschen gegen einen SN65HVD230D oder sollte das Modul mit 5v versorgt werden? https://www.az-delivery.de/en/products/mcp2515-can-bus-modul https://www.aliexpress.com/item/1005008333144061.html
:
Bearbeitet durch User
Der MCP2515 kann beides, aber der TJA1050 will 5V sehen. Wenn deine alten Module die gleichen Chips haben hast du arg Glück das die gehen, denn du bist definitiv außerhalb der Specs.
Jens M. schrieb: > hast du arg Glück das die gehen Nein! Sondern: "hast du arg Glück dass die gehen" Jens M. schrieb: > denn du bist definitiv außerhalb der Specs. Kannst du das auch begründen?
Es gibt auch ein CAN-Modul mit dem MCP2515, das zwar mit 5 V betrieben wird, aber die separate Einspeisung der I/O-Spannung ermöglicht. Bei Reichelt kostet es etwas über 11 €. Bei AliExpress habe ich ein solches Modul bisher nicht gefunden. https://www.reichelt.de/de/de/shop/produkt/entwicklerboards_-_can-modul_mcp2562-239277
Alexander schrieb: > aber die letzte > Bestellung aus China funktioniert nicht wie erwartet. Das versteht kein Schwein. Warum soviel Ärger einhandeln wenn man für wenig mehr Geld die Module in Deutschland kaufen kann? Beim deutschen Händler könntest du die Teile einfach zurück- schicken, beim Chinesen wird das echt Äggdschn. Aber es besteht für Käufe in Deutschland die Chance dass die Module einwandfrei funktionieren.
Beitrag #8073519 wurde von einem Moderator gelöscht.
Alexander schrieb: > Kann ich einfach den CAN Transceiver austauschen gegen einen SN65HVD230D Been there, done that. Hat bei mir funktioniert. Du musst halt schauen, was die sonstigen Pins an deinem CAN-Treiber machen und wie die auf der Platine belegt sind. (Pin 5 und 8)
Jens M. schrieb: > Der MCP2515 kann beides, aber der TJA1050 will 5V sehen. Ja da hatte ich wohl nur Glück. War irgendwie der Meinung das auf den alten TJA1051T/3 drauf wären, aber selbst die benötigen ja 5V. Wastl schrieb: > Warum soviel Ärger einhandeln wenn > man für wenig mehr Geld die Module in Deutschland kaufen kann? Inkl. Versand € 5,19 für 5x Stück, kann man nichts falsch machen. Mit 5V funktionieren die auch. Der ESP32 ist an den VSPI Pins 5V tolerant, deswegen konnte ich das testen. Tilo R. schrieb: > (Pin 5 und 8) Bin einfach davon ausgegangen die sind pinkompatibel. Wollte nur wissen ob Widerstände geändert werden müssen. Also wenn's bei Dir funktioniert hat teste ich das auch noch mal.
Alexander schrieb: > Wastl schrieb: >> Warum soviel Ärger einhandeln wenn >> man für wenig mehr Geld die Module in Deutschland kaufen kann? > > Inkl. Versand € 5,19 für 5x Stück, kann man nichts falsch machen. Mit 5V > funktionieren die auch. Der ESP32 ist an den VSPI Pins 5V tolerant, > deswegen konnte ich das testen. Ja, aber das ist Murks. Schon mal in die Datenblätter geschaut? Auch alles verstanden? Der MCP2515 erkennt an seinen Eingangspins High, wenn die Spannung ≥ 0.7×Vcc ist. Bei Vcc=5V sind das 3.5V. Kannst Du nachrechnen. Dein ESP wird als 3.3V System niemals 3.5V an seinen Ausgangspins liefern. Wenn es funktioniert hat, dann nur zufällig. Und wenn es nur zufällig funktioniert, dann sind auch 5€ 5€ zuviel. Also muss der MCP2515 mit 3.3V versorgt werden, damit alles sauber funktioniert. Nächster Punkt: Transceiver. Ja, es gibt reine 3.3V Transceiver. Die müssen aber etwas rumtricksen. Schau: CAN ist ein 5V-Standard. Rezessiver Pegel ist VCC/2, als 2.5V auf CAN_H und CAN_L. Beim dominanten Pegel (also 0) wird CAN_L um 1V runtergezogen und CAN_H um 1V hochgezogen. Also CAN_L=1.5V und CAN_H=3.5V. Ein 3.3V Transceiver schafft aber niemals 3.5V am CAN_H. Der schafft bestenfalls 3.0V. Zu wenig. Als Ausgleich zieht er CAN_L auf 1.0V statt der normgerechten 1.5V. Ist zwar nicht wirklich konform zur ISO 11898-2, funktioniert aber meistens. Wenn ich 5V zur Verfügung habe, dann nehme ich immer Dual-Supply Transceiver wie den MCP2562(FD). Der hat 3.3V am Logikteil und 5V an der Busseite, passt also zu einem 3.3V Controller und erzeugt normgerechte Buspegel. Das ist dann alles sauber und funktioniert dann nicht nur zufällig, sondern immer. Ich bezahle lieber etwas mehr und habe dafür wirklich funktionierende Lösungen. fchk
Warum eigentlich einen MCP2515 verwenden? Der ESP32 hat ein TWAI, was dem CAN entspricht. Transceiver mit VIO 3,3V ran wie z.B. ein TJA1043 / TJA1051T/3 oder halt ein Tranceiver für 3,3V only (nicht ganz standardkonform mit CAN) wie den SN65HVD230.
Florian L. schrieb: > Warum eigentlich einen MCP2515 verwenden? Wegen der Arduino Libs. Und da sowieso mehrere (2) angeschlossen sind. Frank K. schrieb: > Wenn ich 5V zur Verfügung habe, dann nehme ich immer Dual-Supply > Transceiver wie den MCP2562(FD). Das wäre der Reichelt Link weiter oben
Wastl schrieb im Beitrag #8073519:
> Ja, schuchkleisser, du machst deinen Namen alle Ehre.
Wenn man mich anscheißen will, dann sollte man auch richtig lesen und
mit überlegen.
Setzen, sechs, nochmal versuchen.
Wastl schrieb: > Jens M. schrieb: >> hast du arg Glück das die gehen > > Nein! Sondern: "hast du arg Glück dass die gehen" Ja Herr Oberlehrer. Dieser Hinweis wird auch wahnsinnig viel zur Lösung der eigentlichen Problemstellung beitragen. Du darfst dir auf die Schulter klopfen.
Alexander schrieb: > ... aber der TJA1050 will 5V sehen. Wastl schrieb im Beitrag #8073519: > MCP2515.png [Operates from 2.7V - 5.5V]
:
Bearbeitet durch User
Frank K. schrieb: > Der MCP2515 erkennt an seinen Eingangspins High, wenn die Spannung ≥ > 0.7×Vcc ist. Ich kann die 5V etwas runter drehen auf 4.75V dann passt es.
:
Bearbeitet durch User
Alexander schrieb: > Frank K. schrieb: >> Der MCP2515 erkennt an seinen Eingangspins High, wenn die Spannung ≥ >> 0.7×Vcc ist. > > Ich kann die 5V etwas runter drehen auf 4.75V dann passt es. Nein, passt nicht. Schon mal das Datenblatt des ESP32 gelesen? Da steht drin: "VOH High-level output voltage min: 0.8 × VDD max: -" Der Hersteller garantiert nur, dass der High-Pegel am Ausgang mindestens 0.8×Vcc ist. Und Du willst noch etwas Toleranz haben. fchk
Frank K. schrieb: > Schon mal das Datenblatt des ESP32 gelesen? D Nö aber gemessen sind es eher 0.95x Ich habe halt keine Lust auf den CAN Modulen eine Leiterbahn zu trennen. Was wäre denn sinnvoller ein Pegelwandler für 10 MHz, oder die SN65HVD230?
:
Bearbeitet durch User
Frank K. schrieb: > Da steht drin: > "VOH High-level output voltage min: 0.8 × VDD max: -" Bei welchem Ausgangsstrom?
Alexander schrieb: > Frank K. schrieb: >> Schon mal das Datenblatt des ESP32 gelesen? D > > Nö aber gemessen sind es eher 0.95x Bei Deinem konketen Exemplar mag das aktuell zufällig so sein. Bei einem anderen Exemplar kann das weniger sein. Für den Hersteller ist alles größer gleich 0.8 ok. Und der schreibt das nicht ohne Grund so rein. Das kann sich auch mit der Temperatur ändern, oder mit dem Alter des Chips usw. Das weißt Du alles nicht. > Ich habe halt keine Lust auf den CAN Modulen eine Leiterbahn zu trennen. > Was wäre denn sinnvoller ein Pegelwandler für 10 MHz, oder die > SN65HVD230? Wenn Du normgerechte Buspegel haben willst: Pegelwandler. Und zwar solche mit manueller Richtungsumschaltung: 74LVC1T45 und 74LVC2T45. Die mit automatischer Richtungsumschaltung wie TXB0108 nimmst Du genau nur dann, wenn Du dieses Feature auch tatsächlich brauchst und weißt, was Du machst. Die automatische Richtungsumschaltung ist nämlich etwas empfindlich. fchk
Rainer W. schrieb: > Frank K. schrieb: >> Da steht drin: >> "VOH High-level output voltage min: 0.8 × VDD max: -" > > Bei welchem Ausgangsstrom? Ist nicht angegeben. fchk
Frank K. schrieb: >> Bei welchem Ausgangsstrom? > > Ist nicht angegeben. eben Frank K. schrieb: > Bei Deinem konketen Exemplar mag das aktuell zufällig so sein. Bei einem > anderen Exemplar kann das weniger sein. Für den Hersteller ist alles > größer gleich 0.8 ok. Die Ausgangsspannung hängt vom Strom ab. Ohne diese Angabe steht diese Worst-Case-Angabe für die Ausgangsspannung in keiner Relation zur Anwendung - Exemplarstreuungen hin oder her.
:
Bearbeitet durch User
Frank K. schrieb: > 74LVC1T45 und 74LVC2T45 Das wäre dann ein Baustein pro Leitung. Ich glaub dann kann ich CAN bei der nächsten Revision auch gleich direkt mit drauf machen und verzichte auf das Modul.
Alexander schrieb: > Frank K. schrieb: >> 74LVC1T45 und 74LVC2T45 > > Das wäre dann ein Baustein pro Leitung. oder zwei Leitungen pro Baustein. Du hast CS, SCK, MOSI als EIngang und MISO und INT als Ausgang. Wären also zwei 74LVC2T45. Da das SOT23-6 sind, hält sich der Platzbedarf in Grenzen. > Ich glaub dann kann ich CAN bei > der nächsten Revision auch gleich direkt mit drauf machen und verzichte > auf das Modul. Das wäre extrem sinnvoll. Und dann nimmst Du Dual-Supply-Transceiver. fchk
Frank K. schrieb: > Wären also zwei 74LVC2T45 Kannst Du mir eine Mouser Artikelnr. geben, ich steh grad mit Frauchen in der Umkleide und bin mit den Suchergebnissen überfordert.
:
Bearbeitet durch User
Wastl schrieb im Beitrag #8073519: > Jens M. schrieb: >> Im Dabla steht eindeutig "Supply 4,75 - 5,25V". > > Ja, schuchkleisser, du machst deinen Namen alle Ehre. Das ist aber nicht nett.
Frank O. schrieb: > Das ist aber nicht nett. Wir sprachen vom Chip, nicht von einem Modul wo jeder Hersteller sein eigenes Süppchen kocht. Der MCP2515 ist nicht auf 5V Versorgung beschränkt.
Wastl schrieb: > Hersteller > sein eigenes Süppchen kocht. Der MCP2515 ist nicht auf 5V > Versorgung beschränkt. Alexander schrieb: > https://www.az-delivery.de/en/products/mcp2515-can-bus-modul Die Firma ist aber bekannt dafür, auch bei den Chips "ihr eigenes Süppchen zu kochen".
Alexander schrieb: > Frank K. schrieb: >> Wären also zwei 74LVC2T45 > > Kannst Du mir eine Mouser Artikelnr. geben, ich steh grad mit Frauchen > in der Umkleide und bin mit den Suchergebnissen überfordert. 595-SN74LVC2T45DCUR ist im MSOP08 Package. Nicht das kleinste, aber noch gut zu löten. fchk
Wastl schrieb: > Der MCP2515 ist nicht auf 5V > Versorgung beschränkt. Richtig, der ist ja auch nicht das Problem. Ich hab oben klar geschrieben das der TJA1050 nicht passt. Welch sinnlose Idee es war einen 3-5V Controller mit einem 5V-only-Transceiver zu verheiraten, weiß ich auch nicht. Aber das ist "Makerschrott", der wird billig ohne technische Info vertickt, wird schon passen, Hauptsache ich hab dein Geld.
Rahul D. schrieb: > Alexander schrieb: >> https://www.az-delivery.de/en/products/mcp2515-can-bus-modul > > Die Firma ist aber bekannt dafür, auch bei den Chips "ihr eigenes > Süppchen zu kochen". Die machen überhaupt nichts mit eigenen Chips, sondern haben viel CN-Module, angereichert mit Doku, auf dem deutschen Markt verkauft.
:
Bearbeitet durch User
Rainer W. schrieb: > Die machen überhaupt nichts mit eigenen Chips, sondern haben viel > CN-Module, angereichert mit Doku, auf dem deutschen Markt verkauft. Das sag mal Herrn Kirnbichler! Es ist aber schon komisch, dass sie für manche Bausteine / Module eigene (Arduino-)Ansprech-Routinen vorschlagen, obwohl die Bausteine originalgetreue Herstellernummer haben, sich aber nicht wie das Original verhalten. Für einen Maker-Stuff-Lieferanten war der Laden vorbildlich bzgl. Doku. Demnächst ist da dann aber Schicht (im Schacht).
Alexander schrieb: > Das Modul wurde so oft kopiert dass es praktisch überall zu haben ist. Es ist ja auch UNGLAUBLICH schwierig [tm], das Modul zu nutzen. a) Betrieb mit 5V an 5V Controller -> Null Problemo b) Betrieb mit 3,3V an 3,3V Controller der Tranceiver muss extra mit 5V gespeist werden RXD vom Tranceiver braucht ca. 2k Vorwiderstand in Richtung Controller als Pegelwandler/Strombegrenzung Mehr braucht es nicht. Der TJA1050 ist an TXD TTL-kompatibel, verdaut also problemlos 3,3V Signale. Dann braucht es auch KEINERLEI weitere Pegelwandler.
:
Bearbeitet durch User
Ja Alf, danke. Selber machen kein Problem. Es handelt sich nun aber mal um dieses fertige (weit verbreitete) CAN Modul. Wie Du dem PCB-top.png entnehmen kannst sind die VCC Pins mit einer Leiterbahn direkt verbunden. https://github.com/yasir-shahzad/MCP2515-CAN-Bus-Module
Falk B. schrieb: > Es ist ja auch UNGLAUBLICH schwierig [tm], das Modul zu nutzen. Interessanter Weise gibt es da eine kleine Stolperfalle. Das Board gibts mit 8MHz Quarz und mit 16MHz. Nicht weiter problematisch, muss man nur beachten, sonst keine Kommunikation.
Alexander schrieb: > Ja Alf, danke. Selber machen kein Problem. > > Es handelt sich nun aber mal um dieses fertige (weit verbreitete) CAN > Modul. Wie Du dem PCB-top.png entnehmen kannst sind die VCC Pins mit > einer Leiterbahn direkt verbunden. Ja dann muss man es halt auftrennen! Oder ist das Neuland [tm] für dich? Neudeutsch "hacking".
Die blauen Module haben eigentlich immer mit 3V3 funktioniert. Als pragmatischen Workaround habe ich dem Nutzer geschrieben er soll VCC mit dem 5V Pin verbinden.
Arduino F. schrieb: > Das Board gibts mit 8MHz Quarz und mit 16MHz. Das schwarze JOY-IT CAN Bus Modul habe ich genau deswegen auch schon von Anfang an mit in der Stückliste, weil diese den 16MHz Quarz haben, und die blauen Module fast nur mit 8MHz zu finden sind (es wird beides "benötigt")
:
Bearbeitet durch User
Alexander schrieb: > Die blauen Module haben eigentlich immer mit 3V3 funktioniert. Als > pragmatischen Workaround habe ich dem Nutzer geschrieben er soll VCC mit > dem 5V Pin verbinden. Vieles im Elektronikbereich funktioniert außerhalb der Spec „irgendwie“, jedoch: Wenn TJA1050 verbaut dann 3.3V (only) Murks, 5V okay Wenn 65HVD230 verbaut 3.3V okay, 5V Murks
:
Bearbeitet durch User
Noch mal ne Murksfrage wenn ich nun beide Modulvarianten am selben SPI betreiben will, eines mit separatem 3v3 Interface für den MCP2515 und eines auf 5V. Für INT habe ich Pull-Up zu 3v3 für beide MCP2515, sollte funktionieren. MOSI, SCLK und CS jeweils ohne Pegelwandler funktionieren trotzdem. Ist nicht ganz 0,7 x Vdd aber die MCP2515 haben ja noch eine Sicherheit ggü den Datenblattwerten, in der Praxis passen die Pegel noch mit der halben Versorgungsspannung, also ca. 2,5V Für MISO des 5V MCP2515 Moduls habe ich einen Spannungsteiler 4k7/10k zum ESP32 dazwischen geschaltet. Passt soweit auch. Für MISO von dem (höherwertigeren) MCP2515 Modul (mit separatem 3v3 Interface) möchte ich direkt auf den ESP32 gehen. Da es für beide Module derselbe GPIO ist, wird dann aber in den Knotenpunkt des MISO Spannungsteilers eingespeist - ist das vertretbar oder kann das Probleme machen? Über CS0, CS1 gesteuert darf ja eigentlich nur jeweils einer senden.
:
Bearbeitet durch User
Alexander schrieb: > Noch mal ne Murksfrage wenn ich nun beide Modulvarianten am selben SPI > betreiben will, eines mit separatem 3v3 Interface für den MCP2515 und > eines auf 5V. Junge, du merkst es auch nicht, was? Du laberst und murkst immer nur ewig vor dich hin. Viel Spaß noch dabei!
Ich habe Dir bereits mitgeteilt dass es hier um Maker Kram mit Fertigmodulen geht. Die blauen 5V Module sind das Thema dieses Threads. Und ja, es ist UNGLAUBLICH schwierig [tm] dieses Modul an einem ESP32 zu nutzen (innerhalb der Specs)
:
Bearbeitet durch User
Etwas schwierig Deinem Text zu folgen, skizziere es bitte - Handzeichnung reicht.
Das geht, allerdings ist die Gegenrichtung Murks. Du kannst 0.7VDD nicht einfach ignorieren. Warum überhaupt diese beiden Versorgungen? Packe einen 65HVD230 drauf und gut isses.
Gut dann passt es ja soweit danke. Querströme sind über 4k7 nicht das Thema. Die Pegelwandler für die Gegenrichtung hatte ich ja schon vorgesehen (74LVC2T45 liegen hier) hab ich aus Platzgründen aber erstmal weggelassen. Nicht dass die Platz wegnehmen aber es war kein Platz mehr für nachträgliche Leiterbahnen. MISO hat jetzt noch die zwei Widerstände bekommen, das ging ohne noch mal alles neu zu routen. Die 0,7xVDD kann ich nachträglich mit dem Poti an der 5V Schiene noch einstellen, dass passt auch. Ziel war es die Trägerplatine mit dem ursprünglichen blauen CAN Modul kompatibel zu halten, dann bleibt es austauschbar. Die Idee mit dem SN65HVD230 hatte ich auch schon, aber es ist letztendlich einfacher das Modul mit 5V zu betreiben.
:
Bearbeitet durch User
Frank K. schrieb: > Wenn Du normgerechte Buspegel haben willst: Pegelwandler. Und zwar > solche mit manueller Richtungsumschaltung: 74LVC1T45 und 74LVC2T45. Werde aus dem Datenblatt nicht so recht schlau. Wozu braucht es eine Richtungsumschaltung? Habe mir jetzt hier abgeguckt wie die verschaltet werden. Ich würd die ja gern drauf machen, aber die brauchen schon etwas Platz. Vor allem wenn da noch Kerkos dazu müssen. https://protosupplies.com/product/hi-speed-spi-logic-level-converter-module
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.




