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
Zur Info die Platine hat noc eine Rückseite, deswegen sind nicht alle Pads angelötet...
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).
Haben alle Pins einen definierten Pegel und sind nötige Abblockkondensatoren vorhanden? Arbeitet die Software auch richtig?
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.
An den Vcc jedes ICs jeweils 100nF gegen GND. Und auf die andere Seite gehoert eine GND Plane.
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
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
@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: > 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
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.
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.
VEE ist auch auf Masse und die VDD und VSS sind so wie du geschrieben hast, naja hier ist meine Schaltung:
Hallo, und auf welchem Potenzial liegen die Strobe-Eingänge der Decoder??? Gruß aus Berlin Michael
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
Dass heißt wenn ich die auf 5 Volt lege, werden die Ausgänge direkt übernommen, richtig?
Manuel H. schrieb: > wenn ich die auf 5 Volt lege, werden die Ausgänge direkt > übernommen, richtig? Ja.
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
Hallo, nein, ist ok bei Dir, hatte die Transistorgeschichte übersehen. Gruß aus Berlin Michael
> 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.
Daweil hängt sie nun und funktioniert und ich mach mir kein Kopf mehr drum solang sie geht^^
> 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
Prüf' auch unbedingt nach, das alle Eingänge zu den IC's definitiv als Ausgang am uC geschaltet sind.
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 | void showbits(char hm) |
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 | void main(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.
Die Wirkung des Initialisierungsfehlers kann man praktisch als gleichwertig mit offenen Eingängen werten.
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.