دانلود ‫پروژه تبدیل کنتور الکترومغناطیسی به کنتور دیجیتالی اعتباری

Word 246 KB 35209 41
مشخص نشده مشخص نشده الکترونیک - برق - مخابرات
قیمت قدیم:۲۴,۰۰۰ تومان
قیمت: ۱۹,۸۰۰ تومان
دانلود فایل
  • بخشی از محتوا
  • وضعیت فهرست و منابع
  • مقدمه: در کنتور های الکترومغناطیسی و دیجیتالی مورد استفاده درکشور مشترکین پس ازمصرف برقهزینه پرداخت می کنند.قطع برق مشترکین به دلیل نپرداختن هزینه مستلزم حضور مامور شرکت برق در محلوپرداخت هزینه وصل مجدد توسط مشترک می باشد.

    عدم پرداخت هزینه برق مصرفی توسط بعضی از مشترکین شرکت برق را برآن داشت تا سعی به دریافت هزینه قبل از مصرف کند.پروژه تبدیل کنتور الکترومغناطیسی به کنتور دیجیتالی اعتباری گامی است به سوی پیشبرد این هدف.اساس کار دستگاه های اندازه‌گیری: اساس کارکلیه دستگاههای اندازه‌گیری عقربه‌ائی براساس تأثیرمیدان روی سیم حامل جریان است که مکانیسم آنها با هم فرق دارد.

    دردستگاه اندازه‌گیری با قاب گردان که در داخل میدان قرار گرفته دراثر عبورجریان(به نسبت جریان ورودی) عقربه حرکت خواهد نمود و برای اینکه با سرعت حرکت نکند از یک خفه کن استفاده می ‌شود بنام آمپر یا دمفینگ.

    نامگذاری دستگاه ها با توجه به مکانیزم آنها می باشد .مثلا اندکسیونی قاب گردان حرارتی دینامیکی...

    که از شرح جزئیات دستگاهها صرفنظر می شود.

    کنتور های اندازه ‌گیری الکتریکی کنتوروسیله‌ای است جهت سنجش اندازه‌گیری انرژی مصرفی برق که قدرت مصرفی را نسبت به زمان ثبت می ‌نماید.

    و واحد آن اگرP کیلووات و t ساعت باشد.

    W = P.t ژول = وات ثانیه چون واتهای مصرفی نسبت به زمان ثانیه خیلی خیلی زیاد است لذا با واحد بزرگترکیلووات ساعت سنجیده خواهد شد و اعدادی که نمراتورکنتورنشان می‌دهد براساس همین واحد است.

    وات ثانیه انواع کنتور: کنتورها با توجه نوع برق مصرفی به دو دسته تقسیم می شوند: 1-کنتورجریان مستقیم 2-کنتورجریان متناوب : الف- کنتورواته یا موثر تکفاز ب- کنتوردواته یا غیرموثر سه فاز کنتورجریان متناوب واته کنتوری است که مقدار انرژی مصرفی مفید (وات) را می‌سنجد.

    کنتورجریان متناوب دواته کنتوری که مقدار انرژی مصرفی غیرمفید (دواته یا وار) را اندازه گرفته و به آن وارمتر نیز گویند.

    مجموع دو قدرت واته و دواته را قدرت ظاهری گویند که بصورت برداری جمع می ‌گردد.

    که ولت آمپر واحد آن خواهد بود.

    وسیله‌ائی که قدرت ظاهری را اندازه بگیرد نداریم بنابراین ازدو وسیله ولتمتروآمپرمتراستفاده نموده و حاصل را در همدیگر ضرب می ‌کنیم.

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

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

    در اینجا به اساس کارکنتورتکفازمتناوب اکتفا می ‌کنیم.

    قستمهای مختلف کنتور القایی تکفاز (مؤثر) این نوع کنتور که بر اساس القای الکترومغناطیسی کار می کند شامل قسمتهای زیر است.

    بوبین ولتاژ بوبین جریان صفحه آلومینیمی دوار چرخ دنده و محور آهنربای دائم شماره انداز محفظه شکل1-1 1.بوبین ولتاژ: سیم پیچ ولتاژ با تعداد دور بیشتر و قطر کمترنسبت به سیم پیچ جریان(ازسیم شماره 4 برای پیچیدن آن استفاده می شود )طراحی شده است که با بار موازی می شود.

    2.بوبین جریان: این سیم پیچ جهت تحمل جریان‌های عبوری با قطر بیشتر و دور کمترطراحی شده است.

    که با بار به صورت سری قرار گرفته است.

    برای تغییر تعداد دور سیم پیچ جریان از کم و زیاد کردن ورقه های نازک دینامو(رینگ های مسی و برنجی)استفاده می شود.

    3.دیسک آلومینیومی دایره ای شکل: این دیسک هنگام مغناطیس شدن به حرکت درمی آیدو موجب به حرکت در آمدن چرخ دنده هایی که به شماره اندازمتصل اند می گردد(خلل وفرج روی صفحه برای افزایش استحکام مکانیکی صفحه قرار داده شده است).

    4.پیچ تنظیم هسته بوبین ولتاژ: این پیچ بالانس صفحه دیسک را به عهده داردتنظیم این پیچ موجب می شود تا در زمانیکه هیچ جریانی از کنتور کشیده نمی شود صفحه دیسک در حالت بالانس قرار گیرد و حرکت آن مطابق با کنتورهای استاندارد شرکت برق گردد.

    5.آهنربای دائمی نعلی شکل: این آهنربا حکم ترمزرا برای صفحه دیسک زمانیکه هیچ نیرویی به صفحه وارد نمی شود دارد.هرچه دهانه آهنربا نسبت به صفحه بیرون ترباشد خاصیت ترمزی بیشتر می گردد.

    تنظیم φ cosبه کمک پیچ روی آهنربا انجام می شود.

    اساس کار کنتور با توجه به شکل1-1 درکنتورازدوسیم پیچ استفاده شده که یکی سیم پیچ جریان با قطر بیشتر و دور کمتر جهت تحمل جریان‌های عبوری و دومی سیم پیچ ولتاژ با تعداد دور بیشترو قطر کمتر جهت تحمل فشار الکتریکی که سیم پیچ ولتاژ همیشه در مدار اتصال دارد ولی تا موقعیکه از سیم پیچ جریان بار گرفته نشود هیچگونه عکس العمل ندارد.

    سیم پیچ ولتاژ به صورت موازی وسیم پیچ جریان به شکل سری با ورودی برق مشترک قرار می گیرد.بنابراین سیم پیچ ولتاژ همیشه برق دار است و سیم پیچ جریان با استفاده مشترک از برق برق دار خواهد شد.این دو سیم پیچ به شکلی نسبت به هم قرار گرفته اند که با عبور جریان از سیم پیچ جریان, میدان مغناطیسی حاصل از دو سیم پیچ بر هم اثر می کنند.برآیند این دو میدان باعث ایجاد جریانهای فوکو در سطح صفحه آلومینیومی می شود.طبق قانون القای فاراده این جریان به همراه برآیند میدانها سبب چرخش صفحه آلومینیومی می گردد.

    F=B.L.I.sin(Φ) هر چه جریان عبوری از سیم پیچ جریان بیشتر باشد(مصرف بیشتر جریان) نیروی وارد بردیسک بیشتر ودیسک سریعتر می چرخد.

    بنابراین چرخش صفحه با مصرف رابطه مستقیم خواهد داشت.

    طبق استانداردهای شرکت کنتور سازی ایران هر 375 دور چرخش صفحه معادل یک کیلووات ساعت است.

    آشنایی مختصری با میکروکنترلرهای AVR: AVR ها میکروکنترلرهای 8 بیتی از نوع CMOS با توان مصرفی پایین هستند که بر اساس ساختار پیشرفته RISC ساخته شده اند.پس از ساخت اولین نسخه های AVRدر سال 1996این سری از میکروکنترلرها توانست نظر علاقه مندان را به خود جذب کند.به طوری که امروزه یکی از پرمصرف ترین انواع میکروکنترلرها به حساب می آید.همان طور که می دانید نمی توان هیچ نوع میکروکنترلری را به عنوان بهترین معرفی کرد چرا که هر میکروکنترلر کاربردهای خاص خود را دارد و بر اساس خصوصیات داخلی اش می تواند تنها برای موارد ویژه ای به عنوان بهترین انتخاب گردد.ولی با این حال با مطالعه صفحات بعدی و آشنایی با امکانات و نرم افزارهای جانبی AVRمتوجه خواهید شد که در کل استفاده از AVRبر بقیه ارجحیت دارد.

    AVRها با ساختار RISC دستورات را تنها در یک پالس ساعت اجرا می نمایند و به این ترتیب می توان به ازای هر یک مگا هرتزیک مگا دستور را در ثانیه (MIPS)اجرا کرده و برنامه را از لحاظ سرعت پردازش و نیز مصرف توان بهینه نمود.

    AVRها 32 رجیستر همه منظوره و مجموعه دستورات قدرتمندی را شامل می گردند.تمامی این 32 رجیستر مستقیما به ALUمتصل شده اند.بنابراین دسترسی به دو رجیستر در یک سیکل ساعت هم امکان پذیر است.این ساختار سبب می گردد تا سرعت آن نسبت به میکروکنترلرهای CISC تا10 برابرهم افزایش یابد.

    خانواده میکروکنترلرهای AVR تراشه هایی پیشرفته با امکانات جانبی کامل هستند.زمانیکه شروع به یادگیری مفاهیم اصلی آنها نمایید لذت فراگیری تمام جزئیاتشان آغازمی شود.

    میکروکنترلرهای AVRبه سه دسته تقسیم می شوند: 1.(ATtiny)Tiny AVR 2.(AT90S)Classic AVR 3.(ATmega)Mega AVR تفاوت بین این سه نوع به امکانات موجود در آنها مربوط می شود.Tiny AVRها غالبا تراشه هایی با تعداد پایه و مجموعه دستورات کمتری نسبت به Mega AVRها می باشند و به عبارتی ازلحاظ پیچیدگی حداقل امکانات را دارند.Mega AVRها حداکثرامکانات را دارند و Classic AVRها جایی بین این دو نوع قرار می گیرند.البته از آنجایی که ازبین سه دسته ذکرشده lassic AVRقبل ازدو گروه دیگر تولید شده اندامروزه در طراحی های جدید کمترازآنها استفاده می شود وعملا هر یک از آنها با تراشه ای ازگروه Mega AVRیاTiny AVR جایگزین شده اند.

    در جدول 1–2 بعضی ازانواع میکروکنترلرهای AVR که برای طراحی های جدید استفاده نمی شوندهمراه با جایگزین های مناسب برای آنها آورده شده است.

    ممکن است با مشاهده اسم میکروکنترلرهای AVRاین سوال برای شما مطرح شود که این اسم چه اطلاعاتی را در بر دارد.اولین قسمت اسم(ATmega,AT90S,ATtiny)بیانگرنوع میکروکنترلر است.بعد از این قسمت یک عدد باقی می ماند.

    در صورتی که از سمت چپ عدد باقی مانده بزرگترین توان دو را انتخاب کنید مثال(16=2^4 162)در این صورت عدد انتخاب شده میزان حافظه FLASHدرآن میکرو را بیان می کند.

    جدول1–2 بنا برآن چه گفته شد,میکروکنترلرهای AT90S8535,ATtiny13,ATtiny25 ATmega32,ATmega161, به ترتیب دارای حافظه ,flash2و1و8و16و32 کیلو هستند.البته این قاعده یک استثنا هم دارد و آن میکروکنترلرATmega103می باشد که 128کیلو بایت حافظه Flashدارد.

    علاوه بر این ممکن است در انتهای اسم میکروکنترلر پسوندی هم وجود داشته باشد مثل (ATtiny28V,ATtiny28L).تفاوت تراشه هایی که تنها پسوند اسامی آنها با هم اختلاف دارددر میزان قابل قبول برای ولتاژ تغذیه و محدوده مجاز فرکانسی کریستال مورد استفاده می باشد.

    پسوندهای V,Lرا می توان به ترتیب مخفف عبارتهای LOW POWERوVery low power دانست.به این ترتیب شاید به توان برای یک میکروکنترلر نوعی جدول 2– 2 را ارائه نمود.

    جدول 2–2: مشخصات یک میکروکنترلر نوعی با پسوندهای مختلف البته باید تاکید کنیم که مقادیرذکرشده برای تمامی میکروکنترلرها دقیقا صدق نمی کند و برای اطمینان از مقادیردقیق باید به برگه اطلاعات آنها مراجعه کنید.در حقیقت هدف از ارائه جدول 2–2 بیان این مطلب است که در انتخاب میکروکنترلر AVRدو ویژگی توان مصرفی کم و فرکانس کاری بالاتر در تضاد می باشند و بسته به شرایط باید بین این دو مصالحه ای صورت پذیرد.با توجه به تنوع میکروکنترلرهای AVR ممکن است این سوال مطرح شود که برای انجام یک پروژه کدام میکروکنترلررا انتخاب کنیم؟حقیقت اینست که اصول همه میکروکنترلرهای AVRیکی است و تفاوت آنها درمیزان حافظه موجود برروی تراشه و امکانات جانبی می باشد.وبه عنوان مثال در بعضی از انواع میکروکنترلرهای AVR ترتیب پایه ها مشابه 89C51است و می تواند به جای آنها در مدار به کاررود.علی رغم اینکه دراکثر AVRها حداکثر فرکانس داخلی 16 مگا هرتز است ولی در بعضی از انواع مثلا(ATtiny13)حداکثرفرکانس تایمرتا 64مگا هرتزافزایش یافته است.علاوه براین دربعضی ازانواع AVRبسته بندی میکروکنترلربه صورت TQFP یا MLF موجود است که کار با آنها درمقایسه با بسته بندی PDIP خصوصا برای افراد غیرحرفه ای مشکل است.

    با توجه به مطالب بالا لازم است تا قبل از انتخاب یک میکروکنترلر ,امکانات مورد نیاز خود در پروژه را مشخص نمایید و بعد آنها را با مشخصات و امکانات جانبی انواع میکروکنترلرهای AVRمقایسه کنید تا بتوانید با حداقل هزینه بهترین مورد را انتخاب کنید.

    یکی از ویژگی های جالب میکروکنترلرهایAVR در مقایسه با دیگرمیکروکنترلرها فیوز بیتها هستند.فیوز بیتها همانطورکه ازاسمشان پیداست فیوزبیتهایی هستند که در زمان برنامه ریزی تراشه قابل برنامه ریزی هستند و هر یک می تواند یکی از امکانات جانبی میکروکنترلر را فعال یا غیر فعال کندو یا نحوه استفاده از آن را مشخص نماید.ضمنا فیوز بیتها با پاک کردن میکرو پاک نمی شوند و حتی می توان آنها را قفل نمود.

    خصوصیات ATmega16: دارای 131 دستورقدرتمند است که اکثرآنها در یک سیکل ساعت اجرا می شوند.

    حافظه: 16k بایت حافظهflash قابل برنامه ریزی.

    مجهز به قسمت boot loader .

    512 بایت حافظه EEPROMداخلی.

    1k بایت حافظه SRAM داخلی.

    قفل قابل برنامه ریزی برای امنیت نرم افزار.

    امکانات جانبی: ارتباط JTAG شامل اسکن کردن امکانات جانبی پشتیبانی از دیباگ کردن تراشه و برنامه ریزی حافظه های Flash,EEPROMفیوزبیت های قفل.

    دو تایمر /کانتر 8 بیتی با تقسیم کننده فرکانسی مجزا و دارای مد compar.

    یک تایمر /کانتر 16 بیتی با تقسیم کننده فرکانسی مجزا و دارای مد هایcompar,capture.

    دارای RTC(real–time clock).

    چهار کانال PWM.

    8 کانال ,ADC10بیتی.

    8 کانال تک پایه .

    7 کانال تفاضلی در بسته بندی TQFP.

    2 کانال تفاضلی با بهره قابل تنظیم1X,10X,و20X.

    ارتباط سریال دو سیمه(Two wire).

    USARTسریال قابل برنامه ریزی.

    ارتباط سریال SPIبه صورت slave/master.

    Watchdog قابل برنامه ریزی با اسیلاتور مجزای داخلی .

    مقایسه کننده آنالوگ داخلی.

    دارای شش مد sleep : Idle,ADC Noise reduction,Power–save,Power–down,Standby,Extended standby ولتاژهای عملیاتی: V2.7 تا v5.5 برای ATmega16L.

    V4.5 تا V5.5 برای ATmega16.

    فرکانس های کاری: MHZ0 تا MHZ8 برای ATmega16L.

    MHZ0 تا MHZ16 برای ATmega16.

    خطوط I/O وانواع بسته بندی : 32 خط ورودی/خروجی قابل برنامه ریزی.

    40 پایه در نوع PDIPو44 پایه در انواع TQFP,MLF.

    خصوصیات 8ATmega: دارای 130 دستور قدرتمند است که اکثر آنها در یک سیکل ساعت اجرا می شوند.

    حافظه: K8 بایت حافظهflash قابل برنامه ریزی.

    امکانات جانبی: دو تایمر /کانتر 8 بیتی با تقسیم کننده فرکانسی مجزا و دارای مد compar.

    دارای RTC(real – time clock).

    8 کانال ADC دربسته بندی های TQFP و MLF.

    شش کانال با دقت 10 بیت.

    چهار کانال با دقت 8 بیت.

    6 کانال ADC در بسته بندی PDIP.

    چهار کانال با دقت 10 بیت.

    دو کانال با دقت 8 بیت.

    Watchdog قابل برنامه ریزی با اسیلاتور مجزای داخلی.

    اسیلاتور RC داخلی کالیبره شده.

    دارای پنج مد sleep: Idle,ADC Noise sleep reduction,Power–save,Power–down,Standby ولتاژهای عملیاتی: V2.7 تا v5.5 برای L 8ATmega.

    V4.5 تا V5.5 برای 8ATmega.

    فرکانس های کاری: MHZ0 تا MHZ8 برای L 8ATmega.

    MHZ0 تا MHZ16 برای 8ATmega.

    خطوط I/O وانواع بسته بندی : 23 خط ورودی/خروجی قابل برنامه ریزی.

    28 پایه در نوع PDIPو32 پایه در انواع TQFP,MLF.

    EEPROM های خانواده AT24CXX: EEPROM های خانواده AT24CXX داده ها را به صورت ارتباط سریال I2C انتقال می دهند.اندازه حافظه این EEPROM ها از 1K تا 1M بیت تغییر می کند.این حافظه ها ساخت شرکت Atmel هستند و کاربا آنها به سادگی درمیکروکنترلرهای که ازارتباط I2C حمایت می کنند و حتی در میکروکنترلرهای ساده بدون قابلیت I2C نیز به راحتی انجام می گیرد.

    معرفی تراشه AT24C01: ویژگی ها: مصرف کم و کار با ولتاژهای استاندارد (Vcc=4.5 to 5.5v)5.0 – (Vcc=2.7 to 5.5v)2.7– (Vcc=2.5 to 5.5v)2.5 – (Vcc=1.8 to 5.5v)5.5 – سازماندهی حافظه داخلی به صورت 128*8(1k) در AT24C01 و به صورت مشابه برای مابقی آنها.

    قابلیت ارتباط سریال دو سیمه.

    مجهزبه اشمیت تریگروفیلتردرورودیها برای حذف نویز.

    پروتکل انتقال داده به صورت دو طرفه.

    کار با فرکانس100KHZ با ولتاژهای(1.8V,2.5V,2.7V) و 400KHZبا ولتاژ5V) ( .

    مجهز به پایه حفاظت ازنوشتن (Wire Protect) برای حفاظت ازداده ها به صورت سخت افزاری.

    صفحه هشت بایتی درحافظه های باحجم 1kو 2k و صفحه 16بایتی درحافظه های با حجم 16k,8k,4k.

    امکان نوشتن قسمتی ازیک صفحه.

    قابلیت اعتماد بالا: – تحمل: یک بیلیون بار نوشتن.

    – حفظ اطلاعات: برای 100سال.

    –8 پایه و 16 پایه درانواع بسته بندی SOICو JEDECو 8 پایه در انواع بسته بندی TSSOP,MSOP,PDIP.

    جدول عملکرد AT24C01: حافظهAT24C01 دارای 1024 بیت حافظه خواندنی سریال قابل برنامه ریزی با امکان پاک کردن به صورت الکتریکی را تامین می کند.این تراشه برای استفاده دراکثرکاربرد های صنعتی و تجاری که در آنها توان مصرفی کم و ولتاژ پایین لازم استمناسب هستند.ویژگی های الکتریکی این تراشه درجدول 1– 3 ذکر شده است.

    جدول3 – 1 معرفی پایه ها : پایه (Serial clock) SCL: ازلبه مثبت کلاک این پایه برای ورود داده به تراشه EEPROM و ازلبه منفی آن برای خروج داده ازتراشه استفاده می گردد.

    پایه (Serial Data)SDA: پایه SDA برای انتقال دوطرفه داده ها به صورت سریال استفاده می شود.این پایه به صورت open_drain است ومی تواند با چند وسیله open–drain یا open–collector دیگر OR گردد.

    پایه های(Device/page Address)A2:0 پایه های A2,A1,A0ورودیهای آدرس تراشه AT24C01 هستند.در این صورت حداکثر می توان هشت حافظه 1K را از طریق یک باس SPI آدرس دهی نمود.

    پایهwrite protect) WP): تراشه AT24C01 یک پایه WP دارد که برای حفاظت از داده های موجود برروی حافظه دربرابر نوشتن به کار می رود.

    زمانی که این پایه به زمین (GND) متصل باشد اعمال خواندن و نوشتن به صورت طبیعی انجام می شوند.هنگامی که این پایه به Vcc متصل گرددقابلیت حفاظت ازنوشتن فعال می گردد.

    نحوه عملکرد حافظه: انتقال داده و کلاک : معمولاپایه SDA توسط یک وسیله خارجی بالانگه داشته می شود.داده موجود بر روی پایه SDA تنها زمانیکه SCL پایین است تغییرمی کند.تغییرات داده درزمانیکه پایه SCL بالا است یک حالت شروع یا توقف را بیان می کند.

    حالت شروع(start condition): تبدیل سطح پایه SDA ازیک به صفردرزمانیکه پایه SCL بالا استیک حالت شروع را تولید می کند که به دنبال آن می تواند هر دستوردیگری ارسال گردد.

    حالت توقف(stop condition): با تبدیل سطح پایه SDA از صفر به یک در زمانیکه پایه SDA بالا است یک حالت توقف تولید می شود.

    تصدیق(Acknowledge): تمامی آدرسها و کلمات داده به صورت سریال و در قالب کلمات 8 بیتی بین EEPROM وبه وسیله Master جابجا می شوند.EEPROM با دریافت آخرین بیت داده در کلاک نهم یک صفرارسال می کند تا به این ترتیب دریافت صحیح بایت را تایید نماید.

    حالت Standby: تراشه AT24C01از یک حالت standby برای کاهش توان مصرفی استفاده می کند.این حالت پس ازاتصال تغذیه به آن ویا بعد ازدریافت حالت توقف واتمام همه عملیات های داخلی فعال می گردد.

    ارتباط سریال دو سیمه I2C) یا:(TWI ارتباط سریال دو سیمه یک پروتکل ارتباطی سریال است که توسط شرکت Philips ارائه شده است.قابلیت های ارتباط سریال دو سیمه به صورت زیر است: – یک واسطه ارتباطی ساده و درعین حال انعطاف پذیروقدرتمند که تنها به دو خط باس نیازدارد.

    – می تواند به صورت Master یا slave کار کند.

    – وسیله می تواند به عنوان فرستنده یا دریافت کننده عمل کند.

    – با داشتن فضای آدرس 7 بیتی می تواند حداکثرتا 128 وسیله slave مختلف را آدرس دهی کند.

    – از وجود چند Master حمایت می کند.

    – حداکثر سرعت آن می تواند به 400KHZ برسد.

    – به مدار حذف کننده نویز داخلی که اسپایکهای موجود بر روی خط باس را حذف می کند مجهز است.

    – امکان تنظیم کامل آدرس Slave و حمایت ازفراخوانی های عمومی را دارد.

    – در صورتیکه آدرس مربوط به خود را تشخیص دهد می تواند AVR را ازمدsleep بیدارکند.

    عموما واسطه ارتباط سریال دو سیمه برای کاربا میکروکنترلرها مناسب به نظرمی رسد.

    پروتکل PWI این امکان را به طراح می دهد تا حداکثر 128 وسیله مختلف را تنها با استفاده ازدو خط باس دوطرفه یکی برای پالس ساعت(SCL) و دیگری برای داده (SDA) به یکدیگرمتصل کند.تنها سخت افزارخارجی که برای ایجاد این باس لازم است یک مقاومت pull–up برای هر یک از خطوط باس است.تمامی وسایل متصل به باس آدرسهای خاص خود را دارند و نحوه ارتباط بین آنها نیز توسط پروتکل TWI مشخص می شود.

    درتمامی وسایلی که از TWIحمایت می کنند درایوهای باس به صورت open–drain یا open–collector می باشند.

    این ویژگی موجب می شود تا به صورتwire–and عمل کنندکه این برای عملکرد صحیح باس ضروری است.بنابراین یک سطح پایین در خط باس TWI زمانی تولید می شود که خروجی یک یا چند وسیله صفر باشد و سطح بالا نیز تنها زمانی که تمامی وسایل TWI در حالت امپدانس بالا باشندحاصل می گردد.

    تعداد وسایل مجازبرای اتصال به یک باس تنها توسط محدودیت ظرفیت باس که حداکثرباید 400 pf باشد و نیزفضای آدرس7بیتی slave مشخص می گردد.

    صفحه کلید ماتریسی: صفحه کلید ماتریسی (کیبوردها) از متداولترین وسایل ارتباطی برای انواع میکروکنترلرها و میکروپروسسورها به شمار می آیند.مسئله مهم در آنها تشخیص کلید فشار داده شده است.

    در صفحه کلید ماتریسی برای تشخیص کلید فشار داده شده (مطابق برنامه ای که در ادامه بیان می کنیم) میکروکنترلربه ترتیب تمامی ستونها را صفر می کند و سپس ردیفها را می خواند.اگرمقداریکی از ردیفها صفرباشد یعنی کلیدی فشرده شده است.

    شمای کلی پروژه: برنامه نرم افزاری کنتور دیجیتالی اعتباری : نرم افزارپروژه به کمک زبان برنامه نویسی Codvitionنوشته شده است.

    نرم افزارو سخت افزار پروژه شامل سه بخش کارت حافظه کنتورو شارژرمی باشد.

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

    کنتور با اتصال کارت شارژ مبلغ شارژشده را دریافت می کند و از آن پس به کارخود ادامه می دهد(پس ازاتمام مبلغ شارژ شده کنتوربعد ازاعلام چندین اخطاربرق مصرف کننده را قطع می کند).

    کارت حافظه شامل یک EEPROM با ظرفیت 1Kbاست که به صورت I2C با میکرودرارتباط است.که سخت افزار آن در شکل 1– 4 آمده است.

    شکل 1–4 نرم افزارشارژر: پس اززدن کارت ازکاربرخواسته می شود که عدد شارژ را وارد نمایدسپس با فشردن کلیدF2 عدد مورد نظردرحافظه نوشته می شود.با فشردن کلیدF3می توان ازصحت عدد نوشته شده درحافظه اطمینان حاصل کرد.

    /********************************************* Project : SHARGER Date : 10/12/2007 Chip type : ATmega8 Program type : Application Clock frequency : 1.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 256 معرفی تراشه و توابع کتابخانه ای ********************************************/ #include #include #asm .equ __i2c_port=0x15 .equ __sda_bit=3 .equ __scl_bit=4 #endasm #include #define eeprom_bus_address 0xa0 یافتن ردیف کلید فشرده شده //************************************************ int s,r,c; int ROW_FIND() { if(PIND.4==0){ s=1; r=0; } if(PIND.5==0){ s=1; r=1; } if(PIND.6==0){ s=1; r=2; } if(PIND.7==0){ s=1; r=3; } return r; } تابع ارسال فرامین به LCD //*********************************** void command(char c) { PORTB=c; PORTC.0=0;PORTC.1=0;PORTC.2=1;PORTC.2=0; delay_ms(4); } تابع ارسال دیتا به LCD //************************************ void dis(char d) { PORTB=d; PORTC.0=1;PORTC.1=0;PORTC.2=1;PORTC.2=0; delay_ms(4); } خواندن از حافظه //******************************************************************* unsigned char eeprom_read(unsigned char address){ unsigned char data=0; i2c_start(); i2c_write(eeprom_bus_address);; i2c_write(address); i2c_start(); i2c_write(eeprom_bus_address | 1); data=i2c_read(0); i2c_stop(); return data; } نوشتن در حافظه //****************************************************************** void eeprom_write(unsigned char address,unsigned char data) { i2c_start(); i2c_write(eeprom_bus_address); i2c_write(address); i2c_write(data); i2c_stop(); delay_ms(10); } برای وارد کردن عدد شارژ با نمایش پیغام ENTER NAMBER بر روی LCD از کاربر خواسته می شود تا عدد مورد نظر را وارد کند.

    //********************************************************************* void number(void) { char n; char lcd_buffer1[16]={'*','*','*','*','*','E','N','T','E','R','*','*','*','*','*',' '}; char buffer[16]={'*','*','*','*','*','N','U','M','B','E','R','*','*','*','*','*'}; command(0x01); command(0x80); for(n=0;n dis(lcd_buffer1[n]); } command(0xc0); for(n=0;n dis(buffer[n]); } } برای نوشتن عدد شارژ بر روی کارت حافظه با نمایش پیغام FOR WRITE F2 بر روی LCD از کاربر خواسته می شود تا کلید F2 را فشار دهد.

    //************************************************************ void write(void) { char n; char lcd_buffer1[16]={'*','F','O','R',' ', 'W','R','I','T','E',' ',':',' ', 'F','2','*'}; command(0xc0); for(n=0;n dis(lcd_buffer1[n]); } } برای اطمینان از صحت عدد شارژ بر روی کارت حافظه با نمایش پیغام FOR WRITE F3 بر روی LCD از کاربر خواسته می شود تا کلید F3 را فشار دهد.

    //************************************************* void complete(void) { char n; char lcd[16]={'*','*','F','O','R',' ', 'R','E','A','D',' ',':','F','3','*','*'}; command(0xc0); for(n=0;n dis(lcd[n]); } } برخی از کلیدهای صفحه کلید غیر قابل استفاده اند.

    در صورتیکه کاربرناخواسته هر کدام از این کلید ها را فشار دهد پیغام NO USE بر روی LCD نمایش داده می شود.

    //************************************************* void use(void) { char n; char lcd_buffer1[16]={'*','*','*','*','*','N', 'O',' ','U','S','E','*','*','*', '*','*'}; command(0xc0); for(n=0;n dis(lcd_buffer1[n]); } } معرفی متغیرها پورت های مورد استفاده و تشخیص کلید فشرده شده.

    //************************************************* void main(void) { char code [4][4]={{1,2,3,11},{4,5,6,10},{7,8,9,15},{12,0,13,14}}; unsigned char key,m,n,z=0,t,k,p,i,j,data1,buffer[5]; PORTB=0x00; DDRB=0xFF; DDRD=0x0F; PORTC=0x00; DDRC=0x27; i2c_init(); command(0x38); command(0x0c); number(); while (1) { L1: PORTD=0xF0; if(PIND==0xF0) goto L1; else delay_ms(100); if(s!=1){ c=0; PORTD=0XFE; r=ROW_FIND(); l5: if(PIND!=0xFE) goto l5; } if(s!=1) { c=1; PORTD=0XFD; r=ROW_FIND(); l4: if(PIND!=0xFD) goto l4; } if(s!=1) { c=2; PORTD=0XFB; r=ROW_FIND(); l2: if(PIND!=0xFB) goto l2; } if(s!=1) { c=3;PORTD=0XF7; r=ROW_FIND(); l3: if(PIND!=0xF7) goto l3; } if(s!=0){ s=0; key=code[r][c]; if(key==11){ n=n--; m=m--; k--; command(0x82+n); dis(' '); } if(key==12 || key==13 || key==14 ) use(); else if(key==15){ command(0x89); dis('R');dis(':'); for (n=0;n data1=eeprom_read(n); command(0x8b+n); dis(data1+48); } for(n=0;n command(0xc0+n); dis(' '); } } else if(key!=10 & key!=11){ k=k++; if(z!=1) { command(0x01); n=0; z=1; } command(0x80); dis('W');dis(':'); command(0x82+n); dis(key+48); buffer[m]=key; n=n++; m=m++; write(); } else if(key==10 ){ p=5-k; if(p!=0){ p--; for(i=0;i eeprom_write(i, 0x00); } } m=0; for (j=i;j eeprom_write(j, buffer[m]); m++; } k=0; m=0; n=0; t=1; if(t!=0) { complete(); t=0; } } } }; } طرح شماتیک سخت افزار شارژر: 2-نرم افزار کنتور : کنتوربا شروع کارخود ازمصرف کننده می خواهد تا کارت شارژرا درون دستگاه قرار دهد.

    میکروبا خواندن مقدارشارژ که برحسب KWh است به مصرف کننده اجازه استفاده ازبرق را می دهد.

    برای بالا بردن ضریب امنیت میکرو پس ازخواندن مقدارشارژمبلغ صفررا درون حافظه می نویسد.

    همانطور که می دانیم درکنتورهر375 دورصفحه آلومینیومی معادل با 1kwh می باشد.هردورچرخش صفحه به وسیله سنسورهای مادون قرمزحس می گردد .پس از دریافت 375 پالس ارسالی از سنسورهای مادون قرمز وقفه سرریزتایمرمیکرو فعال می گردد(تایمردرمد کانترتعریف شده است) در وقفه تایمرازمبلغ شارژکاسته می شود.

    قبل از اینکه مقدارشارژبه پایان برسد میکروبا نوشتن پیغام روی LCD و روشن و خاموش کردن LED قرارداده شده روی کنتوربه مصرف کننده اخطار می دهد و درنهایت برق را توسط کنتاکتور قطع می کند.

    /*************************************************************** Project : kontor Date : 10/16/2007 Chip type : ATmega16 Program type : Application Clock frequency : 1.000000 MHz Memory model : Small External SRAM size : 0 Data Stack size : 256 معرفی تراشه و توابع کتابخانه ای *********************************************/ #include #include #include #include #include #asm .equ __i2c_port=0x18 .equ __sda_bit=4 .equ __scl_bit=3 #endasm #include #define eeprom_bus_address 0xa0 تعریف متغیرهای عمومی //*************************************************************** char data1,lcd_buffer[6],str[20]; int n=0,k=5; unsigned long int z=0,q,s=0,a; خواندن از حافظه //*************************************************************** unsigned char eeprom_read(unsigned char address){ unsigned char data=0; i2c_start(); i2c_write(eeprom_bus_address);; i2c_write(address); i2c_start(); i2c_write(eeprom_bus_address | 1); data=i2c_read(0); i2c_stop(); return data;} نوشتن در حافظه //****************************************************************** void eeprom_write(unsigned char address,unsigned char data){ i2c_start(); i2c_write(eeprom_bus_address); i2c_write(address); i2c_write(data); i2c_stop(); delay_ms(10);} تابع ارسال فرامین به LCD //****************************************************************** void command(char u){ delay_ms(10); PORTA=u; PORTD.6=0;PORTD.5=0;PORTD.4=1;PORTD.4=0;} تابع ارسال دیتا بهLCD //*************************************************************** void dis(char r){ delay_ms(10); PORTA=r; PORTD.6=1;PORTD.5=0;PORTD.4=1;PORTD.4=0;} هنگام روشن کردن دستگاه با نمایش پیغام PLEASE PUT CARD از کاربر خواسته می شود تا کارت شارژ را درون کانکتور قرار دهد.

    //********************************************************************* void putcard(void) { char lcd_buffer1[16]={'*','P','L','E','A','S','E',' ','P','U','T',' ','C','A','R','D'}; command(0x01); command(0x80); for(n=0;n dis(lcd_buffer1[n]); } } بعد از وارد کردن کارت با فشردن کلید روی جعبه(که به وقفه خارجی متصل است) عدد شارژخوانده شده و در حافظه عدد صفر نوشته می شود.

    //******************************************************************* interrupt [EXT_INT0] void ext_int0_isr(void) { z=0,k=5,data1=0; n=0; delay_ms(500); command(0x01); for (n=0;n data1=eeprom_read(n); if(data1!=0 ) { z=z+1; if(n==4) z=z-1; } PORTC=data1; command(0x80); k=k-1; z=(data1*(pow(10,k)))+z; } s=z+q; if(s>=88880) PORTC.1=0; q=s; for (n=4;n>=0;n--) { eeprom_write(n,0x00); } } بعد ازتشخیص 375 دور چرخش صفحه آلومینیمی توسط سنسورهای مادون قرمز در وقفه سرریز تایمر یک از مبلغ شارژ کاسته می شود.

    //***************************************************************** interrupt [TIM1_OVF] void timer1_ovf_isr(void) { TCNT1H=0xFF;TCNT1L=0xFB; q=q-1; } در تابع اصلی برنامه زمانیکه مقدار شارژ به پایان برسد با صفر شدن پایه PORTC.1 در میکروبرق مصرف کننده توسط کنتاکتور قطع خواهد شد.

    //***************************************************************** void main(void) { long int c; PORTA=0x00;DDRA=0xFF; PORTC=0x00;DDRC=0xFF; PORTD=0x04;DDRD=0xF0;PORTC.1=0; i2c_init(); #asm ("sei") ; GICR|=0x40; MCUCR=0x02; MCUCSR=0x00; GIFR=0x40; ACSR=0x80;SFIOR=0x00; TCCR1A=0x00;TCCR1B=0x07;TCNT1H=0xFF; TCNT1L=0xFB; TIMSK=0x04; command(0x38); command(0x0c); command(0x01); putcard(); //****************************************************************************** while (1) { command(0xc0); dis('S'); dis('H'); dis('A'); dis('R'); dis('G'); dis('E'); dis(':'); command(0x80); for(n=0;n dis(' ') ;} delay_ms(10); n=4; a=q; for(n=4;n>=0;n--) { c=a%10; a=a/10; lcd_buffer[n]=c; } for(n=0;n command(0xc7+n); dis(lcd_buffer[n]+48) ; } command(0xcd); dis('K'); dis('W'); dis('H'); if(q command(0x80); dis('!'); dis('!'); dis('!'); dis('!'); dis('N'); dis('O'); dis(' '); dis('S'); dis('H'); dis('A'); dis(' R'); dis('G'); dis('!'); dis('!'); dis('!');dis('!'); PORTC.0=1; delay_ms(100); PORTC.0=0; delay_ms(100); } if(q==88880) PORTC.1=1; }; } طرح شماتیک سخت افزاربخش مربوط به کنتور: منابع و مآخذ: میکرو کنترلر AVR ـ امیر ره افروز الکترونیک قدرت ـ رشید تکنیک پالس ـ معتمدی جایگزین مناسبتراشه قدیمیATtiny23213AT90S1200ATtiny2313AT90S2313ATtiny25AT90S2323ATtiny25AT90S4433ATmega8AT90S8515ATmega8515AT90S8535ATmega8535ATmega103ATmega128ATmega161ATmega16ATmega163ATmega32ATmega323 اسم میکروکنترلرمحدوده ولتاژ تغذیهفرکانس قابل قبول کریستالمیکروکنترلر AVR بدون پسوند4 – 5.5V0 – 16MHZمیکروکنترلر AVR با پسوند L2.7 – 5.5V0 – 8MHZمیکروکنترلر AVR با پسوندV1.8 – 5.5V0 – 4MHZ FunctionPin nameAddress inputA0-A2Serial dataSDASerial clock inputSCLWire protectWPNo conectNC -55 C تا +125 Cدرجه حرارت مجاز-1.0 V تا +7.0 Vولتاژ مجاز برای پایه های ورودی و خروجی6.25 Vحداکثر ولتاژ تغذیه مجاز5.0 Maحداکثر جریان DCخروجی

  • فهرست:

    مقدمه....................................................................................................2

    فصل اول :

            – اساس کاردستگاههای اندازه‌گیری ......…………….…......………........…….... 3      

            – اساس کارکنتورالقایی تکفاز..........................................................................5

    فصل دوم :

    –آشنایی با میکروکنترلرهای AVR .................................................................6

           – مشخصات میکروکنترلرATmega16...........................................................9

    مشخصات میکروکنترلرATmega8...........................................................11

    فصل سوم :

    EEPROM –       های خانواده AT24CXX..........................................................13

     –       ارتباط سریال دو سیمه I2C) یا (TWI...........................................................15

           – صفحه کلید ماتریسی ................................................................................16

    فصل چهارم :

           – برنامه نرم افزاری شارژر.........................................................................17

           – طرح شماتیک سخت افزارشارژر................................................................25

           – برنامه نرم افزاری کنتور..........................................................................26

           – طرح شماتیک سخت افزارکنتور..................................................................31

     

    منبع:

     

    میکرو کنترلر AVR    امیر ره افروز

    الکترونیک قدرت رشید

    تکنیک پالس معتمدی

    .

تعریف ترانسفورماتور ترانسفورماتور یکی از وسائل بسیار مهم تبدیل کمیات جریان و ولتاژ الکتریکی متناوب است: که برخلاف ماشین های الکتریکی که انرژی الکتریکی و مکانیکی را بهم تبدیل میکند: ترانسفورماتور در نوع انرژی تغییری نمی دهد. بلکه ولتاژ جریانی را با همان فرکانس ولی متناوب از نظر مقدار تبدیل مینماید یا با بیان دیگر ترانسفورماتور یک وسیله الکترومغناطیسی ساکن است که میتواند انرژی ...

فصل اول خطوط انتقال انرژی تولیدی توسط نیروگاه ها جهت مصرف بایستی به نقاط مختلف کشور انتقال داده شود زیرا کل تولید یک نیروگاه در بیشتر از مصرف آن منطقه می باشد بدین منظور انرژی بوجود آمده که در نقاط دیگر مورد نیاز می باشد توسط خطوط هوائی که عمدتاً فشار قوی هستند و قادرند با ولتاژهای بالا انرژی برق را به مسافت های دور برسانند و انتقال داده شود. انتقال انرژی الکتریکی توسط خطوط ...

مقدمه :          اکنون بیش از نود سال تاسیس کارخانه برق شهری در ایران می‌گذرد و حدوداً سی سال تحت این مدت موسسات تولید و توزیع برق کلاً در دست بخش خصوصی بوده نه تنها صاحبان و مدیران آنها در گذشته‌اند بلکه متأسفانه دفاتر و اسناد مرتب و مدونی در دست نیست و در بیشتر موارد حتی یک نکته روشن کننده مطلب هم دشوار بدست می‌آید.     فصل اول ...

مقدمه :          اکنون بیش از نود سال تاسیس کارخانه برق شهری در ایران می‌گذرد و حدوداً سی سال تحت این مدت موسسات تولید و توزیع برق کلاً در دست بخش خصوصی بوده نه تنها صاحبان و مدیران آنها در گذشته‌اند بلکه متأسفانه دفاتر و اسناد مرتب و مدونی در دست نیست و در بیشتر موارد حتی یک نکته روشن کننده مطلب هم دشوار بدست می‌آید. فصل اول تاریخچه ...

مقدمه :          اکنون بیش از نود سال تاسیس کارخانه برق شهری در ایران می‌گذرد و حدوداً سی سال تحت این مدت موسسات تولید و توزیع برق کلاً در دست بخش خصوصی بوده نه تنها صاحبان و مدیران آنها در گذشته‌اند بلکه متأسفانه دفاتر و اسناد مرتب و مدونی در دست نیست و در بیشتر موارد حتی یک نکته روشن کننده مطلب هم دشوار بدست می‌آید. فصل اول   ...

قوانین اساسی در برق: 1- قانون اُهم: با توجه به این که ولتاژ باعث جاری شدن جریان الکتریکی در مدار بسته می شود و مقاومت با عبور جریان مخالفت می کند رابطه بین ولتاژ جریان و مقاومت وجود دارد که اولین بار توسط جرج سیمون اهم فیزیک دان آلمانی کشف شد و به نام قانون اُهم معروف است این قانون به صورت زیر بیان می شود مقدار جریان در یک مدار جریان مستقیم با ولتاژ آن نسبت مستقیم و مقاومت آن ...

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

ژنراتورها وموتورهای الکتریکی مقدمه: ژنراتورها و موتورهای الکتریکی گروه از وسایل استفاده شده جهت تبدیل انرژی مکانیکی به انرژی الکتریکی یا برعکس . توسط وسایل الکترومغناطیس هستند . یک ماشینی که انرژی الکتریکی به مکانیکی تبدیل می کند موتورنام دارد. وماشینی که انرژی مکانیکی را به انرژی الکتریکی تبدیل می کند ژنراتور یا آلترناتور یامتناوب کننده یا دینام نامیده می شود . دو اصل فیزیکی ...

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

خلاصه گزارش در این گزارش سعی شده است که با رعایت اختصار گوشه ای از قسمت عظیم و گسترش انتقال الکتریکی تشریح شود .در مقدمه این گزارش آشنایی با مشخصات کلی الکتریکی پست 63 کیلو ولتی کمال آباد کرج آمده است . در بخش نخست گزارش دلایل وجود پست های فشار قوی و همچنین انواع آنها با توجه به استانداردهای موجود شرح داده شده دربخش دوم گزارش مهمترین و اساسی ترین تجهیزات تشکیسل دهنده پست به ...

ثبت سفارش
تعداد
عنوان محصول