Jump to content
PLC Forum


giolecce

programma per PIC 16F84A

Recommended Posts

Livio Orsini

Perchè non dai le informazioni richieste?

 

23 ore fa, Livio Orsini ha scritto:

Con che compilatore stai lavorando?

Che programmatore usi?

 

Share this post


Link to post
Share on other sites

dott.cicala

Sei  sicuro dello schema?? Vss non è collegato??

Share this post


Link to post
Share on other sites
Livio Orsini

E vero, però quello sembra essere il simulatore e lui dice che sul simulatore funziona 

Share this post


Link to post
Share on other sites
giolecce
4 ore fa, dott.cicala ha scritto:

Sei  sicuro dello schema?? Vss non è collegato??

Lo schema l'ho disegnato dimenticando di collegare Vss  .. 

 

12 minuti fa, Livio Orsini ha scritto:

E vero, però quello sembra essere il simulatore e lui dice che sul simulatore funziona 

Il simulatore che uso e PIC SIMULATOR IDE come compilatore uso il basic compiler in dotazione con il software di simulazione ....il programmatore si chiama PIC k150....però scusate, ma vi chiedo il listato è semplice, dal punto di vista hardware, l'unica miglioria che posso apportare è quella di porre un condensatore per disaccopiare la tensione di alimentazione ...inizio a pensare che il pic sia rotto...

Share this post


Link to post
Share on other sites
dott.cicala

Lo schema è pessimo. 

 

Con questo schema e questo codice DEVE funzionare

image.png.750033bae561b585a8dfc0050472f093.png

 

:020000000328D3
:10000600FF308316850086018312850186010E1056
:100016008E100E118E1585191228401413284010C3
:100026000E181728031418280310401C1E28031C3A
:100036001E280E151F280E11401823280E102428DE
:100046000E148E182828031429280310851D2F281E
:10005600031C2F288E1530288E11851934288E10F2
:1000660035288E140E193A288E193A283B288615FB
:10007600861D4C280B30CB002630CC005D30CD00E1
:10008600CD0B4328CC0B4328CB0B432800000000A4
:0600960086110E284D2822
:02400E00FA3F77
:00000001FF

 

Share this post


Link to post
Share on other sites
Livio Orsini
8 ore fa, dott.cicala ha scritto:

Lo schema è pessimo.

 

Stefano, grafica a parte non c'è molta differenza tra i 2 schemi.

Oltre alcondensatore sul reset (come gli avevo già suggerito qualche giorno addietro) hai aggiunto un forte ritardo per il debouncing dell'ingresso.

 

Secondo me il problema non è Hw, ma

10 ore fa, giolecce ha scritto:

Il simulatore che uso e PIC SIMULATOR IDE come compilatore uso il basic compiler in dotazione con il software di simulazione ....il programmatore si chiama PIC k150.

 

Con questi arnesi può anche succedere che che ci sia qualche bug misconosciuta, vista la loro non enorme diffusione.

Se non funziona, io ti consiglierei di cancella re fisicamente tutto il software e riscriverlo partendo da un editor vuoto.

A volte, moltio anni fa, mi capitavano malfunzionamenti inspiegabili doviti ad un errore dell'editor. Ma stiamno parlando dei primni anni '80 del secolo scorso, poi gli editor son diventati più affidabili.

Share this post


Link to post
Share on other sites
dott.cicala

è pessimo pilotare il led  senza la resistenza e non avere un minimo di  antirimbalzo sul pulsante quando non lo si fa nel fw se poi non c'è nemmeno il reset all'accensione.....deve fare 2 cose sto circuito e 3 son sbagliate :superlol:

Share this post


Link to post
Share on other sites
Livio Orsini
7 ore fa, dott.cicala ha scritto:

deve fare 2 cose sto circuito e 3 son sbagliate 

 

Ma anche con quei 3 errori quel software deve girare comunque; però da quanto scrive io ho l'impressione che il programma vada a ranocchie o a farfalle (secondo preferenza personale:smile:) sino a quando ripassa per PC zero e rififà il primo ciclo, poi ...

 

Illed senza resistore di limitazione è una porcata, ma la limitazione la fa ..... la porta.:(

Edited by Livio Orsini

Share this post


Link to post
Share on other sites
dott.cicala
1 ora fa, Livio Orsini ha scritto:

da quanto scrive io ho l'impressione che il programma vada a ranocchi

Se carica il codice che ho allegato lo verifica subito. Se funziona è il suo compilatore che da i numeri, se non funzione è il circuito 

Share this post


Link to post
Share on other sites
del_user_97632

uhm .... si anche il proimo schema doveva funzionare, pero'.  .... hehehe

 c'e' di certo un problema

 

Se non limiti la corrente del led e lo piloti a 5V senza resistenze (mentre devi avere i 10mA tipici) , forse che il PIC si arrabbia e si resetta. "Sink current" ha un limte, da datasheet. Vedi che a domandar lo schema non si sbaglia mai ?

 

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini
17 ore fa, _angelo_ ha scritto:

Se non limiti la corrente del led e lo piloti a 5V senza resistenze (mentre devi avere i 10mA tipici) , forse che il PIC si arrabbia e si resetta.

 

Non credo si resetti.

Per resettarsi dovrebbe cedere l'alimentatore sotto la soglia minima, che è intorno ai 4V - 4.5V (ma forse anche meno). Se accadesse questo sarebbe questione, al più, di un cenbtinaio di ms e non riusciresti certo a vedere il LED acceso per un periodo apprezzabile, al più vedresti un lampo.

E più facile che, presto o tardi, si sfondi la porta (o si sfondi il LED)

Tra l'altro aumentado la corrente nel LED aumenta anche la sua cdt ed anche la cdt della porta. Alla fine si instaura una sorta di equilibrio con corrente un poco superiore a quella normale.

Ciò non toglie che non usare una resistenza limitatrice sia una porcata, ma in rete trovi un'infinità di circuiti da "canshit" come dico gli yankees.

 

Share this post


Link to post
Share on other sites
del_user_97632

Non ho neanche guardato il datasheet, in genere i gpio del PIC potrebbero dare, in uscita (sink) forse 50mA". In "drain" forse di piu.

E' facile che il problema sia quello da me sdescritto perche lui diceva che la variabile i tornava a 0, quindi si resetta.


Tutti i micro di quel tipo hanno il "brown out" detection e controlli simili sull'alimentazione (forse 16f84a ancora non lo aveva).

 

In ogni caso, sul led, come ho detto sopra, ci va la resistenza, oltre al fatto che su micro del genere si evita di mettrre il led in quel modo, in genere  si accende portando a 0 perche la corrente di "drain" e' in genere maggiore, anche se i PIC tengono piu corrente di altri, in output, io collego sempre con il catodo verso il gpio, perche molti gpio micro, e specie in cpu (SoC) piu evolute, i gpio in output danno solo pochi mA..

 

A lui pare sti acceso un secondo, magari e' meno.

 

Giolecce: prova (se vuoi) una resistenza in serie al led di 470 ohm, o 330.

 

Saluti

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
del_user_97632

Per capire se si resetta, e per che motivo, si puo accendere, come "traccia" di debug, che ne so, per 0.5 secondi un led su un altra porta prima del loop, soprattutto leggendo da apposito registro la ragione del reset.

 

 

 

 

 

Edited by _angelo_

Share this post


Link to post
Share on other sites
Livio Orsini

Se si resetasse per calo di tensione da sovraccarico, ammesso e non concesso che ceda l'alimentazione, non vedresti il led acceso per circa 1"

Share this post


Link to post
Share on other sites
giolecce
Il 7/3/2020 alle 00:32 , dott.cicala ha scritto:

Lo schema è pessimo. 

 

Con questo schema e questo codice DEVE funzionare

image.png.750033bae561b585a8dfc0050472f093.png

 


:020000000328D3
:10000600FF308316850086018312850186010E1056
:100016008E100E118E1585191228401413284010C3
:100026000E181728031418280310401C1E28031C3A
:100036001E280E151F280E11401823280E102428DE
:100046000E148E182828031429280310851D2F281E
:10005600031C2F288E1530288E11851934288E10F2
:1000660035288E140E193A288E193A283B288615FB
:10007600861D4C280B30CB002630CC005D30CD00E1
:10008600CD0B4328CC0B4328CB0B432800000000A4
:0600960086110E284D2822
:02400E00FA3F77
:00000001FF

 

Realizzato circuito come da schema, programmato il pic come listato fornito,  ...il problema persiste....

Share this post


Link to post
Share on other sites
dott.cicala

Non l'ho simulato ma provato e funziona perfettamente...

Share this post


Link to post
Share on other sites
Livio Orsini
7 ore fa, dott.cicala ha scritto:

Non l'ho simulato ma provato e funziona perfettamente...

 

Se a Stefano funziona e a giolecce no, le possibili ipotesi non sono molte:

  • giolecce crede di aver realizzato lo stesso circuito e caricato lo stesso software, ma c'è un errore che non riesce a riconoscere.
  • il programmatore di giolecce ha dei problemi.
  • nel posto dove giolecce fa le prove c'è uno spiritello maligno che si diverte a disturbare il suo lavoro.:smile:

Ci sarebbe un'altra ipotesi: Stefano bara quando dice che lo ha provato e che funziona, ma a me pare meno credibile di quella dello spiritello malevolo.:lol:

Share this post


Link to post
Share on other sites
dott.cicala
2 ore fa, Livio Orsini ha scritto:

Stefano bara quando dice che lo ha provato e che funziona,

Non ho barato ma non ho voglia di fare il video...

Share this post


Link to post
Share on other sites
Livio Orsini
13 minuti fa, dott.cicala ha scritto:

Non ho barato ma non ho voglia di fare il video...

 

Stefano, non per niente ho scritto:

3 ore fa, Livio Orsini ha scritto:

ma a me pare meno credibile di quella dello spiritello malevolo.

 

Share this post


Link to post
Share on other sites
giolecce
11 ore fa, Livio Orsini ha scritto:

 

Se a Stefano funziona e a giolecce no, le possibili ipotesi non sono molte:

  • giolecce crede di aver realizzato lo stesso circuito e caricato lo stesso software, ma c'è un errore che non riesce a riconoscere.
  • il programmatore di giolecce ha dei problemi.
  • nel posto dove giolecce fa le prove c'è uno spiritello maligno che si diverte a disturbare il suo lavoro.:smile:

Ci sarebbe un'altra ipotesi: Stefano bara quando dice che lo ha provato e che funziona, ma a me pare meno credibile di quella dello spiritello malevolo.:lol:

Ne manca una....il pic è rotto. Sto aspettando che arrivi il nuovo  ...

Share this post


Link to post
Share on other sites
gabri-z
6 minuti fa, giolecce ha scritto:

Ne manca una....il pic è rotto

Ci sta nel :

12 ore fa, Livio Orsini ha scritto:

nel posto dove giolecce fa le prove c'è uno spiritello maligno che si diverte a disturbare il suo lavoro.:smile:

 

Share this post


Link to post
Share on other sites
Livio Orsini
11 ore fa, giolecce ha scritto:

Ne manca una....il pic è rotto. Sto aspettando che arrivi il nuovo  ...

 

Mmmm, tutto è possibile, però da quello che hai scritto l'unica rottura che potrebbe causare il difetto descritto è un problema di flash per cui il programma non sicarica nel modo corretto.

Però un programmatore che non sia un'immond schifezza ti da un messaggio di errore al termine della programmazione.

Share this post


Link to post
Share on other sites
giolecce
7 ore fa, Livio Orsini ha scritto:

 

Mmmm, tutto è possibile, però da quello che hai scritto l'unica rottura che potrebbe causare il difetto descritto è un problema di flash per cui il programma non sicarica nel modo corretto.

Però un programmatore che non sia un'immond schifezza ti da un messaggio di errore al termine della programmazione.

Una volta programmato il pic verifico l'esatta scrittura con una funzione all'interno del programma stesso...e tutto è ok. Il programmatore non mi dà alcun errore.

comunque che simulatore e che programmatore usate?

Share this post


Link to post
Share on other sites
Livio Orsini
2 ore fa, giolecce ha scritto:

comunque che simulatore e che programmatore usate?

 

Io non so cosa usa Stefano; io ho sempre usato solo MPLAB di Microchip come ambiente di sviluppo, ICD2 come programamtore (anche se adesso se sviluppassi ancora PIC dovrei passare a PICKIT3 o 4) e compilatore PIC-C  che molto ben ottimizzato.

 

Comunque se il programmatore garantisce la corrispondeza tra file scritto e file sorgente trovo molto strano un guasto delmicro che causi quel tipo di difetto.

Sarei curioso di vederlo.

Tienici informati sugli sviluppi perchè, a questo punto, la curiosità è veramente tanta.

Share this post


Link to post
Share on other sites
dott.cicala

Ho usato XC8 C compiler, Pickit4 originale e non perdo mai  tempo a simulare ma monto sempre i circuiti.

Al limite, ma non in questo caso, uso l'in circuit debugger

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...