Vai al contenuto
PLC Forum


Implementazione Codice Pic


Messaggi consigliati

Inserito:

Ciao a tutti del forum!!!!!!

ho realizzato da poco questo : http://embedded-lab.com/blog/?p=1443

ho scaricato il codice in C, complilato con Mikro C, fatto il pcb e tutto funziona !!

la domanda (ehehe ce ne è sempre una !!), purtroppo non capisco molto di C e vorrei sapere se c'è, e se potete aiutarmi, ad implementare una funzione.

il circuito verrà usato x pilotare una torcia a led da 10W (allego anche il mio schema) dal codice sorgente ho modificato la freq. del pwm a 3kHz, inserito tra il mosfet e la massa una resistenza e un transistor per limitare la corrente sul led.

dato che vorrei usarlo con una batteria al litio ce un modo per inserire nel programma una funzione che arrivati a 10.7 volt spegne il led senza possibilità di riaccenderlo se prima la tensione non sale a 11 volt? ( in pratica dopo almeno una piccola ricarica), se a tale spegnimento è possibile far accendere un led lampeggiante che indica appunto che la batteria è scarica. Sarebbe comodo che questa funzione sia sempre attiva appena alimento il circuito.

es. batteria ok. alimento il circuito, il pic controlla la batteria, Vbatt <10.7 volt led lampeggia e no parte la pwm, Vbatt >10.7 volt led spento e si avvia la pwm. ultima cosa perche non posso scendere sotto i 251 hz ?

grazie a tutti,

scusate se mi sono dilungato ma purtroppo non capisco molto di programmazione !! scusate !!!!!

pwm smd mosfet.pdf


Inserita:

Il sistema è semplice.

Fai un partitore di tensione dimensionato in modo tale che a batteria completamente carica la tensione di uscita del partitore sia, ad esempio, 4.5V.

man mano che al batteria si scarica la tensione scende.

Mandi l'uscita del partitore ad un ingresso analogico libero, A0 per esempio, e la misuri. Quando il valore è arrivato al corrispondete valore di 10.7 V di batteria blocchi la funzione PW in modo che il LED sia spento.

ultima cosa perche non posso scendere sotto i 251 hz ?

Questo non lo capisco.

Se usi il PWM a 3 Khz di frequnza, questa non deve variare, varierai solo il rapporto on-off. Essendo usato un contatore da 8 bits il rapporto può variare solo tra 1 e 254.

Spiegazione pratica.

Il perido equivale a 3.333 ms. Significa che il LED sarà acceso per 1.3µs si 3.333 ms quaqndo è al minimo e 3.32 ms quando è al massimo.

Inserita:

grazie per la risposta Livio!!

il fatto del pwm mi sono espresso male, la duty funziona da 0 a 99.99% invece la freq del pwm non scende sotto i 251 hz (era più che altro una curiosità) che codice devo scrivere per far leggere il valore della batteria al pic?

grazie !!

Inserita:

Ci sono dei limiti del massimo fattore divisore per ottenere la frequenza base.

devo scrivere per far leggere il valore della batteria al pic?

Io non conosco il microC, ma tutti i compilatori "C" per pic hanno le loro built in function per configurare e leggere gli ADC,

Potrei pubblicare un esempietto di codice per leggere gli ADC, ma io uso CSC.

Inserita:

grazie Livio,

io ho usato mikro c perche nell esempio hanno usato quello, csc è un altro programma?

Inserita:

Si è un altro compilatore.

Tu dove ti sei procurato il compilatore MicroC, so che non lo regalano. :smile:

Inserita:

ciao Livio, si è a pagamento ma fortunatamente ha un periodo di prova di 20 giorni quando scade lo tolgo e reinstallo !!ahhaah tanto per lusco che ne faccio non mi occorrono tutte le funzionalità della versione completa

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...