Pull down weerstand microchip


Lambiek

Special Member

Moet gewoon werken, laat eens een stukje code zien.

Als je haar maar goed zit, GROETEN LAMBIEK.

Beste mensen

Ik gebruik Flowcode 7 om deze chip te programmeren. Daarin wordt automatisch betreffende pinnen als "input" pin gemaakt (en naar ik aanneem ook de inwendige weerstanden aangepast, maar daar weet ik het fijne niet van).
Op zich heeft deze software is al (lang) bewezen. Dus daar ligt het niet aan. Zo heb ik de schakeling ook goed aan het werk gekregen. Mijn vraag is wat is de beste pull-down weerstand (en condensator)?

Groetjes

Jan

buckfast_beekeeper

Golden Member

Hoogstwaarschijnlijk zet flowcode de pullup aan zodra je de pin als ingang kiest. Stel de vraag eens op het flow code forum. Daar zijn de makers ook actief. Ik weet niet of je hier echt veel gebruikers gaat vinden. C en assembler zijn wat populairder.

Honing kan je importeren, bestuiving niet.

Pullups of niet, het probleem lijkt capacitieve koppeling te zijn tussen RB5 en RB6. Dat moet je zien op te lossen.

Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com

Als de pinnen pull-up en pull-down hebben, dan zweeft de pin ergens in niemandsland. Geringste pulsje is genoeg om hem te togglen...
Ik neem aan dat de compiler de pull-ups in default staat laat. En voor deze pic is dat 'on'. (bij oudere pics is dat meestal 'off')
PortB is een TTL poort, dus >0.8v is al genoeg om ellende te veroorzaken)
De interne pull-up is ~100uA (dus zo'n 33k bij 3.3v). Als de externe pull-down 10k is, zweeft de pin op 0.76v, bijna exact op de 0 bovengrens...
Even het WPUB register op 0x00 zetten...

Op zich heeft deze software is al (lang) bewezen. Dus daar ligt het niet aan.

De software werkt niet goed, want pinnen naast elkaar op dezelfde poort mogen elkaar niet beinvloeden.

[Bericht gewijzigd door Arco op 2 december 2017 16:32:15 (11%)]

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Beste Arco

Pinnen naast elkaar zouden elkaar niet mogen beïnvloeden. Maar elke GND is niet ideaal en heeft een bepaalde weerstand. Kunnen capacitatieve invloeden van invloed zijn?

Groetjes

Jan

Heb je de voeding van de PIC goed ontkoppeld?

Heb je nu de pull-ups al uitgezet? (anders werkt 't zeker niet goed...)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Beste Zonnepaneeltje en Arco

De microchip is direct (aan de onderzijde) tussen V+ en GND ontkoppeld met 100nF. Korter kan niet.

De pull-up zijn uitgeschakeld, anders kreeg ik nooit de schakeling aan het werk (met de condensator parallel aan de pull-down weerstand)

Groetjes

Jan

De pull-up zijn uitgeschakeld, anders kreeg ik nooit de schakeling aan het werk

Hoezo niet? Zoals gezegd zweven de poorten dan ergens op de grens van '1' en '0', dus kan het net goed gaan. (maar heel onbetrouwbaar)
Als je WPUB niet expliciet '0' hebt gemaakt, staan ze waarschijnlijk gewoon aan...

[Bericht gewijzigd door Arco op 3 december 2017 14:59:53 (15%)]

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Beste Arco

Ik ga het uitzoeken. Maar dat duurt even.

Groetjes

Jan

Vertel nog even hoe je de pin hoog maakt, schakelaar of logic driver..

Ik gok met een schakelaar in dat geval maak je een bijzonder hoge dv/dt, door het plaatsen van de condensator maak je de dt langer en dan wordt het een stuk vriendelijker voor de IOpin.

Probeer eens een weerstand van 1k in serie, tussen de pulldown en de chip, een kleine condensator (plus de serieweerstand) op de ingang is ook niet verkeerd, je houdt er een hoop rommel mee van de ingang ingeval van langere aansluitdraden.

Als je het toch met logic doet is dit niet van toepassing.

Ik ga het uitzoeken. Maar dat duurt even.

't Is geen rocket science... :) Je hoeft alleen WPUB = 0x00 toe te voegen...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Beste mensen

Microchip start met alle I/O poorten als een Input- en digitale poort. Ook meet ik aan de ingang met de externe pull-dow weerstand een spanning van 0 Volt.

Intussen doet de schakeling het wel weer zoals het zou moeten. Niet geheel duidelijk waarom.

Maar iedereen die aan de discussie heeft deelgenomen: Heel hartelijk dank.

Groetjes

Jan

Je zult toch wel wat veranderd hebben, een logisch schakeling doet niets uit eigen beweging... ;)
(ik zou toch niet rusten voor ik wist wat er fout zit. Een logische schakeling die op eigen houtje dingen doet is niet acceptabel...)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Dat noemen ze kunstmatige intelligentie

Just find out what you like and let it kill you

Of 'fuzzy logic'... ;)
Heb nog de Borland Turbo Prolog compiler liggen; een 'Artificial Intelligence' compiler. Is nooit een succes geworden...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Misschien heb je je bedrading verlegd en is de capacitieve koppeling tussen de pinnen nu weg.

Mijn echte naam: Joris | Mijn elektronica website: Fuzzcraft.com
Lambiek

Special Member

Als je haar maar goed zit, GROETEN LAMBIEK.
buckfast_beekeeper

Golden Member

De glazen bol een keer uit de kast gehaald en die heeft eens met google een woordje gewisseld.

Resultaat deze discussie op het Matrix/flowcode forum.

Wat ik er uit opmaak is dat de pull-up standaard worden aan gezet zodra de ingang wordt aan gezet. Uit zetten doe je blijkbaar met een stukje c-code in de flowchart te plakken.

Honing kan je importeren, bestuiving niet.
Lambiek

Special Member

Je link doet het niet hier.

Als je haar maar goed zit, GROETEN LAMBIEK.

Wat ik er uit opmaak is dat de pull-up standaard worden aan gezet zodra de ingang wordt aan gezet.

Default is elke pin ingang met pull-up, die worden niet 'aangezet'. (datasheet...)

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com
buckfast_beekeeper

Golden Member

Hier doet de link het wel.

@Arco: zodra je in de flowchart een ingang kiest zet Flowcode blijkbaar wel de pull-up aan. Je moet ze alleszins zelf uitzetten met de toevoeging van C-code.

Honing kan je importeren, bestuiving niet.

...een ingang kiest zet Flowcode blijkbaar wel de pull-up aan

Nee, die staan altijd aan vanaf fabriek. Is een default instelling van de chip; heeft niets met de compiler te maken...

Arco - "Simplicity is a prerequisite for reliability" - www.arcovox.com

Datasheet:
"12.5.4 WEAK PULL-UPS
Each of the PORTB pins has an individually configurable internal weak pull-up. Control bits WPUB<7:0> enable or disable each pull-up (see Register 12-11). Each weak pull-up is automatically turned off when the port pin is configured as an output. All pull-ups are disabled on a Power-on Reset by the WPUEN bit of the OPTION_REG register."

Ze staan dus aan tot je er een uitgang van maakt.

Ik zie nergens staan dat als ze uit zijn en je er een ingang van maakt ze ook weer terug aan gaan.

Initieel staan ze dus aan, daar ging het hier om.

Don't Panic!