Мазмуну:

60 Гц электр линиясы менен синхрондуу Arduino санариптик сааты: 8 кадам (сүрөттөр менен)
60 Гц электр линиясы менен синхрондуу Arduino санариптик сааты: 8 кадам (сүрөттөр менен)

Video: 60 Гц электр линиясы менен синхрондуу Arduino санариптик сааты: 8 кадам (сүрөттөр менен)

Video: 60 Гц электр линиясы менен синхрондуу Arduino санариптик сааты: 8 кадам (сүрөттөр менен)
Video: Куюлган катушкалар трансформатору, кургак типтеги трансформатор, чайыр изоляциялоочу трансформатор 2024, Ноябрь
Anonim
60 Гц электр линиясы менен синхрондуу Arduino Digital Clock
60 Гц электр линиясы менен синхрондуу Arduino Digital Clock

Бул Arduino негизделген санариптик саат 60 Гц электр линиясы менен синхрондоштурулган. Бул жөнөкөй жана арзан жалпы анод 4 цифралуу 7 сегменттүү дисплейге ээ, ал сааттарды жана мүнөттөрдү көрсөтөт. Бул 60 Гц синус толкуну нөл чыңалуу чекитинен өтүп, 60 Гц квадрат толкунун алганда аныктоо үчүн детекторду колдонот.

Кыска убакыт аралыгында электр линиясынан келген синус толкунунун жыштыгы жүктөмдөн улам өтө аз айырмаланышы мүмкүн, бирок узак убакыт ичинде орточо 60 Гцке чейин абдан так. Биз муну пайдаланып, саатыбызды мезгилдештирүү үчүн убакыт булагын ала алабыз.

1 -кадам: Райондук диаграмма

Райондук диаграмма
Райондук диаграмма

Трансформаторду борбордук кран менен колдонууну каалай тургандыгыңызга жараша схеманын эки версиясы бар, экөөнүн тең схемасы дээрлик бирдей. Бул курулуш үчүн мен 12В ACны чыгаруучу дубал адаптерин колдондум (борбордук кран жок). Мен бул дизайнды (Digital Clock1 Circuit Diagram) схеманы сүрөттөө үчүн колдоном. Белгилей кетүүчү нерсе, биз 12В AC эмес, 12V DC чыгаруучу дубал адаптерин колдонуу маанилүү, ошондуктан биз AC синус толкунуна убакытты киргизе алабыз. Сиз, балким, 9В ACны чыгаруучу трансформаторду колдонсоңуз болот, R19ду алып салат жана аны иштетет, бирок 12V абдан кеңири таралган. Бул схема кантип иштейт:

60 Гцтеги 120В AC трансформатор TR1 менен 12V ACга айландырылат. Бул диод D4 менен азыктанат жана C3 конденсатору аркылуу +вольтту гана вольт менен камсыздап, болжол менен DCге тегиздейт. C3 чыңалуусу R19 каршылыгы аркылуу 7805 чыңалуу жөндөгүчүнө (U6) берилет. R19 менин учурда болжол менен 15VDC ченелген C3 боюнча чыңалуусун азайтуу үчүн колдонулат. Бул 7805 тарабынан жөнгө салынышы мүмкүн, бирок бул деңгээлде 7805 болжол менен 10VDC түшүп кетиши керек жана натыйжада абдан ысыйт. Чыңалууну болжол менен 10VDCге түшүрүү үчүн R19ду колдонуу менен U6 өтө ысып кетишине жол бербейбиз. Ошентип, бул кубатты конверсиялоонун эффективдүү ыкмасы эмес, бирок биздин максаттар үчүн иштейт. ЭСКЕРТҮҮ: бул жерде жок дегенде 1/2W каршылыгын колдонуңуз. Район болжол менен 55 ма тартат, андыктан R19да электр энергиясынын таралышы P = I ** 2*R же P = 55ma x 55ma x 120 ohms = 0.363W негизиндеги болжол менен 1/3W түзөт. Кийинки U6 5V электр линиясындагы ар кандай ызы -чууну чыпкалоо үчүн C4 жана C5 менен таза 5V DC чыгарат. Бул 5V DC борттогу бардык ICлерди кубаттайт.

TR1ден биз чыпкаланбаган AC сигналынын үлгүсүн алып, аны детектордун үстүнөн өтүү деңгээлин тууралоо үчүн колдонулган RV1 потенциометрине беребиз. R18 жана R17 AC чыңалуусунун деңгээлин андан ары төмөндөтүү үчүн чыңалуу бөлүштүргүчтү түзөт. Бул 12В ACда келип жатканын эстен чыгарбоо керек жана биз аны 5Втан төмөндөтүшүбүз керек, ал биздин детектор аркылуу гана иштейт. 5VDC менен иштейт. R15 жана R16 учурдагы чектөөнү камсыз кылат, ал эми D1 жана D2 оп-амп U5ти ашыкча айдоону болтурбоо үчүн арналган. Көрсөтүлгөн конфигурацияда U5тин 1 -пиндеги чыгышы +5V менен 0Vнын ортосунда алмашып турат, кирген синус толкуну оңдон терске өзгөргөн сайын. Бул U4 микроконтроллерине берилүүчү 60 Гц квадрат толкунду жаратат. U4 жүктөлгөн программа анда 60 Гц квадрат толкунду колдонуп, саатты мүнөтүнө жана саатына көбөйтөт. Бул кантип жасалат программалык камсыздоо бөлүмүндө жана программалык комментарийлерде талкууланат.

U7 74HC595 сменалык реестри колдонулат, анткени бизде микропроцессордо санарип төөнөгүчтөрдүн саны чектелүү, ошондуктан ал өндүрүштөрдүн санын кеңейтүү үчүн колдонулат. Биз микропроцессордо 4 санарип төөнөгүчтү колдонобуз, бирок 74HC595 аркылуу дисплейдеги 7 сегментти башкара алабыз. Бул микроконтроллерде сакталган жана көрсөтүлө турган ар бир цифраны көрсөтүүчү биттердин алдын ала белгиленген үлгүлөрүн нөөмөт реестрине которуу аркылуу ишке ашат.

Бул жерде колдонулган дисплей кадимки анод, андыктан сегментти иштетүү үчүн 74HC595тен чыккан сигналдын деңгээлин тескери бурушубуз керек. Сегментти күйгүзүү керек болгондо, 74HC595 чыгаруу түйүнүнөн чыккан сигнал +5В болот, бирок ал дисплей сегментин күйгүзүү үчүн анын дисплейде 0В болуп турушу керек. Андыктан муну жасоо үчүн бизге U2 жана U3 алты бурчтуу инверторлору керек. Тилекке каршы, бир инвертор IC 6 гана инверсияны башкара алат, ошондуктан биз экөөнө керекпиз, бирок экинчисинде биз 6 дарбазанын бирин гана колдонобуз. Тилекке каршы ысырапкорчулук. Сиз эмне үчүн бул жерде жалпы катод түрүндөгү дисплейди колдонуп, U2 жана U3 жок кылбайсыз деп сурашыңыз мүмкүн? Мейли, сиз кыла аласыз, менин бөлүктөрүмдө жалпы аноддун түрү бар. Эгерде сизде жалпы катоддук дисплей болсо же U2 жана U3 өчүрүлсө жана Q1 - Q4 кайра өткөрүлсө, транзистордук коллекторлор дисплей казыктарына туташып, транзистордук эмитенттер жерге туташат. Q1 - Q4 төрт 7 сегменттүү дисплейлердин кайсынысы активдүү экенин көзөмөлдөйт. Бул Q1 - Q4 транзисторлорунун базасына туташкан казыктар аркылуу микроконтроллер тарабынан көзөмөлдөнөт.

Көбөйтүү жана орнотуу баскычтары, саатты иш жүзүндө колдонууга келгенде, туура сааттык убакытты кол менен коюу үчүн колдонулат. Орнотуу баскычы басылганда, көбөйтүү баскычын дисплейде көрсөтүлгөн сааттарда басуу үчүн колдонсо болот. Орнотуу баскычы кайра басылганда, көбөйтүү баскычы дисплейде көрсөтүлгөн мүнөттөрдү басып өтүү үчүн колдонулушу мүмкүн. Орнотуу баскычы үчүнчү жолу басылганда, убакыт коюлат. R13 жана R14 бул баскычтар менен байланышкан микроконтроллердин төөнөгүчтөрүн колдонбогондо төмөн тартып алышат.

Белгилей кетчү нерсе, бул жерде биз U4 (Atmega328p) типтүү Arduino UNO прототип тактасынан алып, аны схеманын калган бөлүгү менен прототип тактасына койдук. Бул үчүн биз минимумда кристалл X1ди жана C1 жана C2 конденсаторлорун микроконтроллер үчүн саат булагы менен камсыз кылуу үчүн, 1 -пинди, баштапкы абалга келтирүүчү пинди, бийик жана 5VDC кубатын камсыз кылышыбыз керек.

2 -кадам: Breadboard Сиздин Circuit

Breadboard Your Circuit
Breadboard Your Circuit
Breadboard Your Circuit
Breadboard Your Circuit

Сиз схеманы так схемада көрсөтүлгөндөй куруп жатканыңызга же бир аз башкача трансформаторду, дисплейдин түрүн же башка компоненттерди колдонуп жатканыңызга карабастан, анын иштешин камсыз кылуу жана анын кандай иштээрин түшүнүү үчүн биринчи кезекте схеманы панелге салыңыз.

Сүрөттөрдөн көрүүгө болот, баардык нерсени пансионатка алуу үчүн бир нече такталар, ошондой эле Arduino Uno тактасы талап кылынат. Ошентип, микроконтроллерди программалоо же эксперимент жүргүзүү же программалык камсыздоого өзгөртүүлөрдү киргизүү үчүн, адегенде микроконтроллер IC БУУнун тактайында керек болот, ошондо ага USB кабелин туташтырып, программаны жүктөө же программалык камсыздоону өзгөртүү үчүн.

Сиз сааттын нандын үстүндө иштеп, микроконтроллериңизди программалагандан кийин, аны сууруп, прототип тактасындагы акыркы курулган туруктуу саатыңыздын розеткасына туташтырсаңыз болот. Муну аткарууда антистатикалык чараларды сактоону унутпаңыз. Микропроцессор менен иштөөдө антистатикалык билекти колдонуңуз.

3 -кадам: Протобоарддагы схеманы куруу

Протобоарддагы микросхемалардын курулушу
Протобоарддагы микросхемалардын курулушу
Протобоарддагы микросхемалардын курулушу
Протобоарддагы микросхемалардын курулушу

Район #30 AWG зым оролуучу зымды колдонуп, прототип тактасына жана зымдуу чекитке курулган. Бул катаал жана ишенимдүү натыйжаны камсыз кылат. Менде болгон трансформатор кабелдин учунда эркектин 5мм штепсели бар болгондуктан, мен тууралоо үчүн 1/2 дюймдук жалпак алюминий тилкесин кесүү, бүгүү жана бургулоо аркылуу тийиштүү ургаачыны тактанын артына орнотуп койгом. кичине 4-40 гайкалар жана болттор менен тактага бекиттиңиз. Сиз жөн эле туташтыргычты үзүп, калган электр зымдарын тактага кошуп, 20 мүнөттөн ашык убактыңызды үнөмдөсөңүз болот, бирок мен трансформатордун биротоло тиркелишин каалабадым. тактага.

4 -кадам: Дисплей үчүн сокетти түзүү жана ага бут берүү

Дисплей үчүн сокетти түзүү жана ага бут берүү
Дисплей үчүн сокетти түзүү жана ага бут берүү
Дисплей үчүн сокетти түзүү жана ага бут берүү
Дисплей үчүн сокетти түзүү жана ага бут берүү
Дисплей үчүн сокетти түзүү жана ага бут берүү
Дисплей үчүн сокетти түзүү жана ага бут берүү

Дисплейде 16 казык бар, алардын ар бир тарабында 8, стандарттуу 16 пиндүү IC розеткасынан кененирээк болгон, биз розетканын өлчөмүн дисплейге ылайыкташтырып тууралашыбыз керек. Сиз муну жуп кескичтердин жардамы менен, оюктун эки жагын бириктирген пластикти үзүп, бөлүп, дисплейдеги казыктардын аралыгына дал келген аралык менен тактага өзүнчө ширетүү менен жасай аласыз. Дисплей казыктарына түздөн -түз ширетип, дисплейди ашыкча ысыкка чыгарбоо үчүн муну жасоо пайдалуу. Жогорудагы сүрөттө тактанын үстүндө мен муну кылган розетканы көрө аласыз.

Дисплейдин туура турушу үчүн мен сүрөттөрдө көрсөтүлгөндөй прототип тактасынын астындагы эки бурчтук тешигине эки 1 болтту бекитип койдум. аны турукташтыруу үчүн болттун артына оор нерсе салгыңыз келет.

5 -кадам: Circuit Board зымдарын текшерүү жана калибрлөөгө даярдануу

Райондук платанын зымдарын текшерүү жана калибрлөөгө даярдануу
Райондук платанын зымдарын текшерүү жана калибрлөөгө даярдануу

Райондук такта зымга туташтырылгандан кийин, бирок ICдерди же дисплейди туташтыруудан мурун, тактанын туташуусун DVM менен текшерүү жакшы. Көпчүлүк DVMлерди үзгүлтүксүздүк болгондо сигнал бере тургандай кылып орното аласыз. DVM'иңизди ушул режимге коюп, анан схемаңызга ылайык, мүмкүн болушунча көбүрөөк райондук байланыштарды текшериңиз. +5V менен Ground пункттарынын ортосунда ачык схеманы же ага жакын жерди текшериңиз. Визуалдык түрдө бардык компоненттер туура казыктарга туташтырылганын текшериңиз.

Андан кийин трансформаторуңузду чынжырга туташтырып, аны кубаттаңыз. Сизде кандайдыр бир IC же дисплейди туташтыруудан мурун, 5V электр рельсинде масштабы же DVM менен 5V DC бар экендигин текшериңиз.

Кийинки плагинге кийинки кадамга даярдануу үчүн ТЕК OP-Amp U5 IC кошулсун. Бул жерде биз кайчылаш схемабыз төрт бурчтуу толкун жаратып жаткандыгын текшеребиз жана потенциометрди 60 Гц таза сигналга тууралайбыз.

6 -кадам: Райондук калибрлөө

Райондук калибрлөө
Райондук калибрлөө
Райондук калибрлөө
Райондук калибрлөө

Жалгыз калибрлөө - детектордун үстүнөн өтүүчү сигналдын туура деңгээлине RV1 потенциометрин тууралоо. Мунун эки жолу бар:

1. U5тин 1 -пинге масштабдуу иликтөөнү койгула жана масштабдуу зонддун зымын райондук жерге туташтыргыла. Кийинки сүрөттө көрсөтүлгөндөй таза квадрат толкуну пайда болгонго чейин RV1ди тууралаңыз. Эгерде сиз RV1ди өтө алысыраак туураласаңыз же анда квадрат толкуну же бурмаланган квадрат толкуну болбойт. Чарчы толкунунун жыштыгы 60 Гц экендигине ынангыла. Эгерде сизде заманбап масштаб болсо, анда ал сизге жыштыгын айтат. Эгерде сизде мен сыяктуу байыркы чөйрө болсо, анда квадрат толкун мезгили болжол менен 16.66ms же 1/60 сек.

2. Frequency режиминдеги жыштык эсептегичти же DVMди колдонуу U5тин Pin 1деги жыштыкты өлчөп, RV1ди так 60 Гцке тууралаңыз.

Бул калибрлөө аяктагандан кийин, схеманы өчүрүп, схеманын курулушун аяктоо үчүн бардык ICлерди жана дисплейди сайыңыз.

7 -кадам: Arduino программасы

Программа толугу менен комментарийленген, андыктан ар бир кадамдын чоо -жайын биле аласыз. Программанын татаалдыгына байланыштуу ар бир кадамды сүрөттөө кыйын, бирок абдан жогорку деңгээлде ал кантип иштейт:

Микропроцессор 60 Гц келген төрт бурчтуу толкунду кабыл алат жана 60 циклди эсептейт жана ар бир 60 циклден кийин секунда сайын көбөйөт. Секунддардын саны 60 секундага же 3600 циклге жеткенде, мүнөттөрдүн саны көбөйтүлөт жана секунда саны нөлгө кайтарылат. Мүнөттөрдүн саны 60 мүнөткө жеткенде сааттардын саны көбөйтүлүп, мүнөт саны нөлгө кайтарылат. сааттын саны 13 сааттан кийин 1ге кайтарылат, ошондуктан бул 12 сааттык саат. Эгерде сиз 24 сааттык саатты кааласаңыз, программаны 24 сааттан кийин нөлгө кайтаруу үчүн өзгөртүү.

Бул эксперименталдык долбоор, ошондуктан мен Set жана Increment баскычтарындагы секирүүнү басуу үчүн Do-while циклин колдонууга аракет кылдым. Бул абдан жакшы иштейт. Орнотуу баскычы бир жолу басылганда, көбөйтүү баскычын дисплейде көрсөтүлгөн сааттарга өтүү үчүн колдонсо болот. Орнотуу баскычы кайра басылганда, көбөйтүү баскычы дисплейде көрсөтүлгөн мүнөттөрдү басып өтүү үчүн колдонулушу мүмкүн. Орнотуу баскычы үчүнчү жолу басылганда, убакыт белгиленип, саат иштей баштайт.

7 сегменттүү дисплейде ар бир санды көрсөтүү үчүн колдонулган 0 жана 1 үлгүлөрү Seven_Seg деп аталган массивде сакталат. Учурдагы саат убактысына жараша, бул үлгүлөр 74HC595 ICге берилип, дисплейге жөнөтүлөт. Бул маалыматты алуу үчүн дисплейдин 4 цифрасынын кайсынысы болбосун бир убакта күйгүзүлөт, микропроцессор тарабынан Dig 1, 2, 3, 4 казыктары аркылуу башкарылат. Район күйгүзүлгөндө, программа адегенде Test_Clock деп аталган сыноо тартибин иштетет, ал туура сандарды ар бир дисплейди жарыктандыруу үчүн 0дөн 9га чейин санап турат. Ошентип, эгер сиз муну күйгүзгөндө көрсөңүз, анда сиз баарын туура кургандыгыңызды билесиз..

8 -кадам: Бөлүктөрдүн тизмеси

1 - Transformer 120VAC - 12VAC болжол менен 100ма же андан көп NPN транзисторлору8 - 330 Ом резисторлору2 - 74LS04 Hex инверторлору 1 - 74HC595 8 параллелдүү параллелдүү 8 бит которуштуруучу регистр 1 - LM358 OP -AMP (Comparator) 1 - ATMEGA328P Microcontroller (Creatron) 4 - 4.7K resistors7 - 10K resistors1 - 1N4007 or 1N4001 же 1N4001 диоддор1 - 120 ом, 1/2 В же 1 Вт резистор 1 - ПКБ 10К потенциометр1 - 470уФ 25В конденсатор 1 - 7805 TO220 пакет чыңалуу жөндөгүчү1 - 10uF 10V конденсатор2 - 0,1 uF 10V конденсаторлор 1 - 16МГц кристалл (Sparkfun) 2 - 22pF конденсаторлор1 - Аялдардын кубаттуулугу (1) Эгер дубалдын трансформаторунда болсо эркек сайгычты орнотуу үчүн кошумча) 2 - 16 пин IC розеткасы2 - 14 пин IC розеткасы1 - 8 пин IC розеткасы1 - 28 pin IC розеткасы2 - 1 "болжол менен #4 же #6 болт жана дал келүүчү гайкалар2 - 1/ 4 "узун #4-40 болт жана дал келүүчү гайкалар1 - 1/2" туурасы жалпак алюминий тилкеси бажы кесими жана өлчөмүнө чейин бургуланган

#30 AWG зым оролуучу зым#22 AWG зым Сатуучу

Сунушталууда: