ايران ويج

نسخه‌ی کامل: مشکل با ورودی
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
من این مدار رو درست بستم ؟

می خوام وضعیت سنسور رو شبیه سازی کنم ! باید هر وقت سوییچ بسته شد pin مربوط به اون سوییچ 1 و هر وقت باز شد صفر بشه. حالا اینجا صفر میشه ؟ احساس میکنم نمیشه ! برنامه قاطی میکنه! کدش هم اینه :

کد:
void main()
{
        char s;
        
        DDRA = 0xFF;
        PORTA.1 = 1;
        
        DDRB = 0x00;
        PORTB = 0x00;

        while (1)
        {
            s = PINB;
            if (s == 0b00001)
            {
                    PORTA.0 = 1;
            }
            else
            {
                    PORTA.0 = 0;
            }
            
            if (PORTA.1 == 1)
                    PORTA.1 = 0;
            else
                    PORTA.1 = 1;
                    
            delay_ms(50);
        }
}

من انتظار دارم ال ای دی پایه 1 A دائم چشمک بزنه (برای این گذاشتم که مطمئن باشم برنامه تو حلقه هست یا نه) و هر وقت سوییچ رو بستم ال ای دی پایه صفر هم روشن بشه و هر وقت سوییچ باز شد خاموش بشه. ولی نمیشه !
سوییچ رو می بندم ال ای دی صفر روشن نمیشه ! بعد از 7-8 بر اجرا شدن حلقه ال ای دی صفر هم روشن میشه ! چند لجظه ای روشن میمونه بعد اونم شروع میکنه به چشمک زدن ! قاطی میکنه ! اشکال کجاست ؟
می خوام دقیقا سوییچ باز شد pin صفر بشه.
مهندس عملي بستي و جواب نداده .

پايه هاي اضافي پورت ب رو هم بايد زمين كني !!
آره عملی بستم ! پروتیسم که ار کار افتاد !!

5 تا پایه اول رو (طبق کد) با همون مقاومت زمین کردم ! البته مقاومت حدود 5 اهمه . . .

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

تا حالا همیشه برای سوییچ پول آپ داخلی میذاشتم و سوییچ رو به زمین میبستم !
ولی ورودی سنسور مثبت پنج ! باید یه چیزی شبیه این ببندیم دیگه !؟ چیکارش کنم ؟!
اصلا دلم نمیخواد یه آی سی دیگه هم بیاد وسط یک های سنسور رو صفر کنه بده به میکرو ( فکر کنم بهش گیت میگن!نه؟)
مهندس همه پايه اضافه رو بايد زمين كني !
البته شما تو برنامه كل پورت رو خوندي و بهتره تك پين بخوني :
کد php:
if PINB.0==1
                    PORTA.0 
1;   
else
                   
PORTA.0 0

در ضمن مقاومت پول آپ يا پول دوون كمتر از 1 كيلو نذاري !!!

و براي شبيه سازي سنسور جاي كليد و مقاومتش رو عوض كن .
هر چند تو سنسور جاي ورودي آپ امپ رو عوش كنيم انگار خروجي سنسور را برعكس كرده ايم !

بعد مهندس مي شه تو برنامه ورودي رو خوند و با دستور NOT اونو برعكس كرد !!!
نقل قول: مهندس همه پايه اضافه رو بايد زمين كني !
آره ! اینطوری درست شد ! چرا ؟!

نقل قول: البته شما تو برنامه كل پورت رو خوندي و بهتره تك پين بخوني :
نمی خواستم جدا بحونم . . .دلیل داشت ! Biggrin

نقل قول: در ضمن مقاومت پول آپ يا پول دوون كمتر از 1 كيلو نذاري !!!
اشتباه لپی بود ! Biggrin پنج کیلو اهم . . .

نقل قول: هر چند تو سنسور جاي ورودي آپ امپ رو عوش كنيم انگار خروجي سنسور را برعكس كرده ايم !
اینم ایده خیلی باحالی بود !

مهندس خیلی خیلی ممنون ! فقط اون چرا بالا رو هم بگی همه چی حله !
چون ورودي ميكرو مقاومت بالايي داره ( وروديش CMOS هستش ) و پايه هاي اضافه نويز برق شهر رو مي گيرن و انگار يك مي شن ! ( البته با دو برابر فركانس برق شهر )

شما يه برنامه بنويس كه مثلا كل پورت آ را برابر پورت ب قرار بده و به پورت آ هشت تا ال اي دي وصل كن .
پورت ب رو هم آزاد بذار

حالا دستت رو نزديك ميكرو كن يا گوشيتو به ميكرو نزديك كن .
حتي لامپ مهتابي رو خاموش و روشن كني و حال دستتو بزن به تك تك پايه هاي پورت ب
و برو تست كن و نتيجه رو بيا همينجا اعلام كن .
عــــــــــــــــــــــــــــــــــــــجــــــــــــــــــــــــــــــــــــــــــــب !! Biggrin

میگم چرا اینطوری میشه ! من تقریبا همچین چیزی بسته بودم !! 8 تا ال ای دی !! البته سه تا از ورودی ها خالی بود . . .
همش با خودم میگفتم آخه این چه وضعیه ! دست به سوییچ میزنم یا حتی نزدیکش میشم ال ای دی ها قاطی میکنن ! اصلا سیم ها رو تکون میدم همه چی میریزه بهم !! هیچ جوری نمیتونستم الگوریتم و کدی که نوشتم رو به اتفاقی که در عمل میفته ربط بدم! اعصابم خورد شده بود !
ببین چه کارایی کردم !
فکر کردم شاید قضیه همون ریپل تغذیه ! یه خازن 1000 میکرو با ورودی تغذیه موازی کردم ! وصلش که کردم میکرو یه لحظه روشن شد بعد سوخت !! Biggrin (چرا!؟!)یه مگا 32 پرید !!
یعد اومدم یه ریسک دیگه بکنم یه 200 نانو موازی کردم که مثلا شاید جلوی نویز رو بگیرم Biggrin ولی اینم نشد !
ببخشين اون نويز تغذيه نيستش كه با خازن مي خواين بگيرين .

اون خازن 1000 هم احتمالا با ولتاژ بالايي شارژ بوده كه اين كارو كرده !

امواج الكترومغناطيسي هستش كه باعث مي شه رو ورودي آزاد ميكرو تاثير بذاره !!
نقل قول: اون خازن 1000 هم احتمالا با ولتاژ بالايي شارژ بوده كه اين كارو كرده !
چطور ؟ خازنی که گذاشتم 16 ولت بود. به این ربط داره ؟ یادمه گفته بودی ولتاژی که روش مینویسن حداکثر ولتاژیه که خازن تحمل میکنه. تاثیری تو مدار نداره و بهتر بیشر از ولتاژ تو مدار باشه.
اگه منظورت اون نبود پس چی؟ یعنی ولتاژی که به خازن دادم زیاد بود ؟ 5 ولت بود دیگه (البته یکم بیشتر نزدیک 6) . . . ولتاژ ورودی.
ولتاژی که رو خازن می نویسن حداکثر ولتاژیه که خازن میتونه تحمل کنه معنیش این نیست که بیشتر از اون شارژ نمیشه. معنیش اینه که اگه بیشتر از اون شارژ بشه خراب میشه. حالا یه بار ممکنه مشکلی پیش نیاره (نه ولتاژ خیلی زیاد) ولی بعد مدت کوتاهی از کار میفته.
این شکل مدار ورودی بود !
اتفاقی میکرو سوخت ؟!
صفحه‌ها: 1 2