
Мазмуну:
2025 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2025-01-23 14:51



PWM ЭМНЕ?
PWM STULS PULSE WIDTH MODULATION - бул импульстун туурасы ар түрдүү болгон ыкма.
Бул түшүнүктү түшүнүү үчүн саат импульсун же кандайдыр бир квадрат толкун сигналын карап көрөлү, анын 50% кызмат цикли бар, бул Тон менен Тоффтун мезгили бирдей экенин билдирет, Сигналдын болгон жалпы узактыгы жана сигналдын төмөн болушунун узактыгы жалпы деп аталат. убакыт мезгили.
Жогоруда көрсөтүлгөн сүрөт үчүн бул толкундун 50% милдети бар
Милдеттүү цикл = (ON убактысы / Жалпы убакыт)*100
ON убактысы - сигнал жогорку болгон убакыт
ӨЧҮРҮҮ убактысы - сигнал аз болгон убакыт душманы Жалпы убакыт - Тамырдын жалпы убактысы (ON жана OFF убактысы)
1 -кадам: Микроконтроллерди тандоо

Долбоорго ылайыктуу микроконтроллерди тандоо бул PWM сигналдарынын PWM каналдары бар микроконтроллерлерде (CCP реестрлери) түзүлүшү мүмкүн. Бул долбоор үчүн мен pic16f877 менен жабышууну пландап жатам. маалымат баракчасын жүктөп алсаңыз болот, төмөндө берилген
PIC16F877a маалымат барагын бул жерди басыңыз
CCP модулу PWM сигналын өндүрүү үчүн жооп берет. CCP1 жана CCP2 PORTC менен мультиплексирленген. PORTC-8-биттик туурасы эки багыттуу порт. Тиешелүү маалымат багыты реестри TRISC болуп саналат. TRISC битин орнотуу (= 1) тиешелүү PORTC пинин киргизүү катары кабыл алат. TRISC битин тазалоо (= 0) тийиштүү PORTC пинин чыгаруу кылат.
TRISC = 0; // Бул битти тазалоо PORTCти өндүрүшкө айландырат
2 -кадам: CCP модулун конфигурациялоо


CCP - CAPTURE/COMPARE/PWM MODULES
Ар бир Capture/Compare/PWM (CCP) модулу 16 биттик реестрди камтыйт, ал төмөнкүдөй иштей алат:
• 16-бит Capture реестри
• 16-биттик Салыштыруу реестри
• PWM Master/Slave Duty Cycle реестри
CCP1CON реестрин PWM режимине конфигурациялоо
Description Description
CCPxCON Бул реестр CCP модулун Capture/Compare/PWM операциялары үчүн конфигурациялоо үчүн колдонулат.
CCPRxL Бул реестрде PWMдин 8-Msb биттери бар, төмөнкү 2 бит CCPxCON реестринин бир бөлүгү болот.
TMR2 бекер иштеген эсептегич, ал PWM өндүрүшүн түзүү үчүн CCPR1L жана PR2 менен салыштырылат.
Эми мен CCP1CON реестрин конфигурациялоо үчүн биттерди көрсөтүү үчүн бинардык колдоном.
жогорудагы сүрөттү караңыз.
CCP1CON = 0b00001111;
Сиз ошондой эле hex форматта боло аласыз
CCP1CON = 0x0F; // PWM режимине CCP1CON реестрин конфигурациялоо
3 -кадам: Timer2 модулун конфигурациялоо (TMR2 Register)

Timer2-бул алдын ала эсептөөчү жана посткалкалерлүү 8-бит таймер. Бул CCP модулдарынын PWM режими үчүн PWM убакыт базасы катары колдонулушу мүмкүн. TMR2 реестри окулуучу жана жазылуучу болуп саналат жана каалаган түзмөктө тазаланат.
T2CON реестри көрсөтүлөт
Prescale жана postscale түзүлгөн PWM толкунунун чыгуу жыштыгын жөнгө салат.
Frequency = саат жыштыгы/(4*prescaler*(PR2-TMR2)*Postscaler*саны)
Кайда Tout = 1/жыштыгы
T2CON = 0b00000100;
Бул 2,5 КГц @ 1МГц же 100КГц @ 4МГц кристаллын пайда кылат (иш жүзүндө бул PWM жыштыгына чектөө бар, көбүрөөк маалымат алуу үчүн белгилүү бир маалымат барагын караңыз)
hex өкүлчүлүгү
T2CON = 0x04; // Prescaler жана postscale конфигурациясы жок T2CONду иштетүү
4 -кадам: PR2ди конфигурациялоо (Timer2 Period Register)
Timer2 модулунда 8-разряддык регистр бар, PR2. Timer2 PR2ге дал келгенге чейин 00h чейин өсөт, андан кийин кийинки өсүү циклинде 00ске кайра коюлат. PR2 - окулуучу жана жазылуучу реестр. PR2 реестри FFh баштапкы абалга келтирилет.
PR2 үчүн ылайыктуу диапазонду орнотуу PWM толкунунун иштөө циклин өзгөртүүгө мүмкүндүк берет
PR2 = 100; // Циклдин убактысын 100гө коюп, кызмат циклин 0-100гө чейин өзгөртүңүз
Жөнөкөйлүк үчүн мен PRPR = 100 колдонуп жатам CCPR1L = 80; 80% кызматтык циклге жетишсе болот.
5 -кадам: CCPR1l модулун конфигурациялоо
PR2 = 100 CCPR1l каалаган кызмат циклине жетүү үчүн 0-100 ортосунда конфигурацияланышы мүмкүн.
6 -кадам: Эскизди сизге жазыңыз MPLAB X IDE Төмөндө код берилген

#кошуу
боштукту кечиктирүү (int a) // кечигүүнү жаратуучу функция {
үчүн (int i = 0; i <a; i ++)
{
үчүн (int j = 0; j <144; j ++);
}
}
бош функция()
{TRISC = 0; // Бул битти тазалоо PORTCти өндүрүшкө айландырат.
CCP1CON = 0x0F; // PWM режимине CCP1CON реестрин конфигурациялоо
T2CON = 0x04; // Prescaler жана postscale конфигурациясы жок T2CONду иштетүү.
PR2 = 100; // Циклдин убактысын 100гө коюп, кызмат циклин 0-100гө чейин өзгөртүңүз
учурда (1) {
CCPR1L = 75; // түзүлгөн 75% милдети циклинин кечигүүсү (1);
}
}
Мен жаратылган PWM толкунунун жыштыгы үчүн кодго бир аз өзгөртүү киргиздим
Бул код протеуста окшоштурулган жана PWM толкуну төмөндө көрсөтүлгөн, муну сүрөтүңүздүн өнүгүү такталарына жүктөө үчүн, #conklude ылайыктуу конфигурация биттери менен колдонуңуз.
Рахмат
Сунушталууда:
Кантип портативдүү акылдуу күзгү түзүү/куту айкалышын түзүү: 8 кадам

Кантип портативдүү акылдуу күзгү түзүү/куту айкалыштыруу: Дэвистеги капстоюнум үчүн акыркы долбоор катары & Элкинс колледжи, мен порт катары иштей турган чоң күзгү жана малина пи жана сыйкырдуу күзгү программалык платформасын колдонуу менен бирге саякат кутусун иштеп чыгууну чечтим
PWM ESP32 менен - Жарыктандыруучу LED EWP 32де PWM менен Arduino IDE менен: 6 кадам

PWM ESP32 менен | ESP 32де PWM менен LEDди караңгылатуу Arduino IDE менен: Бул көрсөтмөлөрдө биз Arduino IDE менен ESP32 менен PWM сигналдарын кантип чыгарууну көрөбүз. PWM негизинен ар кандай MCUдан аналогдук чыгууну өндүрүү үчүн колдонулат жана аналогдук чыгаруу 0Vдан 3.3Vга чейин болушу мүмкүн (esp32 болгон учурда) & тартып
ATtiny85 микроконтроллери менен MAX7219 жетектелген LED Matrix 8x8 менен кантип интерфейс түзүү керек: 7 кадам

ATxin85 микроконтроллери менен MAX7219 жетектелген LED Matrix 8x8ди кантип интерфейстөө керек: MAX7219 контроллери Maxim Integrated тарабынан чыгарылган, микро контроллерлерди 64 жеке LEDге, 7 сегменттүү сандык LED дисплейлерине интерфейске ала турган чакан, сериялык киргизүү/чыгаруу жалпы катоддук дисплей драйвери. 8 цифрага чейин, графикалык дисплей
Yamato Space Battleship 2199 Trinket микроконтроллери менен: 8 кадам (сүрөттөр менен)

Space Battleship Yamato 2199 Trinket Microcontrollers менен: Bandai моделинин жагымдуу дизайнынан тышкары, Space Battleship Yamato анимациясынын жана тасмасынын ремейкинин аркасында. Бул космостук кемесинин моделин кайра куруу мага кызыгууну жаратат. Бандай анын масштабын айтпаса керек, болжол менен ~ 1: 2500
PIC микроконтроллери жана LED менен скейтборд: 8 кадам (сүрөттөр менен)

PIC микроконтроллери жана светодиоддору бар скейтборд: Электр инженери 13 жашка жаңы жылдык белекке скейтбордду нөлдөн курганда эмне аласыз? Сиз сегиз ак LED (фаралар) менен скейтборд аласыз, сегиз кызыл LED (tailights) баары PIC микроконтроллери аркылуу башкарылат! А мен көчүп