Tag zusammen, Hab hier ein 74HC595 über SPI mit einem Arduino Uno angesteuert, was auch super funktioniert, aber sobald ich ein zweites 74HC595 an das erste anknüpfe bleiben alle Ausgänge des ersten Registers und lediglich der Q0 Pin des zweiten an. Sobald ich mit einem Messgerät den SCK-, also den Shift Clock Pin berührer läuft das Programm wie gewollt... Was könnte das sein?
Neues Aufbauen und Nutzen von anderen Pins bringt bisher nichts, aber Schlüsselbund am Pin während ich ihn in der Hand halte... Reicht die Spannung vielleicht nicht um 2 Schieberegister mit dem Takt zu versorgen?
http://www.mikrocontroller.net/wikifiles/a/ac/Mega8-595-2.gif Lediglich noch LEDs an jedem Ausgang mit 470 Ohm Vorwiderstand
100nF Abblockkondensatoren zwischen Vdd und Vss an den ICs?
:
Bearbeitet durch User
http://www.mikrocontroller.net/articles/Kondensator#Siebkondensator Poste ein Bild von deinem Aufbau unter Beachtung der Bildformate.
Wenn die Schieberegister tatsächlich genau so wie im Schaltplanausschnitt angeschlossen sind, ist es ein Wunder, dass es überhaupt einen funktionsfähigen Zustand gibt. Es fehlen nämlich die Versorgungsspannungsanschlüsse. Hast Du die Schieberegister direkt mit den Prozessorpins verbunden? Dies wäre doch eher ungewöhnlich. Folglich ist davon auszugehen, dass im Schaltplan dann auch noch die verwendeten Steckverbinder fehlen. Folglich hat der von Dir vorgelegte Schaltplanausschnitt vermutlich überhaupt nichts mit Deiner tatsächlichen Schaltung zu tun. Wieso glauben so viele Anfänger, sinnvolle Hilfestellung zu bekommen, indem sie vorsätzlich falsche Informationen liefern?
Dann erhebt sich auch noch die Frage, wie das Programm aussieht. Wäre nicht das erste mal, dass jemand an Ausgangspins lediglich den Pullup zu und weg schaltet, weil er vergessen hat die Pins auch tatsächlich auf Ausgang zu stellen. Ergo: Es kann die Hardware sein, es kann aber auch die Software sein. Such dir was aus.
Max H. schrieb: > 100nF Abblockkondensatoren zwischen Vdd und Vss an den ICs? Zurzeit leider nur <10nF Kerkos da, diese machen zumindest keinen Unterschied. Falk Brunner schrieb: > Poste ein Bild von deinem Aufbau unter Beachtung der Bildformate. Siehe Anhang, zurzeit ohne LEDs am zweiten Schieberegister. Karl Heinz schrieb: > Ergo: > Es kann die Hardware sein, es kann aber auch die Software sein. > Such dir was aus. Dann such ich mir wohl die Hardware aus, es funktioniert ja unter Umständen (Ein Kontakt des DMM anlegen/ Schlüssel in der Hand).
1 | #include <SPI.h> |
2 | |
3 | int latchpin = 2; |
4 | int data1; |
5 | int data2; |
6 | int count; |
7 | |
8 | |
9 | void setup(){ |
10 | pinMode(latchpin, OUTPUT); |
11 | digitalWrite(latchpin,LOW); |
12 | |
13 | SPI.begin(); |
14 | SPI.setBitOrder(LSBFIRST); |
15 | SPI.setClockDivider(2); |
16 | SPI.setDataMode(SPI_MODE2); |
17 | } |
18 | |
19 | void loop(){ |
20 | if(data2>=254) |
21 | { |
22 | data2>>=1; |
23 | count=0; |
24 | } |
25 | else |
26 | { |
27 | data2>>=1; |
28 | data2 |= (1 << 7); |
29 | count++; |
30 | |
31 | } |
32 | |
33 | data1 = getData1(); |
34 | |
35 | digitalWrite(latchpin,LOW); |
36 | SPI.transfer(data1); |
37 | SPI.transfer(data2); |
38 | digitalWrite(latchpin,HIGH); |
39 | delay(500); |
40 | } |
41 | |
42 | int getData1(){ |
43 | switch(count){ |
44 | case 0: |
45 | return 0b10000001; |
46 | case 1: |
47 | return 0b01000010; |
48 | case 2: |
49 | return 0b00100100; |
50 | case 3: |
51 | return 0b00011000; |
52 | case 4: |
53 | return 0b00011000; |
54 | case 5: |
55 | return 0b00100100; |
56 | case 6: |
57 | return 0b01000010; |
58 | case 7: |
59 | return 0b10000001; |
60 | |
61 | } |
62 | |
63 | } |
Wirkt das nur so oder ist GND und/oder Vcc wenigsten beim zweiten IC nicht angeschlossen. Die Verbindung zwischen Abblockkondensator und den Vcc/GND Pins sollte so kurz wie möglich sein.
Wirkt nur so, von der VCC bzw. GND Schiene ist der Abblockkondensator direkt verbunden, ohne Kabel
Zumindest sieht die ganze Anordnung seltsam aus. Man kann es nicht wirklich gut erkennen, aber von hier wirkt es so, als ob die Versorgungspannung DURCH die Kondensatoren durch geht. Da müssten eigentlich Drahtbrücken sein, die von jedem IC jeweils von Vcc bzw. GND direkt auf die Vcc bzw. GND Schiene des Steckbretts geht. Ich kann diese Brücken aber auf dem Photo nicht identifizieren. Auf dem 2.ten 595 ganz sicher nicht, auf dem ersten ist das durch den Drahtverhau schwer zu erkennen.
:
Bearbeitet durch User
Ich glaube Schaltplan und Aufbau stimmen immer noch nicht überein! Zeichen mal wie du es WIRKLICH aufgebaut hat! Edit: So geht das mit den Abblock-Cs
:
Bearbeitet durch User
@ Thorsten (Gast) >Wirkt nur so, von der VCC bzw. GND Schiene ist der Abblockkondensator >direkt verbunden, ohne Kabel FALSCH! VCC und GND SIND NICHT ANGESCHLOSSEN! Und du sollt doch um Willems Willen keine Kondensatoren in REIHE zwischen GND/VCC zum IC machen sondern PARALLEL! GRUNDLAGEN! GRUNDLAGEN! GRUNDLAGEN! GRUNDLAGEN! GRUNDLAGEN! GRUNDLAGEN!
Thorsten schrieb: > GND Schiene ist der Abblockkondensator > direkt verbunden, ohne Kabel http://img1.wikia.nocookie.net/__cb20130612010003/cardfight/images/5/50/I-dont-want-to-live-on-this-planet-anymore.png SCNR
:
Bearbeitet durch User
Steinigt mich, der Neuling hat einen Fehler gemacht, er sollte wohl lieber sich auspeitschen und einsperren lassen,zusätzlich ein paar Jährchen im Exil Bücher lesen... Hab mich halt noch nicht so intensiv damit beschäftigt, grade zum ersten mal was von Abblockkondensatoren gehört
Das von den Abblock-Cs könnte man noch entschuldigen. Es sollte aber, auch von einem Anfänger, nicht zu viel verlang sein, dass der reale Aufbau mit dem Schaltplan übereinstimmt. Ich habe nicht viel Ahnung von Arduino, aber versuche mal die SPI-Pins auf Output zu stellen.
:
Bearbeitet durch User
Schaltplan halt zuerst gemacht, und danach dass mit den Kondensatoren versucht...
Thorsten schrieb: > Max H. schrieb: >> So geht das mit den Abblock-Cs > > Danke, leider funktioniert es trotzdem nicht -> neues Photo. Sorry, aber nach diesem Lapsus traue ich dir nicht mehr über den Weg. Aber bitte eines auf dem man die Kabel verfolgen kann ohne Raten zu müssen. Auch einem Neuling sollte klar sein, dass ein IC zuallererst mal direkt an Vcc bzw. GND angeschlossen wird.
:
Bearbeitet durch User
Max H. schrieb: > Ich habe nicht viel Ahnung von Arduino, aber versuche mal die SPI-Pins > auf Output zu stellen. Ich denke, das macht die SPI Klasse schon selbst. Zumindest wäre das logisch und das was ich von einer vernünftig designten Klasse erwarten würde. Was ja auch auf viele Arduino Klassen auch tatsächlich zutrifft.
:
Bearbeitet durch User
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.