Teade

Collapse

Foorumi reeglid.

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

pinge inverteri skeem 555 baasil

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

    pinge inverteri skeem 555 baasil

    Tervitused. ehitasin omale 555 baasil pinge inverteri. kasutan seda LCD kontrasi jaoks patarei toitel.
    skeem ise on selline: http://www.aaroncake.net/circuits/vinvertr.htm
    kontrast tahab minu teada ainult 1mA (mõõtsin, siis oli 0,9mA). LCD on hd44780 baasil.

    välja tuleb +0,2V sellest 555 skeemist. aegajalt ka nati negatiivsemat aga mitte kunagi lubatud -4V (pingelang pidi olema umbes 1V).

    On kellelgi mõni mõte, mis võib olla valesti?

    plaat kus see skeemike sees on on siin: http://rellermaa.pri.ee/saunatemp/ (üleval paremal peaks olema kõik jupid).


    #2
    tegemist on multivibraatoriga + pingekordisti dioodide-kondensaatoritega.
    kui sul kasvöi 1 vaba pinn kontrolleril on, siis viska see 555 minema, sea kontrolleri karv katkestuse vöi taimeriga genereerima ja yhenda sinna otsa alaldi ( st see osa viidatud skeemist, mis on pinn3 kylge 555-l yhendatud, see on D1,D2,C2,C3). ja ongi köik.
    aga kui hirmsasti tahad ikka 555ga teha siis vaata, kas ta genereerib - pinn3 peal,
    ja vaata ka kas dioodid öiget pidi.

    Comment


      #3
      kivil pinne vabu kõll aga mälu on 0,1% vaba. las too 555 sääl olla. aga vot ikka ei tööta. vaatasin kõik dioodid, konded jmt jama üle aga ikka midagi. kui mingit koormust ei ole siis on -0,4V, kui LCD kõlge ühendan on kohe +1,2V. mõni arvamus veel äkki?

      Comment


        #4
        Palun parandage mind, kui ma eksin, aga mälu järgi on 555-si kahte sorti: avatud kollektoriga ja push-pull väljundiga... kui sul on esimest laadi kivi, siis ei peagi töötama, vaja väljund tõmmata näiteks 1kOhm takistiga toitesse - proovi.

        Muidu:
        1) võtta datasheet ette
        2) kruttida 555-e sagedus näiteks 500Hz peale ja kasutada arvuti helikaarti ossina.
        If you think education is expensive, try ignorance.

        Comment


          #5
          Probleem ehk selles, et tegemist vist CMOS kiviga e. TLC555, ICM7555 jne.
          Siin kirjutatakse http://www.uoguelph.ca/~antoon/gadgets/555/555.html
          et CMOS-id ei anna piisavalt voolu välja;
          For comparison, the regular 555 can easily deliver a 200mA output
          versus 5 to 50mA for the 7555.


          Väljundis peaks olema korralik meander
          http://www.ferromel.de/tr6/555b_u.gif
          mis nullist toiteni käib, et max alaldatud pinget saada.
          Takisti väljundist toitesse võiks panna küll.

          Sellise skeemiga
          http://www.uoguelph.ca/~antoon/circ/pwm555.html
          saaks hästi meandrit teha ja näeks näitlikult kuidas pote keeramine
          koormatud väljundpinget mõjutab e. kui oluline on generaatori väljundpinge
          sümmeetria tegelikult.

          CMOS kivi puhul
          http://www.uoguelph.ca/~antoon/circ/555dcac.html
          võiks ühenda alaldi transistorite emitteritesse C4 asemele.
          C2 valides saab sagedust muuta.
          Natuke jändamist ja pigistaks maksimaalse kasuteguri välja.
          CMOS skeemides kasutatakse tavaliselt suuremaid takistui ja
          väiksemaid kondnsaatoreid näiteks sama sageduse tegemiseks.


          Igasugust 555-ega tehtud värki.
          http://www.elektronik-kompendium.de/public...erer/ast555.htm
          http://www.g8ajn.tv/technical.htm
          http://www.robotroom.com/Infrared555.htm
          http://www.led-treiber.de/html/getaktete_treiber.html
          http://www.pbv.thunder-bay.on.ca/WellSensor.html
          http://www.elektronik-kompendium.de/public...aerer/st555.htm
          http://www.belza.cz/toys/xmt.htm

          Comment


            #6
            no ma ei saa aru, mis kurat sellel asjal viga on... panin skeemi ideaalselt kokku täpselt nagu datasheedis oli. kõik takistid on paigas (ka see, mis outputis on). kondakaid proovisin igasuguseid nii lüüte kui keraamilisi, nii nano kui mikro ja isegi milliFaradeid aga mida ei tule on heli.
            outputti olen ühendand 2 piesot (see kõlari sarnane mitte see huilgav) aga ei midagi. proovisin ka LED'i aga ka see püsis pidevalt heledana.

            kusjuures on tekkinud 2 anomaaliat. kui ühendan kõlari ja jätan ta sinna seisma mingiks 5'ks minutiks või nii, siis läheb kõlar KUUMAKS!.
            teine on see, et kui ma kondeka eemaldan, siis jääb led ikka põlema, mis ei tohiks nii olla (minu teada).

            proovin ka pin 5'te mingi kondeka pista, äkki mõjutab midagi

            Comment


              #7
              Originally posted by bloody-orc@May 22 2006, 16:43
              proovisin ka LED'i aga ka see püsis pidevalt heledana.

              kusjuures on tekkinud 2 anomaaliat. kui ühendan kõlari ja jätan ta sinna seisma mingiks 5'ks minutiks või nii, siis läheb kõlar KUUMAKS!.
              teine on see, et kui ma kondeka eemaldan, siis jääb led ikka põlema, mis ei tohiks nii olla (minu teada).

              Nagu ma aru saan ossi ei ole?
              Kui skeem kõrge sagedusega võngub ei saa LEDist ega valjukast midagi aru.

              LEDILE PEAB TAKISTI JÄRJESTIKKU PANEMA JA MIS KÕLARIGA TÄPSEMALT TEGEMIST? TAVALISE KÕLARIGA PEAKS ELEKTROLÜÜDI JÄRJESTIKKU PANEMA.
              Kui panid LEDi ilma takita ja tavalise kõlari ilma kondekata on kivi tõenäoliselt tuksis. Kui kõlar läheb kuumaks ja kivi ei lähe on kivi tõenäoliselt vingelt lühises.
              Tester ikka käepärast on, mõõda ommetriga lahtist väljundit nulli ja toite suhtes
              mõlematpidi polaarsusega (testri otsi omavahel vahetades), kui näitab mõlematpidi
              ühesugust takistust on kivi tõenäoliselt pees...
              Mõõtma peab testri oomide piirkonnas ja pingestamata skaami.

              Mis kiviga ikkagi tegemist, CMOS variant võis staatilisest sirakast
              kohe algul läbi kärsata siis võib elu lõpuni kondesid ja takke vahetada.

              Maketi tegemisel vaja kindlasti mikroskeemi pesa kasutada,
              pistad teise kivi sisse ja asi selge.
              Paned vana tagasi ja jälle selge, et tuksis.
              Muidu asjatut aja raiskamist ja kirumist palju.

              Comment


                #8
                ok selge. mõõtsin takistusi igate pidi on takistus mini digimultimeetriga 1 e hüperpalju. piesot jooksutasin jah ilma lüüdita aga led oli 1k takiga ilusti ikka. (ei ole varem piesot kasutand seega ei teadnud seda lüüti sinna toppida). eks siis homme liigun tevalo poole toon oma ossi jupid ära ja lisan siis ka ühe või 2 555'te juurde.



                Muidu kui kellelgil on mõni hea moodus kuidas atmega tiny26L Hertse genereerima panna mingist jalast, siis kuulan suure huviga. probleemiks on vaid see, et roomi on väga vähe. kuid lodoan, et see väga palju ruumi ei võta. vabu pine näeb skeemist http://rellermaa.pri.ee/saunatemp (pin 8 on juba kasutuses).

                Comment


                  #9
                  Originally posted by bloody-orc@May 22 2006, 18:18
                  ok selge. mõõtsin takistusi igate pidi on takistus mini digimultimeetriga 1 e hüperpalju. piesot jooksutasin jah ilma lüüdita aga led oli 1k takiga ilusti ikka. (ei ole varem piesot kasutand seega ei teadnud seda lüüti sinna toppida). eks siis homme liigun tevalo poole toon oma ossi jupid ära ja lisan siis ka ühe või 2 555'te juurde.



                  Muidu kui kellelgil on mõni hea moodus kuidas atmega tiny26L Hertse genereerima panna mingist jalast, siis kuulan suure huviga. probleemiks on vaid see, et roomi on väga vähe. kuid lodoan, et see väga palju ruumi ei võta. vabu pine näeb skeemist http://rellermaa.pri.ee/saunatemp (pin 8 on juba kasutuses).
                  Pieso nagu kondekat ei vaja, tavaline valjukas küll.
                  Oss on minu kõnepruugus ostsilloskoop.

                  Kui TINY-dega tegeled peaksid parasjagu proff olema
                  aga staatikapoisi karvane käsi ei vali ohvrit.

                  Comment


                    #10
                    Originally posted by bloody-orc@May 22 2006, 16:43
                    no ma ei saa aru, mis kurat sellel asjal viga on... panin skeemi ideaalselt kokku täpselt nagu datasheedis oli. kõik takistid on paigas (ka see, mis outputis on). kondakaid proovisin igasuguseid nii lüüte kui keraamilisi, nii nano kui mikro ja isegi milliFaradeid aga mida ei tule on heli.
                    outputti olen ühendand 2 piesot (see kõlari sarnane mitte see huilgav) aga ei midagi. proovisin ka LED'i aga ka see püsis pidevalt heledana.

                    kusjuures on tekkinud 2 anomaaliat. kui ühendan kõlari ja jätan ta sinna seisma mingiks 5'ks minutiks või nii, siis läheb kõlar KUUMAKS!.
                    teine on see, et kui ma kondeka eemaldan, siis jääb led ikka põlema, mis ei tohiks nii olla (minu teada).

                    proovin ka pin 5'te mingi kondeka pista, äkki mõjutab midagi
                    Kui led koguaeg põleb, siis järelikult on väljundis alalisvool. Skeemis viga/kivi läbi.
                    Heli- ja valgustehnika rent, müük, ost, komplekteerimine, ehitus ning hooldus (küsida võib kõike)
                    Andres, djhut.pri.ee
                    59103952

                    Comment


                      #11
                      proffiks ma end just nimetada ei saa. isegi kogenuks mitte AVR'ide puhul. tiny lihtsalt tundus optimaalne valik selle projekti jaoks, sest programm mahtus täpselt sisse (kui seda 555'e jama poleks tulnud). nüüd tuleb kuidagi seda programmi mahtu vähendada. sellest mingi 50% võtab enda alla math lib mingi ruutjuure pärast! äkki keegi teab mõnda väiksemat viisi, kuidas ruutjuur arvust kätte saada. täpsus pole ülioluline, kuigi seda võiks ikkagi olla. lookuptable läheks liiga suureks jälle.

                      Comment


                        #12
                        kui nyyd skeemist öigesiti aru saan siis mingi OC1x otstest on vist vaba ? paned prose mingit paari kHz-st PWMi sellest OC jalast välja ajama.
                        pole just 100 kindel aga :
                        OCR1A = 0x80;
                        TCCR1A = 0x40;
                        TCCR1B = 5;
                        peaks tekitama pinnil OC1A ( PB0) signaali 1/ 4096 prose taktsagedusest.

                        vöimalik, et sul mingi taimer juba tekitab katkestusi , sel juhul vöid suvalise IO pinni genereerima panna:
                        PORTB^=( 1<<mitmes_bitt);

                        pordi otsa pane siis see dioodide-kondedega pingemuundur.
                        ise kasutan sellist skeemi :
                        http://www.hot.ee/raivolei/pwm2lcd.jpg
                        eeliseks on ,et softis saab kontrastsust reguleerida ( termokompenseerida).

                        Comment


                          #13
                          Sorry, et ma ennast kordan, aga ruutjuure arvutamise lingi ma just ühte teemasse panin, 10 rida koodi täisarvude peale. Täisarvudega tehted võtavad mikrokontrolleri programmimälus oluliselt vähem ruumi kui ujukomaarvudega tehted.
                          If you think education is expensive, try ignorance.

                          Comment


                            #14
                            tänud vastuste eest. tegin oma koodis mingeid muudatusi ja sain pisut mälu tagasi

                            juhul kui kedagi huvitab, milline mu koodijupp välja näeb praegu testimatta kujul siis selle leiab alt. Kui kellelgi on mõni hea idee, siis oleks tore, kui seda minuga jagaks. panin tähele ka seda et long on suurem kui float tiny 26&#39;s (floatiga mahtus ära aga kui asendasin 2 floati longiga, siis läks 10 wordi üle).

                            Compiled on CodeVision AVR
                            Kood:
                            /*
                            Project &#58; saunatemp
                            Version &#58; 23
                            Date  &#58; 10.05.2006
                            Author &#58; Rain Ellermaa              
                                          
                            Comments&#58; KTC81-210 ADC8s ja pushbutton INT0is
                            
                            Chip type      &#58; ATtiny26L
                            Clock frequency   &#58; 4.000000 MHz
                            Memory model    &#58; Tiny
                            External SRAM size &#58; 0
                            Data Stack size   &#58; 24
                            *****************************************************/
                            
                            #include &#60;tiny26.h&#62;
                            
                            // Alphanumeric LCD Module functions
                            #asm
                              .equ __lcd_port=0x1B;PORTA
                            #endasm
                            
                            #include &#60;lcd.h&#62;
                            #include &#60;stdlib.h&#62;
                            #include &#60;delay.h&#62;
                            #include &#60;math.h&#62;
                            
                            bit todisplay; 
                            
                            char lcd_buffer&#91;16&#93;; 
                            char maxtemp;
                            
                            int adc_data;
                                  
                            unsigned char t;
                            unsigned char x;
                            
                            
                            //int todisplay;
                            #define ADC_VREF_TYPE 0x00
                            
                            // External Interrupt 0 service routine
                            interrupt &#91;EXT_INT0&#93; void ext_int0_isr&#40;void&#41;
                            {
                              todisplay++;
                              delay_us&#40;100&#41;;
                            }
                            
                            // ADC interrupt service routine
                            interrupt &#91;ADC_INT&#93; void adc_isr&#40;void&#41;
                            {
                            adc_data = ADCW; 
                            }
                            
                            unsigned int read_adc&#40;unsigned int adc_input&#41;
                            {
                            ADMUX=adc_input|ADC_VREF_TYPE;
                            #asm
                              in  r30,mcucr
                              cbr r30,__sm_mask
                              sbr r30,__se_bit
                              out mcucr,r30
                              sleep
                              cbr r30,__se_bit
                              out mcucr,r30
                            #endasm
                            return adc_data;
                            }
                            
                            int writelcd&#40;float y&#41;
                            {
                              itoa&#40;y,lcd_buffer&#41;;
                              lcd_clear&#40;&#41;;
                              lcd_puts&#40;lcd_buffer&#41;;  
                            }
                              
                            void main&#40;void&#41;
                            {
                            PORTA=0x00;
                            DDRA=0xFF;
                            
                            PORTB=0x00;
                            DDRB=0x00;
                            
                            //interrupts
                            GIMSK=0x40;
                            MCUCR=0x03;
                            GIFR=0x40;
                            
                            //Anaoog comp disable
                            ACSR=0x80;
                            
                            //ADC
                            ADMUX=ADC_VREF_TYPE;
                            ADCSR=0x8D;
                            
                            //ossilleeriv OC1A
                            OCR1A = 0x80;
                            TCCR1A = 0x40;
                            TCCR1B = 5;
                            
                            // LCD module initialization
                            lcd_init&#40;8&#41;;
                            
                            // Global enable interrupts
                            #asm&#40;&#34;sei&#34;&#41;
                              
                            
                             while &#40;1==1&#41;
                             {
                              delay_ms&#40;200&#41;;
                              if &#40;todisplay == 0&#41;
                              {
                               x=read_adc&#40;8&#41;;
                               t=&#40;133404/10000&#41;*&#40;&#40;387195/100000&#41;*&#40;sqrt&#40;&#40;1*&#40;-&#40;&#40;5600*&#40;&#40;x*5&#41;/1023&#41;&#41;/
                            /&#40;&#40;&#40;x*5&#41;/1023&#41;-5&#41;&#41;&#41;-&#40;345788/1000&#41;&#41;&#41;&#41;-&#40;13874/1000&#41;&#41;; //&#40;rida on foorumi jaoks poolitatud&#41;
                               
                               if &#40;t&#62;maxtemp&#41;
                                 maxtemp=t;
                               
                               writelcd&#40;t&#41;;
                               // writelcd&#40;&#39;C&#39;&#41;; 
                              }
                              else 
                              {
                               writelcd&#40;maxtemp&#41;;
                              }
                              
                             };
                            }

                            Comment


                              #15
                              while (1) asendamine for(; peaks kah paar baiti tagasi andma.

                              Comment

                              Working...
                              X