Kazalo:

Pwm2pwm: 4 koraki
Pwm2pwm: 4 koraki

Video: Pwm2pwm: 4 koraki

Video: Pwm2pwm: 4 koraki
Video: Step Four of Meditation: Make Energy into Light with Pranayama 2024, Oktober
Anonim
Pwm2pwm
Pwm2pwm

Z enkoderjem spremenite vhodni signal PWM na drug izhod PWM signala.

Ta projekt se je rodil, ko sem kupil svoj prvi laserski rezalnik. Najprej ni enostavno nastaviti moči PWM glede na material, ki ga želite razrezati. Zato želim ustvariti majhno napravo za spreminjanje moči med izvajanjem.

1. korak: Seznami komponent

Seznami komponent
Seznami komponent

Za ta projekt potrebujete:

  • 1 x Oled zaslon, v mojem primeru I2C
  • 1 x Arduino, v mojem primeru arduino mini pro za majhne dimenzije.
  • 1 x Trimer z gumbom.
  • 3 x 10k upor, 2 za vlečenje trimerja in eden za spuščanje.

Na sliki tega koraka vidite drugega Arduino mini pro, imenovanega laser, ker sem s tem Arduinom simuliral spretnosti laserskega krmilnika (pwm v signalu).

2. korak: Povezave

Povezave
Povezave
Povezave
Povezave

Na tej shemi ne pozabite priključiti treh uporov, pull-up in pull-down.

Prvič vam priporočam, da priključite drugi Arduino (v prejšnjem koraku imenovan laser), da preizkusite, ali koda in povezava delujeta skupaj.

Če poznate shematski pogled, odprite pwmTOpwm.svg.

3. korak: Arduino skica

Arduino skica
Arduino skica
Arduino skica
Arduino skica

Mojo kodo lahko preprosto kopirate s strani GitHub:

Glavna znanja te kode so integracija ukaza "pulseIn", več informacij:

Ko poskušate izmeriti signal PWM, ki vstopi v mikrokontroler, morate šteti, kako dolgo ostane signal v tem obdobju navzgor (ali navzdol). Uporabite lahko ukaz "pulseIn".

Če poskusite izrisati signal pulzaIn, lahko vidite nekaj nestabilnega.

Za odpravo te težave moramo uporabiti srednji filter, v mojem primeru eksponentno drseče povprečje (EMA).

Ta kul in enostaven filter lahko preizkusite s tem primerom:

Brez skrbi, filter je že vgrajen v kodo: p.

Če uporabljate drugi Arduino (laser), lahko v ta arduino naložite ta primer:

4. korak: PCB

PCB
PCB

Za ta projekt bi rad ustvaril tiskano vezje s KiCadom in ga delil.

Če naredim spremembe na tiskanem vezju, jih bom delil na strani GitHub.

Priporočena: