İçindekiler:
Video: Esp8266 Saat ve Darbe Üreteci: 3 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:16
Bu talimat, basit bir test ekipmanı parçası içindir; bir saat ve puls üreteci.
Bir test saati veya bir darbe dizisi oluşturmak için bir esp8266'daki i2S donanım arayüzünü kullanır. Bu, temel bir sistem için özel bir donanım gerekmediğinden bir araya getirmeyi kolaylaştırır.
- 2Hz'den 20MHz'e saat üretimi
- Herhangi bir frekans kullanılabilir
- 160MHz taban saatinden en iyi saat bölücü eşleşmesini ve bit uzunluğunu arar
- < 100KHz frekanslar için tipik olarak %0,1'den daha iyi eşleşme
- Boşluk oranı seçimini işaretleyin
- Daha iyi işaret alanı kullanımı elde etmek için frekans eşleştirme toleransı gevşetilebilir
- Dosyalardaki tanımlara dayalı darbe dizisi oluşturma
- PC, telefon, tabletten kontrol sağlayan web tabanlı GUI
- Kolay ilk yönlendirici kurulumuna izin vermek için Wifi Yönetimi
- OTA yazılım güncellemesi
- Esnek kontrol sağlayan özel bir I2s kitaplığı (i2sTXcircular) kullanır
Adım 1: Donanım
Madeni bir USB şarj cihazı, bir açma/kapama düğmesi, çıkış sinyali için 3 pinli bir başlık fişi olan bir 18650 pili tutan 3 boyutlu baskılı bir muhafaza içinde oluşturdum.
Muhafaza, pilin yanında elektroniği tutmak için dar bir yuvaya sahiptir.
Sinyal, GPIO3 pininden (RX) çıkar. Bu doğrudan kullanılabilir ancak daha yüksek sürücü kapasitesi için 74LVC2G34 kullanarak küçük bir arabellek eklemeyi seçtim. Daha fazla sürücü yeteneği sağlamak için bu aygıttaki iki arabelleği paralel hale getirdim.
Her şey sadece cihazdaki yazılımda yapılır ve kontrol bir web sunucusu sağlanarak yapılır, böylece bir PC, telefon veya tablet üzerindeki bir tarayıcı tam kontrol sağlar.
2. Adım: Yazılım
Yazılımı oluşturmak ve kurmak için https://github.com/roberttidey/espI2sClockGen adresindeki kodu kullanın.
- i2sTXcircular kütüphanesini kurun (dahil)
- BaseSupport kitaplığını kurun (https://github.com/roberttidey/BaseSupport)
- WifiManager kitaplığı ekle
- BaseConfig.h'de parolaları düzenleyin
- Arduino ortamında derleme ve yükleme
- AP'ye bağlanarak ve 192.168.4.1'e göz atarak wifi ağ yönetimini ayarlayın
- STA ip/upload kullanarak veri klasöründen temel dosya setini yükleyin
- daha sonra ip/edit kullanılarak daha fazla yükleme yapılabilir - normal arayüz ip/'de
Nasıl çalışır
i2sTXcircular kütüphanesi, daha sonra DMA kullanılarak esp8266 üzerindeki i2S donanımı tarafından otomatik olarak çıkarılan dairesel bir tampon zinciri oluşturmaya izin verir, böylece bir kez çalıştığında hiçbir yazılım ek yükü kullanılmaz.
Cihazdaki temel saat, bir çift bölücü tarafından bölünmüş 160 MHz'dir. Çıktı sinyali daha sonra bölünmüş saat tarafından çıktı olarak verilen arabelleklere hangi verilerin konulduğu ile belirlenir. İki bölücü seçilerek ve her darbeyi temsil etmek için potansiyel olarak birden çok veri biti kullanılarak bir frekansa oldukça yakın bir şekilde yaklaşılabilir. Ayrıca görev döngüsünün (saat darbelerinin işaret/boşluk oranı) değiştirilmesine izin verir.
Tarayıcı javascript kodu, seçilen herhangi bir frekansa yakın bir eşleşme sağlamak için parametre seçimini optimize etmeye çalışır.
Ana amaç saatler üretmek olsa da, daha sonra üretilecek ve dairesel tampona konacak verileri kontrol eden bir darbe dosyasına bir tanım koyarak daha karmaşık darbe katarları üretmek de mümkündür. Ayrıntılar, dahil edilen örnek darbe dosyalarındadır.
3. Adım: Çalıştırma
İşlem, ana resimde gösterilen tarayıcı arayüzü tarafından kontrol edilir.
Normal saat üretimi için hedef saati ve işaret alanı % oranını seçmeniz yeterlidir. Elde edilen gerçek saat ve hatası görüntülenir. Saat Oluştur butonuna basıldığında parametreler cihaza gönderilir ve bu parametreleri kullanarak saat üretimi başlar.
Gelişmiş çubuğuna tıklayarak daha fazla ayrıntı görülebilir.
Bit saati, kullanılan 160 MHz'nin alt katını gösterir.
İşaret ve boşluk bitleri, işaretleri ve boşlukları temsil etmek için kaç bit kullanıldığını gösterir.
Div1 ve Div2, en yakın bit saatini oluşturmak için seçilen iki bölücüyü gösterir.
Normalde, iki bölücü, seçilen frekansa en yakın eşleşmeyi verecek ve farklı görev döngülerine izin vermede daha fazla esneklik sağlamaya yardımcı olan kullanılan veri bitlerinin sayısını maksimize edecek şekilde seçilir. Bununla birlikte, bazen en iyi eşleşme, görev döngüsünü değiştirmek için çok az yer bırakan düşük bit sayısıyla sonuçlanır. Tolerans % değerini değiştirerek, bölücüler bu tolerans dahilinde ancak potansiyel olarak daha fazla veri biti kullanılarak bir frekans verecek şekilde seçilecektir. Örneğin toleransı 0,5 veya 1 olarak ayarlamayı deneyin.
Parametre seçimini kontrol etmek için Kelime başına Bit sayısını da ayarlayabilirsiniz. 0 (varsayılan), kelime başına herhangi bir bit seçmek anlamına gelir. Tek bir sayı (ör. 24), yalnızca bununla eşleşen parametreleri seçmek anlamına gelir. Ayrıca bir aralık da koyabilirsiniz (ör. 24, 31). Bu, yalnızca 10KHz'in üzerindeki hedef Hz için çalışır, bu ölçeklemenin altında, sayının çarpılması için etkili olur.
Tampon boyutu, 32 bit sözcüklerde kullanılan toplam arabellek aralığını gösterir. Bu, saat darbesinin tampona mükemmel bir dairesel uyum oluşturmasını sağlamak için seçilir. Dahili olarak bu tampon, zincirleme DMA'nın çalışmasına izin vermek için birkaç küçük rbuffer'a bölünür.
Darbe işlemi için darbeler TAB'ını seçin. Bu, mevcut darbe dosyalarını ve her birinin yanında tanımına göre bir darbe dizisi üretecek bir düğmeyi gösterir. Dosyanın içeriğini linkine tıklayarak görebilirsiniz. ip/edit dosya tarayıcısı kullanılarak daha fazla darbe dosyası yüklenebilir. Nabız adı ile başlamalıdırlar.
Önerilen:
Visuino Bir LED'in Parlaklığını Değiştirmek için Darbe Genişlik Modülasyonu (PWM) Nasıl Kullanılır: 7 Adım
Visuino Bir LED'in Parlaklığını Değiştirmek için Darbe Genişlik Modülasyonu (PWM) Nasıl Kullanılır: Bu eğitimde, Darbe Genişlik Modülasyonu (PWM) kullanarak parlaklığını değiştirmek için Arduino UNO ve Visuino'ya bağlı bir LED kullanacağız. Bir tanıtım videosunu izleyin
8Ch PWM'yi Darbe Konum Modülasyonuna Dönüştürme: 4 Adım
8Ch PWM'yi Darbe Konum Modülasyonuna Dönüştürme: Radyo kontrollü modeller (veya RC modelleri) için radyo Alıcılarının 2 çıkış sinyali formatını inceleyeceğiz. Geleneksel ve en yaygın Alıcı sinyali türü PWM'dir ve genellikle PWM, kanal başına yalnızca bir kablo gerektirir. PPM sinyalleri şimdi daha da artıyor
RTC Olmadan ESP8266 Ağ Saati - Nodemcu NTP Saat RTC Yok - İNTERNET SAAT PROJESİ: 4 Adım
RTC Olmadan ESP8266 Ağ Saati | Nodemcu NTP Saat RTC Yok | İNTERNET SAAT PROJESİ: Projede RTC'siz saat projesi yapılacak, wifi kullanılarak internetten zaman alacak ve st7735 ekranında görüntülenecektir
LED Kullanarak Darbe Genişlik Modülasyonu (PWM) için Visuino RAMPS: 8 Adım
LED Kullanarak Darbe Genişlik Modülasyonu (PWM) için Visuino RAMPS: Bu eğitimde Arduino UNO ve Visuino'ya bağlı bir LED kullanarak Darbe Genişlik Modülasyonu (PWM) ve Rampalar bileşenini kullanarak LED'i karartmak için kullanacağız. Bir tanıtım videosunu izleyin
Hızlı Kenar Kare Dalga Darbe Üreteci: 4 Adım
Hızlı Kenar Kare Dalga Darbe Üreteci: Hızlı Kenar Darbe Üreteci - Ultra Hızlı Kare Dalga Darbe Üreteci 74HC14N (düşük dönüş hızına sahip altı TTL invertör) kullanan bu basit devre, 10MHZ'ye kadar kare dalga sinyalleri üretebilir. Bazı elektronik testleri için idealdir. Bir çürüme ile