Table des matières:

Pwm2pwm : 4 étapes
Pwm2pwm : 4 étapes

Vidéo: Pwm2pwm : 4 étapes

Vidéo: Pwm2pwm : 4 étapes
Vidéo: (2) PWM Limited FLIP FLOP DC - AC Inverter 2024, Octobre
Anonim
Pwm2pwm
Pwm2pwm

Changez le signal d'entrée PWM en un autre signal de sortie PWM avec un encodeur.

Ce projet est né lorsque j'ai acheté ma première découpeuse laser. Il n'est pas facile de régler la puissance PWM, dans un premier temps, en fonction du matériau que l'on veut couper. Je veux donc créer un petit appareil pour changer la puissance pendant l'exécution.

Étape 1: listes de composants

Listes de composants
Listes de composants

Pour ce projet, vous avez besoin de:

  • 1 x écran Oled, dans mon cas I2C
  • 1 x Arduino, dans mon cas arduino mini pro pour la petite dimension.
  • 1 x tondeuse avec un bouton.
  • 3 résistances de 10k, 2 pour le pull-up du trimmer et une pour le pull-down.

Sur la photo de cette étape, vous voyez un autre Arduino mini pro, appelé laser, car j'ai simulé les compétences du contrôleur laser (signal pwm) avec cet Arduino.

Étape 2: Connexions

Connexions
Connexions
Connexions
Connexions

N'oubliez pas de connecter les 3 résistances, pull-up et pull-down, dans ce schéma.

Pour la première fois, je vous recommande de connecter le deuxième Arduino (appelé laser à l'étape précédente) pour tester si le code et la connexion fonctionnent également ensemble.

Si vous êtes plus familier avec la vue schématique, ouvrez le fichier pwmTOpwm.svg.

Étape 3: Esquisse Arduino

Esquisse Arduino
Esquisse Arduino
Esquisse Arduino
Esquisse Arduino

Vous pouvez facilement copier mon code depuis la page GitHub:

La principale compétence de ce code est l'intégration de la commande "pulseIn", plus d'infos:

Lorsque vous essayez de mesurer un signal PWM entrant dans le microcontrôleur, vous devez compter combien de temps le signal reste actif (ou inactif) au cours de la période. Vous pouvez utiliser la commande "pulseIn".

Si vous essayez de tracer le signal pulseIn, vous pouvez voir quelque chose d'instable.

Pour résoudre ce problème, nous devons utiliser un filtre médian, dans mon cas une moyenne mobile exponentielle (EMA).

Vous pouvez essayer ce filtre sympa et facile avec cet exemple:

Ne vous inquiétez pas, le filtre est déjà intégré dans le code:p.

Si vous utilisez le deuxième Arduino (laser), vous pouvez télécharger dans cet arduino cet exemple:

Étape 4: PCB

PCB
PCB

J'aimerais créer un PCB pour ce projet, avec KiCad, et le partager.

Si j'apporte des modifications au PCB, je les partagerai sur la page GitHub.

Conseillé: