Pin PWM de microcontrôleur, à quoi sert-il?

je vois toujours la pin PWM dans les microcontrôleurs, comme dans PIC Quelle Est / sont l'utilisation de celui-ci?

16
demandé sur LEM Adane 2011-02-18 07:04:59

9 réponses

alors que PWM est en effet utilisé pour le contrôle moteur, je dirais que L'utilisation principale de PWM est la conversion numérique en analogique, dans le cas où le MCU n'a pas de DAC sur puce (ils ne le font pas le plus souvent). Le PWM duty cycle peut être utilisé pour représenter une valeur analogique, si vous connectez la sortie PWM à un amplificateur op. Il s'agit d'une conception assez courante dans tous les types d'applications.

la plupart des types de systèmes reglating something utilise un PWM + un Op amp pour donner une sortie analogique, qui peut être utilisé pour contrôler une sorte de matériel. Ensuite, cette sortie analogique peut être lue dans le MCU, par un convertisseur analogique-numérique, et le MCU peut modifier le cycle de travail PWM en conséquence.

9
répondu Lundin 2011-02-18 09:59:18

il représente la Modulation de la largeur D'impulsion. C'est un moyen d'envoyer une simulation d'un signal analogique à l'aide d'un équipement numérique, de sorte que vous pouvez simuler une tension qui se situe entre votre haute et votre basse tension.

Tout ce que je sais faire, c'est de la lumière jusqu'les Voyants sont éteints un Arduino :-)

8
répondu mblinn 2011-02-18 04:12:41

L'utilisation principale du PWM est le contrôle d'un moteur. Vous avez (normalement) le faire pour contrôler la vitesse à laquelle le moteur tourne. Il y a deux facteurs qui contribuent à aider à ce travail. Tout d'abord, un moteur a une bonne dose d'inertie physique, donc il ne ralentit pas ou n'accélère pas très vite quand vous activez et éteignez la tension. Deuxièmement, le champ magnétique qui est généré lorsque la tension traverse les bobines a aussi une certaine "inertie" -- c'est à dire, il prend un peu pour le domaine de l'effondrement quand vous éteignez le courant, et un peu de temps pour qu'il remonte quand vous l'allumez.

ensemble, cela signifie que vous pouvez faire varier la vitesse du moteur sur une plage assez large, et il fonctionnera toujours raisonnablement en douceur plutôt que de faire beaucoup d'accélération/ralentissement que vous changez le cycle de service du signal PWM.

Notez, cependant, que dans la plupart des cas vous besoin d'une puce de pilote séparée pour exécuter tout plus qu'un moteur vraiment minuscule -- bien que PWM vous permet pour générer le bon type de signal pour contrôler un moteur correctement, un microcontrôleur typique n'est pas construit pour alimenter ou couler le type de courant pour faire fonctionner un moteur.

6
répondu Jerry Coffin 2011-02-18 04:28:59

certains appareils tels que les moteurs et les LEDs fonctionnent plus efficacement (ou pas du tout) avec une tension d'entrée spécifique, donc quand vous voulez dire une vitesse ou une luminosité variable, la variation de la tension analogique est généralement une solution insatisfaisante et est également plus complexe à réaliser à l'aide d'un appareil numérique. Dans ces cas, le PWM est généralement utilisé.

si vous voulez une tension analogique à partir D'un PWM alors vous pouvez appliquer un filtre passe-bas sur la sortie, mais cela ne produira pas la réponse linéaire de une vraie sortie DAC.

4
répondu Clifford 2011-02-19 09:03:41

que ce soit pour la commande du moteur, le réglage de la luminosité d'une led, etc, il est essentiellement utilisé comme un 1 bit DAC. Si vous avez quelque chose qui veut idéalement une tension continue mais quelque chose dans le système ne réagit pas très vite (comme vos yeux regardant une led, ou le rotor sur un moteur) si vous l'alimentez une forme d'onde (souvent sinusoïdale ou pwm) vous obtiendrez essentiellement l'intégrale. Un pwm n'est pas aussi fantaisiste qu'un vrai dac un peu comme vous verriez dans un système stéréo (un dac un peu était une fonctionnalité annoncée pour les lecteurs de cd back in the day), Vous ne l'utilisez pas pour faire un changement de sortie sur une base par cycle, mais sur de nombreux cycles pwm. Si vous pensez à une onde carrée étant un cycle de service de 50% mi-haut, mi-bas, prendre une moyenne ou intégrale de celui-ci et vous pouvez visualiser que la moitié du temps, il est au-dessus du point médian entre les tensions élevées et basses. Si vous avez eu une sortie pwm où il était élevé 3 / 4èmes du cycle puis Bas 1 / 4ème du cycle que la moyenne est maintenant 3 / 4èmes de la différence entre la basse tension et haut. Si vous alimentez un moteur À COURANT CONTINU ou led ou quelque chose comme ça, vous obtiendrez ce qui semble être les 3/4èmes de la sortie de ce que vous auriez si vous aviez la sortie réglée à la haute tension. Un 25% de haut, 75% de bas vous donnerait 25% de cela toujours sous tension et ainsi de suite.

donc oui, PWM est principalement utilisé comme un DAC mais comme un DAC dans le sens où il est utilisé pour conduire des moteurs et des feux arrière et des leds et d'autres choses qui peuvent vouloir être contrôlés de la tension et quelque part dans le système, que ce soit condensateur qui s'intègre, un moteur avec des limites de temps de réponse physique ou l'oeil humain qui ne peut pas voir le clignotement de la led. donc surtout utilisé comme un DAC et principalement utilisé pour le contrôle moteur sont toutes les deux correctes.

vous les trouvez sur les microcontrôleurs pour cette raison, pensez aux endroits où vous utilisez les microcontrôleurs et vous trouvez des endroits où vous voulez aussi contrôler quelque chose avec pwm.

3
répondu old_timer 2011-02-24 15:46:17

un usage courant est servo motor control. La largeur du signal PWM va contrôler le degré de sortie du servo.

2
répondu cmcginty 2011-02-18 11:05:57

Modulation de la largeur D'impulsion, il est très utilisé dans le contrôle de la vitesse du moteur. Tout ce qui nécessite une tension qui n'est ni haute ni basse tension.

1
répondu Ben Trengrove 2011-02-18 04:27:41

parmi tous les bons anwers, un autre usage nouveau de PWM est simple, et peut-être faible fi, génération de son. La méthode la plus simple consiste à convertir l'amplitude du signal sonore brut en fonction du cycle de fonctionnement de la sortie PWM.

cette page est un bon exemple, mais c'est pour les micros avr D'Atmel plutôt que pour les micros PIC. http://aquaticus.info/pwm-music

1
répondu tehnyit 2011-03-04 14:18:33

vous pouvez utiliser le PWM programmable pour créer des ondes carrées.

sur un microcontrôleur plus gros (LM3s9l97 et al.) vous pouvez à Formes d'onde très complexes.

fondamentalement, vous pouvez obtenir quatre à six événements pour chaque cycle du compteur (zéro, A, B, load et deux de plus pour A et B en mode up-down) et vous pouvez décider ce qu'il faut faire sur chaque événement: basculer l'ouput, régler la sortie à bas et régler la sortie à haut.

vous pouvez faire des trucs vraiment astucieux avec ça.

1
répondu Philipp T. 2011-03-05 11:47:04