PWM - Pulse Width Modulation | CCP Modules | كورس برمجة ميكروكنترولر | تعديل عرض النبضة

Поділитися
Вставка
  • Опубліковано 30 сер 2018
  • CCP Module - PWM Mode (Demo)
    Embedded Systems Tutorials - Microchip PIC Microcontrollers - MPLAB X
    [[ Tutorial #27 ]]
    You can read this exact same tutorial as a written article (in English) on my website.
    Through this link down below
    deepbluembedded.com/pwm-pulse...
    You can also check for downloadable content (code + schematics) herein in the description or on the website
    deepbluembedded.com/
    ===================================
    In this tutorial, you'll learn the fundamental of PWM signal generation with PIC Microcontrollers. Using Embedded-C programming language. You'll learn how to perform the required calculations for PWM frequency/duty cycle/resolution. We'll be using these concepts in further LABs to control the brightness of LEDs and the Speed of DC motors. So stick with me and stay tuned!
    ===================================
    You can also follow this course (with extra info) on my website (In English)
    deepbluembedded.com/pic-progr...
    You can follow this course playlist on UA-cam (In Arabic)
    • Embedded Systems Cours...
    ===================================
    For More Information
    Visit my website @ DeepBlueMbedded.com
    [[ And / Or ]]
    Follow me on socials
    LinkedIn / khaled-magdy-
    Twitter / ii_deepblue_ii
    FaceBook / khaled.elrawy.359
    ===================================
    If you've any questions, feel free to leave a comment down below.
    I will always be glad to respond to your comments as soon as possible.
    ------------
    Good Luck ^^
    And don't forget to SUBSCRIBE for more tutorials from DeepBlue!
    If you find this content useful .. Then Share It With Your Network!
    #Embedded_Systems
    #PIC_Microcontrollers
    #PWM
  • Наука та технологія

КОМЕНТАРІ • 32

  • @mohammadabomresh5706
    @mohammadabomresh5706 4 роки тому +1

    جزيت خيرا على المحتوى الرائع .. استفدت جدا .. الدراسة باللغة الأم غاية في المتعة

  • @mohammed_2212
    @mohammed_2212 5 років тому

    احسنت اخي العزيز وجدا اشكرك على الفائدة

  • @Codality
    @Codality 2 роки тому

    شكرا كتير لمجهودك الرائع

  • @abbeed1
    @abbeed1 4 роки тому

    الله يجزيك الخير

  • @mohamadali6174
    @mohamadali6174 5 років тому

    احسنت

  • @ahmednagi7074
    @ahmednagi7074 3 роки тому

    good job

  • @hammasouissi4110
    @hammasouissi4110 4 роки тому

    👍👍👍

  • @jeffersonromero7144
    @jeffersonromero7144 2 місяці тому

    It uses a capacitor of how many microfarads?

  • @abdulrahmanbadran7849
    @abdulrahmanbadran7849 4 роки тому

    What is "uint16_t" that you use to define the "DC" varaible?????

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      unsigned int 16 bit .. 2-Byte variable (16-Bit wide) can store a value ranging from 0 up to 65535
      The DC is a 10-Bit value that's why i used uint16_t for it. Note also: that stdint.h must be included.

    • @abdulrahmanbadran7849
      @abdulrahmanbadran7849 4 роки тому

      @@DeepBlueMbedded Thanks alot

  • @obaidasmd9061
    @obaidasmd9061 4 роки тому

    جزيت خيرا على المحتوى الرائع .. استفدت جدا .. الدراسة باللغة الأم غاية في المتعة
    سؤال لو تكرمت :
    طالما أن الـ Period Register هو 8 Bit
    والـ Duty Cycle Register هو 10 Bit
    عملياً ال Timer2 سيحصل له Overflow ومن ثم Reset وبالتالي سيرسل الـ Comparator إشارات أخرى قبل أن يمتلئ عداد الـ Duty cycle
    مع العلم أن الـ period هي دائماً أطول من الـ Duty Cycle .. ولكن حجم الـ Registers بالعكس !

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      كلامك صحيح لكن هذا لا يحدث. لان هناك 2 بت اهاردوير ضافية تضاف الی البيريود ف يصبح ايضا 10 بت .. يمكنك الرجوع الی الداتاشيت
      For the detailed block diagram
      و اعتقد هتاخد بالك منها اول م تبص فيه بتمعن 😀👌

  • @mostafahamed8188
    @mostafahamed8188 5 років тому

    سؤال بس دلوقتى لو انا عايز استخدم ال ccp1 وccp2 زى ما حضرتك قولت ع الموقع على نفس التردد هيبقى كده تمام ولا هيبقى فى مشكله لانهم بيستخدمو نفس التايمر ؟؟

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому +1

      بالضبط الاتنين بيستخدموا نفس التايمر ف كدة التايم بيز واحدة و بالتالى التردد هيبقا واحد للاتنين .. لكن طبعا تقدر تخلى كل واحدة فيهم تشتغل ب ديوتى سايكل مختلف زى ما تحب لان دا بيتم التحكم فيه باستخدام الريجيستر الخاص بموديول السى سى بى و دا فى عندك منه 2 على الميكروكنترولر
      ممكن واحدة 50% و التانية 70% مفيش مشاكل لكن ترددهم هيكون واحد طبعا

  • @mohamedseddikbelayati29
    @mohamedseddikbelayati29 5 років тому

    من اين يأت bit الاول و الثاني في duty cycle

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому

      لو قصدك ك هاردوير .. ف هما عبارة عن 2 لاتش موجودين مع الريجستر الاساسى ال هوا 8 بت عشان القيمة فالاخر تكون 10بت زى ما انا وضحت فالدرس دا
      اما لو قصدك ازاى نحسبها و نكتبها فالكود ك سوفتوير , ف دا هتلاقيه فالدرس ال بعد دا مباشرة فى قائمة التشغيل
      و لو لسا فى حاجة مش واضحة انا معاك ان شاء الله ^^

  • @user-ip9sv9mi9v
    @user-ip9sv9mi9v 4 роки тому

    مرحبا..ممكن تفهمني شنو قصدك بإنو الwaveform تبع الpwm تعمل capture ؟ شنو تقصد بكلمة capture هنا؟؟🖤وشكراً

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому

      انا قولت انها بتعمل كابتشر ؟ 😀
      معتقدش انی قولت كدة لا .. احنا بنكتب قيمة فی الccpr دی بتحدد الdutycycle
      و قيمة بنكتبها فالpr2 و دی بتحدد الperiod يعنی بتتحكم فی التردد الخاص بالpwm
      عشان يتم تحميل القيمة الجديدة ال حضرتك كتبتيها فالccpr register
      لازم تكون خلصت الpwm cycle الحالية
      فی نهاية الويف بيتم تحميل القيمة الحديثة للduty cycle
      دا عن طريق شیء اسمه
      Double buffering
      مش عارف انا كدة جاوبت سؤالك و لا لا 😀

    • @user-ip9sv9mi9v
      @user-ip9sv9mi9v 4 роки тому

      شكراً 🖤 كان الفرق اختلاف اللهجات ولهذا ما فهمت شنو كنت تقصد بالفيديو🖤 وعندي ملاحظة صغيرة على فيديو comare mode ..في الccp1 يحدث reset للtimer1 اما في الccp2 يحدث reset للtimer1 وتشغيل للa/d conversion يعني اقصد يوجد فرق بين ccp1 و ccp2 بcompare mode 🖤🖤

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому +1

      اها تمام .. و فعلا دا صحيح يوجد اختلاف بسيط كما هو موضح بالداتاشيت 👌

  • @user-ip9sv9mi9v
    @user-ip9sv9mi9v 4 роки тому

    مرحبا ..ممكن اسألك سؤال! 🖤 هذا السؤال كيف احله ؟calculate the PWM resolution when PR2=AFh? علماً انه بنشتغل على PIC16F877A بس ما اعرف هاي المعلومة تفيد بالحل ام لا ..المهم كيف احله ؟😥

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому

      سؤال حلو علفكرة 😀
      هی قيمة PR2 فقط مش كافية لتحديد الresolution احنا لسا عايزين نعرف كمان تردد الpwm signal و تردد الfosc و قيمة الPrescaler for timer2
      لو وقتك يسمح شوفی الحلقة دی
      ua-cam.com/video/Q2oVp05qdgg/v-deo.html
      و انا متاكد ان بعدها هتعرفی ازای تحلی السؤال و شوية معلومات زيادة كدة كمان 😀👌

    • @user-ip9sv9mi9v
      @user-ip9sv9mi9v 4 роки тому

      DeepBlue صحيح مش كافية بس دي اسئلة الاستاذ بتاعنا 🙂💔 هسا راح اشوف الحلقة وان شاءالله اعرف احله ..شكراً😥

    • @DeepBlueMbedded
      @DeepBlueMbedded  4 роки тому

      انا ب أحييه علی اسئلته دی 😀✋
      عشان الموضوع مهم جدا و الله
      و لما توصلی لدرس التحكم فالسيرفو موتور هتلاقينی بفكركم بحلقة الResolution دی
      و اهمية حسابها و التحكم فيها عشان نعرف نتحكم بدقة فی الموتور بتاعنا.
      كذلك فی حلقة الPWM To DAC conversion
      كان لازم بردو نحدد الريزولوشن و تطبيقات غيرهم كتيير جدا بيكون ضروری الكلام دا 😀

    • @user-ip9sv9mi9v
      @user-ip9sv9mi9v 4 роки тому

      DeepBlue بتحييه🌚🌚🌚 انا عارفة مهم بس السؤال ما ينحل بدون بقية المعلومات 😭

  • @user-wk6pt9iv8x
    @user-wk6pt9iv8x 3 роки тому

    بحثت في الداتا شيت وفي الموقع ومالقيت اجابة مقنعة... ليش عملوا الccp عشرة بت في التايم ديوتي؟؟ ايش الفايدة؟؟ ونفس السؤال للTMR برضو؟؟

    • @DeepBlueMbedded
      @DeepBlueMbedded  3 роки тому

      بيعطيك resolution اعلی 😀
      فكرت زيك زمان و كان دا التفسير الوحيد انو بيعطی دقة احسن اعلی من لو كان 8 بت .. شوف حلقة من esm اسمها pwm resolution هتعرف قصدی ايه

    • @user-wk6pt9iv8x
      @user-wk6pt9iv8x 3 роки тому

      @@DeepBlueMbedded اوك تمام... يعطيك العافية ^_^

  • @p100abdallahibrahemabdalla2
    @p100abdallahibrahemabdalla2 5 років тому

    مفيش طريقه اخليه يطلع pwm اكتر من 2 pins

    • @DeepBlueMbedded
      @DeepBlueMbedded  5 років тому +1

      في ايوا .. فی واحدة من حلقات ESM الجايين هشرح الموضوع دا و ازای نعملها و حساباتها و ايه الLimits بتاعتها

    • @p100abdallahibrahemabdalla2
      @p100abdallahibrahemabdalla2 5 років тому

      @@DeepBlueMbedded ياريت والله
      جزاك الله خيرا