Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Mikroprocesorowy tester elementów półprzewodnikowych

bobo 13 Jan 2010 09:05 253224 308
  • #271
    eurotips
    Level 37  
    Najdłużej trwa pomiar dużej elki,
    do zmierzenia 1000uF potrzebuje dobrych kilku sekund.

    A te 2 sekundy to chyba kolega przytrzymuje ten przycisk podczas pomiaru, wtedy i owszem, po 2sec jest TimeOut
  • TespolTespol
  • #272
    Freddy
    Level 43  
    Trzeba tylko nacisnąć przycisk i puścić go, rozpoczyna się pomiar. Potem wynik jest i wyświetlany i trwa to około 8 sekund.
  • #273
    bokuden
    Level 15  
    Witam
    Mi też na początku wynik był pokazywany przez ok. 2-3 sekundy,ale było tak tylko bez wlutowanej diody LED.Po jej zamontowaniu pokazuje wynik pomiaru przez właściwy czas.
    Pozdrawiam
  • #274
    mszr
    Level 12  
    Mały dodatek do testera. Dodałem pomiar temperatury do testera czujką LM35, drobne zmiany w kodzie są poniżej:
    Code:

    ...
    unsigned char DiodeIcon[] EEMEM = {4,31,31,14,14,4,31,4,0};   //Dioden-Icon
    +unsigned char T[] EEMEM = " T=";
    ...



    #ifdef UseM8
       char outval2[6];
    #endif
    +unsigned long int ut1;
    +unsigned int  ut1a, ut1_whole, ut1_fraction;
    //Programmbeginn
    int main(void) {



    ...
    lcd_data(LCD_CHAR_OMEGA);   //Omega für Ohm
    +lcd_eep_string(T);
    +ut1 = 25*ut1a;
    +ut1_whole = (int)(ut1/100);
    +ultoa(ut1_whole,outval,10);
    +lcd_string(outval);
    +ut1_fraction = (int)(ut1 % 100);
    +if(ut1_fraction>0) {
    +lcd_data ('.');
    +ultoa(ut1_fraction,outval,10);
    +lcd_string(outval); }
    +lcd_data ('C');
    +ut1 =0;
    +ut1_whole=0;
    +ut1_fraction=0;
    goto end;


    ...
    tmpPartFound = PART_RESISTOR;
    }
    }
    #endif
    +ut1a = ReadADC(4 | (1<<REFS1));
    testend:

    oczywiście te + oznaczają dodany kod i przed wstawieniem trzeba je skasować. LM-a podłącza się typowo do masy, plusa i wyjście z czuki przez rezystor 2k do wolnego wejścia ADC, u mnie - 4. No i teraz mogę testować termistory, czujniki półprzewodnikowe, diody jako czujki, hfe tranzystora w temeperaturze etc. można też kalibrować czujki, bo obok rezystancji pokazuje temperaturę. No i oczywiście, przy okazji można testować LM35. Ja to głównie używam do kalibracji czujek.
  • #275
    Freddy
    Level 43  
    Uważam, że pomiar temperatury jest zbędnym dodatkiem.
    Termistory można sprawdzać bez tego, natomiast innych bardziej popularnych czujników jest mnóstwo typów. Ograniczenie sie do jednego, zwłaszcza, tego mniej popularnego, byłoby stronnicze i spowodowałoby burzę postów, dlaczego nie DS1820, potem kolejne typy. Dlatego pomiar temperatury nie będzie wprowadzony do testera.
  • TespolTespol
  • #276
    mszr
    Level 12  
    DS się nie zmieści w tej maleńkiej 8-ce, już próbowałem dodać tester układów 1-wire, kalibrację etc. etc. ... zbędna gimnastyka, dopóki to jest ten a nie inny, a jeśli chodzi o zakres zastosowań to wolę mieć szerszy niż węższy ... i mam.

    >Dlatego pomiar temperatury nie będzie wprowadzony do testera.
    Hmm ... projekt jest otwarty i każdy wprowadza co chce do swojej wersji, w mojej jest.

    BTW, zamiast krytyki pomysłów proponuję coś dorobić pro publico bono, kod testera trzyma się 'na cienkich drutach', jakby kolega szukał pomysłów to proponuję podgrzać diodę np. lampką biurkową i ... zdziwienie ... tester zamiast diody wykrywa ... kondensator, więc temperatura jest powiedziałbym niezbędna do poprawnej pracy testera, tak jak lepszy pomiar pojemności etc. etc.
  • #277
    Freddy
    Level 43  
    mszr wrote:

    ...
    Hmm ... projekt jest otwarty i każdy wprowadza co chce do swojej wersji, w mojej jest.
    BTW, zamiast krytyki pomysłów proponuję coś dorobić pro publico bono, kod testera trzyma się 'na cienkich drutach', jakby kolega szukał pomysłów to proponuję podgrzać diodę np. lampką biurkową i ... zdziwienie ... tester zamiast diody wykrywa ... kondensator, więc temperatura jest powiedziałbym niezbędna do poprawnej pracy testera, tak jak lepszy pomiar pojemności etc. etc.


    Ależ oczywiście, że możesz sobie wprowadzać co chcesz do testera.
    Opublikowanie takich zmian może nastąpić dopiero po uzyskaniu zgody autora projektu Markusa. Pamiętaj o prawach autorskich.
    Pro publico bono - to już
    - opublikowałem dokumentację testera
    - uzyskałem zgodę autora na taka publikację.
    - wprowadziłem również za jego zgodą poprawki.

    Nie szukam żadnych pomysłów, ale skoro jak twierdzisz
    Quote:

    kod testera trzyma się 'na cienkich drutach'

    to popraw go (sic!)! bo jak narazie wszystkie Twoje pomysły Markus (i nie tylko on) skrytykował.
  • #278
    korek7b
    Level 10  
    Witam, kolego Freddy czy jest szansa że udostępnisz ostatnio poprawiony wsad "Brak elementu lub uszkodzony El" bez liter El ?
  • #280
    pankracy
    Level 11  
    Wykonałem ten układ z większością dotychczasowych poprawek (zgodnie z schematem zielonej płytki z naniesionymi zmianami i dodatkowymi elementami z pliku pdf.).
    Działa niezawodnie, jednak dokładność wskazań pojemności, oporności i wzmocnienia tranzystorów jest mniej zadowalające.
    Fuse bits ustawiłem tak jak wydawało mi się właściwie, a nie tak jak jest proponowane i zacząłem testować.
    By wykluczyć te niedokładności wskazań postanowiłem zmienić bity konfiguracyjne tak jak jest to do tej pory proponowane.
    Wtedy zaczęły się problemy z stabilnością o których jest tyle tu napisane.
    Przypuszczam że może właśnie o to chodzić, wybieracie taki nastaw, że wewnętrzny oscylator nie jest w stanie się rozkręcić (ustabilizować ). Jest to podświetlone niebieskim paskiem.
    Mikroprocesorowy tester elementów półprzewodnikowych
    A powinno być tak jak tu (zresztą ustawienie defultowe, więc jeśli ktoś nie zmieniał ustawień nowego procka to nie ma problemów). Na czerwono jest zakreślone jakie powinny być nastawy.
    Mikroprocesorowy tester elementów półprzewodnikowych
    Jeszcze wymienię oporniki to może się poprawi. Obecnie mam 468kom, 468kom, 468kom i 679, 675, 678 (mierzone miernikiem UT602) sądziłem, że będzie w miarę dokładnie. Jednak kondensatory zaniża około 10% (to przeboleje zawsze jest tyle samo), Przy opornikach ma straszny rozrzut czasami zawyża kilkakrotnie a niekiedy zaniża dziesięciokrotnie (to nawet nie jest testowanie). Stopień tych przekłamań zależy od gniazd do których wkładamy elementy.
    Najbardziej mnie irytuje błędne wskazywanie wzmocnienia tranzystorów potrafi pokazywać 470 a na innych miernikach jest 170, 130. Zdarza że tendencja jest w drugą stronę . Trudno się opierać na takich pomiarach .

    Czołem
  • #281
    mszr
    Level 12  
    >Obecnie mam 468kom, 468kom, 468kom i 679, 675, 678 (mierzone miernikiem UT602)
    Miernik trzyma się 'na drutach', zresztą pytałem o to Markusa, cała rzecz polega na tym, że Markus kalibrował stałe pomiarowe pod swoje wielkości swoich oporników, swoją megę etc.
    Na podstawie różnic między wskazaniami wielkości a rzeczywistością Markus korygował współczynniki aż mniej więcej mu się to zgadzało. Jeśli zmieniasz wielkości oporników musisz siłą rzeczy 'skalibrować' go sam i sprawdzić czy cokolwiek poprawnie rozpoznaje. Np. dla pojemności są to dwa współczynniki ' z powietrza' , łatwo to znajdziesz w kodzie, miernik nie używa żadnego teoretycznego modelu, więc nie ma szans na uwzględnienie takich zmian. Podobnie się miernik rozsypie jak zmienisz zegar, albo dodasz/zmienisz cokolwiek co wpłynie na pomiar ...
  • #282
    Freddy
    Level 43  
    Nowy wsad do miernika, zawierający m.in. ostatnie poprawki Markusa.
    -------------------------
    Pankracy :arrow:
    Cytat:
    Quote:

    ...
    Najbardziej mnie irytuje błędne wskazywanie wzmocnienia tranzystorów potrafi pokazywać 470 a na innych miernikach jest 170, 130. Zdarza że tendencja jest w drugą stronę . Trudno się opierać na takich pomiarach
    ...


    Fuse Low ma być C1 !
    Pamiętaj o jednym, że wzmocnienie tranzystora podaje sie w kartach katalogowych dla określonego napięcia Uce i prądu Ic. Wzmocnienie jest zależne od napięcia Uce i w pewnym zakresie od prądu Ic.
    Dlatego dobierając pary np. do wzmacniacza, najlepiej je dobierać przy takim napięciu Uce, przy jakim będą pracowały. Tak samo współczynnik wzmocnienia inny jest w warunkach stałoprądowych (mierniki) a trochę inny w warunkach małosygnałowych.
    Dlatego najlepszym wyjściem przy dobieraniu par są charakterografy.
    --------------------------------------------------------------------

    NALEŻY WPISAĆ POPRAWNE WARTOŚCI ELEMENTÓW DO PAMIĘCI EEPROM I DOPIERO ZAPROGRAMOWAĆ PROCESOR !!!
    Code:

    Znaczenie bajtów pamięci EEPROM:
         0 - "wykrywanie kondesatora"
      1-3 - nie używane, dla przyszłych funkcji
         4 - LSB z R_L  (680Ω)
         5 - MSB z R_L
         6 - LSB z R_H  (470kΩ) (wpisać tylko 4700 !)
         7 - MSB z R_H
         8 - LSB współczynnika konwersji pojemności R_H (dla małych pojemności)
         9 - MSB współczynnika konwersji pojemności R_H
       10 - LSB współczynnika konwersji pojemności R_H (dla dużych pojemności)
       11 - MSB współczynnika konwersji pojemności R_L
       12 - kolejne bajty to teksty wyświetlane na LCD (nie powinnien ulec zmianie)
  • #283
    mszr
    Level 12  
    >Najbardziej mnie irytuje błędne wskazywanie wzmocnienia tranzystorów potrafi >pokazywać 470 a na innych miernikach jest 170, 130. Zdarza że tendencja jest w >drugą stronę . Trudno się opierać na takich pomiarach
    Mialem podbnie 'pływające' wyniki, zmieniłem troszkę kod , a mianowicie rozładowywałem piny (funkcja dischargepin) przed kolejnym pomiarem w procedurce checkpins. Wcześniej ten pomysł opisałem, wiec nie będzie problemu z odszukaniem korekty kodu, pływanie ustąpiło jak ręką odjął. Dzieliłem się tym też na forum niemieckim i Markus napisał o tym 'pomysł nie jest zły', zresztą sam Markus go stosuje dla pomiarów pojemności, więc możesz też to spróbować, jest o tyle ok, że nie rozsypuje pętli pomiarowych. Efekt jest u mnie całkiem zadowalający. Tyle, że jeśli masz ten efekt to łatwo go zweryfikować - zrób kilka testów pod rząd, jeśli wyniki za każdym razem są minimalnie inne, ale zmieniają się w jednym kierunku - wprowadź poprawkę z discharge, jeśli wyniki są identyczne ... hmm trudna sprawa. U mnnie po korektach hfe na testerze jest mniej więcej taki sam jak na trzech fabrycznych miernikach.
  • #284
    pankracy
    Level 11  
    Witam

    Więc wymieniłem oporniki na jeszcze dokładniejsze i wyselekcjonowane z większej ilości. Niestety to nic nie zmieniło.
    Wgrałem najnowszy wsad z 18 stycznia jak tylko się pojawił i zauważyłem że betę tranzystorów pokazuje źle ale w inny sposób niż poprzednio np. pokazuję wartość 1 kiedy na poprzednim wsadzie pokazywał około 200 (właściwe co miał dać ten ostatni wsad za 0,5 punkta).
    Więc wgrałem starszy wsad-151209 i poprawiło się znacznie. Właściwie to jest tak jak być powinno. Rezystencja prawie nie różni się od innych moich mierników (i jest w inny sposób wyświetlana-myślę że lepszy), wskazania mniejszych pojemności są zadowalające. Wzmocnienie tranzystorów jest teraz bardzo podobne z multimetrem.


    Więc problem był w wersji oprogramowania.
    Może by określić które wersje są stabilne a które beta do testowania.

    Na moich trzech Atmegach 8 ustawienie wartości w Fuse Low C1 powoduje dużą niestabilność w załączaniu, timeout-y itp. Po zmianie tak jak to już opisywałem działa bezbłędnie.
    Przecież to chodzi o to by przy starcie mikrokontrolera dać mu trochę czasu na ustabilizowanie wewnętrznego oscylatora. Raczej nie ma to wpływu na późniejsze funkcjonowanie programu.
  • #285
    Freddy
    Level 43  
    Ostatnia wersja zawiera poprawki jakie Markus umieścił, wraz z wartościami wyrzuconymi do EEROM. Ostatnia wersja jest dobra, trzeba wpisać wartości według tabeli !
    Dodanie zmian hardware'owych powoduje zniknięcie niestabilności układu. Nie ma potrzeby zmian fuse.
  • #286
    henry57
    Level 11  
    Jakim programem programujecie mikroprocesor?. Z podanych fusbitów jakie należy ustawić wynika, że nie jest to ani Bascom, ani Pony Prog. Ja programowałem za pomocą Pony Proga i dla wsadu z 15-01-10, wszystkie elementy rozpoznaje właściwie i przyporządkowuje wyprowadzenia, ale są mankamenty. Przy pomiarze rezystora 1k, raz pokazuje ponad 30000 omów innym razem ponad 70000 omów. Współczynnik wzmocnienia tego samego tranzystora raz pokazuje zbliżony do rzeczywistego, np. 112 innym razem 649.
    Dla wsadu z 18-01-10 przy tych samych ustawieniach fusebitów też nie wszystko jest ok. Przy pomiarze tego samego rezystora 1k pokazuje 991 omów, czyli dobrze, ale źle mierzy wzmocnienie tranzystorów. Wartość wzmocnienia jest powtarzalna, ale wynosi 1, dla innego tranzystora 2. Największą wartość wzmocnienia jaką pokazał to 5.
  • #287
    Freddy
    Level 43  
    NALEŻY WPISAĆ POPRAWNE WARTOŚCI ELEMENTÓW DO PAMIĘCI EEPROM I DOPIERO ZAPROGRAMOWAĆ PROCESOR !!!
  • #288
    pankracy
    Level 11  
    Czyli rozumiem, że w wsadzie 18-01-2010 brak wpisanych wartości dotyczących rezystorów 470kom i 680 om. Jeśli tak to jednak proponuję by tam były wpisane wartości wzorcowe a jeśli ktoś nie będzie miał tak dokładnych rezystorów to wtedy będzie kombinował i próbował edytować zawartość wsadu.
    Proszę powiedzieć jak mam zapisać wartość 470 000 (binarnie 111 00101011 11110000) do dwóch bajtów :

    6 - LSB z R_H (470kΩ)
    7 - MSB z R_H

    Czy pozostałe współczynniki też trzeba wpisywać sobie samemu przed wgraniem do procka i jakie mniej więcej mają wartości początkowe.
  • #289
    korek7b
    Level 10  
    Witam, kolego Freddy mógłbyś udostępnić wsad do pamięci EPROM z wpisanymi wartościami elementów ( do wsadu z dnia 18.01.10 )? Jestem początkujący w temacie procesorów i nie radzę jeszcze sobie z edycją programów.
  • #290
    mszr
    Level 12  
    aktualny stan z maili Markusa:

    - odnośnie rezystorów w epromie
    > Markus entered wrong value of resistors in this version, this should be
    > improved in EEROM as described !
    I think it is correct. R_L ist "680", and R_H is "4700" in EEPROM, isn't
    it?
    Kolega Freddy nie zauważył, że w kodzie wartość monożona jest przez 100 i dlatego wprowadza się w epromie 'krotsze' wartości:
    unsigned int R_L_VAL EEMEM = 680; //R_L; Norm wert 680 Ohm
    unsigned int R_H_VAL EEMEM = 4700; //R_H; Normwert 470000 Ohm, durch 100 dividiert angeben

    - odnośnie hfe
    > Seitdem werden alle Transistoren mit ganz geringen hfe-Werten (alle
    > kleiner 10) angezeigt
    Stimmt. Ist ein Fehler in der Berechnung (Überlauf einer "unsigned int",
    in Zeile 443 in main.c). Habe ich im angehängten Archiv korrigiert.
    Jest błąd w obliczeniach hfe w wersji sprzed 20.1 .
  • #291
    Freddy
    Level 43  
    mszr wrote:
    ...
    Kolega Freddy nie zauważył, że w kodzie wartość monożona jest przez 100 i dlatego wprowadza się w epromie 'krotsze' wartości:
    unsigned int R_L_VAL EEMEM = 680; //R_L; Norm wert 680 Ohm
    unsigned int R_H_VAL EEMEM = 4700; //R_H; Normwert 470000 Ohm, durch 100 dividiert angeben
    ...

    Kolega Freddy zauważył, jednak nie za bardzo miał czas na poprawki. Wsad oznaczony 20-01 ma wpisane wartości właściwe do EEPROM'a i jest ostatną wersją z 20-01-2010.
    Kolega Freddy Zauważył również Twoją złośliwość :D:D:D
  • #292
    Patryk987
    Level 17  
    Witam
    Mam pytanie czy znak mikro i omega są ukryte w epromie czy w kodzie programu? Chciałbym je zmienić na "R" i "u" w nowym sofcie ale nie mogę znaleść w epromie ani "E4" ani "F4" .
  • #293
    Freddy
    Level 43  
  • #294
    Patryk987
    Level 17  
    szukałem też w programie edytorem hex ale nie mogłem znaleźć :/
    pewnie trzeba go dissasemblować po czym zmienić wartości i zasemblować spowrotem
    a ja niestety nie mam takich zdolności :(
  • #295
    Freddy
    Level 43  
    Patryk987 wrote:
    szukałem też w programie edytorem hex ale nie mogłem znaleźć :/
    pewnie trzeba go dissasemblować po czym zmienić wartości i zasemblować spowrotem
    a ja niestety nie mam takich zdolności :(

    Nie - trzeba po prostu skompilować poprawiając wersję źródłową. Od razu widać, że nie czytałeś całości tylko ostatnie posty :!::!::!:
  • #296
    Patryk987
    Level 17  
    A gdzie mógł bym znaleźć najnowszy kod źródłowy ?
  • #297
    Freddy
    Level 43  
    Oryginał na stronie autora projektu, a polską wersję umieszczę dzisiaj.
  • #298
    pankracy
    Level 11  
    Potwierdzam, że wsad wsad-20-01-10 działa bardzo dobrze. Oporniki są mierzone z nadzwyczajną dokładnością, kondensatory również, beta tranzystorów teraz jest taka sama jak wskazywana przez multimetry (różnice są pomijalnie małe). Prawdopodobnie to po części zasługa bardzo dokładnie dobranych (selekcjonowanych) rezystorów 470 kom i 680 om (1% i z nich wybierałem identyczne). Działa stabilnie i powtarzalnie. Teraz warto robić zgrabną obudowę dla tego urządzenia i można mieć do niego zaufanie. Nie testowałem triaków i tyrystorów bo nie posiadam.

    Pozdrawiam
  • #299
    Freddy
    Level 43  
    Z tyrystorami i triakami mogą być pewne problemy, bo niektóre z nich wymagają dużego prądu bramki, a w testerze jest ograniczony do około 7mA (rezystor 680Ω ).