INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Gelöst: Ethernet Shield, SPI, Schieberegister, Relais - irgendwie klappt's nicht
26.02.2014, 11:47 (Dieser Beitrag wurde zuletzt bearbeitet: 28.02.2014 19:23 von Thorsten Pferdekämper.)
Beitrag #1
Gelöst: Ethernet Shield, SPI, Schieberegister, Relais - irgendwie klappt's nicht
Hi,

ich bastle mir momentan ein bisschen Hardware für meine Heizungssteuerung zusammen. Auf dem Breadboard haben die einzelnen Komponenten funktioniert, aber nachdem ich alles zusammengesteckt und -gelötet habe, funktioniert die eine Hälfte gar nicht und der Rest zum Teil irgendwie wackelig.
Hier ist mein grober Aufbau:
1. Arduino Uno mit Ethernet Shield (beide sind keine Originale, sondern billig-Clones)
2. Ein Schieberegister TPIC6B595. Der serielle Eingang kommt von D6,D7,D8. Die Daten werden per shiftOut() draufgeschoben. An den Ausgängen hängen 6 Reed-Relais und ein "großes" Relais.
3. Zwei Digitalpotis (MCP 4251). Die Dinger hängen gemeinsam mit dem Etherent Shield am normalen SPI-Bus. CS-Pins sind D2 und D3.
4. Die Analogausgänge A0 bis A3 hängen über Spannungsteiler an Temperaturfühlern, die einen Widerstandswert abhängig von der Temperatur liefern.
5. A0 hängt an einem TMP36-Temperaturfühler.

Folgendes läuft schief:
1. Was am Schieberegister hängt scheint manchmal zufällig zu schalten. Außerdem klappert das Relais, wenn ich einen neuen Sketch hochlade. Das passiert nicht beim Start oder wenn ich setup() "manuell" aufrufe, sondern anscheinend beim Beenden des laufenden Sketch bevor das eigentliche hochladen beginnt. Dasselbe passiert, wenn ich den seriellen Monitor starte.
2. Die Digitalpotis liefern nicht die Werte zurück, die ich reinschreibe. Das ganze unterliegt nicht dem Zufall, sondern (z.B.) immer wenn ich "100" reinschreibe und dann einen read auf das Teil mache, kommt "67" zurück.

So, das war's jetzt erst einmal. Ich weiß, dass da viel Glaskugel-Lesen notwendig ist, um hier wirklich zielgerichtet helfen zu können. Vielleicht kann mir aber jemand einen Tipp geben, wonach ich suchen könnte oder was an obiger "Architektur" erkennbar schlecht ist. Ich bin für jegliche Anregung dankbar.

Danke&Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.02.2014, 00:04
Beitrag #2
RE: Ethernet Shield, SPI, Schieberegister, Relais - irgendwie klappt's nicht
Hi,
ich habe jetzt ein bisschen geforscht:

Die Stromversorgung ist es schonmal nicht. Ich verwende nämlich den 5V-Pin, was ja angeblich ganz böse ist. Das funktioniert aber, bzw. es macht keinen Unterschied wenn ich den offiziellen Eingang benutze.

Dann habe ich mal das Ethernet-Shield runtergenommen und den Sketch von HTTP auf Serial umgeschrieben. Das sah dann schonmal besser aus. Jetzt das Ethernet-Shield wieder drauf, aber den Sketch ohne Ethernet-Library. Ich hatte damit zumindest das Gefühl, dass die Wackelkontakte (?) wieder da sind.
...also Arduino und Shield gegen Originale ausgetauscht. Jetzt hat es erstmal funktioniert (das mit den Digitalpotis), aber noch nicht wirklich perfekt.

Ich habe den Eindruck, dass das mit Ethernet-Shield und SPI auf andere Geräte immer noch nicht so ganz funktioniert. Hat damit jemand Erfahrungen?

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.02.2014, 22:17
Beitrag #3
RE: Ethernet Shield, SPI, Schieberegister, Relais - irgendwie klappt's nicht
Hi,
so, weitere Forschungen. Ich habe jetzt meinen Sketch ganz auf Serial umgeschrieben. Auch das "echte" Ethernet-Shield (R3) zeigt noch Probleme, auch wenn ich es gar nicht verwende (Ethenet Library ist nicht includiert.)
Wenn ich das Shield ganz rausnehme, dann klappt das Ansteuern der Digitalpotis per SPI ohne Probleme. Ich habe die Dinger jetzt richtig gequält (random()...), es funktioniert perfekt.
Ich dachte, dass die neueren Ethernet-Shields das SPI-Problem nicht mehr haben. Hat jemand eine Idee?
Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
28.02.2014, 19:29
Beitrag #4
RE: Gelöst: Ethernet Shield, SPI, Schieberegister, Relais - irgendwie klappt's nicht
Jetzt habe ich mal was über Wellenwiderstand und so gelesen. Also nochmal zurück ans Breadboard und verschiedene Verkabelungen ausprobiert. Ich denke, ich hab's jetzt. Vielleicht nützt es ja jemandem:

Die Clock-Leitung der Digitalpotis (SPI, D13 am Uno) habe ich jetzt kürzer gemacht und direkt zu D13 geführt. Dann noch eine Masseleitung jeweils direkt an den GND-Anschluss der beiden Digitalpotis angeschlossen. Aus den drei Leitungen (D13, 2xGND) habe ich ein kleines Zöpfchen geflochten ("verdrillt") und die beiden GNDs an den GND-Pin direkt neben D13 angeschlossen.
Die Dinger arbeiten jetzt seit einer Stunde brav mein Testprogram ohne Fehler ab. Ich konnte sogar sämtliche delays rausnehmen.

Jetzt zum Schieberegister: Anscheinend war das Problem, dass beim Einschalten bzw. generell beim Reset die Leitungen "offen" sind. Dann gibt's durch meine lustige Verkabelung wahrscheinlich diverse Einkopplungen und schon klappern die Relais.
Ein kleiner 10kOhm Widerstand zwischen Latch (Register-Clock) und GND hat's gerichtet.

Gruß,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Arduino Uno R3, servos reagieren nicht auf die Befehle Crossedsticks 5 259 22.02.2017 22:42
Letzter Beitrag: Binatone
  4-fach Relaiskarte HL-54 zieht nicht richtig an. Kriskind 13 461 12.02.2017 23:51
Letzter Beitrag: Tommy56
  SM5100B GSM shield huber5093 2 190 01.02.2017 04:19
Letzter Beitrag: bergfrei
  CNC Shield V3 + Nema 17 relay 2 502 26.12.2016 15:01
Letzter Beitrag: Ralla1
  Grundsatz Frage: Ethernet Shield 2 + SQL-Anbindung Beercules 7 399 16.12.2016 13:40
Letzter Beitrag: ardu_arne
  ws2812b + nodemcu Ich finde den Fehler nicht. Tha_Coralis 16 919 15.12.2016 18:37
Letzter Beitrag: Harry Hirsch
  USB-Gerät wird nicht erkannt kpc 4 512 13.12.2016 15:48
Letzter Beitrag: René Hitz
  Parallel Load Serial Out Schieberegister Laura 4 309 11.12.2016 03:33
Letzter Beitrag: Bitklopfer
  Bluetooth-Steuerung mit elegoo uno funktioniert nicht Matthias_Arduino 0 410 01.11.2016 19:47
Letzter Beitrag: Matthias_Arduino
  Schrittmotor ruckelt beim Start und im laufenden Betrieb - Arduino+Motor Shield grt35a 3 637 21.09.2016 06:56
Letzter Beitrag: Bitklopfer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste