اطلاعیه

Collapse
No announcement yet.

مگا32 در حالت یک منطقی 1.5 v میده. چرا؟؟؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مگا32 در حالت یک منطقی 1.5 v میده. چرا؟؟؟

    سلام دوستان

    از اون روزی که من کار با میکرو رو شروع کردم نشد یه دفعه به طور عملی جواب بگیرم. خواهش میکنم بگید مشکل کار من کجاست.

    مثلا دیروز برای بار سوم lcd کارکتری گرفتم :angry:و یه برد واسه اون ساختم بعد یه برنامه ساده با اون نوشتم که salam رو نمایش بده با proteus تست کردم جواب داد بعد رو میکرو

    پرگرام کردم جواب داد ولی برای بار دوم که رو همون میکرو همون برنامه رو پرگرام کردم دیگه کار نکرد و فقط سطر اول اون روشن میشد(مثل حالتی که فقط Vccو Gnd وصل باشه) اول فکر

    کردم میکروم مشکل پیدا کرده یه برنامه چراغ چشمک زن پرگرام کردم دیدم کار میکنه. کل اتصالات رو هم چک کردم هیچ مشکلی نداشت.قضیه به همینجا ختم نمیشه مثلا

    میخواستم دو تا میکرو رو با spi به هم وصل کنم و یه عددی رو از مستر به اسلیو بفرستم و خروجی رو نشون بدم.وقتی باproteus تست کردم جواب میده ولی در عمل یه عدد دیگه رو

    نشون میده. :cry2:

    یا مثلا دیروز یه mega32 گرفتم پرگرام میشه ولی جالب اینجاست حتی همون چراغ چشمک زن ساده هم کار نمیکنه.

    به نظر شما مشکل من کجاست؟؟

    به نظر شما میکرو های من مشکل دارن. شماها از کجا میکرو میخرید. ؟؟ جنسهای تو بازار چقدر با هم فرق میکنن

    مطمئن هستم که اشکال از اتصالات نیست چون همه رو چک کردم.



    من باید تا آخر ماه یه پرژه تحویل بدم که باید دیتا رو از طریق پروتکل CAN بفرستم و در قسمت گیرنده دیتا رو توی مموری SD ذخیره کنم ولی حتی یک قدم هم پیش نرفتم :sad: :angry: :angry:

    شرمنده وقتتون رو گرفتم. خواهش میکنم کمکم کنید.






    Work with what you have .Never limit yourself by things you could have had

    #2
    پاسخ : دارم دیوونه میشم کمکم کنید

    سلام دوست عزیز...اول بگو با چه زبانی کد مینویسی.....؟ بعدش هم به پروتئوس زیاد اعتماد نکن....شما یه کار هایی رو باید تو عمل انجام بدی که تو پروتئوس نیازی بهشون نیست..... تو اتصال بین دو تا میکرو هم به فرکانس ها خیلی توجه کن...راستی lcd رو به کدوم پورت متصل کردی...؟ یعنی بعد از اینکه یه بار جواب گرفتی برای بار دوم پورتت رو عوض کردی....؟

    دیدگاه


      #3
      پاسخ : دارم دیوونه میشم کمکم کنید

      منبع تغذیه چی داری جریانو میتونه تامین کنه خوب صافش کردی
      بهترینش به نظر من برای امتحان برق usb هستش
      انجام پروژه های برنامه نویسی اندروید
      [glow=red,2,300]نرم افزار نقشه های پاور کامپیوتر اندورید[/glow]
      http://cafebazaar.ir/app/?id=com.atxdroid

      دیدگاه


        #4
        پاسخ : دارم دیوونه میشم کمکم کنید

        در مورد spi برنامه کتاب کاهه جواب میده فقط باید دقت کنید Polarity را برای اسلیو و مستر یکسان تعریف کنید در مورد lcd تون که یه بار جواب داد و برای بار دوم دیگه جواب نداد سخت افزارتون دوباره بستین یا روی همون مدار بسته شده برنامه رو تست کردین ؟
        اگر میکروتون مگا 32 هست و از پورت c خروجی میگیرید jtag رو غیر فعال کردین ؟
        یه کار ساده هم اینه که پتانسیومتر lcd رو تغییر بدینشاید مقوت رو بیشترین مقدارش هست.ورودی خروجی بودن پورت ها رو درست تعریف میکنید؟
        چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

        دیدگاه


          #5
          پاسخ : دارم دیوونه میشم کمکم کنید

          خیلی خلاصه نوشتی و اطلاعات ندادی.
          مدارت روی برد برد ببند تا بتونی برای تست هم که شده روی مدارت تغییرات بدی.اگه یه راست روی برد لحیم کاری کنی دستت بسته میمونه.
          برای lcd اگه از atmega32 استفاده میکنی از پورت C استفاده نکن.اگه کردی باید jtag رو disable کنی.
          عجله نکن.
          برای تغذیه خروجی ترانس رو بده به 7805 جریان لازم رو میده.
          atmega32L با atmega32 یه ذره فرق داره.اونم توی کریستالش. سری L به خاطر اینکه توان مصرفیش کمتره از کریستالهای تا 8مگا هرتز استفاده میکنه.
          البته نه که کار نکنه ولی بهتره رعایت کنی تا راه بیفتی.
          ارتباط SPI یه ذره دردسر داره. سعی کن با کارای راحت تر شروع کنی

          دیدگاه


            #6
            پاسخ : دارم دیوونه میشم کمکم کنید

            نوشته اصلی توسط jh_topgraph
            سلام دوستان

            از اون روزی که من کار با میکرو رو شروع کردم نشد یه دفعه به طور عملی جواب بگیرم. خواهش میکنم بگید مشکل کار من کجاست.

            مثلا دیروز برای بار سوم lcd کارکتری گرفتم :angry:و یه برد واسه اون ساختم بعد یه برنامه ساده با اون نوشتم که salam رو نمایش بده با proteus تست کردم جواب داد بعد رو میکرو

            پرگرام کردم جواب داد ولی برای بار دوم که رو همون میکرو همون برنامه رو پرگرام کردم دیگه کار نکرد و فقط سطر اول اون روشن میشد(مثل حالتی که فقط Vccو Gnd وصل باشه) اول فکر

            کردم میکروم مشکل پیدا کرده یه برنامه چراغ چشمک زن پرگرام کردم دیدم کار میکنه. کل اتصالات رو هم چک کردم هیچ مشکلی نداشت.قضیه به همینجا ختم نمیشه مثلا

            میخواستم دو تا میکرو رو با spi به هم وصل کنم و یه عددی رو از مستر به اسلیو بفرستم و خروجی رو نشون بدم.وقتی باproteus تست کردم جواب میده ولی در عمل یه عدد دیگه رو

            نشون میده. :cry2:

            یا مثلا دیروز یه mega32 گرفتم پرگرام میشه ولی جالب اینجاست حتی همون چراغ چشمک زن ساده هم کار نمیکنه.

            به نظر شما مشکل من کجاست؟؟

            به نظر شما میکرو های من مشکل دارن. شماها از کجا میکرو میخرید. ؟؟ جنسهای تو بازار چقدر با هم فرق میکنن

            مطمئن هستم که اشکال از اتصالات نیست چون همه رو چک کردم.



            من باید تا آخر ماه یه پرژه تحویل بدم که باید دیتا رو از طریق پروتکل CAN بفرستم و در قسمت گیرنده دیتا رو توی مموری SD ذخیره کنم ولی حتی یک قدم هم پیش نرفتم :sad: :angry: :angry:

            شرمنده وقتتون رو گرفتم. خواهش میکنم کمکم کنید.
            سلام.
            دوست عزیز طبق قوانین سایت انتخاب عنوان های گنگ برای پست ها غیر مجاز می باشد.
            عنوان دقیق قوانین مرتیط:
            7- ب)انتخاب عناوین مناسب و مرتبط برای بحث ها و تاپیکها (پرهیز و دوری از ایجاد تاپیک هایی با عنوان "کمک کنید" "خواهشا....فوری فوری.." و عبارت های اینچنینی)
            لطفا پست خود را ویرایش کنید..
            سپاس گذارم
            www.icesi.ir

            دیدگاه


              #7
              پاسخ : دارم دیوونه میشم کمکم کنید

              من میدونم SPI چشه. شما باید اول برنامه یه تاخیر 300ms بذارید تا مطمئن بشید که منبع تغذیه و در کل مدار به ثبات نسبی رسیده. بعدش یه بار پایه CS رو غیرفعال و فعال کنید تا سیستم SPI در گیرنده ریست بشه و بعدش میتونید اطلاعات رو بفرستید. نکته مهم اینجاست که هر وقت با SPI کار ندارید cS رو غیر فعال کنید تا نویزهای احتمالی تو کارتون اختلال ایجاد نکنه.

              علت اینه که تو پروتئوس نویز وجود نداره.

              اون LCD هم احتمالا موقع پروگرام مجدد به میکرو وصل بوده و سیگنالهای فریبنده ای اونو اغفال کردن که به مد تک خط یا 8 بیت و ... بره. ضمنا اگه 4 بیت استفاده میکنید پایه های D0 ...D3 رو به VCC بزنید.
              بت در بغل و به سجده پیشانی ما کافر زده خنده بر مسلمانی ما
              اسلام به ذات خود ندارد عیبی هر عیب که هست در این مسلمانی ماست

              دیدگاه


                #8
                پاسخ : دارم دیوونه میشم کمکم کنید

                سلام دوستان از پاسخاتون بسیار سپاسگزارم.

                منLCDرو با mega 16 امتحان کردم.و اونو به پورت a وصل کردم.

                از پاور کامپیوتر به عنوان منبع تغذیه استفاده میکنم.

                کامپایلر هم bascom هست.

                از کریستال 4MHz برای هر دو میکرو استفاده کردم.

                نوشته اصلی توسط ali_avr_search
                خیلی خلاصه نوشتی و اطلاعات ندادی.
                مدارت روی برد برد ببند تا بتونی برای تست هم که شده روی مدارت تغییرات بدی.اگه یه راست روی برد لحیم کاری کنی دستت بسته میمونه.
                من فقط مدار مربوط به LCD رو روی بردلحیم کردم و مدار اصلی رو روی برد برد وصل کردم.

                نوشته اصلی توسط mikla
                در مورد spi برنامه کتاب کاهه جواب میده فقط باید دقت کنید Polarity را برای اسلیو و مستر یکسان تعریف کنید در مورد lcd تون که یه بار جواب داد و برای بار دوم دیگه جواب نداد سخت افزارتون دوباره بستین یا روی همون مدار بسته شده برنامه رو تست کردین ؟
                اگر میکروتون مگا 32 هست و از پورت c خروجی میگیرید jtag رو غیر فعال کردین ؟
                یه کار ساده هم اینه که پتانسیومتر lcd رو تغییر بدینشاید مقوت رو بیشترین مقدارش هست.ورودی خروجی بودن پورت ها رو درست تعریف میکنید؟
                تو کتاب کاهه که اینطور نبود ولی حتما این موردی رو که گفتید امتحان میکنم.

                روی همون مداری که قبلا بستم امتحان کردم. حتی جای یک سیم رو هم عوض نکردم. کل این اتفاق ها در عرض نیم ساعت افتاد!!!

                در مورد پتانسیومتر پایه Vo رو زمین کردم تا بیشترین کنتراست رو داشته باشم. مگه برای lcd نیازی به تعریف ورودی یا خروجی بودن پورتها هم هست.؟؟؟؟


                نوشته اصلی توسط محسن قاسم پور
                سلام دوست عزیز...اول بگو با چه زبانی کد مینویسی.....؟ بعدش هم به پروتئوس زیاد اعتماد نکن....شما یه کار هایی رو باید تو عمل انجام بدی که تو پروتئوس نیازی بهشون نیست..... تو اتصال بین دو تا میکرو هم به فرکانس ها خیلی توجه کن...راستی lcd رو به کدوم پورت متصل کردی...؟ یعنی بعد از اینکه یه بار جواب گرفتی برای بار دوم پورتت رو عوض کردی....؟

                منظور شما از توجه به فرکانسها چیه؟؟ من از کریستال 4mhz برای هر دو میکرو استفاده کردم و از تقسیم فرکانسی مساوی در برنامه هر دو میکرو استفاده کردم. نکته دیگه ای هم

                بوده که رعایت نکرده باشم.




                آقای موسوی شرمنده خودم متوجه این موضوع شدم ولی هر کاری کردم عنوان دیگه ای به ذهنم نرسید.

                تاپیک رو به دارم دیوونه میشم کمکم کنید(SPI و LCD ) تغییر دادم تا کسانی که پیگیر تاپیک هستن دچار سر در گمی نشن.

                امشب تا صبح بیدار میمونم و بازم تست میکنم. از شما عزیزان کمال تشکر رو دارم لطفا منو تنها نزارید. من تا صبح یه گزارش از کارهیی که انجام دادم رو میزارم.

                موفق باشید.



                Work with what you have .Never limit yourself by things you could have had

                دیدگاه


                  #9
                  پاسخ : دارم دیوونه میشم کمکم کنید

                  نوشته اصلی توسط mostafahk
                  من میدونم SPI چشه. شما باید اول برنامه یه تاخیر 300ms بذارید تا مطمئن بشید که منبع تغذیه و در کل مدار به ثبات نسبی رسیده. بعدش یه بار پایه CS رو غیرفعال و فعال کنید تا سیستم SPI در گیرنده ریست بشه و بعدش میتونید اطلاعات رو بفرستید. نکته مهم اینجاست که هر وقت با SPI کار ندارید cS رو غیر فعال کنید تا نویزهای احتمالی تو کارتون اختلال ایجاد نکنه.

                  علت اینه که تو پروتئوس نویز وجود نداره.

                  اون LCD هم احتمالا موقع پروگرام مجدد به میکرو وصل بوده و سیگنالهای فریبنده ای اونو اغفال کردن که به مد تک خط یا 8 بیت و ... بره. ضمنا اگه 4 بیت استفاده میکنید پایه های D0 ...D3 رو به VCC بزنید.


                  چشم آفا مصطفی موری که فرمودید رو حتما امتحان میکنم.

                  بسیار متشکر

                  موفق باشید.
                  Work with what you have .Never limit yourself by things you could have had

                  دیدگاه


                    #10
                    پاسخ : دارم دیوونه میشم کمکم کنید(SPI و LCD)

                    :applause: :applause: :applause:

                    کار کرد هم LCD هم SPI

                    و اما مشکل چی بود : پایه GND میکرو از برد برد خارج شده بود جایی که اصلا فکرش رو نمیشد کرد. من همش اتصالات مربوط به lcd رو چک میکردم در صورتی که مشکل از جایه دیگه

                    بود.

                    و اما Spi همون برنامه ای که تو قسمت پروژه های عملی علی کاهه هست رو نوشتم و کار هم کرد. مشکل این یکی رو خودم هم نفهمیدم. اما امشب برام چند تا سوال بوجود اومد

                    ولی قبلش یه مقدمه بگم.

                    من هر میکرویی رو که بخوام تست کنم یه برنامه چراغ چشمک زن پرگرام میکنم. توی این برنامه200ms بین هر toggle تاخیر میندازم. :question:زمانی که با مگا16 امتحان میکنم حدود

                    یک ثانیه تاخیر میافته در صورتی که با همون کریستال مگا32 در حدود 4 ثانیه تاخیر میندازه. من قبلا خونده بودم که برای بدست اوردن تاخیر درست باید از تایمر استفاده کرد ولی دلیله

                    این همه خطا چیه اون هم واسه دوتا میکرو مشابه که فقط در حافظه با هم تفاوت دارن؟؟؟؟ :question:

                    :question:تمامه میکروهایی که دارم lcd رو راه اندازی میکنن ولی mega32L نمیتونه. آیا تمامه میکروهای سریLowPower نمی تونن lcd رو راه اندازی کنن. :question:

                    :question:من دو تا میکرو دارم که اونها رو تازه خریدم (مثلا یکیشو همین دیروز خریدم) lcd رو با اونا تست کردم جواب داد ولی جالب اینجاست که همون چراغ چشمک زنه جواب نمیده

                    oo: پینی رو که به صورت چشمک زن تعریف کردم روشن میکنه ولی چشمک نمیزنه در ضمن با نور بسیار کم( ولتاژه پین هم 1.5 ولت هست :sad. هر دو میکرویی که گرفتم

                    همین مشکل رو دارن. :question:

                    اینجا برنامهی چراغ چشمک زن رو میزارم.

                    کد:
                    $crystal = 40000000
                    $regfile "m16def.dat"
                    Config Portc.2 = Output
                    Do
                    Toggle Portc.2
                    Waitms 200
                    Loop
                    End
                    :question:سئوال بعدی من در مورد این error هایی که bascom میده.مثلا برنامه نوشتم از خط آخر اون که end هست 6 تا خطا میگیره.

                    مثلا برنامه ی زیر:

                    کد:
                    $regfile "m16def.dat"
                    $crystal = 4000000
                    Config Kbd = Portd , Debounce = 50 , Delay = 100
                    Config Lcd = 16 * 2
                    Config Lcdbus = 4
                    Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7_
                    Rs = Porta.2 , E = Porta.3
                    Dim A As Byte
                    Main:
                    A = Getkbd()
                    If A > 15 Then Goto Main
                    Home
                    Lcd A
                    Goto Main
                    End                            'end program

                    و خطای زیر رومیده:

                    invali datatype

                    variable not dimensioned

                    و همه رو هم از خط 15 یعنی end میگیره. :question:


                    :question:سوال بعدی یکم بی ربطه من یه رگلاتور ولتاژ 3.3 ولتی گرفتم ولی خروجی اون 3.9 ولته :eek: باید چیکارش کنم. :question:

                    منتظر یاری سبزتان هستم :biggrin:

                    موفق و سربلند باشید

                    Work with what you have .Never limit yourself by things you could have had

                    دیدگاه


                      #11
                      پاسخ : دارم دیوونه میشم کمکم کنید(SPI و LCD)

                      خواهش میکنم یکی به سئوالام جواب بده.

                      من الآن 4 تا میکرو دارم که همین مشکل رو دارن(خروجیشون در حالت یک منطقی 1.5 ولت هست)

                      آقای سپاس یار شما تا حالا به این مشکل بر نخوردید.
                      Work with what you have .Never limit yourself by things you could have had

                      دیدگاه


                        #12
                        پاسخ : دارم دیوونه میشم کمکم کنید(SPI و LCD)

                        سلام
                        ببین تو برنامه اول فرکانس برنامه رو اشتباه 40 مگا هرتز گذاشتی. یعنی با 7 تا صفر. به احتمال اشتباه در زمانها به خاطر همینه. چون شما هر عددی رو اونجا بذاری محاسبات تاخیر بر اساس همون عدد محاسبه می شه. دستورهای تاخیر تقریبا دقیق هستن.
                        خطاهای کامپایلر رو هم اول باید ببینید دقیقا از کجا میاد. برای اینکار نوبت به نوبت خطها رو ببر تو کامنت و کامپایل کن. هر جا خطاها از بین رفت یعنی اون خط که کامنت شده ایجاد خطا می کنه. من اینکار رو کردم معلوم شد که همونجا که خط LCD را پیکره بندی میکنی یعنی خط زیر:
                        کد:
                        Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7
                        حرف _ یعنی UnderLine داره ایجاد خطا میکنه. اونو پاک کن ادامه خطش رو بیار پشت سرش مشکلی پیش نمی یاد. بعد کامپایل کن. به احتمال اون یه قرارداد تو کتاب کاهه هست. فکر نکنم بسکام پشتیبانی کنه.
                        در مود رگولاتور هم بگو که از چه رگولاتوری استفاده کردی. من از LF33 استفاده کردم بدون هیچ مدار اضافه برای تنظیم ولتاژ، ولتاژ 3.3 رو ازش گرفتم.
                        موفق باشی.

                        دیدگاه


                          #13
                          پاسخ : دارم دیوونه میشم کمکم کنید(SPI و LCD)

                          سلام دوست عزیز ممنون از جوابت.

                          نوشته اصلی توسط _e_
                          سلام
                          ببین تو برنامه اول فرکانس برنامه رو اشتباه 40 مگا هرتز گذاشتی. یعنی با 7 تا صفر. به احتمال اشتباه در زمانها به خاطر همینه. چون شما هر عددی رو اونجا بذاری محاسبات تاخیر بر اساس همون عدد محاسبه می شه. دستورهای تاخیر تقریبا دقیق هستن.
                          مقدار کریستال رو درست گزاشتم 6 تا صفر داره .



                          نوشته اصلی توسط _e_
                          خطاهای کامپایلر رو هم اول باید ببینید دقیقا از کجا میاد. برای اینکار نوبت به نوبت خطها رو ببر تو کامنت و کامپایل کن. هر جا خطاها از بین رفت یعنی اون خط که کامنت شده ایجاد خطا می کنه. من اینکار رو کردم معلوم شد که همونجا که خط LCD را پیکره بندی میکنی یعنی خط زیر:
                          کد:
                          Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7
                          حرف _ یعنی UnderLine داره ایجاد خطا میکنه. اونو پاک کن ادامه خطش رو بیار پشت سرش مشکلی پیش نمی یاد. بعد کامپایل کن. به احتمال اون یه قرارداد تو کتاب کاهه هست. فکر نکنم بسکام پشتیبانی کنه.

                          کاملا درسته مشکلش از همین جا بود.

                          نوشته اصلی توسط _e_
                          در مود رگولاتور هم بگو که از چه رگولاتوری استفاده کردی. من از LF33 استفاده کردم بدون هیچ مدار اضافه برای تنظیم ولتاژ، ولتاژ 3.3 رو ازش گرفتم.
                          موفق باشی.

                          من هم از همون رکلاتور استفاده میکنم. مشکل کار هو اینجا بود که ورودی /خروجی رو اشتباه میزدم :rolleyes:

                          دیگه ما آماتور ها سوتی زیاد میدیم به بزرگواری خودتون ببخشید.

                          اما در مورد این سوالم که هنوز برام حل نشده:


                          نوشته اصلی توسط jh_topgraph
                          :question:تمامه میکروهایی که دارم lcd رو راه اندازی میکنن ولی mega32L نمیتونه. آیا تمامه میکروهای سریLowPower نمی تونن lcd رو راه اندازی کنن. :question:

                          :question:من دو تا میکرو دارم که اونها رو تازه خریدم (مثلا یکیشو همین دیروز خریدم) lcd رو با اونا تست کردم جواب داد ولی جالب اینجاست که همون چراغ چشمک زنه جواب نمیده

                          oo: پینی رو که به صورت چشمک زن تعریف کردم روشن میکنه ولی چشمک نمیزنه در ضمن با نور بسیار کم( ولتاژه پین هم 1.5 ولت هست :sad. هر دو میکرویی که گرفتم

                          همین مشکل رو دارن. :question:



                          Work with what you have .Never limit yourself by things you could have had

                          دیدگاه


                            #14
                            پاسخ : مگا32 در حالت یک منطقی 1.5 v میده. چرا؟؟؟

                            سلام
                            یه مورد خیلی مهم
                            بایدpin رو اینطوری به عنوان خروجی تعریف کنی
                            config pind.2 =output
                            درغیر اینصورت دستور toggle اون pinرو روشن میکنه و روشن باقی میمونه
                            بعد بگم که ایا سر راهled مقاومت میذاری یا نه اگه نذاری چون افت مستقیم رو led
                            1.5ولت هست ولت خروجیpin رو تا1.5ولت پایین میکشه(یه مقاومت470 اهم سر راه led بذار)
                            موفق باشی

                            دیدگاه

                            لطفا صبر کنید...
                            X