Mündəricat:

XOD ilə işləyən şarj edilə bilən günəş lampası: 9 addım (şəkillərlə birlikdə)
XOD ilə işləyən şarj edilə bilən günəş lampası: 9 addım (şəkillərlə birlikdə)

Video: XOD ilə işləyən şarj edilə bilən günəş lampası: 9 addım (şəkillərlə birlikdə)

Video: XOD ilə işləyən şarj edilə bilən günəş lampası: 9 addım (şəkillərlə birlikdə)
Video: ABŞ-da toxunulmamış tərk edilmiş bir xəstəxanada xəstə qanı tapdıq 2024, Iyul
Anonim
XOD ilə işləyən Şarj Edilə bilən Günəş Lampası
XOD ilə işləyən Şarj Edilə bilən Günəş Lampası

Əksər ev əşyaları və hardware mağazalarında ucuz günəş bağı/gediş lampaları mövcuddur. Ancaq köhnə sözdə deyildiyi kimi, ümumiyyətlə ödədiyinizi alırsınız. İstifadə etdikləri adi şarj və işıqlandırma sxemləri sadə və ucuzdur, ancaq aldığınız işıq çıxışı təsir edici bir şeydir (və gediş yolunuzdan istifadə edənlərin hara getdiklərini görmək üçün çətinliklə!)

Bu, hələ də etmək nisbətən ucuz olsa da, əhəmiyyətli bir təkmilləşdirmə olan şəbəkədənkənar bir işıqlandırma modulu hazırlamaq cəhdimdir. Bir az "beyin" verərək. XOD.io, kodu qrafik olaraq "yaza" biləcəyiniz Arduino quraşdırılmış inkişaf platforması ilə uyğun gələn yeni bir IDE -dir. Ətraf mühit, qrafik eskizinizi kompakt kod yaratmaqda olduqca təsirli olan və əlavə xarici asılılıqlar tələb etmədən fond Arduino IDE ilə tam uyğun bir qaynaq yaradan müasir C ++ - a köçürür. Bu yolla məhdud proqram və məlumat saxlama mənbələri olan kiçik, ucuz mikrokontrollerlər də mürəkkəb vəzifələri yerinə yetirmək üçün istifadə edilə bilər.

Bu layihə, birlikdə işləyən iki Arduino uyğun ATTiny85 mikrokontrolörünün lampanın güc tələblərini idarə etmək üçün necə istifadə olunacağını göstərir. Birinci prosessor xarici cihazdan ətraf mühit məlumatlarını idarə edir, ikincisi gün ərzində günəşdən ən çox enerjini toplamağa çalışır və sonra saxlama batareyası gecə boşaldıqca yüksək güclü bir LED-in işıqlandırılmasını idarə edir. İkinci prosessor öz işini "qeyri -səlis məntiq" nəzarətinin kompakt tətbiqi ilə həyata keçirir. Hər iki çip üçün proqram yalnız XOD mühitində hazırlanmışdır.

Addım 1: Lazımi materiallar

Arduino IDE, son versiyası, "Boards" menecerindən ATTinyCore uzantısı quraşdırılmışdır

Sparkfun USBTinyISP ATTiny proqramçısı, 11801 və ya ona bərabər olan Sparkfun məhsul səhifəsi

Pololu tənzimlənən aşağı gərginlikli gücləndirici çevirici, U1V11A və ya ona bərabər Pololu məhsul səhifəsi

Soyuducu, ümumi anod, Adafruit 2524 və ya ona bərabər Adafruit məhsul səhifəsi olan yüksək güclü ağ və ya RGB LED

Microchip ATTiny85 8 pinli DIP paketində, 2 Mouser məhsul səhifəsində

8 pinli DIP IC prizləri, 2

Toplu saxlama kondansatörü, 16 v 220 uF

Çıxış kondansatörü, 6.3v 47uF

Cərəyanı məhdudlaşdıran rezistorlar, 50 ohm 1/4 watt

i2c çəkmə rezistorları, 4.7k, 2

Panel gərginliyi hiss ayırıcı rezistorlar, 1/4 vatt, 100k, 470k

Cari hiss rezistoru, 10 ohm 1⁄2 watt 1% tolerantlıq

Bypass kondansatörleri, 0.1uF keramika, 2

2 3.7 v 100mAh lityum-ion şarj edilə bilən batareya, PKCELL LP401 və ya buna bərabər

Panel üçün barel giriş giriş jakı, 1

Mini terminal blokları 3 "x3" lehim yastığı lövhəsi və əlaqələr qurmaq üçün nazik bərk nüvəli tel

Test üçün demək olar ki, bir osiloskop, multimetr və dəzgah enerji təchizatı tələb olunacaq

Addım 2: Ətraf mühitin qurulması

Ətraf mühitin qurulması
Ətraf mühitin qurulması

XOD mühiti ATTiny seriyalı prosessorları dəstəkləmir, ancaq Arduino kainatından bir neçə üçüncü tərəf kitabxanasından istifadə edərək bu AVR seriyasına dəstək əlavə etmək çox sadədir. İlk addım, Arduino IDE -nin "Alətlər → Kart → İdarə Heyəti Meneceri" açılan menyusundan "ATTinyCore" kitabxanasını qurmaqdır. Daxil olan görüntüdə göstərildiyi kimi parametrlərin düzgün olduğundan əmin olun - hər hansı bir kodu yükləməzdən əvvəl qəhvəyi gərginliyi və saat sürətini təyin edən qoruyucuları dəyişdirmək üçün "Boot bootloader" düyməsini vurmalı olduğunuzu unutmayın!

Bu kitabxana üçün mənbə kodu mövcuddur:

Depodan əldə edə biləcəyiniz başqa bir faydalı kitabxana, Arduino tərəfindən dəstəklənən prosessorlar üçün sabit nöqtə riyaziyyatının tərtib edilməsi zamanı tətbiq olunan "FixedPoints" dir. ATTiny, məhdud SRAM və proqram yaddaşına malikdir və AVR -də 4 bayt tələb edən üzən nöqtə növü deyil, ümumi məlumatların saxlanması üçün 2 baytlıq bir ədəd istifadə etmək üçün son eskiz ölçüsünü kiçiltməkdə çox kömək edir. ATTiny-də hardware vurma vahidi olmadığından icra sürəti də artırılmalıdır, daha az donanım üzən nöqtəsi!

Mənbə kodu mövcuddur:

Https://github.com/Pharap/FixedPointsArduino ünvanında XOD qrafik eskizlərinin necə yaradılacağı, köçürülməsi və yerləşdirilməsi ilə bağlı təlimat daxil olan mənbə fayllarının necə yaradıldığını anlamağa çox kömək edəcək.

Addım 3: Dizayn Baxışı

Dizayn Baxışı
Dizayn Baxışı
Dizayn Baxışı
Dizayn Baxışı

Göyərtədə iki ATTiny85 prosessoru bir i2c interfeysi vasitəsi ilə birləşdirilir və günəş panelinin gərginliyini, panel işıqlandırılarkən batareyaya axan cərəyanı, batareyanın gərginliyini və batareyanı idarə etmək üçün birlikdə işlədilir. temperatur.

Gücləndirici çevirici, 0,5 volt qədər aşağı bir giriş gərginliyi götürə və 2 voltdan 5 volta qədər artıra bilən Texas Instruments TPS6120 IC-ə əsaslanan hazır bir moduldur. Sensor nüvəsi bir neçə funksional blokdan ibarətdir. Günəş paneli girişindən gücləndirici çeviriciyə enerji verildikdən sonra ana saat işə başlayır. Bu eskizin icrasına başlayır və ilk şey, batareyanın şarj cərəyanı təmin etmək üçün panelin kifayət qədər işıqlandırıldığını müəyyən etməkdir.

Günəş paneli gərginliyi iki rəqəmsal süzgəcdən keçir və müəyyən bir həddən yuxarı olduqda sistem panelin işıqlandırıldığını təyin edir və ana saatı cari hissə monitoruna bağlayır. Bu, fərqli bir şəkildə konfiqurasiya edilmiş çipin rəqəmsal çevirici kanalına bənzəyir və gücləndirici çeviricinin çıxışı ilə batareya girişi arasında ardıcıl olaraq bağlanan 10 ohm 1% tolerantlıq müqavimətindəki gərginliyi hiss edir. Panel işıqlandırılmadıqda, bu ATTiny ikinci ATTiny -ə siqnal göndərir ki, şarj etmə yerinə LED gücünü izləsin və gücləndirici çeviricini söndürün və girişi təcrid edin ki, batareya cərəyanı paneldən geri göndərməsin..

İkinci ATTiny nüvəsi, LED nəzarətçi və batareyanın şarj izləmə sisteminin işlədiyi yerdir. Panel gərginliyi, batareya gərginliyi və batareya şarj cərəyanı məlumatları, SHTDN pininə tətbiq etmək üçün uyğun bir PWM siqnalı yaratmağa çalışan və bununla da batareyaya göndərilən cərəyanın miqdarını idarə edən qeyri-səlis məntiq şəbəkəsi vasitəsilə işlənmək üçün bu nüvəyə göndərilir. işıqlandırıldıqda onu doldurmaq üçün-maksimum güc nöqtəsi izləmə (MPPT.) əsas forması, sensor nüvəsinin gününün çıxışından asılı olaraq LED-i yandırıb söndürməyin lazım olduğunu bildirən bir siqnal alır. gecə flip flop.

LED gecə aktiv olduqda, bu ATTiny, yoldaşına və çipdəki temperatur sensöründən ona göndərilən batareyanın gərginlik məlumatlarını izləyir və LED-ə nə qədər gücün töküldüyünü təxmin etmək üçün batareyanın gərginliyini azaldır. və çip temperaturu sancaqlarından çıxarılan cərəyanla artır.) LED PWM yaması ilə əlaqəli qeyri-səlis məntiq şəbəkəsi hələ də nə qədər batareya gücünün mövcud olduğu barədə qərar verməyə çalışır və batareya tükəndikcə LED intensivliyini azaldır.

Addım 4: XOD Core Kitabxanasından Xüsusi Yamalar Yaratmaq

XOD Core Kitabxanasından Xüsusi Yamalar Yaratmaq
XOD Core Kitabxanasından Xüsusi Yamalar Yaratmaq
XOD Core Kitabxanasından Xüsusi Yamalar Yaratmaq
XOD Core Kitabxanasından Xüsusi Yamalar Yaratmaq

Bu dizayn üçün bir çox xüsusi yamaq qovşaqlarından istifadə olunmuşdur ki, bunlardan bəziləri tamamilə daxil edilmiş XOD düyünlərindən, bəziləri isə C ++ da tətbiq oluna bilər.

Şəkillərdəki iki xüsusi yamaq qovşağından birincisi, eksponensial hərəkət edən orta filtrin tətbiqidir. Bu, eskizdə ardıcıl olaraq istifadə olunan, günəş panelinin daxil olan gərginliyini məntiq nüvəsi üçün süzgəcdən keçirmək və bir dəfə də uzunmüddətli mühit işıqlandırmasını təyin edən tətiyi qidalandırmaq üçün istifadə olunan aşağı başlıqlı aşağı keçidli rəqəmsal filtrdir. Eksponensial hamarlaşdırma haqqında Vikipediya girişinə baxın.

Şəkildəki qovşaq quruluşu, məqalədəki ötürmə funksiyasının, müvafiq girişlərdən çıxışlara bağlantılar vasitəsilə birləşdirilmiş birbaşa qrafik təsviridir. Kitabxanada bir geribildirim döngəsi yaratmağa imkan verən bir gecikdirmə nodu var (XOD icra modelində təsvir edildiyi kimi, döngəyə gecikmə qoymadan bir geribildirim döngəsi yaratsanız XOD sizi xəbərdar edəcək.) Bu detal ilə yamaq yaxşı işləyir, bu sadədir.

İkinci xüsusi yamaq nodu, XOD-a daxil olan stok flip-flopunun filtrlənmiş panel gərginliyi ilə qidalanmasıdır. Giriş siqnalının müəyyən bir eşikdən yuxarı və ya aşağı olmasına görə yüksək və ya aşağı kilidlənir. Vəziyyət aşağıdan yuxarıya keçdikcə tıxanma düymələri, flip flopu tetiklemek üçün Boolean çıxış dəyərlərini nəbz məlumat növünə çevirmək üçün istifadə olunur. Bu yamaq nodunun dizaynı inşallah ekran görüntüsündən bir qədər özünü izah etməlidir.

Addım 5: C ++ istifadə edərək xüsusi yamalar yaratmaq

C ++ istifadə edərək xüsusi yamalar yaratmaq
C ++ istifadə edərək xüsusi yamalar yaratmaq

Lazım olan düyün funksionallığının qrafik olaraq təsvir etmək üçün çox mürəkkəb olacağı və ya fond Arduino mühitində olmayan Arduino kitabxanalarına əsaslanan xüsusi tələblər üçün XOD, bəzi C/C ++ biliklərinə sahib olanların kiçik ölçülü hissələr yazmasını asanlaşdırır. İstifadəçi tərəfindən yaradılan və ya səhm nodu ilə eyni olan bir yamaya birləşdirilə bilən kod. Fayl menyusundan "yeni bir yamaq yaradın" seçilməsi işləmək üçün boş bir vərəq yaradır və giriş və çıxış qovşaqları əsas kitabxananın "qovşaqları" bölməsindən sürüklənə bilər. Sonra "yerinə yetirilməyən-in-xod" düyünü sürüklənə bilər və tıklandıqda C ++ -da lazımi funksiyaların tətbiq oluna biləcəyi bir mətn redaktoru açılacaqdır. Daxili vəziyyəti necə idarə etmək və C ++ kodundan giriş və çıxış limanlarına daxil olmaq burada təsvir edilmişdir.

Xüsusi yamaların C ++ da tətbiq edilməsinə nümunə olaraq, sürücü nüvəsinin təchizat gərginliyinin və nüvəli temperaturun qiymətləndirilməsi üçün sürücü nüvəsi üçün daha iki xüsusi yamaqdan istifadə olunur. Qeyri -səlis şəbəkəsi ilə yanaşı, qaranlıq olduqda LED -lərin işləməsi üçün qalan batareya gücünün təxmini hesablanmasına imkan verir.

İstilik sensoru yamağı, daha yaxşı bir qiymətləndirmə əldə etmək üçün təchizat gərginliyi sensorunun çıxışı ilə də qidalanır - əsas temperaturun algılanması, LED -lərdə nə qədər gücün yandırıldığını kobud bir şəkildə hesablamağa imkan verir. batareyanın tükənməsi, nə qədər batareya gücünün qaldığını daha bir kobud hesablamadır. Çox dəqiq olması lazım deyil; Əgər LED -lər çox cərəyan çəkir, amma batareya gərginliyi sürətlə azalır "bilirsə", yəqin ki, batareya gücünün çox uzun sürməyəcəyini söyləmək təhlükəsizdir və lampanı söndürməyin vaxtıdır.

Addım 6: Tikinti

Tikinti
Tikinti
Tikinti
Tikinti
Tikinti
Tikinti

Layihəni çuxur hissələri üçün mis yastıqları olan kiçik bir prototip lövhəsi üzərində qurdum. IC -lər üçün prizlərdən istifadə proqramlaşdırma/modifikasiya/sınaq üçün çox kömək edir; Sparkfun -dan USBTiny ISP -nin lövhəsində oxşar bir yuva var, buna görə də iki çipin proqramlaşdırılması proqramçını kompüterin USB portuna bağlamaqdan, uyğun lövhə və proqramçı parametrləri ilə daxil edilmiş Arduino.ino fayllarından köçürülmüş XOD kodunu yükləməkdən ibarətdir. sonra çipləri proqramçı yuvasından yumşaq bir şəkildə çıxarın və protoboard yuvalarına daxil edin.

Pololu TPS6120 əsaslı gücləndirici çevirici modulu, pin başlıqlarında protoboya lehimli bir yükseltici lövhədə gəlir, buna görə də bəzi komponentləri altına quraşdıraraq yerdən qənaət etmək mümkündür. Prototipimə iki 4.7k çəkmə müqavimətini altına qoydum. Çiplər arasındakı i2c avtobusunun düzgün işləməsi üçün bunlar tələb olunur - bunlar olmadan ünsiyyət düzgün işləməyəcək! Lövhənin sağ tərəfində günəş panelinin fişinin giriş jakı və giriş saxlama kondansatörü var. Mümkün qədər aşağı müqavimət yolu əldə etmək üçün bağlayıcı tel deyil, lehim "işlədilməsi" vasitəsi ilə jakı və bu qapağı bir -birinə bağlamağa çalışmaq daha yaxşıdır. Qatı lehim axınları daha sonra saxlama kondansatörünün müsbət terminalını təkan modulunun giriş gərginliyi terminalına və təkan modulunun şnurunu birbaşa krikonun şaft pininə bağlamaq üçün istifadə olunur.

İki ATTinys üçün yuvaların sağında və solunda 0.1uF despike/deglitching kondansatörləri var. Bu komponentlərin kənarda qalmaması da vacibdir və IC -lərin gücünə və topraklama pinlərinə mümkün qədər qısa və birbaşa bir yolla bağlanmalıdır. 10 ohm cərəyan hissedici rezistor soldadır, bu gücləndirici çeviricinin çıxışına uyğun olaraq bağlanır və hər tərəfi sensorun əsas giriş pininə qoşulur - bu sancaqlar dolayı yolla ölçmək üçün diferensial ADC olaraq işləmək üçün qurulmuşdur. batareyaya cərəyan. İ2c avtobusu üçün IC pinləri ilə gücləndirici çeviricinin bağlanma pimi və s. Arasındakı bağlantılar protobonun alt tərəfindəki bağlama teli ilə edilə bilər, çox incə bərk nüvəli bağlama teli bunun üçün əla işləyir. Dəyişiklikləri asanlaşdırır və üstdəki deliklər arasında tullananlardan daha təmiz görünür.

İstifadə etdiyim LED modulu üç rəngli bir RGB vahidi idi, planım, batareya demək olar ki, tam doldurulduqda ağ çıxarmaq üçün hər üç LED-in aktiv olmasını və şarj bitdikcə mavi LED-in yavaş-yavaş sarı rəngə çevrilməsini nəzərdə tuturdu. Ancaq bu xüsusiyyət hələ tətbiq edilməmişdir. Bir cərəyan məhdudlaşdıran rezistoru olan tək ağ LED də yaxşı işləyəcək.

Addım 7: Test, 1 -ci hissə

Test, 1 -ci hissə
Test, 1 -ci hissə

Arduino mühitindən USB proqramçısı vasitəsi ilə hər iki ATTiny IC -ni daxil edilmiş eskiz sənədləri ilə proqramlaşdırdıqdan sonra, batareyanı günəş panelindən şarj etməzdən əvvəl prototipdəki iki nüvənin düzgün işlədiyini yoxlamağa kömək edir. İdeal olaraq bunun üçün əsas bir osiloskop, multimetr və dəzgah enerji təchizatı lazımdır.

Yoxlamalı olduğunuz ilk şey, mümkün zərərin qarşısını almaq üçün IC -ləri, batareyanı və paneli yuvalarına bağlamadan əvvəl lövhədə heç bir yerdə qısa qapanma olmamasıdır! Bunu etmənin ən asan yolu, bu vəziyyətdə çıxış cərəyanını etibarlı bir dəyərlə məhdudlaşdıra bilən bir dəzgah enerji təchizatı istifadə etməkdir. Günəş paneli giriş jak terminallarına müsbət və mənfi enerji təchizatı uclarına qoşulmuş 3 volt və 100 mA həddində olan tezgah təchizatı dəstimi istifadə etdim. Quraşdırılmış passiv komponentlərdən başqa heç nə olmadıqda, enerji təchizatının cari monitorunda danışmaq üçün heç bir cərəyan qeydə alınmamalıdır. Əhəmiyyətli bir cərəyan varsa və ya tədarük cərəyanı məhdudlaşdırırsa, bir şey səhv getdi və lövhədə yanlış polariteye malik yanlış əlaqələr və ya kondansatör olmadığından əmin olmaq üçün yoxlanılmalıdır.

Növbəti addım, gücləndirici çeviricinin düzgün işləməsini təmin etməkdir. Lövhədə enerji təchizatı hələ də bağlı vəziyyətdədir və çeviricinin dörd pininə uyğun olaraq bağlanan vint-potensiometr var, potansiyometr kiçik bir tornavida ucu ilə modulun çıxış terminalındakı gərginlik təxminən 3.8 ilə 3.9 volt arasında oxunana qədər çevrilməlidir. Bu DC dəyəri əməliyyat zamanı dəyişməyəcək, sürücü nüvəsi modulun bağlanma pimini vuraraq orta çıxış gərginliyini idarə edəcək.

Addım 8: Test, 2 -ci hissə

Test, 2 -ci hissə
Test, 2 -ci hissə
Test, 2 -ci hissə
Test, 2 -ci hissə

Növbəti yoxlanılması lazım olan şey, i2c kommunikasiyasının normal işləməsidir, lövhə dəzgahdan çıxdıqda, sensor nüvəsi IC quraşdırıla bilər. Bir osiloskopda, fiziki çipin həm pin 5, həm də pin 7 -də pulsasiya edən siqnallar olmalıdır, çipdəki dostuna məlumat göndərməyə çalışan bu i2c sürücüsü. Sürücü nüvəsi bağlandıqdan və yenidən bir osiloskopla yoxlanıldıqdan sonra hər iki xəttdə daha çox görünən impulslar ardıcıllığı olmalıdır. Bu, çiplərin düzgün ünsiyyət qurması deməkdir.

Son tam sınaq üçün batareyanın bir qədər doldurulmasına kömək edir. Tezgah təchizatı da bunu etmək üçün istifadə edilə bilər, cari limit təxminən 50 mA və gərginlik hələ də 3,8 voltdur və LiPo batareyasını bir neçə dəqiqəyə birbaşa bağlı qoyur.

Son addım, bütün sistemi sınamaqdır - panelin on və ya 15 saniyə ərzində örtülməsi halında, hər şey bağlı olduqda, işıq sürücünün PWM çıxışı vasitəsi ilə işə salınmalıdır. Panel parlaq günəş işığında olduqda, batareya gücləndirici çeviricinin çıxışından doldurulmalıdır. Qeyri -səlis məntiq şəbəkəsi, gücləndirici çeviricinin bağlama pinini idarə edən PWM xəttinə baxaraq düzgün işlədiyini yoxlamaq üçün dolayı yolla yoxlanıla bilər; Günəş işığından daha çox güc əldə edildikdə, sürücü nüvəsinin batareyaya daha çox güc göndəriləcəyinə işarə edərək, aşağı şarj vəziyyətində olan batareya ilə işıq artdıqca nəbz genişliyinin artması lazımdır!

Addım 9: Qeyri -səlis Məntiqə Əlavə

Qeyri -səlis Məntiq Əlavə
Qeyri -səlis Məntiq Əlavə

Qeyri -səlis məntiq, idarə olunan sistemin bir çox parametrlərində qeyri -müəyyənlik olan aparat sistemlərinin idarə olunmasında istifadə edilə bilən, məqsədin riyazi olaraq yazılması çətin olan çıxış nəzarət həllinə açıq bir giriş verən bir maşın öyrənmə texnikasıdır. Bu, 0 (yalan) ilə 1 (doğru) arasında bir yerə düşən məntiqi dəyərlərdən istifadə etməklə, bir insanın qeyri -müəyyənliyini ("əsasən doğru" və ya "əslində doğru deyil") daha çox ifadə etmək və boz bir sahəyə icazə verməklə əldə edilir. 100% doğru və 100% yalan olan ifadələr arasında. Bunun həyata keçirilmə yolu, əvvəlcə qərarın əsaslandırılması lazım olan giriş dəyişənlərindən nümunələr götürmək və onları "çılpaqlaşdırmaq "dır.

Hər hansı bir qeyri -səlis məntiq sisteminin ürəyi "qeyri -səlis assosiativ yaddaşdır". Bu, batareyanın şarj dövrəsi vəziyyətində 0 ilə 1 arasında dəyişən 3x3 dəyərlərin saxlandığı bir matrisi xatırladır. Matrisdəki dəyərlər, yuxarıdakı üzvlük funksiyasının müəyyən bir giriş dəstini necə uyğunlaşdırdığına bağlı olaraq, gücləndirici çeviricinin SHTDN pinini idarə edən PWM faktorunun necə olması barədə bir insanın necə düşünəcəyi ilə təxminən əlaqələndirilə bilər. Məsələn, panelin giriş gərginliyi yüksək olsa da, batareyaya çəkilən cərəyan azdırsa, bu, ehtimal ki, daha çox güc çəkilə bilər və PWM qəbulu optimal deyil və artırılmalıdır. Əksinə, panelin gərginliyi aşağı düşsə də, şarj cihazı hələ də böyük bir cərəyanı batareya enerjisinə itirməyə çalışırsa, boşa çıxacaq, buna görə PWM siqnalını gücləndiriciyə çevirmək daha yaxşıdır. Giriş siqnalları qeyri -səlis bir dəstə "qarışıq" olduqdan sonra, "bilik" hüceyrəsinin nə qədər ağır olduğunu ifadə edən çevrilmiş bir dəst yaratmaq üçün bir vektorun matrislə vurulmasına bənzər bu dəyərlərlə vurulur. matrisin son birləşmə funksiyasına daxil edilməlidir.

Xüsusi funksiyanı yerinə yetirən XOD qovşaqlarının anbar bloklarından və bir az Arduino tərzi C ++ ilə əlaqəli yaddaş, ağırlıq funksiyası və Bu istinadda təsvir olunan bloklara bənzər "fuzzifier": https://www.drdobbs.com/cpp/fuzzy-logic-in-c/184408940 etmək çox sadədir və sınaqdan keçirmək daha asandır.

Tövsiyə: