ATtiny45(V)! - 74HC595 (China Schrott?!)

Janiiix3

Aktives Mitglied
28 Sep 2013
1.329
10
38
Hannover
Sprachen
ANSI C, C#
Liebes Forum,

habe gerade mal wieder ein wenig Zeit, mich am programmieren zu üben :p
Vor geraumer Zeit habe ich mir aus dem fernen Osten ein paar Schieberegister zukommen lassen..
Nun wollte ich diese mal ausprobieren und siehe da funktioniert mehr als verlässlich..
Die Schaltung sollte soweit okay sein?! Hat zumindest bis jetzt immer funktioniert (das programmieren).

1588930551598.png

Ab und zu habe ich das Glück den Käfer beschreiben zu dürfen / können..
Aber mehr als oft kommt die Fehlermeldung das er nicht in den Programmiermodus kommt.
Löte ich den 74HC595 herunter, funktioniert es ohne Probleme.. Habe auch schon andere von der Sorte probiert.
Mit namenhaften Herstellern gibt es überhaupt keine Probleme.

Vielleicht mal Widerstände in Reihe zu den Datenleitungen löten?.

Schönes Wochenende im voraus ;)
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.304
150
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
Hallo Jan,

du hast 74HC595 aus "dem fernen Osten" bestellt? Warum, gibts die bei uns nicht? Egal. :-D

Kurz zu dem Problem. Ich kann mir nur in etwa vorstellen, wie du deine Schaltung aufgebaut hast, weil die Signalnamen im Screenshot fehlen oder nicht sichtbar sind.

Da du nur Inputs vom 74HC595 am Mikrocontroller angeschlossen hast, sollte dies für die Programmiersignale MISO, MOSI und SCK eigentlich kein Problem darstellen. Problem könnten von den Programmiersignalen die Leitungslängen sein, je nachdem wie du es tatsächlich aufgebaut hast. Die paar pF Einhangskapazität Unterschied zwischen verschiedenen 595, ich denke nicht, dass dies eine Urache ist.

Ein weiterer Übeltäter könnte noch eine "unsaubere" Betriebsspannung sein.

10k Ohm Pullup am Reset und dieser R10 (man kann nicht erkennen an welchen Pin der geht) sollten auch kein Problem darstellen.

Also vielleicht Leitungslängen?!
Programmiersignale über Widerstände zu dem 595 könnte natürlich helfen.

Dirk :ciao:
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.329
10
38
Hannover
Sprachen
ANSI C, C#
du hast 74HC595 aus "dem fernen Osten" bestellt? Warum, gibts die bei uns nicht? Egal. :-D
Klar gibt es diese hier, nur drüben waren die halt um einiges günstiger..

Kurz zu dem Problem. Ich kann mir nur in etwa vorstellen, wie du deine Schaltung aufgebaut hast, weil die Signalnamen im Screenshot fehlen oder nicht sichtbar sind.
Wie schon erwähnt, wenn diese ausgelötet sind, funktioniert es perfekt. Leitungslänge? Ich habe schon verschiedene programmier Frequenzen versucht. Alle ohne Erfolg.

Hier mal das Layout.. Die länge kann es nicht sein.

1589012944299.png


Ein weiterer Übeltäter könnte noch eine "unsaubere" Betriebsspannung sein.
Ich habe ein sehr hochwertiges Labornetzteil als Quelle.. Kann es eigentlich auch nicht sein... Aber evtl. Abblockkondis.. Da habe ich bis jetzt noch keinen drauf auf der Platine.. Die Länge der Versorgungsleitung ist ca. 50cm Lang.. Das könnte vielleicht ein Problem sein..
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.304
150
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
Aber evtl. Abblockkondis.. Da habe ich bis jetzt noch keinen drauf auf der Platine
Das würde ich machen, 100nF X7R dicht an VCC-GND Pfad bei ICs, ggf. auch noch mal höhere Werte am Betriebsspannungseingang der Platine. Bei Schaltvorgängen hast du ansonsten eventuell Störungen im Betriebsspannungspfad.

Dirk :ciao:
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.329
10
38
Hannover
Sprachen
ANSI C, C#
Ja ich weiß, Abblockkondensatoren sind mehr als wichtig! Ich habe sie auf diesem Board nicht vorgesehen. Das ist der Fehler!
Die Leitung zum Labornetzteil scheint zu lang zu sein und damit kommt es wohl wie @Dirk schon erwähnte zu Spannungseinbrüchen.

Aber wie gesagt.. Mit namenhaften Herstellern (ST,TI, usw.) hatte ich diese Probleme nicht bzw. sind sie mir nicht aufgefallen und das programmieren verlief auch ohne weitere Probleme.
 

dino03

Aktives Mitglied
27 Okt 2008
6.729
16
38
Sprachen
BascomAVR, Assembler
Hi,

Mit namenhaften Herstellern (ST,TI, usw.) hatte ich diese Probleme nicht bzw. sind sie mir nicht aufgefallen und das programmieren verlief auch ohne weitere Probleme.
ich erinner mich da nur an alte Schaltungen in Elektor-Halbleiterheften aus den 80er Jahren. Da wurden teilsweise 40er/45er CMOS-Digital-ICs für analoge Sachen mißbraucht (weil es geht). Da stand dann auch immer bei von welchem Hersteller man die ICs dafür besorgen sollte.

Jeder Hersteller baut die innen drin ein wenig anders. Dieses Wenige kann zu kleinen aber entscheidenden Änderungen im Timingverhalten, Eingangswiderständen, Ausgangswiderständen. kapazitiven Lasten der Pins, usw führen. Manche Hersteller neigen intern eher zu LatchUps, manche weniger. Es ist eben am Ende doch alles nur Analogtechnik die in der Übersteuerung betrieben wird (Vcc=1,GND=0,dazwischen=böse) ;)

Gruß
Dino
 

kosmos

Neues Mitglied
20 Jun 2020
2
0
1
Sprachen
Assembler
Hallo Jan Homann, neben den Fehlenden Kerkos könnte es auch auch an den Leitungen liegen die sich etwas einfangen, man könnte hier die internen Pullups verwenden oder extern 10kOhm Pullup oder Pulldowns nehmen um die Leitung auf einen festen Ruhepegel zu ziehen.

Vielleicht verbrauchen die chinesischen Typen etwas mehr Strom weil sie auf einer älteren Struktur aufbauen.
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.407
62
48
Marwitz
Sprachen
BascomAVR, Assembler
Mal 'ne andere Frage: Was soll die Schaltung eigentlich machen?

Tiny -> 8-Bit-Schieberegister -> 8 LEDs (über drei oder gar vier I/Os ?)
'N Taster für die Modus-Wahl an einem weiteren I/O?
Der Schaltungsteil ganz links wird nicht weiter verwendet, oder liegt der auf irgend'nem ADC-Kanal?

Also grundsätzlich solltest Du mit dem Rechenzwerg allein problemlos 12 LEDs direkt ansteuern können (über vier I/Os),
Einen Taster am 5ten I/O.
Eingeschränkt ließe sich der 6te als ADC-Eingang nutzen - Da der /Reset erhalten bleiben soll (ISP), stünde hier nur etwa der Bereich Vcc/2..Vcc zur Verfügung.

Ohne zusätzlichem Schieberegister...
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)