Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
http://www.elfafoorum.eu/faq.php
See more
See less

Helisignaaliga käivituv relee

Collapse
X
 
  • Filter
  • Kellaaeg
  • Show
Clear All
new posts

    Helisignaaliga käivituv relee

    Tervist, saab tegeletud ühe kõlari ehitusega ja seotud kahe led lahenduse ahelaga relee abil. Skeem peaks siis helisignaali abil lülitama releed kui muusika vait teatud aja möödudes ja uuesti lülitab relee kui muusika mängib. Sai skeem valmis tehtud ja testitud ning ei hakanud toimima. Lühiajaliselt küll ilma signaalita klõbistab aga mitte nii nagu vaja. Küsimust tekitab ka relee juures olev diood IN4002 kui see on ühendatud, siis ahel oleks lühises ja ilma siis asi toimiks. Kas selline skeem on õige või kasutavad transistorid määrava väärtusega? Varem ka skeeme jooniste järgi kokku pandud ja toiminud ilusti.
    [IMG][/IMG]

    #2
    Vs: Helisignaaliga käivituv relee

    See 1N4002 on skeemil valepidi lihtsalt.
    Suure tõenäosusega läks seetõttu viimane trans katsetamisel läbi.
    viimati muutis kasutaja vaiko; 18 11 2020, 19:55. Põhjus: Tagajärg

    Comment


      #3
      Vs: Helisignaaliga käivituv relee

      Esmalt postitatud Ints28 poolt Vaata postitust
      Küsimust tekitab ka relee juures olev diood IN4002 kui see on ühendatud, siis ahel oleks lühises ja ilma siis asi toimiks.
      See diood on ju valepidi seal. Toide jookseb läbi tema otse transistorile selga.
      Teine probleem on see, et sisendisse tahab saada suht tugevat signaali.

      Comment


        #4
        Vs: Helisignaaliga käivituv relee

        Kui ainult releed ja LED dioodi kasutasin ja selle dioodi panin siis kustus led ja diood läks tuliseks. Teistpidi seda polnud. Toide tuleb alaldis kus 600mA tugevust ainult ja toide peab siis olema 5v kogu süsteemil. Kui nüüd asja proovisin siis võib olla võimalus et viimane transistor sai haiget ? Transistorideks kasutan siis 2SA1015Y JA 2SC1815GR ja relee on AT0329B1 006-1ZW. Sisendi signaal ei tohiks ju tugevat signaali saada kuna peaks ka keskmise tugevusega ka toimima. Kogu skeem ka siis kuidas asi peaks välja nägema
        [IMG][/IMG]

        Punase plaadi skeem toimib ilusti kui juba väiksemgi signaal tuleb, siis peaks rakenduma ka relee skeem.

        Comment


          #5
          Vs: Helisignaaliga käivituv relee

          Esmalt postitatud Ints28 poolt Vaata postitust
          ... võib olla võimalus et viimane transistor sai haiget ?
          Jah, sest valepidi dioodi korral hajub kogu toiteplokist tulev võimsus dioodil ja transistoril, kui see transistor lülitub.

          Comment


            #6
            Vs: Helisignaaliga käivituv relee

            Sai siis korrektuurid skeemis tehtud aga ikka ei hakka asi toimima. Natuke ikka omale tume maa, mida jälgida kus viga võiks olla. Oli plaanis teha kolm skeemi selle lahendusega. Otsides netiavarusi leidsin sellise skeemi mis oleks analoog eelmisele aga kuis toimib peab proovima

            [IMG][/IMG]

            Comment


              #7
              Vs: Helisignaaliga käivituv relee

              Milles see mittetoimimine seisneb?
              Kui esimese transistori C-E omavahel lühistada, siis peab relee rakenduma (ka teiste transistorite korral).

              Comment


                #8
                Vs: Helisignaaliga käivituv relee

                Selles viimases skeemis puudub sisendi kaitse :O
                Op võimu toide on 5V, kas on garantii et sisendpinge ei ületa seda ?
                Sisendpinge saab ka minna massist negatiivsemaks !

                4,7V zener ja R3 rööbiti.
                Sedasi ei lähe sisendpinge üle +4,7 ja massist alla -0.8V.
                R1/R2 on siis zeneri eeltakistid.
                Veel parem kui toitest sisendi peale samuti 4,7V zener, sedasi ei lähe sisend massist negatiivsemaks,
                Selle zeneriga tuleb kaasa üks probleem!

                Kui kaua C2 peal pinge püsib kui sisendsignaal eemaldada ?

                R7 võiks olla vähemalt 1k.
                Kui C3 on tühi siis op. võim näeb väljundi ja massi vahel 100Oomi takistust (arvuta vool !),
                C3 laadumisel on C3 peal 1xVbe (vool= op.võimu maks väljundpinge - Q1Vbe / R7)
                Miks C3 vajalik ? Ebaloogiliselt suur mahtuvus, enne puhvrit juba on piisav mahtuvus.
                Relee mähise takistus ?
                Selleg abil saab minimaalse R7 arvutada.
                Hea kui Q1 oleks küllastuses.
                Miks R6 on 100k ?

                Kui sisendpinged on võrdsed ja 180* faasinihkega siis summeerub see sisendis nulliks.
                R1 ja R2 võiksid olla 20% erinevusega.

                D1 pingelangust saab kompenseerida kui U1.1 vastuside võtta D1 katoodilt.
                Mööda seda ahelat saab siis C2 tühjeneda.

                Miski ei piira kõrge sageduse võimendust...kondekas rööbiti R5 aitab seda saavutada.
                Madalat piirab filter C1, R3.
                viimati muutis kasutaja Starfish; 21 11 2020, 17:40.
                http://hparchive.com/
                https://worldradiohistory.com/index.htm

                Comment


                  #9
                  Vs: Helisignaaliga käivituv relee

                  Aga kirjuta parem selle spektrumi kuvamise Arduinole paar rida koodi vaikuse puhuks teise arduino koodist juurde, kood ju netis üleval :
                  https://www.youtube.com/watch?v=DqJKDJ-LXT0
                  Siis pole seda releega vaikuse kuulajat ja teist arduinot vajagi.

                  PS.
                  Et siis msgeq7 kivi näol on tegemist seitsme sagedusega eku kiviga, mille sagedusi kommuteeritakse järjest väljundisse.
                  https://www.sparkfun.com/datasheets/...ral/MSGEQ7.pdf
                  Teist heleduse potekat pole vaja, üks on juba olemas.

                  Kood ise selline:
                  Kood:
                  //7 BAND SPECTRUM ANALYZER MSGE07
                  //DESIGN PLATINUM 2019 www.youtube.com/c/PLATINUMKIT
                  //FACEBOOK   https://www.facebook.com/LegendMasters/
                  //YOUTUBE VIDEO DIY ACRYLIC PART.1   https://youtu.be/xDKbpwumgF8
                  //YOUTUBE VIDEO DIY ACRYLIC PART.2
                  //YOUTUBE VIDEO DIY INFINITY MIRROR  https://youtu.be/j2-0d9xBDJk
                  //THIS IS NOT FOR SALE ONLY FOR HOBBIES. 
                  //WE SHARE TO ADD A KNOWLEDGE SCIENCE. 
                  
                  
                  #include <math.h>
                  #include <Adafruit_NeoPixel.h>
                  #include "MSGEQ7V1.h"
                  Timer t;                                   
                  #define Acolor A0
                  #define Scolor A6
                  #define Pcolor A7
                  #define MAX_BRIGHTNESS 255
                  #define MIN_BRIGHTNESS 10
                  const int brightnessInPin = A2;
                  int led = 5;
                  unsigned long x; 
                  unsigned long y = 0;
                  const byte analogPin          = A1;
                  const byte strobePin          = 3;
                  const byte resetPin           = 2;
                  const byte dataPin            = 4;
                  const byte numBand            = 20;  //number of LEDs
                  const byte numTop             = 0; 
                  const int noise[]             = {20, 20, 20, 20, 20, 20, 20};
                  const float gain[]            = {2.05,  2.05,  2.05, 2.05,  2.05,   2.05,   2.05}; //Frequency GAIN
                                    //Frequency =  63Hz, 160Hz, 400Hz, 1kHz, 2.5kHz, 6.25kHz, 16kHz
                  const unsigned long dlay      = 30;
                  
                  Adafruit_NeoPixel strip = Adafruit_NeoPixel(numBand*7, dataPin, NEO_GRB + NEO_KHZ800);
                  enum audio {
                    MONO,
                    RIGHT,
                    LEFT };
                  int spectrumReadR;
                  int spectrumReadL;
                  int audio = MONO;
                  int mag = 0;
                  int numON = 0;
                  float fl_mag = 0.0;
                  int k;
                  int a;  
                  int s;  
                  int peakArray[7];
                  byte
                    peak = 0,
                    dotCount = 0;
                  
                  void setup() { 
                    Serial.begin(9600);
                    pinMode(resetPin, OUTPUT);
                    pinMode(strobePin, OUTPUT);
                    pinMode(dataPin, OUTPUT);
                    strip.begin();
                    strip.show();
                    digitalWrite(resetPin,HIGH);
                    delayMicroseconds(5);
                    digitalWrite(strobePin,HIGH);
                    delayMicroseconds(50);
                    digitalWrite(strobePin,LOW);
                    delayMicroseconds(50);
                    digitalWrite(resetPin,LOW);
                    delayMicroseconds(5);               
                    digitalWrite(strobePin,HIGH);
                    delayMicroseconds(100);
                    t.every(80,peakLower);
                  }
                  void loop() {
                  CReSet();
                  x = millis();
                  }
                  int dimH = 0;
                  int p = 0;
                  const long interval = 1;
                  void CReSet(){
                  if(x - y >= interval){
                  y = x;
                  dimH = map(p, 0, 4000, 0, 255);
                  analogWrite(led, dimH);                                 
                  if(p >= 4000){ p = 0; }
                  else { p = p + 1; }
                  }
                      int mappedValue = map(analogRead(brightnessInPin), 0, 1023, 0, 255);
                      strip.setBrightness(constrain(mappedValue, MIN_BRIGHTNESS, MAX_BRIGHTNESS));
                      a = analogRead(Acolor);
                      a = map(a, 0, 1023, 0,400);
                      s = analogRead(Scolor);
                      s = map(s, 0, 1023, 35,1500);
                      k = analogRead(Pcolor);
                      k = map(k, 0, 1023, 0,750);
                      for(byte band = 1; band <= 7; band++) {
                      digitalWrite(strobePin, LOW);
                      delayMicroseconds(40);
                      spectrumReadL = analogRead(analogPin);
                      digitalWrite(strobePin, HIGH);   
                      mag = (spectrumReadR + spectrumReadL) / 2;
                      mag = max(0, (mag - noise[band-1]));
                      fl_mag = gain[band-1] * float(mag);
                      numON = map(fl_mag, 0, 1024, 1, numBand+1);
                      anyBand(band);    
                      if(peakArray[band-1]==0) strip.setPixelColor(peakArray[band-1] + numBand*(band-1), strip.Color(0,0,0));
                      else strip.setPixelColor(peakArray[band-1] + numBand*(band-1), Wheel(map(10,0,numBand-0,k,255)));
                      t.update();
                    }
                    strip.show();
                    delay(dlay);
                  }
                  
                  void readBand(byte band) {
                    for(byte band = 1; band <= 7; band++) {
                      digitalWrite(strobePin, LOW);
                      delayMicroseconds(40);
                      spectrumReadL = analogRead(analogPin);
                      digitalWrite(strobePin, HIGH);
                      mag = (spectrumReadR + spectrumReadL) / 2;
                      mag = max(0, (mag - noise[band-1]));
                      fl_mag = gain[band-1] * float(mag);
                      numON = map(fl_mag, 0, 1024, 1, numBand+1);
                      anyBand(band);
                    }
                  }
                  
                  void anyBand(byte band) {
                    for(byte i = 0; i < numBand; i++){
                      if(i < (numON - numTop - 1)){
                        strip.setPixelColor(i + numBand*(band-1), Wheel(map(i,0,numBand-s,a,255)));
                      }
                      else if(i >= numON){
                        strip.setPixelColor(i + numBand*(band-1), strip.Color(0,0,0));
                      }
                      else{
                        if(i > peakArray[band-1]) peakArray[band-1] = i;
                      }
                    }
                  }
                  
                  void peakLower() {
                    for(byte i = 0; i < 7; i++) {
                      if(peakArray[i] > 1) peakArray[i]--; 
                      else continue;
                    }
                  }
                  
                  uint32_t Wheel(byte WheelPos) {
                    WheelPos = 255 - WheelPos;
                    if(WheelPos < 85) {
                      return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
                    }
                    if(WheelPos < 170) {
                      WheelPos -= 85;
                      return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
                    }
                    WheelPos -= 170;
                    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
                  }
                  viimati muutis kasutaja klm; 22 11 2020, 09:04. Põhjus: Lisasin koodi
                  MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                  KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                  Comment


                    #10
                    Vs: Helisignaaliga käivituv relee

                    See MSEQ7 on üks ütlemata kaval kivi Arduinoga värvimuusika ehitamiseks.
                    Tuleb jälle noorus meelde - mingi aeg kõik ehitasid värvimuusikaid.
                    Igatahes sai hiinast ära tellitud, kui kohal eks siis saab katsetada.
                    https://www.aliexpress.com/item/32860364441.html
                    MINULE EI MEELDI KUI MÕNINGAD ISIKUD MINU POSTITUSI MUUDAVAD,
                    KUI POSTITUS EI SOBI SIIS PALUKS SEE KUSTUTADA !

                    Comment


                      #11
                      Vs: Helisignaaliga käivituv relee

                      Kui vaja lihtsat lülitust teha audio signaaliga siis selle saad ilusti arduinoga kõik ära teha.
                      Vana hea 4n35 optocoupler ja sobiv takisti ja pisu koodi ja kõik timm.
                      Spectrum analyzeri jaoks ka koodi küllaga.
                      Pole rohkem vaja kui ühte arduinot.
                      "No one likes a smartass, but everyone loves being one"

                      Comment


                        #12
                        Vs: Helisignaaliga käivituv relee

                        Esmalt postitatud a1 poolt Vaata postitust
                        Kui esimese transistori C-E omavahel lühistada, siis peab relee rakenduma (ka teiste transistorite korral).
                        Sai seda varjanti proovitud ja relee ei toimetanud. viimase puhul ainult led läks natuke eredamalt põlema. Kas siis transistorides asi ja pole õiged kuigi sai samade koodidega võetud aga tähtede kombinatsioonid lõpus. Et miskit siis ikka nendega ja kontrollitud ka, et jalad õigesti ühendatud.

                        Alist kahtlane tellida, kuna võib alt minna töötamises, ühtede kividega läksin. Võtsin ametlikult pakkujalt läti kaudu ja kivid toimivad https://www.semicom.lv/SparkFun_catalog/Components/General_ICs/COM_10468_Graphic_Equalizer_Display_Filter_MSGEQ7_ 2048425_0.html


                        Mõte sain siis sellisest ehitusest ja relee tegutsemist näha siin 13 minutist https://www.youtube.com/watch?v=Yuq-sp9752g


                        Üks esimesi katsetusi siis selliselt https://www.youtube.com/watch?v=ZvWA-j5Ke_k

                        Selle skeemi abil tahaks liita veel üks led skeemi.

                        Comment


                          #13
                          Vs: Helisignaaliga käivituv relee

                          Hakkas päris huvitama see skeemi teema ja lappisin breadboardil asja kokku, dioode 4148 mul ei olnud kasutasin 5818 dioode , ülejäänud komponendid sellised kui skeemis. “Releena” kasutasin 470 oomist takistit, ja kannatamatuse tõttu panin ka esimese transistori kollektori ja plusi vahele 22k takisti. Kõik toimib ok. “Heli” Signaalina tegin 2vpp 1111hz signaali funktsiooni genekast.
                          Proovisin veel 5v releega ka, sellisega kui skeemis ja töötas, mul oli 22k takisti veel vahel siis oli delay ca 15sec

                          NB! Viimane diood (1n4002)skeemil tagurpidi. See võis ka Sinu transistori läbi kärsatada.


                          Video ka testist. Muidugi juutuub kakkus kvaliteedi maha.

                          http://www.youtube.com/shorts/4tbgZfpMh34
                          viimati muutis kasutaja Firefox; 23 11 2020, 18:22.
                          "No one likes a smartass, but everyone loves being one"

                          Comment


                            #14
                            Vs: Helisignaaliga käivituv relee

                            Suured tänud skeemi katsetamises, asi toimib nii nagu peab. Kokku panekul siis ikka teen ise miski näpuka sisse kuidagi. Tegin rohkem transitoride asja selgeks ja sai skeemist rohkem aru. Täna sai uuesti skeem ehitatud üks haaval ja teisest transist läks kuidagi klõbisevaks asi, ei olnud enam püsiv. 220 uf kondekas lahti, siis nagu toimis aga kui ühendatud siis ei toimind. Hiljem saan pildi panna kokku panekust.

                            Comment


                              #15
                              Vs: Helisignaaliga käivituv relee

                              Tagant ettepoole tulles:
                              viimase transistori C-E kokku: LED põleb
                              viimase transistori B-E kokku: LED ei põle
                              eelviimase transistori C-E kokku: LED põleb
                              eelviimase transistori B-E kokku: LED ei põle
                              esimese transistori C-E kokku: LED põleb
                              esimese transistori B-E kokku: LED ei põle (põlevast olekust kustunud olekusse minek toimub viitega, 220uF kondeka puhul 90s)

                              Kuniks toimub testimine, asjast arusaamine, soovitan selle kondeka väärtuse valida oluliselt väiksema.
                              Vahepealne olek (põleb veidi), viitab veale skeemis (jätame ülemineku ühest seisust teise arvestamata).

                              LED põleb olekus:
                              viimase transistori B pinge: 0,7V
                              eelviimase transistori B pinge: toide-0,7V
                              esimese transistori B pinge: 0,7V

                              Comment

                              Working...
                              X