{"id":1095,"date":"2025-09-21T15:23:26","date_gmt":"2025-09-21T11:53:26","guid":{"rendered":"https:\/\/ilk.ir\/sahifa\/?p=1095"},"modified":"2025-09-21T15:25:31","modified_gmt":"2025-09-21T11:55:31","slug":"%d9%be%db%8c%d8%a7%d8%af%d9%87%d8%b3%d8%a7%d8%b2%db%8c-spwm","status":"publish","type":"post","link":"https:\/\/ilk.ir\/sahifa\/world\/%d8%a7%d9%84%da%a9%d8%aa%d8%b1%d9%88%d9%86%db%8c%da%a9\/%d9%be%db%8c%d8%a7%d8%af%d9%87%d8%b3%d8%a7%d8%b2%db%8c-spwm\/","title":{"rendered":"\u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc SPWM \u062f\u0631 Raspberry Pi Pico (MicroPython)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">\u0628\u0644\u0647\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646\u0637\u0642 \u062a\u0648\u0644\u06cc\u062f \u0645\u0648\u062c SPWM \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0631\u0648\u06cc <strong>Raspberry Pi Pico<\/strong> \u062a\u0637\u0628\u06cc\u0642 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0647\u200c\u062c\u0627\u06cc \u0631\u0633\u0645 \u0646\u0645\u0648\u062f\u0627\u0631 \u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc\u060c \u067e\u0627\u0644\u0633\u200c\u0647\u0627\u06cc PWM \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u067e\u06cc\u0646 GPIO \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0645\u0627 \u06cc\u06a9 \u0646\u06a9\u062a\u0647 \u0645\u0647\u0645: \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc <strong>NumPy<\/strong> \u0648 <strong>Matplotlib<\/strong> \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0645\u062d\u062f\u0648\u062f <strong>MicroPython<\/strong> \u06a9\u0647 \u0631\u0648\u06cc Pico \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0628\u0627\u06cc\u062f \u06a9\u062f \u0631\u0627 \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 \u062a\u0648\u0627\u0628\u0639 \u0631\u06cc\u0627\u0636\u06cc \u062f\u0627\u062e\u0644\u06cc \u067e\u0627\u06cc\u062a\u0648\u0646 (\u0645\u062b\u0644 <code>math<\/code>) \u0648 \u0627\u0645\u06a9\u0627\u0646\u0627\u062a PWM \u062f\u0627\u062e\u0644\u06cc Pico \u0628\u0627\u0632\u0646\u0648\u06cc\u0633\u06cc \u06a9\u0646\u06cc\u0645.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc SPWM \u062f\u0631 Raspberry Pi Pico (MicroPython)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0628\u0647 \u06cc\u06a9 \u067e\u06cc\u0646 \u062e\u0631\u0648\u062c\u06cc \u0648 \u0645\u0627\u0698\u0648\u0644\u200c\u0647\u0627\u06cc <code>machine<\/code> \u0648 <code>math<\/code> \u0646\u06cc\u0627\u0632 \u062f\u0627\u0631\u06cc\u0645.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u06a9\u062f MicroPython<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u06cc\u0646 \u06a9\u062f \u0631\u0627 \u0628\u0627\u06cc\u062f \u0628\u0627 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0627\u0632 IDE\u200c\u0647\u0627\u06cc\u06cc \u0645\u0627\u0646\u0646\u062f Thonny \u0628\u0647 Raspberry Pi Pico \u062e\u0648\u062f \u0645\u0646\u062a\u0642\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><code>from machine import Pin, PWM\nimport math\nimport time\n\n# --- \u062a\u0646\u0638\u06cc\u0645\u0627\u062a \u067e\u06cc\u0646 \u0648 PWM ---\nPWM_PIN = 0  # \u067e\u06cc\u0646 GPIO \u06a9\u0647 \u0645\u06cc\u200c\u062e\u0648\u0627\u0647\u06cc\u062f \u062e\u0631\u0648\u062c\u06cc SPWM \u0631\u0627 \u0628\u0628\u06cc\u0646\u06cc\u062f (\u0645\u062b\u0644\u0627\u064b GP0)\npwm_output = PWM(Pin(PWM_PIN))\n\n# --- \u067e\u0627\u0631\u0627\u0645\u062a\u0631\u0647\u0627\u06cc \u0645\u0648\u062c ---\n# \u0641\u0631\u06a9\u0627\u0646\u0633 \u0645\u0648\u062c \u062d\u0627\u0645\u0644 (Carrier Frequency - f_carrier)\n# \u0627\u06cc\u0646 \u0641\u0631\u06a9\u0627\u0646\u0633 \u0633\u0648\u06cc\u06cc\u0686\u06cc\u0646\u06af PWM \u0627\u0633\u062a \u0648 \u0628\u0627\u06cc\u062f \u0628\u0627\u0644\u0627 \u0628\u0627\u0634\u062f.\n# \u0647\u0631 \u0686\u0647 \u0628\u0627\u0644\u0627\u062a\u0631 \u0628\u0627\u0634\u062f\u060c \u06a9\u06cc\u0641\u06cc\u062a \u0628\u0647\u062a\u0631 \u0648 \u067e\u0627\u0644\u0633\u200c\u0647\u0627 \u0628\u0647\u062a\u0631\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0627\u0645\u0627 \u0645\u062d\u062f\u0648\u062f\u06cc\u062a \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u06cc \u062f\u0627\u0631\u062f.\nf_carrier = 20000  # 20 \u06a9\u06cc\u0644\u0648\u0647\u0631\u062a\u0632 (\u0645\u0639\u0645\u0648\u0644\u0627 \u0628\u06cc\u0646 10 \u062a\u0627 50 \u06a9\u06cc\u0644\u0648\u0647\u0631\u062a\u0632 \u062e\u0648\u0628 \u0627\u0633\u062a)\npwm_output.freq(f_carrier)\n\n# \u0641\u0631\u06a9\u0627\u0646\u0633 \u0645\u0648\u062c \u0645\u0631\u062c\u0639 \u0633\u06cc\u0646\u0648\u0633\u06cc (Reference Sine Wave Frequency - f_ref)\nf_ref = 50  # 50 \u0647\u0631\u062a\u0632 (\u0641\u0631\u06a9\u0627\u0646\u0633 \u062e\u0631\u0648\u062c\u06cc \u0646\u0647\u0627\u06cc\u06cc)\n# \u0634\u0627\u062e\u0635 \u0645\u062f\u0648\u0644\u0627\u0633\u06cc\u0648\u0646 (Amplitude Modulation Index - Ma)\nMa = 0.8  # \u0628\u06cc\u0646 0 (\u062e\u0631\u0648\u062c\u06cc DC \u0635\u0641\u0631) \u0648 1 (\u062d\u062f\u0627\u06a9\u062b\u0631 \u062f\u0627\u0645\u0646\u0647)\n\n# --- \u0645\u062a\u063a\u06cc\u0631\u0647\u0627\u06cc \u0632\u0645\u0627\u0646\u0628\u0646\u062f\u06cc \u0648 \u062d\u0644\u0642\u0647\u200c\u0647\u0627 ---\nperiod_ref = 1 \/ f_ref # \u0632\u0645\u0627\u0646 \u06cc\u06a9 \u0633\u06cc\u06a9\u0644 \u06a9\u0627\u0645\u0644 \u0645\u0648\u062c \u0633\u06cc\u0646\u0648\u0633\u06cc\nnum_samples_per_cycle = 50  # \u062a\u0639\u062f\u0627\u062f \u0646\u0642\u0627\u0637\u06cc \u06a9\u0647 \u06cc\u06a9 \u0633\u06cc\u06a9\u0644 \u0633\u06cc\u0646\u0648\u0633\u06cc \u0631\u0627 \u062a\u0634\u06a9\u06cc\u0644 \u0645\u06cc\u200c\u062f\u0647\u0646\u062f (\u062f\u0642\u062a \u06a9\u0646\u062a\u0631\u0644)\n# \u0632\u0645\u0627\u0646 \u06af\u0627\u0645 \u0628\u0631\u0627\u06cc \u0647\u0631 \u0646\u0645\u0648\u0646\u0647 (\u0686\u0642\u062f\u0631 \u0628\u0627\u06cc\u062f \u0628\u06cc\u0646 \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc\u200c\u0647\u0627\u06cc PWM \u0645\u0646\u062a\u0638\u0631 \u0628\u0645\u0627\u0646\u06cc\u0645)\n# \u0628\u0627\u06cc\u062f \u0628\u0633\u06cc\u0627\u0631 \u06a9\u0648\u0686\u06a9 \u0628\u0627\u0634\u062f \u062a\u0627 SPWM \u0648\u0627\u0642\u0639\u06cc \u0628\u0627\u0634\u062f.\ndt = period_ref \/ num_samples_per_cycle \n\n\n# --- \u0627\u062c\u0631\u0627\u06cc \u062d\u0644\u0642\u0647 \u0627\u0635\u0644\u06cc SPWM ---\nprint(\"\u0634\u0631\u0648\u0639 \u0628\u0647 \u062a\u0648\u0644\u06cc\u062f SPWM \u062f\u0631 \u067e\u06cc\u0646 GPIO\", PWM_PIN, \"...\")\ntry:\n    current_time = 0.0\n    while True:\n        # 1. \u0645\u062d\u0627\u0633\u0628\u0647 \u0632\u0627\u0648\u06cc\u0647 \u0633\u06cc\u0646\u0648\u0633\u06cc: 0 \u062a\u0627 2*pi\n        angle = 2 * math.pi * f_ref * current_time\n        \n        # 2. \u0645\u062d\u0627\u0633\u0628\u0647 \u0645\u0642\u062f\u0627\u0631 \u0645\u0631\u062c\u0639 \u0633\u06cc\u0646\u0648\u0633\u06cc (\u062f\u0627\u0645\u0646\u0647 \u0628\u06cc\u0646 0 \u062a\u0627 Ma)\n        # \u0645\u0648\u062c \u0633\u06cc\u0646\u0648\u0633\u06cc \u0628\u06cc\u0646 -1 \u062a\u0627 1 \u0627\u0633\u062a. \u0628\u0631\u0627\u06cc \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u062f\u0631 Duty Cycle (\u06a9\u0647 \u0628\u06cc\u0646 0 \u062a\u0627 1 \u0627\u0633\u062a)\u060c \u0628\u0627\u06cc\u062f \u0622\u0646 \u0631\u0627 \u062a\u063a\u06cc\u06cc\u0631 \u062f\u0647\u06cc\u0645.\n        # sine_ref = (Ma * sin(angle) + Ma) \/ 2\n        # \u0627\u06cc\u0646 \u0645\u0642\u062f\u0627\u0631 \u0628\u06cc\u0646 0 \u062a\u0627 Ma \u062e\u0648\u0627\u0647\u062f \u0628\u0648\u062f \u06a9\u0647 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 Duty Cycle \u0627\u0633\u062a.\n        sine_ref_scaled = (Ma * math.sin(angle) + Ma) \/ 2 \n        \n        # 3. \u062a\u0628\u062f\u06cc\u0644 \u0628\u0647 \u0645\u0642\u062f\u0627\u0631 Duty Cycle: 0 \u062a\u0627 65535 (16 \u0628\u06cc\u062a\u06cc)\n        # 65535 * sine_ref_scaled\n        duty_cycle = int(65535 * sine_ref_scaled)\n        \n        # 4. \u0627\u0639\u0645\u0627\u0644 Duty Cycle \u0628\u0647 \u067e\u06cc\u0646 PWM\n        # \u0627\u06cc\u0646 \u0628\u0647\u200c\u0637\u0648\u0631 \u062e\u0648\u062f\u06a9\u0627\u0631 PWM \u0631\u0627 \u0628\u0627 \u0641\u0631\u06a9\u0627\u0646\u0633 f_carrier \u0648 Duty Cycle \u0645\u062d\u0627\u0633\u0628\u0647\u200c\u0634\u062f\u0647 \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.\n        pwm_output.duty_u16(duty_cycle)\n        \n        # 5. \u0628\u0647\u200c\u0631\u0648\u0632\u0631\u0633\u0627\u0646\u06cc \u0632\u0645\u0627\u0646 \u0648 \u062a\u0627\u062e\u06cc\u0631\n        current_time += dt\n        \n        # \u0627\u06af\u0631 \u0632\u0645\u0627\u0646 \u0627\u0632 \u06cc\u06a9 \u0633\u06cc\u06a9\u0644 \u06a9\u0627\u0645\u0644 \u06af\u0630\u0634\u062a\u060c \u0641\u0627\u0632 \u0631\u0627 \u0631\u06cc\u0633\u062a \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u062a\u0627 \u0627\u0632 \u0633\u0631\u06af\u0631\u062f\u0627\u0646\u06cc \u0627\u0639\u062f\u0627\u062f \u0645\u0645\u06cc\u0632 \u0634\u0646\u0627\u0648\u0631 \u062c\u0644\u0648\u06af\u06cc\u0631\u06cc \u0634\u0648\u062f.\n        if current_time >= period_ref:\n            current_time = 0.0\n            \n        time.sleep(dt) # \u062a\u0627\u062e\u06cc\u0631 \u0628\u0631\u0627\u06cc \u0646\u06af\u0647\u200c\u062f\u0627\u0634\u062a\u0646 Duty Cycle \u062f\u0631 \u0627\u06cc\u0646 \u06af\u0627\u0645 \u0632\u0645\u0627\u0646\u06cc\n        \nexcept KeyboardInterrupt:\n    print(\"\u062a\u0648\u0644\u06cc\u062f SPWM \u0645\u062a\u0648\u0642\u0641 \u0634\u062f.\")\n    pwm_output.duty_u16(0)  # \u062e\u0627\u0645\u0648\u0634 \u06a9\u0631\u062f\u0646 \u067e\u0627\u0644\u0633\u200c\u0647\u0627\n    pwm_output.deinit()    # \u063a\u06cc\u0631 \u0641\u0639\u0627\u0644 \u06a9\u0631\u062f\u0646 PWM\n<\/code><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/ilk.ir\/sahifa\/wp-content\/uploads\/Raspberry-Pi-Pico-pinout-diagram-1024x575.webp\" alt=\"\" class=\"wp-image-1097\" title=\"\" srcset=\"https:\/\/ilk.ir\/sahifa\/wp-content\/uploads\/Raspberry-Pi-Pico-pinout-diagram-1024x575.webp 1024w, https:\/\/ilk.ir\/sahifa\/wp-content\/uploads\/Raspberry-Pi-Pico-pinout-diagram-300x169.webp 300w, https:\/\/ilk.ir\/sahifa\/wp-content\/uploads\/Raspberry-Pi-Pico-pinout-diagram-768x432.webp 768w, https:\/\/ilk.ir\/sahifa\/wp-content\/uploads\/Raspberry-Pi-Pico-pinout-diagram-1536x863.webp 1536w, https:\/\/ilk.ir\/sahifa\/wp-content\/uploads\/Raspberry-Pi-Pico-pinout-diagram.webp 1794w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u062a\u0648\u0636\u06cc\u062d \u062a\u0641\u0627\u0648\u062a\u200c\u0647\u0627 \u0648 \u0645\u0646\u0637\u0642 SPWM \u062f\u0631 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0648\u0644\u06cc\u062f SPWM \u062f\u0631 \u06cc\u06a9 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631 \u0645\u0627\u0646\u0646\u062f Pico \u0628\u0627 \u0631\u0648\u06cc\u06a9\u0631\u062f \u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u06cc \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631 \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0633\u062a:<\/p>\n\n\n\n<ol start=\"1\" class=\"wp-block-list\">\n<li><strong>\u062d\u0630\u0641 \u0645\u0648\u062c \u062d\u0627\u0645\u0644 (Carrier Wave):<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u062f\u0631 \u06a9\u0627\u0645\u067e\u06cc\u0648\u062a\u0631\u060c SPWM \u0628\u0627 <strong>\u0645\u0642\u0627\u06cc\u0633\u0647<\/strong> \u0645\u0648\u062c \u0633\u06cc\u0646\u0648\u0633\u06cc \u0648 \u0645\u062b\u0644\u062b\u06cc \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u0634\u062f.<\/li>\n\n\n\n<li>\u062f\u0631 \u0645\u06cc\u06a9\u0631\u0648\u06a9\u0646\u062a\u0631\u0644\u0631\u060c \u0634\u0645\u0627 <strong>\u0646\u06cc\u0627\u0632 \u0628\u0647 \u062a\u0648\u0644\u06cc\u062f \u0645\u0648\u062c \u0645\u062b\u0644\u062b\u06cc \u0646\u062f\u0627\u0631\u06cc\u062f<\/strong>. \u062e\u0648\u062f <strong>\u0645\u0627\u0698\u0648\u0644 PWM \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u06cc<\/strong> \u062f\u0631 Pico\u060c \u0645\u0648\u062c \u062d\u0627\u0645\u0644 \u0631\u0627 \u0628\u0627 \u0641\u0631\u06a9\u0627\u0646\u0633 f_carrier \u062a\u0648\u0644\u06cc\u062f \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u06a9\u0627\u0631\u06cc \u06a9\u0647 \u0645\u0627 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645 \u0627\u06cc\u0646 \u0627\u0633\u062a \u06a9\u0647 \u0628\u0647\u200c\u0637\u0648\u0631 <strong>\u0646\u0631\u0645\u200c\u0627\u0641\u0632\u0627\u0631\u06cc<\/strong>\u060c <strong>Duty Cycle<\/strong> \u067e\u0627\u0644\u0633 PWM \u0631\u0627 \u0628\u0647\u200c\u0637\u0648\u0631 \u0645\u062f\u0627\u0648\u0645 \u0628\u0627 \u062a\u0648\u062c\u0647 \u0628\u0647 <strong>\u062f\u0627\u0645\u0646\u0647 \u0644\u062d\u0638\u0647\u200c\u0627\u06cc \u0645\u0648\u062c \u0633\u06cc\u0646\u0648\u0633\u06cc<\/strong> \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc\u200c\u062f\u0647\u06cc\u0645.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u062a\u0627\u0628\u0639 \u0633\u06cc\u0646\u0648\u0633\u06cc \u062f\u0631 MicroPython:<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u0627\u0632 <code>import math<\/code> \u0648 <code>math.sin(angle)<\/code> \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u062a\u0628\u062f\u06cc\u0644 \u062f\u0627\u0645\u0646\u0647 \u0628\u0647 Duty Cycle:<\/strong>\n<ul class=\"wp-block-list\">\n<li>Duty Cycle (\u0686\u0631\u062e\u0647 \u0648\u0638\u06cc\u0641\u0647) \u062f\u0631 Pico \u0628\u0647 \u0635\u0648\u0631\u062a \u06cc\u06a9 \u0639\u062f\u062f \u06f1\u06f6 \u0628\u06cc\u062a\u06cc \u0627\u0632 <strong>0 \u062a\u0627 65535<\/strong> \u062a\u0646\u0638\u06cc\u0645 \u0645\u06cc\u200c\u0634\u0648\u062f.<\/li>\n\n\n\n<li><strong>\u0645\u0648\u062c \u0633\u06cc\u0646\u0648\u0633\u06cc \u0639\u0627\u062f\u06cc<\/strong> \u0628\u06cc\u0646 \u22121 \u062a\u0627 +1 \u0646\u0648\u0633\u0627\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li>\u0628\u0631\u0627\u06cc \u0627\u0639\u0645\u0627\u0644 \u0628\u0647 Duty Cycle (\u06a9\u0647 \u0628\u0627\u06cc\u062f \u0628\u06cc\u0646 \u06f0 \u0648 \u06f1\u06f0\u06f0\u066a \u0628\u0627\u0634\u062f)\u060c \u0627\u0628\u062a\u062f\u0627 \u0622\u0646 \u0631\u0627 \u0628\u0647 \u0628\u0627\u0632\u0647 \u06f0 \u062a\u0627 2M_a \u0648 \u0633\u067e\u0633 \u0628\u0647 \u06f0 \u062a\u0627 M_a \u0645\u06cc\u200c\u0628\u0631\u06cc\u0645 \u0648 \u062f\u0631 \u0646\u0647\u0627\u06cc\u062a \u0628\u0647 \u0628\u0627\u0632\u0647 \u06f0 \u062a\u0627 \u06f6\u06f5\u06f5\u06f3\u06f5 \u0645\u0642\u06cc\u0627\u0633\u200c\u062f\u0647\u06cc \u0645\u06cc\u200c\u06a9\u0646\u06cc\u0645:Duty\u00a0Cycle\u00a0Value=int(65535\u00d72Ma\u200b\u22c5sin(2\u03c0fref\u200bt)+Ma\u200b\u200b)\n<ul class=\"wp-block-list\">\n<li><strong>M_a\u22c5sin(\u2026):<\/strong> \u062f\u0627\u0645\u0646\u0647 \u0628\u06cc\u0646 \u2212M_a \u062a\u0627 +M_a.<\/li>\n\n\n\n<li><strong>+M_a:<\/strong> \u062c\u0627\u0628\u0647\u200c\u062c\u0627\u06cc\u06cc \u062f\u0627\u0645\u0646\u0647 \u0628\u0647 \u0628\u0627\u0632\u0647 0 \u062a\u0627 2M_a.<\/li>\n\n\n\n<li><strong>\/2:<\/strong> \u0645\u0642\u06cc\u0627\u0633\u200c\u062f\u0647\u06cc \u0628\u0647 \u0628\u0627\u0632\u0647 0 \u062a\u0627 M_a (\u06a9\u0647 \u0645\u062a\u0646\u0627\u0633\u0628 \u0628\u0627 Duty Cycle \u0628\u06cc\u0646 \u06f0 \u062a\u0627 \u06f1\u06f0\u06f0\u066a \u0627\u0633\u062a).<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\u0632\u0645\u0627\u0646\u200c\u0628\u0646\u062f\u06cc \u062f\u0642\u06cc\u0642:<\/strong>\n<ul class=\"wp-block-list\">\n<li>\u0645\u062a\u063a\u06cc\u0631 <code>dt<\/code> (\u06af\u0627\u0645 \u0632\u0645\u0627\u0646\u06cc) \u0645\u0634\u062e\u0635 \u0645\u06cc\u200c\u06a9\u0646\u062f \u06a9\u0647 \u0647\u0631 \u0686\u0646\u062f \u0648\u0642\u062a \u06cc\u06a9\u200c\u0628\u0627\u0631 \u0628\u0627\u06cc\u062f Duty Cycle \u0631\u0627 \u0628\u0627 \u0645\u0642\u062f\u0627\u0631 \u062c\u062f\u06cc\u062f \u0633\u06cc\u0646\u0648\u0633\u06cc \u0628\u0647\u200c\u0631\u0648\u0632 \u06a9\u0646\u06cc\u0645. \u0645\u0642\u062f\u0627\u0631 <code>num_samples_per_cycle<\/code> (\u062a\u0639\u062f\u0627\u062f \u0646\u0645\u0648\u0646\u0647\u200c\u0647\u0627 \u062f\u0631 \u0647\u0631 \u0633\u06cc\u06a9\u0644 50Hz) \u062f\u0642\u062a \u0648 \u0647\u0645\u0648\u0627\u0631\u06cc \u0645\u0648\u062c \u0646\u0647\u0627\u06cc\u06cc \u0634\u0645\u0627 \u0631\u0627 \u062a\u0639\u06cc\u06cc\u0646 \u0645\u06cc\u200c\u06a9\u0646\u062f.<\/li>\n\n\n\n<li><code>time.sleep(dt)<\/code> \u0628\u0627\u0639\u062b \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 Duty Cycle \u0645\u062d\u0627\u0633\u0628\u0647\u200c\u0634\u062f\u0647\u060c \u0628\u0647 \u0645\u062f\u062a <code>dt<\/code> (\u0686\u0646\u062f \u0645\u06cc\u06a9\u0631\u0648 \u06cc\u0627 \u0645\u06cc\u0644\u06cc\u200c\u062b\u0627\u0646\u06cc\u0647) \u062b\u0627\u0628\u062a \u0628\u0645\u0627\u0646\u062f \u062a\u0627 \u06cc\u06a9\u0646\u0648\u0627\u062e\u062a\u06cc \u062f\u0631 SPWM \u062d\u0641\u0638 \u0634\u0648\u062f.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627 \u0627\u062a\u0635\u0627\u0644 \u0627\u06cc\u0646 \u067e\u06cc\u0646 \u0628\u0647 \u0645\u062f\u0627\u0631 \u06cc\u06a9 <strong>\u0627\u06cc\u0646\u0648\u0631\u062a\u0631<\/strong> (H-Bridge) \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0628\u0631\u0642 DC \u0631\u0627 \u0628\u0647 \u0628\u0631\u0642 AC \u0633\u06cc\u0646\u0648\u0633\u06cc \u0645\u062f\u0648\u0644\u0647\u200c\u0634\u062f\u0647 \u062a\u0628\u062f\u06cc\u0644 \u06a9\u0646\u06cc\u062f.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0628\u0644\u0647\u060c \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u06cc\u062f \u0645\u0646\u0637\u0642 \u062a\u0648\u0644\u06cc\u062f \u0645\u0648\u062c SPWM \u0631\u0627 \u0628\u0631\u0627\u06cc \u0627\u062c\u0631\u0627 \u0631\u0648\u06cc Raspberry Pi Pico \u062a\u0637\u0628\u06cc\u0642 \u062f\u0647\u06cc\u062f \u0648 \u0628\u0647\u200c\u062c\u0627\u06cc \u0631\u0633\u0645 \u0646\u0645\u0648\u062f\u0627\u0631 \u06af\u0631\u0627\u0641\u06cc\u06a9\u06cc\u060c \u067e\u0627\u0644\u0633\u200c\u0647\u0627\u06cc PWM \u0648\u0627\u0642\u0639\u06cc \u0631\u0627 \u0628\u0647 \u06cc\u06a9 \u067e\u06cc\u0646 GPIO \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f. \u0627\u0645\u0627 \u06cc\u06a9 \u0646\u06a9\u062a\u0647 \u0645\u0647\u0645: \u06a9\u062a\u0627\u0628\u062e\u0627\u0646\u0647\u200c\u0647\u0627\u06cc NumPy \u0648 Matplotlib \u062f\u0631 \u0645\u062d\u06cc\u0637 \u0645\u062d\u062f\u0648\u062f MicroPython \u06a9\u0647 \u0631\u0648\u06cc Pico \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u060c \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a\u0646\u062f. \u0628\u0646\u0627\u0628\u0631\u0627\u06cc\u0646\u060c \u0628\u0627\u06cc\u062f \u06a9\u062f \u0631\u0627 \u0628\u0627 &hellip;<\/p>\n","protected":false},"author":1,"featured_media":1096,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13],"tags":[122,123,119,124],"class_list":["post-1095","post","type-post","status-publish","format-standard","has-post-thumbnail","","category-13","tag-micropython","tag-raspberry-pi-pico","tag-spwm","tag--spwm"],"_links":{"self":[{"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/posts\/1095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/comments?post=1095"}],"version-history":[{"count":2,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/posts\/1095\/revisions"}],"predecessor-version":[{"id":1100,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/posts\/1095\/revisions\/1100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/media\/1096"}],"wp:attachment":[{"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/media?parent=1095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/categories?post=1095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ilk.ir\/sahifa\/wp-json\/wp\/v2\/tags?post=1095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}