Inhoudsopgave:

Pwm2pwm: 4 stappen
Pwm2pwm: 4 stappen

Video: Pwm2pwm: 4 stappen

Video: Pwm2pwm: 4 stappen
Video: (2) PWM Limited FLIP FLOP DC - AC Inverter 2024, Oktober
Anonim
Pwm2pwm
Pwm2pwm

Verander het ingangs-PWM-signaal naar een andere PWM-signaaluitgang met een encoder.

Dit project ontstond toen ik mijn eerste lasersnijder kocht. Het is niet eenvoudig om het PWM-vermogen de eerste keer in te stellen op het materiaal dat u wilt snijden. Dus ik wil een klein apparaat maken om de stroom tijdens de uitvoering te veranderen.

Stap 1: Componentenlijsten

Componentenlijsten
Componentenlijsten

Voor dit project heb je nodig:

  • 1 x Oled-display, in mijn geval I2C
  • 1 x Arduino, in mijn geval arduino mini pro voor de kleine afmeting.
  • 1 x Trimmer met een knop.
  • 3 x 10k weerstand, 2 voor de pull-up van de trimmer en één voor de pull-down.

Op de foto van deze stap zie je een andere Arduino mini-pro, laser genaamd, omdat ik met deze Arduino de vaardigheden van de lasercontroller (pwm in signaal) heb gesimuleerd.

Stap 2: Aansluitingen

Verbindingen
Verbindingen
Verbindingen
Verbindingen

Vergeet niet om de 3 weerstanden, pull-up en pull-down, in dit schema aan te sluiten.

Voor de eerste keer raad ik je aan om de tweede Arduino aan te sluiten (laser genoemd in de vorige stap) om te testen of de code en de verbinding ook samenwerken.

Als u meer bekend bent met de schematische weergave, opent u de pwmTOpwm.svg.

Stap 3: Arduino-schets

Arduino-schets
Arduino-schets
Arduino-schets
Arduino-schets

Je kunt mijn code eenvoudig kopiëren van de GitHub-pagina:

De belangrijkste vaardigheden van deze code zijn de integratie van de opdracht "pulseIn", meer info:

Wanneer u probeert te meten dat een PWM-signaal naar de Microcontroller gaat, moet u tellen hoe lang het signaal in de periode omhoog (of omlaag) blijft. U kunt de opdracht "pulseIn" gebruiken.

Als u het pulseIn-signaal probeert te plotten, ziet u iets onstabiels.

Om dit probleem op te lossen, moeten we een mediaanfilter gebruiken, in mijn geval exponentieel voortschrijdend gemiddelde (EMA).

Je kunt dit coole en gemakkelijke filter proberen met dit voorbeeld:

Maak je geen zorgen, het filter is al geïntegreerd in de code:p.

Als je de tweede Arduino (laser) gebruikt, kun je dit voorbeeld in die Arduino uploaden:

Stap 4: PCB

PCB
PCB

Ik zou graag een PCB voor dit project willen kratten, met KiCad, en deze delen.

Als ik wijzigingen aanbreng in de PCB, zal ik deze delen op de GitHub-pagina.

Aanbevolen: