Mundarija:

Esp8266 soat va puls generatori: 3 qadam
Esp8266 soat va puls generatori: 3 qadam

Video: Esp8266 soat va puls generatori: 3 qadam

Video: Esp8266 soat va puls generatori: 3 qadam
Video: IoT: скорость управления двигателем постоянного тока с NodeMCU ESP8266 и модулем L298N 2024, Noyabr
Anonim
Esp8266 soat va puls generatori
Esp8266 soat va puls generatori

Bu ko'rsatma oddiy sinov uskunasi uchun; soat va puls generatori.

U test soatini yoki impulslar ketma -ketligini yaratish uchun esp8266 -dagi i2S apparat interfeysidan foydalanadi. Bu birlashtirishni osonlashtiradi, chunki asosiy tizim uchun maxsus uskunalar talab qilinmaydi.

  • 2 Gts dan 20 MGts gacha soat ishlab chiqarish
  • Har qanday chastotadan foydalanish mumkin
  • 160 MGts chastotali asosiy soat taqsimlagichlari va bit uzunligining eng yaxshi mosligini qidiradi
  • Odatda 100 kHz dan past chastotalar uchun 0,1% dan yaxshiroq
  • Bo'shliq nisbati tanlovini belgilang
  • Belgilar oralig'ini yaxshiroq boshqarish uchun chastotaga mos keladigan bardoshlik bo'shashishi mumkin
  • Fayllardagi ta'riflarga asoslangan pulsli poezdlarni yaratish
  • Kompyuter, telefon, planshet orqali boshqarishga imkon beruvchi Internetga asoslangan GUI
  • Wi -Fi boshqaruvi yo'riqchini oson sozlash imkonini beradi
  • OTA dasturiy ta'minotini yangilash
  • I2s maxsus kutubxonasidan (i2sTXcircular) foydalanadi, bu esa moslashuvchan boshqaruvni ta'minlaydi

1 -qadam: Uskuna

Uskuna
Uskuna
Uskuna
Uskuna

Men o'zimning USB -zaryadlagichi, yoqish/o'chirish tugmasi, chiqish signali uchun 3 pinli boshli vilkasi bo'lgan 18650 batareyali 3 o'lchamli bosma korpusda qurdim.

Korpusda batareyani yonida elektronikani ushlab turish uchun tor uyasi bor.

Signal GPIO3 pinidan (RX) chiqadi. Bu to'g'ridan -to'g'ri ishlatilishi mumkin, lekin yuqori haydovchi qobiliyati uchun 74LVC2G34 yordamida kichik buferni qo'shishni tanladim. Men haydash qobiliyatini oshirish uchun ushbu qurilmadagi ikkita buferni parallel qildim.

Hamma narsa faqat qurilmadagi dasturiy ta'minotda amalga oshiriladi va nazorat veb -server orqali amalga oshiriladi, shunda kompyuter, telefon yoki planshetdagi brauzer to'liq boshqaruvni ta'minlaydi.

2 -qadam: dasturiy ta'minot

Dasturiy ta'minotni o'rnatish va sozlash uchun https://github.com/roberttidey/espI2sClockGen manzilidagi koddan foydalaning.

  • I2sTXcircular kutubxonasini o'rnating (shu jumladan)
  • BaseSupport kutubxonasini o'rnating (https://github.com/roberttidey/BaseSupport)
  • WifiManager kutubxonasini qo'shing
  • BaseConfig.h da parollarni tahrirlash
  • Arduino muhitida kompilyatsiya qiling va yuklang
  • Wi -Fi tarmog'ini boshqarishni AP ga ulanish va 192.168.4.1 ga o'tish orqali sozlash
  • STA ip/upload yordamida ma'lumotlar papkasidan asosiy fayllar to'plamini yuklash
  • keyingi yuklamalar ip/tahrir yordamida amalga oshirilishi mumkin - oddiy interfeys ip/da

U qanday ishlaydi

I2sTXcircular kutubxonasi buferli buferlar zanjirini yaratishga imkon beradi, ular avtomatik ravishda esp8266 -dagi i2S uskuna tomonidan DMA yordamida chiqariladi, shunda hech qanday dasturiy ta'minot sarflanmaydi.

Qurilmaning asosiy soati 160 MGts bo'lib, u bir nechta bo'laklarga bo'linadi. Chiqish signali buferlarga qanday ma'lumotlar joylashtirilganligi bilan aniqlanadi, ular bo'linadigan soat tomonidan chiqariladi. Ikkita bo'linuvchini tanlab va har bir pulsni ifodalash uchun potentsial bir nechta ma'lumotlar bitlarini ishlatib, chastotani juda yaqin taxmin qilish mumkin. Bu, shuningdek, ish tsiklini (soat impulslarining belgisi/bo'shliq nisbati) o'zgarishiga imkon beradi.

Brauzer javascript kodi har qanday tanlangan chastotaga mos keladigan parametrlarni tanlashni optimallashtirishga harakat qiladi.

Garchi asosiy maqsad soat ishlab chiqarish bo'lsa -da, impulsli faylga ta'rifni qo'yish orqali yanada murakkab impulsli poezdlarni ishlab chiqarish mumkin, u keyinchalik hosil bo'ladigan va dumaloq buferga qo'yiladigan ma'lumotlarni boshqaradi. Tafsilotlar puls fayllari misolida keltirilgan.

3 -qadam: operatsiya

Operatsiya asosiy rasmda ko'rsatilgan brauzer interfeysi orqali boshqariladi.

Oddiy soat ishlab chiqarish uchun siz maqsadli soatni va bo'sh joy % nisbatini tanlaysiz. Haqiqiy erishilgan soat va uning xatosi ko'rsatiladi. Soat yaratish tugmasi bosilganda parametrlar qurilmaga yuboriladi va shu parametrlar yordamida soat ishlab chiqarish boshlanadi.

Kengaytirilgan satrni bosish orqali batafsil ma'lumotni ko'rish mumkin.

Bit-soat 160 MGts chastotali sub-ko'paytmani ko'rsatadi.

Belgilar va bo'shliqlar belgilar va bo'shliqlarni ifodalash uchun qancha bit ishlatilishini ko'rsatadi.

Div1 va Div2 eng yaqin bit soatini yaratish uchun tanlangan ikkita ajratgichni ko'rsatadi.

Odatda ikkita bo'linuvchi tanlangan chastotaga eng yaqin moslikni berish va ma'lumotlar bitlarining sonini ko'paytirish uchun tanlanadi, bu esa har xil ish tsikllarini bajarishga ko'proq moslashuvchanlikni ta'minlaydi. Biroq, ba'zida eng yaxshi o'yin natijasi, ish sonini o'zgartirishga oz joy qoldiradi. Tolerantlik % qiymatini o'zgartirib, bo'linuvchilar bu bardoshlik ichida chastota berish uchun tanlanadi, lekin potentsial ko'proq ma'lumotlar bitlari ishlatiladi. Masalan, tolerantlikni 0,5 yoki 1 ga sozlang.

Bundan tashqari, parametrlarni tanlashni nazorat qilish uchun bitlar sonini sozlashingiz mumkin. 0 (standart) har bir so'z uchun har qanday bitni tanlashni anglatadi. Bitta raqam (masalan, 24) faqat bunga mos keladigan parametrlarni tanlashni bildiradi. Siz qatorni qo'yishingiz mumkin (masalan, 24, 31). Bu faqat 10 gigagertsdan yuqori bo'lgan Hz uchun ishlaydi, pastda bu o'lchov kuchga kiradi, shunda ularning soni ko'payadi.

Bufer o'lchami 32 bitli so'zlarda ishlatilgan umumiy buferni ko'rsatadi. Bu soat impulsining buferga mukammal dumaloq joylashishini ta'minlash uchun tanlangan. Ichkarida, bufer zanjirli DMA ishlashiga ruxsat berish uchun bir nechta kichik rufferlarga bo'lingan.

Pulslar ishlashi uchun TAB impulslarini tanlang. Bu mavjud pulsli fayllarni va har birining yonidagi tugmachani ko'rsatadi, bu uning ta'rifiga asosan impulsli poezd ishlab chiqaradi. Siz havolani bosish orqali fayl tarkibini ko'rishingiz mumkin. Boshqa pulsli fayllarni ip/tahrirlash fayl brauzeri yordamida yuklash mumkin. Ular puls nomidan boshlanishi kerak.

Tavsiya: