Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Due PWM con 16F877

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[21] Re: Due PWM con 16F877

Messaggioda Foto UtenteLucaScia » 18 mar 2011, 12:01

Immagino di esser pirla io invece! Scusa e' come dici tu un -20!
Di prima mattina sti scherzetti succedono :)
Comunque faccio l'ultima prova e forse ho buone notizie :!:
Avatar utente
Foto UtenteLucaScia
10 1 2
 
Messaggi: 34
Iscritto il: 26 ott 2010, 13:32

0
voti

[22] Re: Due PWM con 16F877

Messaggioda Foto UtentePaolino » 18 mar 2011, 12:11

LucaScia ha scritto:Comunque faccio l'ultima prova e forse ho buone notizie :!:

Ottimo. Sarebbe opportuno che poi ci spieghi come e dove hai trovato problemi e come li hai risolti ;-)

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[23] Re: Due PWM con 16F877

Messaggioda Foto UtenteLucaScia » 18 mar 2011, 13:06

Certo ci mancherebbe!
Dunque ho risolto!!
Posto il codice funzionante ed evidenzio le correzioni rispetto quello iniziale!
Codice: Seleziona tutto
#include <PIC.h>
#include <stdio.h>
#include "delay.c"
int main(void)
{
   int ang, ang1; //

   TRISC=0; //PORTC tutte uscite per il PWM
   
   TRISA=0b00101111; // Porte A analogiche come ingressi, PRIMA NON LE SETTAVO COME INPUT
   
   TRISD=0;//Porte D come uscite
   PORTD=0;//Porte D tutte a zero

   T2CON=4; //Timer2 acceso con prescaler a 1
   CCP1CON=12; //Modulo CCP2 settato in modalita' PWM
   CCP2CON=12; //Modulo CCP2 settato in modalita' PWM

   PR2=0xFF; //Step massimo del duty cycle (e frequenza) PRIMA AVEVO MESSO 0xfe

   ADCON0 = 0b10000001; //attiva porte analogiche con 32tosc e lettura su AN0 PRIMA NON METTEVO 32Tosc ma l'oscillatore interno
   ADCON1= 0b10000000;

   while(1)
   {
      CHS0=0; // seleziona la porta da leggere (AN0) 
      DelayUs(20); //ritardo per il cambio porta analogica   PRIMA ASPETTAVO SOLO 10us   
      ADGO = 1; //Fa partire la conversione
      while(ADGO); //Attende che la conversione sia completa
      ang = ADRESL+(ADRESH<<8); // risultato a 10 bit
      CCPR1L=ang/4; //duty cycle CCP1

      CHS0=1; //seleziona la porta da leggere (RA1)
      DelayUs(20); //ritardo per il cambio porta analogica   PRIMA ASPETTAVO SOLO 10us
      ADGO = 1; //Fa partire la conversione
      while(ADGO);//Attende che la conversione sia completa
      ang1 = ADRESL+(ADRESH<<8); // risultato a 10 bit
      CCPR2L=ang1/4; //duty cycle CCP2
   }
}

Mi sembra sia tutto!!
E comunque siete stati gentilissimi e ne approfitto per chiedervi...
Uso i potenziometri da 1KOhm, vi sembra un buon valore??
Avatar utente
Foto UtenteLucaScia
10 1 2
 
Messaggi: 34
Iscritto il: 26 ott 2010, 13:32

0
voti

[24] Re: Due PWM con 16F877

Messaggioda Foto UtentePaolino » 18 mar 2011, 13:16

Bene, sono contento che sei arrivato al dunque! :ok:
Per quanto riguarda i poti da 1kOhm, direi che dovrebbero essere ok. Se guardi il datasheet del dispositivo, dovresti trovare che l'impedenza massima ammessa per i segnali analogici ingresso al PIC16F87x è di 2k. Se non erro... Non ho il datasheet al momento sotto mano. Controlla.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[25] Re: Due PWM con 16F877

Messaggioda Foto UtentePaolino » 18 mar 2011, 13:21

Ho trovato il datasheet.:
Datasheet PIC16F87x ha scritto:The maximum recommended impedance for analog sources is 10 kΩ. As the impedance is decreased, the acquisition time may be decreased


Quindi, sotto i 10k, vai alla grande.

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

0
voti

[26] Re: Due PWM con 16F877

Messaggioda Foto UtenteLucaScia » 18 mar 2011, 13:37

Apposto!
Ed io in pratica che vantaggio posso trarre tra usare un pot da 1k o uno da 5k?
Grazie ancora e comunque complimenti per il forum veramente d'aiuto e fatto bene!
Avatar utente
Foto UtenteLucaScia
10 1 2
 
Messaggi: 34
Iscritto il: 26 ott 2010, 13:32

0
voti

[27] Re: Due PWM con 16F877

Messaggioda Foto UtenteTardoFreak » 18 mar 2011, 13:41

Se non ho capito male i potenziomentri sono collegati fra la Vdd e GND. Con un potenziometro da 1k consumi 5mA mentre con un da 5K consumi 1mA. Quindi 5K e' preferibile per i consumi.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
Avatar utente
Foto UtenteTardoFreak
73,9k 8 12 13
-EY Legend-
-EY Legend-
 
Messaggi: 15754
Iscritto il: 16 dic 2009, 11:10
Località: Torino - 3° pianeta del Sistema Solare

0
voti

[28] Re: Due PWM con 16F877

Messaggioda Foto UtenteLucaScia » 18 mar 2011, 13:53

Benissimo grazie afferrato il concetto :ok:
Avatar utente
Foto UtenteLucaScia
10 1 2
 
Messaggi: 34
Iscritto il: 26 ott 2010, 13:32

0
voti

[29] Re: Due PWM con 16F877

Messaggioda Foto UtentePaolino » 18 mar 2011, 14:31

Giustissima la considerazione sui consumi, ma valuta anche quanto dice il datasheet:

Datasheet PIC16F87x ha scritto:The maximum recommended impedance for analog sources is 10 kΩ. As the impedance is decreased, the acquisition time may be decreased


Quindi, minore è l'impedenza, minore è il tempo di acquisizione del segnale!

Ciao.

Paolo.
"Houston, Tranquillity Base here. The Eagle has landed." - Neil A.Armstrong

-------------------------------------------------------------

PIC Experience - http://www.picexperience.it
Avatar utente
Foto UtentePaolino
32,6k 8 12 13
G.Master EY
G.Master EY
 
Messaggi: 4226
Iscritto il: 20 gen 2006, 11:42
Località: Vigevano (PV)

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Majestic-12 [Bot] e 8 ospiti