24 Haziran 2018 Pazar

MESH NETWORK HABERLEŞMELİ AKILLI EV OTOMASYON SİSTEMİ ROLE KONTROLÜ





Bu çalışmamda geçen çalışmamda olduğu gibi akıllı ev otomasyonu sistemi üzerine bir uygulama hazırlandı. Geçen çalışmamdaki amacım ev içersinden alınan datalar açılan bir web siteye data gönderiyor ve telefon üzerinden bu dataları anlık çekebiliyorduk. Şimdi ki çalışmamda ise yine kurulan bir web site üzerinden android için oluşturulan program aracılığıyla ev içersindeki röle kartlarını bluetooth mesh network ile aç kapa yaptırabiliyoruz. Yani data akişı bu sefer telefondan röle'ye olacak şekildedir. 


Bu çalışamamdaki diğer bir özellik ise sistem ev içersinde wifi olmasa bile telefon yardımıyla yinede röle aç kapa yapiliyor olmasıdır.  

Kurulan sistem ARM tabalı stm32 mikrodenetleyiciler ile yapılmıştır. 


Kodlar istenirse ardiuno için uyarlanabilir yada siz yapabilirsiniz. Devre baglantı şemaları ve kodlar için iletişime geçebilirsiniz.


Telefon için hazırlanan app 









26 Mayıs 2018 Cumartesi

MESH NETWORK HABERLEŞMELİ EV OTOMASYON SİSTEMİ


Uzun bir süredir üzerinde çalıştığım IoT projemin ilk aşamasını tamamlamış bulunmaktayım. Hedefimde temel bir sistemi oluşturmak vardı ve bu saat itibariyle o temeli tamamladım.

IoT projemdeki amacım; Ev içersinde bulunan çeşitli sensörlerden (gaz, yangın, hırsız alarm, sıcaklık, nem, su baskını algılayan sensörler gibi) bluetooth ile toplanan datalar, internet ortamına wifi yardımıyla cloud'a çıkartılıp daha sonra evden uzakta herhangi bir yerde telefon için oluşturulan  android app veya bir web sitesi tarafından izlenmesidir. Hedeflediğim bu temel IoT projesi amacına ulaşmış bulunmaktayım.


Bu sistemi, her ne kadar ev otomasyonu için yaptığım gözükse bile bir çok otomasyon sistemine uyarlana bilmektedir. Örneğin; bir seranız var ve içersindeki gaz miktarını, topraktaki nemi veya ortam sıcaklığını seranız'dan uzakta olsanız bile internet yardımıyla telefonuzdan takip edebilirsiniz.

Bu IoT projemde ilk olarak kendime ait ücretsiz bir web sitesi ve veri tabanı oluşturdum. Web sitemin adı: http://www.myautomationsystem.ml/myautomationsystem.ml/hkn/sayfa.php. Bu linke giderseniz, sizin için şuanlık anlamsız gözükse bile tablo halinde sensörlerden toplanan eski datalarım gözükmektedir. Bu datalar oluşturmuş olduğum veritabanında saklanmaktadır. Link'e tıkladığınızda o veritabanına bağlanıp dataları alıyor ve tablo halinde yazdırıyor.

web sitesi


İkinci olarak telefon için android app uygulması hazırladım. Bu uygulama, check data butonuna tıklandığında yine web sitesinde olduğu gibi veritabanıma bağlanıp dataları oradan çekip son güncel datayı yazdırmaktadır.

App Uygulaması



Son olarak, işi yapan asıl kısımı hazırladım. Burada sensörler ve toplayıcım vardır. Sensörlerim mesh network protoklü ile bluetooth yardımıyla birbirleriyle haberleşmektedir. nRF24L01 bluetooth ve wifi modül olarak  ESP8266 kullanılmıştır. Sensör ve toplayıcı (gateway) kartımın üzerinde stm32 serili ARM tabanlı mikro denetleyiciler bulunmaktadır.  Toplayıcı (gateway) dataları aldıktan sonra esp8266'ya gönderir ve oradan oluşturulan veritabanına yazıdırılmaktadır.




Artık elimde IoT için temeli oluşturulmuş kodlarını tamamen kendimin hazırladığım bir proje bulunmaktadır. Bu sistemi dahada ileriye taşımak için çalışacağım. Kodlar ve proje için benimle iletişime geçebilirsiniz. Buna benzer bir proje isterseniz benimle irtibata geçebilirsiniz. 


Android apk'yı buradan indirebilirsiniz : https://drive.google.com/file/d/17vGuECcoEiz35FX00x9cmBzs14oZ7sPh/view







9 Ekim 2017 Pazartesi

STM32 İLE HTU21D HABERLEŞMESİ

STM32 İLE HTU21D HABERLEŞMESİ


HTU21D, sıcaklık ve nem ölçen bir çeşit dijital elektronik sensördür.  Bu sensör, -40 ile 125 sıcaklık derecesi arasında çalışmaktadır.  

Sıcaklık ve Nem değerleri I2C haberleşme protoklü kullanarak stm32f429 entegresi HTU21'den alır. Ve daha sonra sıcaklık ve nem sensörü stm32f429 discovery kiti üzerindeki dokunmatik GLCD'de yazdırılır.
  



STM32 İLE BAĞLANTI PİNLERİ

HTU21D----->STM32
SCL                PA8
SDA               PC9
VCC               VCC
GND               GND


KOD:

#include "htu21d.h"

#define __OKUMA_ZAMANI_MS 250//ms cinsinden

int main(void)
{

  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_UART5_Init();
  MX_DMA2D_Init();
  MX_FMC_Init();
  MX_I2C3_Init();
  MX_LTDC_Init();
  MX_SPI5_Init();

  /* USER CODE BEGIN 2 */
 BSP_LCD_Init();
 BSP_LCD_LayerDefaultInit(LCD_BACKGROUND_LAYER,LCD_FRAME_BUFFER);
 BSP_LCD_LayerDefaultInit(LCD_FOREGROUND_LAYER,LCD_FRAME_BUFFER);
 BSP_LCD_SelectLayer(LCD_FOREGROUND_LAYER);
 BSP_LCD_DisplayOn();
 BSP_LCD_Clear(LCD_COLOR_WHITE);

  /* Set LCD Demo description */
  BSP_LCD_SetTextColor(LCD_COLOR_RED);
  BSP_LCD_FillRect(0, 0, BSP_LCD_GetXSize(), 80);
  BSP_LCD_SetTextColor(LCD_COLOR_WHITE);
  BSP_LCD_SetBackColor(LCD_COLOR_RED);
  BSP_LCD_SetFont(&Font24);
  BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"HTU21D", CENTER_MODE);
  BSP_LCD_SetFont(&Font12);
  BSP_LCD_DisplayStringAt(0, 30, (uint8_t *)"Bu projede HTU21D sensorunden", CENTER_MODE);
  BSP_LCD_DisplayStringAt(0, 45, (uint8_t *)"sicaklik ve nem bilgisi", CENTER_MODE);
  BSP_LCD_DisplayStringAt(0, 60, (uint8_t *)"okunarak GLCD yazdirilmistir", CENTER_MODE);

  /* Set the LCD Text Color */
  BSP_LCD_SetTextColor(LCD_COLOR_BLUE);
  BSP_LCD_DrawRect(10, 90, BSP_LCD_GetXSize() - 20, BSP_LCD_GetYSize()- 100);
  BSP_LCD_DrawRect(11, 91, BSP_LCD_GetXSize() - 22, BSP_LCD_GetYSize()- 102);
if(!HTU_begin())
{
HAL_GPIO_WritePin(LD3_GPIO_Port,LD3_Pin,1);
}
BSP_LCD_SetFont(&Font24);
BSP_LCD_SetTextColor(LCD_COLOR_RED);
BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
  BSP_LCD_DisplayStringAt(0, 120, (uint8_t *)"SICAKLIK", CENTER_MODE);
BSP_LCD_DisplayStringAt(0, 200, (uint8_t *)"NEM", CENTER_MODE);
TIME=HAL_GetTick();

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */
if(HAL_GetTick()-TIME>__OKUMA_ZAMANI_MS)
{
//her 1 sn içersinde buraya gir ve htu21'den sicaklik ve nem oku.
//okunan sicaklik ve nem degerini dokunmatik ekrana yazdir.
BSP_LCD_SetTextColor(LCD_COLOR_BLACK);
BSP_LCD_SetBackColor(LCD_COLOR_WHITE);
float humd = HTU_readHumidity();
float temp = HTU_readTemperature();
char kelime[15];
sprintf(kelime,"%.3f C",temp);
BSP_LCD_DisplayStringAt(0, 160, (uint8_t *)kelime, CENTER_MODE);
sprintf(kelime,"%% %.3f RH",humd);
BSP_LCD_DisplayStringAt(0, 240, (uint8_t *)kelime, CENTER_MODE);
TIME=HAL_GetTick();
}

  /* USER CODE BEGIN 3 */

  }
  /* USER CODE END 3 */

}

Kodun tamamı için irtibata geçiniz. Çalışan bir projedir. 



7 Ocak 2017 Cumartesi

RTOS (REAL TIME OPERATING SYSTEM)


RTOS (REAL TIME OPERATING SYSTEM)

Mikrodenetleyiciler, aynı anda bir komut satırını işletebilen entegrelerdir.

 Yukarıda sonuz döngü içine giren mikrodenetleyici ilk olarak birinci komut satırını işler sonra ikinci komutu daha sonra üçüncü komutu işler. Yani işleri sırayla yapar.


Örneğin; ardiuno’da loop fonksiyonun içine iki adet sonsuz döngü yerleştirelim. Mikrodenetleyici ilk sonuz döngüye girdiğinde oranın içindeki komutlaru sırayala işler fakat ikinci sonuz döngüye birinci döngüden çıkamadığı için oradaki görevleri işletemez.  

RTOS, mikrodenetleyicilerin içine gömülen bir işletim sistemidir aynı windows, linux gibi. RTOS’un en önemli özelliği görevleri parelelmiş gibi yapma yeteneği olmasıdır, bu özelliğiyle FPGA benzetebiliriz. Örneğin, Bilgisayarda müzik dinliyorsunuz spotify’de bir yandada internette gazete okuyorsunuz. Bilgisayarda bu işler parlelmiş gibi yapılıyor. İnternette gezereken internet sayfanız donsa bile veya internet sayfanız geç açılsa bile arka tarafta siz şarkınızı gayet akıcı bir şekilde dinliyor olacaksınız. Bu iki görevi yani yazılımda sanki iki farklı while sonsuz döngüsünde olduğunu düşünün. Yani bilgisayar iki farklı sonuz döngüyü aynı anda çalıştırıyor. Aynı bu yapıyı mikrodenetleyicilerdede RTOS sayesinde yaptırabilirz.

RTOS, sayesinde iki veya daha fazla sonsuz döngüyü aynı anda çalıştırabiliriz.




Yukarıdaki resimde RTOS ile çalışan iki farklı sonsuz döngü içersinden alınan iki sinyal görülmektedir.

Birinci sinyal sdkart’a data yazma zamanını, ikinci sinyalde her 6 ms’da ekg devremizden örnekleme aldığımızı düşünelim. Burada yapılan iş 6 ms örnekleme alıp onu sd kart’a yazmak fakat bunu RTOS’suz yaparsak 1.sinyalde A1’den A2’ye kadar lojik bir seviye olmuştur. Yani, sd karta yazma işi uzun sürmüş yaklaşık  60 ms. RTOS’suz yaptığımız düşünürsek 60 ms’de biz 6 adet ekg verisini kaybetmiş oluruz çünkü tek bir sonuz döngü içinde olacak önce ekg datasını okucayacak sonra onu sd kart’a kaydedecek. Kaydetme işi uzun olduğundan okuma yapıyacak ve bu durumda datalar eksik yazılacaktır.

Fakat bunu RTOS kullanarak yaparsak bu başımıza gelmeyecek. İkinci sinyalde de bu görülmektedir. A1 ve A2 süresi uzun sürse bile biz örnekleme alacağız yani datalarımız kaybolamayacak.  Burada iki farklı sonsuz döngü olacak. Birinci döngüde sd karta yazacak, ikinci döngüde örnekleme alacağız kesintisiz.     

6 Ocak 2017 Cuma

Köprü Tipi Doğrultucu Tasarımı

Köprü Tipi Doğrultucu Tasarımı


Merhabalar, bu yazımda sizlere köprü tipi doğrultucu devre tasarımı yapacağım PSPICE programını kullanarak. 
 


 Bu devre tasarımındaki amacım ilk olarak verilen devre şemasını Pspice programında simüle etmek ve daha sonra çıkış gerilimini 10V'a zener diyot kullanarak sabitlemek.


1.adım
İlk olarak devremiz için Pspice kodunu yazalım;

VS    1 0  SIN 0 20 50
Rzout 1 2  50
DR1   2 4  D1N4002
DR2   0 4  D1N4002
DR3   3 0  D1N4002
DR4   3 2  D1N4002
RL    4 3  4k
CL    4 3  10u
.model D1N4002 D (IS=14.11E-9 N=1.984 RS=33.89E-3 IKF=94.81 XTI=3 EG=1.110
+ CJO=51.17E-12 M=0.2762 VJ=0.3905 FC=0.5 ISR= 100.0E-12 NR=2 BV=100.1 IBV=10 TT=4.761E-6)
.tran 1u 80ms 0 0.1ms
.PROBE

.END

2.Adım
Simülasyon sonuçlarımızı gösterelim;


Yukarıdaki resimde kahve rengi ile çizilen sinyal giriş sinyalimiz, yeşil sinyalimiz ise çıkışımızdır. Görüldüğü gibi sinüzoidal giriş sinyalimizi ortalama gerilimi 0V'dan yukarı çıkardık.

3.Adım
Devre çıkışını 10V'a çekmek için zener diyotlu devremizi kuralım daha sonra simüle edelim.





















Yukarıdaki kahve rengi sinyalimizde görüldüğü gibi çıkışı 10V'a zener diyotlu devremiz sayesinde sabitledik.


5 Ocak 2017 Perşembe

FPGA ile Yapay Sinir Ağı Tasarımı


FPGA İLE  BASİT NÖRON TASARIMI




Bu yazımda,  bu dönem Yıldız Teknik Üniversitesi Elektronik ABD Doç. Dr. Burcu ERKMEN hocamın vermiş olduğu programlanabilir lojik devre tasarımda dersinde Mehmet Özgen Özdoğan arkadaşımla beraber almış olduğumuz FPGA'de basit bir nöron tasarımı projemizi anlatacağım. 

Öncelikle bu projemizde emeği geçen değerli hocamız Doç. Dr. Burcu ERKMEN ve Arş. Gör. Ali Rıza YILMAZ hocamıza ve aynı zamanda proje arkadaşım Mehmet'e emeğinden verdiği emekten dolayı teşekkür ederim. 

Bu proje sayesinde yapay sinir ağı hakkında daha önce bilmediğim bilgileri bu proje sayesinde hem öğrenmiş hemde fpga gibi zor bir platformda nasıl uygulanacağı hakkında bilgilere sahip oldum. 

Bu projemizde ISE Design Suite 14.7 programını ve Xilinx Spartan 3E eğitim kitini kullandık ve sonuçları kit üzerindeki LCD ekran üstünde hexadecimal sayı olarak görüntüledik.

Yapay Sinir Ağı Nedir ?

Kısaca, yapay sinir ağı insanın beynini taklit eder. Burada hücreyi modeleyerek tasarım yapılıyor. 






Yandaki resimde hücre yapısı görülmektedir. İşte bu hücre yapısı modellenerek YSA oluşturulmuştur.  Burada dendritlere gelen bilgiler hücre gövdesi içersinde değerlendirilerek bir çıkış elde edilir ve o çıkış akson boyunca akson çıkış uçlarına yönlendirilir ve oradan diğer hücrelerin dendritlerine gider. 




Yapay sinir hücreleri biyolojik sinir hücrelerine benzer yapıdadır. Yapay nöronlar aralarında bağ kurarak yapay sinir ağlarını oluştururlar. Aynı biyolojik nöronlarda olduğu gibi yapay nöronların da giriş sinyallerini aldıkları, bu sinyalleri toplayıp işledikleri ve çıktıları ilettikleri bölümleri bulunmaktadır.

Bir yapay sinir hücresi beş bölümden oluşmaktadır;
  • ·         Girdiler
  • ·         Ağırlıklar
  • ·         Toplama Fonksiyonu (Birleştirme Fonksiyonu)
  • ·         Aktivasyon fonksiyonu
  •             Çıktılar 




Giriş ve ağırlık değerleri ondalıklı sayılarda işlem yapacağımız için IEEE 754 standardına göre 32 Bit FloatingNumber yapılarak işlemler bu şekilde ilerledi. FPGA donanımı üzerinde ondalıklı sayılarla işlem yapamadığımız için bu yönteme başvurduk. IPCORE ile fl_carpma ve fl_toplama blokları oluşturduk. Bu blokları 32 Bit tasarladık. Bu sayede giriş değerleri ile ondalıklı olabilecek ağırlıkları ile çarpıp sonunda toplama işlemini yaptırmış olduk. Ağırlıklarını ise W1,W2,W3,W4 sırasıyla 0.5, -0.7, -0.5, 0.32 ayarladık.






Bu ağırlıklar ile çarpım ve toplamlardan sonra elde edilen değeri ise transfer fonksiyonundan geçirmek gerekmekteydi. Burada Sigmoid Fonksiyonu kullandık. Bu sigmoid fonksiyonu 16 bit olduğundan ve 32 bit elde ettiğimiz sonucu kafamıza göre bölemezdik. Çünkü bu kodlama mantığında ilk bit işaret biti sonrasındaki eksponansiyel ağırlıkları ve sonrasında sayı bulunan bir sistemdi. Bu yüzden yine Xilinx ISE Design Studio içerisindeki IPCORE yardımıyla 32 Bit’ten 16 Bit’e düşüren floatingpoint – floatingpoint çevirici ve ardından çıkan sonucu tekrar 32 bit görebilmek için 16 Bit’ten 32 Bit’e çeviren modül tasarladık. Toplama çarpma işlemlerinin 32 Bit sonucu 16 bit sonuca düşürüldü ve ardından sigmoid fonksiyonundan geçirildi. Ardından 16 bit çıkış tekrar 32 Bit’e dönüştüren blok sayesinde 32 Bit yapılarak çıkışa atandı.





Sigmoid fonksiyonu  yaklaşımındaki 16 bit değerlerinin ayrıca sigmoid_rom.vhd bloğunda tutularak ilgili durumlarda adreslere göre değerlerin çekilmesi üzerine oluşturulmuştur.




Bu projenin Spartan 3E 1600E kartına atılıp ve kartın üzerindeki LCD 16x2 ekranında görünmesi için elde ettiğimiz bu 32 Bit sayıyı dörderli gruplara ayırrdık. LCD ekranda HEX değeri okumak için böyle bir işlem uyguladık. 0000 1111 0000 1000 0001 … 32 Bit uzunluktaki sayıyı ekranda okuması zor olacağından HEX değeri yapılarak sonuca gittik. 0x0F081… ekranda yazması daha kolaylık sağlayacaktır. Burada karttaki programın çıkışını LCD’de görmemiz için gerekli komutları ana_modul.ucf dosyası içine tanımladık. Girişleri 4 switch üzerine atadık. Reset için buton kullandık. Ayrıca saat girişi olarak 50 MHz kart üzerindeki clock aktif edildi.




Bu projemizde 4 adet giriş butonu ile giriş değerleri değiştirilmiştir. Bu giriş değerleri kendi katsayıları ile çarpılarak daha sonra aktivasyon fonksiyonunda geçirilmiş ve sonuç LCD'de gösterilmiştir.  





Bu projede sayede ileri yayılım algoritmasını kullandık, geri yayılım algoritmasını fpga üzrinde deneyemedik proje zamanımızın 2 hafta olmasından dolayı. 

Geri yayılım algoritmasının amacı; biz önce sisteme rastgele  W1,W2,W3 ve W4 katsayılarını veriyoruz sonra ileri yayılım algoritması ile çarpma daha sonra toplama ve sonra aktivasyon fonksiyonundan geçirdikten sonra bir çıkış elde ediyoruz. Bu çıkış değeri beklenen değerden farklıdır yani çıkışta hata vardır. Bu hata değeri geri yayılım algoritmasını kullanarak W1,W2,W3 ve W4 otomatik olarak tekrar güncellenir. Bu güncellemeyi sistem kendi kendine yapar. Yani sistem öğrenme durumuna gelir. Bu işlem sistem öğrenene kadar devam eder.  İşte insan beynine benzetilmesinin nedeni de budur. Yani sistem kendi kendini eğite biliyor olmasıdır. 


Sonuçlar



Tüm girişlere lojik 1  değeri verdiğimizde simülasyon sonucu ;



Uygulama sonucu;




   

Kaynaklar 

1.  http://www.ibrahimbayraktar.net/2013/11/sinir-sisteminin-yaps-ve-islevleri.html 
2.  http://mehmetozgenozdogan.blogspot.com.tr/
3. https://www.quora.com/What-is-the-sigmoid-function-and-what-is-its-use-in-machine-learnings-neural-networks
4.http://www.aliosmangokcan.com/index.php/makaleler/46-ysa-ile-xor-uygulamasi
5.http://bilgisayarkavramlari.sadievrenseker.com/2008/10/05/ozel-veya-problemi-xor-problem-exclusive-or/
6.http://www.idt.mdh.se/utbildning/exjobb/files/TR0825.pdf
7.http://www.ijser.org/paper/A-Survey-on-FPGA-based-MLP-Realization-for-On-chip-Learning.html
8.http://www.emo.org.tr/ekler/b8a21b630fcd49a_ek.pdf
9.http://ethesis.nitrkl.ac.in/4217/1/FPGA_implementation_of_artificial_neural_networks.pdf
10.http://www.alicavuslu.gen.tr/wp-content/uploads/2014/02/tez.pdf
11.http://blog.aliekberyacin.net/?p=305#prettyPhoto
12.http://trace.tennessee.edu/cgi/viewcontent.cgi?article=3725&context=utk_gradthes
13.http://web.itu.edu.tr/ayhant/dersler/ysa/dn/ozden.pdf


23 Aralık 2016 Cuma

Pspice Programını Kullanarak Zener Diyot Simülasyonu



Merhabalar, uzun zamandır ders ve parttime olarak çalıştığımdan dolayı çok meşguldüm o yüzde pek fazla bloğuma vakit ayıramamıştım. Bu yazımda sizlere pspice programını kullanarak simülasyonun nasıl yapılacağını anlatacağım.


  • Pspice programı ile şematik çizim yerine devreyi kodlayarak simülasyon yaptırıyoruz.

  • Örneğin;15 Voltluk bir gerilim kaynağını, VS    1 0  DC 15 olarak yazıyoruz.Burada; VS  kaynak adıdır. Bu isim Vin de olabilirdi fark etmez. 1 'in anlamı Vs nin yanıdaki ilk düğüm noktam, onun yanındaki 0 ise ikinci düğüm noktam. Yani kaynak adından sonra kaynağımın bağlanacağı düğüm noktalarını yazıyoruz. Daha sonra DC nin anlamı bu bir dc kaynak olacak ve gerilimi 15V olacaktır.

  •  Bir AC kaynak yazmak istersek bunu kullancağız; VS   1 0  SIN 0 20V 50Hz.
  • Şimdi pspice'da bir zener diyot tasarım örneği yapalım.


  • Tasarım parametrelerimiz şunlardır; Vdc=15V, V2=10V'tur. Yani 15V'tan 10V'adüşüreceğiz. R2=10k, ve onun üstünden geçmesi gereken akım 1mA olarak istenmektedir. 
  • İlk olarak bu iş gerekli olan zener diyot'u bulalım. 




  • Yukarıdaki tabloda da görüleceği üzerine bizim kullanmamız gereken zener 1n4740'tır. 10V gerilim elde etmemiz için  zener diyot üzerinden 25mA geçmesi gerektiğini bize söylüyor. Bizde tasarımımız yaparken bu değeri göz önünde bulunduracağız. 
  • R1 direncini bulalım. R1=(V1-VZ)/IR1'dir.  IR1=IR2+IZ=1mA+25mA=26mA'dir. 
  • R1=192 ohm 'dur. 
  • Pspice kodumuzu yazalım;

Pspice Kodu



  • Sonuçlar
Vout 


Iz



Kaynaklar
1.www.diodes.com/downloads/10295, 1N4728A - 1N4761A - Diodes Incorporated
2. http://espice.ugr.es/espice/src/modelos_subckt/spice_complete/cadlab.lib