Hallo! Ich hoffe das passt hier rein.. Also ich versuche gerade einen optischen Maussensor mit einem Arduino UNO über SPI zu verbinden. Das funktioniert bis jetzt sehr gut. Ich kann den Sensor ansteuern und auslesen. Läuft einwandfrei. Verbunden sind: 3.3V/5V/GND und 5 SPI Kabel (ich verwende 2 Sensoren) ABER: Im Endeffekt soll das ganze dann nicht auf dem Arduino UNO laufen sondern auf einer, dem Arduino UNO sehr ähnlichen, Eigenkonstruktion meiner Uni. Ich nenn es jetzt der Einfachheit halber Arduino UNI. Das UNI verwendet den gleichen Chip wie das UNO (Atmega328), der USB Chip ist ausgelagert und es ist gleich ein Funkchip integriert. Die Stromversorgung erfolg beim UNO über USB und beim UNI über einen 7V LiPo Akku (keine Versorgung über USB möglich). Wenn ich jetzt meine Kabel vom Sensor einfach am UNI statt am UNO anstecke, liefert die Konstruktion am Anfang brauchbare Werte (Revisions, etc...), aber sobald der Sensor etwas misst, kommen unbrauchbare Bewegungswerte heraus. Das Oszilloskop sagt mir, dass zumindest NCS und SCLK normal arbeiten. Durch Ausprobieren habe ich herausgefunden, dass die SPI-Kommunikation mit dem UNI normal funktioniert und richtige Werte liefert, wenn ich die Stromversorgung (3.3V/5V/GND) statt über das UNI mit Akku, über das Arduino UNO und damit USB bewerkstellige. Also: 5xSPI und (3.3V/5V/GND) am UNI --> geht nicht 5xSPI am UNI & (3.3V/5V/GND) am UNO --> geht Zu erst habe ich gedacht es liegt vielleicht an den am UNI verbauten Spannungswandlern. Aber das Datenblatt sagt, dass die eigentlich besser sein sollten als die Spannungswandler am UNO. Kondensatoren habe ich für die Stromversorgung des Sensors auch insgesamt 8 verwendet (steht so im Datenblatt des Sensors). Die müssten eigentlich Spannungsschwankungen ausgleichen. Abgesehen davon sehen die Signale von (3.3V/5V) am Oszilloskop gleich aus (also ich erkenne keinen Unterschied zwischen UNO und UNI). Elektrotechnik ist jetzt nicht wirklich mein Fachgebiet (ich studiere Informatik), weswegen mir langsam die Einfälle ausgehen was ich noch testen könnte. Warum funktioniert die SPI Kommunikation auf einmal wenn ich die Spannungsversorgung nicht intern über den Akku mache sondern extern über ein Arduino UNO. Die Werte selbst sind unauffällig (3.3 und 5 Volt...) Hat irgendjemand Ideen woran das liegen kann? Bzw. gibts Vorschläge was ich noch testen könnte, um der Sache vielleicht näher zu kommen? Ich könnte zb versuchen herauszufinden ob die 3.3 oder die 5 Volt das Problem sind. Aber dazu müsste ich GND vom UNO und UNI verbinden. Kann ich das überhaupt machen? Also USB GND und Akku GND Verbinden? Oder zerschieße ich mir damit etwas? Ahja: Da der Atmega328 mit 5V arbeitet (und damit auch das SPI), der Sensor aber maximal 3.3V an den Dateninputs verträgt, verwende ich einen selbst gebauten Spannungsteiler für alle SPI Leitungen (außer MISO). Wenn irgendetwas an meiner Beschreibung unklar ist, führe ich das gerne weiter aus!
hi grob aus der ferne: ja GND kannst verbinden frage: sind bei beiden schaltungen die spi-kabel gleich lang (besser kurz) ? ist dein akku leer ? hochohmiger inneenwiederstnd der spannnungsquelle ? also liefert der genug SAFT ? gruss w
Hi - Ok, das ist schon mal gut zu wissen. Werd das nachher mal testen. (Nur zwischen + vom Akku und GND vom USB messe ich ja keine Spannung) - SPI-Kabel sind alle ca 10 cm lang. Ich verwende die gleichen Kabel. - Akku ist voll. Spannung liegt bei mehr als 7V - Ob der genug Saft liefert... Kein Plan! "Peak Suply Current" des Sensors ist 60 mA. Wenn ich fürs Arduino nochmal 50 rechne: 2x60mA + 50 mA = 170 mA. Kann das schon Probleme machen? Die Laser leuchten (mit der Handy Cam überprüft...) Hochohmiger Innenwiderstand? Auf was muss ich da schauen? Is ein bisschen mühsam den Akku auszubauen, deswegen frag ich lieber vorher ^^
also zwischen akku und egal welchem gnd solltest du was messen und mit dem innenwiederstand meine ich, bricht die spannnung zusammen wenn du den akku belastest (das tut die schaltung ja), aber ich denke nicht so wie du schilderst nur eben aus der ferne ne diagnose ???
@ Dont K. (dont_k) >Ich könnte zb versuchen herauszufinden ob die 3.3 oder die 5 Volt das >Problem sind. Aber dazu müsste ich GND vom UNO und UNI verbinden. Kann >ich das überhaupt machen? Du MUSST es machen! > Also USB GND und Akku GND Verbinden? Oder >zerschieße ich mir damit etwas? Nein. >Ahja: Da der Atmega328 mit 5V arbeitet (und damit auch das SPI), der >Sensor aber maximal 3.3V an den Dateninputs verträgt, verwende ich einen >selbst gebauten Spannungsteiler für alle SPI Leitungen (außer MISO). Klingt nicht optimal. Welche Werte verwendest du? >- SPI-Kabel sind alle ca 10 cm lang. Ich verwende die gleichen Kabel. OK. >- Akku ist voll. Spannung liegt bei mehr als 7V OK. >- Ob der genug Saft liefert... Kein Plan! "Peak Suply Current" des >Sensors ist 60 mA. Wenn ich fürs Arduino nochmal 50 rechne: 2x60mA + 50 >mA = 170 mA. Kann das schon Probleme machen? Kommt auf deinen Spannungsregler an. Wenn der nur 100mA offiziell schafft, schaltet der ggf. bei 150mA++ irgendwann runter. > Die Laser leuchten (mit der Handy Cam überprüft...) Welche Laser? >Hochohmiger Innenwiderstand? Auf was muss ich da schauen? Is ein >bisschen mühsam den Akku auszubauen, deswegen frag ich lieber vorher ^^ Betreibe eine systematische Fehlersuche. Liegen die 5 und 3,3V sauber am AVR an? Liegen sie sauber am Sendor an? Ist die GND-Verbindung in Ordnung? ...
Ich messe da einfach keine Spannung. Ich habs jetzt mit einer simplen 9V Block Batterie und dem Heizkörper bzw dem Arduino GND probiert. Die Spannung ist immer 0. Der Akku ist ja eigentlich immer belastet, weil die Schaltung konstant Strom zieht. Die Spannungswerte schauen dabei sehr gut aus (3.3V und 5V). Sowohl mit dem Multimeter als auch im Oszilloskop.
> Ich messe da einfach keine Spannung. Ich habs jetzt mit einer simplen 9V > Block Batterie und dem Heizkörper bzw dem Arduino GND probiert. Die > Spannung ist immer 0. Was soll der Heizkörper???! Zeichne mal den Stromkreis also VCC und GND von allen Komponenten...
@Falk: Wenn ich die beiden GND nicht verbinde: Der Spannungsteiler führt dann ja nicht zurück zum UNI GND sondern zum UNO GND. Kanns sein, dass ich da die Input Pins trotz Spannungsteiler mit Überspannung grille? (Obwohls merkwürdigerweise dann funktioniert). Das bereitet mir im Moment vor allem Kopfschmerzen weil ich wie oben beschrieben keine Spannung (also 0V) zwischen Akku und UNO GND messe. Als Spannungsteiler verwende ich jeweils zwei Widerstände: 10k und 15k (bei 100k und 150k waren die Rechtecksignale beim UNO schon zu schlecht.) Laser: ADNS 9500. Ein optischer Maussensor. Der Spannungsregler für 5V schafft lauft Datenblatt 800 mA. http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCwQFjAA&url=http%3A%2F%2Fwww.onsemi.com%2Fpub%2FCollateral%2FMC33269-D.PDF&ei=G9n1VMOkBIuAUZKSgMAB&usg=AFQjCNHcn8LgvOv_RCSzLvQOmD8zc-FCRQ&sig2=WE-KeHdT6KP74NFl2n6_wA&bvm=bv.87269000,d.d24 Für 3V 150mA: http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CB0QFjAA&url=http%3A%2F%2Fwww.micrel.com%2F_PDF%2Fmic5205.pdf&ei=9Nr1VMSIIcmqywPO2YGIDQ&usg=AFQjCNEWGnMgaoHp0o7X-Ag7_rFsF4I8wg&sig2=1j2GGTyKcaerfcqwZlribw&bvm=bv.87269000,d.d24 @ uwe: Der Heizkörper müsste ja geerdet sein. Allerdings kann ich mir gut vorstellen, dass das bei einem Akku nichts bringt. Wie gesagt... Elektrotechnik ist nicht so meins. Schaltplan siehe Anfang dieses Postings.
:
Bearbeitet durch User
Auch den Teil mit dem UNI und wie die Beiden Sensoren mit diesem verbunden sind. Ich denke du hast einfach den UNI GND nicht mit dem Sensor GND verbunden.
Dont K. schrieb: > Also ich versuche gerade einen optischen Maussensor mit einem Arduino > UNO über SPI zu verbinden. Das funktioniert bis jetzt sehr gut. Ich kann > den Sensor ansteuern und auslesen. Läuft einwandfrei. Hi, könntest du uns ein Beispiel zeigen, wie du das machst ? Interessiert mich sehr.
uwe schrieb: > Auch den Teil mit dem UNI und wie die Beiden Sensoren mit diesem > verbunden sind. Ich denke du hast einfach den UNI GND nicht mit dem > Sensor GND verbunden. Doch 3.3V und 5V liegen an der Platine an. Das ist ein einfacher Stecker den ich einmal am UNO und einmal am UNI anstecke. In beiden Fällen passt die Spannung auf der Platine. @ Willi: Oben steht der Schaltplan für 2 Chips über SPI. (Wobei ich gerade sehe, dass beim unteren Stecker die Beschriftungen GND und 3V vertauscht sind). Orientiert habe ich mich dabei am ADNS 9500 Datenblatt. Zusätzlich hab ich noch den Spannungsteiler eingebaut. Oder was willst du genau wissen?
:
Bearbeitet durch User
WIe erfolgt das Auslesen der X-Y-Koordinaten ? Danke für die Antwort bis dahin.
Willi schrieb: > WIe erfolgt das Auslesen der X-Y-Koordinaten ? > > Danke für die Antwort bis dahin. Die zurückgelegte Strecke wird in 4 Registern am Chip aufsummiert und gespeichert (16bit x, 16 bit y). Diese kann man über SPI auslesen. Jedes Mal wenn die Register gelesen werden, werden sie auf 0 zurückgesetzt.
@ Dont K. (dont_k) >Ich messe da einfach keine Spannung. WO misst du keine Spannung? > Ich habs jetzt mit einer simplen 9V >Block Batterie und dem Heizkörper bzw dem Arduino GND probiert. Die >Spannung ist immer 0. Was soll der Heizkörper? >Strom zieht. Die Spannungswerte schauen dabei sehr gut aus (3.3V und >5V). Sowohl mit dem Multimeter als auch im Oszilloskop. WO gemessen? >Wenn ich die beiden GND nicht verbinde: Der Spannungsteiler führt dann >ja nicht zurück zum UNI GND sondern zum UNO GND. Kanns sein, dass ich da >die Input Pins trotz Spannungsteiler mit Überspannung grille? (Obwohls >merkwürdigerweise dann funktioniert). > Das bereitet mir im Moment vor >llem Kopfschmerzen weil ich wie oben beschrieben keine Spannung (also >0V) zwischen Akku und UNO GND messe. Ich kann dir nich folgen. >Als Spannungsteiler verwende ich jeweils zwei Widerstände: 10k und 15k Zu hochomig. Das funktioniert nur mit viel Glück. Mach sie mal Faktor 10 kleiner. Oder noch besser, nutze einen gescheiten Pegelwandler, z.B. 74HC4050. Für den "Rückweg", sprich MISO braucht man auch einen, denn 3,3V CMOS Pegel funktionieren auch nur mit einer gehörigen Portion Glück an 5V CMOS-Eingängen. Ein 74HCT125 oder ähnliches ist dein Freund. >Der Spannungsregler für 5V schafft lauft Datenblatt 800 mA. >http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... >Für 3V 150mA: >http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... Naja, aber warum nimmst du solche Exoten? Hast du die RICHTIGEN Ausgangskondensatoren an den Reglern? Wenn du pech hast, schwingen die.
Falk Brunner schrieb: >>Strom zieht. Die Spannungswerte schauen dabei sehr gut aus (3.3V und >>5V). Sowohl mit dem Multimeter als auch im Oszilloskop. > > WO gemessen? > Da wo die Kabel an der Platine angelötet sind. Näher an den Chips messen ist glaub ich nicht wirklich zielführend weil da keine Bauteile mehr in Reihe geschalten sind. Die Kupferbahnen gehen durch bis zum Chip. Da wird sich die Spannung am Weg nicht mehr ändern. >>Wenn ich die beiden GND nicht verbinde: Der Spannungsteiler führt dann >>ja nicht zurück zum UNI GND sondern zum UNO GND. Kanns sein, dass ich da >>die Input Pins trotz Spannungsteiler mit Überspannung grille? (Obwohls >>merkwürdigerweise dann funktioniert). > >> Das bereitet mir im Moment vor >>llem Kopfschmerzen weil ich wie oben beschrieben keine Spannung (also >>0V) zwischen Akku und UNO GND messe. > > Ich kann dir nich folgen. > Egal, ist vermutlich eh ein Denkfehler von mir. Genau wie die Sache mit dem Heizkörper. Ich war mir nicht sicher ob 5V+ Akku und 0V GND Heizkörper eine Spannung von 5 Volt ergeben sollte. Ich bin davon ausgegangen, dass das so nicht funktioniert, aber oben hat Wolfgang gemeint, dass ich mit jedem GND Spannung messen kann. Das war wohl ein Missverständniss. >>Als Spannungsteiler verwende ich jeweils zwei Widerstände: 10k und 15k > > Zu hochomig. Das funktioniert nur mit viel Glück. Mach sie mal Faktor 10 > kleiner. Oder noch besser, nutze einen gescheiten Pegelwandler, z.B. > 74HC4050. > > Für den "Rückweg", sprich MISO braucht man auch einen, denn 3,3V CMOS > Pegel funktionieren auch nur mit einer gehörigen Portion Glück an 5V > CMOS-Eingängen. Ein 74HCT125 oder ähnliches ist dein Freund. > Ok kanns versuchen, evtl liegts wirklich daran. Aber umso niedriger die Widerstände umso höher der Stromverbrauch oder liege ich da falsch? Der Rückweg war mir bis jetzt egal, weil ich glaube, dass das Arduino auch noch 1,8V als high erkennt. >>Der Spannungsregler für 5V schafft lauft Datenblatt 800 mA. >>http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... > >>Für 3V 150mA: >>http://www.google.com/url?sa=t&rct=j&q=&esrc=s&sou... > > Naja, aber warum nimmst du solche Exoten? > Das UNI Arduino ist nicht meine Kreation. Auf die dort verbauten Teile hab ich leider keinen Einfluss. > Hast du die RICHTIGEN Ausgangskondensatoren an den Reglern? Wenn du pech > hast, schwingen die. Kann ich nach schauen. Mit was sind die verbunden? Wenn ich das weiß, suche ich sie und poste die specs.
Dont K. schrieb: > Willi schrieb: >> WIe erfolgt das Auslesen der X-Y-Koordinaten ? >> >> Danke für die Antwort bis dahin. > > Die zurückgelegte Strecke wird in 4 Registern am Chip aufsummiert und > gespeichert (16bit x, 16 bit y). Diese kann man über SPI auslesen. Jedes > Mal wenn die Register gelesen werden, werden sie auf 0 zurückgesetzt. Hast du vll. ein Code oder ähnliches `? Würd mich mal interessieren, wie umfangreich das ist. Danke !
@ Dont K. (dont_k) >> WO gemessen? >> >Da wo die Kabel an der Platine angelötet sind. Hey Mr. Dont! Leis mal was über Netiquette! Wir sitzen hier nicht neben dir und sind damit nahezu BLIND! "Daran denken, dass die Leute im Forum nicht neben einem sitzen und alles so vor sich sehen wie der Fragesteller " Damit brauchen wir EXAKTE Angaben. Welches Kabel an welcher Platine? > Näher an den Chips messen >ist glaub ich nicht wirklich zielführend weil da keine Bauteile mehr in >Reihe geschalten sind. Die Kupferbahnen gehen durch bis zum Chip. Da >wird sich die Spannung am Weg nicht mehr ändern. Das haben schon viele gesagt, bis sie einen Lötfehler gefunden haben. >Ok kanns versuchen, evtl liegts wirklich daran. Aber umso niedriger die >Widerstände umso höher der Stromverbrauch Ja. >oder liege ich da falsch? Der Nein. >Rückweg war mir bis jetzt egal, weil ich glaube, dass das Arduino auch >noch 1,8V als high erkennt. Bei 5V Vcc? Keine Sekunde. Die offiziellen Zahlen sind 0,7*Vcc, das sind bei 5V min. 3,5V. REAL wird es meist bei knapp über 2,5V irgendwie erkannt. Solide ist das aber nicht!
> dass ich mit jedem GND Spannung messen kann Ist nicht bös gemeint aber es scheint tatsächlich so zu sein, daß du nicht weisst was der Unterschied von Spannung und Strom ist. Du scheinst auch nicht zu wissen was ein Stromkreis ist. Du scheinst auch nicht zu wissen was GND bedeutet. Wenn man das nicht weiss kann man auch keine Spannung messen. Das hast du ja auch schon festgestellt... > Ich messe da einfach keine Spannung. Also um dir zu helfen noch einmal die Bitte den Kompletten Schaltplan mit allen Komponenten und eventuell noch ein Foto vom Aufbau.
@ Willi: Ist dir das eine Hilfe? Das ist zwar für den ADNS9800, aber aus den Kommentaren im Code ist ersichtlich, dass es ursprünglich für den 9500 gedacht war. https://github.com/joshuajnoble/ArduinoADNS-9800/blob/master/ADNS9800.ino Das hier ist die Firmware für den ADNS 9500: https://github.com/mrjohnk/ADNS-9500/blob/master/firmwareA0.ino Damit ich zwei Chips parallel verwenden kann, habe ich mir noch eine eigene SPI.begin methode geschrieben, um mir zwei NCS Pins zu definieren. Das muss dann noch in den begin und end methoden berücksichtigt werden und es läuft eigentlich. Das sind insgesamt ca 5 Code Zeilen zusätzlich.
Falk Brunner schrieb: > Das haben schon viele gesagt, bis sie einen Lötfehler gefunden haben. > Ok gut die Antwort habe ich wohl provoziert. Ich poste in dem Beitrag ein Bild von der Konstruktion. Weswegen ich noch nicht denke, dass es an einem Lötfehler liegt, ist die Tatsache, dass ich die Stromversorgung nur umstecken muss und schon geht es. Das sind am Bild die drei Kabel (rot, grün, braun - 5V, 3.3V, GND). Wie gesagt die gemessenen Spannungswerte sind gleich, egal obs am UNI oder UNO steckt. > Bei 5V Vcc? Keine Sekunde. Die offiziellen Zahlen sind 0,7*Vcc, das sind > bei 5V min. 3,5V. REAL wird es meist bei knapp über 2,5V irgendwie > erkannt. Solide ist das aber nicht! Es kommt ja noch dazu, dass VCC aufgrund des Akkus beim Arduino UNI 7,4 Volt ist. VCC ist ja die Eingangsspannung nehme ich an. Das scheint also wirklich das Hauptproblem zu sein. (Oder ist damit die Eingangsspannung des Chips, also 5V, gemeint). Die Widerstände sind aus Stromspargründen so hoch wie möglich, was ich aber jetzt scheinbar eh ändern muss. http://www.mikrocontroller.net/part/74HC4050 Kann ich da einfach einen passenden Levelshifter verwenden oder muss ich den auch irgendwie steuern? Werd mich da mal einarbeiten... @ uwe: Ich habe ja oben geschrieben, dass ich nicht gedacht habe, dass das so funktioniert. Das war ein Missverständnis aufgrund von Wolfgangs zweitem Posting. Ich hab das fehlinterpretiert.
:
Bearbeitet durch User
@ Dont K. (dont_k) >einem Lötfehler liegt, ist die Tatsache, dass ich die Stromversorgung >nur umstecken muss und schon geht es. Das sind am Bild die drei Kabel >(rot, grün, braun - 5V, 3.3V, GND) Wo ist denn der UNI? Ist das die Platine ganz unten an der Konstruktion? >Es kommt ja noch dazu, dass VCC aufgrund des Akkus beim Arduino UNI 7,4 >Volt ist. VCC ist ja die Eingangsspannung nehme ich an. Nein, das ist die Betriebsspannung vom AVR, hier 5V. > Das scheint also >wirklich das Hauptproblem zu sein. (Oder ist damit die Eingangsspannung >des Chips, also 5V, gemeint). Genau. > Die Widerstände sind aus Stromspargründen >so hoch wie möglich, was ich aber jetzt scheinbar eh ändern muss. Dann nimm einen Pegelwandler, der braucht noch weniger als deine hochohmigen Spannungsteiler, CMOS sei dank. >Kann ich da einfach einen passenden Levelshifter verwenden Ja. > oder muss ich >den auch irgendwie steuern? Nein.
Danke schonmal für deine Hilfe! Nein... Also das UNI selbst sieht man nicht wirklich. Das ist unter diesem improvisiertem breadboard. Was man sieht ist oben eine Platine mit vielen Steckern - das mini breadboard. Die sichtbare Platine unten ist die Schaltung für die Chips. Die ist recht aufwändig und braucht zwei Ebenen, vor allem weil ich innerhalb des Würfels keinen Platz habe. Eine dritte Ebene kommt durch die Spannungsteiler dazu. Ich werd mir jetzt einmal Pegelwandler anschauen und dann hier einen posten und fragen ob der passt, wenn das ok ist. Zum Glück ist das System einigermaßen modular und es ist nicht übermäßig viel Aufwand den einzubauen. Danke nochmal für die schnelle Hilfe! EDIT: Irgendwie werde ich aus dem Datenblatt für den 74HC4050 nicht schlau. Ich finde nirgends die Spannung auf die geregelt wird. Also ich sehe jede Menge Spannungen auf Seite 6, aber ich werde nicht wirklich schlau daraus.
:
Bearbeitet durch User
Ok... Hab mir jetzt die entsprechenden Seiten hier durchgelesen. Kann ich einfach den 74HC4050 verwenden? VCC 74HC4050 an 3.3V UNI GND 74HC4050 an GND UNI Und die Datenrichtung ist jeweils A nach Y. Also: SCLK UNI --> A1 -74HC4050- Y1 --> SCLK ADNS9500 MOSI UNI --> A2 -74HC4050- Y2 --> MOSI ADNS9500 MISO UNI <-- Y3 -74HC4050- A3 <-- MISO ADNS9500 NCS1 UNI --> A4 -74HC4050- Y4 --> NCS1 ADNS9500 NCS2 UNI --> A5 -74HC4050- Y5 --> NCS2 ADNS9500 Das ergibt irgendwie Sinn wenn ich die Spannung am Weg zum Chip von 5V zu 3V konvertieren will. Aber am Rückweg? Woher soll da der 74HC4050 wissen, dass ich gerne 5V auf Y3 hätte? Oder verstehe ich die Funktionsweise falsch, bzw brauche einen anderen/zwei Levelshifter?
@ Dont K. (dont_k) >Ich werd mir jetzt einmal Pegelwandler anschauen und dann hier einen >posten und fragen ob der passt, wenn das ok ist. Zum Glück ist das >System einigermaßen modular und es ist nicht übermäßig viel Aufwand den >einzubauen. Noch ein Tip. Ich vermisse eine Masseleitung am Stecker der SPI-Pins. Die sollte man ergänzen. Denn sonst kann man sich im Extremfall recht große, häßlich Masseschleifen zusammenbauen, welche den doch nicht ganz so langsamen SPI-Signalen nicht gefallen. Siehe Wellenwiderstand. Eine Terminierung brauchst du hier aber NICHT! >EDIT: Irgendwie werde ich aus dem Datenblatt für den 74HC4050 nicht >schlau. Schlecht. Der IC ist an Einfachheit kaum zu überbieten. > Ich finde nirgends die Spannung auf die geregelt wird. Also ich >sehe jede Menge Spannungen auf Seite 6, aber ich werde nicht wirklich >schlau daraus. Wo liegt denn das Problem? Du versorgst den IC mit 3,3V und er wird an den Ausgängen Digitalsignale mit 0/3,3V ausgeben. Die Eingänge verkraften Spannungen bis 15V, somit auch 5V. Fertig ist der Pegelwandler.
@ Dont K. (dont_k) >Kann ich einfach den 74HC4050 verwenden? Sagt ich bereits. >VCC 74HC4050 an 3.3V UNI >GND 74HC4050 an GND UNI Ja. >Und die Datenrichtung ist jeweils A nach Y. Genau. >SCLK UNI --> A1 -74HC4050- Y1 --> SCLK ADNS9500 >MOSI UNI --> A2 -74HC4050- Y2 --> MOSI ADNS9500 >NCS1 UNI --> A4 -74HC4050- Y4 --> NCS1 ADNS9500 >NCS2 UNI --> A5 -74HC4050- Y5 --> NCS2 ADNS9500 Ja. >MISO UNI <-- Y3 -74HC4050- A3 <-- MISO ADNS9500 NEIN! Hier brauchst du einen 2. IC, denn das ist die andere Richtung, von 3,3V auf 5V. >Das ergibt irgendwie Sinn wenn ich die Spannung am Weg zum Chip von 5V >zu 3V konvertieren will. >Aber am Rückweg? Woher soll da der 74HC4050 >wissen, dass ich gerne 5V auf Y3 hätte? Kann er nicht. >Oder verstehe ich die Funktionsweise falsch, bzw brauche einen >anderen/zwei Levelshifter? HEUREKA! 74HC1G125 in SOT23 ist dein Freund.
Perfekt! Danke! Mein Problem war halt, dass Levelshifter etwas neues für mich sind und "positive supply voltage". Jetzt nicht sonderlich aussagekräftig ist. Das kann alles sein, wenn mans nicht weiß. ^^ Außerdem habe ich wohl die Formulierung, ich soll "einen gescheiten Pegelwandler" nutzen, zu wörtlich genommen. Wenn der 74HC1G125 passt ists ok, ich wollte nur nochmal nachfragen, um nicht aufgrund eines Missverständnisses meine Chips zu grillen. Wenn Interesse besteht, poste ich nachher hier obs wirklich daran gelegen hat.
Uuups, Tippfehler! 74HCT1G125 Das T ist wichtig! AHCT geht auch.
:
Bearbeitet durch User
Oh eins noch: Ich werde zwei 74HC4050 verwenden und bei einem einfach alle Lanes bis auf MISO freilassen. Zumindest bis alles so läuft wie geplant. Ich muss von denen eh 10 Stück mindestens bestellen. Den 74HC1G125 bekomme ich leider nur in zu großen Stückzahlen, und es wäre damit teurer. Wenn Platz ein Problem wird, werde ich mich weiter umsehen. Schönen Abend noch! EDIT: Ok den 74AHCT1G125 bekomme ich einfach. Ich schätze die Buchstaben nach diesem Code sind ein für den Formfaktor.
:
Bearbeitet durch User
@ Dont K. (dont_k) >Ich werde zwei 74HC4050 verwenden und bei einem einfach alle Lanes bis >auf MISO freilassen. Der Sinn dieser Sache erschließt sich mir nicht ganz. Diese IC kann NICHT voon 3,3 auf 5V pegelwandeln! >Den 74HC1G125 bekomme ich leider nur in zu großen Stückzahlen, und es >wäre damit teurer. Bis du weich? Mein Gott, dan Kram gibt es fast überall! Und deine Uni wird doch mal 10 Euro locker machen können! >EDIT: Ok den 74AHCT1G125 bekomme ich einfach. Ich schätze die Buchstaben >nach diesem Code sind ein für den Formfaktor. Ja. Da gibt es SOT-23, das ist noch leicht lötbar. SC-70 ist deutlich kleiner und schon ganz schöne Fummelei.
So und hier die Rückmeldung: Die Levelshifter haben das Kommunikationsproblem behoben. thx @ all Damit ist dieses Problem gelöst!
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.