Агуулгын хүснэгт:
- Алхам 1: Микроконтроллерийг сонгох
- Алхам 2: CCP модулийг тохируулах
- Алхам 3: Timer2 модулийг тохируулах (TMR2 бүртгэл)
- Алхам 4: PR2 -ийг тохируулах (Timer2 хугацааны бүртгэл)
- Алхам 5: CCPR1l модулийг тохируулна уу
- Алхам 6: Ноорогоо MPLAB X IDE дээр бичээрэй
Видео: PIC микроконтроллер ашиглан ХОУХ -ны долгион үүсгэх: 6 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
PWM гэж юу вэ?
Импульсийн өргөнийг модуляцлах ХОУХ -ны зогсолт бол импульсийн өргөнийг янз бүрээр өөрчлөх арга юм.
Энэхүү ойлголтыг ойлгохын тулд цагны импульс эсвэл квадрат долгионы дохиог 50% -ийн ажлын мөчлөгтэй гэж үзэх нь зүйтэй бөгөөд энэ нь Тон ба Тоффын хугацаа ижил байна гэсэн үг юм. цаг хугацаа.
Дээр үзүүлсэн зургийн хувьд энэ долгион нь 50% -ийн ажлын мөчлөгтэй байдаг.
Үүргийн мөчлөг = (ON цаг / Нийт хугацаа)*100
ON time - дохио өндөр байсан цаг
OFF цаг - дохио бага байсан дайсан Нийт цаг - Импульсийн нийт хугацаа (ON ба OFF цаг аль аль нь)
Алхам 1: Микроконтроллерийг сонгох
Төсөлд тохирох микроконтроллерыг сонгох нь энэ төслийн чухал хэсэг юм ХОУХ -ны дохиог ХОУХ -ны сувгууд (ХКН -ийн бүртгэлүүд) бүхий микроконтроллеруудад үүсгэж болно. Энэ төслийн хувьд би pic16f877 -тэй ажиллахаар төлөвлөж байна. Та мэдээллийн хүснэгтийн линкийг доороос татаж авч болно
PIC16F877a мэдээллийн хуудсыг энд дарна уу
CCP модуль нь PWM дохио үйлдвэрлэх үүрэгтэй. 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 битийн харьцуулах бүртгэл
• ХБХ -ийн мастер/боолын үүргийн мөчлөгийн бүртгэл
CCP1CON бүртгэлийг PWM горимд тохируулна уу
Бүртгүүлэх тайлбар
CCPxCON Энэхүү бүртгэл нь CCP модулийг Capture/Compare/PWM үйлдлийн тохиргоонд ашигладаг.
CCPRxL Энэхүү бүртгэл нь ХОУ-ын 8-Msb битийг агуулдаг бөгөөд 2 битийн доод хэсэг нь CCPxCON бүртгэлийн нэг хэсэг байх болно.
TMR2 Чөлөөт гүйдлийн тоолуурыг ХОУХ -ны гаралтыг бий болгоход CCPR1L ба PR2 -тай харьцуулах болно.
Одоо би CCP1CON бүртгэлийг тохируулахын тулд битүүдийг төлөөлөх хоёртын файлыг ашиглах болно.
дээрх зургийг үзнэ үү.
CCP1CON = 0b00001111;
Та мөн зургаан өнцөгт форматыг ашиглаж болно
CCP1CON = 0x0F; // ХОУХ горимд CCP1CON бүртгэлийг тохируулах
Алхам 3: Timer2 модулийг тохируулах (TMR2 бүртгэл)
Timer2 бол урьдчилсан тооцоолуур болон кальцийн тоолууртай 8 битийн таймер юм. Үүнийг ХКН модуль (ууд) -ын ХОУХ -ны горимд ХОУХ -ны цагийн суурь болгон ашиглаж болно. TMR2 бүртгэлийг унших боломжтой, бичих боломжтой бөгөөд ямар ч төхөөрөмж дээр дахин тохируулах боломжтой.
T2CON бүртгэлийг харуулав
Урьдчилсан болон дараах хуваарь нь үүсгэсэн ХОУХ -ны долгионы гаралтын давтамжийг тохируулна.
Давтамж = цагийн давтамж/(4*prescaler*(PR2-TMR2)*Postscaler*тоо)
Хаана Tout = 1/давтамж
T2CON = 0b00000100;
Энэ нь 2.5 КГц @ 1МГц эсвэл 100КГц @ 4МГц талстыг бий болгоно (энэ ХОУХ -ны давтамжийн хувьд тодорхой мэдээлэл хүснэгтийг үзнэ үү.
Hex дүрслэл
T2CON = 0x04; // T2CON -ийг Prescaler болон хуваарийн дараах тохиргоогүйгээр идэвхжүүлэх
Алхам 4: PR2 -ийг тохируулах (Timer2 хугацааны бүртгэл)
Timer2 модуль нь 8 битийн хугацааны бүртгэлтэй, PR2. Таймер2 нь 00 цагаас PR2 -тэй тэнцэх хүртэл нэмэгддэг бөгөөд дараа нь дараагийн өсөлтийн мөчлөг дээр 00 цаг болж өөрчлөгддөг. PR2 бол унших, бичих боломжтой бүртгэл юм. Дахин тохируулсны дараа PR2 бүртгэлийг FFh болгон эхлүүлнэ.
PR2 -ийн тохирох мужийг тохируулах нь үүсгэсэн ХОУХ -ны долгионы ажлын мөчлөгийг өөрчлөх боломжийг ашиглах болно
PR2 = 100; // Ажлын мөчлөгийг 0-100 хооронд өөрчлөхийн тулд Циклийн хугацааг 100 болгож тохируулна уу
Энгийн байхын тулд би CCPR1L = 80 болгож PR2 = 100 ашиглаж байна; 80% -ийн ажлын мөчлөгт хүрэх боломжтой.
Алхам 5: CCPR1l модулийг тохируулна уу
PR2 = 100 CCPR1l-ийг хүссэн ажлын мөчлөгийг авахын тулд 0-100 хооронд хаана ч тохируулж болно.
Алхам 6: Ноорогоо MPLAB X IDE дээр бичээрэй
#оруулах
void delay (int a) // саатал үүсгэх функц {
for (int i = 0; i <a; i ++)
{
for (int j = 0; j <144; j ++);
}
}
хоосон үндсэн ()
{TRISC = 0; // Энэ битийг арилгаснаар PORTC нь гаралт болно.
CCP1CON = 0x0F; // ХОУХ горимд CCP1CON бүртгэлийг тохируулах
T2CON = 0x04; // T2CON -ийг Prescaler болон хуваарийн дараах тохиргоогүйгээр идэвхжүүлэх.
PR2 = 100; // Ажлын мөчлөгийг 0-100 хооронд өөрчлөхийн тулд Циклийн хугацааг 100 болгож тохируулна уу
байхад (1) {
CCPR1L = 75; // 75% татварын мөчлөгийн саатал үүсгэсэн (1);
}
}
Би мөн кодонд бага зэрэг өөрчлөлт оруулсан бөгөөд ингэснээр үүсгэсэн ХОУХ -ны долгионы давтамжийг хийсэн болно
Энэ кодыг proteus -д дуурайж, ХОУХ -ны долгионыг доор харуулав. Үүнийг өөрийн зураг боловсруулах самбар дээр байршуулахын тулд тохирох битийн хамт #include ашиглана уу.
Баярлалаа
Зөвлөмж болгож буй:
Долгион солих -- 555: 4 алхамыг ашиглан бага зэрэг солих
Долгион солих || 555 -ийг ашиглаж буй ХАМГИЙН БИЧЛЭГЭЭР СОНГОЛТ: Сайн байцгаана уу Өнөөдөр би энгийн мэдрэгчгүй унтраалга хийж байна, үүнийг хэт улаан туяаны мэдрэгч, 555 таймер IC -ийн тусламжтайгаар гараа даллахад идэвхжүүлнэ үү. Үүнийг ажиллуулцгаая. 555 нь дэлгүүр дээрээ флиплоп хэлбэрээр ажилладаг
Arduino UNO ашиглан дрон хэрхэн хийх вэ - Микроконтроллер ашиглан квадрокоптер хийх: 8 алхам (зурагтай)
Arduino UNO ашиглан дрон хэрхэн хийх вэ | Микроконтроллер ашиглан квадрокоптер хийх: Танилцуулга Миний Youtube сувагт зочлоорой Drone бол худалдан авахад маш үнэтэй хэрэгсэл юм. Энэ нийтлэлд би үүнийг хэрхэн хямд үнээр хийх талаар ярилцах болно. Та яаж ийм үнээр хямд үнээр өөрийн гараар хийх вэ … Энэтхэгт бүх материал (мотор, ESC
Blogger ашиглан .co.cc ашиглан үнэгүй домэйн (.co.cc) хэрхэн үүсгэх вэ: 8 алхам
Blogger With.co.cc дээр үнэгүй домэйн (.co.cc) хэрхэн үүсгэх вэ: Энэ линк дээр дарна уу > > http://www.co.cc
Синус долгион үүсгэх NE555 DIY хэлхээ: 6 алхам
Синус долгион үүсгэх DIY NE555 хэлхээ: Энэхүү гарын авлага нь синус долгион үүсгэхийн тулд NE555 хэлхээг хэрхэн DIY хийх талаар танд заах болно. Энэхүү хямд үнэтэй DIY иж бүрдэл нь конденсаторууд генээр цэнэглэх, цэнэглэх хугацааг хянахын тулд резистортой хэрхэн ажилладаг болохыг ойлгоход маш их тустай болно
Транзистор ашиглан ХОУХ -ны хянагч: 4 алхам
Транзистор ашиглан ХОУХ -ны хянагч: RC машин, робот эсвэл мотор ашиглах аливаа төслийг зохион бүтээхдээ хөдөлгүүрийн хурдыг хянах шаардлагатай. Үүний тулд танд ХОУХ -ны мотор хянагч хэрэгтэй болно, зах зээл дээр маш олон тооны мотор хянагч байдаг, гэхдээ өөрөө хамтран зохион бүтээдэг