Բովանդակություն:
Video: Pwm2pwm: 4 քայլ
2025 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2025-01-10 13:47
Փոխեք մուտքային PWM ազդանշանը այլ PWM ազդանշանի ելքի վրա ՝ Կոդավորիչով:
Այս նախագիծը ծնվեց, երբ ես գնեցի իմ առաջին լազերային դանակը: Հեշտ չէ PWM հզորությունը սահմանել, առաջին անգամ, ըստ այն նյութի, որը ցանկանում եք կտրել: Այսպիսով, ես ուզում եմ ստեղծել մի փոքրիկ սարք `կատարման ընթացքում իշխանությունը փոխելու համար:
Քայլ 1: Կոմպոնենտների ցուցակներ
Այս նախագծի համար ձեզ հարկավոր է.
- 1 x Oled էկրան, իմ դեպքում I2C
- 1 x Arduino, իմ դեպքում arduino mini pro ՝ փոքր չափի համար:
- 1 x հարմարվողական կոճակով:
- 3 x 10k ռեզիստոր, 2 հարմարվողի քաշման համար և մեկը `ներքև քաշելու համար:
Այս քայլի լուսանկարում դուք տեսնում եք մեկ այլ Arduino մինի պրո, որը կոչվում է լազեր, քանի որ այս Arduino- ի հետ նմանակել եմ լազերային վերահսկիչի (ազդանշանի մեջ pwm) հմտությունները:
Քայլ 2: Միացումներ
Հիշեք, որ այս դիմապատկերում միացրեք 3 ռեզիստորները `քաշեք-քաշեք և իջեցրեք:
Առաջին անգամ ես ձեզ խորհուրդ եմ տալիս միացնել երկրորդ Arduino- ն (որը նախորդ քայլում կոչվում է լազեր) `ստուգելու համար, թե արդյոք կոդն ու կապը նույնպես միասին են աշխատում:
Եթե դուք ավելի ծանոթ եք սխեմատիկ տեսքին, բացեք pwmTOpwm.svg- ն:
Քայլ 3: Arduino Sketch
Դուք կարող եք հեշտությամբ պատճենել իմ կոդը GitHub էջից ՝
Այս ծածկագրի հիմնական հմտությունները «pulseIn» հրամանի ինտեգրումն է, ավելին ՝
Երբ փորձում եք չափել PWM ազդանշանը, որը մտնում է Միկրոկոնտրոլեր, պետք է հաշվել, թե որքան ժամանակ է ազդանշանը մնում (կամ ներքև) այդ ժամանակահատվածում: Դուք կարող եք օգտագործել «pulseIn» հրամանը:
Եթե փորձում եք գծել զարկերակային ազդանշանը, կարող եք տեսնել ինչ -որ անկայուն բան:
Այս խնդիրը լուծելու համար մենք պետք է օգտագործենք միջին զտիչ, իմ դեպքում `արագաչափ միջին շարժիչ միջին (EMA):
Դուք կարող եք փորձել այս զով և հեշտ զտիչը այս օրինակով ՝
Մի անհանգստացեք, զտիչն արդեն ինտեգրված է ծածկագրում: p.
Եթե դուք օգտագործում եք երկրորդ Arduino- ն (լազերային), կարող եք այդ arduino- ում վերբեռնել այս օրինակը ՝
Քայլ 4: PCB
Ես կցանկանայի այս ծրագրի համար տեղադրել PCB ՝ KiCad- ի հետ և կիսել այն:
Եթե PCB- ում փոփոխություններ կատարեմ, դրանք կկիսեմ GitHub էջում: