Beste medeCO-ers, ik heb ruzie met een PIC16F648A en 16F628A. Beiden doen namelijk niet wat er in hun programma staat.

Ik ben bezig met een single digit nixie klok, het programma stuurt nu alleen de leds aan die aangeven of er tienuren, uren, tienminuten of minuten worden weergegeven, en laat het buisje van 0 tot 9 tellen.

Problemen: buisje telt raar - gevonden, een van de draden richting driveric (74441-of-hoe-ie-ook-mag-heten-europese-km155id1-ding) zat los

seconden uitlezen uit DS1307 werkt niet - niet echt het hoofdprobleem

LEDs gedragen zich niet zoals het hoort:
IPV 1 voor 1 aan te gaan en aan te blijven gaat de tienurenled aan, dan na 1 sec uit en de urenled aan, dan 1 sec niets en dan de minutenled aan.

na de leds met een weerstand uit te rusten en open-drain porta.4 een pulup te geven werkt het wel.

maar waarom moet die weerstand er? mijn voeding zakt wel in zonder, dus misschien zwakke 5V.

Andere voeding gepakt (labvoeding)voor de 5V: probleem blijft :S.
dan met weerstand.

Maar nu: als het buisje gaat tellen gaat de led op porta.4 uit (de tienminutenled). :S

Het spookt hier weer eens en niks wil werken zoals het hoort...


'****************************************************************
'*  Name    : SDNC_HW_TST.BAS                                   *
'*  Author  : Lucas Volwater                                    *
'*  Notice  : Copyright (c) 2008 Lucas Volwater                 *
'*          : All Rights Reserved                               *
'*  Date    : 3-10-2008                                         *
'*  Version : 1.0                                               *
'*  Notes   : Single Digit Nixie Clock Harware Test             *
'*          :                                                   *
'****************************************************************
DEVICE 16F628A
CONFIG INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_On, BODEN_ON ; niet vergeten mclr pull-uppen
XTAL = 4                     'Internal xtal = 4 MHz
ALL_DIGITAL = 1             'Set PORTA and PORTB to all digital
        '76543210
TRISA = %00000000
TRISB = %11100010

SYMBOL drivera PORTA.6
SYMBOL driverb PORTA.7
SYMBOL driverc PORTA.0
SYMBOL driverd PORTA.1
SYMBOL instellen PORTB.7
SYMBOL urenplus1 PORTB.6
SYMBOL minutenplus1 PORTB.5
SYMBOL ltienuren PORTA.2            ; de l van led staat ervoor om botsing met de vars te voorkomen
SYMBOL luren     PORTA.3
SYMBOL ltienminuten PORTA.4
SYMBOL lminuten PORTB.0

DECLARE SDA_PIN PORTB.3
DECLARE SCL_PIN PORTB.2

DIM Buisje AS BYTE
DIM loopmaar AS BIT
loopmaar = 1
DIM gelezenseconden AS BYTE

PORTA = 0
PORTB = 0

; leds een voor 1 aan
HIGH ltienuren
DELAYMS 1000
HIGH luren
DELAYMS 1000
HIGH ltienminuten
DELAYMS 1000
HIGH lminuten
DELAYMS 2000

;buisje tellen:
FOR Buisje = 0 TO 9 STEP 1
drivera = Buisje.0
driverb = Buisje.1
driverc = Buisje.2
driverd = Buisje.3
DELAYMS 500
NEXT

DELAYMS 2000

; klok IC alles op 0 en dan laten lopen, secondes weergeven:
BUSOUT %11010000, $0000, [%00000000]
BUSOUT %11010000, $0001,[%00000000]						; minuten

BUSOUT %11010000, $0002, [$00]						; uren en uurinstellingen

;

WHILE loopmaar = 1
BUSIN %11010000, $0000, [gelezenseconden]
Buisje.0 = gelezenseconden.0
Buisje.1 = gelezenseconden.1
Buisje.2 = gelezenseconden.2
Buisje.3 = gelezenseconden.3
WEND



; RESULTS:
; Buisje tellen werkt, de rest niet
; LED werken in hetvolgende patroon:
; ltienuren = 1  secondepauze ltienuren = 0 luren = 1, SP SP lminuten = 1
; getest op een PIC16F648A, nog 1tje (1e opgeblazen stomme fout, omgepoold), en een 16F628A, resultaten identiek.


; CONCLUSIE: Niet alles is een softwarefout: De led op porta.4 deed het niet wegens open-drain output, 
; en de rest flipte wegens zwakke voeding.

alleen flipt het met een sterkere voeding nog steeds, maar nu anders. (zie boven).

Heeft iemand een goed idee?

EDIT: code iets beter leesbaar gemaakt. In proton stonden die extra enters er nog niet.

na de leds met een weerstand uit te rusten en open-drain porta.4 een pulup te geven werkt het wel.
maar waarom moet die weerstand er?

Dat is al zo vaak hier uitgelegd. Een led moet met een konstante stroom worden gestuurd. Als je geen weerstand gebruikt loopt de stroom veel te hoog op en blaas je (mogelijk) de PIC op. Tevens krijg je dan last van het R-M-W effect...
Het leest ook wat makkelijker als je alle lege onnodige regels uit de code haalt, dan wordt 'ie 2x zo kort...

Op 4 oktober 2008 17:01:44 schreef Arco:
[...]
Dat is al zo vaak hier uitgelegd. Een led moet met een konstante stroom worden gestuurd.

Mee eens, maar die pic limit de stroom toch op 25mA?

Tevens krijg je dan last van het R-M-W effect...

RWM? watte? O, read Modify Write. zeg dat dan. Met de led aan lijkt de teruggelezen waarde toch nog geen 0? Hoewel, het was wel een rode (1.7V) led... Ok, zou kunnen.

Het leest ook wat makkelijker als je alle lege onnodige regels uit de code haalt, dan wordt 'ie 2x zo kort...

Done. In PDS stonden ze er nog niet...

Mee eens, maar die pic limit de stroom toch op 25mA?

Het is niet de bedoeling om de output drivers te mishandelen op die manier. Kan leiden tot latch-ups en dus einde van de chip.
(Het is een uiterste beveiliging, niet 'Ik kan een weerstand uitsparen')

Met de led aan lijkt de teruggelezen waarde toch nog geen 0?

Port A is een Schmitt-Trigger port, met een minimaal 'high' nivo van 0.8*Vdd (dus 4v bij 5v Vdd)
Als je er een led zonder weerstand aanhangt komt de spanning nooit boven 1.9v dus wordt nooit '1'.

De leds zitten met een weerstand (1k8 in gezamelijke massa, de led op porta.4 uitgezonderd, want die heeft een pullup van 1k8 en anders zie ik 'm niet meer). En raad eens: precies porta.4's led valt uit bij het gaan tellen van de nixie. Daarbij zakt de voedingsspanning nogal in, dus daar hebben we ons probleem van een te lage teruggelezen spanning...

Die 5V kan ik niet sterk belasten anders zakt de 170V in, en als ik de 170V belast zakt de 5V ook in. Lekker is dat.

Ik heb niet eens genoeg stroom om een simpele uC te voeden! Als de nixie iets gaat doen kelderd de 170V naar 159V en de 5V kelderd vrolijk mee...

Tijd om turbokeu's kakelende voeding eens opnieuw te bekijken.

(zie mijn posts op deze pagina: http://www.circuitsonline.net/forum/view/40730/25 voor meer info)

iig is het probleem nu boven water: een zwakke voeding + leds op de verkeerde manier op de verkeerde pinnen. Wist niet dat die weerstand zó belangrijk was, in veel PIC ontwerpen zie je geen weerstand voor de led's...

Pic kan ook simpel zelf 170v opwekken. (bv. met de 16F785). http://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf

Op 4 oktober 2008 17:13:30 schreef Lucky luke:
[...]
Mee eens, maar die pic limit de stroom toch op 25mA?

Nee! De PIC kan MAX 25mA leveren op die poort, dus jij moet zorgen dat het niet boven die 25mA komt.

Op 4 oktober 2008 18:06:37 schreef Lucky luke:
Tijd om turbokeu's kakelende voeding eens opnieuw te bekijken.

Als je wil kan ik je de 'kritische' onderdelen (inductor, MOSFET, fast diode en HV elco) opsturen tegen kostprijs + verzendkosten.
Is beter dan dagen aan te modderen met ongeschikte componenten...

Op 4 oktober 2008 18:39:26 schreef BernardV:
[...]
Nee! De PIC kan MAX 25mA leveren op die poort, dus jij moet zorgen dat het niet boven die 25mA komt.

Hmm, bij Willie Worteltje's Wonderbaarlijke RGB led (hoe ik met PIC's begonnen ben) staan geen weerstandjes...

http://home.versatel.nl/edithenwilliam/william.htm

Op 4 oktober 2008 18:57:03 schreef Turbokeu:
[...]Als je wil kan ik je de 'kritische' onderdelen (inductor, MOSFET, fast diode en HV elco) opsturen tegen kostprijs + verzendkosten.
Is beter dan dagen aan te modderen met ongeschikte componenten...

Ik zat zelf al te zoeken, maar er ik vind geen shop die alles bij elkaar heeft. Baco heeft de FET, Dick Best of baco of voti de diode, maar de spoel heeft alleen niels (sk.net led acties) etc. etc. Ik stuur je een mailje. :) Dankjewel.

en die design appnote ga ik eens lezen, maar denk ik niet doen...

kgeloof er niks van. de pic zal exact doen wat er in zijn programma staat , binne de grenzen van wat zijn i/o pinnen aan kunnen.

er is slechts 1 waarheid in de electronica : het silicum liegt niet. ( behalve als het kapot is )

@ turbokeu : Zou je dit voor mij ook opsturen , ik zit namelijk ook met het probleem dat ik op 10 plaatsen 1 onderdeel moet kopen

Hm, ik heb al een paar keer eerder gelezen dat er een current limit op die PIC poorten zit, en heb daar ook wel vaker op het breadboard op vertrouwd :)

Heb het echter nooit meer ergens teruggelezen in een officieel Microchip datasheet of document.

Hm, ik heb al een paar keer eerder gelezen dat er een current limit op die PIC poorten zit

Nee, er staat Max 25mA bij Absolute Maximum Ratings.
Absulute Maximum Ratings zijn waarden waaraan een chip normaal NOOIT aan blootgesteld moet worden:

NOTICE: Stresses above those listed under "Absolute Maximum Ratings" may cause permanent damage to the
device. This is a stress rating only and functional operation of the device at those or any other conditions above those indicated in the operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods may affect device reliability.

Op 6 oktober 2008 21:48:14 schreef Arco:
Nee, er staat Max 25mA bij Absolute Maximum Ratings.

Ja, dat weet ik. Daarom zeg ik er ook bij dat ik het nooit meer heb teruggezien in een Microchip document, daar staat het alleen onder de AMR. Maar meermaals heb ik gelezen over een current limit (iets anders dus dan AMR) die in de PIC zou zitten. Op piclist meen ik, maar ook op websites (die elkaar wellicht napraten, je weet hoe dat gaat met internet).

Ik heb de datasheet er ff bijgepakt, kan het ook zo vlug niet vinden over die current limit. 'T is wel een oude datasheet DS40300C. Maar zo'n PIC blaast zichzelf niet op als je een outputpin kortsluit, dus er zal wel enige limiet op zitten. Gezond zal het wel niet zijn.

afijn, ik weet wat ik weten moet: zet er een weerstandje tussen. En ik ben erachter dat ik een andere voeding moet gaan gebruiken voor mijn Single Digit Nixieklok. turbokeu, je hebt mail :).

Op 6 oktober 2008 18:15:23 schreef Lucky luke:
Ik stuur je een mailje. :) Dankjewel.

Ontvangen.
Ik antwoord je zodra ik alle onderdelen bij elkaar gevonden heb (ik heb een magnifieke Raaco ladentoren met 600+ laadjes maar deze zijn nog niet gelabeld....)

Op 6 oktober 2008 20:23:41 schreef 19roland70:
@ turbokeu : Zou je dit voor mij ook opsturen , ik zit namelijk ook met het probleem dat ik op 10 plaatsen 1 onderdeel moet kopen

Stuur me een mailtje.

Als je dan toch aan het uitdelen bent, heb je nog wat leuks in de aanbieding? :)

Zoooòòòòt... :)

Ik deel niks uit, ik verkoop gewoon een paar 'moeilijkere' onderdelen aan inkoopprijs als dienst voor enkele CO-leden (vermits ik toch alles per minimum 10 stuks koop).

Alhoewel een uitverkoop van een aantal dingen mij waarschijnlijk wel een hoop ruimte zou opleveren (ik heb hier o.a. nog twee ongebruikte APC Smart-UPS XL 2200VA RM3U 230V rackUPS'en staan waarvan één met bijkomend 3U batterijrack, totaal 180kg).

Dit slepende topic gemist zeker? Had je ze misschien nog kunnen slijten :)

edit: @hieronder: hier heeft hij het zelfs over 3KVA :P

[Bericht gewijzigd door Jochem op (35%)]

Zeker niet gemist, had wel niet de indruk dat Special Agent een paar 2.2KVA UPS'en zocht.

@turbokeu: Heb je mijn mailtje al ontvangen?

Op 8 oktober 2008 04:06:55 schreef Turbokeu:
[...]Ontvangen.
Ik antwoord je zodra ik alle onderdelen bij elkaar gevonden heb (ik heb een magnifieke Raaco ladentoren met 600+ laadjes maar deze zijn nog niet gelabeld....)

Mailtje ook ontvangen maar door de week heb ik weinig of geen tijd wegens mijn werk.
Ik zal dit weekend de componenten opzoeken in de 600+ laadjes (in feite ongeveer 450 vermits een 150-tal laadjes door weerstandenreeksen ingenomen worden) en laat je en Lucky Luke iets weten.

PS: ik moet echt eens werk maken van het labelen van de laadjes...
Ik heb hiervoor een half jaar geleden 2100 stuks Avery laserlabels van 46x11mm (84 labels/blad, 25 A4-bladen) aangeschaft, samen met de (gratis te downloaden) Avery DesignPro 5 Lite software.

Die maat klinkt zeer optimaal, waar heb je die gehaald?

Op 11 oktober 2008 15:25:20 schreef Jochem_S:
Die maat klinkt zeer optimaal, waar heb je die gehaald?

Teleland, ref. AVL7656 (Avery ref. L7656)
Was 13,38 Euro + port + BTW.

Geeft bvb. dit resultaat in DesignPro:
http://www.turbokeu.com/temp/res_e24.gif