ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

PWM : Pulse Width Modulation

Автор: PBElectronique

Загружено: 2016-03-20

Просмотров: 14390

Описание: https://pbelectronique.com/site/index...
Dans la programmation de PIC, on veut parfois faire varier la tension à la sortie d'une patte du microcontrôleur. Pour ce faire, il faut utiliser la technique qui s'appelle PWM.

Cette technique fonctionne seulement avec quelques pins sur un microcontrôleur. Par exemple, sur le PIC16F628A, il y a seulement la pin RB3 (pin 9). Sur d'autres PICs, il peut y en avoir plus ou aucune qui ont cette fonction. Pour savoir si une pin utilise la fonction PWM, on doit regarder dans les fiches techniques du microcontrôleur. S'il l'utilise, il va être écrit CCP. C'est le nom du module. C pour capture, C pour compare et P pour PWM (Pulse width modulation).

Depuis le début des cours sur la programmation des PICs, je vous ai dit que lorsqu'on envoi un 1 logique, on obtient 5V et lorsqu'on envoi un 0, on obtient 0V. Mais comment faire pour avoir une tension entre zéro et cinq volts?

Pour faire varier la tension à la sortie d'une pin du micro-contrôleur, on utilise la fréquence. On crée une onde rectangulaire avec le module CCP, ce qui nous permet de jouer avec les hauts et les bas. Pour avoir parfaitement 50% de puissance à la sortie, on doit avoir le même temps d'une période à un niveau haut qu'à un niveau bas. On fait donc osciller haut, bas, haut, bas... plusieurs fois par secondes, ce qui, à l'oeil nue, ne paraît absolument pas. On obtient une tension de sortie moyenne de 2.5V (50%) si on est sous 5V.

Pour avoir un différent pourcentage à la sortie, on a juste à augmenter le temps au niveau haut de la période et réduire le temps au niveau bas ou l'inverse pour diminuer le pourcentage. De cette manière, on va obtenir n'importe quel tension à la sortie.

On appelle ce ratio de niveau haut et bas, le cycle d'usage (duty cycle). Pour calculer le cycle d'usage, il suffit de diviser le temps au niveau haut par le temps total de la période. Ex.:
Duty cycle = (3 us/6 us) = cycle d'usage de 50%.
Alors, nous devrions obtenir une tension moyenne de sortie de 50% de la tension total. Sous 5V, on obtiendrait une tension moyenne de 2.5V.

Pour le programmer dans MikroC Pro, il y a déjà 4 fonctions pré-établies, qui nous permet de contrôler le PWM. La première s'appelle, PWM_Init. Cette fonction nous aide à établir la fréquence du PWM. Par exemple, PWM_Init(5000); Cela dit au microcontrôleur qu'il doit osciller à une fréquence de 5 kHz. Habituellement, 5 kHz fonctionne super bien. Il et important de noté que si on a plusieurs pin de PWM sur le même micro-contrôleur, on ne peut pas leur donner différentes fréquence, car ils utilisent tous le même Timer interne. Il faut noté que si on utilise une fréquence trop élevé (tel que mentionné dans la vidéo) et que le microcontrôleur ne peut pas supporter cette fréquence, il y aura des disfonctionnement du module PWM. À l'inverse, une fréquence beaucoup trop faible aura pour effet de ne pas donner une tension moyenne, mais plutôt un clignotement à la broche de sortie.

La deuxième fonction s'appelle, PWM_Set_Duty. Cette fonction sert à établir la tension moyenne à la sortie sur microcontrôleur. Étant donné que nous fonctionnons avec un registre de 8 bits, on doit écrire un nombre de 0 à 255 entre parenthèse. Par exemple, PWM_Set_Duty(192); En inscrivant 192, on donne, à la sortie, une tension moyenne de 75%.

Finalement, les deux dernières fonctions vont ensemble. On a PWM_Start, ce qui démarre le PWM et PWM_Stop, ce qui arrête le PWM.

Si vous n'utilisez pas MikroC Pro et ses librairies internes, il vous faudra lire la documentation du microcontrôleur. Comme mentionné un peu plus haut, le module PWM fait partie du groupe CCP. Il vous faut activer certains registres pour faire l'initialisation du PWM et d'autres pour contrôler le cycle d'usage. Voici un exemple des registres à gérer pour le PWM du PIC16F887.

• PR2
• T2CON
• CCPRxL
• CCPxCON

Il y a les registres pour l'interruption, le timer 2 et les registres du module CCP à configurer pour le bon fonctionnement du PWM. Aussi, dans les fiches techniques, on retrouve plusieurs formules pour calculer la largeur d'impulsion de sortie ou encore et pour calculer le cycle d'usage en fonction de notre configuration des registres.

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
PWM : Pulse Width Modulation

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

P1 - Théorie des circuits radiofréquences

P1 - Théorie des circuits radiofréquences

Резисторный делитель напряжения — 90% делают ОШИБКУ | Правильный расчёт.

Резисторный делитель напряжения — 90% делают ОШИБКУ | Правильный расчёт.

Comment lire la plaque signalétique d’un moteur électrique ? Explication simple et pratique

Comment lire la plaque signalétique d’un moteur électrique ? Explication simple et pratique

P7 - Adaptation d'impédance (suite)

P7 - Adaptation d'impédance (suite)

TRIPLE the WiFI RANGE of your ESP32 C3 using ONE wire! #esp32

TRIPLE the WiFI RANGE of your ESP32 C3 using ONE wire! #esp32

inverter circuit TL494 | 50khz to 300khz PWM Generator

inverter circuit TL494 | 50khz to 300khz PWM Generator

Этот ракетный двигатель разработан не людьми

Этот ракетный двигатель разработан не людьми

🔥 DDR5 СВОИМИ РУКАМИ | Выживаем в кризис памяти 2026 года 💪| SODIMM - UDIMM без переходников

🔥 DDR5 СВОИМИ РУКАМИ | Выживаем в кризис памяти 2026 года 💪| SODIMM - UDIMM без переходников

Опасная установка точильного станка в 1971 году

Опасная установка точильного станка в 1971 году

I built a 12V Tesla-Coil with EXOTIC Mosfets - Does it work?

I built a 12V Tesla-Coil with EXOTIC Mosfets - Does it work?

Этот ракетный двигатель не был разработан людьми.

Этот ракетный двигатель не был разработан людьми.

20 САМЫХ МАЛЕНЬКИХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ В МИРЕ

20 САМЫХ МАЛЕНЬКИХ ЛЕТАТЕЛЬНЫХ АППАРАТОВ В МИРЕ

Парадокс разгибания кривой доски

Парадокс разгибания кривой доски

Лижут ли Вас Собаки? ВОТ ЧТО ЭТО ЗНАЧИТ (вас шокирует)!

Лижут ли Вас Собаки? ВОТ ЧТО ЭТО ЗНАЧИТ (вас шокирует)!

Как сделать синусоиду от UPS. Простая схема. Отключение green mode таймера UPS.

Как сделать синусоиду от UPS. Простая схема. Отключение green mode таймера UPS.

Почему на конденсаторе такая метка? Вот почему!

Почему на конденсаторе такая метка? Вот почему!

[2] Programmation PIC en C : Premier Projet

[2] Programmation PIC en C : Premier Projet

How to flash a PIC microcontroller in 2025: PICKit3 or MPLAB Snap?

How to flash a PIC microcontroller in 2025: PICKit3 or MPLAB Snap?

Звук этого самолёта вызывал судороги. Почему военные продолжали испытания? | XF-84H Thunderscreech

Звук этого самолёта вызывал судороги. Почему военные продолжали испытания? | XF-84H Thunderscreech

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

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

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]