Мазмұны:

60 Гц Arduino сағаты: 8 қадам
60 Гц Arduino сағаты: 8 қадам

Бейне: 60 Гц Arduino сағаты: 8 қадам

Бейне: 60 Гц Arduino сағаты: 8 қадам
Бейне: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Қараша
Anonim
60 Гц Arduino сағаты
60 Гц Arduino сағаты

Бұл Arduino негізіндегі цифрлық сағат 60 Гц электр желісімен синхрондалған. Ол сағаттар мен минуттарды көрсететін қарапайым және арзан жалпы анодты 4 цифрлық 7 сегментті дисплейге ие. Ол кіретін 60 Гц синусоиды нөлдік кернеу нүктесін кесіп өтіп, 60 Гц шаршы толқын шығаратынын анықтау үшін айқас детекторды қолданады.

Қысқа уақыт кезеңінде электр желісінен түсетін синусолқынның жиілігі жүктеменің әсерінен өте аз өзгеруі мүмкін, бірақ ұзақ уақыт бойы ол орташа 60 Гц дейін дәл келеді. Біз сағатты синхрондау үшін уақыт көзін алу үшін осы мүмкіндікті пайдалана аламыз.

1 -қадам: 1 -қадам: Схемалар

1 -қадам: Схемалар
1 -қадам: Схемалар

Трансформаторды орталық кранмен немесе онсыз пайдаланғыңыз келетініне байланысты тізбектің екі нұсқасы бар, екеуінде де тізбек жұмысы бірдей болады. Бұл құрылыста мен 12В айнымалы ток шығатын қабырға адаптерін қолдандым. Мен бұл дизайнды (Digital Clock1 Circuit Diagram) схеманы сипаттау үшін қолданамын. 12 В тұрақты емес, 12 В айнымалы ток шығатын қабырға адаптерін қолдану маңызды екенін ескеріңіз, осылайша біз уақытша айнымалы ток синусондысына ене аламыз. Сіз 9 В айнымалы ток шығатын, R19 алып тастайтын және оны жұмысқа қосатын трансформаторды қолдана аласыз, бірақ 12 В өте жиі қол жетімді. Схема осылай жұмыс істейді:

60Гц 120В айнымалы ток трансформатор TR1 арқылы 12В айнымалы токқа түрлендіріледі. Бұл D4 диодына беріледі және C3 конденсаторының көмегімен тек қана +вольтты кернеумен толқынмен тегістеледі. C3 кернеуі R19 резисторы арқылы 7805 кернеу реттегішіне (U6) беріледі. R19 C3 кернеуін төмендету үшін қолданылады, ол менің жағдайда шамамен 15VDC өлшенді. Бұл 7805 арқылы реттелуі мүмкін, бірақ бұл кіріс деңгейімен 7805 шамамен 10ВД төмендеуі керек, нәтижесінде өте ыстық болады. Кернеуді шамамен 10VDC төмендету үшін R19 көмегімен біз U6 шамадан тыс қызып кетуіне жол бермейміз. Бұл қуатты түрлендірудің тиімді әдісі емес, бірақ ол біздің мақсатымыз үшін жұмыс істейді. ЕСКЕРТПЕ: мұнда кемінде 1/2 Вт немесе одан да көп резисторды қолданыңыз. Электр тізбегі шамамен 55 м құрайды, сондықтан R19 -да қуаттың шығыны P = I ** 2*R немесе P = 55ma x 55ma x 120 ohms = 0.363W негізінде шамамен 1/3W құрайды. Келесі U6 5В электр желісіндегі кез келген шуды сүзу үшін шығуда C4 және C5 бар таза 5В тұрақты ток шығарады. Бұл 5В тұрақты ток тақтадағы барлық IC -ге қуат береді. TR1 -ден біз сүзгісіз айнымалы ток сигналының үлгісін аламыз және оны айқындаушы детекторға берілу деңгейін реттеу үшін қолданылатын RV1 потенциометріне береміз. R18 және R17 айнымалы ток кернеуінің деңгейін одан әрі төмендету үшін кернеу бөлгішін құрайды. Есіңізде болсын, бұл айнымалы токтың 12В кернеуінде болады және біз оны 5 В -тан төмендетуіміз керек, ол біздің детектормен жұмыс істейді. 5VDC арқылы жұмыс істейді. R15 және R16 ток шектеуін қамтамасыз етеді, ал D1 мен D2 оптикалық күшейткіш U5 шамадан тыс жүргізуді болдырмауға арналған. Көрсетілген конфигурацияда U5 шығысы 1 -ші істікте +5В пен 0В аралығында ауысатын болады, кіріс синусолқасы оңнан терісге өзгерген сайын. Бұл 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 түйреуішті, бастапқы істікті, жоғары және 5ВДС қуатын қамтамасыз етуіміз керек.

2 -қадам: 2 -қадам: Breadboard прототипі

2 -қадам: Breadboard прототипі
2 -қадам: Breadboard прототипі
2 -қадам: Breadboard прототипі
2 -қадам: Breadboard прототипі

Сіз схеманы дәл схемада көрсетілгендей құрып жатқаныңызға немесе сәл басқа трансформаторды, дисплей түрін немесе басқа компоненттерді қолданып жатқаныңызға қарамастан, оның жұмыс істеуін және оның қалай жұмыс істейтінін түсіну үшін алдымен тізбекті панельге салу керек.

Суреттерде сіз нан тақтасын жасау үшін бірнеше тақталар мен Arduino Uno тақтасын қажет ететінін көре аласыз. Микроконтроллерді бағдарламалау немесе эксперимент жасау немесе бағдарламалық жасақтамаға өзгерістер енгізу үшін сізге бастапқыда микроконтроллер БҰҰ тақтасында қажет болады, сонда сіз бағдарламаны жүктеу немесе бағдарламалық қамтамасыз етуді өзгерту үшін оған USB кабелін қосуға болады. Сағат тақтада жұмыс істеп, микроконтроллерді бағдарламалағаннан кейін, оны ажыратып, прототип тақтасындағы соңғы құрылыстың тұрақты сағатындағы розеткаға қосуға болады. Бұл әрекетті орындаған кезде антистатикалық сақтық шараларын сақтауды ұмытпаңыз. Микропроцессормен жұмыс кезінде антистатикалық білезікті қолданыңыз.

3 -қадам: 3 -қадам: Соңғы құрылыс

3 -қадам: соңғы құрылыс
3 -қадам: соңғы құрылыс
3 -қадам: соңғы құрылыс
3 -қадам: соңғы құрылыс

Схема прототип тақтасы мен № 30 AWG сымды орауыш сымды қолдана отырып, нүктеге қосылады. Бұл қатаң және сенімді нәтиже береді. Менде трансформатордың кабельдің ұшында 5 мм еркек штепсель бар болғандықтан, мен тапсырыс беру үшін ені 1/2 дюймдік жалпақ алюминий жолағын кесу, майыстыру және бұрғылау арқылы тақтайшаның артқы жағындағы тиісті әйел ыдысын орнаттым. кронштейн, содан кейін оны 4-40 гайкалармен және болттармен тақтаға бекітіңіз, сіз жай ғана қосқышты үзіп, қалған қуат сымдарын тақтаға дәнекерлеп, 20 минуттай жұмысты үнемдей аласыз, бірақ мен трансформатордың тұрақты қосылуын қаламадым. тақтаға.

4 -қадам: 4 -қадам: Дисплейге розетка жасау және оған аяқ беру

4 -қадам: Дисплейге розетка жасау және оған аяқ беру
4 -қадам: Дисплейге розетка жасау және оған аяқ беру
4 -қадам: Дисплейге розетка жасау және оған аяқ беру
4 -қадам: Дисплейге розетка жасау және оған аяқ беру
4 -қадам: Дисплейге розетка жасау және оған аяқ беру
4 -қадам: Дисплейге розетка жасау және оған аяқ беру

Дисплейде стандартты 16 істікшелі IC ұяшығынан кеңірек, штырдың интервалы бар 16 істікшесі бар, олардың әрқайсысы 8, біз дисплейге сәйкес келетін ұяшық өлшемін реттеуіміз керек. Сіз мұны розетканың екі жағын қосатын пластмассаны кесу үшін сым кескішпен пайдалана аласыз, оларды бөліп, дисплейдегі түйреуіштердің аралықтарына сәйкес келетін аралықпен тақтаға бөлек дәнекерлеңіз. Дисплей түйреуіштеріне тікелей дәнекерлеудің қажеті болмау үшін және дисплейді шамадан тыс қызуға ұшыратпау үшін мұны істеу тиімді. Сіз тақтаның жоғарғы жағында мен жасаған розетканы жоғарыдағы суретте көре аласыз.

Дисплейдің орнынан тұруы үшін мен фотондарда көрсетілгендей прототип тақтасының төменгі екі бұрыштық тесіктеріне екі дюймдік екі болтты бекітіп қойдым. оны тұрақтандыру үшін болттардың артына ауыр нәрсе салғыңыз келеді.

5 -қадам: 5 -қадам: Электр тізбегінің сымдарын тексеру және калибрлеуге дайындық

5 -қадам: Электр тізбегінің сымын тексеру және калибрлеуге дайындық
5 -қадам: Электр тізбегінің сымын тексеру және калибрлеуге дайындық

Электр тізбегін сымға қосқаннан кейін, бірақ IC -ді қосудан немесе дисплейден немесе оны қосудан бұрын, тақтаның қосылуын DVM көмегімен тексерген дұрыс. DVM -дің көпшілігін үздіксіздік болған кезде дыбыстық сигнал беретін етіп орнатуға болады. DVM -ді осы режимге орнатыңыз, содан кейін схемаға сүйене отырып, мүмкіндігінше көп тізбек қосылымдарын тексеріңіз. +5В және жерге тұйықталу нүктелерінің арасында ашық тізбекті немесе оған жақын орналасқанын тексеріңіз. Барлық компоненттер дұрыс түйреуіштерге қосылғанын көзбен тексеріңіз.

Содан кейін трансформаторды тізбекке қосыңыз және оны қосыңыз. Кез келген IC немесе дисплейді қоспас бұрын ауқымы немесе DVM бар 5В электр рельсінде дәл 5В тұрақты ток бар екенін тексеріңіз. Келесі қадамға дайындық үшін тек OP-Amp U5 IC қосқышты қосыңыз. Мұнда біз көлденең тізбектің квадрат толқынын тудыратынын тексереміз және 60 Гц таза сигнал үшін RV1 потенциометрін реттейміз.

6 -қадам: 6 -қадам: схеманы калибрлеу

6 -қадам: схеманы калибрлеу
6 -қадам: схеманы калибрлеу
6 -қадам: схеманы калибрлеу
6 -қадам: схеманы калибрлеу

Жалғыз калибрлеу - RV1 потенциометрін детекторды айқастыратын сигналдың дұрыс деңгейіне реттеу. Мұны істеудің екі әдісі бар:

1. U5 сымының 1 істігіне ауытқу зондын қойыңыз және ауқымды зондтың жерге қосу сымын тізбек жерге қосыңыз. Содан кейін жоғарыдағы суретте көрсетілгендей таза квадрат толқыны пайда болғанша RV1 реттеңіз. Егер сіз RV1 -ді бір жолмен немесе басқа жолмен тым алыс реттесеңіз, сізде шаршы толқын немесе бұрмаланған шаршы толқын болмайды. Квадрат толқын жиілігі 60 Гц екеніне көз жеткізіңіз. Егер сізде заманауи ауқым болса, ол сізге жиілікті айтуы мүмкін. Егер сізде мен сияқты ежелгі ауқым болса, онда шаршы толқын кезеңінің шамамен 16.66 мс немесе 1/60 сек болуын қамтамасыз етіңіз. 2. Жиілік режимінде жиілік есептегішті немесе DVM -ді қолдана отырып, U5 түйреуішінің 1 -ші жиілігін өлшеп, RV1 -ді дәл 60 Гц -ке реттеңіз. Бұл калибрлеу аяқталғаннан кейін тізбектің құрылысын аяқтау үшін тізбекті өшіріп, барлық IC -лер мен дисплейді қосыңыз.

7 -қадам: 7 -қадам: Arduino бағдарламасы

Бағдарлама әр қадамның егжей -тегжейін білу үшін толық түсіндірілген. Бағдарламаның күрделілігіне байланысты әр қадамды сипаттау қиын, бірақ бұл өте жоғары деңгейде:

Микропроцессор кіріс 60 Гц квадрат толқынын қабылдайды және 60 циклді есептейді және әрбір 60 циклден кейін секундтарды арттырады. Секунд санау 60 секундқа немесе 3600 циклге жеткенде, минут санау ұлғаяды және секунд санау нөлге қайтарылады. Минуттар саны 60 минутқа жеткенде, сағаттар саны артады және минуттар нөлге қайтарылады. сағат саны 13 сағаттан кейін 1 -ге қалпына келтіріледі, сондықтан бұл 12 сағаттық сағат. Егер сіз 24 сағаттық сағатты алғыңыз келсе, бағдарламаны 24 сағаттан кейін нөлге қайтару үшін өзгертіңіз. Бұл эксперименттік жоба, сондықтан мен «Орнату және ұлғайту» түймелеріндегі қосқыштың секіруін басу үшін Do-while циклын қолдануға тырыстым. Ол ақылға қонымды түрде жақсы жұмыс істейді. Орнату түймешігі бір рет басылғанда, Дисплейде көрсетілген сағаттарды жылжыту үшін ұлғайту түймесін пайдалануға болады. Орнату түймесі қайтадан басылған кезде, ұлғайту түймешігін дисплейде көрсетілген минуттарға өту үшін пайдалануға болады. Орнату түймесі үшінші рет басылғанда, уақыт орнатылып, сағат жұмыс жасай бастайды. 7 сегментті дисплейлерде әр санды көрсету үшін қолданылатын 0 және 1 үлгілері Seven_Seg деп аталатын массивте сақталады. Ағымдағы сағат уақытына байланысты бұл үлгілер 74HC595 IC -ке беріледі және дисплейге жіберіледі. Бұл деректерді алу үшін дисплейдің 4 цифрының қайсысы бір уақытта қосылады, микропроцессор Dig 1, 2, 3, 4 түйреуіш арқылы басқарылады. Электр тізбегі қосылған кезде, бағдарлама алдымен Test_Clock деп аталатын сынақ процедурасын іске қосады, ол 0 -ден 9 -ға дейінгі санмен әр дисплейді жарықтандыру үшін дұрыс цифрларды жібереді. Сонымен, егер сіз оны қосқанда, сіз бәрін дұрыс құрастырғаныңызды білесіз..

8 -қадам: 8 -қадам: PCBWay ұсынысы

Бұл жазбаны аяқтайды, бірақ бұл жобаның демеушісі - бұл 5 жылдық мерейтойын атап өтетін PCBWay. Оны https://www.pcbway.com/anniversary5sales.html сайтынан қараңыз және олардың жинақтау қызметі қазір 30 долларға дейін төмен екенін ұмытпаңыз.

Ұсынылған: