» elettronica »Programmatore fatto in casa per controller PIC

Programmatore fatto in casa per controller PIC

Programmatore fatto in casa per controller PIC

Lo sviluppo dell'elettronica procede rapidamente e sempre più spesso l'elemento principale di un dispositivo è un microcontrollore. Fa la maggior parte del lavoro e libera il progettista dalla necessità di creare circuiti sofisticati, riducendo così al minimo le dimensioni del circuito. Come tutti sanno, il microcontrollore è controllato da un programma registrato nella sua memoria interna. E se un programmatore elettronico esperto non ha problemi a utilizzare i microcontrollori nei propri dispositivi, allora per un radioamatore principiante che prova a scrivere un programma su un controller (in particolare PIC) può rivelarsi una grande delusione, e talvolta un piccolo spettacolo pirotecnico sotto forma di un chip per fumatori.

Stranamente, ma con tutta la grandezza di Internet, ha pochissime informazioni sul firmware Controller Pice il materiale che si trova è di dubbia qualità. Naturalmente, puoi acquistare un programmatore di fabbrica a un prezzo inadeguato e cucire quanto vuoi, ma cosa succede se la persona non è impegnata nella produzione di massa. Per questi scopi, è possibile mettere insieme un semplice e non costoso da implementare fatto in casa, Di cui Programmatore JDM secondo lo schema seguente (figura n. 1):


Figura №1 - diagramma del programmatore

Immediatamente porto un elenco di elementi per coloro che sono troppo pigri per scrutare il diagramma:

  • R1 - 10 kOhm
  • R2 - 10 kOhm (troncato). Regolando la resistenza di questo resistore, durante la programmazione è necessario raggiungere circa 13 V sul pin n. 4 (VPP). Nel mio caso, la resistenza è 1,2 kOhm
  • R3 - 200 ohm
  • R4, R5 - 1,5 kOhm
  • VD1, VD2, VD3, VD4, VD6 - 1N4148
  • VD5 - 1N4733A (tensione di stabilizzazione 5.1 V)
  • VD7 - 1N4743A (tensione di stabilizzazione 13 V)
  • C1 - 100 nF (0,1 μF)
  • C2 - 470 μF x 16 V (elettrolitico)
  • SUB-D9F - Connettore porta COM (MOM o SOCKET)
  • Presa DIP8: dipende dal controller utilizzato

Il circuito utilizza un esempio di collegamento di controller comuni come PIC12F675 e PIC12F629, ma ciò non significa affatto che il firmware di altre serie PIC sarà impossibile. Per scrivere un programma su un controller di un tipo diverso, è sufficiente trasferire i fili del programmatore secondo la Figura 2, che viene fornita di seguito.


Figura n. 2 - Opzioni della custodia del controller PIC con le conclusioni necessarie

Come puoi immaginare, il caso viene utilizzato nello schema del mio programmatore DIP8. Con un grande desiderio, puoi realizzare un adattatore universale per ogni tipo di chip, ottenendo così un programmatore universale. Ma da allora Controller PIC Lavoro raramente, questo è abbastanza per me.

Sebbene il circuito stesso sia abbastanza semplice e non causi difficoltà di montaggio, ma richiede anche rispetto. Pertanto, sarebbe bello realizzare un circuito stampato per questo. Dopo alcune manipolazioni con il programma SprintLayout, textolite, trapano e ferro, un tale spazio bianco è nato qui (foto n. 3).


Foto n. 3 - circuito programmatore

Scarica la sorgente PCB per il programma SprintLayout Puoi seguire questo link:
pp_programmator.zip [17.67 Kb] (download: 984)
Se lo si desidera, è possibile modificarlo con il tipo di controller PIC. Per coloro che hanno deciso di lasciare invariata la scheda, ho allargato la vista dal lato delle parti per facilitare l'installazione (Figura 4).


Figura 4 - Scheda sul lato di montaggio

Un po 'più di stregoneria con un saldatore e abbiamo un dispositivo pronto che può lampeggiare Controller pic attraverso Porta COM il tuo computer. Ancora caldo e non lavato dal flusso, il risultato dei miei sforzi è mostrato nella foto n. 5.


Foto n. 5 - programmatore completo

Da ora in poi, il primo passo verso il firmware Controller picè finito. La seconda fase includerà il collegamento del programmatore al computer e l'utilizzo del programma IC Prog.
Sfortunatamente, non tutti i moderni computer e laptop sono in grado di lavorare con questo programmatore a causa della banale assenza su di essi Porte COMe quelli installati sui laptop non forniscono la programmazione necessaria 12B. Così ho deciso di passare al mio primo PCche molto tempo fa spolverava e aspettava la sua ora migliore (e ancora aspettava).
Quindi accendi il computer e installa prima il programma IC Prog. Puoi scaricarlo dal sito dell'autore o a questo link:
icprog105d.zip [432.25 Kb] (download: 1167)
Colleghiamo il programmatore a Porta COM ed esegui l'applicazione appena installata. Per un corretto funzionamento, è necessario eseguire una serie di manipolazioni. Inizialmente, è necessario scegliere il tipo di controller che stiamo per cucire. Ce l'ho PIC12F675. Nello screenshot n. 6, il campo per la selezione del controller è evidenziato in rosso.


Schermata 6 - Selezione del tipo di microcontrollore

Quindi, vai al menu "Impostazioni "->" Opzioni", nella finestra visualizzata, seleziona la scheda I2C e seleziona le caselle come mostrato nello screenshot n. 7.


Schermata 7 - impostazione del metodo di registrazione del controller

Nella stessa finestra, vai alla scheda "programmazione"e seleziona"Verifica della programmazione". Il controllo dopo la programmazione può causare un errore, perché in alcuni casi il firmware installa i fusibili di blocco CP. Per non illuderti, è meglio disabilitare questo controllo. In breve, segui lo screenshot numero 8.


Schermata n. 8: impostazione della verifica

Continuiamo a lavorare con questa finestra e andiamo alla "comune". Qui è necessario impostare la priorità del programma e assicurarsi di utilizzarlo NT / 2000 / XP autista (screenshot numero 9). In alcuni casi, il programma potrebbe suggerire l'installazione di questo driver e potrebbe richiedere un riavvio IC Prog.


Schermata 9 - Impostazioni generali

Quindi, con questa finestra il lavoro è finito. Passiamo ora alle impostazioni del programmatore stesso. Scegli nel menu "Impostazioni "->" Impostazioni programmatore"o premi semplicemente il tasto F3. Viene visualizzata la seguente finestra, mostrata nello screenshot n. 10.


Schermata n. 10 - Finestra delle impostazioni del programmatore

Prima di tutto, seleziona il tipo di programmatore - Programmatore jdm. Successivamente, impostiamo il pulsante di opzione per l'utilizzo del driver finestre. Il prossimo passo è scegliere Porta COMa cui è collegato il programmatore. Se ce n'è uno, non ci sono domande e, se ce n'è più di uno, guarda in Gestione dispositivi che è attualmente in uso. Il dispositivo di scorrimento del ritardo I / O è progettato per controllare la velocità di scrittura e lettura. Questo può essere necessario su computer veloci e se ci sono problemi con il firmware - questo parametro deve essere aumentato. Nel mio caso, è rimasto di default uguale a 10 e tutto ha funzionato bene.

Su questa impostazione del programma IC Prog è finito e puoi procedere al processo del firmware stesso, ma prima leggiamo i dati dal microcontrollore e vediamo cosa è scritto in esso. Per fare ciò, sulla barra degli strumenti, fai clic sull'icona del microcircuito con una freccia verde, come mostrato nello screenshot n. 11.


Schermata 11 - Il processo di lettura delle informazioni dal microcontrollore

Se il microcontrollore è nuovo e non è stato precedentemente eseguito il flashing, tutte le sue celle di memoria verranno riempite di valori 3FFFtranne l'ultimo. Conterrà il valore della costante di calibrazione. Questo è un valore molto importante e unico per ciascun controller. La precisione dell'orologio dipende da questo, che viene selezionato dal produttore selezionando e installando questa costante. Lo screenshot n. 12 mostra la cella di memoria in cui verrà memorizzata la costante durante la lettura del controller.


Schermata 12 - valore della costante di calibrazione

Ripeto che il valore è unico per ciascun microcircuito e non deve coincidere con quanto mostrato in figura. Molti per inesperienza sovrascrivono questa costante e successivamente Controller pic inizia a funzionare in modo errato se il progetto utilizza il clock da un generatore interno. Ti consiglio di annotare questa costante e incollare l'iscrizione con il suo valore direttamente sul controller. In questo modo eviterai molti problemi in futuro. Quindi, il valore è scritto - andiamo avanti. Apri il file del firmware, che di solito ha un'estensione hex. Adesso invece di scrivere 3FFF, il buffer di programmazione contiene il codice del nostro programma (screenshot n. 13).


Schermata 13 - Firmware scaricato nel buffer di programmazione

Ho scritto sopra che molti sovrascrivono la costante di calibrazione per negligenza. Quando succede? Ciò accade quando viene aperto il file del firmware. Il valore della costante cambia automaticamente in 3FFF e se si avvia il processo di programmazione, non è possibile tornare indietro. Nello screenshot n. 14, quella cella di memoria in cui si trovava in precedenza la costante 3450 (prima dell'apertura file esadecimale).


Schermata n. 14: cambio automatico della costante di calibrazione

Ora devi seguire attentamente i passaggi seguenti. Facciamo clic sull'icona del microcircuito con un fulmine sulla barra degli strumenti, informando così il programma che vogliamo avviare il processo del firmware. Il programma chiederà se siamo sicuri di voler eseguire il flashing di questo dispositivo. Accettiamo e facciamo clic su "SI". Successivamente, viene visualizzato l'avviso mostrato nello screenshot n. 15.


Schermata n. 15 - avviso di discrepanza nei valori della costante di clock

IC Prog ci dice che un valore della costante di calibrazione (nel mio caso 3450) e ora un altro (3FFF) sostituito automaticamente da file esadecimale. Si propone inoltre di lasciare il valore predefinito 3FFF. È importante fare clic su "NO"Per IC Prog durante la programmazione ci ha restituito il valore 3450 o cosa sarà con te. In generale, fai clic su "NO"e osserva la seguente finestra (screenshot n. 16).


Schermata 16 - processo di programmazione

Durante questo periodo, ti consiglio di non premere nulla o caricare il computer con altre attività. Quando ho fatto uno screenshot per questo articolo, quando faccio clic sul pulsante Stampa schermo si è verificato un errore di scrittura e ho dovuto ricominciare da capo. Dopo qualche tempo IC Prog ti darà un messaggio sulla corretta verifica del nuovo codice scritto nel tuo Controller pic, quindi a tutti coloro che hanno apprezzato questo articolo, voglio vederlo dopo sforzi simili (screenshot n. 17):


Schermata n. 17: il firmware ha avuto esito positivo, puoi rilassarti

In caso di domande, rileggere attentamente l'articolo e tutto funzionerà sicuramente, controllato personalmente. Buona fortuna a tutti e successo creativo !!!
9.8
9.9
9.9

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino
8 commento
Ospite Ivanov
Grande tema. Il tempio è professionalità, in modo accurato, chiaro e conciso! Grazie! Successo!
Ospite Helen
Ragazzi, dimmi per favore. Se quando si legge il firmware da un controller deliberatamente flash, il codice del programma contiene solo ZERO e un fattore di calibrazione alla fine, significa che il firmware è protetto dalla lettura? microcontrollore PIC16F630, ha provato a considerare il programmatore secondo lo schema "3 cablaggio" attraverso la porta COM. aiuto
Ciao buon anno a te. per favore dimmelo. hai scritto 13 volt sul 4 ° pin durante la programmazione. misurare la tensione sulla 4a uscita rispetto a gnd? raccontaci di più su come hai impostato il programmatore
C'è uno schema (più serio) sull'LP5858. È successo tanto tempo fa
Guarda su Internet
L'autore
Sfortunatamente no.
e per caso non esiste uno schema con porta lpt? grazie.
L'autore
Grazie per la valutazione Ho reso un amico programmatore con un cavo remoto di circa 1 metro. Il volo è normale: i controller cuce senza fallo. Il cavo utilizzava un cavo a due fili intrecciati.
Roman1984, Ti ho messo il 9-10-10, ma c'è una domanda: hai provato a lavorare con il programmatore che è stato rimosso dalla porta COM sul cavo? Se funziona normalmente in questo caso, è possibile saldare il cavo anziché il connettore sulla scheda. È più conveniente quando il modulo del programmatore è sul tavolo e i carichi dinamici sulla porta COM del PC sono inferiori.
Quando si esegue il cavo, si consiglia di posizionare il programmatore quando non è in uso, ma il cavo non può essere rimosso dal connettore del PC in una scatola, come una scatola di sapone, per evitare cortocircuiti accidentali.

Ti consigliamo di leggere:

Passalo per lo smartphone ...