Turinys:
Video: Pwm2pwm: 4 žingsniai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-10 10:17
Pakeiskite įvesties PWM signalą į kitą PWM signalo išvestį naudodami kodavimo įrenginį.
Šis projektas gimė, kai nusipirkau pirmąjį lazerinį pjaustytuvą. Pirmą kartą nėra lengva nustatyti PWM galią pagal norimą pjauti medžiagą. Taigi noriu sukurti nedidelį įrenginį, kuris pakeistų galią vykdymo metu.
1 žingsnis: komponentų sąrašai
Šiam projektui jums reikia:
- 1 x apšviestas ekranas, mano atveju I2C
- 1 x „Arduino“, mano atveju arduino mini pro mažam matmeniui.
- 1 x žoliapjovė su mygtuku.
- 3 x 10 k rezistorius, 2-žoliapjovės pritraukimui ir vienas-nuleidimui.
Šio žingsnio paveikslėlyje matote kitą „Arduino mini pro“, vadinamą lazeriu, nes su šiuo „Arduino“modeliavau lazerio valdiklio įgūdžius (pwm signale).
2 žingsnis: jungtys
Nepamirškite šioje schemoje prijungti 3 rezistorius, ištraukimo ir nuleidimo.
Pirmą kartą rekomenduoju jums prijungti antrąjį „Arduino“(prieš tai nurodytą lazerį), kad patikrintumėte, ar kodas ir ryšys taip pat veikia kartu.
Jei esate labiau susipažinę su scheminiu vaizdu, atidarykite pwmTOpwm.svg.
3 žingsnis: „Arduino“eskizas
Mano kodą galite lengvai nukopijuoti iš „GitHub“puslapio:
Pagrindiniai šio kodo įgūdžiai yra komandos „pulseIn“integravimas, daugiau informacijos:
Kai bandote išmatuoti PWM signalą, kuris patenka į mikrokontrolerį, turite suskaičiuoti, kiek laiko signalas laikosi aukštyn (arba žemyn) per tą laikotarpį. Galite naudoti komandą „pulseIn“.
Jei bandysite nubrėžti impulsinį signalą, pamatysite kažką nestabilaus.
Norėdami išspręsti šią problemą, turime naudoti vidutinį filtrą, mano atveju, eksponentinį slankųjį vidurkį (EMA).
Šį puikų ir paprastą filtrą galite išbandyti naudodami šį pavyzdį:
Nesijaudinkite, filtras jau integruotas į kodą: p.
Jei naudojate antrąjį „Arduino“(lazerį), galite įkelti šį „arduino“pavyzdį:
4 žingsnis: PCB
Norėčiau surinkti PCB šiam projektui su „KiCad“ir pasidalyti juo.
Jei pakeisiu PCB, pasidalinsiu jais „GitHub“puslapyje.