Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

MIKROC :Conversione AD non ottimale

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

1
voti

[1] MIKROC :Conversione AD non ottimale

Messaggioda Foto Utentekf00115 » 10 nov 2014, 18:44

-1- Non so come si usano i TAG

2- Premetto che la mia esperienza si basa sull' assembler con tante routine sviluppate per diversi progetti funzionanti da anni e una breve esperienza con il PIC Basic Professional per poi cercare di passare al C. Volendo rimanere sui PIC 16F876 e PIC16F876A (ne ho circa una sessantina di pezzi rimasti da progetti del passato) sto sperimentando il MKROC in quanto il C18 vale per PIC 18F.

Mi servono 3 canali AD (dalla config di ADCCON1 imposto ADC RA,R1 e R3 e su display visualizzo i tre valori in punti digitali. Premetto che a lavorare in MIkroC mi sento ancora un cane in quanto sto annaspando da 5 o 6 giorni nel tempo libero.

Succede questo:
Se vario con potenziometro AN0 o AN1 tutto OK, Se vario AN3 varia anche AN0 e AN1
In assembler avevo risolto riportando i canali ADC al valore forzato 0 dopo una lettura
e comunque sincronizzavo con GONE e DONE

qui ho scritto questo

Codice: Seleziona tutto
void main() {

  ADCON1=0b00000100;
  TRISA0_bit= 1;
  TRISA1_bit= 1;
  TRISA3_bit= 1;

//GliI altri PIN porta A vorrei fossero degli OUTPUT
 
  while (1) {
    potSX = ADC_Read(0);      // canale AN0
    Delay_ms(10);
    potDX = ADC_Read(1);      //canale AN1
    Delay_ms(10);
    vbat  = ADC_Read(3);      // canale AN3
    Delay_ms(10);

//ho messo un ritardo sperando che migliorasse ma non mi sembra

    IntToStr(potSX ,testo1);
    IntToStr(potDX ,testo2);
    IntToStr(vbat  ,testo3);

/*ho convertito in stringa (idea copiata da internet)
per evitare sfarfallio lcd e evidente lentezza nella lettura, visualizzo ogni tanto*/

    conta=conta+1;

    if (conta>=500)
      {
        Lcd_Init();                                       
        Lcd_Cmd(_LCD_CLEAR);                   
        Lcd_Cmd(_LCD_CURSOR_OFF);         
        Lcd_Out(1,1,"P");
        Lcd_Out_Cp("=");
        Lcd_Out_Cp(rtrim(ltrim(testo1)));
        Lcd_Out_Cp("-");
        Lcd_Out_Cp(rtrim(ltrim(testo2)));
        Lcd_Out_Cp("-");
        Lcd_Out_Cp(rtrim(ltrim(testo3)));
        Delay_ms(200);
        conta=0;
      }

  }


E' come se prendesse il canale 3 come Vref per la conversione ma ADCON1 parla chiaro.
Tra l'altro non devo usare ADCON0 ? La selezione del canale la fa in automatico MIKROC ?
Grazie per l'attenzione
Ultima modifica di Foto Utentespud il 10 nov 2014, 20:39, modificato 1 volta in totale.
Motivazione: inserito il codice tra gli appositi tag
Avatar utente
Foto Utentekf00115
50 4
New entry
New entry
 
Messaggi: 64
Iscritto il: 17 feb 2007, 18:16
Località: perugia

0
voti

[2] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utentekf00115 » 10 nov 2014, 19:50

Non so se MikroC prepara l'ambiente ADC da solo o devo pensarcio io , nel dubbio
ho provato anche ad aggiungere per disabilitare i comparatori

CCP1CON = 0b00000000;
CCP2CON = 0b00000000;

ma stesso problema

poi ho visto su internet un esempio che a differenza degli altri usava anche

ADC_Init();

ho provato ma niente, problema rimane.

A proposito per quanto riguarda l'hardware sto usando una scheda da me sviluppata per un controllo di un termo camino a pellet (sonda T caldaia, sonda T boiler, sonda T esterna), quindi che gira in (non so quanti camini) dal 2007.

Il problema è solo software.
Avatar utente
Foto Utentekf00115
50 4
New entry
New entry
 
Messaggi: 64
Iscritto il: 17 feb 2007, 18:16
Località: perugia

0
voti

[3] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utenteivanpascolo » 10 nov 2014, 20:13

Perché non esegui il programma passo-passo così vedi se il convertitore fa il suo dovere?
Avatar utente
Foto Utenteivanpascolo
20 3
New entry
New entry
 
Messaggi: 71
Iscritto il: 29 set 2014, 20:44

0
voti

[4] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utentekf00115 » 10 nov 2014, 20:22

Passo passo? Ma non ho l'emulatore. Come suggerisci di farlo ?
Avatar utente
Foto Utentekf00115
50 4
New entry
New entry
 
Messaggi: 64
Iscritto il: 17 feb 2007, 18:16
Località: perugia

0
voti

[5] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utenteivanpascolo » 10 nov 2014, 20:28

Come fai a progettare senza uno strumento utilissimo come l' ICD? Io senza uno strumento per il debug non inizierei nemmeno. PICKIT3, ad esempio, costa davvero poco e finalmente anche Microchip ha il suo compilatore C senza alcuna limitazione (mikroC è limitato).
MikroC è sicuramente attraente per le librerie che ha ma per chi non vulole spendere tanto...
Avatar utente
Foto Utenteivanpascolo
20 3
New entry
New entry
 
Messaggi: 71
Iscritto il: 29 set 2014, 20:44

1
voti

[6] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utentekf00115 » 10 nov 2014, 20:48

Fino a 10 anni fa usavo il PicMaster (quella da diversi milioni di lire) per la serie C12 che era un vero emulatore. Ora non vale più niente Di ICD2 (la rotella) ne ho due solo che per i PIC che ho usato recentemente per delle luci LED RGB (piccolissime) il 12F1840 , l' ICD2 non si aggiorna. Allora due anni circa fa ho acquistato il PICKIT2 (Quello grigio). Ora c'e' il PcKit3 (rosso). Ma non sono emulatori ma debugger. Dovrei acquistare il REAL ICE che comunque è sempre un debugger anche se più raffinato.
Ora mi trovo a provare il MikroC e lo sto testando per capire se ci si può fare qualcosa di serio o se é un giochino.. Ma secondo me ha qualche problema come linguaggio quando vado a leggere più canali ADC. Cercavo se qualcuno ha avuto stessa esperienza. Di solito però per il F16 i più usano HI TECH.
Avatar utente
Foto Utentekf00115
50 4
New entry
New entry
 
Messaggi: 64
Iscritto il: 17 feb 2007, 18:16
Località: perugia

0
voti

[7] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utenteivanpascolo » 10 nov 2014, 21:04

MikroC l'ho provato (ho acquistato anche l'icdprog), non è male ma non è un oggetto professionale.
Faccio un veloce ripasso e spero di poterti aiutare.
Avatar utente
Foto Utenteivanpascolo
20 3
New entry
New entry
 
Messaggi: 71
Iscritto il: 29 set 2014, 20:44

1
voti

[8] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto UtenteWALTERmwp » 10 nov 2014, 21:05

Ciao Foto Utentekf00115, per quanto riguarda l'inserimento del codice in un Post, oppure uno schema elettrico/elettronico, devi fare prima ricorso ai tag(s) che ti si presentano sopra l'area di scrittura del Post stesso, come evidenziato di seguito:
rif_Code_fcd.JPG
Selezionando il tastino "Code" ti appaiono i relativi delimitatori così come per il tastino "fcd".
Ti suggerisco vivamente di leggerti, penso tu non l'abbia ancora fatto, l'ottimo articolo che puoi visualizzare tramite il menu a tendina: "Help -> Guida all'uso del Forum".
Poi, per verificare come si presenterebbe quello che hai scritto una volta pubblicato, prima di selezionare il tastino "Invia", seleziona il tastino "Anteprima"; se quello che visualizzi corrisponde alle tue aspettative allora esegui l'invio altrimenti ti riporti col cursore nell'area di scrittura del Post per apportare le tue correzioni o più semplicemente proseguire nella scrittura.

Saluti
W - U.H.F.
Avatar utente
Foto UtenteWALTERmwp
30,2k 4 8 13
G.Master EY
G.Master EY
 
Messaggi: 8982
Iscritto il: 17 lug 2010, 18:42
Località: le 4 del mattino

0
voti

[9] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utentekf00115 » 10 nov 2014, 21:14

Sono un ingegnere che svolge anche la professione di insegnante ormai da quasi 31 anni (purtroppo) e il prossimo Maggio ho 60 anni. Volevo mettere in piedi per le mie 4°A e 5°A un sistemino semplice per cui potessero usare il micro controllore ma in modo più agevole rispetto all' assembler (tra l'altro di un micro RISC ) ma volevo evitare Arduino che invece usiamo in 3°. Le mie prime esperienze con i micro le ho fatte nel 1990 con l' ST6 della SGS THOMPSON. Poi un lavoro per la gestione per il gatto delle nevi (con 196 HC della Intel su scheda emulatrice acquistata alla Kevin Shurtner ) e dopo tanti piccole cose con i PIC oltre a che ai vari Visual su PC software AWL x PLC Siemens. Ora mi sto arrotando con il MikroC. A scuola ho portato tre mie schede per la gestione dei camini e l'obiettivo é far fare agli alunni il software (un pezzetto alla volta). Almeno affrontano un problema reale.
Avatar utente
Foto Utentekf00115
50 4
New entry
New entry
 
Messaggi: 64
Iscritto il: 17 feb 2007, 18:16
Località: perugia

0
voti

[10] Re: MIKROC :Conversione AD non ottimale

Messaggioda Foto Utentekf00115 » 10 nov 2014, 21:15

WALTERmwp ha scritto:Ciao Foto Utentekf00115, per quanto riguarda l'inserimento del codice in un Post, ..


Grazie delle informazioni , ora mi aggiorno
Avatar utente
Foto Utentekf00115
50 4
New entry
New entry
 
Messaggi: 64
Iscritto il: 17 feb 2007, 18:16
Località: perugia

Prossimo

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti