Forum: Mikrocontroller und Digitale Elektronik SPI Arduino Problem


von Peter (Gast)


Lesenswert?

Hallo,
ich möchte über ein Arduino mit einem ATmega168 einen AD-Wanlder über 
SPI auslesen. Das Auslesen an sich ist auch nicht das Problem, jedoch 
eher der Ruhezustand. Der AD-Wandler liegt an 230V und über einen 
ADum7643 übergebe ich die Daten galvanisch getrennt per SPI an den mega.
Nun habe ich angefangen alles aufzubauen. Habe also meine Arduino 
Platine genommen und das Programm aufgespielt und mal den 
Seriellenmonitor angesehen. Ohne dass etwas an den SPI Ports 
angeschlossen ist, bekomme ich bereits Werte angezeigt. Diese sind zwar 
sehr konstant dürften aber eigentlich nicht da sein. Auch komisch, wenn 
ich den Monitor ansehe und die Netzspannung an den AD-Wandler Anschließe 
so passen die Werte nicht mehr oder das System bleibt hängen. Also hilft 
nur noch ein Reset des ATmega. Komisch ist auch, wenn ich den 
Seriellenmonitor nicht ansehe werden scheinbar auch keine Werte 
übertragen, jedenfalls leuchtet die RX TX LED nicht, wenn ich aber ein 
Programm schreibe welches bewusst jede Sekunde etwas sendet, leuchtet 
die LED auch ohne Monitor.
Kann es sein, dass der Seriellemonitor hier nur verwirrt?
Gruß

von Cyblord -. (cyblord)


Lesenswert?

Retorte schrieb im Beitrag #3272945:

> P.S.: Arduinos sind nicht SPI-kompatibel.

Bitte? Was soll denn diese Ausage? Ich könnte dir tausend Dinge sagen, 
was Arduinos NICHT sind (gut, sinnvoll, zu empfehlen), aber SPI sollte 
damit kein Problem darstellen.

> Kann es sein, dass du keine Ahnung hast was du da machst?

Ich glaube das trifft auf dich zu.

von Nicolas S. (Gast)


Lesenswert?

Retorte schrieb im Beitrag #3272945:
> P.S.: Arduinos sind nicht SPI-kompatibel.

falsch.

von Peter (Gast)


Lesenswert?

Ähm Fachmann, Arduino --> PC über USB richtig, Arduino --> AD-Wandler 
über SPI ;)

von Peter (Gast)


Lesenswert?

Das weiß ich nicht erst seit heute was hier so rum liest :)

Also wie gesagt sobald ich das Terminal Programm starte empfange ich 
irgendwelche Signale, wenn ich es nicht offen habe, empfange ich nur 
Signale wenn diese auch gefordert werden also wie programmiert. Aber bei 
beiden Vorgängen also mit Terminal und ohne bleibt der ATmega irgendwann 
einfach hängen!

von Riddler (Gast)


Lesenswert?

Jetzt verstehe sehe ich.

Es gibt eine SPI Library für den Arduino, obwohl der SPI nicht 
beherrscht. Was für eine Verschwendung.

Na ja, ich hab ja auch keine Fachwissen. :-P

von Peter (Gast)


Lesenswert?

Gut jetzt mit dem lächerlich machen, jeder macht Fehler ;)

Nun zu meinem Problem mit dem SPI bitte :)

von Verwirrter Anfänger (Gast)


Lesenswert?

Ich muss zugeben, dass mir dein Problem noch etwas unklar ist.

Mir würde es helfen, wenn Du:
- Den Arduino Sketch posten könntest
- Eine kleine Skizee des Aufbaus anhängen würdest (Ein paar Kästen 
(Arduino, AD-Wandler, Steckdose) und Linien die die verbinden)
- Den genauen Anschluss des Wandlers an den Arduino beschreibst. (Welche 
Pins sind mit welchen verbunden?)


> Ohne dass etwas an den SPI Ports angeschlossen ist,
> bekomme ich bereits Werte angezeigt.

Das sollte normal sein, die Pins floaten halt in der Gegend rum.

von Peter (Gast)


Lesenswert?

Ok habe was gefunden. Ich lese ja nur Werte aus, wenn in einem der 
Register steht, dass werte drin sind und nach dem auslesen wird das Flag 
gelöscht. also muss irgendwo her beim auslesen die MCU der meinung sein, 
dieses flag gelesen zu haben, obwohl es real gar nicht da ist!

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
Noch kein Account? Hier anmelden.