Teade

Collapse

Foorumi reeglid.

Foorumi reeglistik on uuendatud. Palume tutvuda ja arvesse võtta.
See more
See less

transistoridel 5V loogika inverter

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

    transistoridel 5V loogika inverter

    Tervitused

    Olen proovinud erinevaid skeemilahendusi NPN transistoritega, aga üksgi pole siiamaani tööle hakanud korralikult...

    Eesmärk oleks invertida signaali, millega tüüritakse 2n2222 transistorit.

    Tuleb AVR'ist signaal, mis liigub ühte juhet pidi 2n2222(1) baasi ja peaks minema läbi inverteri 2n2222(2) baasi, et saada siis nende kahe transiga pisikest togelimist mängida (nokk kinni-saba lahti mäng).

    Aga kuidagi ei taha see inversioon puhtalt läbi tulla, et oleks korralik 0V ja 5V (tulevikus on plaan 5V alandada kogu skeemis 3V peale).

    Kas on kellelgi mõni idee, kuidas seda inverterit kõige parem lahendada oleks? mingit loogikakivi skeemile mahutama ma ei hakka, vaja ainult ühte signaali tüürida nii. Oleks hea, kui skeem koosneks ainult "tavalistest" detailidest (NPN,PNP,R,C,D).

    Tänud ette.

    PS asi läheb 7segment displeisid "multiplexima". AVR'il on pinne niigi vähe (8). sealt juurde ei pigista kohe kuidagi.


    #2
    Vs: transistoridel 5V loogika inverter

    Mis nende 2n2222-te järel on? Kui tavalised LED-id, siis neid saab 2 tükki panna AVR-i järele vabalt: üks pin'i ja maa vahele, teine pin'i ja toite vahele. Eeltakistid muidugi kohustuslikud.

    Loogikakive müüakse ka ühe elemendi kaupa.

    Aga kui transide peale teha, siis võtaks ehk loogikatasemetel töötavad N-mosfet'i ja P-mosfeti ning ühendaks nad klassikaliseks CMOS inverteriks?
    If you think education is expensive, try ignorance.

    Comment


      #3
      Vs: transistoridel 5V loogika inverter

      transide taga on 7segmendid seega neid otse ei ühenda naljalt (7segmendi commonid). Mosfete ei tahaks ka kasutada...

      Aga uurin seda 1elemendilist kivi ka... äkki oskad soovitada?

      EDIT: ok leidsin need üheelemendised chipid ka üles. täitsa sobiksid... aga tellimine on aeglane ja need saaks kätte alles nädalapärast... ei jaksa oodata äkki saab mingi muu skeemilahenduse niikaua protoplaadipeal valmis. lõppskeemi pistaks vist siis jah selle.
      viimati muutis kasutaja bloody-orc; 05 m 2007, 21:19.

      Comment


        #4
        Vs: transistoridel 5V loogika inverter

        Esmalt postitatud bloody-orc poolt
        Tuleb AVR'ist signaal, mis liigub ühte juhet pidi 2n2222(1) baasi ja peaks minema läbi inverteri 2n2222(2) baasi, et saada siis nende kahe transiga pisikest togelimist mängida (nokk kinni-saba lahti mäng).
        Ma ei tea, kas sain su mõttest õigesti aru kuid kireldatule peaks vastama skeem, kus transi 1 baas läheb läbi 1k AVRi peale, emitter maha ja kollektor displeile. Eeldades, et displei kaudu saab kollektor pinge peale (LED ju päripidi), võtaks transi 2 baasi läbi 1k transi 1 kollektorilt. Signaal on inverteeritud, nagu nõutakse.
        - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
        - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

        Comment


          #5
          Vs: transistoridel 5V loogika inverter

          Huvitav mõttekäik! Mulle meeldib. testin.

          EDIT:
          ei taha töötada.. võibolla koodi vmt viga...

          skeem on selline:
          AVR->74HC595N->7segment GND pins->positive common->2n2222->tagasi AVR läbi inverteri (või ilma).

          Lisan koodi:

          Kood:
          #include <avr/io.h>
          #include <util/delay.h>
          #include <math.h>
          
          #define CLK     0
          #define CLKP    PORTB
          #define DATA     1
          #define DATAP    PORTB
          #define LATCH     2
          #define LATCHP    PORTB
          
          #define DATA1 DATAP |= (1<<DATA);
          #define DATA0 DATAP &= ~(1<<DATA);
          #define DATA2 DATAP ^= (1<<DATA)
          
          
          const uint8_t seg_values[] = {     0b00010001, 0b01110111, 0b00101001, 0b00100011, 0b01000111,                            
          
                                             0b10000011, 0b10000001, 0b00110111, 0b00000001, 0b00000011};
          
          #define nr1  PORTB &= ~_BV(4); 
          #define nr10   PORTB |=  _BV(4); 
          
          float adc_value;
          float T;
          float R,tmp2;
          uint8_t temp1,temps,temp10;
          uint8_t x;
          uint8_t dta;
          uint8_t temperature;
           
           //#define latch LATCHP |=  (1<<LATCH);_delay_us(10); LATCHP &= ~(1<<LATCH);_delay_us(10);
          void latch()
          {
              LATCHP |=  (1<<LATCH);
              _delay_us(5);
              LATCHP &= ~(1<<LATCH);
              _delay_us(5);
          }
          
          //#define clock CLKP |=  (1<<CLK);  _delay_us(1); CLKP &= ~(1<<CLK);  _delay_us(1);
          void clock()
          {
              CLKP |=  (1<<CLK);
              _delay_us(5);
              CLKP &= ~(1<<CLK);
              _delay_us(5);
          }
          
          void send_data ()
          {
              for (x = 128;x > 0; x = x/2)
              {
                  if((dta) & x)
                  {
                      DATA1;
                  }
                  else
                  {
                      DATA0;
                  }
                  clock();
              }
          }
          
          void read_adc(void)
          {
              ADCSRA |= (1<<ADSC);
              while ((ADCSRA & _BV(ADSC))!=0)
                  ;
              adc_value = ADC;
          }
          
          int main (void)
          {
              DDRB = 0b00010111;
              PORTB = 0;
                  
              ADCSRA = (1<<ADEN);
              ADMUX = 3;
          
          //    nr0;
          
              
              //T = -185.0853789+0.5336179296e-1*sqrt(-3240031.000+9370*R[t])
              //R = -1000*adc/(-1023+adc)
          
              while (1==1)
              {
          /*        read_adc();
              
                  R= -990*adc_value/(-1023+adc_value);
                  tmp2 = 0.0534*sqrt(-3240000+9370*R);
                  T = -185+tmp2;
                  temperature = T;
          */
                  temperature = 12;        
                  nr1;
                  dta = seg_values[temp1];
                  send_data();
                  latch();
                  _delay_ms(100);_delay_ms(100);_delay_ms(100);_delay_ms(100);_delay_ms(100);
          //debugimiseks aint
          
                  if (temperature > 100)
                  {
                      //nr100;
                      temperature = temperature-100;
                  }
                  else
                  {
                      //nr0;
                      temp10 = temperature/10;     //10's
                      temps = temp10*10;
                      temp1= temperature-temps; //1's
                  
                      nr10;    
                      dta = seg_values[temp10];    
                      send_data();
                      latch();
                  }    
                  _delay_ms(100);_delay_ms(100);_delay_ms(100);_delay_ms(100);_delay_ms(100); //debugimiseks aint
                  
                  
              }
              
          }
          &#228;kki keegileiab vea.
          viimati muutis kasutaja bloody-orc; 05 m 2007, 22:12.

          Comment


            #6
            Vs: transistoridel 5V loogika inverter

            nagu aru sain, tahad 2 kohalist 7segment LEDi t&#252;&#252;rida nii et common signaalid on omavahel inverteeritud. seal pole mingit kunsti, &#252;ht transsi t&#252;&#252;ri AVRga, teist esimese transistori kollektorist. takistid baasiahelas muidugi vajalikud ( aga v&#246;ib olla kasutad digitaaltransse, neil takid integreeritud). "l&#228;bihelendumise" v&#228;ltimiseks on vaja et segmendid kustutatakse enne kui CC ( common cathode) &#252;mber l&#252;litad. samuti v&#246;iks olla esimese transi kollektorist + toitesse takisti, see tagaks et teise transi baasivool tuleb l&#228;bi takisti , mitte l&#228;bi LEDide - taas tausthelendumise v&#228;ltimiseks.
            sorry, Felch j&#246;udis m&#246;ttega juba ette.

            Comment


              #7
              Vs: transistoridel 5V loogika inverter

              Esmalt postitatud bloody-orc poolt
              Mosfete ei tahaks ka kasutada...
              Aga vaata joonist paremal - http://en.wikipedia.org/wiki/Cmos - elegantne!
              If you think education is expensive, try ignorance.

              Comment


                #8
                Vs: transistoridel 5V loogika inverter

                Oma kogemused ühe displei ehitamisel ainult kinnitavad Raivo märkust "läbihelendumise" kohta. Tärgi vahetamisel on vaja indikaatorid kustutada, pinge nulli viia. Osad LED-maatriksite ohjureid (lahe sõna, kas pole) oskavad seda. Blanking-pinni lahti võtmine tekitas inditseeritava märgi taha varju.
                - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                Comment


                  #9
                  Re: Vs: transistoridel 5V loogika inverter

                  ok m&#228;ssan homme edasi. praegu t&#246;&#246;le ei saanud (hiline aeg ka juba).
                  v&#245;tan soovitusi kuulda.
                  T&#228;nud idee eest ennem displeid v&#228;lja l&#252;lida, kui segmenti vahetan...praegu helendas k&#252;ll v&#228;he l&#228;bi (st enne, kui t&#246;&#246;tas).

                  andreie: Mosfette ei taha kasutadasellep&#228;rast, et neid mul sahtlip&#245;hjas ei vedele kahjuks. ja kui ostma hakkan, siis juba pindmontaaž &#252;hesilindriline inverterkivi .

                  Comment


                    #10
                    Re: Vs: transistoridel 5V loogika inverter

                    Nii tegin siin varahommikul paar katset, mis &#246;&#246;sel p&#228;he kargasid.
                    Esiteks tuli meelde, et mu 2n2222'd on "tagurpidi". kollektor 5V's ja emitter lendab LED'idesse. 10k pulldown on ka emitteri k&#252;ljes.
                    signaal baasi tuleb l&#228;bi 1k AVR'ist.

                    seega see raibe ei inverdi kahjuks...

                    egas midagi, v&#245;tsin teise transi ja &#252;hendasin tolle baasi selle sama 1k k&#252;lge, mis AVR'ist tuleb, tolle emitteri maha ja kollektori pistsin teise 2n2222'e baasi k&#252;lge (e invertertransistor peaks siis selle 2n2222''e v&#228;lja l&#252;litama e maha t&#245;mbama) ja 1k trans on 5V ja selle sama kollektori vahel (pullup, et kui trans on v&#228;ljas, siis 2n2222 oma 5V k&#228;tte saaks ja avaneks.

                    aga v&#245;ta n&#228;pust, idees peaksnagu t&#246;&#246;tama, aga kui transi sisse pistan, siis ei saa see mitte inverditud 2n2222 enam baasisignaali k&#228;tte... k&#245;ik l&#228;heks nagu sinna inverterisse ja kaoks &#228;ra. pinge langeks nagu tugevalt alla 3V (sest ka loogikaanal&#252;saator, mis 3V'ni t&#246;&#246;tab seal pulsse ei n&#228;e). inverter transistor oleks nagu korras ja on kindlasti &#245;iget pidi.


                    EDIT: ahh loll lolll mina... baasi k&#252;lge otse muidugi ei saa teist panna... pistsin sinna pisikese takisti veel vahele (AVR-1k-baas-100-2n2222 baas) ja asi t&#246;&#246;tab. Enam ei p&#245;le numbrid ka l&#228;bi (t&#228;nks idee eest Raivo und Felch)
                    viimati muutis kasutaja bloody-orc; 06 m 2007, 10:07.

                    Comment


                      #11
                      Vs: Re: Vs: transistoridel 5V loogika inverter

                      egas midagi. asi t&#246;&#246;tab &#252;he transi peal inverteriga nii mis m&#252;hiseb pista ainult karpi ja seinale

                      Comment


                        #12
                        Vs: transistoridel 5V loogika inverter

                        et LEDid on ühise anoodiga ( "+" ga ) , sii olnuks ökonoomsem kasutada pnp transistore. praegu kulus 3 tk, siis piisaks 2-st.

                        Comment


                          #13
                          Vs: transistoridel 5V loogika inverter

                          Raivol õigus. Nt. nii oleks ka saanud teha. http://parsek.yf.ttu.ee/~felc/indik.JPG
                          - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                          - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                          Comment


                            #14
                            Vs: transistoridel 5V loogika inverter

                            seda k&#252;ll, aga polnud PNP'sid k&#228;ep&#228;rast v&#245;tta (pindmontaažis) kuna npn'id olid olemas, siis k&#252;tsin nendega. 18mA skeemi peale @ 2xAA pole paha v&#245;iks k&#252;ll heledab olla, aga k&#245;ike head ka korraga ei saa...

                            PS &#228;kki teab keegi, mitu Ah'd on 3V button akud? neid peaks olema lihtne laadida ju...

                            Comment


                              #15
                              Vs: transistoridel 5V loogika inverter

                              Esmalt postitatud bloody-orc poolt
                              PS äkki teab keegi, mitu Ah'd on 3V button akud? neid peaks olema lihtne laadida ju...
                              Neid on ju erinevaid...
                              - Vend Hieronymus tunneb Motorola toodete nimekirja kõige paremini, las tema ütleb.
                              - Motorola poolt loodud kiipide hulgas ei ole teda üles tähendatud. - Tähendab: ta on Intelist!

                              Comment

                              Working...
                              X