таймер - энэ нь зүгээр л бага тохиолддоггүй. ATtiny13 микроконтроллер дээрх гал тогооны таймер Микроконтроллер дээрх өөрөө хийх циклийн таймер

Таймер нь 1А-аас ихгүй гүйдэл бүхий 8-12В хүчдэлтэй тогтмол гүйдлийн ачааллыг нэг буюу үе үе асаахад зориулагдсан. Таймер нь ачаалалтай ижил тэжээлийн эх үүсвэрээр тэжээгддэг. Хугацаа нь холбогчоор тохируулагдсан бөгөөд 5 минут, 10 минут, 20 минут, 40 минут байж болно.

Та өөр холбогчийг тохируулснаар нэг удаагийн идэвхжүүлэх эсвэл тогтмол горимуудын аль нэгийг сонгож болно. Эхний тохиолдолд ачааллыг заасан хугацааны дараа асаана. Мөн эрчим хүч байгаа цагт ажиллах болно. Хоёрдахь горимд ачааллыг үе үе асааж, унтраадаг - тодорхой хугацааны дараа асч, дараа нь дахин унтардаг. Мөн энэ нь үе үе давтагддаг.

Таймерыг товчлуураар эхлүүлнэ. Энэ товчлуурыг гаргаснаас хойш тооллого эхэлнэ. Цагийн импульсийн эх үүсвэр нь анивчдаг LED юм. Цагийн интервал нь түүний анивчсан давтамжаас хамаарна. Зохиогчийн LED нь ойролцоогоор 1.7 Гц давтамжтайгаар анивчсан.

Үүний зэрэгцээ 40, 20, 10, 5 минутын интервалыг ойролцоогоор зааж өгсөн бөгөөд үнэндээ тэдгээр нь хэдэн секундээс бага байна. Тиймээс цаг хугацааны интервалыг хатуу, нарийн дагаж мөрдөх шаардлагатай бол энэ таймерыг ашиглах нь утгагүй юм. Энэ нь хэт нарийвчлал шаарддаггүй тохиолдолд, жишээлбэл, цэргийн спортын янз бүрийн тоглоомуудад тохиромжтой.

хэлхээний диаграм

Уг хэлхээ нь 12 битийн хоёртын тоологч CD4040 чип (K561IE20-ийн аналог) дээр суурилдаг. Цагийн импульсийн эх үүсвэр нь анивчдаг LED HL1 юм. Jumper L нь хугацааны интервалыг сонгоход ашиглагддаг (диаграммд "40 минут" байрлалд үзүүлсэн). Jumper J2 нь горимыг сонгоход ашиглагддаг (нэг ачааллын байрлал дахь диаграммд үзүүлсэн).

Цагаан будаа. 1. 1А хүртэлх гүйдэлтэй нам хүчдэлийн ачааллыг удирдах таймерын (цаг хугацааны реле) бүдүүвч диаграмм.

D1 тоолуурыг дахин тохируулсны дараа түүний бүх гаралт нь логик тэг болно. L холбогчоор дамжин тэг хүчдэлийг ачааллыг шилжүүлдэг VT1 хээрийн транзисторын хаалганд нийлүүлдэг. Тиймээс энэ нь хаалттай бөгөөд ачаалал руу гүйдэл урсдаггүй.

Диаграммд заасан байрлалд J2 холбогч ба резистор R2 дамжуулан D1 микро схемийн гаралтаас анивчих LED руу гүйдэл өгдөг. HL1 LED нь анивчиж, цахилгаан хэлхээний дагуу гүйдэл ба хүчдэлийн импульс үүсгэдэг. R3-C1 гинжээр дамждаг хүчдэлийн импульс нь тоолуурын оролт руу ордог. S1 товчийг гаргасны дараа тоолуур эдгээр импульсийг тоолж эхэлнэ.

Урьдчилан тогтоосон хугацааны дараа холбогч L холбосон тоолуурын гаралт дээр логик нэгж үүснэ.Энэ тохиолдолд хээрийн транзистор VT1-ийн үүдэнд хүчдэл орж, нээгдэнэ. J2-ээр дамжуулан өндөр логик түвшний хүчдэлийг анивчдаг LED HL1-д нийлүүлдэг бөгөөд түүгээр дамжих гүйдэл зогсдог - энэ нь анивчихаа больж, импульс үүсгэдэггүй.

Энэ схем тэнд зогсдог. Гэхдээ хэрэв диаграммын дагуу J2 холбогч доод байрлалд байгаа бол R2 резистор нь тоолуурын гаралттай холбогдоогүй, харин нийтлэг тэжээлийн хасахтай холбогдоно. Тиймээс лангуу үргэлжлүүлэн ажиллана. Үүний дараа J1 холбогчтой холбогдсон тоолуурын гаралт дээр логик тэг гарч ирнэ. Мөн транзистор VT1 хаагдаж, ачааллыг унтраана. Мөн энэ нь мөчлөгөөр давтагдах болно.

Эд анги ба хэлхээний самбар

Диаграммд заасан LED-ийн оронд та нэг өнгийн анивчдаг LED-ийг ашиглаж болно, гэхдээ түүний анивчдаг давтамж нь өөр байж болох бөгөөд үүний дагуу цаг хугацааны интервал өөр байх болно гэдгийг анхаарч үзэх хэрэгтэй. Холболтын үндэс болгон 14 зүү микро схемд зориулсан залгуурыг ашигладаг. Үүнээс хоёр харилцагчийг хассан.

Цагаан будаа. 2. Таймерын хэлхээний ПХБ.

Дөрвөн зүү J2 холбогч, найман зүү J1 холбогчтой. Угсралтыг зурагт схемийн дагуу харуулсан хэвлэмэл хэлхээний самбар дээр гүйцэтгэдэг. Эрчим хүч нь 5-аас 15 В хүртэл байж болно.

Гордеев I. RK-2017-05.

Би гэр ахуйн (гал тогооны) таймерын энгийн схемийг өөрийн загвараар 99 минутын турш давтахыг санал болгож байна. Үүнийг хянахад хялбар болгох санаа нь ямар ч (тэнэг) гэрийн эзэгтэй үүнийг ямар ч асуудалгүйгээр ашиглах явдал байв. Зүгээр л минутын 2 оронтой тоог залгаад "Эхлүүлэх" товчийг дарна уу. Шаардлагатай бол секундийг бас тохируулж болно. Мөн "үйлчилгээний цэс" байдаг бөгөөд үүнд хэд хэдэн функцууд "далд" байдаг - таймер ажиллаж байх үед урагш / арагшаа тоолох, цаг тооллын төгсгөлд гэрэл, дууны эффектийн хэд хэдэн өөр сонголтуудыг харуулдаг. Таймерын өөр нэг онцлог шинж чанар (зөвхөн хянагч програмчлалын түвшинд ч гэсэн) нь RC5 хөлийн хяналтын сонголтыг сонгох чадвар юм - тооллогын үеэр эсвэл тооллого дууссаны дараа "1" гарч ирнэ. Энэ хөлийг жишээ нь ачааллыг хянах эсвэл ямар нэгэн байдлаар өөрийн үзэмжээр ашиглаж болно. Миний хувилбарт би тооллогын төгсгөлд нэмэлт дууны өсгөгчийг асаасан.

Эхэндээ би онооны самбарын "дизайн"-ыг боловсруулсан. Таймер нь зүүн талдаа хоёр цэгтэй 2 оронтой индикатор, түүний эргэн тойронд 6 LED ашигладаг. Цаг тоолохдоо тэд хэдэн арван секундыг харуулдаг бөгөөд тооллогын төгсгөлд тэд ажиллаж буй галыг дүрсэлдэг. Бүдүүн гэдэс нь харааны горимыг хянах функцийг гүйцэтгэдэг. Минутын горимд цагийг тохируулах үед унтраалттай, секундын горимд асдаг. Цаг хэмжигч эхлэхэд цаг тоолж эхэлнэ. Хэрэв цаг нэг минутаас бага байвал индикатор секундийг харуулж, хоёр цэг байнга асаалттай байна. Нэг минутаас илүү хугацаа өнгөрөхөд индикатор дээр минутууд гарч ирэх бөгөөд хоёр цэг анивчаж эхэлнэ. Миний дээр бичсэнчлэн хэдэн арван секунд LED-ийг харуул. Одоо энэ бичвэрийг уншихад бүх зүйл хэтэрхий боловсронгуй мэт боловч бодит амьдрал дээр бүх зүйл маш энгийн бөгөөд логик юм.

Би энэ таймерыг шууд хананд суулгахаар төлөвлөж байсан тул түүнийг цахилгаан тэжээлээс жинхэнэ унтраалгатай болгосон. Унтах болон зогсолтын горим байхгүй! Би тэдэнд дургүй. Зөвхөн бүрэн унтрах! Цахилгаан хангамж нь хятадын цэнэглэхтэй адил хамгийн энгийн импульс юм. Бүх төрлийн хоолны бүтээгдэхүүнийг бэлтгэхийн тулд нарийвчлал, тэр ч байтугай нэмэх / хасах хэдэн минут ч тийм ч чухал биш тул би сургалтын тусгай нарийвчлалыг эрэлхийлээгүй. Мөн надад секундомер загвар байхгүй байсан. Нүдээр харахад хамгийн их интервалыг 99 минут болгоход "лавлагаа" цагтай харьцуулахад бараг ялгаа байхгүй байв. Магадгүй хагас секунд байсан байх, гэхдээ үүнийг нүдээр харах нь хэцүү байдаг. Тиймээс хэрэв бүх зүйл танд тохирсон бол та төхөөрөмжийг давтаж эхлэх боломжтой. Энд түүний диаграмм байна:

Програм хангамжийн үед MK холбогч JP1 ба JP2 хасагдсан байна. Диаграм дээр зай хэмнэхийн тулд VT5, VT6, VT9, VT10 товчлууруудыг харуулаагүй болно. Би индикаторыг хуучин компьютерийн хайрцагнаас авсан. Энэ нь зүүн 1-ийг хоёр цэг болгон ашигладаг.Зөвхөн эцсийн угсралтын үед эдгээр сегментүүдийг 2 цэг авахын тулд бага зэрэг будах шаардлагатай (би зүгээр л шаардлагагүй хэсгүүдийг хар туузаар битүүмжилсэн). Энэ индикаторын өөр нэг онцлог нь энэ зүүн нэгжийн сегментүүд нь индикатор дотор цувралаар холбогдож, хоёр дахь цифрээс H сегмент (таслал) хэлбэрээр харагдана. Тиймээс R22 нь бусад сегментүүдийн резисторуудаас бага гэдгийг анхаарна уу. Ер нь, бүдүүн гэдэсний хувьд ердийн 2 оронтой индикатор, 2 цуврал холбогдсон LED ашиглаж болно. Би энэ үзүүлэлтийг аль хэдийн авсан учраас л авсан. Ямар ч тохиолдолд би үүнийг тэмдэглэнэ.

Цагийг дараах байдлаар тохируулна. Анхдагч байдлаар (идэвхжүүлсэн үед) таймер нь хоёр цэг унтарсан минут оруулах горимд байна. Тоон товчлууруудыг ашиглан хэдэн минут хэрэгтэйг залгаад "Эхлүүлэх" товчийг дарна уу (диаграммын дагуу S12). Оруулсан цифрүүд нь дарах явцад зүүн тийш шилждэг бөгөөд индикатор дээрх аль тоонууд асдаг - одоогоор маш олон минут тохируулагдсан байна. Жишээлбэл, индикатор дээр 23 байвал (23 минут тохируулагдсан), гэхдээ та 6 минут тохируулах шаардлагатай бол "0", "6" товчийг дарна уу. Хэрэв та секундийг мөн тохируулах шаардлагатай бол "Сек" товчийг (диаграммын дагуу S10) дарж, хоёр цэгийн гэрэл асна. Бид танд хэдэн секунд хэрэгтэйг минуттай адилтгаж өгдөг. Хэрэв залгасан дугаар 59 секундээс дээш байвал хамгийн өндөр цифр нь анивчиж, алдааг илтгэж, 0 болгож дахин тохируулна. Та таймерыг минут болон секундын горимоос эхлүүлж болно. Цаг хэмжигчийг ажиллуулсны дараа та "Эхлүүлэх" товчийг дахин дарж хугацаанаас нь өмнө зогсоож болно.

Хэлхээний диаграммд X3 холбогч нь зүүн талд "Out" гэсэн бичээстэй харагдаж байна. Энэ бол миний эхэнд бичсэн хяналтын гаралт юм. Эхний төлөвт "0" байна. Програмчлалын үе шатанд "1" түвшин гарч ирэх үед MK-г тохируулах боломжтой - тооллогын үеэр эсвэл тооллын төгсгөлд, таймер анхны байрлалдаа буцаж ирэхээс өмнө. Үүнийг EEPROM өгөгдлийн санах ойн 0x2105 хаягийн нүдэнд суулгасан (зураг дээрх 1-р хайрцаг). Тэнд 0x01 утгыг бичснээр таймер ажиллаж байх үед гаралт нь логик "1" болно. 0x00 гэж бичвэл - тоолол дууссаны дараа. MK програмчлах үед програмын дэлгэцийн агшинг энд оруулав.

Хаяг 0x2107 (2-р квадрат) нь тооллогын үеийн залруулгын дугаарын утга (хоцрогдсон-бууралт, яаран-өсөлт). Тоог нь жижиг хязгаарт өөрчлөх нь зүйтэй бөгөөд онцгой шаардлагагүй бол түүнд хүрэхгүй байх нь дээр. 0 ба 0FFh-тэй тэнцүү тоог бүү тавь. 0x2109 (дөрвөлжин 3) хаяг дээр товчлуурыг дарж таймерыг дахин тохируулахгүй бол тооллогын төгсгөлд дуут дохио хэдэн минут ажиллахыг тодорхойлох тоо байна.

Би дээр бичсэнчлэн, та энэ схемийн дагуу ачааллын хяналтын зангилаа "Гарах" гаралт руу холбож болно.

Хэрэв ачаалал тийм ч хүчтэй биш (хэдэн арван ватт) бол тиристорыг радиатор дээр байрлуулах боломжгүй юм. Туршилтын үеэр би 25 Вт-ын улайсдаг чийдэнг холбосон бөгөөд бүх нарийн ширийн зүйл нь цогцос шиг хүйтэн байв.

Би юу ч хянах шаардлагагүй, таймер хоол хийх цагийг тоолох гэж байсан тул таймер ажиллах үед дохионы хэмжээг нэмэгдүүлэхийн тулд утаснаас пьезо чанга яригчтай нэмэлт "өсгөгч" холбосон. унтраах. Энэ нь нэлээд чанга болж, дохио нь орон сууцны аль ч буланд сонсогддог.

Тэдгээр. "Out" гаралт нь "amp" тэжээлийн хангамжийг асаасан бөгөөд дуут дохиог өөрөө жижиг чанга яригчийн PIK гаралтаас авсан. Цаг тохируулах үед товчлуурыг дарахад зөвхөн жижиг чанга яригч дуугарч, таймер унтрах үед хоёр чанга яригч нэг дор дуугардаг байсан. Энэхүү нэмэлт өсгөгч нь тусдаа ороолт дээр угсардаг.

Таймер нь өөрөө хоёр талт хэвлэмэл хэлхээний самбар дээр угсарч, . Архивыг нийтлэлийн төгсгөлд хавсаргав. Самбар нь 0.65 мм-ийн давирхайтай TSSOP багц дахь PIC-д зориулсан утастай.

Угсрах / дибаг хийх явцад самбарын зураг.

Таймерыг тэжээхийн тулд би энэ схемийн дагуу угсарсан хамгийн энгийн цахилгаан тэжээлийн хангамжийг ашигласан (би схемийг өөрөө интернетийн хаа нэгтээ бэлэн болгосон). Энэ талаар дэлгэрэнгүй бичих нь утгагүй юм, учир нь энэ бол цахилгаан хангамжийг солих тухай тусдаа нийтлэлийн сэдэв юм. Би зөвхөн трансформаторын ороомгийн талаархи мэдээллийг өгөх болно. Тохиромжтой хэмжээтэй хүрээг өөрөө эрчим хүч хэмнэдэг чийдэн эсвэл шатсан Хятадын PSU-аас авдаг. Үүнийг компьютерийн PSU эсвэл мониторын ажлын мөчлөгөөс салгаж болно, гэхдээ тэдгээр нь арай том хэмжээтэй байх болно. Трансформаторын хүрээ, цөмийг асуудалгүй задлахын тулд би буцалж буй усанд 3-4 минутын турш дүрээд дараа нь маш их хүчин чармайлтгүйгээр болгоомжтой буулгана. Дараа нь бид бүх хуучин ороомгийг салгаж, шинэ ороомогуудыг салхинд хийнэ. Ороомог: 1-2 - 0.08 - 0.1 мм диаметртэй 600 эргэлт; 3-4 - 0.3 - 0.55 мм диаметртэй 23 эргэлт; 5-6 - 0.08 - 0.1 мм диаметртэй 10 эргэлт. Ороомог 1-2 бөөнөөр нь шархадсан, үлдсэн хэсэг нь ороомог руу ороомог. Бүх ороомог нь бие биенээсээ сайн тусгаарлагдсан байх ёстой. Ороомог хийхдээ ороомгийн чиглэл, эхлэлийг цэгээр нь ажигла. W хэлбэрийн судлын хоёр талыг тусгаарлагч жийргэвчээр холбодог (агаарын завсар ~ 0.1 мм).

Гэхдээ гаралтын үед 8-9 вольтын хүчдэлтэй бэлэн хятад цахилгаан хангамжийг авснаар та үүнийг илүү хялбар болгож чадна.

Кейсийн үйлдвэрлэлийн цөөн хэдэн зураг (жижиг ажлын тэмдэглэл). Дэлгэцийн дизайнд онцгой анхаарал хандуулсан.

За, бэлэн төхөөрөмж угсарч байна.

Эцэст нь, текстийн эхэнд дурдсан "үйлчилгээний цэс" -ийн тухай. Хэрэв та секундын тохиргооны горимоос "1", "1", "1", "1", "1", "Эхлэх" гэж бичвэл "1" ба "2" товчлууруудаар урагш эсвэл урвуу тооллогыг сонгох боломжтой. ". Дэлгэц "харагдах болно" Cu"(Тоолох) эсвэл" CD" (Дотоод тоолох). "Эхлүүлэх" товчийг ашиглан тохиргоог EEPROM-д хадгалснаар цэснээс гарна уу.

Хэрэв та "2", "2", "2", "2", "2" (мөн хоёр дахь тохиргооны горимоос) болон "Эхлүүлэх" гэсэн дарааллыг залгавал "1" - "4" товчлууруудыг ашиглан сонгож болно. таймер дуусах үед дуут дохио өгөх дөрвөн сонголтын нэг. Дэлгэц "харагдах болно" A1" -"А4" (Сэрүүлэг). Тохиргоог EEPROM-д хадгалаад "Эхлүүлэх" товчийг ашиглан гарна уу.

"1" - "4" товчлууруудаар "3", "3", "3", "3", "3", "Эхлэх" гэж бичснээр та "гал асаах" дөрвөн сонголтоос аль нэгийг нь сонгож болно. таймер асаалттай үед дугуй LED. Дэлгэц "харагдах болно" E1" -"E4".

"1" - "4" товчлууруудаар "4", "4", "4", "4", "4", "Эхлэх" гэж бичснээр долоон сегментийн үзүүлэлтүүдийг анивчуулах дөрвөн сонголтоос аль нэгийг нь сонгох боломжтой. таймер асаалттай байна. Дэлгэц "харагдах болно" L1" -"L4".

Архив нь таймер, цахилгаан хангамжийн самбар (хэрэв хэн нэгэнд хэрэгтэй бол) болон хянагч програм хангамжийг агуулдаг. Гал хамгаалагчийг програм хангамжид аль хэдийн зааж өгсөн тул юу ч өөрчлөх шаардлагагүй. Таймер самбар дээр цахилгаан хангамжийн хэд хэдэн 0.1uF керамик конденсаторууд байдаг бөгөөд тэдгээрийг хэлхээний диаграммд харуулаагүй болно. Мөн FB (феррит ирмэг) гэж тэмдэглэсэн хэд хэдэн хэсэг байдаг - эдгээр нь зүгээр л холбогч болгон ашигладаг феррит бөмбөлгүүдийг юм.

Радио элементүүдийн жагсаалт

Зориулалт Төрөл Номлол Тоо хэмжээ Анхаарна ууДэлгүүрМиний дэвтэр
IC1 MK PIC 8 бит

PIC16F636

1 Тэмдэглэлийн дэвтэр рүү
IC2 кодлогч, декодер

SN74LS155A

1 Тэмдэглэлийн дэвтэр рүү
IC3 ээлжийн бүртгэлK561IR21 Тэмдэглэлийн дэвтэр рүү
IC4 Шугаман зохицуулагч

L78L05

1 Тэмдэглэлийн дэвтэр рүү
VT1-VT3, VT13 хоёр туйлт транзистор

KT3107BM

4 Тэмдэглэлийн дэвтэр рүү
VT4-VT12 хоёр туйлт транзистор

KT3102BM

29 Тэмдэглэлийн дэвтэр рүү
D1-D4 Шулуутгагч диод

1N4148

4 Тэмдэглэлийн дэвтэр рүү
Q1 Кварцын резонатор20 МГц1 Тэмдэглэлийн дэвтэр рүү
C1, C2, C4 220 мкФ3 Тэмдэглэлийн дэвтэр рүү
C3, C5, C8 электролитийн конденсатор100 мкФ3 Тэмдэглэлийн дэвтэр рүү
C6, C7 Конденсатор22 пФ2 Тэмдэглэлийн дэвтэр рүү
C9 Конденсатор0.1 мкФ1 Тэмдэглэлийн дэвтэр рүү
R1-R3 Эсэргүүцэл

1 кОм

3 Тэмдэглэлийн дэвтэр рүү
R4-R6 Эсэргүүцэл

680 ом

3

Өмнөх нийтлэлдээ - Энэ бол долоон сегментийн LED үзүүлэлтүүдийг ашигладаг ийм төхөөрөмжийн хамгийн сүүлийн үеийн хөгжил гэж би бичсэн боловч би яарч байсан юм. Баримт нь энэ загварт микроконтроллерийн санах ойн зөвхөн 40% -ийг ашигладаг бөгөөд микроконтроллерийн портын нэг ашиглагдаагүй гаралт хэвээр байна (RESET гаралтаас бусад). Тиймээс МК-тай холбоотой энэ шударга бус байдлыг засч, ачааллыг хянах өөр суваг нэмэхээр болсон. Гүйцэтгэсэн ажлын дараа МК-ийн санах ойг 99% ашиглаж, МК-ын бүх дүгнэлтийг оролцуулдаг. Өөрчлөгдсөн дизайны бүтэн нэр:
"Хоёр сувгийн термометр, хоёр сувгийн термостат (термостат), цагтаа ажиллах чадвартай, ATmega8 микроконтроллер дээр нэг сувгийн бодит цагийн таймер, DS18B20 температур мэдрэгч"

Хоёр сувгийн термометр, термостат (термостат), нэг сувгийн бодит цагийн таймерын тодорхойлолт ба шинж чанарууд
ATmega8 болон DS18B20 дээр

Энэхүү загвар нь өмнөх загвараа орхисон бөгөөд дэлгэрэнгүй тайлбарласан (термометр ба термостатын бүх шинж чанар, ажиллах горим, алдааны хариу үйлдэл өөрчлөгдөөгүй) тул би зөвхөн шинэлэг зүйл болох бодит цагийн таймер дээр анхаарлаа хандуулах болно.

бодит цагийн таймер

Загварт нэвтрүүлсэн бодит цагийн таймер, энэ нь 24 цагийн дотор гурав дахь ачааллаа бодит цаг хугацаанд удирдах боломжийг олгодог бөгөөд өдрийн цагаар ачааллыг хянах хоёр цагийн интервалыг тохируулах боломжийг олгодог. Мөн таймер нь өдрийн цагаар температурын хяналтын суваг (дулааны хяналт) бүрт ачааллыг хянах нэг цагийн интервалыг тохируулах боломжийг олгодог.
Бодит цагийн таймер гэж юу гэсэн үг вэ? Үнэн хэрэгтээ энэ бол 10 минутын нарийвчлалтай дотоод цаг юм. Төхөөрөмжийн анхны тохиргооны үед одоогийн бодит цагийг 10 минутын нарийвчлалтайгаар тохируулж, дараа нь таймер нь энгийн цаг шиг 24 цагийн интервалыг 10 минутын алхмаар тоолдог.

10 минутын хугацааны интервалыг тоолох салангид байдлыг хоёр шалтгаанаар баталсан.
- гурван оронтой индикатор дээр мэдээллийг харуулах тав тухтай байдал, жишээлбэл, 22 цаг 40 минут - 22.4
- 10 минутын нарийвчлалтай ачааллын хяналт нь ихэнх даалгаварт хангалттай байдаг (үнэндээ нарийвчлал нь 5 минут - хэрэв та ачааллыг 7 цаг 35 минутанд асаах шаардлагатай бол 7.4 эсвэл 7.3-ыг тохируулж болно)

Таймерыг нэвтрүүлэх нь төхөөрөмжтэй ажиллах алгоритмыг бага зэрэг өөрчилсөн (би ажлын алгоритмын талаар доор ярих болно). Одоо "Сонгох" товчийг дарснаар та хоёр цэс рүү орох боломжтой.
— термостатын ажиллах температурын хязгаар, термостатын ажиллах хугацааны интервал, таймераар ачааллыг хянах хугацааны интервалыг тохируулах цэс
- цагийг засах, одоогийн цагийг тохируулах цэс.
MK нь дотоод RC осциллятор (8 МГц) -ээр тэжээгддэг бөгөөд энэ нь тогтворгүй бөгөөд MK-ийн температур болон тэжээлийн хүчдэлээс хамаардаг тул цагийг засах функц нь тодорхой нөхцөлд цагны нарийвчлалыг тохируулах боломжийг олгодог. Мөн одоогийн цагийг тохируулах функц нь анхны тохиргооны үед одоогийн бодит цагийг тохируулах эсвэл бодит цаг хугацаанаас эрс ялгаатай бол сайжруулах боломжийг олгодог.
Төхөөрөмжийг ажиллуулах явцад таймерын заалтууд харагдахгүй тул та зөвхөн одоогийн цагийн тохиргооны горимд ороход "цаг хэд болж байгааг" мэдэх боломжтой.

Хэрэв асаах, унтраах хугацааг тэг болгож тохируулсан бол хугацааны ачааллыг хянахгүй (идэвхгүй). Зарчмын хувьд, асаах, унтраах хугацаа тэнцүү байвал цаг хугацааны ачааллыг хянадаггүй.

Та цаг засах цэс рүү орж одоогийн цагийг тохируулах үед таймер зогсдог. Тиймээс цагийг засахдаа цэснээс гарахын өмнө одоогийн цагийг тохируулах шаардлагатай.

ATmega8 дээрх гурван сувгийн термометр, термостат, таймерын диаграмм

Төхөөрөмжийн хэлхээг программд бүтээсэн бөгөөд зарчмын хувьд хоёр сувгийн термостатын хэлхээнээс ялгаатай биш (ачааллын хяналтын гурав дахь суваг нэмэгдсэн бөгөөд өөрчлөлтийн хувьд ачааллын хяналтын хэлхээг өөрчилсөн):


Хэлхээнд "гаралтын" хэсгүүдийг ашигладаг тул бүтцийг тохиромжтой тохиолдолд байрлуулахад тохиромжтой байхын тулд хэлхээг хоёр хэсэгт хуваана.
- Дэлгэцийн нэгж - заагч ба товчлуурууд
- хяналтын хэсэг - бусад бүх зүйл
Идэвхжүүлсэн сувгуудын дохиолол бүхий LED-үүдийг дэлгэцийн хэсэгт оруулах шаардлагатай боловч самбарыг холбохдоо үүнийг бие даан хийж болно (LED-д гурван хос дэвсгэр нэмж, утсан хяналтын хэсэгт холбоно).

Төхөөрөмжийн дизайн

Төхөөрөмжийн суурь- Дотоод RC хэлхээ бүхий суурилуулсан генератороос 8 МГц цагийн давтамжтай ATmega8 микроконтроллер.
Дотоод генераторын давтамжийг тохируулахын тулд MK-г програмчлахдаа 8 МГц давтамжийн тохируулгын үүрний утгыг EEPROM-санах ойд тэг хаягаар бичих шаардлагатай. Доор байрлуулсан EEPROM санах ойн HEX файлд анхдагчаар $B1 (B1) гэсэн тоо бичигдсэн байдаг - шалгасан 5 микроконтроллерын шалгалт тохируулгын нүдний дундаж утга.
Нэмж дурдахад, бодит цагийн таймерыг зөв ажиллуулахын тулд тоолох бүртгэл ба харьцуулах регистрийн OCR1A тэнцүү байх үед таймер / тоолуур T1-ийн тасалдал дээр ажилладаг бөгөөд EEPROM санах ойг програмчлахдаа 33050 (1A81) тоо байна. OCR1A харьцуулалтын регистрд программчлан орсон тохируулгын нүдний утгын дараа бичигдэнэ. Таймерын явцыг засах үед энэ тооны утга мөн өөрчлөгддөг.

ЗаалтСуурилуулалтын горим дахь одоогийн температур ба утгыг "нийтлэг катодын" залгах хэлхээ бүхий гурван оронтой долоон сегментийн хоёр үзүүлэлтээр гүйцэтгэдэг.

Мэдрэгч DS18B20төхөөрөмжид 3 зүү DS1 ба DS2 туузаар холбогдсон бөгөөд зүү дугаарлалт нь мэдрэгчийн зүү дугаарлалттай тохирч байна.

Ус зайлуулах менежментбага чадлын NPN төрлийн биполяр транзистороор гүйцэтгэдэг.

Цэс рүү орох, утгыг тохируулах, нэг халаалтын (хөргөх) горимыг эхлүүлэх нь DTS төрлийн гурван тактик товчлуураар хийгддэг.
- S1 - "Сонголт"
— S2 — » + »
— S3 — » — »


- температурын хяналтын сувгийн хувьд - стандарт сэлгэн залгах хэлхээний дагуу MOS3063 оптотриак ба VT139-800E триакуудаар дамжуулан 3.5 кВт хүртэлх ачааллыг хянах боломжтой (хэрэв ачааллын хүч 300-400 Вт-аас их байвал радиаторуудад триак суурилуулсан байх ёстой. )
- таймераас гарах сувгийн хувьд - 5 вольтын ороомгийн тэжээлийн хүчдэл бүхий бяцхан механик релегээр дамжуулж, ашигласан релеээс хамааран 2 - 2.5 кВт хүртэл ачааллыг хянах боломжийг олгодог.

220 вольтын сүлжээний хүчдэлийг төхөөрөмжид холбож, ачааллыг асаахад анхаарлаа хандуулж байна - та сүлжээний хүчдэлийн "фаз" ба "тэг" -ийг харгалзан диаграм дээрх шиг холбох хэрэгтэй.

Төхөөрөмжийн хүчЭнэ нь 7-25 вольтын хүчдэлтэй шууд гүйдлийн аль ч эх үүсвэрээс хийгддэг. Мөн хэлхээг 5 + -0.5 вольтын гаралтын хүчдэлтэй гар утаснаас шаардлагагүй цэнэглэгчээс тэжээж болно. Энэ тохиолдолд тогтворжуулагч 7805 ба конденсатор C4, C5-ийг хэлхээнээс хасч болно. Төхөөрөмжийн одоогийн дундаж хэрэглээ нь 40 миллиампер юм.

Хэрэв нөөц хүчийг зохион байгуулах шаардлагатай бол (таймерыг тасралтгүй ажиллуулахын тулд) та жишээ нь дараах схемийг ашиглаж болно.

Загварт ашигласан дэлгэрэнгүй мэдээлэл:

Гурван сувгийн термометр, термостат, термостат, таймерыг хянах

1. Цэс рүү орох

Төхөөрөмж нь хоёр цэстэй.
"Сонгох" товчийг "богино" дарахад үзүүлэлтүүд дээр "ON—-OFF" гэсэн бичээс гарч ирэх бөгөөд бид цэс рүү орно.
– термостатын ажиллах температурын хязгаар ба термостатын ажиллах хугацааны интервал, ачааллыг таймераар хянах хугацааны интервалыг тохируулах
"Сонгох" товчийг "удаан" дарахад "ON—-OFF" гэсэн бичээсийг "Cor—-USt" гэсэн бичээсээр сольж, товчлуурыг суллах шаардлагатай бол цэс рүү орно.
- цагийг засах, одоогийн цагийг тохируулах

Цэс рүү ороход ("Сонгох" товчийг удаан эсвэл богино дар) ачааллын хяналтын бүх суваг идэвхгүй болно гэдгийг анхаарна уу.

2. "Аялалын засвар ба одоогийн цагийн тохиргоо" цэс ("Сонгох" товчийг удаан дар)

Цэс рүү орсны дараа бид цагийг засах горимд шууд орно.
"Кор--00"
"Сонгох" товчийг дахин дарснаар бид одоогийн цагийн тохиргооны горимд шилжинэ.
"USt—-00.0"
Одоогийн цаг тохируулах горимд бид хамгийн зөв цагийг харж, "+" болон "-" товчлууруудыг ашиглан хамгийн ойрын цагийг 10 минутын нарийвчлалтайгаар тохируулдаг.
Жишээлбэл - одоогийн цаг нь 20 цаг 37 минут, "20.4" (20 цаг 40 минут) заагч дээр тохируулагдсан бөгөөд яг 20.40 цагт "Сонгох" товчийг дарснаар бид цэснээс гарна. Бүх зүйл, бодит цагийг тохируулсан, цаг ажиллаж байна.
Та цагийг +50 нэгжээс -50 нэгж хүртэл тохируулах боломжтой. Анхны утга нь "00" (энэ горимд ороход "00" үргэлж гарч ирдэг)
Тохиргоог нэгээр өөрчлөхөд цагийн хурд 24 цагт ойролцоогоор 4 секундээр нэмэгддэг (+1) эсвэл буурдаг (-1).
Цагийн нарийвчлалыг LED-ийг асаах замаар холбосон ачаалалгүйгээр таймерын ачааллын хяналтын суваг дээр шалгаж болно.
Жишээлбэл, 21.00 цагт бид одоогийн цагийг тохируулж, ачааллыг асааж - 8.50, унтраах - 9.00. Өглөө нь бид ачаалах хугацааг хэмжсэн. 8 цаг 59 минут 20 секундэд ачаалал унтарлаа гэж бодъё. Тэгэхээр таймер 12 цагт 40 секундээр хоцорч байна. 24 цагийн дараа завсарлага аль хэдийн 80 секунд болно. 80 секундыг 4 = 20-д хуваана. Залруулгын горимд уншилтыг 20 болгож, дараа нь одоогийн цагийг тохируулах горимд шилжиж, хамгийн ойрын одоогийн цагийг, жишээлбэл 9.1, 9 цаг 10 минутад "Сонгох" товчийг дарж тохируулна уу. " товчийг дарснаар бид үйлдлийн горим руу гарна.

Нөөц тэжээлийн эх үүсвэр байхгүй тохиолдолд сүлжээний хүчдэл "алга болсон" тохиолдолд цагийг дахин тохируулж, одоогийн цагийг дахин тохируулах шаардлагатай гэдгийг би та бүхний анхаарлыг татаж байна.

3. Термостатын температур, хугацааны интервалыг тохируулах цэс

Температурын хяналтын сувгийн (дулааны хяналт) ажиллах горимуудыг танд сануулъя.
- температурын хяналтын горим - тодорхой температурыг хадгалах
- дулааны хяналтын горим - температурыг тодорхой хязгаарт байлгах
- нэг халаалтын (хөргөх) горим
Эдгээр бүх горимуудыг нийтлэлд нарийвчлан тайлбарласан бөгөөд горим бүрийн нарийвчилсан заавар, онцлог шинж чанаруудыг мөн тэнд өгсөн болно.
Бодит цагийн таймерыг загварт нэвтрүүлснээр суваг бүрт өдрийн цагаар нэг цагийн интервалыг тохируулах боломжтой болсон. Үүнийг хийхийн тулд цэс нь сувгийг асаах, унтраах үед нэмэлт мөрүүдийг нэвтрүүлсэн.
Жишээлбэл, бид зөвхөн шөнийн цагаар 23.00-6.30 цагийн хооронд ажиллахын тулд температурын хяналтын 1-р суваг хэрэгтэй. Үүнийг хийхийн тулд 1-р цэсэнд ("Сонгох" товчийг богино хугацаанд дарна уу):
- температурын дээд ба доод хязгаарыг тогтоосны дараа "t.On——00.0" ба "t.OF——00.0" гэсэн хоёр мөр гарч ирнэ (хоёр дахь сувагт мөн адил байна)
- "+" ба "-" товчлууруудыг ашиглан "t.On——23.0" ба "t.OF——06.3"-г тохируулна уу.
Одоо 23.00 цагаас 1-р суваг заасан горимд ажиллаж эхлэх ба 6.30 цагаас өдөр бүр унтрах болно.
Нэг халаах/хөргөх горим. Хэрэв хугацааны интервалыг сонгоогүй бол (асаах/унтраах хугацааг "0" болгож тохируулсан) холбогдох товчлуурыг дарж эдгээр горимуудын эхлэлийг гарын авлагын горимд хийнэ. Энэ горим нь мөн цагтаа ажиллах боломжтой.
Сав дахь ус 25 минутын дотор ийм температур хүртэл халдаг тул бид өглөө 7.00 цагт термостатын 2-р суваг дээр савны усыг 45 градус хүртэл халаах хэрэгтэй гэж бодъё.
- "2.On - - 00" ба "2.OF - - 45"-ыг тохируулна уу
- "t.On - - 06.3"-ыг тохируулж, "t.OF"-ыг анхдагч "t.OF - - 00.0"-г орхино.
Одоо 2 суваг нь 6.30 минутад автоматаар эхлэх бөгөөд усны температур 45 градус хүрэхэд унтрах болно.
Нэг удаагийн халаах/хөргөх горимыг таймертай хамт ашиглах үед горимыг гараар эхлүүлэх боломж хэвээр байгаа боловч "t.OF—-t.On" хугацааны интервалд (өмнөх үед) гэдгийг анхаарах хэрэгтэй. Жишээлбэл, 24.00-6.30 хүртэл), гарын авлагын горим боломжгүй. Иймд горимыг хүссэн үедээ гараар эхлүүлэхийн тулд "t.OF"-ыг "t.On"-ээс 10 минутаар бага тохируулах шаардлагатай.

4. Таймерын цагийн интервалыг тохируулах цэс

бодит цагийн таймертаймераар ачааллыг хянахын тулд өдрийн цагаар хоёр цагийн интервал тохируулах боломжийг танд олгоно.
Үүнийг хийхийн тулд цэсэнд дөрвөн нэмэлт мөрийг оруулсан болно.
- t1.1 - эхний хугацааны интервалыг асаах хугацаа
- t1.0 - эхний хугацааны интервалд унтрах хугацаа
- t2.1 - хоёр дахь хугацааны интервалыг асаах хугацаа
- t2.0 - хоёр дахь хугацааны интервалд унтрах хугацаа
Цагийн интервалууд давхцаж болохгүй.
Бид хашаан дахь гэрэлтүүлгийг өдөрт хоёр удаа асаах хэрэгтэй гэж бодъё: 21.00-0.30, 5.30-7.00.
Суулгах:
- t1.1 - 21.0
- t1.0 - 00.3
- t2.1 - 05.3
- t2.0 - 07.0
Одоо таймерын ачаалал 21.00, 5.30 цагт асаалттай, 0.30, 7.00 цагт унтарна.

Хоёр дахь ПХБ сонголт:

FUSE битүүдийг суулгах сонголт:

(22.2 КБ, 2016 он гарсан)

PIC16F628A микроконтроллер дээрх энэ таймер хэлхээг Португалийн электроникийн сайн сайтаас зээлсэн болно. Микроконтроллер нь дотоод осциллятороос ажилладаг бөгөөд энэ мөчид хангалттай нарийвчлалтай гэж үзэж болно, учир нь 15 ба 16-р зүү чөлөөтэй хэвээр байгаа тул илүү нарийвчлалтай ажиллахын тулд гадаад кварцын резонаторыг ашиглаж болно.


Таймерт төхөөрөмжийг удирдах гурван товчлуур байдаг: "START / STOP", "MIN" ба "SEC"

"ЭХЭЛЛЭХ/ЗОГСООХ"- таймерыг эхлүүлэх, түр зогсоох.
"MIN"- цагийн интервалыг минутаар тохируулах. 0-ээс 99 хүртэл тохируулж болно.
SEC- бас, гэхдээ секундыг тохируулахын тулд. Мөн секундийг 0-ээс 59 хүртэл тохируулсан.
"MIN" болон "SEC" товчлууруудыг нэгэн зэрэг дарснаар ажлын явцад таймерын хэлхээг дахин тохируулна.

Таймер дээр тогтоосон хугацаа дуусахад дуут дохио дуугарч, LED гэрэл асна. Цахилгаан соронзон дохиог дуу чимээ гаргагч болгон ашигладаг. Үүний дараа товчлуурыг дарахад таймер дахин тохируулагдаж, LED унтрах болно.

Цаг хэмжигч доош тоолж байх үед 13-р зүү өндөр байх ба таймер дуусахад таймер багасна. Энэ гаралтыг ямар ч идэвхжүүлэгчийг удирдахад ашиглаж болно. Хэлхээ нь тогтворжсон гүйдлийн эх үүсвэрээр тэжээгддэг.


Jumper J1 нь таймерыг тохируулахад ашиглагддаг. Энэ нь хаагдахад програмчлалын горимд ордог. "MIN" болон "SEC" товчлууруудыг ашиглан та таймерыг удаашруулж эсвэл хурдасгах дотоод параметрийн утгыг өөрчилж болно. Энэ утгыг микроконтроллерийн EEPROM-д хадгална. Хэрэв та програмчлалын горимд байхдаа "START/STOP" товчийг дарвал энэ параметрийг анхдагч тохиргоонд дахин тохируулна.

pic16f630 дээрх энгийн таймер

Таймерыг нэг минутаас 21 цаг хүртэлх хугацааны интервалд минут тутамд салангид алхамаар тохируулж болно. Энэхүү загвар нь 12 хяналтын унтраалгатай бөгөөд тус бүр нь өөрийн өртөх хугацаатай байдаг. Микроконтроллер нь өөрийн генератороос ажилладаг тул цаг хугацааны алдаа нь маш бага буюу цагт 30 секундээс ихгүй байна.

MK Jp1 анивчих үед идэвхгүй байх ёстой. Хэрэв та цагийн тохиргоог байнга өөрчлөхөөр төлөвлөж байгаа бол шилжүүлэгчийн оронд холбогч ашиглаж болно. Proteus дахь програм хангамж, эх сурвалж, төслийг дээрх холбоосоос авч болно

Өндөр нэр хүндтэй олны анхаарлыг "Дутуугүй" мөчлөгийн өөр нэг төсөлд урьж байна. Энэ удаад микроконтроллер дээр бүтээгдсэн таймер юм. attiny2313. Микроконтроллероос бусад хэсгүүдийн тоо хамгийн бага боловч аль хэдийн сайн мэддэг "термостат - энэ нь тохиолдоогүйгээс ч бага" төслийнхөөс арай илүү байна. Гэсэн хэдий ч таймер нь функцээр нэлээд "чихмэл" байна.

Уулзалт.

Таймер нь 3 алгоритмын аль нэгийн дагуу өрхийн ачааллыг хянах зориулалттай.

  • Цикл: өгөгдсөн хугацааны интервалд ачааллыг тасралтгүй асаах, дараа нь өөр заасан хугацаанд унтраах;
  • Өртөлт ба нэг удаагийн оруулга- тодорхой хугацааны дараа ачааллыг асаах;
  • Өртөлт ба нэг удаагийн унтрах- тодорхой хугацааны дараа ачааллыг салгах.
Техникийн үндсэн шинж чанар, чиг үүрэг.
Хамгийн бага цаг хугацааны интервал 1 сек
Хамгийн их тоолох хугацааны интервал 999 мин. 59 сек.
Интервал дахь цаг хугацааны интервалыг сэргээх алхам 1 сек.
Хяналт товчлуурууд
Хяналтын товчлуурын тоо 2
үзүүлэлтийн төрөл 7 сегмент
LED
3(4)-бит
Цахилгаан унтарсан үед горим бүрийн тогтоосон интервалыг хадгалах Өгөгдсөн
Үндсэн хүчийг сэргээх үед тооллогын үргэлжлэх хугацаа Өгөгдсөн
Илүүдэл цахилгаан хангамж Лити
зай 3V
Гаралтын дохио Логик,
0 - 5V, 20 мА
Интервал дуусахаас 10 секундын өмнө анхааруулах дохио Өгөгдсөн
Заагч төрөл (нийтлэг анод/катод) хамаагүй

Таймерын бүдүүвч диаграмм

Зураг дээр таймерын бүдүүвч диаграммыг харуулав. гурван LED-ийн бүлгийг индикаторын дөрөв дэх цифрээр сольж болно (цаашид тайлбарыг энэ сонголт дээр үндэслэсэн болно, өөрөөр хэлбэл нэмэлт LED-ийг 4-р оронтой харгалзах сегмент гэж нэрлэнэ). Жинхэнэ жижигхэн болгохын тулд индикатороос бусад бүх бүрэлдэхүүн хэсгүүдийг SMD хувилбараар сонгох хэрэгтэй. Дуу ялгаруулагч нь энгийн чанга яригч биш, харин суурилуулсан генератор бүхий дуугаралт, i.e. Иймд 5V-ыг өгөхөд энэ нь чичирч эхэлдэг.

Хоёр товчлуурыг тэмдэглэсэн РТэгээд SS, бүх цаг хэмжигч функцийг хуваалцах хяналтыг ашигладаг.


Таймер үйлдлийн горимууд

Таймерыг ажиллуулах хоёр горим байдаг - тохиргоо ба үндсэн.

Тохиргоо

Тохиргооны горим нь микроконтроллерийг программчилсаны дараа эхний асаалтанд идэвхждэг бөгөөд товчлууруудын аль нэгийг дарж, барьж байх үед хүчээр асаах боломжтой. Тохиргооны горимд орохын тулд нөөц тэжээлийн эх үүсвэрийг бас унтраасан байх ёстойг анхаарна уу? өөрөөр хэлбэл микроконтроллерийн хүчийг бүрэн арилгах ёстой.

Тохиргооны горимд товчлуур Рпараметр болон товчлуурыг сонгоход ашигладаг SSсонгосон сонголтыг өөрчилнө. Сонгосон сонголт анивчина. Зөвхөн хоёр параметр байдаг: нөөц тэжээлийн эх үүсвэрээс ажиллах үед заагч төрөл ба таймерын ажиллагаа. Эхний параметрийг индикаторын эхний цифр, хоёр дахь нь гурав дахь оронтой тоонд харуулна.

Тохиргооны горимд индикатор дээрх зураг байхгүй эсвэл хачирхалтай / унших боломжгүй байж магадгүй - энэ нь хэвийн үзэгдэл юм: таймер нь ямар ч төрлийн индикатортой (нийтлэг анод эсвэл катод) ажиллахад зориулагдсан тул хэрэв тохиргоо буруу байвал зураг гэмтэх болно - та зүгээр л товчлуурыг дарах хэрэгтэй SS, ингэснээр индикаторын төрлийг өөр төрөлд шилжүүлнэ. Хэрэв индикаторын төрөл зөв бол эхний цифр дээр үсэг гарч ирнэ А(нийтлэг анод бүхий заагч) эсвэл ХАМТ(нийтлэг катод бүхий үзүүлэлт.

Товч дарж байна SSта хоёр дахь тохируулгатай параметр рүү шилжиж болно - заагчийн гурав дахь орон анивчиж эхэлнэ. Энэ хэсэг нь аль нэгийг нь харуулна хасах, эсвэл захидал Г. ХасахЭнэ нь үндсэн хүч байхгүй үед таймер зогсох бөгөөд зөвхөн эрчим хүч сэргэсний дараа үргэлжлүүлэн ажиллана гэсэн үг юм. Захидал Гтаймерын "курс" хэмнэлтийн горим болон үндсэн цахилгаан хангамж байхгүй тохиолдолд заана. Та өөртөө хамгийн тохиромжтой горимыг сонгох ёстой.

Та товчлуурыг удаан дарснаар тохиргооны горимыг дуусгаж болно Рхэдхэн секундээс илүү. Тохиргоог хийж дууссаны дараа индикатор дээрх зураг нь үйл ажиллагааны үндсэн горимын шинж чанар болно.

Үндсэн горим

Таймерын үндсэн тэжээлийн хангамжийг асаасан даруйд үндсэн горим идэвхждэг (хэлхээний тохиргоог аль хэдийн хийсэн тохиолдолд). Энэ горимд таймер нь үндсэн функцийг гүйцэтгэдэг - цагийн саатал, ачааллын хяналт.

Дэлгэцийн онцлог

Интервалын үзүүлэлт нь цагийг харуулдаг. Дэлгэцийн форматыг "хөвөгч секундтэй минут" гэж нэрлэж болно. Заагч дээрх аравтын бутархай нь минутын нэгжийг хэдэн арван секундээс тусгаарладаг. Цэгийн байрлал нь тогтмол биш бөгөөд хэдэн минут харуулахаас хамаарна. Хэрэв минутын тоо 99-ээс дээш байвал индикатор бүхэлдээ минутаар бүрэн эзэлдэг бол секундууд харагдахгүй. Хэрэв минут 100-аас бага, гэхдээ 9-өөс дээш байвал индикатор дээр хэдэн арван секунд харагдах болно. Хэрэв минут нь 10-аас бага бол секундийг бүтэн харуулна - арав, нэгж хоёулаа. Тиймээс, хангалттай нарийвчлалтайгаар та заасан интервал дуусах хүртэл үлдсэн хугацааг харж болно (зураг харна уу).

Хэрэв заасан интервал дуусахад маш удаан хугацаа үлдсэн бол үлдсэн хугацааг секундын нарийвчлалтайгаар мэдэх нь утгагүй болно гэж үздэг.

Нэмэлт үзүүлэлт нь 3 LED-ээс бүрдэнэ (хэрэв индикаторын 4-р цифрийг ашигласан бол A, G, D сегментүүдийг ашигладаг), тэдгээрийн зорилгыг хүснэгтэд үзүүлэв.

Үзүүлэлт Сегмент Зорилго
АСААЛТТАЙ А

ОРУУЛСАН

OFF Г Дэлгэц нь ачаалал өгөх интервалыг харуулж байгааг харуулж байна OFF
1 УДАА Д

Нэг интервалаар тоолох горим идэвхжсэнийг заана.

Тооцоолол ажиллаж байх үед, i.e. таймер ажиллаж байна дансууд, дэлгэц дээрх минут, секундын хоорондох цэг анивчина. Үзүүлэлтүүд АСААЛТТАЙТэгээд OFFзаагчтай хамт асааж болно 1 УДАА, нэгэн зэрэг цаг хугацааны хоцрогдол ба салгах эсвэл ачааллыг оруулах харгалзах горимыг хэлнэ. Жишээлбэл, индикаторууд асаалттай байвал OFF, 1 УДААмөн цэг анивчвал энэ нь дараахь зүйлийг илэрхийлнэ: ачаалал унтарсан, интервалыг тоолж байна, дууссаны дараа ачаалал асч, таймер зогсох болно.

Циклийн горимын үзүүлэлт 1 УДААгэрэлтдэггүй.

мужууд

Үйл ажиллагааны үндсэн горимд гурван үндсэн төлөв байдаг:

  • Хүлээлт- таймер зогссон бол та интервалын тохиргоог өөрчилж, үйлдлийн алгоритмыг сонгож болно. Цаашилбал, энэ төлөвийг тэмдэглэв ТУХАЙ.
  • Шалгах- таймер нь сонгосон интервалыг тоолж, сонгосон алгоритмын дагуу ачааллыг хянадаг. Цагийн тооллогыг түр зогсоох эсвэл бүрмөсөн зогсоох боломжтой, i.e. төрийн шилжилт ТУХАЙ. Цаашилбал, энэ төлөвийг тэмдэглэв ХАМТ.
  • Гол зүйлүүдээс гадна өөр нэг нэмэлт муж бий интервалын өөрчлөлт, цаашид төр гэх БА.
Таймерын төлөвийг удирдах

Статусын удирдлагыг аль хэдийн мэддэг товчлууруудаар гүйцэтгэдэг SSТэгээд Р.

Таймер мужид байх үед ТУХАЙ, товчлуур Ражлын алгоритмыг шилжүүлдэг бөгөөд энэ нь заагч дээр харагдана. Ажлын алгоритмын 4 сонголт байдаг:

Туслах үзүүлэлтүүдийг ашиглан дэлгэц дээр аль интервал байгааг тодорхойлоход хялбар байдаг. Интервалыг бүрэн харуулахгүй байж болзошгүйг анхаарна уу (Дэлгэцийн онцлогуудыг үзнэ үү).

Үйлдлийн алгоритмыг сонгосны дараа та товчлуурыг дарж болно SS, энэ нь одоогийн интервалын тооллогыг эхлүүлж, ачааллыг зохих төлөвт шилжүүлэх, i.e. төрийг асаана ХАМТтаймер. Өмнө дурьдсанчлан энэ төлөв нь интервалын минут, секундийг тусгаарлах анивчсан цэг дагалддаг.

Үйлдлийн алгоритмын эхний хоёр хувилбарт нэг интервал дууссаны дараа ачаалал эсрэг төлөвт шилжиж, өөр интервалын тооллого автоматаар эхэлнэ. Өөрөөр хэлбэл, ачааллыг заасан интервалаар тасралтгүй сольж байх болно.

Үйлдлийн алгоритмын сүүлийн хоёр хувилбарт интервал дууссаны дараа ачааллыг тус тусад нь асааж, унтрааж, таймер нь төлөвт орно. ХАМТ.

Интервал бүрийн сүүлийн 10 секундэд дуут дохио дуугарч, интервал удахгүй дуусахыг сануулдаг - энэ тохиолдолд товчлуурыг дарна уу. SSсонгосон интервалыг дахин эхлүүлэх боломжийг танд олгоно, i.e. интервалыг ижил хэмжээгээр сунгана. Хэрэв интервал удахгүй дуусна гэж дохио өгөх шаардлагагүй бол унтраалга ашиглан дуу гаргагчийг унтраах эсвэл огт суулгахгүй байх ёстой.

Товчлуур Ргоримд байна ХАМТфункцийг гүйцэтгэдэг Зогс" - цаг тоолол зогсч, таймер горимд шилждэг ТУХАЙ, интервал нь хэрэглэгчийн тогтоосон утгыг сэргээж байхад, i.e. таймер дараагийн эхлэхэд бэлэн байна.

Интервалуудын үргэлжлэх хугацааг өөрчлөх

Боломжтой ТУХАЙодоогийн интервалын үргэлжлэх хугацааг өөрчлөх боломжтой, i.e. заагч дээр харуулсан. Үүнийг хийхийн тулд товчлуурыг удаан дар Ринтервалын өөрчлөлтийн төлөвийг идэвхжүүлэх хүртэл. Мужаас ТУХАЙЭнэ төлөв нь индикаторын цифрүүдийн аль нэг нь анивчдаг гэдгээрээ ялгаатай - энэ нь товчлуурыг дарахад түүний утга өөрчлөгдөх болно. SS. Өөрчлөлт нь тойрогт тохиолддог, өөрөөр хэлбэл. 1-2-3-4-5-6-7-8-9-0-1-2-..., гэхдээ энэ нь 0 секунд, 0 минутын интервалыг зааж өгөх боломжгүй, мөн түүнчлэн хэдэн арван секундын тоо 5-аас хэтрэхгүй.

Чухал тэмдэглэл: таймер нь богино хугацаанд дарагдсаны дараа P товчийг удаан дарахыг илрүүлдэг, өөрөөр хэлбэл. эхлээд таймер горим шилжиж, дараа нь интервалыг өөрчлөх горим асах болно. Ажиллаж байхдаа энэ онцлогийг анхаарч үзэх хэрэгтэй.

Та товчлуурыг дарж өөрчлөх цифрээ сонгож болно. Р. Интервал нь 5 цифрээс бүрдэх ба үүнээс зөвхөн 3 нь харагдах тул засварласан цифр зүүнээс баруун тийш шилжих үед минутыг секундээс тусгаарлах цэг мөн шилжинэ.

Энэ интервалыг битээр өөрчлөх арга нь танд хэдхэн товчлуурын тусламжтайгаар 0.0-ээс 999.59 хүртэлх утгыг хурдан оруулах боломжийг олгоно. Нэмж дурдахад энэ нь дарагдсан товчлуурыг автоматаар давтах оролтыг хөнгөвчлөх болно, жишээлбэл. Хэрэв та товчлуурыг 1.5 секундээс илүү удаан дарвал уншилтууд хурдасгасан хурдаар автоматаар өөрчлөгдөж эхэлнэ.

Товч дарж байна Р, та интервалын бүх цифрийг өөрчлөхгүйгээр харах боломжтой. Интервалын утгыг оруулах нь товчлуурыг удаан дарснаар дуусна Рзаагч дээрх цифр анивчихаа болих хүртэл.

Төхөөрөмжийн боломжит хэрэглээ.

Ургамлыг услах, амьтдыг тэжээх (алгоритм "мөчлөг").

Гэрэл зургийн болон бусад процессуудад өртөх (өртлөх ба унтраах алгоритм).

Гал тогооны цаг хэмжигч ("барьж асаах" алгоритм нь завсарлага дууссаны дохио эсвэл цахилгаан хэрэгслийн "хожруулсан унтрах").

Шатны тавцан дээрх гэрэлтүүлэг (алгоритм "өртөх ба унтраах", заагч шаардлагагүй).

Таймер дээрх ажил удаан хугацаанд үргэлжилж, форум дээр идэвхтэй яригдаж байсан тул сайтын зарим зочдод асуулт гарч ирэв: интервал удахгүй дуусах тухай дуут сануулга юу вэ, одоогийн интервалыг сунгах боломжтой юу? Энэ нь таймерыг "намайг март" болгон ашиглах тохиолдолд өгдөг. Жишээлбэл, та гагнуур хийхээр суусан бөгөөд таны таймер гагнуурын төмрийн хүчийг хянадаг. Та таймерыг ажиллахаар тохируулсан байна" 1 удаа орсон "15 минутын турш. 10 минутын дараа та утас руу залгаж, гагнуураа тавив гэж бодъё. Хэрэв та ярих юм бол таймер дуугарч, өөрийгөө сануулах болно. Хэрэв та эдгээр дохиог сонсохгүй бол таймер эргэх болно. гагнуурын төмрийг унтрааж, таныг галаас аврах болно. Хэрэв та унтахгүй бол завгүй биш бол товчлуурыг дарна уу. SSдараагийн сануулга хүртэл 15 минутын турш үргэлжлүүлэн ажиллана.

Та бүх төслийн файлуудыг (эх кодууд болон бэлэн програм хангамж), мөн ердийнх шигээ виртуалаар турших proteus төслийг файлын архиваас татаж авах боломжтой.

P.S.Таймер кодонд ямар нэг зүйлийг өөрчлөхийг хүссэн хүмүүст зориулав.
Одоогоор программыг хөрвүүлэгч эмхэтгэж байна WinAVR 20100110 ба авдаг 2016 байт боломжтой 2048 . Гэхдээ ийм эзлэхүүнийг ямар нэг шалтгаанаар олж авсан, гэхдээ зөвхөн програмист, хөрвүүлэгчийн тодорхой хүчин чармайлтаар л олж авсан. MakefileТөслийг бүтээхийн тулд эх сурвалжид хавсаргасан болно - үүнийг хөрвүүлэгч эсвэл холбогч сонголтуудын хувьд бүү өөрчил!


(8) | Үзсэн: 121609