Microcontrollore ad alimentazione parassita a 1 filo?


17

Ho visto i sensori a 1 filo di Dallas, hanno un bell'aspetto. Ma, vorrei creare alcuni slave personalizzati a 1 filo che possono essere alimentati da un parassita (solo terra + dati).

Qualcuno può raccomandare un microcontrollore a bassa potenza adatto a questo?

Qualcuno ha un circuito di esempio per come alimenterei un MCU dal bus a 1 filo?


Pulsanti Java. loro esistono. L'ho fatto. Java Card IIRC
Tim Williscroft,

Per dare seguito e migliorare la domanda: che dire del power on reset dell'MCU? Come viene affrontato questo? (Per i sensori appositamente progettati per 1 filo, questo dovrebbe essere gestito dal dispositivo stesso così come è preparato per esso). L'MCU dovrebbe essere dotato di rilevamento del brownout? È abbastanza?
mazurnification

@macurnification - mi sembra una nuova domanda
Toby Jaffey,

Risposte:


17

Il bus a un filo ha il bus passivamente (cioè con una resistenza) tirato su nel sistema e i dispositivi comunicano sul bus tirando il bus verso il basso. Cosa farei se volessi estrarre energia dal bus è:

  1. Inserire la linea di dati direttamente nel pin di input dei dati del microcontrollore.
  2. Inserire anche la linea di dati in un diodo Schottky.
  3. All'uscita del diodo mettere a terra un condensatore di grandi dimensioni (diciamo 10uF).
  4. Invia l'uscita del diodo al pin VCC del tuo microcontrollore.

È necessario utilizzare un diodo Schottky per ridurre al minimo la caduta di tensione. La combinazione diodo / condensatore dovrebbe fare in modo che la comunicazione possa avvenire (cioè mettere a terra periodicamente il bus) senza spegnere l'MCU. Mettere il condensatore dopo il diodo manterrà nitide le transizioni sui dati del bus, mantenendo graduale il decadimento di potenza (tensione) verso l'MCU. Più bassa è la potenza del dispositivo che usi, migliore è minimizzare il consumo del tuo condensatore, ma praticamente qualsiasi MCU probabilmente funzionerà per te. La mia preferenza sono gli AVR di Atmel, ma TI MSP430 e PIC di Microchip sono anche buoni candidati per un basso consumo energetico.


9
+1 su TI MSP430s. Penso che vincano il concorso di minor consumo energetico.
spazzato il

8
Sono sicuro che potresti spegnere una patatina :)
Jim,

2
Cosa intendi con "buffer"? Normalmente useresti un diodo, preferibilmente un diodo Schottky per la sua caduta di bassa tensione.
Starblue,

2
@starblue un buffer è un componente elettrico che in genere viene utilizzato per aumentare la potenza del convertitore e fornire un'uscita a bassa impedenza mentre "passa attraverso" il segnale di ingresso. Ha l'effetto di isolare efficacemente il suo input dal suo output, facendo sì che l'output "segua" l'input. Esistono molti modi per implementarlo (un op-amp è un modo; due inverter CMOS in serie è un altro modo), ma puoi anche trovarli come componenti discreti o circuiti integrati.
Vicatcu,

1
@vicatcu Penso che starblue sappia cos'è un buffer logico - Solo un amplificatore non invertente. Potrebbe essersi chiesto se ti riferivi a qualcosa di diverso. Stai dimenticando che la corrente di polarizzazione in ingresso in un buffer è nell'ordine di nano o micro-amplificatori e che questa corrente viene deviata a terra anziché al tuo condensatore. Un buffer convenzionale (come il CD4010) non funzionerà senza alimentazione e terra. Poiché la tua risposta è stata selezionata, modificala per riflettere questo fatto.
Kevin Vermeer,

7

Potresti considerare di aggiungere una richiesta alle funzioni del tuo slave personalizzato per dire "OK, avrò bisogno di molta corrente per un po 'di tempo qui" e aggiungere un pullup MOSFET al tuo output. Quindi, è possibile disattivarlo per alcuni cicli e vedere se lo slave sta ancora permettendo alla linea di essere tirata su resistivamente (come a pag.3 figura 2 del foglio dati DS18S20. ) Molti dispositivi a 1 filo non sono ' t veramente 1 filo. Se non hai bisogno di interagire con parti reali a 1 filo e / o controlli il nodo principale, puoi definire le tue specifiche e questo dovrebbe rendere le cose molto più facili.

Il tuo lavoro è reso più semplice perché il tuo micro probabilmente può gestire tra i 5 V del bus e decadere fino a ~ 2.6. Pertanto, la configurazione di Schottky e condensatore di cui sopra dovrebbe funzionare, o anche un diodo al silicio. Considera le seguenti configurazioni di diodi:

  • Diodo al silicio: questa sarebbe la mia prima scelta. Finché il tuo micro e qualsiasi periferica possono funzionare a 4,3 V, minimizzerai la corrente inversa da decine a centinaia (e persino fino a mA quando è caldo) su uno Schottky fino a decine di nano-amp
  • Diodo Schottky: utilizzare solo se .4V tra il diodo standard e Schottky è significativo per la propria applicazione, ma la corrente inversa dell'ordine di 100uA è accettabile.
  • Diodo ideale: provare LTC4411 o simile se il costo non è un problema (solo $ 1,75, ma più di un diodo passivo) e la corrente inversa di 20uA è accettabile. Fare riferimento alla scheda tecnica MSP430 per il consumo energetico. A 3 V (utilizzando una batteria agli ioni di litio anziché un supercap che perde, supponendo che potresti voler rimuovere questo dispositivo ma conservare la RAM per un'esecuzione di codice di potenza inferiore), puoi avere una modalità di ibernazione di 100na (nano-amp, .1uA) che richiede un interrupt esterno (come un cambio pin!)

L'altra opzione è quella di essere avari di requisiti di alimentazione e utilizzare una batteria. Vedi questa nota app da Maxim. Se riesci a mantenere il tuo MSP430 in modalità di sospensione (vale a dire, svegliati solo su un cambio di pin, come un impulso di inizializzazione a 1 filo), puoi fare una media inferiore a 1uA e una cella a bottone ti durerà per dieci anni (in teoria.) Come a lungo vuoi che il dispositivo duri?


Il diodo ideale sarà abbastanza veloce da spegnersi durante la trasmissione dei dati?
mazurnification

5

Utilizzare un condensatore per immagazzinare l'energia, collegare a terra l'estremità negativa del condensatore e collegare un diodo Schottky tra la linea dati e il condensatore. I diodi Schottky hanno una bassa caduta in avanti.


5

μ

Per alimentare il microcontrollore dal bus sono necessari solo un diodo e un condensatore. Il condensatore attenua la tensione del bus e il diodo impedisce a un livello basso sul bus di scaricare il condensatore. Scegli un diodo Schottky per avere una caduta di tensione minima.

Attenzione: imbroglione imminente!
Questa ragazza non ha bisogno del diodo per alimentare in modo parassitario il suo microcontrollore, e nemmeno il condensatore sembra essere richiesto. Usa una bobina come antenna RFID su una porta I / O e la tensione attraverso la bobina alimenta il dispositivo attraverso i diodi di serraggio.

inserisci qui la descrizione dell'immagine

VDDVDD


Guai a tutti ...! Se Russel o Olin vedono quell'abuso di diodi clamp ... :-)
Cagliata

1
@Curd - Russell o Olin? Come pensi che mi sia sentito quando l'ho visto per la prima volta ?! :-)
stevenvh

3

Molte note dell'app a 1 filo mostrano il circuito standard all'interno dello slave: un condensatore tra GND e VCC del chip interno (nel tuo caso, tra GND e VCC della tua CPU). Inoltre, un diodo di blocco dalla linea di dati a VCC del chip interno, per consentire al condensatore di riempirsi quando la linea di dati è alta, ma per bloccare l'alimentazione dal drenaggio dal condensatore quando la linea di dati è ridotta. Dai un'occhiata allo schema in queste note sull'app:

Finché il condensatore è abbastanza grande, dovresti essere in grado di far funzionare la maggior parte dei microcontrollori moderni. Il Texas Instruments MSP430 era il micro a più bassa potenza quando fu introdotto. Ho sentito che Atmel afferma che i loro AVR PicoPower consumano meno energia dell'MSP430. Inoltre i microchip XLP Microchip consumano relativamente poca energia.

Potresti essere sorpreso di vedere cosa hanno da dire le persone simpatiche di 1wire.org sulla costruzione di dispositivi slave a 1 filo: http://www.1wire.org/index.html?target=p_142.html&lang=en-us


Immagino che dovrei evitare la frase "1-wire", quindi ...
Toby Jaffey,

Curiosamente, ciò che dice quella pagina di 1wire.org è "NON cambiare questa pagina. NON è visibile ai clienti". Immagino di non essere un cliente. Probabilmente "shopfactory" non sa cosa succede se il loro javascript non viene eseguito.
Yann Vernier,

1

io

Sono inciampato in questo thread ... La vera domanda è: perché vuoi alimentare il tuo schiavo in modo parassitario. Non tutti i dispositivi a 1 filo sono dispositivi parassiti e in generale sconsiglio di alimentarli in questo modo. È un ostacolo alla necessità di dispositivi su PCB in cui l'aggiunta di una singola traccia era un problema. Può essere la causa di numerosi problemi su una rete a 1 filo a seconda del suo design complessivo. Naturalmente molto dipende anche dal design del master bus. che può supportare pull-up attivi.

Gli slave a 1 filo a microprocessore sono stati eseguiti correttamente ma è necessario soddisfare le specifiche generali di temporizzazione a 1 filo. quale la maggior parte delle implementazioni che ho visto non lo fanno (specialmente se questo è per qualcosa oltre all'uso personale). Sarei felice di parlare di dettagli reali con chiunque. È stato fatto con successo su un AVR Mega8 a 16 MHz con le specifiche del dispositivo appropriate. Soddisfare i tempi di risposta critici con qualcosa di più lento sarebbe una vera sfida e interrompere i tempi di servizio e i riattivi generalmente rallentano troppo i tempi di risposta per soddisfare le specifiche.

Esistono diversi modi per inserire un micro sul bus 1-Wire che sono stati realizzati negli ultimi anni e i micro-slave 1-Wire sono un'area di interesse speciale per me, quindi posso dare diverse idee di progettazione a chiunque sia interessato. I codici operativi (funzioni) non dovrebbero mai essere progettati ad hoc in quanto possono facilmente causare problemi con altri dispositivi a 1 filo su una rete.

Mi dispiace per il sito web 1-Wire.org, l'ho tenuto di tasca mia negli ultimi anni, quindi le persone hanno avuto un punto di partenza per i loro sforzi con 1-Wire.

Ad ogni modo, se qualcuno ha bisogno di problemi di progettazione a 1 filo, non esitate a contattarmi direttamente a dml (at) sprynet.com o tramite admin@1wire.org e proverò ad aiutare se posso.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.