Innholdsfortegnelse:

Pwm2pwm: 4 trinn
Pwm2pwm: 4 trinn

Video: Pwm2pwm: 4 trinn

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

Bytt inngang PWM -signal til en annen PWM -signalutgang med en Encoder.

Dette prosjektet ble født da jeg kjøpte min første laserskjærer. Det er ikke lett å stille PWM -effekten ved første gang, i henhold til materialet du vil kutte. Så jeg vil lage en liten enhet for å endre strømmen under utførelsen.

Trinn 1: Lister over komponenter

Lister over komponenter
Lister over komponenter

For dette prosjektet trenger du:

  • 1 x Oled -skjerm, i mitt tilfelle I2C
  • 1 x Arduino, i mitt tilfelle arduino mini pro for den lille dimensjonen.
  • 1 x Trimmer med knapp.
  • 3 x 10k motstand, 2 for opptrekk av trimmeren og en for nedtrekk.

På bildet av dette trinnet ser du en annen Arduino mini pro, kalt laser, fordi jeg simulerte ferdighetene til laserkontrolleren (pwm i signal) med denne Arduino.

Trinn 2: Tilkoblinger

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Husk å koble de tre motstandene, pull-up og pull-down, i denne skjematiske oversikten.

For første gang anbefaler jeg deg å koble til den andre Arduino (kalt laser i trinnet før) for å teste om koden og tilkoblingen også fungerer sammen.

Hvis du er mer kjent med den skjematiske visningen, åpner du pwmTOpwm.svg.

Trinn 3: Arduino Sketch

Arduino skisse
Arduino skisse
Arduino skisse
Arduino skisse

Du kan enkelt kopiere koden min fra GitHub -siden:

Hovedferdighetene i denne koden er integrering av kommandoen "pulseIn", mer info:

Når du prøver å måle et PWM -signal går inn til mikrokontrolleren, må du telle hvor lenge signalet holder seg oppe (eller ned) i perioden. Du kan bruke kommandoen "pulseIn".

Hvis du prøver å plotte pulseIn -signalet, kan du se noe ustabilt.

For å fikse dette problemet må vi bruke et medianfilter, i mitt tilfelle eksponentielt glidende gjennomsnitt (EMA).

Du kan prøve dette kule og enkle filteret med dette eksemplet:

Ikke bekymre deg, filteret er allerede integrert i koden: s.

Hvis du bruker den andre Arduino (laser), kan du laste opp dette eksemplet i arduinoen:

Trinn 4: PCB

PCB
PCB

Jeg vil gjerne lage en PCB for dette prosjektet, med KiCad, og dele det.

Hvis jeg gjør endringer i kretskortet, vil jeg dele dem på GitHub -siden.

Anbefalt: