• Mon. Jan 5th, 2026

MIKROELECTRONICA

Blog pentru pasionații de electronică și nu numai

Generator PWM cu PIC16F628 v1.2

ByStefan

Sep 9, 2012 #pic16F628, #PWM

Generator PWM cu PIC16F628 v1.2

Pulse-width modulation (PWM), or pulse-duration modulation (PDM) is a modulation technique that conforms the width of the pulse, formally the pulse duration, based on a modulator signal information. Albeit this modulation technique can be used to encode information for transmission, its main use, actually, is to allow the control of the power supplied to electrical devices, specially to inertial loads like motors.

The average value of voltage (and current) fed to the load is controlled by turning the switch between supply and load on and off at a fast pace. The longer the switch is on compared to the off periods, the higher the power supplied to the load is.

The PWM switching frequency has to be much faster than what would affect the load, which is to say the device that uses the power. Typically switchings have to be done several times a minute in an electric stove, 120 Hz in a lamp dimmer, from few kilohertz (kHz) to tens of kHz for a motor drive and well into the tens or hundreds of kHz in audio amplifiers and computer power supplies.

The term duty cycle describes the proportion of ‘on’ time to the regular interval or ‘period’ of time; a low duty cycle corresponds to low power, because the power is off for most of the time. Duty cycle is expressed in percent, 100% being fully on.

The main advantage of PWM is that power loss in the switching devices is very low. When a switch is off there is practically no current, and when it is on, there is almost no voltage drop across the switch. Power loss, being the product of voltage and current, is thus in both cases close to zero. PWM also works well with digital controls, which, because of their on/off nature, can easily set the needed duty cycle.

PWM has also been used in certain communication systems where its duty cycle has been used to convey information over a communications channel.

Schema completa:

PWM_Simulare

Fisierul .HEX pentru 16F628A @ 6MHz (XTAL)

PWM_16F628A@6MHz

 

By Stefan

10 thoughts on “Generator PWM cu PIC16F628 v1.2”
  1. Hello. I did this project. Not working. Verified all and load hex file error. This is not the first time I loaded hex files. Only those that are not good are making a mistake. I really wanted this project to work. Thank you in advance.

    1. Salut,
      100% HEX-ul postat pe site este functional. Nu doresc sa incurc pe nimeni cu HEX-uri gresite in mod intentionat.
      Daca mai prezinta interes imi poti da un mesaj si vedem cum puteam rezolva.

  2. hello mr stevan…
    i want to ask to you… if i can push up or down this button is will change frequency or duty cycle only…? how if i can change for variable frequency…??/ thanks

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.