Mikrokontroler bertenaga 1-kawat?

17

Saya telah melihat sensor 1-kawat Dallas, mereka tampak hebat. Tapi, saya ingin membuat beberapa budak 1-kawat khusus yang dapat diberdayakan secara parasit (hanya data + tanah).

Adakah yang bisa merekomendasikan mikrokontroler daya rendah yang cocok untuk ini?

Apakah ada yang punya sirkuit sampel untuk bagaimana saya akan memberi daya MCU dari bus 1-kawat?

Toby Jaffey
sumber
Tombol Java. mereka ada. TI melakukannya. Java Card IIRC
Tim Williscroft
Untuk menindaklanjuti dan meningkatkan pertanyaan - bagaimana dengan power pada reset MCU? Bagaimana ini ditangani? (Untuk sensor yang dirancang khusus untuk 1-kawat ini harus ditangani oleh perangkat itu sendiri saat dipersiapkan untuk itu). Haruskah MCU dilengkapi dengan deteksi brownout? Apa ini cukup?
mazurnifikasi
@macurnification - itu terdengar seperti pertanyaan baru bagi saya
Toby Jaffey

Jawaban:

17

Bus kawat satu memiliki bus pasif (yaitu dengan resistor) ditarik ke atas dalam sistem, dan perangkat berkomunikasi di bus dengan menarik bus ke bawah. Apa yang akan saya lakukan jika saya ingin menarik daya dari bus adalah:

  1. Masukkan garis data langsung ke pin input data mikrokontroler Anda.
  2. Berikan juga baris data ke dalam dioda Schottky.
  3. Pada keluaran dioda, pasang kapasitor yang berukuran besar (misalnya 10uF) ke ground.
  4. Kirim output diode ke pin VCC mikrokontroler Anda.

Anda harus menggunakan dioda Schottky, untuk meminimalkan penurunan tegangan. Kombinasi dioda / kapasitor harus membuatnya sehingga komunikasi dapat terjadi (mis. Membumikan bus secara berkala) tanpa mematikan MCU. Menempatkan kapasitor setelah dioda akan membuat transisi pada data bus tetap tajam, sambil menjaga pembusukan daya (tegangan) ke MCU Anda secara bertahap. Semakin rendah daya perangkat yang Anda gunakan, semakin baik untuk meminimalkan pembuangan kapasitor Anda, tetapi hampir semua MCU mungkin akan bekerja untuk Anda. Preferensi saya adalah Atmel's AVRs, tetapi TI MSP430s dan Microchip's PICs juga merupakan kandidat yang baik untuk konsumsi daya yang rendah.

vicatcu
sumber
9
+1 pada TI MSP430s. Saya pikir mereka memenangkan kontes konsumsi daya terendah.
pingswept
8
Saya yakin Anda bisa mematikan satu kentang :)
Jim
2
Apa yang Anda maksud dengan "buffer"? Biasanya Anda akan menggunakan dioda, lebih disukai dioda Schottky untuk drop tegangan rendahnya.
starblue
2
@ starblue, buffer adalah komponen listrik yang biasanya digunakan untuk meningkatkan kekuatan drive dan memberikan output impedansi rendah saat "melewati" sinyal input. Ini memiliki efek mengisolasi input dari output secara efektif, sementara membuat output "mengikuti" input. Ada banyak cara untuk mengimplementasikannya (op-amp adalah satu cara; dua inverter CMOS secara seri adalah cara lain), tetapi Anda juga dapat menemukannya sebagai komponen diskrit atau IC.
vicatcu
1
@vicatcu Saya pikir starblue tahu apa buffer logika - Hanya penguat non-pembalik. Dia mungkin bertanya-tanya apakah Anda mengacu pada sesuatu yang berbeda. Anda lupa bahwa arus bias input ke buffer ada di urutan nano atau mikro-amp, dan arus ini didorong ke ground daripada ke kapasitor Anda. Buffer konvensional (seperti CD4010) tidak akan berfungsi tanpa daya dan ground. Saat jawaban Anda dipilih, harap edit untuk mencerminkan fakta ini.
Kevin Vermeer
7

Anda mungkin mempertimbangkan untuk menambahkan permintaan ke fungsi-fungsi slave kustom Anda untuk mengatakan "OK, saya akan membutuhkan banyak arus untuk sementara waktu di sini", dan menambahkan penarikan MOSFET ke output Anda. Kemudian, Anda bisa mematikan ini selama beberapa siklus, dan melihat apakah budak masih memungkinkan garis untuk ditarik ke atas (seperti pada p.3 gambar 2 dari lembar data DS18S20. ) Banyak perangkat 1-kawat tidak tersedia benar-benar 1-kawat. Jika Anda tidak perlu berinteraksi dengan bagian 1-kawat yang sebenarnya dan / atau Anda mengontrol master node, Anda dapat menentukan spesifikasi Anda sendiri dan ini akan membuat segalanya lebih mudah.

Pekerjaan Anda menjadi lebih mudah karena mikro Anda mungkin dapat menangani antara 5V bus dan meluruh hingga ~ 2.6. Oleh karena itu, pengaturan Schottky dan kapasitor yang disebutkan di atas harus berfungsi, atau bahkan dioda silikon. Pertimbangkan pengaturan dioda berikut:

  • Silicon diode: Ini akan menjadi pilihan pertama saya. Selama mikro dan periferal Anda dapat berjalan pada 4.3V, Anda akan meminimalkan arus balik dari puluhan hingga ratusan (dan bahkan naik menjadi mA saat hangat) pada Schottky hingga puluhan nano-amp.
  • Dioda Schottky: Gunakan hanya jika .4V antara dioda standar dan Schottky signifikan untuk aplikasi Anda, tetapi arus balik pada urutan 100uA dapat diterima.
  • Dioda ideal: Coba LTC4411 atau serupa jika biaya tidak menjadi masalah (Hanya $ 1,75, tetapi lebih dari dioda pasif) dan arus balik 20uA dapat diterima. Lihat datasheet MSP430 untuk konsumsi daya. Pada 3V (Menggunakan baterai Li-ion daripada supercap bocor, dengan asumsi bahwa Anda mungkin ingin menghapus perangkat ini tetapi mempertahankan RAM untuk eksekusi kode daya yang lebih rendah), Anda dapat memiliki mode hibernate 100na (nano-amp, .1uA) yang membutuhkan interupsi eksternal (seperti perubahan pin!)

Pilihan lainnya adalah kikir dalam persyaratan daya, dan gunakan baterai. Lihat catatan aplikasi ini dari Maxim. Jika Anda dapat menjaga MSP430 Anda dalam mode tidur (yaitu, hanya bangun pada perubahan pin, seperti pulsa inisialisasi 1-kawat), Anda dapat rata-rata kurang dari 1uA dan sel koin akan bertahan selama sepuluh tahun (Secara teori.) lama Anda ingin perangkat bertahan?

Kevin Vermeer
sumber
Akankah Diode Ideal cukup cepat untuk dimatikan saat mengirim data?
mazurnifikasi
5

Gunakan kapasitor untuk menyimpan energi, dan hubungkan ujung negatif kapasitor ke ground, dan hubungkan dioda Schottky antara jalur data dan kapasitor. Dioda Schottky memiliki drop maju rendah.

Jason S
sumber
5

μ

Untuk menyalakan mikrokontroler dari bus, Anda hanya perlu dioda dan kapasitor. Kapasitor menopang tegangan bus, dan dioda mencegah tingkat rendah pada bus dari pemakaian kapasitor. Pilih dioda Schottky untuk memiliki drop tegangan minimum.

Peringatan: trik kotor di depan!
Gal ini tidak memerlukan dioda untuk menghidupkan mikrokontrolernya secara parasit, dan bahkan kapasitor sepertinya tidak diperlukan. Dia menggunakan koil sebagai antena RFID pada port I / O, dan tegangan melintasi koil memberi daya perangkat melalui dioda penjepit.

masukkan deskripsi gambar di sini

VDDVDD

stevenvh
sumber
Celakalah ...! Jika Russel atau Olin melihat bahwa penjepit diode menyalahgunakan ... :-)
Curd
1
@Curd - Russell atau Olin? Bagaimana menurut Anda saya rasakan ketika saya melihat ini untuk pertama kalinya ?! :-)
stevenvh
3

Banyak dari catatan aplikasi 1-kawat menunjukkan sirkuit standar di dalam slave: kapasitor antara GND dan VCC dari chip internal (dalam kasus Anda, antara GND dan VCC dari CPU Anda). Juga, dioda pemblokiran dari jalur data ke VCC dari chip internal, untuk memungkinkan kapasitor untuk mengisi ketika jalur data tinggi, tetapi untuk memblokir daya dari pengeringan dari kapasitor ketika jalur data dibawa rendah. Lihat skema dalam catatan aplikasi ini:

Selama kapasitor Anda cukup besar, Anda harus dapat menjalankan kebanyakan mikrokontroler modern. Texas Instruments MSP430 adalah mikro dengan daya terendah saat diperkenalkan. Saya mendengar bahwa Atmel mengklaim AVR PicoPower mereka menggunakan daya yang lebih kecil daripada MSP430. Juga Microchip XLP micros menggunakan daya yang relatif kecil.

Anda mungkin terkejut melihat apa yang dikatakan orang-orang baik di 1wire.org tentang membangun perangkat budak 1 kawat: http://www.1wire.org/index.html?target=p_142.html&lang=en-us

davidcary
sumber
Saya kira saya lebih baik menghindari frasa "1-kawat" daripada ...
Toby Jaffey
Anehnya, apa yang dikatakan halaman 1wire.org adalah "JANGAN ubah halaman ini. TIDAK terlihat oleh pelanggan." Saya kira saya bukan pelanggan. Di duga, "shopfactory" tidak tahu apa yang terjadi jika javascript mereka tidak berjalan.
Yann Vernier
1

saya

Hanya tersandung pada utas ini ... Pertanyaan sebenarnya adalah mengapa Anda ingin memberi kekuatan secara parsial pada budak Anda. Tidak semua perangkat 1-kawat adalah perangkat parasit, dan secara umum saya sarankan untuk tidak menyalakannya dengan cara ini. Ini merupakan tambahan dari kebutuhan untuk perangkat pada PCB di mana penambahan satu jejak merupakan masalah. Ini bisa menjadi penyebab beberapa masalah pada jaringan 1-Wire tergantung pada desain keseluruhannya. Tentu saja banyak tergantung pada desain master bus juga. yang dapat mendukung pull-up aktif.

Microprocessor 1-Wire slave telah berhasil dilakukan tetapi Anda harus memenuhi spesifikasi waktu 1-Wire umum. yang sebagian besar implementasi saya lihat tidak (terutama jika ini untuk apa pun selain penggunaan pribadi). Saya senang membicarakan detail aktual dengan siapa pun. Telah berhasil dilakukan pada AVR Mega8 16Mhz dengan spesifikasi perangkat yang tepat. Memenuhi waktu respons kritis dengan sesuatu yang lebih lambat akan menjadi tantangan nyata dan mengganggu waktu layanan dan bangun umumnya akan memperlambat waktu respons terlalu banyak untuk memenuhi spesifikasi.

Ada beberapa cara berbeda untuk memasang mikro pada bus 1-Kawat yang telah dilakukan selama beberapa tahun terakhir dan budak mikro 1-Kawat adalah bidang minat khusus bagi saya sehingga saya dapat memberikan beberapa ide desain kepada siapa pun yang tertarik. Opcodes (fungsi) tidak boleh dirancang adhoc karena dapat dengan mudah menyebabkan masalah dengan perangkat 1-Wire lainnya di jaringan.

Maaf tentang situs web 1-Wire.org, saya baru saja menyimpannya dari saku sendiri selama beberapa tahun terakhir sehingga orang-orang memiliki titik awal untuk upaya mereka dengan 1-Wire.

Pokoknya kalau ada yang membutuhkan masalah desain 1-kawat jangan ragu untuk menghubungi saya langsung di dml (at) sprynet.com atau melalui [email protected] dan saya akan mencoba membantu jika saya bisa.


sumber