Op 28 januari 2014 22:16:43 schreef pe1bia:
Alle verhalen over condensators plaatsen is onzin. Zolang jij een standaard voeding gebruikt en niet in een omgeving zit waar van alles in en uitgeschakeld wordt doen die niets.

Breadboard (zo'n prik-board), PIC erin, voeding aftakken van de horizontaal lopende banen, labvoeding erop: niet werken. Enkele 100 nF relatief dicht bij de PIC inprikken: wel werken.

het plaatsen van een condensator word door MICRCHIP nergens gepromoot

Wat een lariekoek, daar schrijven ze hele presentaties en application notes over. Ik citeer maar even:

Because of the high frequency power demands of a microcontroller, it is recommended that bypass capacitors be placed at the VDD and AVDD pins. These bypass capacitors provide a low impedance path to ground for the high frequency current demands of the microcontroller. This will also reduce the amount of noise radiated by the power traces. Ideally, a ceramic bypass capacitor of about 0.1uF is placed as close as practically possible to each power pin on the microcontroller

Ik werk al 20 jaar met PICs en nooit problemen gehad.

Mooi, ben blij voor je. Maar toch vreemd dat je met al die ervaring de C'tjes op je voedingspennen 'onzin' noemt.

Hey Joop kun jij anders een simpel voorbeeldje schrijven voor mij? of mijn code staat in het begin van dit topic kun je anders mijn code aanvullen ?
Ik ben echt nog maar gestart met zelf schrijven ik heb nog veel te leren ;) Maar het is motiverend als ik het eens aan een man met ervaring kan vragen.

Even back-to-basics: heb je al eens een blink-a-led geprobeerd? Dus de hex-file kant en klaar van internet plukken en die in je PIC schieten?

Zie bijvoorbeeld De blink-a-led hex-files van VOTI

ha ja tis waar als je aan het leren bent denk je maar een ding en dat is proberen oplossingen te zoeken aan uw zelf gemaakt project.
Maar een mens zou bijna vergeten dat er kant en klaar materiaal op het net staat die ik eventueel eens zou kunnen proberen en zien als het aan hardware lig of software ;)ik ga het eens proberen bedankt voor de tip Jochem

Hoi Seb,

lukt het al beetje?
Anders ik ben nog ganse week thuis, altijd welkom.
En ik heb nog wa spullen die ander onderdak zoeken.

grts

ps, skype is afgeschreven bij mij. tis nu viber :)

Hey makker blij om je nog eens te horen ;)
Ja wij wonen dan niet zo ver uit elkaar maar werk en omstandigheden verslinden onze tijd een beetje he.
maar goed ik zie het alvast zitten om nog eens af te spreken.
Ik had mij de vorige keer goed geamuseerd ;)

Maar het is motiverend als ik het eens aan een man met ervaring kan vragen.

Het mag dan een man met (ervaring) zijn, maar hij geeft wel verkeerde adviezen.

Hallo beste vrienden jullie zijn allemaal bedankt voor jullie moeite om mij te willen helpen ;)
Het is ondertussen opgelost waaahaaaa ;)
De oplossing was eens een programma van iemand anders inladen, en het werkte.
Bedankt Jochem voor deze tip.
In het vervolg is dit het eerste wat ik ga doen dan weet ik te minste zeker als het aan de hardware of software ligt.
Hardware kan ik al redelijk mijn plan trekken maar op gebied van programmeren ga ik nog veel moeten leren.
Als er iemand een tip heeft van een goeie site met mooie leerstof en tutorials (bij voorkeur mikro c) laat mij weten.

[Bericht gewijzigd door Seb-PCB80 op (24%)]

Het zou ook nog aan je fuse-settings kunnen liggen, misschien heb je de watchdog niet uitgezet in je eigen brouwsel?

Als ik in mikroC een nieuw project aanmaak staat alles zo standaard geconfigureerd.
Moest je nog iets zien die ik best verander in de instellingen?
http://www.uploadarchief.net/files/download/mikroc.jpg

Op m'n zoektocht op internet kwam ik deze thread tegen:
http://www.edaboard.com/thread8324.html
In het kort , met 22pF werkt het goed op 4MHz maar niet met een 20MHz kristal. Nadat de 2 C's vervangen waren naar 10pF werkte het wel. Deze ervaring heb ik zelf niet, maar wie weet helpt het.

Maar ook hier hielpen de ontstoring condensatoren niet.
Dat verhaal komt elke keer terug maar ik blijf erbij: bij een proef opstelling zoals hier is dat niet nodig. Ik ben er wel mee eens dat, als je een schakeling op bouwt met een aantal IC's en met aansturing van relais cq motoren dat het nodig is om te ontstoren.

Joop

Ontkoppel-C's nabij de voedingspinnen van een digitaal IC heb je nodig, omdat het stroomverbruik niet gelijkmatig is. Een IC dat gemiddeld 10mA verbruikt, kan bv. bij elke klokpuls gedurende enkele nanoseconden 1000mA opslokken.
De zelfinductie van de voedingslijnen verzet zich tegen zulke stroomschommelingen, waardoor de spanning nabij de voedingspinnen erg onregelmatig wordt. De taak van de ontkoppel-C's bestaat er in, kortstondig extra-stroom te leveren als het IC daar om vraagt.

Ook het in- en uitschakelen van grote verbruikers kan voor problemen zorgen, maar dat wordt doorgaans opgevangen met buffer-elco's.

Op 30 januari 2014 11:23:08 schreef pe1bia:
Maar ook hier hielpen de ontstoring condensatoren niet.

Ze zitten op de foto al op de print, dus hoe je dit kunt beweren?

Dat verhaal komt elke keer terug maar ik blijf erbij: bij een proef opstelling zoals hier is dat niet nodig.

In een proefopstelling nog meer dan op een uiteindelijke PCB, waar je met powerplanes en een definitieve opstelling misschien minder last hebt van de inductie van traces, OF er in ieder geval beter mee kunt rekenen en anticiperen. Maar ook in definitieve netjes gelayoute PCB's laat ik ze alleen weg bij plaatsgebrek onder high-pitch BGA's, waar ik met 'weglaten' ook alleen maar bedoel dat er niet meer voor elk paar voedingspennen een C'tje komt, maar af en toe 1 C'tje per 2 paartjes die fysiek dicht bij elkaar zitten.

Geen ontkoppeling op voedingslijnen van snel schakelende IC's (en dus ook elke uC) is gewoon een gokspelletje, ik begrijp niet hoe je dit zo stellig kunt beweren.

Ja, dat snap ik inderdaad ook niet. Maar de man met (ervaring) beweert het stellig.

Dan doet iedereen het toch verkeerd zeker, ook alle consumenten electronica klopt van geen kant, want daar zit ook bij ieder ic een ontkoppelcondensator. En op een computerboard, ook allemaal verkeert zeker.

Zo zie je maar weer, we zijn nooit te oud om te leren. >:)

Ja, nou... Bij praktica moesten wij die dingen ook altijd achterwege laten. Reden was dat wanneer je had lopen knoeien met timing, je zo genadeloos door de mand viel. Het idee was dat wanneer het zonder per-IC-ontkoppeling draaide, het wel goed zou zitten. Wel on-board voeding, dus geen lange veters.
Gelukkig kwamen er toen net voetjes met een C erin op de markt. Smokkelen met timing zonder dat het opviel zeg maar ;)

Al met al ben ik er voorstander van om die dingen te plaatsen. Aan de andere kant geeft het wel te denken als je er een paar mist en het werkt dan gelijk niet...

Als je geen ontkoppel condensatoren gebruikt, speel je een soort Russische roulette...
Zeker als je TTL inputs gebruikt, die hebben aan een klein beetje storing (door de sterk wisselende stromen) al genoeg om van een '0' een '1' te maken.
(Eventuele interne comparators die hun referentie van Vdd halen worden er ook niet betrouwbaarder op)
En de rest van de ic's die eventueel op het board zitten hebben er ook last van.

Ik heb voor de gelegenheid een test gedaan met een ATtiny44 op een breadboard.
Klok = 8MHz (interrne oscillator). Voeding via twee snoeren van 50cm. Het programma doet niets anders dan in een lus alle pinnen van PORTA gezamelijk toggelen. Er hangt geen belasting aan die pinnen.

Zonder ontkoppel-C doet hij dat enkele malen na mekaar, en valt dan stil. Na een korte pauze start hij terug op, waarna alles zich herhaalt. Maar... telkens PORTA omklapt, levert dat een spanningsdip op van 2.5V!

Met een ontkoppel-C van 22nF blijft hij werken. Ook hier nog een spanningsdip tijdens het omklappen van PORTA, maar die blijft beperkt tot 1V.

En nee, dat ligt niet aan mijn labvoeding - als ik daar meet, is er van een dip niets te merken.

Als je dat toch al hebt staan pros...
Wat doet het met 100nF op de labvoeding en touwtjes van 5-10cm? Ik heb zomaar het idee dat dat gewoon draait... (en nee, het is niet netjes, het is geen pleidooi om die dingen achterwege te laten, maar zo extreem als 'ik mis bij 1 IC een bypass C en daarom werkt het niet' is het ook niet...)

Met 100nF op de klemmen v/d labvoeding, geen C nabij de AVR, en stukjes draad van zo'n 10cm tussen voeding en AVR, wil het ding niet werken. PORTA toggelt enkele malen, AVR valt stil, enz...
De spanningsdip is wel minder: 1.5V ongeveer.

Op 26 januari 2014 20:42:27 schreef pe1bia:
Als een niet gebruikte lijn als een ingang is opgebouwd
krijg je dit effect.

Beste Joop, Dat is onzin.
Een niet gebruikte ingang die nergens aanhangt kan een spanning krijgen tussen 0 en 5V. Dan kan je een 0 of een 1 lezen, maar omdat je hem niet gebruikt zal je software dat niet doen.

Wel is het zo dan ALS de spanning ergens in het midden tussen de voedingsspanningen zit, er mogelijk een paar mA meer stroom gaat lopen dan nodig.

CMOS inverters van lang geleden hadden wel eens last met dat ze met een spanning op de ingang van rond het omslag punt de uitgang er voor zorgde dat de ingang weer omklapte. Dan ging de boel heel snel oscileren met niet een paar maar vele mA meer stroom -> heet-> kapot.

Op 31 januari 2014 15:32:10 schreef pros:
Met 100nF op de klemmen v/d labvoeding, geen C nabij de AVR, en stukjes draad van zo'n 10cm tussen voeding en AVR, wil het ding niet werken. PORTA toggelt enkele malen, AVR valt stil, enz...
De spanningsdip is wel minder: 1.5V ongeveer.

En dat is bij een klein processortje wat hooguit tientallen mA's trekt...
Kun je nagaan hoe nauw alles bij een processor in een PC luistert.
Een processor als de Intel i7 heeft een '0' level van < 0.6volt en max stroomverbruik van 160A bij 1.4V...

@Arco: maak er maar een paar mA van... En i7 is toch wel een wat ander verhaal. Vandaar ook dat er daar ook nog wel wat C's op 'de plak' zitten. Overigens schakelen er daar ook ruim (heel ruim...) meer torren dan bij wat 'harde' logic.

@pros: op zich is dat best raar. Aangenomen dat je het ding op 5V stookt. 3.5V zit ruim boven wat acceptabel is voor zo'n ding. Zou het kunnen dat de dip zelf nog hoger (zo je wilt: lager) ligt? BOD die inkomt? Het zijn waarschijnlijk wel erg steile flanken en zo hoog is de zelfinductie van een stukje draad nou ook weer niet. Mist je scope wat?

Nu je 't zegt, de BOD stond ingesteld op 4.3V. Niet moeilijk, dat hij dan stilvalt. |:(
Ik heb even een splinternieuwe ATtiny44 geprogrammeerd. Die blijft zonder C lustig draaien.

Ik heb het ook eens met batterijvoeding getest. Goede ontkoppeling nabij de aansluitdraden van de batterijhouder. Geen C bij de AVR. GND verbonden met stukje draad van 2cm.
Nu kan ik Vcc met verschillende lengtes verbinden, en de invloed v/d lengte nagaan. Bij 40cm haal ik al dipjes van 2V.
Ter controle: geen merkbare dip's als ik op de batterij meet.

Oh, ja, verbruik = 11mA

He, gelukkig komt dat weer meer overeen met mijn eigen bevindingen :) Maar goed, feit blijft dat het niet handig is om die Cs achterwege te laten.

11mA is best veel. Waarschijnlijk vooral het (relatief snel) schakelen van 'veel' lijnen...