Hallo Leute!
Ich will eine Uhr basteln, habe aber ein ziemlich großes Problem. Ich
hab einen PIC16F690 und steuere damit zwei 8bit Schieberegister
(SN74HC595) an welche je 2 BCD-to-7-Segment Decoder (CD4056) ansteuern.
Mein Problem sind diese insgesamt 6 ICs (ausgenommen der PIC, welcher
das macht was er soll). Die müssen irgendwie so störanfällig sein, das
oft die Zahlen wir durcheinander ausgeben bzw. mal so blinken, auch wenn
man mit der Hand in die Nähe dieser Bausteine fährt merkt man das schön.
Ich weiß nicht ob das normal ist oder ob ich einen andere Fehler habe.
Ein Quarz auf der Schaltung stört hoffentlich nicht, was ich aber auch
nicht weiß.
Ein Bild der Schaltung ist im Anhang und hier noch ein Video:
http://www22.zippyshare.com/v/23170842/file.html
Ist die Platine beidseitig bestückt? Wenn nicht ist bei einigen
Transistoren ein Pin nicht verlötet. Generell brauchen TTL ein kleinen C
an der Versorgungsspannung (in Chipnähe nicht 3cm weiter).
100kOhm zum Transistor, meinst du, du hättest die Basisleitung nicht
auch einfach weglassen können ?
Und 100nF am Spannungsregler, aha, sehr schön, bischen gross vielleicht,
aber sprach nicht mal jemand davon, daß 100nF auch nah an fast jedem IC
sitzen sollten, vor allem wenn die Stromzuführungsleitungen im grossen
Bogen ankommen ?
Ich geh mal davon aus, daß alle Drähte, die nicht oben angelötet sind,
dann wenigstens von unten angelötet sind, und der IC, der fehlt, spielt
hoffentlich keine Rolle.
Die HC595 laufen bei mir immer sehr zuverlässig.
Ohne Schaltplan kann man allerdings nicht sagen, was Du falsch gemacht
hast.
Extra Decoder-ICs sind sehr ungebräuchlich.
Üblicher Weise nimmt man für jede Anzeige einen HC595, spart schonmal 2
ICs ein.
Und ein Tabellenzugriff auf die 10 Bitmuster ist für jeden MC ein
Klacks.
Hier mal ein Layout für 21 Anzeigen, läuft wie dumm:
Beitrag "Re: Programmer mkII gibt auf"
Peter
@prx:
wusste ich nicht dass man welche braucht, also werd ich nun welche
einlöten.
@feuerstein:
die Platine ist zwar nur einseitig bestückt aber auf jeder Seite gibts
Leiterbahnen, deswegen sind auch wie ich schon geschrieben hab nicht
alle Pads angelötet, die sind auf der anderen Seite angelötet...
ich bin kein meister der elktronik deswegen wusste ich das mit den
kondis nicht, werd aber deinem rat folgen
@mike: was meinst du mit definiertem pegel, wenn du die spannung meinst,
dann nein weil es gibt auch ungenutze pins, außer denen hat jeder das
was er braucht ;) Software arbeitet richtig^^ und wie gesagt von den
kondis wusste ich nix
@Mawin: was heißt die leitung zum transistor weglassen? das sind doch
keine 100kOhm wenn man ne leitung weglässt sondern MegaOhm...
Spannungsregler habe ich aus dem Datenblatt genommen und der
funktioniert ja auch wie er soll^^
und zum 4. mal die kondis werd ich jetzt wo ich es weiß einlöten^^
@hacky:
Ja die GND Plane kan ich doch jetzt nach der Platinenfertigung nicht
mehr draufmalen, und unbedingt nötig ist sie auch nicht, denke ich...
Fazit: Danke an alle die mir den Tipp mit dem Kondensator gegeben haben,
werde ich befolgen^^
Manuel H. schrieb:> @mike: was meinst du mit definiertem pegel, wenn du die spannung meinst,> dann nein weil es gibt auch ungenutze pins, außer denen hat jeder das> was er braucht ;) Software arbeitet richtig^^ und wie gesagt von den> kondis wusste ich nix
Ungenutzte Eingangs-Pins müssen einen definierten high oder low Pegel
haben. Floaten ist ganz schlecht, denn die Eingänge sind sehr hochohmig
und fangen jede Störung wie eine Antenne auf.
Nibbler schrieb:> Das mit der Hand ist imho nen deutliches Zeichen das einer der Eingänge> quasi in der Luft hängt. Ich tippe mal auf /OE
Dann würden z.B. zeitweise die Eingänge der Decoder floaten und so sieht
es tatsächlich aus.
MaWin schrieb:> 100kOhm zum Transistor, meinst du, du hättest die Basisleitung nicht> auch einfach weglassen können ?
Die Basiswiderstände erlauben bei 5V nur einen Basisstrom von
(5-0,7)/100k.
Ob das wohl für einen ausreichenden Kollektorstrom sorgt?
>was meinst du mit definiertem pegel
Nicht frei schwebend in der Luft hängen lassen damit der IC sich was
zwischen true und false aussuchen darf.
HÄähähähä^^ähähä^^
Klaus 2m5 schrieb:> MaWin schrieb:>> 100kOhm zum Transistor, meinst du, du hättest die Basisleitung nicht>> auch einfach weglassen können ?>> Die Basiswiderstände erlauben bei 5V nur einen Basisstrom von> (5-0,7)/100k.> Ob das wohl für einen ausreichenden Kollektorstrom sorgt?
Stichwort Schalterbetrieb:
http://www.elektronik-kompendium.de/sites/slt/0208031.htm
Michael L. schrieb:> Klaus 2m5 schrieb:>> Michael L. schrieb:>>> Stichwort Schalterbetrieb:>>> http://www.elektronik-kompendium.de/sites/slt/0208031.htm>>>> Wenig hilfreich in diesem Zusammenhang. Die notwendige Berechnung des>> Basiswiderstands wird gar nicht erst erwähnt. Besser hier:>> http://www.mikrocontroller.net/articles/Basiswiderstand>> Hatte auf die Schnelle nichts anderes gefunden.>> Danke für den Hinweis, gute Teamarbeit.
Also die LEDs leuchten ja, damit ist kein Problem.
Aber dann wegen den Float-Pins könnte ich auch noch verbessern, nur weiß
ich nicht wo ich den Strobe-Pin (1) vom CD4056BE anhängen soll, ich habe
nirgendwo eine eindeutige Erklärung dieses Pins im Datenblat oder wo
anders gefunden.
/OE hängen aber alle an Masse.
Btw. hab manchmal dass Problem dass erst wenn ich mit der Hand hingehe
sich die Zahl aktualisiert, ich tippe mal dass das dann wohl eh der
Strobe ist, der vielleicht mit der Speicherung zu tun hat, aber wie
gesagt habe dazu nicht wirklich was gefunden.
Manuel H. schrieb:> Aber dann wegen den Float-Pins könnte ich auch noch verbessern, nur weiß> ich nicht wo ich den Strobe-Pin (1) vom CD4056BE anhängen soll, ich habe> nirgendwo eine eindeutige Erklärung dieses Pins im Datenblat oder wo> anders gefunden.
Strobe muss high sein, also auf V(DD) Potential. Der 4056 ist ja
eigentlich ein LCD Treiber. Was hast Du auf Pin7 V(EE)? Ist V(DD) Pin16
5V und V(SS) Pin8 Ground?
Solange Du hier keine Schaltung postest, wird das eine endlose
Rumraterei.
Wie ich zwei Posts vorher geschrieben habe sind das die Eingänge die
frei schweben deswegen dieses X in der Zeichnung. Auf welches Potential
muss ich die denn legen bzw. für was sind diese Eingänge im Decoder
zuständig, gibts wo eine schöne Erklärung?
Manuel H. schrieb:> für was sind diese Eingänge im Decoder> zuständig, gibts wo eine schöne Erklärung?
Pin 1 = Strobe; das muss auf log. 1 liegen (=Vcc), damit werden die
BCD-Eingänge übernommen. Sonst (bei log. 0) werden die Werte verwendet,
die beim Letzen "1" an den Eingängen lagen.
Gruß Dietrich
Hallo,
ja, Erklärung gibt es, das Datenblatt des ICs...
Strobe ist die Steuerung für das Ausgangs-Latch.
Mit STB = H werden die dekodierten BCD-Signale an die
Siebensegment-Ausgänge durchgereicht, mit STB = L behalten die Ausgänge
den Status bei, der zuletzt mit STB = H anlag.
Macht z.B. Sinn, wenn man mehrere Decoder mit einem gemeinsamen 4-Bit
Bus ansteuern will.
Gruß aus Berlin
Michael
Hallo,
ja. Das die 4056 LCD-Treiber sind und nur L-Ausgangsströme um 3-4mA
können, ist Dir bewußt?
@Dietrich L. (dietrichl): nu is aber gut mit dem zeitgleich posten...
;-))
Gruß aus Berlin
Michael
Nein, bwusst ist mir dass mit dem Strom nicht, aber durch die
Transistoren mit 100kOhm fließen eh nur ein paar µA, dass heißt da werd
ich kein Problem mit haben oder war das jetzt auf was anderes bezogen?
Michael U. schrieb:> @Dietrich L. (dietrichl): nu is aber gut mit dem zeitgleich posten...> ;-))
Ich darf auch mal schneller sein, wo doch sonst kein Geschenk bekommen
habe ;-(
Alles Gute => Dietrich
> hier ist meine Schaltung:
Seit wann nennen Leute das willkürliche Zusammenschieben von Bauteile
Schaltplan ?
Schaltpläne sind verdrahtet, nicht rätselspiele welcher Pfeil denn nun
zu welchem gehören möge.,
Mann ist die Jugend heute rattenfaul.
> durch die Transistoren mit 100kOhm fließen eh nur ein paar µA,> dass heißt da werd ich kein Problem mit haben
Es war zwar wohl nicht die Ursache deines Problems,
aber korrekterweise müsste mindestens 1/20 des Kollektorstroms
in die Basis fliessen.
Dank deines "Schaltplans" weiß natürlich kein Schwein,
welcher Kollektorstrom nun von unbekannter Ub über
unbekannte Reihen/Parallelschaltung von LEDs über
deine 33 Ohm durch die BC547 fliesst, die 1/20 davon
musst du also selbst ausrechnen, daher hat dir jemand
die Seite mit der Erklärung verlinkt.
MaWin schrieb:> Mann ist die Jugend heute rattenfaul.
Oh wie recht du hast. Die jugen Leute sind sogar zu faul, die ganze
Teiler-/Zähler-Geschichte diskret aufzubauen, und setzen statt dessen so
einen schnöden Mikroprozessor ein. ;-)
Aber dann sind sie wiederum zu faul, das Ganze zu Ende zu bringen ...
Ehrlich Manuel, schmeiß den ganzen Scheiß weg, und baue mit RB5-8 sowie
RC0-7 ein gescheites Multplexing für deine 4-stellige 7-Segment-Anzeige.
SCNR
Je mehr Bauteile eine Schaltung hat, desto geringer die
Wahrscheinlichkeit dass sie geht. Ich habe vor einiger Zeit eine Uhr
realisiert mit einem µC, der hat in ein TLC5916 die 7 Segmente geladen
und über ein 74HC595 + Treiber + Mosfets die verschiedenen Stellen
durchgeschaltet - das hat sehr gut funktioniert (abgesehen davon dass
ein einzelner 5916 umständlich und teuer zu beschaffen ist)...
Also die letzten Posts find ich schon ein bisschen gemein. Was heißt ich
soll das wegschmeißen, nur weil ich nicht gleich alles richtig habe. Man
kann froh sein, dass ich überhaupt was bauen will, denn die Jugend,
zumindest in Österreich ist nur mit Fortgehen (Saufen in i-welchen
Discos) beschäftigt und nicht mit Elektronik.
Was heißt ich bin zu faul das zu Ende zu bringen, im Gegenteil, oder
glaubst du ich stelle meine Fragen zum Spaß und mach dann nichts an
meinem Teil weiter. Und warum soll ich nicht mit Mikroprozessoren
arbeiten, wenn es mit denen einfacher geht und ich mich damit auskenne,
im Gegenteil kenne ich fast keine standardmäßig produzierten ICs wie
eben diese, welche ich in meiner Schaltung verwende. Also bin echt
entäuscht von den Leuten der letzten Kommentare...
Vorallem lerne ich nirgends so komplexe Schaltungen zu bauen, also darf
ich als 18 Jähriger doch wohl weniger Verständnis haben als Leute hier,
die vielleicht täglich damit arbeiten. Ich gehe nur auf eine Höhere
Technische Schule und selbst dort lernt man nicht alles.
Dann zum Schaltplan... wenn du nachdenken würdest, würdest dus chnell
draufkommen dass bei sovielen Anschlüssen nur mehr Leitungen über
Leitungen sind und man irgendwann gar keinen Durchblick mehr hat,
außerdem diente mir dieser SCHALTPLAN als Vorlagen für das PCB, welches
ich mir dann geätzt habe.
Bezüglich des Kollektorstroms habe ich an der Schule gelernt IC = IB * b
wobei b bei BC547C an die 400 aufwärts ist, was ich im Datenblatt
nachgelesen habe. Kann aber auch sein dass ich da was falsch verstanden
habe, naja zumindest funktionieren die LEDs so wie sie sollen, habe die
LED-Kreise vorher ja am Steckbrett ausprobiert.
> Bezüglich des Kollektorstroms habe ich an der Schule gelernt> IC = IB * b wobei b bei BC547C an die 400 aufwärts ist
Das passt nicht, weil das nur für den hier unerwünschten analogen
Linearbetrieb des Transistors gilt, und nicht für den Schaltbetrieb, für
den z.B. die Maximalstromangaben im Datenblatt angegeben sind.
Du hast doch den Link von Klaus 2m5 bekommen,
warum liest du ihn nicht ?
Es klappt auch meist bei rot über die Strasse zu gehen,
es ist trotzdem keine gute Idee.
Ich sehe bei deinen "an-nen" LEDs deutliche
Helligkeitsschwankungen.
Manuel H. schrieb:> Also die letzten Posts find ich schon ein bisschen gemein. Was heißt ich> soll das wegschmeißen, nur weil ich nicht gleich alles richtig habe.
Wer im Internet fragt, der riskiert auch mal, dass nicht nur
konstruktive Antworten kommen, sondern auch welche von Forentrollen. Von
Leuten, denen es Spass macht, andere ernsthaft zu ärgern. Oder von
Leuten, deren Konto für Diplomatie grad schwer in den roten Zahlen ist
und vielleicht erst wieder im neuen Jahr aufgefüllt wird.
Allerdings hilft es beim Klima von Antworten auch, wenn man selber in
Vorleistung geht und den Schaltplan nicht erst bei der dritten Rückfrage
nachliefert.
So schlecht sieht die Schaltung jetzt auch wieder nicht aus, daher
verstehe ich das rumtrollen auch nicht.
Ich würde vielleicht auf Software tippen. Mache mal zwischen den
Signal-Wechsel (zum 595er) immer mal wieder Wartezeiten rein und wechsle
nur 1 Bit nicht 2 gleichzeitig.
Es kann gut sein, dass dies falsch programmiert ist und es tut zufällig
meist richtig.
Ich hatte damit in meinen Anfängen auch zu kämpfen.
an Mawin: wo siehst du HelligkeitsSchwankungen
an mmvisual: ich weiß gerade nicht welches Problem du von mir zu lösen
versuchst zumindest funktioniert jetzt die stundenanzeige wie sie soll
aber nicht die minutenanzeige, welche immer noch flackert, aber im
Moment habe ich mit dem pic gerade andere Probleme welche ich erstmal
beheben muss bevor ich mich wieder der MinutenAnzeige zuwende
Um es nochmal zusammenzufassen:
Strobe-Eingang der 4056er muss auf high.
Neu:
Q13 braucht einen Basiswiderstand, sonst Rauchwolke, hat aber nicht
direkt mit Deinen Problemen zu tun.
Sonst habe ich nichts auffälliges entdeckt.
Wenn möglich, die Eingänge der Dekoder mit einem Scope prüfen.
Hilfsweise zwei LED (eine für high und eine für low) mit einem
hochohmigen Vorverstärker nehmen und auf Flackern achten.
Für Deine nächsten Projekte:
Es geht auch ohne Dekoder und Shifter mit Hilfe einer gemultiplexten
Matrix. Der Sinn eines µC ist ja, mit möglichst wenigen Bauteilen
auszukommen.
Miss doch mal die Spannung U(CE) über einem der durchgeschalteten BC547.
Und wenn Du dich dann wunderst, schau Dir im Datenblatt von Deinem
BC547C das Diagram "Collector Saturation Region" an. Danach wirst Du
wissen, ob Deine 100k Basiswiderstände zu hoch sind.
Ja der Basiswiderstand für Q13 fehlt leider in der Schaltung was mir
nach dem ätzen aufgefallen ist, habe den eh schon ziemlich am Anfang auf
der Platine aber nicht in der Schaltung korrigiert, Strobe sind schon
lange auf high und mit dem UCE das hat 285mV.
Wenn bisher nichts geholfen hat, hilft nur noch messen. Nach Schaltbild
müsste es so funktionieren. Ich sehe im Schaltbild allerdings keine
Tasten zum Stellen der Uhrzeit. Möglich, dass sich der PIC noch
irgendwas einfängt...
Beim BC547 würdest Du mit 4,7k Basiswiderstand (~1mA Basisstrom) und
20mA Kollektorstrom bei etwas 100mV U(CE) landen, aber 285mV U(CE) ist
jetzt nicht so schlecht, dass man die bestehende Schaltung unbedingt
ändern müsste.
Lese schon ne weile mit...
Könnte es am falschen SPI Modus liegen?
Gibt doch da vier Möglichkeiten. Phasenlage Clock/Daten und Ruhepegel
aufm Clock. Wenn man Glück hat, und die Daten werden trotzdem noch
geradeso übernommen, dann kann es sein, das durch Fremdeinwirkung/
kapazitive Belastung das eben nicht mehr zeitlich passt, oder Scheidet
das hier definitiv aus?
Gruß
Axelr .- .-.
Weiß grad net was du mit SPI Modus meinst aber ich habe einiges jetzt am
Programm geändert auch verwende ich jetzt nur den internen Takt, weil
das mit dem Quarz nur Probleme gemacht hat, welche so verschieden wären
wie Farben, kaum hat man eines gelöst tritt ein anderes auf und ja kA.
Mein jetziges Problem ist dass die Minutenanzeige immernoch flackert,
die Stundenanzeige aber funktioniert. Und wenn man mit der Hand hingeht
zu den ICs, die die Minuten ansteuern, bringt es nicht wirklich was, die
Flackermuster scheinen sich zu ändern, wenn ich aber mit dem OSCI
drangehen will um die Quelle des Flackerns zu ermitteln und die Masse
vom Tastkopf in die Schaltung häng hört das auf zu flackern und bleibt
schön auf der Zahl, aber die Zahl aktualisiert sich nicht mehr.
Das ist so komisch, das ganze.
Ich habe doch schon die Kondensatoren genau so wie bei den
Stundenanzeigen. Das Programm läuft schon einwandfrei so wie ichs haben
will nur mehr die Minutenanzeige muss gscheit laufen damit die Uhr
fertig ist.
Kaputt können die ICs nicht sein, denn egal wie ich sie tausche es
spackt immer nur die Mintuenanzeige rum.
Hab sogar einen extra 100nF Kondensator zugehängt, hat nix gebracht, was
könnte da noch sein?
Aah, du steuerst die 595er "zu Fuß" an. na da kann einiges im Argen
sein.
hast Du die Firmware schon mal gezeigt, sodass mal jemand draufsehen
kann? Ist hier zwar eher AVR-lastig, aber auch nen PIC Assembler kriegen
wir gerade noch hin, oder?
Frohes/n[Guten]:
-REST
-FEST
-RUTSCH
Axelr .- .-.
Manuel H. schrieb:> ... wenn ich aber mit dem OSCI> drangehen will um die Quelle des Flackerns zu ermitteln und die Masse> vom Tastkopf in die Schaltung häng hört das auf zu flackern und bleibt> schön auf der Zahl, aber die Zahl aktualisiert sich nicht mehr.
Hört sich nach Problemen mit der Masseverteilung an. Durchkontaktierung
vergessen? Miss doch mal die Masse an verschiedenen Punkten der Platine.
Dabei sollte der Tastkopf direkt am Netzteileingang geerdet bleiben.
Achte auf Spikes und Potentialverschiebungen im 100mV Bereich. Die ICs
können sich ihre Masse (und VDD) über die Schutdioden an den Eingängen
selbst machen, sind aber immer leicht verschoben gegen das echte
Massepotential. Miss auch die 5V an allen ICs.
So, erstmal was heißt ich steuere die 595er zu Fuß an? Dann die FIrmware
kann ich euch zeigen, die ist aber nicht in Assembler sonder in C
(Hi-Tech C Compiler) geschrieben.
Durchkontaktierungen sind auf unserer Schule nicht möglich, deswegen
habe ich einfach auf beiden Seiten der Platine die Pads gelötet, wo auch
auf jeder Seite Leiterbahnen verlaufen.
Masseprobleme? Ich bin am Messen, mal schauen was sich ergibt...
Manuel H. schrieb:> Also die letzten Posts find ich schon ein bisschen gemein. Was heißt ich> soll das wegschmeißen, nur weil ich nicht gleich alles richtig habe. Man> kann froh sein, dass ich überhaupt was bauen will, denn die Jugend,> zumindest in Österreich ist nur mit Fortgehen (Saufen in i-welchen> Discos) beschäftigt und nicht mit Elektronik.
Wie groß soll ich denn die Ironie-Tags noch machen! Und wenn hier du
fragst, aber über die Antworten nicht nachdenkst sondern gleich
beleidigt bist, was soll ich dann machen?
> Was heißt ich bin zu faul das zu Ende zu bringen, im Gegenteil, oder> glaubst du ich stelle meine Fragen zum Spaß und mach dann nichts an> meinem Teil weiter. Und warum soll ich nicht mit Mikroprozessoren> arbeiten, wenn es mit denen einfacher geht und ich mich damit auskenne,> im Gegenteil kenne ich fast keine standardmäßig produzierten ICs wie> eben diese, welche ich in meiner Schaltung verwende. Also bin echt> entäuscht von den Leuten der letzten Kommentare...
Was du wohl nicht verstanden hast: Was du da gebaut hast, ist nichts
halbes und nicht Ganzes. Auf der einen Seite willst du was mit einem
Mikrocontroller machen, machst aber dieses Gewurstel hinten dran. Dabei
hast du genug Anschlüsse an deinem PIC, um deine Anzeige damit multiplex
anzusteuern!
> Vorallem lerne ich nirgends so komplexe Schaltungen zu bauen, also darf> ich als 18 Jähriger doch wohl weniger Verständnis haben als Leute hier,> die vielleicht täglich damit arbeiten. Ich gehe nur auf eine Höhere> Technische Schule und selbst dort lernt man nicht alles.
Fange mit einfachen Schaltungen an!
> Dann zum Schaltplan... wenn du nachdenken würdest, würdest dus chnell> draufkommen dass bei sovielen Anschlüssen nur mehr Leitungen über> Leitungen sind und man irgendwann gar keinen Durchblick mehr hat,> außerdem diente mir dieser SCHALTPLAN als Vorlagen für das PCB, welches> ich mir dann geätzt habe.
Das Lesen solcher Schaltpläne ist halt nicht Jedermanns Sache (->
MaWin), nun ja ...
> Bezüglich des Kollektorstroms habe ich an der Schule gelernt IC = IB * b> wobei b bei BC547C an die 400 aufwärts ist, was ich im Datenblatt> nachgelesen habe. Kann aber auch sein dass ich da was falsch verstanden> habe, naja zumindest funktionieren die LEDs so wie sie sollen, habe die> LED-Kreise vorher ja am Steckbrett ausprobiert.
Du hast mehrfach die wichtigen Hinweise bzgl. Schalterbetrieb ignoriert,
und darauf beharrt, Recht zu haben, nur weil deine LEDs ja auch so
irgendwie leuchten. Das ist nicht besonders klug.
Grüße.
A. K. schrieb:> Manuel H. schrieb:>>> Also die letzten Posts find ich schon ein bisschen gemein. Was heißt ich>> soll das wegschmeißen, nur weil ich nicht gleich alles richtig habe.>> Wer im Internet fragt, der riskiert auch mal, dass nicht nur> konstruktive Antworten kommen, sondern auch welche von Forentrollen. Von> Leuten, denen es Spass macht, andere ernsthaft zu ärgern. Oder von> Leuten, deren Konto für Diplomatie grad schwer in den roten Zahlen ist> und vielleicht erst wieder im neuen Jahr aufgefüllt wird.
Man bekommt vor allem nicht immer die Antworten, die man sich wünscht.
Und es ist nicht besonders klug, diese deshalb zu ignorieren, weil man
so die Diplomatie-Konten der Helfer arg strapaziert.
> Allerdings hilft es beim Klima von Antworten auch, wenn man selber in> Vorleistung geht und den Schaltplan nicht erst bei der dritten Rückfrage> nachliefert.
Da hast du Recht.
Grüße
Manuel H. schrieb:> Also Probleme mit der Masse hab ich keine nur 20mV Unterschied> maximal...
Ich vermute mal, Du hast mit einem Multimeter gemessen, d.h.
Gleichspannung. Wenn das so ist: das ist schon mal gut, aber nicht
ausreichend. Richtig messen geht da nur mit Oszi, und das ist auch nicht
einfach!
Du musst das Ganze hochfrequenzmäßig betrachten, denn Du hast steile
Flanken = hochfrequente Anteile. Und eine Leiterbahn/Leitung hat eine
Induktivität. Und da fällt dann für eine kurze Zeit eine höhere Spannung
ab. Das kann zu ungewollten Zuständen und damit zu falscher Funktion
führen. Daher ist immer eine (HF-mäßig) solide Masse erforderlich! Das
Beste ist z.B. eine ganze Leiterplattenseite als GND, was bei Dir
natürlich nicht mehr geht.
Daher probiere es mal mit einem Netzwerk dickerer GND-Leitungen. Man
kann ja mal testweise mit einigen wichtigen Verbindungen anfangen.
Es kann aber auch sein, dass das Timing zum Steuern der Schieberegister
nicht gut ist (wie z.B. erst Daten, dann Clockflanke etc.). Ich habe mir
allerdings Deine SW dazu nicht angeschaut.
Gruß Dietrich
> Es kann aber auch sein, dass das Timing .). Ich habe mir> allerdings Deine SW dazu nicht angeschaut.>> Gruß Dietrich
Genau darauf zielte ich ab, als ich ihn bat, die SW zu zeigen. Es liegt
mit Sicherheit an der Taktung und NICHT am Layout. Clockimpulse zu
schmal? Bin gerade mobil und nur mitm HTC"bewaffnet". Da ists schwierig,
genau nachzusehn...
Axelr .- .-.
Ich habe schon mit dem Oszi gemessen (ISO-Tech IDS 8062) und dabei die
Masse vom Tastkopf an den Masse-Eingang von der Netzteil-Buchse gehängt,
und ja mein Timing ist auch erst Daten dann Clockflanke, ich dachte das
macht man so, meine Software ist eh oben bei einem Post als Anhang dabei
(LED-Wanduhr.c) Aber da isdt dann wieder ein Problem was ich nicht
verstehe, nämlich die STundenanzeige funktioniert ja wunderbar, wieso
dann die Minutenanzeige nicht, wenns doch softwaremäßig genau gleich
ist?
@michaelix: ich hab nicht drauf behaart recht zu haben, sondern wollte
kein Problem gelöst bekommen, das nicht besteht, bzw. nicht alle 30
Widerstände nochmal auslöten, neue kaufen und einlöten wen das eh
funktioniert.
An Multiplexing habe ich in gewisser weise eh gedacht, nur wusste ich
das nicht wie ich das mache, weiß nur wie es mit Taster (Keypad)
funktioniert, also quasi als Demultiplexing, naja und weils für mich so
einfacher ist mache ich es halt so und nicht anders wo ich noch gar
keine Ahnung von habe, aber um das gehts ja auch gar nicht.
Manuel H. schrieb:> Ich habe schon mit dem Oszi gemessen (ISO-Tech IDS 8062) und dabei die> Masse vom Tastkopf an den Masse-Eingang von der Netzteil-Buchse gehängt,> und ja mein Timing ist auch erst Daten dann Clockflanke, ich dachte das> macht man so, meine Software ist eh oben bei einem Post als Anhang dabei> (LED-Wanduhr.c) Aber da isdt dann wieder ein Problem was ich nicht> verstehe, nämlich die STundenanzeige funktioniert ja wunderbar, wieso> dann die Minutenanzeige nicht, wenns doch softwaremäßig genau gleich> ist?
Richtig, die Daten müssen stabil sein, bevor die Taktflanke kommt. Das
ist generell so.
Minutenanzeige geht nicht? Ist die Initialisierung der Port-Pins
richtig? Stichworte ANSEL, TRISC, Komparator.
>> @michaelix: ich hab nicht drauf behaart recht zu haben, sondern wollte> kein Problem gelöst bekommen, das nicht besteht, bzw. nicht alle 30> Widerstände nochmal auslöten, neue kaufen und einlöten wen das eh> funktioniert.
Du wolltest doch was lernen ... ;-)
> An Multiplexing habe ich in gewisser weise eh gedacht, nur wusste ich> das nicht wie ich das mache, weiß nur wie es mit Taster (Keypad)> funktioniert, also quasi als Demultiplexing, naja und weils für mich so> einfacher ist mache ich es halt so und nicht anders wo ich noch gar> keine Ahnung von habe, aber um das gehts ja auch gar nicht.
Multiplexing wird eigentlich an jeder Ecke gemacht. Einfach mal googeln
...
Natürlich will ich lernen, aber ich hätte bei der Uhr einfach nur gerne
dass sie so geht wie sie jetzt ist, würde sie gerne schon aufhängen^^
Initialisierung ist richtig ja, was du jetzt mit Komparator meinst weiß
ich net, aber es ist ja nicht so dass sie gar nicht geht sondern die
Segmente flackern herum und so, ich könnte ja nochmal ein Video machen,
falls das hilft, wie es jetzt aussieht.
Hab ich auch gedahct aber dem ist nicht so hab alles nochmal
anchgemessen und gecheckt...
Aber was bedeutet es, wenn ich die Masse vom Oszi dazuhäng dass das
Flackern dann aufhört sich aber die Minutenanzahl nicht mehr ändert wenn
man den Taster dafür drückt?
Hab jetzt die Updaterate der Register so eingestellt, dass nur geupdatet
wird, wenn sich die Zahl ändert und jetzt gehts einigermaßen aber
manchmal bleibt auch die Zahl hängen bzw. zählt die immer weiter auch
wenn ich den Taster schon losgelassen habe, muss auch wohl was mit dem
Taster sein, obwohl beim nachmessen konnte ich nichts defektes
festellen.
> Da wird immer noch irgendein Eingang in der Luft hängen.
@Manuel H. (manuel_h)
>Hab ich auch gedahct aber dem ist nicht so hab alles nochmal>anchgemessen und gecheckt...
Nochmal checken - entweder hängt einer ind er Luft, oder ist ziemlich
hochohmig angebunden (der "Handtest" beweist sowas rel. zuverlässig).
>Aber was bedeutet es, wenn ich die Masse vom Oszi dazuhäng dass das>Flackern dann aufhört sich aber die Minutenanzahl nicht mehr ändert wenn>man den Taster dafür drückt?
Ganz einfach - Oszimasse dazu bedeutet, daß Du mehr Masse hast - also
auch mehr Abschirmung, bzw. mehr "Masse" ;-). Auch die
Masse-Induktivität könnte dadurch "positiv" beeinflußt worden sein. Du
hast also dadurch eine geänderte Dynamik auf der Leiterplatte, die man
im Schaltplan nicht sieht.
Mal grundsätzliche Fragen, deren Antwort ich hier nicht "mehr auf die
Schnelle" finde:
- hats du jeden IC abgeblockt mit z.B. 100nF
- jeder Eingang nicht mehr unbeschaltet?
- und vor allem - zeige mal das jetzige Layout+Schaltplan as dem Editor
(png Bilder oder sowas), und auch mal den jetzigen echgten Aufbau - von
vorn und von hinten (oder oben/unten - je nach dem ;-)
>Was heißt ich bin zu faul das zu Ende zu bringen, im Gegenteil, oder>glaubst du ich stelle meine Fragen zum Spaß und mach dann nichts an>meinem Teil weiter. Und warum soll ich nicht mit Mikroprozessoren>arbeiten, wenn es mit denen einfacher geht und ich mich damit auskenne,>im Gegenteil kenne ich fast keine standardmäßig produzierten ICs wie>eben diese, welche ich in meiner Schaltung verwende. Also bin echt>entäuscht von den Leuten der letzten Kommentare...
Nun, wenn es erstmal ums Verständnis von Digitalschaltungen geht, dann
sollte man vielleicht wirklich erstmal ohne µC loslegen (oder zumnindest
nicht alles mit dem µC erschlagen), denn wenn man noch etwas mit der
herkömmlichen Digitaltechnik aufbaut (auch runter bis auf
Transistorebene), lernt man viel mehr, als wenn man alles mit µC
programmiert. Es gibt inzwischen viel zu viele Threads, wo sich die TOs
outen, weil die angeblich alles programmieren können, aber sonst keinen
blassen Schimmer haben, was sich auserhalb der µC-Ports abspielt (also
nur eine rein logische Sicht haben). Somit ist Dein Projektchen nicht
schlecht, auch mal mit "echter" Digitaltechnik zu handieren, und was
dabei zu lernen. Also laß Dich nicht von den reinen µC-Fuzzies anmachen,
die nur µC's kennen - um den µC herum gibt's auch noch eine Welt, die
man verstehen sollte. Und Multiplexing kann man machen, wenn man es
versteht, und macht auch Sinn, aber Deine Schaltung hat auch bißchen
Digitaltechnik drumherum zum kennen/verstehenlernen - nicht verkehrt für
Dich
>Vorallem lerne ich nirgends so komplexe Schaltungen zu bauen, also darf>ich als 18 Jähriger doch wohl weniger Verständnis haben als Leute hier,>die vielleicht täglich damit arbeiten. Ich gehe nur auf eine Höhere>Technische Schule und selbst dort lernt man nicht alles.
Naja - so komplex ist Deine Schaltung nicht, zumal Du die eigentliche
Logik programmgesteuert machst - es gibt auch Schaltungen, wo es ohne µC
gemacht wird - die sehen dann schon etwas komplexer aus.
Aber wenn man selbst eine Schaltung selbst entwickelt, dann sieht man
selber eigentlich schon ganz gut durch. Allerdings hast Du die
CMOS-Bausteine offensichtlich nur aus rein logischer Sicht betrachtet -
sieht man an den offenen Eingängen - genau das macht man bei CMOS
überhaupt nicht, weil tödlich für die Funktionsfähigkeit (bei TTL geht
das in der Regel ohne größere Probleme, ist aber auch nicht unbedingt zu
empfehlen). Wie man nicht benötigte Eingänge zu beschalten hat (H oder
L), sieht man anhand der Logiktabelle in den Datenblättern. Das muß man
anhand der nötigen Logik selbst entscheiden. Offene Eingänge sind
jedenfalls tabu bei CMOS.
>Dann zum Schaltplan... wenn du nachdenken würdest, würdest dus chnell>draufkommen dass bei sovielen Anschlüssen nur mehr Leitungen über>Leitungen sind und man irgendwann gar keinen Durchblick mehr hat,>außerdem diente mir dieser SCHALTPLAN als Vorlagen für das PCB, welches>ich mir dann geätzt habe.
Nun - ein Schaltplan sollte nicht nur eine Vorlage für das PCB liefern,
sondern generell dem Überblick dienen. Deswegen macht man Schaltpläne.
Und der Schaltplan sollte schon mal zeigen, daß man Abblock-Cs für die
ICs vorgesehen hat, und man keine offenen Eingänge hat. Man sollte auch
getrennte Massen im Plan erkennen können, was aber in deinem Falle nicht
wesentlich ist. Aber die Masseführung ist dann zumindest im Layout
wichtig. Man sollte also zumindest dafür sorgen, daß die vermutlich
harten Stromflanken der LEDs und ICs auf den Versorgungsanschlüssen
nicht direkt bei den ICs vorbeigehen - also möglichst bei jedem IC in
unmittelbarer Nähe abgeblock werden). Das steht aber eigentlich in jeder
allgemeinen CMOS-Abhandlung.
Nun ja- ich merke gerade, daß es gerade morgen geworden ist - ich
schließe mal ;-)
Ich fass mich nur mehr kurz:
Jeder IC ist abgeblockt mit 100nF, jeder Eingang ist beschaltet. Bilder
kommen vielleicht am Nachmittag.
Ich lass mir nix von i-welche Fuzzies einreden, ich programmier gerne
und hab es auf der Schule gelernt mit einem PIC zu arbeiten, und das man
ohne dem viel mehr lernt is mir auch klar, aber wenn ma einen Lehrer in
Elektronik hat, bei dem ma nix versteht, dann kann man nix lernen...
Hallo Manuel H.
Ich hab nur mal so zwischen den Anfeindungszeilen gelesen.
Der Fehler, den du hast , ist wirklich ungewöhnlich.
Daher sind wohl auch die Hilfestellungen etwas quer.
Wenn es um ein Hobbystück geht kannst du doch einfach die 10pF
(oder 50pF) Kondensatoren in Serie mit 470kOHm
(adequat zu deinem Osci) an die kritischen Stellen einbauen.
Wenn es dann alles klappt ist es gut. Falls es dich dann trotzdem
interessiert woran es lag, kannst du ja die gleiche Schalte nochmal
aufbauen und die Messwerte vergleichen.
Gerade die CMOS Teile sind ja nicht "Ohne" und als LCD Treiber stelle
ich sie mir bissig vor.
Also mein Lieber und fleissiger Manuel H.,
bau dem Teil einen Tastkopfsimulator ein und benutze deinen
klugen Kopf für etwas besseres.
Liebe Grüsse Klaus
p.s.
da haste gleich nen Kopierschutz
Klaus De lisson schrieb:> Also mein Lieber und fleissiger Manuel H.,> bau dem Teil einen Tastkopfsimulator ein und benutze deinen> klugen Kopf für etwas besseres.
Das wird nicht funktionieren, denn, wenn ich das richtig verstanden
habe, reicht nur das Anklemmen der Masse vom Tastkopf. Außerdem
funktioniert die Ausgabe dann gar nicht mehr.
Wenn es jetzt mit verringerter Ausgaberate funktioniert, dann ist der
Fehler ja nicht weg. Er tritt nur seltener auf und falls er auftritt,
bleibt die falsche Zeit für 1 Minute so stehen. Außerdem zeigt das ganz
klar, dass das Problem auf dem Weg vom PIC zum 595 ist. Ich würde es
nochmal mit laufendem Update versuchen und dabei experimentell das
Timing der Signale zum 595 mit Hilfe von eingefügten NOPs verändern.
Läubi .. schrieb:> Prüf' auch unbedingt nach, das alle Eingänge zu den IC's definitiv als> Ausgang am uC geschaltet sind.
Der Mann hat recht! In Manuels Code wird das Minuten-Schieberegister mit
einem Pulse auf RC5 übernommen. RC5 ist aber als Eingang konfiguriert.
1
voidshowbits(charhm)
2
{
3
if(hm==0)//Minuten Schieberegister übernehmen
4
{
5
RC5=1;
6
RC5=0;
7
}
8
else//Stunden Schieberegister übernehmen
9
{
10
RC2=1;
11
RC2=0;
12
}
13
}
Initialisierung von TRISC in MAIN:
1
voidmain(void)
2
{
3
ANSEL=ANSELH=0;
4
5
TRISA=0b11111011;
6
TRISB=0b11111111;
7
TRISC=0b11100000;
8
9
PORTA=PORTB=PORTC=0b00000000;
10
RA2=1;
u.s.w.
TRISC sollte aber auf 0b11000000 initialisiert werden.
Hi Klaus 2m5,
hab den Manuel doch schon wegen der Initialisierung gefragt. Er meinte,
die sei richtig, da kannst du doch jetzt nicht mit einem Fehler kommen!
;-)
Grüße.
Hahaha so leicht übersieht man einen Fehler in der Initialisierung,
wahnsinn, danke!!! Das war die Ursache des Problems, jedoch wieso
funktionierte es mit langsamerer Rate trotzdem, wo es ja laut TRISC
eigentlich nicht funktionieren dürfte?
Jetzt schau ich mal ob das auch Ursache des Quarz Problems ist, glaub
zwar nicht aber egal^^
Ok das mit dem Quarz haut immer noch nicht so hin wie es soll, also er
schwingt schon mit seinen 32,765kHz und Timer1-L-Register mit dem
Vorteiler 8 ändert sich nur alle 4.3ms obwohl es sich alle ca. 244 µs
ändern müsste hat da vielleicht auch zufällig jemand Ahnung.
Im Anhang, das ausgebesserte Programm aber mit Quarz/Timer1 Funktion,
und RA2 der Doppelpunkt soll in dem Beispiel bei jeder Timer1 Änderung
togglen zur Kontrolle^^
Manuel H. schrieb:> ... jedoch wieso> funktionierte es mit langsamerer Rate trotzdem, wo es ja laut TRISC> eigentlich nicht funktionieren dürfte?
Weil das zufällige Durchschalten des Schieberegisters auf das
Ausgangsregister dadurch abgemildert wurde, dass das Schiebergister bei
nur einem Update pro Minute weitgehend statisch ist.
Manuel H. schrieb:> jedoch wieso funktionierte es> mit langsamerer Rate trotzdem
Naja, bei vielen uC ist ein Pullup eingebaut welchen man dann an/aus
schaltet mit einem Tastkopf oder Finger kann das dann soweit auf Pegel
gebracht werden das es gerade so bei niedrigen Geschwindigkeiten
funktioniert.