Un semplice contagiri - Disegni di semplice complessità - Schemi per principianti. Implementazione di un contatore elettrico elettronico su un microcontrollore della serie MSP430FE42x Contatore su un microcontrollore con parametri

Contatore di impulsiè un dispositivo digitale seriale che prevede la memorizzazione di una parola di informazione e l'esecuzione su di essa di una microoperazione di conteggio, che consiste nel modificare il valore di un numero presente nel contatore in 1. In sostanza, il contatore è un insieme di trigger collegati in un certo modo. Il parametro principale del contatore è il modulo di conteggio. Questo è il numero massimo di segnali singoli che possono essere conteggiati dal contatore. I contatori sono designati da ST (dal contatore inglese).

I contatori di impulsi sono classificati

● per conteggio modulo:
. GAV;
. binario;
. con un modulo di conteggio costante arbitrario;
. con modulo di conteggio variabile;
. nella direzione del conto:
. sommativo;
. sottrattivo;
. reversibile;
● con il metodo di formazione delle connessioni interne:
. con trasferimento sequenziale;
. con trasferimento parallelo;
. con trasferimento combinato;
. squillo.

Contatore di impulsi sommatore

Consideriamo un contatore sommatore (Fig. 3.67, UN). Tale contatore è costruito su quattro flip-flop JK che, se su entrambi gli ingressi è presente il segnale logico "1", commutano quando sugli ingressi di sincronizzazione compaiono cadute di tensione negative.

I diagrammi temporali che illustrano il funzionamento del contatore sono mostrati in Fig. 3,67, B. Ksi denota il modulo di conteggio (coefficiente di conteggio degli impulsi). Lo stato del trigger sinistro corrisponde al bit meno significativo numero binario e quella giusta: la categoria senior. Nello stato iniziale, tutti i flip-flop sono impostati su zero logici. Ogni trigger cambia il suo stato solo nel momento in cui è interessato da una caduta di tensione negativa.

Pertanto, questo contatore implementa la somma degli impulsi di ingresso. Dai diagrammi temporali si può vedere che la frequenza di ciascun impulso successivo è due volte inferiore a quella precedente, ovvero ciascun trigger divide per due la frequenza del segnale di ingresso, che viene utilizzata nei divisori di frequenza.

Contatore sottrattore a tre bit con riporto seriale

Consideriamo un contatore sottrattivo a tre bit con riporto sequenziale, i cui schemi circuitali e temporali sono mostrati in Fig. 3.68.
(xtypo_quote)Il contatore utilizza tre flip-flop JK, ognuno dei quali funziona in modalità T-flip-flop (flip-flop con un ingresso di conteggio).(/xtypo_quote)

Agli ingressi J e K di ciascun flip-flop sono applicati 1 logici, pertanto, all'arrivo del fronte di discesa dell'impulso fornito al suo ingresso di sincronizzazione C, ciascun flip-flop cambia lo stato precedente. Inizialmente, i segnali alle uscite di tutti i flip-flop sono uguali a 1. Ciò corrisponde alla memorizzazione del numero binario 111 o numero decimale 7. Dopo la fine del primo impulso F, il primo trigger cambia stato: il segnale Q 1 diventerà uguale a 0, a ¯ Q 1 − 1.

I restanti trigger non cambiano il loro stato. Dopo la fine del secondo impulso di sincronizzazione, il primo trigger cambia nuovamente stato, passando allo stato 1 (Q x = 0). Ciò garantisce un cambiamento di stato del secondo trigger (il secondo trigger cambia stato con un certo ritardo rispetto alla fine del secondo impulso di sincronizzazione, poiché il suo ribaltamento richiede un tempo corrispondente al tempo di funzionamento di se stesso e del primo trigger).

Dopo il primo impulso F, il contatore memorizza lo stato 11O. Ulteriori cambiamenti nello stato del contatore avvengono nello stesso modo descritto sopra. Dopo lo stato 000, il contatore torna allo stato 111.

Contatore sottrattivo a tre cifre con arresto automatico e riporto seriale

Consideriamo un contatore sottrattivo autobloccante a tre bit con riporto sequenziale (Fig. 3.69).

Dopo che il contatore passa allo stato 000, sulle uscite di tutti i flip-flop appare un segnale logico 0, che viene alimentato attraverso un elemento logico OR agli ingressi J e K del primo flip-flop, dopodiché questo flip-flop esce la modalità T-flip-flop e smette di rispondere agli impulsi F.

Contatore avanti/indietro a tre bit con riporto seriale

Consideriamo un contatore su/giù a tre bit con riporto sequenziale (Fig. 3.70).

Nella modalità sottrazione, i segnali di ingresso devono essere applicati all'ingresso TV. In questo caso, all'ingresso T c viene fornito un segnale logico 0. Sia tutti i flip-flop nello stato 111. Quando il primo segnale arriva all'ingresso T c, all'ingresso T del primo flip-flop appare un 1 logico. flop e cambia il suo stato. Successivamente, un segnale 1 logico appare al suo ingresso inverso. Quando un secondo impulso arriva all'ingresso T, un 1 logico apparirà all'ingresso del secondo trigger, quindi il secondo trigger cambierà il suo stato (anche il primo trigger cambierà). il suo stato all'arrivo del secondo impulso). Ulteriori cambiamenti di stato avvengono in modo simile. In modalità addizione, il contatore funziona in modo simile a un contatore addizionale a 4 bit. In questo caso il segnale viene fornito all'ingresso T c. All'ingresso T viene applicato uno 0 logico.
Ad esempio, considerare i microcircuiti dei contatori di inversione (Fig: 3.71) con trasferimento parallelo della serie 155 (TTL):
● IE6 – contatore avanti/indietro decimale binario;
● IE7 – contatore avanti/indietro binario.

La direzione del conteggio è determinata dal pin (5 o 4) a cui vengono inviati gli impulsi. Gli ingressi 1, 9, 10, 15 sono informativi e l'ingresso 11 viene utilizzato per la preregistrazione. Questi 5 ingressi consentono la preregistrazione del contatore (preset). Per fare ciò, è necessario inviare i dati appropriati agli ingressi delle informazioni, quindi applicare un impulso di scrittura di basso livello all'ingresso 11 e il contatore ricorderà il numero. Ingresso 14: impostazione dell'ingresso O durante l'alimentazione alto livello voltaggio. Per costruire contatori di capacità maggiore, vengono utilizzate le uscite di trasferimento avanti e indietro (rispettivamente pin 12 e 13). Dal pin 12 il segnale deve essere inviato all'ingresso di conteggio in avanti dello stadio successivo e dal pin 13 all'ingresso di conteggio all'indietro.

Questo esempio di applicazione descrive come implementare un contatore di energia elettronico sul microcontrollore della serie MSP430FE42x. Il documento contiene una descrizione di alcuni principi fondamentali e raccomandazioni per l'utilizzo dei microcontrollori della serie MSP430FE42x, nonché disegni di circuiti stampati e demo del software.

1 Introduzione

Questo esempio applicativo descrive lo schema elettrico e il software di un contatore elettrico elettronico su un microcontrollore della famiglia MSP430FE42x. Come supplemento, si intende utilizzare il manuale utente del modulo ESP430CE1.

La famiglia di microcontrollori MSP430FE42x con processore di segnale integrato ESP430CE1 per contatori di energia monofase con terminale di ingresso analogico integrato e sensore di temperatura è stata progettata specificamente per l'uso in applicazioni di misurazione della potenza. L'ESP430CE1 esegue automaticamente la maggior parte delle attività di rilevamento della potenza, senza utilizzare le risorse principali. Ciò consente di risparmiare le risorse del core di elaborazione per utilizzarle in altre attività, ad esempio per comunicare con altri dispositivi. L'ESP430CE1 può funzionare con una varietà di sensori di corrente. Come sensore di corrente, è possibile utilizzare Rogowski senza componenti esterni aggiuntivi shunt, trasformatori di corrente (CT), compresi trasformatori con accoppiamento DC e un grande sfasamento, o induttore. Tutti i parametri possono essere configurati tramite software e le costanti di calibrazione possono essere salvate nella memoria flash del microcontrollore MSP430 e trasferite all'ESP430CE1 all'avvio del sistema.

2 Ferramenta

Lo schema elettrico e lo schema a blocchi del dispositivo sono riportati nell'Appendice A e sono descritti nelle sezioni seguenti questo esempio applicazioni. Il circuito può essere utilizzato con trasformatori di corrente o shunt e può essere ricostruito. Questo circuito è prodotto da Softbaugh e ha numero di serie per ordine DE427. Puoi ordinarlo sul sito web dell'azienda Softbaugh, il cui indirizzo Internet è www.softbaugh.com.

I collegamenti dei canali V1, I1 e I2 sono mostrati nello schema riportato nell'Appendice A.

2.1 Utilizzo di uno shunt come convertitore di corrente

Figura 1. Schema a blocchi del collegamento di uno shunt a una rete monofase a due fili

2.2 Utilizzo del CT come convertitore di corrente


Figura 2. Schema a blocchi del collegamento del TA a una rete monofase a due fili

2.3 Collegamento del TA e dello shunt come convertitore di corrente per rilevare manomissioni


Figura 3. Schema a blocchi del collegamento di uno shunt e di un TA a una rete monofase a due fili, che consente il rilevamento di una connessione non autorizzata

2.4 Collegamento TA per il collegamento a tre fili reti monofase, utilizzato negli Stati Uniti


Figura 4. Schema a blocchi ANSI di un contatore elettrico utilizzato in reti monofase a tre fili

2.5 Collegamento degli ingressi del sensore di tensione

Il circuito stampato è dotato di un partitore di tensione progettato per funzionare in reti con tensione di 230 V efficace. Contiene inoltre un circuito di protezione progettato per questa tensione.

L'alimentatore capacitivo è in grado di fornire un consumo di corrente fino a 4 mA. È necessario garantire che il consumo di corrente non superi questo valore consentito. A tale scopo nel circuito dimostrativo è stato utilizzato un LED a bassa corrente.

2.6 Collegamento degli ingressi del sensore di corrente

Sul PCB c'è spazio per montare un resistore SMD utilizzato come carico per il trasformatore di corrente, ma questo resistore non è installato sulla scheda fornita. Nota: non è installata alcuna resistenza di carico per il CT, ma deve essere installata quando si collega un PT, altrimenti l'MSP430 verrà danneggiato.

2.7 Filtro antialiasing

Si consiglia di utilizzare un resistore da 1 kOhm collegato in serie all'ingresso dell'ADC e un condensatore da 33 nF collegato tra l'ingresso del convertitore e la terra come filtro anti-aliasing. Per eliminare l'influenza delle interferenze di modo comune, si consiglia di utilizzare filtri di livellamento in entrambi i canali del convertitore di corrente.

2.8 Canali ADC non utilizzati

I canali ADC non utilizzati non devono essere collegati a nulla.

3 Calcolo delle costanti per il contatore ESP430CE1

Il contatore richiede costanti che corrispondono ai trasformatori e/o shunt utilizzati. IN questa sezione mostra il calcolo delle costanti per il contatore ESP430CE1.

3.1 Fattore di conversione della tensione

Il coefficiente di conversione della tensione, in base al quale la tensione di ingresso effettiva viene convertita nella tensione di ingresso del modulo ESP430CE1, viene calcolato utilizzando le formule seguenti:

    V(ing.max) = Guadagno tensione x V (Linea, Nom.) x quadrato(2) x R2 /(R1 + R2)
    kV1 = Tensione (Linea, nominale) x 2 x sqrt(2) / (2 15 x (1- (Vref – V(inp.max) x 2)/Vref))

3.2 Coefficiente di conversione di corrente per shunt

Il coefficiente di conversione di corrente per lo shunt, in base al quale la corrente di ingresso effettiva viene convertita nella corrente del modulo ESP430CE1, viene calcolato utilizzando le formule seguenti:

    V(I, inp.max) = Guadagno corrente x Imax x R(Shunt) x sqrt(2)

3.3 Fattore di conversione della corrente per trasformatore di corrente

Il coefficiente di conversione di corrente per il trasformatore di corrente, in base al quale la corrente di ingresso effettiva viene convertita nella corrente del modulo ESP430CE1, viene calcolato utilizzando le formule seguenti:

    V(I, inp.max) = Guadagno corrente x Imax / Rapporto CT x R(carico) x sqrt(2)
    kI1 = Corrente (Linea, nominale) x 2 x sqrt(2) / (2 15 x (1- (Vref – V(I, inp.max) x 2)/Vref))

3.4 Livello di interruzione dell'alimentazione

Il livello di taglio della potenza dell'ESP430CE1 viene calcolato utilizzando la seguente formula:

    Livello interruzione = Impulsi/kWh x (1000 / 3600) x fADC / (kV1 x kI1 x 4096)

Impulsi/kWh determina il numero di interruzioni che verranno generate per ogni kWh.

Calibrazione di 4 misuratori

La calibrazione di un contatore elettrico elettronico basato sul microcontrollore della famiglia MSP430 utilizzando apparecchiature di calibrazione convenzionali utilizzate per calibrare contatori elettrici convenzionali è possibile, ma inefficace. La potenza di elaborazione dell'MSP430 ti consente di farlo in altri modi, elencati di seguito.

La calibrazione di base può essere avviata utilizzando il comando c0 inviato tramite UART. Per eseguire questo comando, è necessario definire i valori di input dei seguenti parametri nel file parametri.h:

    -calVoltaggio
    - calCorrente
    -calPhi
    -calCosPhi
    -calFreq

La calibrazione dello sfasamento tra corrente e tensione deve essere eseguita con una precisione di 0,5 gradi, poiché l'errore di sfasamento che si verifica nei sensori supera questo valore, quindi non è possibile ottenere una precisione maggiore.

Per calibrare il contatore elettrico è necessario separare i percorsi di misura della corrente e della tensione. Ciò consente di eseguire la calibrazione con basse perdite di energia e di determinare i valori di tensione, corrente e sfasamento. La Figura 5 mostra lo schema elettrico per l'accensione del contatore elettrico durante la calibrazione.


Figura 5. Contatore di energia elettronico su MSP430 con terminali esterni

4.1 Calibrazione per la misurazione continua

La normale modalità operativa dell'ESP430CE1 viene stabilita inviando il comando SetMode al core di calcolo. Il valore della potenza misurata, scritto dopo ogni misura nel registro ActEnSPer1 (e nel registro ActEnSPer2 per sistemi con due sensori), viene convertito dal nucleo di calcolo in un segnale con frequenza costante, proporzionale alla potenza misurata. Per generare un segnale con frequenza costante è possibile utilizzare il modulo timer Timer_A.

Durante la calibrazione vengono eseguite le seguenti azioni:

  • Il core di calcolo imposta i flag Curr_I1, Curr_I2, corrispondenti alla modalità di misurazione, nel registro di controllo zero di ESP430CE1.
  • I registri dei parametri vengono inizializzati per misurare la potenza nel carico. Questo viene fatto utilizzando il comando SET_PARAM.
  • Dopo aver ricevuto il comando mSet_Mode, ESP430CE1 entra in modalità di misurazione dell'elettricità.
  • Il primo risultato della misurazione individuato da ActEnSPer1 (e ActEnSPer2 nei sistemi con due sensori) non viene utilizzato perché il punto di partenza è sconosciuto.
  • I seguenti risultati di misurazione trovati in ActEnSPer1 (e ActEnSPer2 nei sistemi con due sensori) sono corretti e vengono utilizzati per i calcoli.
  • Il flag St_ZCld nel registro di stato zero indica che al successivo campione disponibile (il flag St_NEVal è impostato), i nuovi risultati di misurazione per il periodo precedente sono disponibili nei registri ActEnSPer1 e ActEnSPer2.
  • Il core di calcolo reimposta il flag St_NEVal utilizzando il comando mCLR_EVENT e legge i dati (vedere la descrizione dell'algoritmo di lettura di seguito).
  • Se necessario, ad esempio, per calcolare il risultato per un periodo più lungo, vengono ripetuti gli ultimi quattro punti.

I passaggi precedenti vengono ripetuti al secondo punto di calibrazione.

Entrambi i sensori devono essere calibrati in modo indipendente. Quando si calibra un sensore dello strumento, la corrente attraverso il secondo sensore dovrebbe essere zero. E viceversa.

4.1.1 Formule

La calibrazione viene eseguita su un periodo principale (o nper periodi principali) con due correnti di carico I1HI e I1LO. Potenza nominale calcolata per due punti di calibrazione:

    nHIcalc = Cz1 x I1HI x V1 x cos?1 x (nper / fmains) x (fADC / 4096) [2 passi]
    nLOcalc = Cz1 x I1LO x V1 x cos?1 x (nper / frete) x (fADC / 4096) [2 passi]

Valori risultanti per inclinazione e offset:

    Pendenza: GainCorr1 = ((nHIcalc – nLOcalc) / (nHImeas – nLOmeas)) x 2 14
    Offset: Poffset = (((nHImeas x nLOcalc) – (nLOmes – nHIcalc)) / (nHImeas – nLOmeas)) x (fmains / nper) x (4096 / fADC),

dove fmains è la frequenza fondamentale in Hz;

    fADC – Frequenza di campionamento dell'ADC in Hz (solitamente 4096 Hz);
    nper – numero di periodi principali utilizzati nella calibrazione;
    nHIclac è la potenza calcolata al punto di calibrazione della corrente elevata in passi quadrati;
    nHImaes – potenza misurata nel punto di calibrazione della corrente elevata in passi quadrati;
    nLOclac è la potenza calcolata al punto di calibrazione a bassa corrente in passi quadrati;
    nLOmaes – potenza misurata nel punto di calibrazione a bassa corrente in passi quadrati;

4.1.2 Esempio di calibrazione

Per il circuito mostrato in Figura 1, la calibrazione viene eseguita nelle seguenti condizioni:

    V1 = 230 V, I1HI= 20 A, I1LO = 1 A, cos?1 = 1, nper = 1, fADC = 2048 Hz, frete = 50 Hz.
    nHIcalc = Cz1 x I1HI x V1 x cos?1 x (nper / fmains) x (fADC / 4096) = 29.322,80806 x 20 x 230 x 1 x (1 / 50) x (2048 / 4096) = 1.348.849,171 = 14,94F1h [ passi 2]
    nLOcalc = Cz1 x I1LO x V1 x cos?1 x (nper / fmains) x (fADC / 4096) = 29.322.80806 x 1 x 230 x 1 x (1 / 50) x (2048 / 4096) = 67.422.458 = 1.0772h [ passi 2]

Risultato della misurazione in entrambi i punti:

    n1Himeas = 14.6040h (errore -1% rispetto a n1Hicalc = 14.94F1h)
    n1Lomeas = 1.0CB7h (+2% di errore rispetto a n1Localc = 1.0772h)
    GuadagnoCorr1 = ((nHIcalc – nLOcalc) / (nHImeas – nLOmeas)) x 2 14 = ((14,94F1h – 1,0772h) / (14,6040h – 1,0CB7h)) x 2 14 = 40С0h

    Poffset = (((nHImis x nLOcalc) – (nLOmes – nHIcalc)) / (nHImeas – nLOmeas)) x (fmeins / nper) x (4096 / fADC) = (((14,6040h x 1,0772h) – (1 ,0CB7h – 14.94F1h)) / (14.6040h – 1.0CB7h)) x (50 / 1) x (4096 / 2048) = -215.489 = FFFC,B63Fh

Se i punti di calibrazione vengono corretti per inclinazione e offset, allora:

    ncorr = (nmeas x GainCorr1)) x 2-14 + (Poffset1) x (nper / fmains) x (fADC / 4096) nHIcorr = 14.6040h x 40C0h x 2-14 +FFFC,B63Fh x ((1 x 2048) / ( 50 x 4096)) = 1.348.890 = 14.951Ah nLOcorr = 1.0CB7h x 40C0h x 2-14 +FFFC,B63Fh x ((1 x 2048) / (50 x 4096)) = 67.441 = 1.0771h

L'errore risultante per entrambe le correzioni è +3,1 E-5, cioè 31 ppm.

4.2 Calibrazione tramite PC

La Figura 6 mostra uno dei possibili opzioni impianti per la taratura di contatori elettrici elettronici. I contatori elettrici sono collegati alla porta seriale del PC tramite la porta seriale USART0 funzionante in modalità UART o SPI. Tutti i calcoli necessari per la calibrazione vengono eseguiti dal PC e l'MSP430 di ciascun contatore elettrico memorizza solo i valori di correzione risultanti nella memoria dati integrata o nella memoria EEPROM esterna.

Il PC controlla l'unità di calibrazione, composta da un generatore di tensione, un generatore di corrente e uno sfasatore, tramite un'interfaccia di comunicazione. Il PC legge i risultati della moltiplicazione di tensione e corrente calcolati dagli ADC integrati (ovvero il numero di impulsi Ws all'uscita di ciascun contatore elettrico) e confronta questo valore con quello ottenuto dal contatore elettrico di riferimento, che fa parte dell'apparecchiatura di calibrazione. Il PC calcola l'errore del contatore elettrico in uno (ad esempio, alla corrente nominale) o due (ad esempio, al consumo di corrente massimo e nominale). Sulla base dei risultati di questi errori, i singoli fattori di correzione per la pendenza e l'angolo di offset vengono calcolati e trasmessi a un contatore elettrico specifico, in cui il microcontrollore MSP430 memorizza questi valori.


Figura 6. Calibrazione dei contatori elettrici elettronici tramite PC

Le formule per il calcolo dei valori della costante di calibrazione sono fornite nel manuale utente del modulo ESP430CE1.

4.3 Autocalibrazione

Un altro metodo di calibrazione sfrutta la capacità dell'MSP430 di eseguire calcoli complessi. Il vantaggio principale di questo metodo di calibrazione è la sua semplicità: non sono necessari collegamenti via cavo per il trasferimento dei dati con questo metodo (vedere Figura 7). Le equazioni di correzione degli errori utilizzate dallo strumento durante il test sono le stesse fornite nella sezione Calibrazione della misurazione continua sopra.

  • I misuratori da calibrare vengono messi in modalità di calibrazione utilizzando un interruttore nascosto, UART, chiave, impulso di ingresso, ecc.
  • Il PC comprende un'apparecchiatura di calibrazione, che trasferisce una certa quantità di energia, misurata utilizzando un contatore di riferimento, ai contatori elettrici da tarare.
  • I contatori elettrici misurano la quantità di energia fornita e calcolano il valore del consumo di energia WEM1 per il 100% della corrente nominale Inom.
  • Successivamente l'apparecchiatura di calibrazione viene spenta (I = 0, U = 0). Ciò consente di calcolare e misurare, se necessario, l'offset dell'ADC stesso.
  • Il PC accende l'apparecchiatura di calibrazione, che alimenta nuovamente i contatori elettrici con una certa quantità di energia elettrica (ad esempio, 5% Inom, 100% Vnom, cos?=1). Successivamente l'apparecchiatura viene nuovamente spenta (i = 0, U = 0).
  • I contatori misurano nuovamente l'elettricità e calcolano il valore WEM0 pari al 5% della corrente nominale Inom.
  • Dai due valori WEM1 e WEM0 rilevati per il 100% e il 5% della corrente nominale Inom, i contatori elettrici calcolano i singoli valori di offset e pendenza.
  • Dopo la calibrazione è possibile eseguire un semplice test visivo:
    - per ripristinare gli indicatori, i contatori elettrici vengono ripristinati - l'apparecchiatura di calibrazione produce una quantità di energia definita con precisione (a diversi valori di corrente, tensione e cos?) - Viene controllato visivamente che tutti i contatori elettrici visualizzino lo stesso valore di il valore misurato dell'energia consumata - Dalle letture del display LCD si può determinare che il coefficiente di inclinazione e spostamento calcolato è al di fuori dei limiti consentiti.

Esempio: se si calibra con i seguenti parametri:

  • 10.000 Ws (100% Inom, 100% Vnom, cos? = 1)
  • 5.000 Ws (100% Inom, 100% Vnom, cos? = 0,5)

i contatori elettrici tarati devono mostrare un valore Ws pari a 15.900 ± precisione accettabile. Se il valore calcolato non rientra nei limiti accettabili, si ritiene che il contatore elettrico abbia fallito la calibrazione.


Figura 7. Autotaratura dei contatori elettrici

5 Alimentazione capacitiva

La Figura 8 mostra un alimentatore capacitivo che genera una singola tensione Vcc = +3 V. Se la corrente di uscita non è sufficiente, è possibile utilizzare un buffer di uscita basato su un transistor NPN.

Le equazioni di progettazione per gli alimentatori seguenti sono fornite nella Sezione 3.8.3.2 Alimentatore capacitivo dell'esempio applicativo SLAA024. Questo capitolo descrive altri alimentatori e le equazioni per calcolarli.


Figura 8. Alimentazione capacitiva

5.1 Rilevatore di rilevamento tensione di linea disattivata/attivata

Poiché il rilevatore di sottotensione ESP430CE1 è combinato con un contatore dei cicli di tensione di linea, non funziona in caso di perdita di tensione di linea. Per rilevarlo, è possibile monitorare il VRMS per un certo periodo di tempo al di sotto di una soglia specificata oppure utilizzare un circuito esterno per rilevare una perdita di alimentazione di linea. Quando si utilizza un circuito esterno, è possibile disattivare il modulo ESP430CE1 per ridurre i consumi.


Figura 9. Rilevamento della presenza di tensione di linea

6.1 Messa a terra

Instradamento corretto circuito stampato molto importante per i sistemi che utilizzano ADC con alta risoluzione. Di seguito sono riportate alcune linee guida di base per il routing delle schede.

1. Utilizzare, quando possibile, bus di terra analogici e digitali separati.

2. Spessore massimo delle tracce dall'alimentatore ai pin DVSS, AVSS, DVCC e AVCC.

3. Installazione di un condensatore nel punto di convergenza di tutte le linee di terra analogiche. Installazione di un condensatore nel punto di convergenza di tutte le masse digitali.

4. Il condensatore Cb deve essere posizionato nel punto di convergenza di tutte le linee di alimentazione. Ciò è necessario per garantire la bassa impedenza di questo condensatore.

5. I terminali AVSS e DVSS devono essere collegati esternamente insieme.

6. I terminali AVCC e DVCC devono essere collegati esternamente insieme.

7. L'alimentatore e il condensatore di accumulo Cb devono essere posizionati il ​​più vicino possibile l'uno all'altro. I condensatori Ca e Cb devono essere installati tra i pin collegati ai bus di alimentazione analogici e digitali.

8. Per disaccoppiare i binari di alimentazione analogici e digitali, è necessario utilizzare un induttore L. È anche possibile utilizzare un resistore, ma l'utilizzo di un induttore fornisce un migliore filtraggio passa-alto.

9. Se è presente una traccia lungo il perimetro del circuito stampato, è necessario collegarla al bus di terra della scheda.


Figura 10: Messa a terra del convertitore A/D

6.2 Sensibilità all'EMR

La Figura 11 mostra in modo semplificato un instradamento non ottimale: le aree che possono ricevere interferenze esterne da fonti EMR esterne sono evidenziate in grigio. Per ridurre l’influenza di fonti esterne di EMR, queste aree dovrebbero essere minime.


Figura 11. Traccia di una scheda sensibile alle EMI esterne

La Figura 12 mostra un circuito stampato con instradamento ottimale. Le aree che sono ricevitori EMR hanno un'area minima.


Figura 12. Traccia di un circuito stampato con sensibilità minima alle EMI

7 Programma dimostrativo

7.1 Inizializzazione del terminale analogico

Quando il modulo ESP430CE1 è disabilitato, il Compute Core MSP430 ha accesso al modulo SD16. Innanzitutto, il core di elaborazione MSP430 deve avviare un terminale di ingresso analogico. In questo caso vengono impostati il ​​guadagno, la frequenza di campionamento e la frequenza del generatore di clock per SD16:

//================================================ ================ ==================== /** * Subroutine di inizializzazione del terminale analogico.< VCT(пиковое) * - VIN,MAX(GAIN = 16) = 0.031V >* * Configurazione di un modulo ADC sigma-delta come terminale analogico per un contatore resistivo * di rilevamento manomissione utilizzando un trasformatore di corrente e uno shunt come sensore di corrente * (vedere impostazione dei canali 0 e 1).< VShunt(пиковое) */ // =================================================================== // Настройка нулевого канала аналогового терминала - Ток 1 SD16INCTL0= I1_Gain; // Установка коэффициента усиления для нулевого канала (I1) SD16CCTL0 |= SD16OSR_256; // Установка коэффициента дискретизации = 256 (по умолчанию) // =================================================================== // Настройка первого канала - Ток 2 SD16INCTL1= I2_Gain; // Установка коэффициента усиления первого канала (I2) SD16CCTL1 |= SD16OSR_256; // Установка коэффициента дискретизации = 256 (по умолчанию) // =================================================================== // Настройка второго канала - Напряжение SD16INCTL2= V_Gain; // Установка коэффициента (V) SD16CCTL2 |= SD16OSR_256; // Установка коэффициента дискретизации = 256 (по умолчанию) /** * \Замечание * Пожалуйста запомните, что коэффициент дискретизации для всех каналов должен * быть идентичным. По умолчанию он равен 256. */ } // Конец init_analog_front_end()

*/ void init_analog_front_end(void) ( /** * Controlla innanzitutto che il processore di segnale on-chip sia disabilitato, * altrimenti non sarà possibile modificare i dati nel registro SD16. * */ ESPCTL &= ~ESPEN; / ** * Successivamente vengono eseguite le impostazioni di base del terminale analogico, * che si applicano a tutti i canali: selezione degli impulsi di clock (SMCLK), * parametri del divisore (a seconda della frequenza di SMCLK) e riferimento * tensione */ SD16CTL= SD16SSEL_1 // Seleziona orologio impulsi: SMCLK // SD16CTL = 0x800 + SD16SSEL_1 // Orologio Selezione orologio: SMCLK + (Amp:) #if (MCLK_FREQ == 2) | SD16DIV_1 // divisione per 2 => Frequenza orologio ADC: 1,094 MHz #endif #if (MCLK_FREQ == 4) |. SD16DIV_2 // divisione per 4 => Frequenza di clock ADC: 1,094 MHz #endif #if (MCLK_FREQ == 8) | SD16DIV_3 // Frequenza di clock ADC: 1,094 MHz #endif | ; // Utilizzando lo ION integrato SD16CCTL0 = SD16INCH_0; // I1 SD16CCTL1 = SD16INCH_0; // VSD16CONF0 |= 0x70; //SD16CONF1 |= 0x68; // Ritardo clock ADC 40 ns // =========================== ============== =========== /** * - Selezione guadagno ADC: * - VIN,MAX(GAIN = 1) = 0,5 V > VCT(picco) * - VIN,MAX(GAIN = 2) = 0,25 V

VShunt(picco) * - VIN,MAX(GAIN = 32) = 0,015 V

//================================================ ================ ==================== /** * Inizializzazione ESP430CE1. * */ void init_esp_parameter(unsigned char flashvars) ( volatile unsigned int timeout; // /\ Prevenire l'"ottimizzazione" delle variabili. // Copia dei valori di inizializzazione nella RAM if (flashvars) s_parameters = s_parameters_flash; /** * Controlla che il processore di segnale integrato * è attivato, */ ESPCTL |= ESPEN; MBOUT1= modeIDLE; // MBOUT0= mSET_MODE; timeout= 0xffff; ? > 0)) ;, richiedendo la versione * software .* L'errore di fase shunt è zero.

*/ set_parameter(mSET_PHASECORR1, (int)s_parameters.pSET_PHASECORR1);

set_parametri(mSET_PHASECORR2, (int)s_parametri.pSET_PHASECORR2); /** Impostazione dei parametri per due correnti: * Trasformatore di corrente: * * Esistono due opzioni per impostare i valori di due * correnti: */ set_parameter(mSET_ADAPTI1, defSET_ADAPTI1); // = 1 * POW_2_14 = 16384 set_parameter(mSET_ADAPTI2, defSET_ADAPTI2); // = 1 * POW_2_14 = 16384 /** Impostazione del guadagno configurato: */ set_parameter(mSET_GAINCORR1, s_parameters.pSET_GAINCORR1);

set_parametri(mSET_GAINCORR2, s_parametri.pSET_GAINCORR2); /** Imposta l'offset configurato: */ set_parameter(mSET_V1OFFSET, s_parameters.pSET_V1OFFSET);

set_parametri(mSET_I1OFFSET, s_parametri.pSET_I1OFFSET); set_parametri(mSET_I2OFFSET, s_parametri.pSET_I2OFFSET);
// set_parameter(mSET_POFFSET1_LO, s_parameters.pSET_POFFSET1_LO); // set_parameter(mSET_POFFSET1_HI, s_parameters.pSET_POFFSET1_LO); /** I parametri configurati diventano attuali: */ #if withStartCurrent == 1 set_parameter(mSET_STARTCURR_INT, s_parameters.pSET_STARTCURR_INT);
Controlla le inizializzazioni del sistema e chiama le funzioni per indicare il valore aggiornato richiesto dalle routine di interrupt: Inizia FLL
e Sistema Orologio
Inizializzazione del timer di base e dell'orologio in tempo reale Inizializzazione LCD
Inizializzazione del front-end analogico Inizializza i parametri ESP430CE1
Avvia la misurazione Subroutine per l'inizializzazione e la manutenzione del timer Timer_A. Timer_A viene utilizzato per generare impulsi
EMeter.c EMeter.c Contiene routine di inizializzazione e routine di manutenzione per terminale analogico, ESP430CE1 e interruzioni da ESP430CE1
FE427_Measure_v3.ewp
FE427_Measure_v3.eww
File di progetto per Workbench versione 3 di IAR
FE427_Misura.ewp
FE427_Misura.eww
File di progetto per Workbench versione 2 di IAR
FE427_Misura.hzp
FE427_Misura.hzs
File di progetto per il programma CrossStudio di Rowley

Lo schema a blocchi del programma dimostrativo è mostrato nella Figura 13.


Figura 13. Schema a blocchi del programma demo

7.4 Generazione di un impulso di consumo energetico

Questo impulso può essere utilizzato per indicare un certo livello di consumo energetico. È possibile utilizzare tre metodi per generare questo segnale di uscita.

7.4.1 Utilizzo diretto dell'uscita di interruzione del livello

Il primo metodo utilizza direttamente l'uscita della sorgente di interruzione del modulo ESP430 a un livello specificato. L'implementazione di questo metodo è molto semplice e non richiede l'utilizzo di risorse hardware o software aggiuntive. Ma poiché viene misurata l'energia delle oscillazioni sinusoidali, questo segnale può presentare alcune oscillazioni transitorie.

Questo metodo è attivato:

    // *definisce TIMERA_PULSE_OUTPUT
    // *definisce WITH_AVERAGING

7.4.2 Utilizzo dell'uscita del modulo timer Timer_A

Il secondo metodo utilizza un modulo timer Timer_A per rimuovere le oscillazioni transitorie. Questo metodo è adatto per generare impulsi con una frequenza fino a 30 Hz. Prima di utilizzare questo metodo, è necessario effettuare le seguenti impostazioni nel file parametri.h.

    *definisce TimerAClock TASSEL_1/* ACLK = 32 kHz
    *definire TACLOCK 32768ul
    *definisce CLOCKSPEPERIOD (TACLOCK/defSET_NOMFREQ)

Il metodo viene attivato come segue:

    *definire TIMERA_PULSE_OUTPUT
    // *definisce WITH_AVERAGING

7.4.3 Utilizzo dell'uscita del modulo timer Timer_A per la media

Il terzo metodo utilizza solo il modulo timer Timer_A per eseguire la media temporale e generare impulsi di frequenza portante.

Questo metodo si attiva come segue:

    *definire TIMERA_PULSE_OUTPUT
    *definisci WITH_AVERAGING

7.5 Gestione

Sono presenti due pulsanti che vengono utilizzati per eseguire le seguenti funzioni:

  • S_A: Spegni il modulo ESP430CE1 e metti l'MSP430 in modalità a basso consumo. L'orologio in tempo reale continua a funzionare.
  • S_B: passa da una modalità di visualizzazione all'altra.

7.5.1 File Parametro.h

Tutte le impostazioni di configurazione vengono effettuate nel file parametri.h. Questi includono:

  • Livello dell'impulso in uscita.
  • Coefficienti di trasferimento di tensione e corrente
  • Parametri di configurazione per il modulo ESP430CE1

#define for withDisplay ti consente di ridimensionare il codice per varie funzioni e dimensioni. Il codice utilizza funzioni in virgola mobile per l'output e la calibrazione UART. Includere una di queste due parti aumenterà la dimensione del codice.

La definizione di uno shunt, *define shunt, consente di selezionare a quale ingresso I1 sarà collegato: uno shunt o un trasformatore di corrente.

Per semplificare il calcolo dei principali parametri utilizzati nel file parametri.h è possibile utilizzare il file Excel FE427_Settings.xls. Dopo aver inserito le informazioni richieste nei campi bianchi, tutti i parametri verranno calcolati e visualizzati. Facendo clic sul pulsante "Salva parametro su file", tutti i parametri verranno salvati nel file "Test_Parameter.h".

Questo file con i parametri calcolati verrà incluso in codice sorgente invece dei parametri predefiniti specificati nel file 'Parameter.h', se si rimuove l'osservazione dalla riga '#define Test' nel file 'Parameter.h' stesso.

7.6 Programma dimostrativo Demo 2

Il programma demo Demo 2 viene installato come un'applicazione completa che include un UART e alcune routine di calibrazione automatica che salvano i parametri nella memoria flash. Per calcolare il consumo energetico, invece della funzione di generazione del consumo quando viene superato un livello specificato, vengono utilizzati i valori restituiti dal modulo ESP430CE1. Il programma Demo 1 inizializza il modulo ESP430CE1, invia i dati all'indicatore e controlla il LED di accensione. Questo programma demo è troppo grande per essere utilizzato con il kit IAR Kickstart.

La Demo 2 include tutti i file contenuti nella Demo 1 e i file elencati nella tabella seguente:

7.6.1 Comunicazione UART

    Formato dati trasmessi: 57600 / 8 N 1
    Ogni comando deve terminare con il carattere "CR".
    Il comando 'h' visualizza il seguente testo di aiuto nella finestra del terminale:

    Versione software MSP430FE427: 0114
    Comandi UART:

      SHxx: Impostazione dell'orologio
      SMxx: Impostazione dei minuti
      SSxx: Impostazione dei secondi
      SDxx: Impostazione della giornata
      SOxx: Impostazione del mese
      SYxx: Impostazione dell'anno
      DX: Impostazione della modalità indicatore
      D1: Fermare
      D2: Tempo
      D3: Data
      D4: Voltaggio (V)
      D5: Corrente (A)
      D6: Tensione di picco (V)
      D7: Corrente di picco (A)
      D8: Frequenza (Hz)
      D9: CosPhi
      DA: Temperatura
      DB: Potenza (kW)
      CC: Consumo energetico (kW*h)
      H: mostra il testo di aiuto
      Tx: impostazione della modalità di prova
      R: ripristino del sistema
      Mx: Eseguire misurazioni di prova per x*50 cicli
      IO: Inizializzazione
      C0: Calibrazione automatica di U/I/P/sfasamento
      C1: Calibrazione del livello di interruzione
      C2: Calibrazione della correzione di fase 1
      C3: Calibrazione della correzione di fase 2
      C4: Calibrazione dell'offset V1
      C5: Calibrazione dell'offset I1
      C6: Calibrazione dell'offset I2
      C9: Salvataggio dei parametri nella memoria flash
      SA: Calibrazione del guadagno di tensione
      SV: Calibrazione del guadagno corrente
      SS: Calibrazione del guadagno di potenza
      +: Aumento del valore di calibrazione
      -: Diminuire il valore di calibrazione

7.6.2 Calibrazione

La parte principale del processo di calibrazione può essere eseguita utilizzando il comando UART "C0".

Per eseguire questo comando, i parametri di input devono essere definiti nel file parametri.h:

  • calVoltaggio
  • calCurrent
  • calPhi
  • calCosPhi
  • calFreq

Utilizzando il comando UART "C9" i valori calcolati possono essere salvati nella memoria flash.

7.6.3 File Parametro.h

Tutte le impostazioni di configurazione vengono effettuate nel file parametri.h:

  • Impostazione del livello degli impulsi di uscita
  • Coefficienti di tensione e corrente
  • Impostazioni del modulo ESP430CE1

#defines per withUARTComm, withCalibration, withDisplay consentono di modificare il codice per diverse funzioni e dimensioni. Includere una di queste due parti aumenterà la dimensione del codice.

Tutti sanno perché esiste un microcalcolatore, ma si scopre che oltre ai calcoli matematici è capace di molto di più. Si noti che se si preme il pulsante "1", quindi "+" e quindi si preme "=", ad ogni pressione del pulsante "=" il numero sul display aumenterà di uno. Perché non un contatore digitale?

Se due fili vengono saldati al pulsante "=", possono essere utilizzati come ingresso del contatore, ad esempio come contagiri per una macchina avvolgitrice. E dopotutto il contatore può essere anche reversibile; per fare ciò bisogna prima comporre sul display un numero, ad esempio il numero di giri della bobina, e poi premere il pulsante “-” e il pulsante “1”. . Ora, ogni volta che premi "=" il numero diminuirà di uno.

Tuttavia, è necessario un sensore. L'opzione più semplice è un interruttore reed (Fig. 1). Colleghiamo l'interruttore reed con fili paralleli al pulsante "=", l'interruttore reed stesso si trova sulla parte fissa dell'avvolgitore e fissiamo il magnete su quella mobile, in modo che durante un giro della bobina il magnete passi vicino all'interruttore reed una volta, provocandone la chiusura.

Questo è tutto. Devi avvolgere la bobina, fare "1+" e poi ad ogni giro, cioè ad ogni giro le letture sul display aumenteranno di uno. È necessario svolgere la bobina: inserire il numero di giri della bobina sul display del microcalcolatore e inserire "-1", quindi ad ogni giro di svolgimento della bobina, le letture del display diminuiranno di uno.

Fig.1. Schema di collegamento dell'interruttore reed alla calcolatrice.

E supponiamo di dover misurare una grande distanza, ad esempio la lunghezza di una strada, la dimensione di un appezzamento di terreno, la lunghezza di un percorso. Prendiamo una bicicletta normale. Esatto: fissiamo una staffa non metallica con un interruttore a lamella alla forcella e fissiamo il magnete a uno dei raggi della ruota della bicicletta. Quindi misuriamo la circonferenza della ruota e la esprimiamo in metri, ad esempio la circonferenza della ruota è 1,45 metri, quindi componiamo "1,45+", dopodiché ad ogni giro della ruota le letture sul display aumenteranno di 1,45 metri e di conseguenza il display visualizzerà la distanza percorsa dalla bici in metri.

Se hai una sveglia al quarzo cinese difettosa (di solito il loro meccanismo non è molto resistente, ma la scheda elettronica è molto affidabile), puoi prenderne una scheda e, secondo lo schema mostrato in Figura 2, ricavarne un cronometro esso e una calcolatrice.

L'alimentazione viene fornita alla scheda sveglia tramite uno stabilizzatore parametrico sul LED HL1 (il LED deve avere una tensione continua di 1,4-1,7 V, ad esempio rosso AL307) e un resistore R2.

Gli impulsi vengono generati dagli impulsi di controllo del motore passo-passo del meccanismo dell'orologio (le bobine devono essere scollegate, la scheda viene utilizzata in modo indipendente). Questi impulsi viaggiano attraverso i diodi VD1 e VD2 fino alla base del transistor VT1. La tensione di alimentazione della scheda di allarme è di soli 1,6 V, mentre i livelli di impulso sulle uscite del motore passo-passo sono ancora più bassi.

Affinché il circuito funzioni correttamente, sono necessari diodi con un basso livello di tensione diretta, come VAT85, o germanio.

Questi impulsi arrivano all'interruttore a transistor su VT1 e VT2. Il circuito del collettore VT2 comprende l'avvolgimento di un relè a bassa potenza K1, i cui contatti sono collegati in parallelo al pulsante “=" del microcalcolatore. Quando è presente alimentazione +5V, i contatti del relè K1 si chiuderanno ad una frequenza di 1 Hz.

Per avviare il cronometro, è necessario prima eseguire l'azione “1+”, quindi accendere il circuito del modellatore di impulsi utilizzando l'interruttore S1. Ora, ogni secondo, le letture sul display aumenteranno di uno.

Per interrompere il conteggio, è sufficiente spegnere l'alimentazione del formatore di impulsi utilizzando l'interruttore S1.

Per avere un conteggio per la riduzione, è necessario prima inserire il numero iniziale di secondi sul display del microcalcolatore, quindi eseguire l'azione “-1” e accendere il formatore di impulsi con l'interruttore S1. Ora, ogni secondo, le letture del display diminuiranno di uno e da esse sarà possibile giudicare quanto tempo manca fino a un determinato evento.

Fig.2. Schema per trasformare una gruccia cinese in un cronometro.

Fig.3. Schema circuitale di un contatore di intersezione di raggi IR utilizzando una calcolatrice.

Se si utilizza un sensore fotografico a infrarossi che funziona all'intersezione del raggio, è possibile adattare il microcalcolatore per contare alcuni oggetti, ad esempio scatole che si muovono lungo un nastro trasportatore, oppure installando il sensore nel corridoio, contare le persone che entrano nella stanza .

Un diagramma schematico di un sensore di riflessione IR per lavorare con un microcalcolatore è mostrato nella Figura 3.

Il generatore di segnale IR è realizzato su un chip A1 di tipo “555” (timer integrato). Si tratta di un generatore di impulsi con una frequenza di 38 kHz, la cui uscita è collegata tramite un interruttore a un LED a infrarossi. La frequenza di generazione dipende dal circuito C1-R1; quando si imposta selezionando il resistore R1, è necessario impostare la frequenza all'uscita del microcircuito (pin 3) su un valore vicino a 38 kHz. Il LED HL1 viene posizionato su un lato del passaggio, appoggiandovi sopra un tubo opaco, che deve essere puntato precisamente verso il fotorivelatore.

Il fotorilevatore è realizzato sul chip HF1: si tratta di un fotorilevatore integrato standard del tipo TSOP4838 per i sistemi telecomando TV e altri elettrodomestici. Quando un raggio proveniente da HL1 colpisce questo fotorilevatore, la sua uscita è zero. In assenza di una trave, una.

Pertanto, non c'è nulla tra HL1 e HF1: i contatti del relè K1 sono aperti e al momento del passaggio di qualsiasi oggetto i contatti del relè sono chiusi. Se esegui l'azione "1+" sul microcalcolatore, ad ogni passaggio di un oggetto tra HL1 e HF1, le letture del display del microcalcolatore aumenteranno di uno e da esse potrai giudicare quante scatole sono state spedite o quante persone sono entrate .

Kryukov M.B. RK-2016-01.

-20 dB ha scritto:
Perché non affrontare la questione con poco spargimento di sangue? Se esiste qualcosa come il già citato IZhTS5-4/8, con uscite di segmenti separate?

Nella scorta di K176IE4 inutilizzati dell'epoca sovietica, era rimasto molto (un contatore/divisore per 10 con un decoder a sette segmenti e un'uscita di riporto, utilizzato per formare unità di minuti e ore in orologio elettronico, analogico incompleto - CD4026 - ciò che è incompleto, non ho ancora guardato...) nella classica connessione per il controllo LCD. 4 pezzi - 2 per canale, + 2 pezzi. 176(561)LE5 o LA7 - uno per formatori di impulsi singoli (soppressori di rimbalzo dei contatti), il secondo - per formare un meandro per "illuminare" l'indicatore LCD?

Certo, la soluzione su MP è più bella, ma sulla spazzatura è più economica, e si risolve solo in ginocchio... Con la programmazione MP, ad esempio, faccio fatica (a meno che qualcuno non mi passi una discarica già pronta ) - per me è più semplice con l'hardware.


Bene, sono disposto a scommettere qui. Facciamo i conti. Per cominciare, il costo:
1. PIC12LF629 (SOIC-8) - 40 sfregamenti. (~$1,15)
2. Display del Motorola S200/S205/T190/T191 - circa 90 rubli (~$2,57) Inoltre, la risoluzione è 98x64: disegna e scrivi quello che vuoi.
3. Bulk (scorciatoie SMD, pulsanti, condensatori SMD, ecc.) a colpo d'occhio: circa 50 rubli. (~$1,42)

Totale: ~180 rubli (~$5)

Il caso, la batteria (sceglierei la batteria Lo-Pol dallo stesso scooter C200 - compatta, capiente, economica (relativamente)) - non la contiamo, poiché entrambe sono necessarie in entrambe le opzioni.

Ora la tua opzione:

1. LCI5-4/8 - circa 50 rubli (~$1,42)
2. K176IE4 (CD4026) - 15 rubli (~0,42$)x4=60 rubli (~1,68$)
3. K176LA7 - 5 rubli (~0,14$)x4=20 rubli (~0,56$)
4. Bulk (scorciatoie SMD, pulsanti, condensatori SMD, ecc.) a colpo d'occhio: circa 50 rubli. (~$1,42)

Totale: ~180 rubli (~$5)

Qual è il vantaggio?

Ora stimiamo le caratteristiche prestazionali e di funzionalità:

La versione con MK avrà consumi massimo 20 mA, mentre nella tua versione penso 1,5...2 volte di più. Inoltre, nella tua versione - la (relativa) complessità di un circuito stampato su 7 case + ILC5-4/8 a più gambe (probabilmente a doppia faccia), l'impossibilità di aggiornare il dispositivo (aggiungere o modificare funzionalità) senza ottenere nel diagramma (solo su livello di programma), incapacità di organizzare la memoria per le misurazioni (conteggio), alimentazione di almeno 5V (con meno non si potenzia l'LCI), peso e dimensioni. Ci sono molti altri argomenti che si possono fornire. Ora l'opzione con MK. Ho già scritto del consumo attuale: 20 mA max. + la possibilità di una modalità di sospensione (consumo - 1...5 mA (principalmente LCD)), la complessità della scheda per un microcircuito a 8 piedini e un connettore a 5 pin per un LCD Motorola è ridicola anche a dirsi. Flessibilità (puoi fare qualcosa del genere a livello di programmazione, senza cambiare il circuito o la scheda - ti farà rizzare i capelli), il contenuto informativo del display grafico 98x64 non è in alcun modo paragonabile alle 4,5 cifre di un LCI a 7 segmenti . alimentatore - 3...3,5 V (puoi anche usare un tablet CR2032, ma la batteria Li-Pol di un mabyl è ancora migliore). La capacità di organizzare la memoria multicella per i risultati delle misurazioni (conteggi) del dispositivo - ancora una volta, solo a livello software senza interferire con il circuito e la scheda. E infine: le dimensioni e il peso non possono essere paragonati alla tua opzione. L'argomento "Non so programmare" non sarà accettato: chi vorrà troverà una via d'uscita. Fino a ieri non sapevo come lavorare con il display del cellulare Motorola S205. Ora posso. È passato un giorno. Perché ne ho bisogno. Alla fine hai ragione: puoi chiedere a qualcuno.)) È qualcosa del genere. E non è una questione di bellezza, ma del fatto che la logica discreta è irrimediabilmente obsoleta sia moralmente che tecnicamente come elemento principale della progettazione dei circuiti. Ciò che richiedeva dozzine di valigie con un consumo totale selvaggio, complessità di PP e dimensioni enormi può ora essere assemblato con un MK da 28-40 piedi in modo semplice e naturale - credetemi. Ora ci sono ancora molte più informazioni su MK che sulla logica discreta - e questo è abbastanza comprensibile.