Inhoudsopgave:
Video: Pwm2pwm: 4 stappen
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-10 13:48
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
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
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
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
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.