Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

PIC16F877 + Potenziometro + PWMout: in alto mare

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentedensha » 20 set 2013, 16:11

c1b8 ha scritto:Immagino tu non abbia un quarzo, giusto per togliersi il dubbio sulla mancata oscillazione...

L'uso dei condensatori era solo un tentativo disperato...

OT: Se ti interressa avvicinarti ai PIC e sperimentare con loro, forse è rimasto ancora qualche PierinPIC18. Guarda qui


Mi son fatto prestare un quarzo da 32MHz (giusto per verificarne il funzionamento con l'oscilloscopio), ma niente... nessun segnale! :(
Avatar utente
Foto Utentedensha
8 2
 
Messaggi: 26
Iscritto il: 13 nov 2012, 15:18

0
voti

[12] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentec1b8 » 20 set 2013, 16:14

Bisogna dire che 32MHz sono un po' troppi per quel PIC...
Riesci a fare uno schema con FidoCadJ di quello che stai provando e postarlo?
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[13] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentegrandegiove » 20 set 2013, 17:09

Ciao Foto Utentedensha,

per isolare il problema all'oscillatore potresti provare a far "girare" il PIC con un oscillatore RC esterno, semplicemente collegando una resistenza e un condensatore come mostrato nel paragrafo "12.2.3 RC OSCILLATOR" del datasheet.

Sicuramente non può essere una soluzione definitiva perché questo tipo di configurazione è utile solo per applicazioni in cui la base dei tempi non richiede una particolare precisione ma potrebbe essere utile per isolare il problema al solo quarzo.

Hope it helps, un saluto, ciao!
Avatar utente
Foto Utentegrandegiove
1.151 1 4 8
Expert
Expert
 
Messaggi: 517
Iscritto il: 18 ott 2010, 9:59

-1
voti

[14] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentedensha » 20 set 2013, 17:31

c1b8 ha scritto:Bisogna dire che 32MHz sono un po' troppi per quel PIC...
Riesci a fare uno schema con FidoCadJ di quello che stai provando e postarlo?


Eccolo qui.

PS: ovviamente infinitamente grazie per la pazienza!

Avatar utente
Foto Utentedensha
8 2
 
Messaggi: 26
Iscritto il: 13 nov 2012, 15:18

0
voti

[15] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentec1b8 » 20 set 2013, 17:55

Solo per chiarezza:
- i pin 12 e 31 (entrambi) sono collegati al negativo di alimentazione
- i pin 11 e 32 (entrambi) sono collegati al positivo di alimentazione
- i pin collegati al risonatore sono il 13 e 14
- il risonatore è fisicamente molto vicino al PIC

Ti chiedo questo perché dallo schema non è molto chiaro.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[16] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentedensha » 20 set 2013, 23:23

c1b8 ha scritto:Solo per chiarezza:
- i pin 12 e 31 (entrambi) sono collegati al negativo di alimentazione
- i pin 11 e 32 (entrambi) sono collegati al positivo di alimentazione
- i pin collegati al risonatore sono il 13 e 14
- il risonatore è fisicamente molto vicino al PIC



- 12 e 31 li ho messi in corto
- 11 e 32 li ho messi in corto
- il risonatore è correttamente posizionato e dista appena un foro dal pin del micro

Ti chiedo questo perché dallo schema non è molto chiaro.


Hai decisamente ragione: ho dovuto fare lo schema in pochissimo (avrei fatto prima a fotografare il tutto :mrgreen: )
Avatar utente
Foto Utentedensha
8 2
 
Messaggi: 26
Iscritto il: 13 nov 2012, 15:18

1
voti

[17] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentedensha » 23 set 2013, 11:17

Un post veloce per dire che ho risolto il problema e in maniera decisamente banale: come infatti sospettavo dall'inizio, non avevo impostato correttamente i registri per la modalità di oscillatore di mio interesse.

E' bastato aggiungere il pragma:

Codice: Seleziona tutto
#pragma config FOSC = XT


e tutto ha preso a funzionare correttamente. Il PWM in uscita dal micro va dallo 0% al 99.6%.

Obiettivo della giornata è ora portarlo fino al 100% :D
Avatar utente
Foto Utentedensha
8 2
 
Messaggi: 26
Iscritto il: 13 nov 2012, 15:18

0
voti

[18] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentedensha » 23 set 2013, 11:28

grandegiove ha scritto:Ciao Foto Utentedensha,

per isolare il problema all'oscillatore potresti provare a far "girare" il PIC con un oscillatore RC esterno, semplicemente collegando una resistenza e un condensatore come mostrato nel paragrafo "12.2.3 RC OSCILLATOR" del datasheet.

Sicuramente non può essere una soluzione definitiva perché questo tipo di configurazione è utile solo per applicazioni in cui la base dei tempi non richiede una particolare precisione ma potrebbe essere utile per isolare il problema al solo quarzo.

Hope it helps, un saluto, ciao!


Ci tengo a ringraziare anche te: ogni prova consigliatami è per me preziosissima.
Mi permette di accumulare quell'esperienza che (purtroppo) non insegnano in nessun libro né corso di studi.
Avatar utente
Foto Utentedensha
8 2
 
Messaggi: 26
Iscritto il: 13 nov 2012, 15:18

0
voti

[19] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentec1b8 » 23 set 2013, 11:31

E pensare che i fuses erano la prima cosa che si era detto di verificare :D :ok:

Per avere il 100% del PWM devi impostare non solo il registro CCPR1L (con i bit più significativi della conversione ADC), ma anche i bit 4 e 5 del registro CCP1CON (con i bit meno significativi).

Altro cosa su cui prestare attenzione è la frequenza del PWM che determina quanti bit di risoluzione per il Duty Cycle puoi utilizzare.
Fabio
Avatar utente
Foto Utentec1b8
3.595 3 8 13
G.Master EY
G.Master EY
 
Messaggi: 1770
Iscritto il: 15 gen 2009, 15:23

0
voti

[20] Re: PIC16F877 + Potenziometro + PWMout: in alto mare

Messaggioda Foto Utentedensha » 23 set 2013, 14:06

c1b8 ha scritto:E pensare che i fuses erano la prima cosa che si era detto di verificare :D :ok:

Per avere il 100% del PWM devi impostare non solo il registro CCPR1L (con i bit più significativi della conversione ADC), ma anche i bit 4 e 5 del registro CCP1CON (con i bit meno significativi).

Altro cosa su cui prestare attenzione è la frequenza del PWM che determina quanti bit di risoluzione per il Duty Cycle puoi utilizzare.


Risolto anche quest'ultimo problema settando correttamente PR2.

Se può tornare utile, linko un documento per il dimensionamento che ho trovato sul forum della microchip:

http://www.microchip.com/forums/download.axd?file=0;505676

Ora gira tutto come previsto: passo al prossimo step! :D

Grazie infinite a tutti!
Avatar utente
Foto Utentedensha
8 2
 
Messaggi: 26
Iscritto il: 13 nov 2012, 15:18

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 3 ospiti