Ben arrivato! Fai login o registrati per fruire di tutte le funzionalità del forum e del sito.
Se eri già registrato e non ti ricordi la password usa questo link per recuperare l'accesso.
Sito e forum dedicati al fermodellismo, il nostro hobby viene praticato in molte maniere diverse, tutte ugualmente valide: hai un plastico? oppure sei un collezionista? oppure un semplice appassionato? Non esitare a scrivere nel forum, tutti gli interventi sono benvenuti... Postate foto e video del vostro plastico e chiedete aiuto per ogni problema o curiosità inerente al nostro hobby.
Rinnovo/Iscrizione/Donazioni GAS TT - 2025

Aiuto coi PIC

Tutto ciò che è elettricità applicata al fermodellismo.

Moderatori: MrMassy86, adobel55, lorelay49

Messaggio
Autore
Avatar utente
MarcoMN
Socio GAS TT
Messaggi: 630
Iscritto il: mercoledì 16 gennaio 2013, 8:54
Nome: Marco
Regione: Lombardia
Città: San Giorgio Bigarello
Stato: Non connesso

Re: Aiuto coi PIC

#1 Messaggio da MarcoMN »

Ciao a tutti. Chiedo se c'è un volenteroso che mi aiuta con la programmazione dei PIC.

Premesso che li sto impiegando per la realizzazione diquesto progetto , mi serve sapere in particolare come si effettua la CALIBRAZIONE e i FUSES.
Ho già schiantato due pic su quattro che avevo già programmato. Probabilmente ho sbagliato qualcosa in fase di riprogrammazione o cancellazione della ROM.

Il progetto prevede l'uso di PIC 12F675.

Non capisco se la calibrazione va fatta ogni volta che si programma un altro pic (se li programmi in quantità e sono tutti uguali) oppure no.

Ho problemi anche sulla procedura di cancellazione. Ne avevo programmato uno e non funcionava bene. Cancellandolo probabilmente ho cancellato anche i dati della calibrazione e da allora non riconosce nemmeno il PIC.

Uso il programma MICROBRN (lo preferisco) ma ho installato anche ICPROG.

Grazie in anticipo a chi vorrà aiutarmi.


Marco - Fermodellismo per passione - La mia pagina Facebook

Avatar utente
MarcoMN
Socio GAS TT
Messaggi: 630
Iscritto il: mercoledì 16 gennaio 2013, 8:54
Nome: Marco
Regione: Lombardia
Città: San Giorgio Bigarello
Stato: Non connesso

Aiuto coi PIC

#2 Messaggio da MarcoMN »

UP

Nessuno se ne intende veramente?
Marco - Fermodellismo per passione - La mia pagina Facebook

Avatar utente
liftman
Socio GAS TT
Messaggi: 7762
Iscritto il: domenica 29 gennaio 2012, 14:40
Nome: Rolando
Regione: Liguria
Città: La Spezia
Ruolo: Moderatore
Stato: Non connesso

Re: Aiuto coi PIC

#3 Messaggio da liftman »

l'unico che credo abbia esperienze in merito è Edgardo, io anche se nel passato sono stato tentato più volte da questo genere di smanettamenti, alla fine non ne ho mai fatto niente.
Ciao!
Rolando

Avatar utente
Digtrain
Messaggi: 1621
Iscritto il: giovedì 20 dicembre 2012, 23:47
Nome: Walter
Regione: Lombardia
Città: Casarile
Stato: Non connesso

Re: Aiuto coi PIC

#4 Messaggio da Digtrain »

Ciao Marco, :grin:

immagino tu utilizzi per programmare i K150 con Microbrn giusto?

Giusto venerdì sera io e Giacomo ( Jack94) abbiamo montato 4 circuiti in oggetto.
Il giorno prima avevo programmato i pic e non avevo avuto prroblemi.

Inserisco il pic, carico il programma Hex e gli dico di programmare a questo punto si apre una finestra in cui mi chiede se voglio spostare un certo indirizzo io gli dico no e lui (il programma) procede.
Quindi ti posso dire che non faccio calibrazione e non modifico i fuses.
Se desideri ci sentiamo per telefono e lo facciamo in contemporanea davanti allo schermo.
Ciao Walter :geek:
Walter - Club Modellismo Pavese - Steamtown National Historic Site - Het Spoorwegmuseum Utrech - Loxx Berlino - "Il mio fisico è stato scolpito e modellato nelle migliori trattorie della Lomellina"

Avatar utente
schunt
Messaggi: 531
Iscritto il: giovedì 3 aprile 2014, 8:19
Nome: Enzo
Regione: Toscana
Città: cascina
Stato: Non connesso

Re: Aiuto coi PIC

#5 Messaggio da schunt »

I migliori risultati li ho ottenuti con in Picaxe che sono micro controllori che funzionano fino a 6 volt, si possono programmare con un programma di visul basic semplicissimo che si scarica dal proprio sito, basta fare http://www.picaxe.com/, che si hanno tutte le informazioni e gli esempi di come programmare.

Normalmente vengono utilizzati nella robotica e sono molto piu' immediati nella programmazione poiche' nel programma, c'e' la funzione tes con simulazione che ti indica dove commetti l'errore.

Con l'uso del picaxe 20 M ho realizzato la centralina di comando di un PL , della stazione nascosta, mentre con il Picaxe 8 M il comando di alcuni segnali, i fanali di coda lampeggianti a strobe indipendenti.
Enzo

Avatar utente
MarcoMN
Socio GAS TT
Messaggi: 630
Iscritto il: mercoledì 16 gennaio 2013, 8:54
Nome: Marco
Regione: Lombardia
Città: San Giorgio Bigarello
Stato: Non connesso

Re: Aiuto coi PIC

#6 Messaggio da MarcoMN »

Grazie agli intervenuti, innanzitutto.

Nel frattempo (diciamo stanotte) ho realizzato cosa c'era di sbagliato.

Semplicemente in apparenza il PIC non funzionava bene o sembrava non funzionare per niente.
Invece, avendo rivisto i circuiti uno ad uno, e avendo alternato pic sicuramente funzionanti su altre copie del circuito, ho riscontrato un errore NELLA FORNITURA di una RESISTENZA, commesso nel negozio in cui ho acquistato i componenti che mi mancavano.

Il negoziante mi ha venduto resistenze da 150K OHM mentre il circuito ne richiede 150, si, ma OHM.. Quindi 150 OHM.
Ho scoperto questo perchè alcuni di quei circuiti sono stati realizzati in un primo momento con materiale che avevo già in casa. Per cui, confrontando i valori (codici colore) delle resistenze, ho riscontrato l'anomalia.

<font color="blue">Altra cosa è il discorso programmazione PIC. </font id="blue">
Vanno dette alcune cose, giustamente, allo scopo di rendere utile il topic e, al contempo, approfondire E CERCARE CONFERME di quanto ho auto-appreso.

Premessa: non ho studiato a fondo la materia e mi avvento sull'argomento come mero esecutore della programmazione dei singoli integrati.

Confermo che il programmatore è il K150 e che uso preferibilmente il software "MICROBRN", fonito come sw default dal produttore del programmatore K150.

A parte una prima serie di settaggi a livello di sistema operativo, poi risolti, nonostante alcuni errori che compaiono all'avvio di MICROBRN, il più del lavoro di autoapprendimento è stato quello della programmazione dei FUSES e la CALIBRAZIONE.
Parlo da quasi profano, quindi se qualcuno può successivamente fare chiarezza, per comune utilità, si senta libero di intervenire.

A quanto ho capito c'è un nocciolo fondamentale: utilizzando il PIC 12F675 c'è la possibilità di usare l'oscillatore interno che funziona a 4 Mhz, senza bisogno di creare un circuito nel circuito per il clock se il funzionamento del circuito stesso e il programma che andrà inserito nel PIC ne prevede l'uso.
C'è un però: ogni singolo integrato che esce di fabbrica ha il circuito interno di oscillazione che però non produce una frequenza perfetta di 4 MHz, ma sballa di qualche decimo nel valore.
In fabbrica cosa fanno? Inseriscono un valore nella memoria accessibile del singolo PIC che serve per compensare tale frequenza del valore spurio, eliminando l'incongruenza e facendo uscire dai pin del PIC una frequenza pressochè perfetta di 4 MHz.
Seconda cosa: riguarda un valore simile che però riguarda il voltaggio (non ho capito se di alimentazione interna del PIC o se in uscita). Si chiama BANDGAP. Questo valore, nel software MICROBRN ha 4 impostazioni (LOW | MID-LOW | MID HIGH | HIGH) che corrispondono in termini di bit a ( 00 | 01 | 10 | 11 ).
Non ho ben compreso se questo valore sia effettivamente leggibile dal listato della memoria del PIC inserito nel programmatore o se basta fare la lettura e, andando nel menu FUSES, basta leggere l'impostazione nel menu a tendina relativo al BANDGAP e poi editarlo a programma hex caricato in MICROBRN prima della programmazione PIC.

Circa TUTTE queste impostazioni ho capito (credo) che effettuando la lettura del PIC VUOTO prima di QUALSIASI programmazione o smanettamento, e andando a segnarsi i valori nelle varie impostazioni (indirizzo 03F8 per il valore della calibrazione dell'oscillatore interno ; Fuses ecc...) si possono tenere annotati per poi ESSERE INSERITI NEL PROGRAMMA HEX CHE ANDRA' RIVERSATO IN MEMORIA NEL PIC.
[Ho imparato un sistema per annotare il valore in HEX 8 bit sfruttando i pin del PIC, dato che sono 8. Per questo vi rimando a questo utile LINK . Attenzione: il valore interessante è quello delle ultime due cifre soltanto, perchè 34, resta sempre fisso. Per convertire il valore alfanumerico basta fare due quasi semplici calcoli o avvalersi di un utilissimo convertitore online . Basta avere l'accortezza di impostare a "8 BITS" il menu a tendina vicino al pulsante "CLEAR". COL PENNARELLO SI SEGNANO I PIEDINI, non sui contatti, più su, che diventano 1, mentre lo 0 è il piedino non segnato a pennarello. Successivamente si ricava la lettura, convertendo la stringa di BIT contando sui piedini da 1 a 8, seguendone l'ordine.]

Detto questo ecco la sequenza che ho seguito, con successo, senza avere errori:

[wbf]- inserire PIC vuoto nel programmatore
- effettuare READ
- andare all'indirizzo 03F8 e leggere il valore
- annotare il valore

- aprire i fuses e vedere che BANDGAP è stato impostato in fabbrica (LOW / MID LOW / MID HIGH / HIGH) CHE CORRISPONDONO A (00 / 01 / 10 / 11)
- ANNOTARE lo stato del Bandgap

- caricare il file hex originale DA PROGRAMMARE NEL PIC
- andare all'indirizzo 03F8 e sostituire il valore presente con quello annotato
- controllare che i fuses corrispondono alle impostazioni iniziali di QUEL chip
- modificare, se serve, il valore del BANDGAP, inserendo quello letto all'inizio
- volendo inserire 0FC0 nel campo ID dei FUSES (ID del tipo di PIC ?)

- programmare E DARE oK SE ESCE UN AVVISO[/f]

Fatto questo ho ottenuto sempre il funzionamento dei circuiti, anche nei casi in cui il componente sbagliato era già sostituito ma evidentemente la programmazione non era andata a buon fine.

La cosa strana è che i PIC che non mi funzionavano e che in precedenza erano stati programmati senza leggerne le calibrazioni OSCCAL e BANDGAP, inserendo l'HEX senza modifiche HANNO FUNZIONATO COMUNQUE EGREGIAMENTE !!!
Questa non me la spiego.
O meglio me la spiego se il valore dell'Oscillatore interno non ha tutta questa importanza al fine del funzionamento del progetto VASILE/ROSATTI....

Ultima cosa che non capisco. Anzi due:
1) Come si programma la CONFIG WORD, specialmente tramite MICROBRN (probabilmente viene fatta in automatico, selezionando le varie opzioni dei menu a tendina in FUSES e in CALIB) ?
2) Continuo a non comprendere il significato della tabella dei parametri di configurazione che ha fornito Edgardo, nel post riguardante il circuito che ho realizzato seguendone il progetto...

Aggiunta postuma: Nei FUSES l'unica cosa ceh ho lasciato "ENABLED" è l'impostazione BODEN.

Grazie a chi mi correggerà e farà chiarezza dove dovuto.
Marco - Fermodellismo per passione - La mia pagina Facebook

Avatar utente
Edgardo_Rosatti
Socio GAS TT
Messaggi: 5094
Iscritto il: venerdì 28 ottobre 2011, 0:59
Nome: Edgardo
Regione: Lombardia
Città: Muggiò
Età: 60
Stato: Non connesso

Re: Aiuto coi PIC

#7 Messaggio da Edgardo_Rosatti »

Ciao Marco, innanzitutto ti ringrazio per le utili info in merito.
Però non vorrei deluderti, in quanto io non sono proprio esperto in materia. I pic li ho usati solo 2 volte; una nel progetto di Vasile che usa il 12F e l'altra per un timer destinato ad un bromografo UV e che usa un 16F.
Se sono riuscito a trasferire il software sui pic è perchè ho smanettato un po' imparando quel poco che serviva per portare a termine il lavoro.

Anche a me comunque all'inizio non funzionava, proprio per l'impostazione del parametro inerente all'oscillatore.
Ora che ci penso, ho fatto un controllo e per il 12F ho usato un altro tipo di programmatore: G540 UNIVERSAL PROGRAMMER.
Questo è il suo software con ancora in memoria i parametri del pic 12F:

G540:
Immagine
120,04 KB

Qui un riferimento al programmatore:
http://it.aliexpress.com/store/product/ ... 69856.html

In realtà, il programmatore che hai visto nel progetto del servo da te citato in topic, con il 12F non funzionava e ho usato questo.
Mi spiace se posso averti mandato in confusione, ma leggo che alla fine hai risolto e questo mi fa molto piacere.

Per completezza riporto la pagina del datasheet del pic 12F dove sono riportati i parametri "configuration bits" a cui ho fatto riferimento: pag 54 paragrafo 9.1 e che hai usato anche tu.

pag. 54 datasheet 12F:
Immagine
140,92 KB

E le 4 combinazioni funzionanti che ho sperimentato sul programmatore G540:

Combinazioni:
Immagine
40,85 KB

Per quanto riguarda il dato presente in 0x03F8 io non l'ho modificato.

Ho realizzato 8 circuiti di questo tipo e 3 sono attualmente funzionanti sul modulo "l'ultimo casello" del modulare, ma era il 2012 e da allora non ho più fatto esperienza con i pic.
Attualmente uso Arduino per praticità, perchè oramai si trova a prezzi stracciati e dispone di una moltitudine di informazioni per fare di tutto.
Non voglio dire cosa sia meglio o peggio e non è questa la sede per farlo.
In fondo esistono tante soluzioni per risolvere problemi :smile:

Ciao
ED

Avatar utente
MarcoMN
Socio GAS TT
Messaggi: 630
Iscritto il: mercoledì 16 gennaio 2013, 8:54
Nome: Marco
Regione: Lombardia
Città: San Giorgio Bigarello
Stato: Non connesso

Re: Aiuto coi PIC

#8 Messaggio da MarcoMN »

Perfetto.

Il tuo programmatore ha un software molto valido.
Ti consente infatti di visualizzare una parte degli indirizzi di memoria che con altri sw, vedi MICROBRN, non puoi visualizzare.

Poi mi sembra molto più chiaro nella gestione della configword.

Grazie del confronto.

Se qualcun'altro vuole precisare o smentire qualcosa... siamo qui :wink:
Marco - Fermodellismo per passione - La mia pagina Facebook

Avatar utente
buddacedcc
Messaggi: 485
Iscritto il: martedì 4 dicembre 2012, 21:37
Nome: Epifanio
Regione: Piemonte
Città: Torino
Stato: Non connesso

Re: Aiuto coi PIC

#9 Messaggio da buddacedcc »

I pic 12f ma anche i 16f programmati con firmware che usano l'oscillatore interno hanno gravi problemi ad essere riprogrammati con i programmatori economici.
Il problema nasce dal fatto che al momento dell'alimentazione del pic, da parte del programmatore, va in esecuzione prima il programma/firmware interno al pic e di conseguenza non si riesce riprogrammare e a sua volta in fase di verifica viene segnalato un fallimento
Nuccio - Visita DCCWorld, il primo ed unico sito italiano dedicato al digitale.

Avatar utente
buddacedcc
Messaggi: 485
Iscritto il: martedì 4 dicembre 2012, 21:37
Nome: Epifanio
Regione: Piemonte
Città: Torino
Stato: Non connesso

Re: Aiuto coi PIC

#10 Messaggio da buddacedcc »

A quanto detto sopra aggiungo ancora un info mancante , che il problema si manifesta sopratutto se l'mclr è disabilitato.
Inoltre i FUSES o "configuration bits" quando si scarica un compilato non vanno toccati, salvo diversa indicazione, in quanto si rischia di alternare pesantemente il funzionamento del tutto.
Normalmente un programmatore capace annega la configurazione dei fuses dentro il compilato.
Nuccio - Visita DCCWorld, il primo ed unico sito italiano dedicato al digitale.

Avatar utente
Edgardo_Rosatti
Socio GAS TT
Messaggi: 5094
Iscritto il: venerdì 28 ottobre 2011, 0:59
Nome: Edgardo
Regione: Lombardia
Città: Muggiò
Età: 60
Stato: Non connesso

Re: Aiuto coi PIC

#11 Messaggio da Edgardo_Rosatti »

Per quel poco che me ne intendo credo di aver avuto la fortuna del principiante coi 12F e questo progetto[:I]
lo dico senza vergogna perchè è così.

In qualsiasi caso grazie delle utili info Nuccio :smile:
ED

Avatar utente
MarcoMN
Socio GAS TT
Messaggi: 630
Iscritto il: mercoledì 16 gennaio 2013, 8:54
Nome: Marco
Regione: Lombardia
Città: San Giorgio Bigarello
Stato: Non connesso

Re: Aiuto coi PIC

#12 Messaggio da MarcoMN »

Mi accodo ai ringraziamenti.
Marco - Fermodellismo per passione - La mia pagina Facebook

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Aiuto coi PIC

#13 Messaggio da sal727 »

Mi unisco alla lista, ho provato anche io a programmare il pic 12F675, ho usato una interfaccia seriale molto semplice e funzionale, autocostruita, trovata in rete:
http://www.instructables.com/id/DIY-1-P ... -and-Easy/
come software il PICPgm, il pic viene riconosciuto in automatico, si riesce a leggere, cancellare, haime :cool: il problema nasce nella fase della programmazione, alla fine quando fa la verifica degli errori , trova questi:

Programming started ...
Verify Error: Code Mem 0x000000: PIC=0x3FFF Buf=0x2804
Verify Error: Code Mem 0x000008: PIC=0x3FFF Buf=0x3001
Verify Error: Code Mem 0x00000A: PIC=0x3FFF Buf=0x1303
Verify Error: Code Mem 0x00000C: PIC=0x3FFF Buf=0x1683
Verify Error: Code Mem 0x00000E: PIC=0x3FFF Buf=0x009F
Verify Error: Code Mem 0x000010: PIC=0x3FFF Buf=0x300B
Verify Error: Code Mem 0x000012: PIC=0x3FFF Buf=0x0085
Verify Error: Code Mem 0x000014: PIC=0x3FFF Buf=0x3028
Verify Error: Code Mem 0x000016: PIC=0x3FFF Buf=0x00A0
Verify Error: Code Mem 0x000018: PIC=0x3FFF Buf=0x3000
Verify Error: Too much errors in Code Mem, giving up!
Verify Error: Cfg Mem 0x00000E: PIC=0x21FF Buf=0x3FD4
Programming finished with verify errors!
Finished in 500.0 seconds!

il file .hex che provo ad inserire è quello citato di Vasile [8]
Ho fatto svariate prove ma, sempre gli stessi errori.
Essendo la prima volta che mi cimento a programmare Pic, non avendo esperienza, chiedo umilmente aiuto [:I]

Avatar utente
Digtrain
Messaggi: 1621
Iscritto il: giovedì 20 dicembre 2012, 23:47
Nome: Walter
Regione: Lombardia
Città: Casarile
Stato: Non connesso

Re: Aiuto coi PIC

#14 Messaggio da Digtrain »

Ciao Salvatore, :grin:
purtroppo (o per fortuna :wink: ) non ho le competenze necessarie per individuare la natura degli errori, però posso consigliarti l'acquisto del programmer K150 in Cina.
Sono già un paio d'anni che lo uso insieme al programma Microburn e ad oggi non ho mai avuto problemi.
Proprio lo scorso mese ho programmato 4 pic 12F675 con l'Hex di Vasile per Jack94 ( Giacomo socio CMP).
Su eBay Cina i prezzi variono da 8 a 15 euro comprese le spese di spedizione.
Io mi servo spesso dal venditore gc_supermarket, dove costa circa 8,50 dollari e aggiungendo 3 dollari ti fa la spedione tracciata.

Ciao Walter :geek:
Walter - Club Modellismo Pavese - Steamtown National Historic Site - Het Spoorwegmuseum Utrech - Loxx Berlino - "Il mio fisico è stato scolpito e modellato nelle migliori trattorie della Lomellina"

Avatar utente
sal727
Messaggi: 4065
Iscritto il: domenica 26 aprile 2015, 17:22
Nome: Salvatore
Regione: Emilia Romagna
Città: Bologna
Ruolo: Moderatore
Stato: Non connesso

Re: Aiuto coi PIC

#15 Messaggio da sal727 »

Ciao Walter, grazie per aver risposto al mio appello, anche se il mio semplice programmatore è funzionante, ho deciso di acquistarne uno come il tuo, l'ho già ordinato, è già stato spedito, devo solo aspettare che arrivi.
Digtrain ha scritto:

Ciao Salvatore, :grin:
purtroppo (o per fortuna :wink: ) non ho le competenze necessarie per individuare la natura degli errori, però posso consigliarti l'acquisto del programmer K150 in Cina.
Sono già un paio d'anni che lo uso insieme al programma Microburn e ad oggi non ho mai avuto problemi.
Proprio lo scorso mese ho programmato 4 pic 12F675 con l'Hex di Vasile per Jack94 ( Giacomo socio CMP).
Su eBay Cina i prezzi variono da 8 a 15 euro comprese le spese di spedizione.
Io mi servo spesso dal venditore gc_supermarket, dove costa circa 8,50 dollari e aggiungendo 3 dollari ti fa la spedione tracciata.

Ciao Walter :geek:

Torna a “COLLEGAMENTI ELETTRICI”