ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.






کاربران برچسب زده شده

صفحه 8 از 16 نخست 12345678910111213141516 آخرین
نمایش نتایج: از 71 به 80 از 156
  1. #71
    2014/05/23
    يزد
    491
    262

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    دوستان اگر می خوان شروع کنیم به تحلیل کد های نسخه قدیمی این دستگاه و خط به خط
    ببینیم هر کدوم برای چی هستم آخه خوب نیست که یه نفر زحمت بکشه این همه کد بنویسه
    و ما فقط استفاده کنیم.بعد از تحلیل کد ها میتونیم از میکروی mega128 و tftlcd رنگی استفاده
    کنیم.و حتی تمام این امکانات پیشرفته رو بهش اضافه کنیم.

    برای شروع این پروژه کامپایل شده atmel studio این دستگاه:
    http://up.electro2014.ir/up/electro2014/AVR/Tester.rar

    این هم لینک دانلود atmel studio 7:
    http://www.atmel.com/System/BaseForm.aspx?target=tcm:26-77367
    بعد از ثبت نام لینک دانلود کاملا رایگان در اختیارتون قرار میگیره.

    خوب حالا کد ها ی مهم رو تحلیل میکنیم:
    [code=c]#define ADC_PORT PORTC
    #define ADC_DDR DDRC
    #define ADC_PIN PINC
    #define TP1 PC0
    #define TP2 PC1
    #define TP3 PC2[/code]
    این کدها پورت و پین هایی که مستقیم به سیم های 1 و2و3 وصل شده رو تعریف کرده و باید adc باشد.

    [code=c]#if defined(GERMAN) //deutsch
    unsigned char TestRunning[] EEMEM = "Test lلuft...¤¤¤¤";
    unsigned char Bat[] EEMEM = "Batterie ";
    unsigned char BatWeak[] EEMEM = "schwach";
    unsigned char BatEmpty[] EEMEM = "leer!¤¤¤";
    unsigned char TestFailed1[] EEMEM = "Kein,unbek. oder";
    unsigned char TestFailed2[] EEMEM = "defektes ¤¤¤";
    unsigned char Bauteil[] EEMEM = "Bauteil¤¤¤";
    unsigned char Unknown[] EEMEM = " unbek.¤¤";
    unsigned char Diode[] EEMEM = "Diode: ";
    unsigned char DualDiode[] EEMEM = "Doppeldiode ¤¤";
    unsigned char TwoDiodes[] EEMEM = "2 Dioden";
    unsigned char Antiparallel[] EEMEM = "antiparallel¤";
    unsigned char InSeries[] EEMEM = "in Serie A=";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triac";
    unsigned char Thyristor[] EEMEM = "Thyristor";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "oder defekt ¤";
    unsigned char Resistor[] EEMEM = "Widerstand: ";
    unsigned char Capacitor[] EEMEM = "Kondensator: ";
    #endif

    #elif defined(ENGLISH) //englisch
    unsigned char TestRunning[] EEMEM = "Pleas Wait ...¤¤";
    unsigned char Bat[] EEMEM = "Battery ¤";
    unsigned char BatWeak[] EEMEM = "weak¤¤¤";
    unsigned char BatEmpty[] EEMEM = "empty!¤¤";
    unsigned char TestFailed1[] EEMEM = "No, unknown, or¤";
    unsigned char TestFailed2[] EEMEM = "damaged ¤¤¤¤";
    unsigned char Bauteil[] EEMEM = "part¤¤¤¤¤¤";
    unsigned char Unknown[] EEMEM = " unknown¤";
    unsigned char Diode[] EEMEM = "Diode: ";
    unsigned char DualDiode[] EEMEM = "Double diode ¤";
    unsigned char TwoDiodes[] EEMEM = "2 diodes";
    unsigned char Antiparallel[] EEMEM = "anti-parallel";
    unsigned char InSeries[] EEMEM = "serial A=¤¤";
    unsigned char K1[] EEMEM = ";C1=";
    unsigned char K2[] EEMEM = ";C2=";
    unsigned char GAK[] EEMEM = "GAC=";
    unsigned char NextK[] EEMEM = ";C=";
    unsigned char K[] EEMEM = "C=";
    unsigned char Triac[] EEMEM = "Triac";
    unsigned char Thyristor[] EEMEM = "Thyristor";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "or damaged ¤¤";
    unsigned char Resistor[] EEMEM = "Resistor: ¤¤";
    unsigned char Capacitor[] EEMEM = "Capacitor: ¤¤";
    #endif
    #elif defined(POLISH) //polnisch
    unsigned char TestRunning[] EEMEM = "Testowanie...¤¤¤¤";
    unsigned char Bat[] EEMEM = "Bateria¤¤";
    unsigned char BatWeak[] EEMEM = "slaba¤¤";
    unsigned char BatEmpty[] EEMEM = "za slaba";
    unsigned char TestFailed1[] EEMEM = "brak elementu¤¤¤";
    unsigned char TestFailed2[] EEMEM = "lub uszkodz.";
    unsigned char Bauteil[] EEMEM = "Element¤¤¤";
    unsigned char Unknown[] EEMEM = " nieznany";
    unsigned char Diode[] EEMEM = "Dioda: ";
    unsigned char DualDiode[] EEMEM = "Duodioda ¤¤¤¤¤";
    unsigned char TwoDiodes[] EEMEM = "2 diody¤";
    unsigned char Antiparallel[] EEMEM = "przeciwsobnie";
    unsigned char InSeries[] EEMEM = "Szereg. A=¤";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triak";
    unsigned char Thyristor[] EEMEM = "Tyrystor¤";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "lub uszkodz. ";
    unsigned char Resistor[] EEMEM = "Opornosc: ¤¤";
    unsigned char Capacitor[] EEMEM = "Pojemnosc: ¤¤";
    #endif

    #elif defined(CZECH) //tschechisch
    unsigned char TestRunning[] EEMEM = "Probiha mereni...";
    unsigned char Bat[] EEMEM = "Baterie ¤";
    unsigned char BatWeak[] EEMEM = "slaba¤¤";
    unsigned char BatEmpty[] EEMEM = "prazdna!";
    unsigned char TestFailed1[] EEMEM = "Zadna, neznama¤¤";
    unsigned char TestFailed2[] EEMEM = "vadna ¤¤¤¤¤¤";
    unsigned char Bauteil[] EEMEM = "soucastka¤";
    unsigned char Unknown[] EEMEM = " neznama¤";
    unsigned char Diode[] EEMEM = "Dioda: ";
    unsigned char DualDiode[] EEMEM = "Dvojita dioda ";
    unsigned char TwoDiodes[] EEMEM = "2 Diody¤";
    unsigned char Antiparallel[] EEMEM = "antiparalelni";
    unsigned char InSeries[] EEMEM = "v serii A=¤";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triak";
    unsigned char Thyristor[] EEMEM = "Tyristor¤";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "nebo vadna ¤¤";
    unsigned char Resistor[] EEMEM = "Rezistor: ¤¤";
    unsigned char Capacitor[] EEMEM = "Kondenzator: ";
    #endif

    #elif defined(SLOVAK) //slowakisch
    unsigned char TestRunning[] EEMEM = "PREBIEHA TEST¤¤¤¤";
    unsigned char Bat[] EEMEM = "Bateria ¤";
    unsigned char BatWeak[] EEMEM = "slaba¤¤";
    unsigned char BatEmpty[] EEMEM = "prazdna!";
    unsigned char TestFailed1[] EEMEM = "Ziadna, neznama¤";
    unsigned char TestFailed2[] EEMEM = "vadna ¤¤¤¤¤¤";
    unsigned char Bauteil[] EEMEM = "suciastka!";
    unsigned char Unknown[] EEMEM = " neznama¤";
    unsigned char Diode[] EEMEM = "Dioda: ";
    unsigned char DualDiode[] EEMEM = "Dvojdioda ¤¤¤¤";
    unsigned char TwoDiodes[] EEMEM = "2 Diody¤";
    unsigned char Antiparallel[] EEMEM = "antiparalelne";
    unsigned char InSeries[] EEMEM = "v Serii A=¤";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triak";
    unsigned char Thyristor[] EEMEM = "Tyristor¤";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "alebo vadna ¤";
    unsigned char Resistor[] EEMEM = "Rezistor: ¤¤";
    unsigned char Capacitor[] EEMEM = "Kondenzator: ";
    #endif
    #endif



    //Sprachunabhنngige EEPROM-Strings
    unsigned char mosfet[] EEMEM = "-MOS";
    unsigned char emode[] EEMEM = "-E";
    unsigned char dmode[] EEMEM = "-D";
    unsigned char jfet[] EEMEM = "-JFET";
    unsigned char A1[] EEMEM = ";A1=";
    unsigned char A2[] EEMEM = ";A2=";
    unsigned char NullDot[] EEMEM = "0,";
    unsigned char GateCap[] EEMEM = " C=";
    unsigned char hfestr[] EEMEM ="hFE=";
    unsigned char NPN[] EEMEM = "NPN";
    unsigned char PNP[] EEMEM = "PNP";
    unsigned char bstr[] EEMEM = " B=";
    unsigned char cstr[] EEMEM = ";C=";
    unsigned char estr[] EEMEM = ";E=";
    unsigned char gds[] EEMEM = "GDS=";
    unsigned char Uf[] EEMEM = "Uf=";
    unsigned char vt[] EEMEM = "Vt=";
    unsigned char mV[] EEMEM = "mV";
    unsigned char Anode[] EEMEM = "A=";
    unsigned char Gate[] EEMEM = "G=";
    unsigned char CA[] EEMEM = "CA";
    unsigned char CC[] EEMEM = "CC";
    unsigned char TestTimedOut[] EEMEM = "Timeout!";

    unsigned char DiodeIcon[] EEMEM = {4,31,31,14,14,4,31,4}; //Dioden-Icon

    #ifdef LCD_CYRILLIC //Omega- und µ-Zeichen als Custom-Zeichen erzeugen, weil diese Zeichen im kyrillischen Zeichensatz nicht enthalten sind
    unsigned char CyrillicOmegaIcon[] EEMEM = {0,0,14,17,17,10,27,0}; //Omega
    unsigned char CyrillicMuIcon[] EEMEM = {0,17,17,17,19,29,16,16}; //µ
    #endif[/code]
    این کد های متن ها و اشکالی هست که روی lcd به نمایش در میاد و EEMEM به معنای این است که این ها در حافظه eeprom ذخیره شود.

    [code=c]void CheckPins(uint8_t HighPin, uint8_t LowPin, uint8_t TristatePin);
    void DischargePin(uint8_t PinToDischarge, uint8_t DischargeDirection);
    unsigned int ReadADC(uint8_t mux);
    void lcd_show_format_cap(char outval[], uint8_t strlength, uint8_t CommaPos);

    #ifdef UseM8
    void ReadCapacity(uint8_t HighPin, uint8_t LowPin); //Kapazitنtsmessung nur auf Mega8 verfügbar
    #endif[/code]
    این برنامه دارای چند تا تابع هست که در بالا به کامپایلر معرفی شدند.

    [code=c]#define R_DDR DDRB
    #define R_PORT PORTB[/code]
    این کد ها پورتی که به مقاومت ها وصل شده رو تعریف میکنه پس در ادامه کد هر جایی به R_PORT رسیدیم یعنی PORTB.

    [code=c]#define ON_DDR DDRD
    #define ON_PORT PORTD
    #define ON_PIN_REG PIND
    #define ON_PIN PD6
    #define RST_PIN PD7[/code]
    این کد هم اسم پایه ای که به کلید وصل هست رو به RST_PIN تغیر میده.

    [code=c]#define PART_NONE 0
    #define PART_DIODE 1
    #define PART_TRANSISTOR 2
    #define PART_FET 3
    #define PART_TRIAC 4
    #define PART_THYRISTOR 5
    #define PART_RESISTOR 6
    #define PART_CAPACITOR 7[/code]
    توی این کد ها هم به هر قطعه ای یه عددی اختصاص داده شده تا برنامه قابل فهم شود.

    [code=c]#define PART_MODE_N_E_MOS 1
    #define PART_MODE_P_E_MOS 2
    #define PART_MODE_N_D_MOS 3
    #define PART_MODE_P_D_MOS 4
    #define PART_MODE_N_JFET 5
    #define PART_MODE_P_JFET 6

    #define PART_MODE_NPN 1
    #define PART_MODE_PNP 2[/code]
    این هم برای انواع ترانزیستور ها یه عددی اختصاص داده.

    [code=c]struct Diode {
    uint8_t Anode;
    uint8_t Cathode;
    int Voltage;
    };

    struct Diode diodes[6];
    uint8_t NumOfDiodes;

    uint8_t b,c,e; //Anschlüsse des Transistors
    unsigned long lhfe; //Verstنrkungsfaktor
    uint8_t PartReady; //Bauteil fertig erkannt
    unsigned int hfe[2]; //Verstنrkungsfaktoren
    unsigned int uBE[2]; //B-E-Spannung für Transistoren
    uint8_t PartMode;
    uint8_t tmpval, tmpval2;
    #ifdef UseM8 //Widerstands- und Kondensatormessung nur auf dem Mega8 verfügbar
    uint8_t ra, rb; //Widerstands-Pins
    unsigned int rv[2]; //Spannungsabfall am Widerstand
    unsigned int radcmax[2]; //Maximal erreichbarer ADC-Wert (geringer als 1023, weil Spannung am Low-Pin bei Widerstandsmessung über Null liegt)
    uint8_t ca, cb; //Kondensator-Pins
    uint8_t cp1, cp2; //Zu testende Kondensator-Pins, wenn Messung für einzelne Pins gewنhlt
    uint8_t ctmode; //Kondensator-Test-Modus (siehe ab Zeile 40)
    #ifdef SWUART_INVERT
    #define TXD_VAL 0
    #else
    #define TXD_VAL (1<<TxD)
    #endif
    #endif

    unsigned long cv;

    uint8_t PartFound, tmpPartFound; //das gefundene Bauteil
    char outval[8];
    unsigned int adcv[4];
    unsigned int gthvoltage; //Gate-Schwellspannung
    uint8_t tmpval, tmpval2;

    #ifdef UseM8
    char outval2[6];
    #endif[/code]
    این ها هم یه سری متفیر ها هستند که تو برنامه استفاده شده.

    خوب کد هایی که تنها کارشون تغیر دادن نام کد های اصلی بود و معرفی متغیر ها بود تمام شدند و در ادامه به کد های حلقه main
    میریم و اونا رو توضیح میدم.
    سوالی بود در خدمتم.
    معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.
  2. #72
    2014/04/13
    آذربایجان غربی-شهرستان خوی
    65
    6

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    نقل قول نوشته اصلی توسط alidehghan288
    سلام این تصویر از کدویژن:


    این هم از progisp (چون پروگرمرتون سریال هست از نسخه 6 استفاده کنید):
    با سلام.
    دوست عزیز این کدویژن پروگرم من رو نشناخت .ایا میشه من این رو از سریال به usbدر بیارم؟
    وضمنا اون تیک ها در کدویژن صفر اند یا یک ؟چون با این برنامه ها کار نکردم :redface:
  3. #73
    AVR-MEGA8
    Guest

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    نقل قول نوشته اصلی توسط bahmangholami
    درست که بهترین ورایگان هستش.
    اما دوست عزیز شما که در پست قبلی گفتی قطعات اش رو میگیرم میسازم پس چی شد :biggrin:
    سلام مجدد
    من امشب رفتم سعدی قطعات همین رو گرفتم.
    میسازم عکسش رو هم میزارم :icon_razz:
  4. #74
    2014/04/13
    آذربایجان غربی-شهرستان خوی
    65
    6

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    نقل قول نوشته اصلی توسط alidehghan288
    دوستان اگر می خوان شروع کنیم به تحلیل کد های نسخه قدیمی این دستگاه و خط به خط
    ببینیم هر کدوم برای چی هستم آخه خوب نیست که یه نفر زحمت بکشه این همه کد بنویسه
    و ما فقط استفاده کنیم.بعد از تحلیل کد ها میتونیم از میکروی mega128 و tftlcd رنگی استفاده
    کنیم.و حتی تمام این امکانات پیشرفته رو بهش اضافه کنیم.

    برای شروع این پروژه کامپایل شده atmel studio این دستگاه:
    http://up.electro2014.ir/up/electro2014/AVR/Tester.rar

    این هم لینک دانلود atmel studio 7:
    http://www.atmel.com/System/BaseForm.aspx?target=tcm:26-77367
    بعد از ثبت نام لینک دانلود کاملا رایگان در اختیارتون قرار میگیره.

    خوب حالا کد ها ی مهم رو تحلیل میکنیم:
    [code=c]#define ADC_PORT PORTC
    #define ADC_DDR DDRC
    #define ADC_PIN PINC
    #define TP1 PC0
    #define TP2 PC1
    #define TP3 PC2[/code]
    این کدها پورت و پین هایی که مستقیم به سیم های 1 و2و3 وصل شده رو تعریف کرده و باید adc باشد.

    [code=c]#if defined(GERMAN) //deutsch
    unsigned char TestRunning[] EEMEM = "Test lلuft...¤¤¤¤";
    unsigned char Bat[] EEMEM = "Batterie ";
    unsigned char BatWeak[] EEMEM = "schwach";
    unsigned char BatEmpty[] EEMEM = "leer!¤¤¤";
    unsigned char TestFailed1[] EEMEM = "Kein,unbek. oder";
    unsigned char TestFailed2[] EEMEM = "defektes ¤¤¤";
    unsigned char Bauteil[] EEMEM = "Bauteil¤¤¤";
    unsigned char Unknown[] EEMEM = " unbek.¤¤";
    unsigned char Diode[] EEMEM = "Diode: ";
    unsigned char DualDiode[] EEMEM = "Doppeldiode ¤¤";
    unsigned char TwoDiodes[] EEMEM = "2 Dioden";
    unsigned char Antiparallel[] EEMEM = "antiparallel¤";
    unsigned char InSeries[] EEMEM = "in Serie A=";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triac";
    unsigned char Thyristor[] EEMEM = "Thyristor";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "oder defekt ¤";
    unsigned char Resistor[] EEMEM = "Widerstand: ";
    unsigned char Capacitor[] EEMEM = "Kondensator: ";
    #endif

    #elif defined(ENGLISH) //englisch
    unsigned char TestRunning[] EEMEM = "Pleas Wait ...¤¤";
    unsigned char Bat[] EEMEM = "Battery ¤";
    unsigned char BatWeak[] EEMEM = "weak¤¤¤";
    unsigned char BatEmpty[] EEMEM = "empty!¤¤";
    unsigned char TestFailed1[] EEMEM = "No, unknown, or¤";
    unsigned char TestFailed2[] EEMEM = "damaged ¤¤¤¤";
    unsigned char Bauteil[] EEMEM = "part¤¤¤¤¤¤";
    unsigned char Unknown[] EEMEM = " unknown¤";
    unsigned char Diode[] EEMEM = "Diode: ";
    unsigned char DualDiode[] EEMEM = "Double diode ¤";
    unsigned char TwoDiodes[] EEMEM = "2 diodes";
    unsigned char Antiparallel[] EEMEM = "anti-parallel";
    unsigned char InSeries[] EEMEM = "serial A=¤¤";
    unsigned char K1[] EEMEM = ";C1=";
    unsigned char K2[] EEMEM = ";C2=";
    unsigned char GAK[] EEMEM = "GAC=";
    unsigned char NextK[] EEMEM = ";C=";
    unsigned char K[] EEMEM = "C=";
    unsigned char Triac[] EEMEM = "Triac";
    unsigned char Thyristor[] EEMEM = "Thyristor";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "or damaged ¤¤";
    unsigned char Resistor[] EEMEM = "Resistor: ¤¤";
    unsigned char Capacitor[] EEMEM = "Capacitor: ¤¤";
    #endif
    #elif defined(POLISH) //polnisch
    unsigned char TestRunning[] EEMEM = "Testowanie...¤¤¤¤";
    unsigned char Bat[] EEMEM = "Bateria¤¤";
    unsigned char BatWeak[] EEMEM = "slaba¤¤";
    unsigned char BatEmpty[] EEMEM = "za slaba";
    unsigned char TestFailed1[] EEMEM = "brak elementu¤¤¤";
    unsigned char TestFailed2[] EEMEM = "lub uszkodz.";
    unsigned char Bauteil[] EEMEM = "Element¤¤¤";
    unsigned char Unknown[] EEMEM = " nieznany";
    unsigned char Diode[] EEMEM = "Dioda: ";
    unsigned char DualDiode[] EEMEM = "Duodioda ¤¤¤¤¤";
    unsigned char TwoDiodes[] EEMEM = "2 diody¤";
    unsigned char Antiparallel[] EEMEM = "przeciwsobnie";
    unsigned char InSeries[] EEMEM = "Szereg. A=¤";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triak";
    unsigned char Thyristor[] EEMEM = "Tyrystor¤";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "lub uszkodz. ";
    unsigned char Resistor[] EEMEM = "Opornosc: ¤¤";
    unsigned char Capacitor[] EEMEM = "Pojemnosc: ¤¤";
    #endif

    #elif defined(CZECH) //tschechisch
    unsigned char TestRunning[] EEMEM = "Probiha mereni...";
    unsigned char Bat[] EEMEM = "Baterie ¤";
    unsigned char BatWeak[] EEMEM = "slaba¤¤";
    unsigned char BatEmpty[] EEMEM = "prazdna!";
    unsigned char TestFailed1[] EEMEM = "Zadna, neznama¤¤";
    unsigned char TestFailed2[] EEMEM = "vadna ¤¤¤¤¤¤";
    unsigned char Bauteil[] EEMEM = "soucastka¤";
    unsigned char Unknown[] EEMEM = " neznama¤";
    unsigned char Diode[] EEMEM = "Dioda: ";
    unsigned char DualDiode[] EEMEM = "Dvojita dioda ";
    unsigned char TwoDiodes[] EEMEM = "2 Diody¤";
    unsigned char Antiparallel[] EEMEM = "antiparalelni";
    unsigned char InSeries[] EEMEM = "v serii A=¤";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triak";
    unsigned char Thyristor[] EEMEM = "Tyristor¤";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "nebo vadna ¤¤";
    unsigned char Resistor[] EEMEM = "Rezistor: ¤¤";
    unsigned char Capacitor[] EEMEM = "Kondenzator: ";
    #endif

    #elif defined(SLOVAK) //slowakisch
    unsigned char TestRunning[] EEMEM = "PREBIEHA TEST¤¤¤¤";
    unsigned char Bat[] EEMEM = "Bateria ¤";
    unsigned char BatWeak[] EEMEM = "slaba¤¤";
    unsigned char BatEmpty[] EEMEM = "prazdna!";
    unsigned char TestFailed1[] EEMEM = "Ziadna, neznama¤";
    unsigned char TestFailed2[] EEMEM = "vadna ¤¤¤¤¤¤";
    unsigned char Bauteil[] EEMEM = "suciastka!";
    unsigned char Unknown[] EEMEM = " neznama¤";
    unsigned char Diode[] EEMEM = "Dioda: ";
    unsigned char DualDiode[] EEMEM = "Dvojdioda ¤¤¤¤";
    unsigned char TwoDiodes[] EEMEM = "2 Diody¤";
    unsigned char Antiparallel[] EEMEM = "antiparalelne";
    unsigned char InSeries[] EEMEM = "v Serii A=¤";
    unsigned char K1[] EEMEM = ";K1=";
    unsigned char K2[] EEMEM = ";K2=";
    unsigned char GAK[] EEMEM = "GAK=";
    unsigned char NextK[] EEMEM = ";K=";
    unsigned char K[] EEMEM = "K=";
    unsigned char Triac[] EEMEM = "Triak";
    unsigned char Thyristor[] EEMEM = "Tyristor¤";


    #ifdef UseM8
    unsigned char OrBroken[] EEMEM = "alebo vadna ¤";
    unsigned char Resistor[] EEMEM = "Rezistor: ¤¤";
    unsigned char Capacitor[] EEMEM = "Kondenzator: ";
    #endif
    #endif



    //Sprachunabhنngige EEPROM-Strings
    unsigned char mosfet[] EEMEM = "-MOS";
    unsigned char emode[] EEMEM = "-E";
    unsigned char dmode[] EEMEM = "-D";
    unsigned char jfet[] EEMEM = "-JFET";
    unsigned char A1[] EEMEM = ";A1=";
    unsigned char A2[] EEMEM = ";A2=";
    unsigned char NullDot[] EEMEM = "0,";
    unsigned char GateCap[] EEMEM = " C=";
    unsigned char hfestr[] EEMEM ="hFE=";
    unsigned char NPN[] EEMEM = "NPN";
    unsigned char PNP[] EEMEM = "PNP";
    unsigned char bstr[] EEMEM = " B=";
    unsigned char cstr[] EEMEM = ";C=";
    unsigned char estr[] EEMEM = ";E=";
    unsigned char gds[] EEMEM = "GDS=";
    unsigned char Uf[] EEMEM = "Uf=";
    unsigned char vt[] EEMEM = "Vt=";
    unsigned char mV[] EEMEM = "mV";
    unsigned char Anode[] EEMEM = "A=";
    unsigned char Gate[] EEMEM = "G=";
    unsigned char CA[] EEMEM = "CA";
    unsigned char CC[] EEMEM = "CC";
    unsigned char TestTimedOut[] EEMEM = "Timeout!";

    unsigned char DiodeIcon[] EEMEM = {4,31,31,14,14,4,31,4}; //Dioden-Icon

    #ifdef LCD_CYRILLIC //Omega- und µ-Zeichen als Custom-Zeichen erzeugen, weil diese Zeichen im kyrillischen Zeichensatz nicht enthalten sind
    unsigned char CyrillicOmegaIcon[] EEMEM = {0,0,14,17,17,10,27,0}; //Omega
    unsigned char CyrillicMuIcon[] EEMEM = {0,17,17,17,19,29,16,16}; //µ
    #endif[/code]
    این کد های متن ها و اشکالی هست که روی lcd به نمایش در میاد و EEMEM به معنای این است که این ها در حافظه eeprom ذخیره شود.

    [code=c]void CheckPins(uint8_t HighPin, uint8_t LowPin, uint8_t TristatePin);
    void DischargePin(uint8_t PinToDischarge, uint8_t DischargeDirection);
    unsigned int ReadADC(uint8_t mux);
    void lcd_show_format_cap(char outval[], uint8_t strlength, uint8_t CommaPos);

    #ifdef UseM8
    void ReadCapacity(uint8_t HighPin, uint8_t LowPin); //Kapazitنtsmessung nur auf Mega8 verfügbar
    #endif[/code]
    این برنامه دارای چند تا تابع هست که در بالا به کامپایلر معرفی شدند.

    [code=c]#define R_DDR DDRB
    #define R_PORT PORTB[/code]
    این کد ها پورتی که به مقاومت ها وصل شده رو تعریف میکنه پس در ادامه کد هر جایی به R_PORT رسیدیم یعنی PORTB.

    [code=c]#define ON_DDR DDRD
    #define ON_PORT PORTD
    #define ON_PIN_REG PIND
    #define ON_PIN PD6
    #define RST_PIN PD7[/code]
    این کد هم اسم پایه ای که به کلید وصل هست رو به RST_PIN تغیر میده.

    [code=c]#define PART_NONE 0
    #define PART_DIODE 1
    #define PART_TRANSISTOR 2
    #define PART_FET 3
    #define PART_TRIAC 4
    #define PART_THYRISTOR 5
    #define PART_RESISTOR 6
    #define PART_CAPACITOR 7[/code]
    توی این کد ها هم به هر قطعه ای یه عددی اختصاص داده شده تا برنامه قابل فهم شود.

    [code=c]#define PART_MODE_N_E_MOS 1
    #define PART_MODE_P_E_MOS 2
    #define PART_MODE_N_D_MOS 3
    #define PART_MODE_P_D_MOS 4
    #define PART_MODE_N_JFET 5
    #define PART_MODE_P_JFET 6

    #define PART_MODE_NPN 1
    #define PART_MODE_PNP 2[/code]
    این هم برای انواع ترانزیستور ها یه عددی اختصاص داده.

    [code=c]struct Diode {
    uint8_t Anode;
    uint8_t Cathode;
    int Voltage;
    };

    struct Diode diodes[6];
    uint8_t NumOfDiodes;

    uint8_t b,c,e; //Anschlüsse des Transistors
    unsigned long lhfe; //Verstنrkungsfaktor
    uint8_t PartReady; //Bauteil fertig erkannt
    unsigned int hfe[2]; //Verstنrkungsfaktoren
    unsigned int uBE[2]; //B-E-Spannung für Transistoren
    uint8_t PartMode;
    uint8_t tmpval, tmpval2;
    #ifdef UseM8 //Widerstands- und Kondensatormessung nur auf dem Mega8 verfügbar
    uint8_t ra, rb; //Widerstands-Pins
    unsigned int rv[2]; //Spannungsabfall am Widerstand
    unsigned int radcmax[2]; //Maximal erreichbarer ADC-Wert (geringer als 1023, weil Spannung am Low-Pin bei Widerstandsmessung über Null liegt)
    uint8_t ca, cb; //Kondensator-Pins
    uint8_t cp1, cp2; //Zu testende Kondensator-Pins, wenn Messung für einzelne Pins gewنhlt
    uint8_t ctmode; //Kondensator-Test-Modus (siehe ab Zeile 40)
    #ifdef SWUART_INVERT
    #define TXD_VAL 0
    #else
    #define TXD_VAL (1<<TxD)
    #endif
    #endif

    unsigned long cv;

    uint8_t PartFound, tmpPartFound; //das gefundene Bauteil
    char outval[8];
    unsigned int adcv[4];
    unsigned int gthvoltage; //Gate-Schwellspannung
    uint8_t tmpval, tmpval2;

    #ifdef UseM8
    char outval2[6];
    #endif[/code]
    این ها هم یه سری متفیر ها هستند که تو برنامه استفاده شده.

    خوب کد هایی که تنها کارشون تغیر دادن نام کد های اصلی بود و معرفی متغیر ها بود تمام شدند و در ادامه به کد های حلقه main
    میریم و اونا رو توضیح میدم.
    سوالی بود در خدمتم.

    با سلام خدمت دوست عزیز علی دهغان :bye
    من میخواستم بپرسم که ایا این دستگاه.سلف رو هم میتونیم اندازه بگیریم .
    از انجای که من اطلاع دارم این مورد رو تو هیچ ویدیو ای ندیدم اندازه بگیرن :smile:
    به نظر من. اگه اول روی این مورد کار کنیم بهتره.
  5. #75
    2014/05/23
    يزد
    491
    262

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    با سلام خدمت دوست عزیز علی دهغان :bye
    سلام اولا که فامیل ما دهقان هست :mrgreen:
    بعدشم اگر دوستان مشکلی ندارن میکرو رو به atmega128
    تغیر بدیم تا در آینده برای اضافه کردن tft کمبود حافظه نداشته باشیم.

    در مورد سلف هم این پروژه پشتیبانی نمیکنه اما میشه پروژه زیر رو با اون ترکیب کرد:
    http://www.electro2014.ir/%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B8%D8%B1%D9%81%DB%8C%D8%AA-%D8%AE%D8%A7%D8%B2%D9%86-%D9%88-%D8%B3%D9%84%D9%81-%D8%A8%D8%A7-avr.html

    معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.
  6. #76
    2014/04/13
    آذربایجان غربی-شهرستان خوی
    65
    6

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    نقل قول نوشته اصلی توسط alidehghan288
    سلام اولا که فامیل ما دهقان هست :mrgreen:
    بعدشم اگر دوستان مشکلی ندارن میکرو رو به atmega128
    تغیر بدیم تا در آینده برای اضافه کردن tft کمبود حافظه نداشته باشیم.

    در مورد سلف هم این پروژه پشتیبانی نمیکنه اما میشه پروژه زیر رو با اون ترکیب کرد:
    http://www.electro2014.ir/%D9%BE%D8%B1%D9%88%DA%98%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%D9%87-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%B8%D8%B1%D9%81%DB%8C%D8%AA-%D8%AE%D8%A7%D8%B2%D9%86-%D9%88-%D8%B3%D9%84%D9%81-%D8%A8%D8%A7-avr.html
    سلام.
    من اون اسم تون رو از روی نام کاربری گفتم چونکه اونجا alideh[shadow=red,left]gh[/shadow]an288 iهستش واون ghتو انگلیسی غ خونده میشه. :mrgreen:
    اشتباه من از اونجا بود ...بگذریم ادامه بحث :smile:
    واون سایت خوبه واسه ادامه دادن؟
  7. #77
    2014/05/23
    يزد
    491
    262

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    واون ghتو انگلیسی غ خونده میشه. :mrgreen:
    در انگلیسی gh هم ق هست هم غ
    واون سایت خوبه واسه ادامه دادن؟
    کدوم سایت؟
    معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.
  8. #78
    2014/10/31
    آذربايجان شرقي-تبريز
    1,092
    256

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    نقل قول نوشته اصلی توسط alidehghan288
    در انگلیسی gh هم ق هست هم غ
    در انگیسی نه ق هست ونه غ
    به زبان فارسی اینجوری تلفظ میشن :mrgreen:
    از دو چیز بسیار زیاد یاد گرفتم (1) نمونه مدارهای موجود در سایت های خارجی (2) مهندسی معکوس بردهای غیر ایرانی. به نقل از آقای مرتضی امانی
    --------------------------------------------------------
    تمام دنیا ما را تحریم کرده اند؛ حداقل خودمان همدیگر را تحریم نکنیم. به نقل از pencil
    --------------------------------------------------------
    اشک هایی که پس از هر شکست ریخته میشوند همان عرق هاییست که برای پیروزی ریخته نشده است. mehran901
  9. #79
    2014/04/13
    آذربایجان غربی-شهرستان خوی
    65
    6

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    سلام دوستان:
    دیگه این آموزش زبان انگلیسی رو بزاریم کنار بگردیم به ادامه پروژه. :biggrin:
    ومنظور من از سایت نبود .همون پروژه بود .

    وضمنا من از یه سایت این شماتیک رو گرفتم ولی برنامه اش نبود یه نگاه کنید بهتر؟؟؟

    http://s7.picofile.com/file/8233461218/New_folder2.rar.html
  10. #80
    2014/05/23
    يزد
    491
    262

    پاسخ : ساخت تستر قطعات الکترونيکي با AVR

    این همون پروژه سایت خارجیه هست.فرقی با این مدار نداره و فقط یکم سرعتش بالا تره
    فقط اومدن یه کریستال 8 مگ به پایه هاش وصل کردن و برنامه رو روی 8مگ تنظیم کردن.
    اگه برنامه همین رو می خواید این لینکش(فقط هگز و eep برنامه موجود هست):
    http://www.mikrocontroller.net/svnbrowser/transistortester/Software/trunk/mega8/?sortby=date
    معيار واقعي بودن تصميم، آن است که دست به عمل بزنيم.
صفحه 8 از 16 نخست 12345678910111213141516 آخرین
نمایش نتایج: از 71 به 80 از 156

موضوعات مشابه

  1. مشابه قطعات الکترونيکي
    توسط milad1393 در انجمن میکروکنترلرهای AVR
    پاسخ: 15
    آخرين نوشته: 2022/05/14, 17:06
  2. تستر قطعات!!!!!!!!!!!!!! new
    توسط نبی دوست در انجمن مباحث دیگر علم الکترونیک
    پاسخ: 1
    آخرين نوشته: 2019/03/02, 23:44
  3. تستر قطعات الكترونيك
    توسط شيلا در انجمن مدارهای آنالوگ و مدارهای مجتمع
    پاسخ: 4
    آخرين نوشته: 2015/03/01, 14:40
  4. مدار تستر قطعات الکترونيکي
    توسط arashlsh در انجمن میکروکنترلرهای AVR
    پاسخ: 4
    آخرين نوشته: 2013/10/25, 02:53
  5. دستگاه تستر قطعات
    توسط Ahp_online در انجمن میکروکنترلرهای AVR
    پاسخ: 3
    آخرين نوشته: 2010/08/27, 17:27

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •