Woordklok gestorven, doodsoorzaak onbekend.

Hallo CO'ers,

Na een jaar trouwe dienst heeft mijn woordklok het opgegeven. Het is een vrij simpel opgebouwde schakeling, een AtMega32u4 Breakout van Adafruit met Arduino Leonardo bootloader , DS3231 RTC, 3 74HC595 schuifregisters en ULN2803 drivers. Een 5VDC adapter voedde het zaakje.

Gisteren was de klok dood, donker. Na een snelle meting kon ik al vaststellen dat de voeding dood was. Nieuwe voeding erop en leds op breakout en RTC gaan aan, maar geen display.

Pin 13 OE van 74HC595's hangt aan de B7 en wordt via een LDR met PWM gestuurd. Dit circuit werkt, heb ik getest.

Als ik de logic analizer eraan hang krijg ik dit beeld :

code:


Pin MCU        Pin 74HC595         Kanaal LA
B4             12 ST_CP            D1
B5             11 SH_CP            D2
B6             14 DS               D0

Dit lijkt me normaal? Maar er worden geen outputs aangestuurd.... zouden de schuifregisters defect zijn?

" Assumption is the mother of all f*ckups ", toch trap ik er geregeld in.... How to kill a mosquito with an elephant? --> Surfin' on a AMD RyZen 9 5900x, 12 cores @ 3.7GHz, opgekieteld naar 4.9GHz.

Koen, je ziet dat de data ingeklokt wordt. Als je de OE eens vastzet om te testen, dan kan je toch zien of de uitgang van het schuifregister wordt aangestuurd?

Wat moet er op de blauwe printconnector, deze is nu ongebruikt?
Eventueel een paar kleine ledjes gebruiken om de uitgangen te kunnen zien helpt vaak.

Ik zou eerder denken ergens een driver stuk die je voeding genekt heeft.
Mogelijks is er bij het stuk gaan ergens een te hoge spanning ontstaan...

Op de blauwe connector is normaal de voedingsadapter aangesloten, maar nu wordt het geheel gevoed via de USB. Als ik de voeding er bij aansluit blijft het resultaat hetzelfde.

Ik heb ondertussen de OE aan de GND geknoopt, dit geeft geen verschil.

Ik heb de schuifregisters en de drivers vervangen, zonder resultaat.

Ik heb het breakout bordje ook vervangen en zonder resultaat.

Wat ik wel merk, is dat wanneer de voedingsspanning een hele tijd weggeweest is, het display even knippert en dan weer sterft.

De kloksoftware loopt ook, die kan ik via de seriele monitor volgen.....

Ik zal terug naar het breadbord moeten vrees ik en weer helemaal van nul af beginnen.... :(

By the way... het ontwerp is hierop gebaseerd...
http://www.mike-gualtieri.com/posts/arduino_word_clock

" Assumption is the mother of all f*ckups ", toch trap ik er geregeld in.... How to kill a mosquito with an elephant? --> Surfin' on a AMD RyZen 9 5900x, 12 cores @ 3.7GHz, opgekieteld naar 4.9GHz.
diebobo

Golden Member

Heb je je printplaat als eens van onderen bekeken ? Misschien is er wel gewoon een printspoortje gesneuveld ?

Koen, meet eens op de pennen van het schuifregister wat hun uitgangen doen. Meet eens, als deze het niet doen, wat de OE doet op de pen.
Meet eens, als deze het wel doen, wat er op de pennen van je drivers te zien is.

Hi Koen,

Gewoon simpel; driver en shift registers d'r uit. (alles zit gelukkig in voetjes).
Dan vanaf het einde af beginnen.
Dus een breadbord draadje in het voetje steken van een drivertransistor uitgang naar de massa. (LED test).
Als alles wil oplichten dan de drivers terug steken en met een passende weerstand de ingangen van de drivers aan de plus testen.
Als alles wil oplichten dan de shift registers (de drivers eruit) en meten aan de uitgangen met een scope.

Succes,
Roel.

Het probleem zit'm in de print ergens.... Als ik de schakeling met de originele componenten, met uitzondering van de vast gesoldeerde ( 3 100n C'tjes en 2 10k weerstandjes) op het breadbord zet, werkt de klok weer.

Als ik dan de verbinding naar het display maak duidt de klok ook weer gewoon de tijd aan....

Het was een zelf ge-etst printje niet van de beste kwaliteit, dus ik zal er bij de printboer wel laten maken...

Bij het doormeten met een multimeter geen kortsluiting of onderbreking gevonden, en visueel ook niets te zien, dus wat er precies met de print aan de hand is blijft nog een raadsel....

Bedankt voor de tips inzake foutopsporing :)

" Assumption is the mother of all f*ckups ", toch trap ik er geregeld in.... How to kill a mosquito with an elephant? --> Surfin' on a AMD RyZen 9 5900x, 12 cores @ 3.7GHz, opgekieteld naar 4.9GHz.

Deze klok maakt me helemaal gek......

Na voorgaande verhaal, had ik een PCB'tje laten maken in China.
Printje bestukt, 5V erop en ja hoor!! Klok werkt :)

Tot nu... :(
Geen licht meer, noppes, nada.

Ik check 5V = OK;

Ik check met LA de communicatie naar de 74HC595 = OK, data wordt mooi ingeclocked;

Ik verwijder de schuifregisters, prik met een draadje 5V naar de ingangen van de ULN2803's = Leds lichten op - dus drivers en leds = OK;

Ik plaats de schuifregisters terug, meet met de DMM op de uitgangen = 0,1V niets dus;

Ik check MR = 5VDC
VCC = 5VDC

Ik check met scope OE = PWM signaal is ok;

ik maak de pwm pin los en hang OE aan de GND, geen verschil, geen outputs op geen enkele van de 3 schuifregisters.

Ik zet de voeding uit, 15 tal minuten later de voeding weer aan, en hups, Leds aan, nog voor ik mijn meetsnoer vast heb, licht uit.

3 nieuwe schuifregisters = zelfde resultaat

Nieuwe arduino = zelfde resultaat

wat kan ik hier nog over het hoofd zien..... :S 8)7

" Assumption is the mother of all f*ckups ", toch trap ik er geregeld in.... How to kill a mosquito with an elephant? --> Surfin' on a AMD RyZen 9 5900x, 12 cores @ 3.7GHz, opgekieteld naar 4.9GHz.
Shiptronic

Overleden

Wie de vraag stelt, zal met het antwoord moeten leren leven.
Arco

Special Member

Ik zou eens exact controleren wat er nu nog wel en wat niet werkt. Dat geeft wat meer inzicht in wat er zich afspeelt...
Zo te zien zijn de schuifregisters opgeblazen? (dan heeft vervangen van de arduino ook geen nut inderdaad)

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com

Heb dat ook een keer gemaakt met 16 schuifregisters het is allemaal wel critisch met de timing en de flanken ook heb ik toen de data, clock, en strobe signalen aan het eind afgesloten maar weet niet meer met hoeveel.

KGE

Golden Member

Hangt er niet ergens een CMOS input los ?

Zo ziet het er namelijk uit, bij uitzetten en dus een tijdje geen voeding is de ingang laag genoeg om na aanzetten voor '0' door te gaan maar na enige digitale activiteit klautert die losse input omhoog en is een '1' geworden...