Hallo alle! Es gibt zwar bisher schon wenige threads zum AD5290, mir halfen die aber nicht weiter :) Ich hab Probleme, den Potis (hier sind es 4) Werte zuzuweisen. Aktuell betreibe ich sie mit 12V, SPI kommt vom mega328, den ich mit der Arduino IDE beschreibe. Im WWW finde ich verschiedene Angaben zu den SPI settings, laut Datenblatt wohl MSB first. SPI-Mode bin ich nicht ganz sicher, aber egal, was ich einstelle, es passiert immer das gleiche. Nach dem Einschalten ist der Wert zwischen A und W etwa 5k5. Sobald ich irgendetwas hinschicke, geht dieser Wert auf 10k5 und ändert sich nicht mehr. SPI habe ich konfiguriert: SPISettings settingsA(2000000, MSBFIRST, SPI_MODE1); Daten schicke ich aktuell so: SPI.beginTransaction(settingsA); digitalWrite(CS_DC2, LOW); SPI.transfer(255); digitalWrite(CS_DC2, HIGH); SPI.endTransaction(); Ich hatte mit SPI bisher sehr wenig zu tun, ich lerne auch hier Neues dazu. Mittels Oszi dekodiere ich gerade die SPI-Daten, vielleicht helfen die Angaben: CH1: SDA, polarity _|1|_ (ich vermute das bedeutet positiv) CH2: SCL, fallende Flanke data bits: 8 Endian: MSB Format: DEC Wenn ich nun also mit obigem Code eine 255 sende, sagt mir mein Oszi: 255 genauso stimmt der Oszi mit allen anderen gesendeten Werten überein. Die Daten gehen an Pin7 (SDI) von Poti und es ist die MOSI-Leitung am mega328 (D11, PB3) Sieht schon jemand den Fehler bzw einen Config-Fehler, falls da einer ist? Ich bin aktuell ratlos, warum sich der Wert vom Poti nicht ändert ... Danke für Hilfe! Schöne Grüße, Nik
100pF Kondensatoren von CS, MOSI, MISO nach GND direkt neben dem Empfänger einlöten? Immer ein guter erster Schritt wenn SPI komisches Zeug macht ...
kann ich morgen mal probieren, wobei das Signal erst mal sauber aussieht deswegen tippe ich irgendwie auf SPI-config-Fehler, kann es mir selbst wegen fehlender Praxis nicht zusammenreimen :)
Hi
>SPI_MODE1
Wieso das? Für mich ist das Mode 0.
MfG Spess
teste ich auch noch mal gezielt morgen, aber ich hab eigentlich schon alle Kombinationen durch ^^ nur um sicherzugehen: wie genau deute ich das? steigende Flanke von clock im Diagramm des Datenblatts, also CPOL=0 und dann seh ich nicht genau durch, auf was ich im Diagramm gucken muss ...
also mit mode 0 seh ich keine Übereinstimmungen auf dem Oszi, egal, was ich einstelle, der gesendete Wert ist nicht das, was beim Decodieren rauskommt
Hi >also mit mode 0 seh ich keine Übereinstimmungen auf dem Oszi, egal, was >ich einstelle, der gesendete Wert ist nicht das, was beim Decodieren >rauskommt Vielleicht stimmt dein Decoder nicht. Mach male in Bild. Ich habe schon seit über 15 Jahren Digitalpotis mit SPI von AD in den Fingern. Und die laufen alle im Mode 0. MfG Spess
glaub ich Dir, vorallem, wenn sie keine Macke haben ... Ich hab jetzt einfach mal einen neuen genommen und bekomme nun die Werte eingestellt ... -_-;; auf dem Oszi bekomm ich es allerdings nicht decodiert, vielleicht ein Bug von Rigol ... Ich hab mir nochmal die verschiedenen SPI-Modi angesehen, so 100%ig sehe ich noch immer nicht durch, aber ich meine, wenn die Datenblöcke nicht verschoben sind, dann ist es CPHA = 1 bzw wenn die clk-Flanke halb im Datenblock ist, dann ist es 0? das Bild im Anhang ist eine gesendete "250"
Hallo, Nik A. schrieb: > das Bild im Anhang ist eine gesendete "250" also 1111 1010, auf dem Oszibild, soweit erkennbar, auch. Mode 0, Übernahme mit steigernder Clock-Flanke. Wie der Oszi auf 245 (1111 0101) kommt, ist mir unklar. Gruß aus Berlin Michael
Jedenfalls sollte ich mich das nächste Mal besser zurechtfinden :) Danke Euch :)
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.