Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Operazioni matematiche tra binare e esadecimali

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[11] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteIsidoroKZ » 20 ott 2015, 13:13

A parte che tiri fuori di nuovo il 3.3V. PERCHE'? Quella misura non serve ed e` anche potenzialmente sbagliata perche' non sai quanto valga l'alimentazione della parte di potenza.

Non ci deve essere il 3.3V nei tui conti: c'e` l'ampli da strumentazione che misura la differenza, differenza che viene poi riportata in retroazione.

Per sapere la corrente guardi che comando dai all'amplificatore di transconduttanza per mezzo del DA. Quella e` la corrente, non devi misurarla e` importa. Se anche la misurassi, sarebbe affetta da quasi tutti gli errori che hai impostandola.

Se abbassi la corrente a 0.8A, la corrente non devi misurarla, vale 0.8A. Misuri la tensione e ricavi la resistenza. Quello che ti ho fatto e` un ampli di transconduttanza: dai una tensione ingresso e lui restituisce in uscita una corrente che e` proprio quella che vuoi (salvo errori, il piu` grande del quale non si puo` eliminare neanche con la misura della tensione sulla resistenza di sense)


Provo a spiegarlo un'ultima volta. La corrente che scorre in quel circuito e` quella che imponi con il DA, non devi misurarla, sai quanto vale, a meno che non abbia dimenticato quello che hai scritto nel DA.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[12] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteIlGuru » 20 ott 2015, 13:18

tim ha scritto:quindi devo conoscere a priori sempre la corrente e l unico modo che mi viene in mente è definire il valore della resistenza in alto ( non quella del riscaldatore per capirci) e fare 3.3 meno l uscita del dac fratto la resistenza in alto.


Ma se il valore della resistenza in basso è funzione della corrente che vi circola ( per effetto joule ) perché non dovrebbe esserlo anche il valore di quella in alto?
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[13] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteEcoTan » 20 ott 2015, 14:16

Questo punto potrebbe andare perché il riscaldatore è di rame mentre l'altra resistenza è chimica o simili, su altri punti ho già detto.
Avatar utente
Foto UtenteEcoTan
7.720 4 12 13
Expert EY
Expert EY
 
Messaggi: 5421
Iscritto il: 29 gen 2014, 8:54

0
voti

[14] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteCandy » 20 ott 2015, 14:36

Ma quindi dietro al progetto c'è di gia IKZ. Scusate l'intromissione. Quello che vuoi fare è identico a parte del mio contalitri, tra gli articoli del moo blog, se ti può aiutare.
Avatar utente
Foto UtenteCandy
32,5k 7 10 13
CRU - Account cancellato su Richiesta utente
 
Messaggi: 10123
Iscritto il: 14 giu 2010, 22:54

0
voti

[15] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteIlGuru » 20 ott 2015, 14:36

Il punto è che c'è un errore di logica di fondo.
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

0
voti

[16] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto Utentetim » 21 ott 2015, 18:05

Quindi ipotizzando un guadagno unitario del amplificatore da strumentazione, avrei che la corrente sarebbe Vdac/Rsense giusto? Non mi uccidete se ho capito male :cry:
Avatar utente
Foto Utentetim
10 5
New entry
New entry
 
Messaggi: 69
Iscritto il: 15 ott 2015, 16:21

0
voti

[17] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteIsidoroKZ » 21 ott 2015, 21:27

Si`, ed essendoci un ampli da strumentazione con guadagno di 9 volte (o quello che era) la corrente vale I=VDAC/(9*Rsense) e non ti serve misurarla.
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[18] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto Utentetim » 22 ott 2015, 10:41

Ok perfetto, ho impiegato un po' ma ci sono arrivato. Ora ripropongo il problema iniziale, che immagino sarà banalissimo ma non saprei come fare: se io voglio calcolare I=VDAC/(9*Rsense) e ho un registro scritto naturalmente in binario, il 9 è un decimale e Rsense pure, come faccio a fare questo calcolo? Converto tutto in decimale o binario? non è necessario fare niente che lo calcola correttamente anche in formati diversi?o in che modo?
Avatar utente
Foto Utentetim
10 5
New entry
New entry
 
Messaggi: 69
Iscritto il: 15 ott 2015, 16:21

0
voti

[19] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteIsidoroKZ » 22 ott 2015, 11:45

L'amplificazione dell'amplificatore di transconduttanza vale 1/(9*0.22ohm)=505mS (a parte errori di offset e guadagno che devono essere calibrati). Per ogni volt messo in ingresso passano 505mA, e la relazione e` lineare.

Supponiamo di avere un DA a 12 bit con uscita da 0V a 3.3V. Se in ingresso al DA metti 0 (scritto in qualsiasi base) all'uscita hai 0V e quindi passano 0A.

Se al DAC mandi 4095 decimale (ma puoi scriverlo in qualunque base, ad esempio FFF in esadecimale oppure 14640 in base...), se e` un numero e` sempre rappresentato in binario dentro al processore, e viene mandato all'ingresso del DAC 111111111111 ed escono 3.3V (circa) che fanno 1.667A
Per usare proficuamente un simulatore, bisogna sapere molta più elettronica di lui
Plug it in - it works better!
Il 555 sta all'elettronica come Arduino all'informatica! (entrambi loro malgrado)
Se volete risposte rispondete a tutte le mie domande
Avatar utente
Foto UtenteIsidoroKZ
121,2k 1 3 8
G.Master EY
G.Master EY
 
Messaggi: 21059
Iscritto il: 17 ott 2009, 0:00

0
voti

[20] Re: Operazioni matematiche tra binare e esadecimali

Messaggioda Foto UtenteIlGuru » 22 ott 2015, 11:56

Codice: Seleziona tutto
float f_rsense;
int    i_vdac;
float f_gain;
float f_i;

f_rsense = 1.0;
i_vdac   = 127;
f_gain    = 9.0;

f_i = i_vdac * ( f_gain * f_rsense );


Non va bene?

La corrente I che passa è imposta da VDAC, tanto vale VDAC tanto vale I:

Codice: Seleziona tutto
#define F_COEFF 1.234
int    i_vdac;
float f_i;
f_i = i_vdac * F_COEFF;
\Gamma\nu\tilde{\omega}\theta\i\ \sigma\epsilon\alpha\upsilon\tau\acute{o}\nu
Avatar utente
Foto UtenteIlGuru
5.482 2 10 13
G.Master EY
G.Master EY
 
Messaggi: 1924
Iscritto il: 31 lug 2015, 23:32

Precedente

Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 6 ospiti