sâmbătă, 9 ianuarie 2010

4.Inversor cu tranzistor bipolar

Ideea acestui montaj este urmatoarea: daca avem o valoare de “1” logic atunci la iesire vom avea “0” deoarece baza este un potential mai mic decat pe colector dar mai mare decat pe emitor. Astfel curentul ajunge in emitor(tranzistor deschis) deci in GND si pe Vout care este raportat la GND vom avea 0(Atentie masurarea se face de fiecare data intre Vout si GND, in acest caz se afla la celasi potential deci diferenta lor(Uab=Vb-Va) va fi ~0). Daca la intrare avem “0” atunci tranzistorul este blocat, pe GND avem ~0(chiar mai putin vezi sursa Eb) si astefel diferenta de potential ne asigura nivelul “1”(este generat de catre sursa Ec).
Condensatoarul are rol de accelerare inacarcandu-se foarte rapid si apoi descarcandu-se pe R.
3.Redresor cu filtru, Redresor cu dioda Zenner, Stabilizator cu reactie fara amplificator de reactie(cu trenzistor)
Redresor cu filtru

Condensatorul a fost adaugat pentru a se incarca pe alternata pozitiva si se descarca in circuit cand tensiunea scade sub tensiunea de incarcare( pe alternanta negativa si pe coborarea de la amplitudinea maxima)

Redresor cu dioda Zenner

Dioda Zenner la fel ca diodele obisnuite permit trecerea curentului daca sunt polarizate direct. Insa daca la diodele obisnuite prin polarizare inversa se blocheaza la Zenner se cauta tocmai acel curent invers de polarizare care duce la o strapungere a diodei. De accea Zenner se pune pe iesire si se polarizeaza invers pentru ca in zona Zenner avem o caracteristica a curentului-tensiune foarte stabila.
(Atentie la montarea diodei Zenner, vezi si efectul de avalansa ce apare la Zenner pe polarizare inversa)

Stabilizator cu reactie fara amplificator de reactie(cu trenzistor)

Tranzistorul se foloseste pentru functia lui de intrerupator comandat, se foloseste in functionare normala(reg activa normala/saturatie) care se obtine prin urmatoarele relatii Vcb>Vbe(V potential) care ne asigura o diferenta de potential Vce. In cazul de fata acest potential este dat de variatia potentialului de la baza tranzistorului, astfel: daca Vout(= Vzenner=Vrl) creste atunci potentialul la baza va creste ceea ce va duce ca Vce sa scada; daca va creste este invers... (vezi definirea zonei normale: Ve~Vb+6)
2.Redresor mono si dubla alternanta

In cazul redresorului mono alternanta se cunoaste faptul ca dioda se deschide la o tensiune prag de 0.6-0.7V in cazul polarizarii directe + la anod si – la catod. In cazul semnalului sinusoidal dioda este polarizata direct pe alternanta pozitiva si astfel la iesire(caderea de tensiune pe R) avem o tensiune comparabila cu cea de intrare. In cazul alternatei negative dioda este polarizata invers si este blocata, tensiunea fiind aproximativ 0.

Pentru redresor dubla alternanta se foloseste un grup de diode numit si punte redresoare. Pentru alternanta pozitiva sunt deschise diodele D1 si D3 si blocate restul. In cazul alternantei negative sunt deschise dodele D2 si D4. (polarizarea diodelor se face in acest caz prin aplicarea la anod a unei tensiuni aprox 0 si la catod a uneia negativa, ceea ce scade tensiunea de prag permitand deschiderea ei)
1. a)RC trece-sus si b)RC trece-jos

Tensiunea generata de sursa este data de suma caderilor de tensiune pe C si pe R. In cazul a) tensiunea de iesire este data de caderea pe R, in cazul b) de caderea pe condensator.
In ambele cazuri folosind definitia reactantei capacitive si a legii lui Ohm se observa ca o frecventa mare duce la o tensiune pe C mica, si pentru frecvente mici o tensiune mare. Sa nu uitam ca tensiunea de intrare este suma celor 2 caderi, astefel putem afla caderea de tensiune pe R; la frecvente mici aceasta este mare iar la frecvente mari este mica.(F frecventa Uc,Ur caderi de tensiune)

marți, 5 ianuarie 2010

Hello,
va prezint model de citire din fisier a unei matrici
utilizand acest model de citire a unui fisier puteti sa creeati mai departe si o arhiva jar

fisierul contine pe prima linie un sir de numere,iar pe urmatoarele lini contine o matrice de int.citirea din fisier se face linie cu linie;fiecare linie se citeste ca un string iar apoi din string se extrag numai cifrele eliminand spatiile albe.

public void citireMat(String s)
{
/*File file = new File(s);
FileInputStream fis = null;
BufferedInputStream bis = null;
DataInputStream cit = null;*/
String linie; //string care imi retine o linie
int contor=-1; //contor care imi contorizeaza cate linii am citit
int cont1=0;

String aux1;
int j=0;
try
{

InputStream in =getClass().getResourceAsStream(s);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
// BufferedInputStream br = new BufferedInputStream(getClass().getResourceAsStream(s));
// dis.available() returns 0 if the file does not have more lines.

while ((strLine = br.readLine()) != null)
{
contor=contor+1;; //incrementez contorul la fiecare citire
//linie=cit.readLine();
strLine=strLine.trim();
StringTokenizer st = new StringTokenizer(strLine, " ");
j=0;
if (contor==0){
String aux=st.nextToken();
n=Integer.parseInt(aux);
//citim de pe prima linie a fisierului nr de cutii,pozitii finale ale cutiilor,pozitia initiala a juc si timpul pt stagiu
for(int k=0;k<(n);k++)
{
aux=st.nextToken();
x[k]=Integer.parseInt(aux);
}
for(int k=0;k<(n);k++)
{
aux=st.nextToken();
y[k]=Integer.parseInt(aux);
}
aux=st.nextToken();
jx=Integer.parseInt(aux);
aux=st.nextToken();
jy=Integer.parseInt(aux);
aux=st.nextToken();
timp=Integer.parseInt(aux);



}//final if
else{
while(st.hasMoreTokens())
{
aux1=st.nextToken();
a[cont1][j]=Integer.parseInt(aux1);
j++;
}
cont1++;
}
}
in.close();


} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

by Coatan Alexadru

JAVA citire fisier


import java.io.*;

public class ReadTextFile
{
String continutFisier=new String("");
/**
* Realizeaza citirea din fisier
* @param harta: Un sir trimis ca si parametru constructorului Model
* @return continutFisier: Un sir ce reprezinta continutul fisierului
*/
public String readFile(String harta)
{
try
{
int i;
//buffeul se foloseste pentru a mari viteza de citire
//getClass si getResource se folosesc pentru a gasi fisierul in arhiva JAR
BufferedInputStream buf = new BufferedInputStream(getClass().getResourceAsStream(harta));
try{
while((i=buf.read())!=-1)
{
continutFisier+=((char)(i));
}
}
finally
{
buf.close();
}
}
catch(Exception e)
{
}

return continutFisier;
}

}



//Parcurgere fiecare linie

String[] result=continutFisier.split("\n");// .split(criteriu) are rolul de a imparti un string in mai multe "bucati" folosind un anumit criteriu; in cazul de fata se
//foloseste ca si criteriu sfarsitul de linie
int linia=0;
for(String token:result)//se va parcurge ficare linie, am folosit metoda split fiind o alternativa mult mai eleganta decat cea folosita la geneareMatrice()
{
for(int coloana=0;coloana<(nr_coloane;coloana++))
{

vineri, 1 ianuarie 2010

Java - Includere imagine, o varianta utila pentru JAR

//multumiri http://www.devx.com/tips/Tip/5697, putin modificat, inca o data multumiri

import java.awt.*;
import java.net.*;
import javax.swing.*;

public class ImportImageFromNet extends JFrame
{

Image img;
public ImportImageFromNet() throws Exception {
URL myurl = this.getClass().getResource("/robot.jpg");
Toolkit tk = this.getToolkit();
img = tk.getImage(myurl);
this.setVisible(true);
this.setSize(300,300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} // public ResourceTest()

public void paint(Graphics g) {
g.drawImage(img, 0, 0, this);
} // public void paint()
public static void main(String[] args)throws Exception
{
ImportImageFromNet gui=new ImportImageFromNet();
gui.repaint();
}
}

// public class ResourceTest extends Frame
//O alta varianta de introducere a imagini este:

URL url = getClass().getResource("anImage.gif");
Image img = Toolkit.getDefaultToolkit().getImage(url);


http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter06/images.html

//voi incerca intr-o varianta viitoare sa incarc imagini si folosind o resursa http;)