Мазмуну:
Video: Pwm2pwm: 4 кадам
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-10 13:47
Киргизүүчү PWM сигналын Encoder менен башка PWM сигналынын чыгуусуна өзгөртүңүз.
Бул долбоор мен биринчи лазер кескичти сатып алганда төрөлгөн. PWM кубатын орнотуу оңой эмес, биринчи жолу, сиз каалаган материалга ылайык. Ошентип, мен аткаруу учурунда кубаттуулукту өзгөртүү үчүн кичинекей түзмөк түзгүм келет.
1 -кадам: Компонеттердин тизмеси
Бул долбоор үчүн сизге керек:
- 1 х Олед дисплей, менин учурда I2C
- 1 x Arduino, менин учурда кичинекей өлчөм үчүн arduino mini pro.
- 1 x Trimmer баскычы менен.
- 3 x 10k каршылыгы, 2 триммерди тартуу үчүн жана бирөө ылдый түшүрүү үчүн.
Бул кадамдын сүрөтүндө сиз лазер деп аталган дагы бир Arduino mini pro көрөсүз, анткени мен бул Arduino менен лазер контролерунун (сигналдагы pwm) көндүмдөрүн окшоштурдум.
2 -кадам: Байланыштар
Бул схемада 3 резисторду туташтырууну унутпаңыз.
Биринчи жолу, мен сизге код менен байланыштын бирге иштээрин текшерүү үчүн экинчи Arduino (мурунку кадамда лазер деп аталат) туташтырууну сунуштайм.
Эгерде сиз схемалык көрүнүш менен көбүрөөк тааныш болсоңуз, pwmTOpwm.svg ачыңыз.
3 -кадам: Arduino Sketch
Сиз менин кодумду GitHub баракчасынан оңой көчүрө аласыз:
Бул коддун негизги көндүмдөрү "pulseIn" командасынын интеграциясы, көбүрөөк маалымат:
PWM сигналы микроконтроллерге киргенин өлчөөгө аракет кылганыңызда, бул мезгилде сигналдын канча убакыт өйдө (же ылдый) турарын эсептөө керек. Сиз "pulseIn" буйругун колдоно аласыз.
Эгерде сиз pulseIn сигналын түзүүгө аракет кылсаңыз, анда туруксуз нерсени көрө аласыз.
Бул көйгөйдү чечүү үчүн биз медианалык чыпканы колдонушубуз керек, менин учурда экспоненциалдуу орточо жылыш (EMA).
Сиз бул мисал менен бул сонун жана жеңил чыпканы колдонуп көрсөңүз болот:
Кабатыр болбоңуз, чыпка кодго киргизилген: б.
Эгерде сиз экинчи Arduino (лазерди) колдонуп жатсаңыз, анда бул мисалды arduinoго жүктөй аласыз:
4 -кадам: PCB
Мен KiCad менен бул проект үчүн ПХБ түзүп, аны бөлүшкүм келет.
Эгерде мен ПКБга өзгөртүүлөрдү киргизсем, аларды GitHub баракчасында бөлүшөм.