Мазмұны:

Қабырға сағатымен ойнау: 14 қадам
Қабырға сағатымен ойнау: 14 қадам

Бейне: Қабырға сағатымен ойнау: 14 қадам

Бейне: Қабырға сағатымен ойнау: 14 қадам
Бейне: Жігітім дұрыстап тықпаса не істеу керек? 2024, Қараша
Anonim
Image
Image
Жұмыс принципі
Жұмыс принципі

Қабырғалық электронды сағат (коммерциялық таңбалы кварц) қазіргі уақытта ерекше ештеңе емес. Оны көптеген дүкендерде сатып алуға болады. Олардың кейбіреулерінде олар өте арзан; бағасы шамамен 2 еуро (50CZK). Бұл төмен баға оларды мұқият қарауға ынталандыруы мүмкін. Содан кейін мен білдім, олар электронды түрде жаңадан келгендер үшін өте қызықты ойыншық бола алады, ресурстары онша көп емес және негізінен бағдарламалауға қызығушылық танытады. Бірақ өз дамуын басқаларға ұсынғысы келеді. Арзан қабырға сағаты эксперименттер мен жаңадан бастаушылардың сынақтарына өте төзімді болғандықтан, мен осы мақаланы жазуды жөн көрдім, онда мен негізгі идеяларды ұсынғым келеді.

1 -қадам: жұмыс принципі

Жұмыс принципі
Жұмыс принципі
Жұмыс принципі
Жұмыс принципі

Қозғалыс үшін қандай да бір қадамдық қозғалтқышты қолданатын сағатты тану оңай. Кейбір сағаттарды бөліп алған адам, бұл екі сатылы қозғалтқыштың орнына бір катушка екенін білді. Бұл жағдайда біз «бір фазалы» немесе «бір полюсті» қадамдық қозғалтқыш туралы айтып отырмыз. (Бұл атау жиі қолданылмайды, ол басқа толық стек степперлік қозғалтқыштар үшін қолданылатын таңбалауға ұқсас). Жұмыс принципі туралы ойлана бастаған адам қозғалтқыш әрқашан дұрыс бағытта айналуы мүмкін деген сұрақ қоюы керек. Жұмыс принципінің сипаттамасы мотордың ескі түрлерін көрсететін келесі суретте пайдалы.

Бірінші суретте А және В терминалдары бар бір катушка, сұр статор және қызыл-көк ротор көрінеді. Ротор тұрақты магниттен жасалған, сол себепті, ол неге түспен белгіленеді, көрінуі үшін, магниттелуі қай бағытта (маңызды емес, солтүстікте және оңтүстікте). Статорда роторға жақын екі «ойықты» көруге болады. Олар жұмыс принципі үшін өте маңызды. Мотор төрт сатыда жұмыс істейді. Біз әр қадамды төрт суреттің көмегімен сипаттайтын боламыз.

Бірінші қадамда (екінші сурет) қозғалтқышқа қуат беріледі, А терминалы оң полюске, ал В терминалы теріс полюске қосылады. Ол магниттік ағын жасайды, мысалы жебе бағытында. Ротор орнында тоқтайды, оның орналасуы магнит ағынына сәйкес келеді.

Екінші қадам - электр қуатын өшіргеннен кейін. Содан кейін статордағы магнит ағыны тоқтатылады, ал магниттің позицияға бұрылу үрдісі бар, оның поляризациясы статордың максималды магниттік жұмсақ материалына бағытталған. Міне, бұл екі ойықтың шешуші мәні бар. Олар максималды көлемнің шамалы ауытқуын көрсетеді. Содан кейін ротор сағат тілімен сәл бұрылады. 3 суретте көрсетілгендей.

Келесі қадам (төртінші сурет) кернеудің кері полярлығымен байланысты (А терминалы теріс полюске, В терминалы оң полюске). Бұл ротордағы магнит катушка арқылы магнит өрісі бағытында айналатынын білдіреді. Ротор ең қысқа бағытты пайдаланады, ол қайтадан сағат тілімен.

Соңғы (төртінші) қадам (бесінші сурет) екінші сияқты. Қозғалтқыш қайтадан кернеусіз. Магниттің бастапқы позициясы қарама -қарсы, бірақ ротор қайтадан материалдың максималды көлеміне қарай жылжиды. Бұл қайтадан сағат тілінің бағытымен сәл төмен.

Бұл барлық цикл, бірінші қадам қайтадан жүреді. Қозғалтқыш қозғалысы үшін екінші және төртінші қадамдар тұрақты деп түсініледі. Содан кейін ол механикалық беріліс қорабымен сағаттың екінші қолының позициясына 1:30 жылдамдықпен ауысады.

2 -қадам: жұмыс принципі жалғасы

Жұмыс принципі Конт
Жұмыс принципі Конт
Жұмыс принципі Конт
Жұмыс принципі Конт
Жұмыс принципі Конт
Жұмыс принципі Конт
Жұмыс принципі Конт
Жұмыс принципі Конт

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

3 -қадам: Іс жүзінде бөлшектеу 1

Іс жүзінде бөлшектеу 1
Іс жүзінде бөлшектеу 1

Мен практикалық бөлшектеу үшін нарықтағы ең арзан қабырға сағатын қолдандым. Олардың жақсы жақтары аз. Бірі, бұл баға соншалықты төмен, біз олардың бірнешеуін эксперимент үшін сатып ала аламыз. Өндіріс бағаға бағдарланғандықтан, оларда күрделі ақылды шешімдер, сондай -ақ күрделі бұрандалар жоқ. Іс жүзінде оларда бұрандалар жоқ, тек пластикалық құлыптар. Бізге ең аз құрал қажет. Мысалы, бізге бұрандалар тек құлыптарды алу үшін қажет.

Қабырға сағатын бөлшектеу үшін бізге жалпақ бұрағыш (немесе кез келген басқа таяқша), киім ілгегі және жиектері көтерілген жұмыс төсеніші қажет (бұл міндетті емес, бірақ дөңгелектер мен басқа ұсақ бөлшектерді іздеуді жеңілдетеді).

4 -қадам: Іс жүзінде бөлшектеу 2

Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2
Іс жүзінде бөлшектеу 2

Қабырға сағатының артқы жағында үш ілгекті табуға болады. 2 және 10 сандарындағы екі жоғарғы құлыпты ашуға болады және әйнекті ашуға болады Әйнек ашық кезде сағат тілінің тұтқаларын тартып алуға болады. Олардың орнын белгілеудің қажеті жоқ. Біз оларды әрқашан 12:00 орнына қайтарамыз. Оның екі ысырмасы бар (6 және 12 -позицияда). Қозғалыс мүмкіндігінше түзу болғаны жөн, әйтпесе қозғалыс тоқтап қалуы мүмкін.

5 -қадам: Іс жүзінде бөлшектеу 3

Іс жүзінде бөлшектеу 3
Іс жүзінде бөлшектеу 3
Іс жүзінде бөлшектеу 3
Іс жүзінде бөлшектеу 3
Іс жүзінде бөлшектеу 3
Іс жүзінде бөлшектеу 3

Содан кейін қозғалысты ашуға болады. Оның үш ілгегі бар. екеуі 3 және 9 сағат позицияларында, содан кейін 6 сағатта үшінші. Ашылған кезде қозғалтқыш пен беріліс қорабының арасындағы мөлдір дөңгелекті, содан кейін қозғалтқыш роторына қосылған пионды алып тастау жеткілікті.

6 -қадам: Іс жүзінде бөлшектеу 4

Іс жүзінде бөлшектеу 4
Іс жүзінде бөлшектеу 4
Іс жүзінде бөлшектеу 4
Іс жүзінде бөлшектеу 4

Қозғалтқыш катушкасы мен статор тек бір ысырмада ұсталады (12 сағатта). Ол электрлік рельстерге бекітілмейді, ол рельстерге тек басу арқылы қолданылады, содан кейін алу қиын емес. Катушка ұстағышсыз статорға бұралған. Оны оңай көтеруге болады.

7 -қадам: Іс жүзінде бөлшектеу 5

Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5
Іс жүзінде бөлшектеу 5

Катушканың төменгі жағында алты шығысы бар бір CoB (Chip on Chip) бар шағын баспа платасы желімделген. Екеуі қуатқа арналған және олар рельстерді қолдану үшін борттағы үлкен төртбұрыштарда тоқтатылады. екі шығыс кристаллға қосылған. Айтпақшы, кристалл 32768 Гц және болашақта пайдалану үшін оны дәнекерлеуге болады. Соңғы екі шығыс катушкаға қосылған. Мен борттағы іздерді және борттағы қолданыстағы жастықтарға сымдарды кесуді қауіпсіз деп таптым. Мен катушканы ағытып, сымды тікелей катушкаға қосуға тырысқанда, мен әрқашан катушка сымын жұлып аламын немесе катушканы зақымдаймын. Жаңа сымдарды тақтаға дәнекерлеу - бұл мүмкіндіктердің бірі. Айталық, бұл неғұрлым қарабайыр. Шығармашылық әдіс - катушканы қуат жастықтарына қосу және батарея қорабына қосылу үшін рельстерді ұстап тұру. Содан кейін электрониканы батарея қорабына салуға болады.

8 -қадам: практикалық түрде бөлшектеу 6

Іс жүзінде бөлшектеу 6
Іс жүзінде бөлшектеу 6
Іс жүзінде бөлшектеу 6
Іс жүзінде бөлшектеу 6

Дәнекерлеу сапасын омметр көмегімен тексеруге болады. Катушкалар шамамен 200Ω қарсылыққа ие. Барлығы жақсы болғаннан кейін біз қабырға сағатын жинаймыз. Мен әдетте электр рельстерін тастаймын, содан кейін менің жаңа сымдарым үшін көбірек орын болады. Фотосуреттер электр рельстері лақтырылмай тұрып түсіріледі. Мен оларды алып тастаған кезде келесі суретке түсуді ұмытып кетемін.

Қозғалысты аяқтағаннан кейін мен оны екінші сағат тілінің көмегімен тексеремін. Мен қолымды оське қойып, қуат қосамын (мен CR2032 монета батареясын қолдандым, бірақ AA 1, 5V де қолдануға болады). Қуатты бір полярлықта сымдарға, содан кейін қайтадан қарама -қарсы полярлыққа қосыңыз. Сағат белгісі болуы керек және қол бір секундқа жылжиды. Қозғалысты аяқтауға қиындықтар туындаған кезде, сымдар көбірек орын алатындықтан, құмырсқаны айналдыра отырып, оны қарама -қарсы жаққа қойыңыз. Электр рельстерін пайдаланбаған соң, ол сағат қозғалысына әсер етпейді. Жоғарыда айтылғандай, қолды артқа қою кезінде оларды сағат 12: 00 -ге қаратып қою керек. Сағат пен минуттың арасындағы дұрыс қашықтық болуы керек.

9 -қадам: Қабырғалық сағатты қолдану мысалдары

Уақытты көрсетуге бағытталған қарапайым мысалдардың көпшілігі, бірақ әр түрлі өзгертулермен. «Ветинари сағаты» деп аталатын модификация өте танымал. Терри Пратчетт кітабын көрсетеді, онда лорд Ветинаридің күту бөлмесінде қабырға сағаты бар, ол тұрақты емес. Бұл тәртіпсіздік күткен адамдарды алаңдатады. Екінші танымал бағдарлама - «синус сағаты». Бұл синус қисығына негізделген жылдамдық пен баяулайтын сағатты білдіреді, содан кейін адамдар толқынмен жүзіп бара жатқанын сезеді. Менің жақсы көретінімнің бірі - «түскі ас». Бұл модификацияны білдіреді, бұл сағат 11-12 сағат аралығында (0,8 сек) тезірек түскі ас ішу үшін; және түскі ас кезінде 12-13 сағат (1, 2 сек) арасында сәл баяу, түскі асқа аз уақыт бөлу және жоғалған уақыттың орнын толтыру.

Бұл модификацияның көпшілігі үшін 32768 Гц жұмыс жиілігін пайдаланатын қарапайым процессорды қолдану жеткілікті. Бұл жиілік сағат жасаушылар арасында өте танымал, өйткені мұндай жиілікте кристалл жасау оңай, және оны екілікке бөлуге тыйым салынады. Бұл жиілікті процессор үшін қолданудың екі артықшылығы бар: біз кристалды сағаттан оңай айналдыра аламыз; және процессорлар әдетте осы жиілікте аз тұтынылады. Тұтыну - біз қабырға сағатымен ойнағанда жиі шешетін нәрсе. Мүмкіндігінше, ең кішкентай батареядан сағат қуатын алу. Жоғарыда айтылғандай, катушка 200 resist кедергіге ие және cca 1, 5V (бір АА аккумуляторы) үшін арналған. Ең арзан процессорлар әдетте үлкен кернеумен жұмыс істейді, бірақ олардың барлығы екі батареямен (3В) жұмыс істейді. Біздің нарықтағы ең арзан процессорлардың бірі - Microchip PIC12F629 немесе өте танымал Arduino модульдері. Содан кейін біз екі платформаны қалай пайдалану керектігін көрсетеміз.

10 -қадам: Қабырғалық сағаттарды қолдану мысалдары PIC

Қабырғалық сағаттарды қолдану мысалдары PIC
Қабырғалық сағаттарды қолдану мысалдары PIC
Қабырғалық сағаттарды қолдану мысалдары PIC
Қабырғалық сағаттарды қолдану мысалдары PIC

PIC12F629 процессоры 2.0В - 5.5В жұмыс кернеуіне ие. Екі «миньон батареясын» = АА ұяшықтарын (cca 3V) немесе екі АА қайта зарядталатын АА аккумуляторын (cca 2, 4V) пайдалану жеткілікті. Бірақ сағаттық катушкалар үшін бұл жобаланғаннан екі есе көп. Бұл тұтынудың қажетсіз өсуіне әкеледі. Содан кейін кернеудің тиісті бөлгішін құратын минималды сериялы резисторды қосу жақсы. Резистор мәні аккумулятор қуаты үшін шамамен 120Ω немесе таза резистивті жүктеме үшін есептелген батарея қуаты үшін 200Ω болуы керек. Іс жүзінде мән шамамен 100Ω шамасында аз болуы мүмкін. Теорияда катушкасы бар бір резистор жеткілікті. Менде қандай да бір себептермен қозғалтқышты симметриялы құрылғы ретінде көруге бейімділік бар, содан кейін әрбір катушкалық терминалдың жанына резистордың жартысын (47Ω немесе 51Ω) қояды. Кейбір конструкциялар катушка ажыратылған кезде процессорға теріс кернеуді болдырмау үшін қорғаныш диодтарын қосады. Екінші жағынан, процессордың шығыс қуаты катушканы күшейткішсіз процессорға тікелей қосу үшін жеткілікті. PIC12F629 процессорының толық схемасы 15 суретте сипатталғандай болады. Бұл схема қосымша басқару элементтері жоқ сағаттар үшін жарамды. Бізде әлі де бір кіріс/шығыс GP0 GP0 және бір кіріс GP3 бар.

11 -қадам: Қабырғалық сағаттарды қолдану мысалдары Arduino

Қабырғалық сағаттарды қолдану мысалдары Arduino
Қабырғалық сағаттарды қолдану мысалдары Arduino
Қабырғалық сағаттарды қолдану мысалдары Arduino
Қабырғалық сағаттарды қолдану мысалдары Arduino
Қабырғалық сағаттарды қолдану мысалдары Arduino
Қабырғалық сағаттарды қолдану мысалдары Arduino

Arduino -ны қолданғымыз келген соң, біз ATmega328 процессорының деректер кестесін қарай аламыз. Бұл процессордың жұмыс кернеуі 4 МГц жиілікке дейін 1,8 В - 5,5 В және 10 МГц дейінгі жиілік үшін 2,7 В - 5, 5 В деп анықталады. Біз Arduino тақталарының бір кемшілігіне абай болуымыз керек. Бұл кемшілік бортта кернеу реттегішінің болуы. Кернеу реттегіштерінің үлкен саны кері кернеумен байланысты мәселелерге ие. Бұл мәселе 7805 реттегіші үшін кеңінен және жақсы сипатталған. Біздің қажеттіліктеріміз үшін 3В3 деп белгіленген тақтаны пайдалану керек (3.3В қуаттандыруға арналған), әсіресе бұл тақтада 8 МГц хрустал бар және 2, 7 В (бұл екі АА білдіреді) батареялар). Содан кейін қолданылатын тұрақтандырғыш 7805 емес, оның 3,3В эквиваленті болады. Біз тұрақтандырғышты пайдаланбай тақтаны қуаттандырғымыз келсе, бізде екі нұсқа бар. Бірінші нұсқа-кернеуді «RAW» (немесе «Vin») және +3V3 (немесе Vcc) түйреуіштеріне бірге қосыңыз және сіздің тақтада қолданылатын тұрақтандырғышта кернеудің төмен қорғанысы жоқ деп есептеңіз. Екінші нұсқа - тұрақтандырғышты жою. Бұл үшін Arduino Pro Mini -ді пайдалану, схемаға сәйкес. Бұл схемада ішкі тұрақтандырғышты ажыратуға арналған SJ1 қосқышы бар (қызыл шеңбердегі 16 суретте). Өкінішке орай, клондардың көпшілігінде бұл секіргіш жоқ.

Arduino Pro Mini -дің тағы бір артықшылығы - оның құрамында қалыпты жұмыс кезінде электр энергиясын тұтына алатын қосымша түрлендіргіштер жоқ (бұл бағдарламалау кезінде аз ғана қиындық). Arduino тақталары біртекті шығаруға жетпейтін ыңғайлы процессорлармен жабдықталған. Содан кейін транзисторлар жұбын қолдана отырып, минималды шығыс күшейткішті қосу жақсы. Аккумулятордың негізгі схемасы суретте көрсетілгендей болады.

Arduino ортасында («сымдар» тілі) қазіргі заманғы операциялық жүйелердің атрибуттары бар болғандықтан (дәл уақытты есептеуге қиындықтар туындайды), Timer0 немесе Timer1 үшін сыртқы сағат көзін пайдалану туралы ойланған жөн. Бұл T0 және T1 кірістерін білдіреді, олар 4 (T0) және 4 (T1) деп белгіленеді. Қабырға сағатынан кристалды қолданатын қарапайым осцилляторды осы кірістердің кез келгеніне қосуға болады. Бұл сіз қанша сағат жасағыңыз келетініне байланысты. 18 -суретте үш негізгі мүмкіндік көрсетілген. Бірінші схема қолданылған компоненттердің мағынасы бойынша өте үнемді. Ол аз үшбұрышты шығуды қамтамасыз етеді, бірақ толық кернеу диапазонында CMOS кірістерін қосу үшін жақсы. Инверторларды қолданатын екінші схема, олар CMOS 4096 немесе TTL 74HC04 болуы мүмкін. Схемалар бір -біріне аз ұқсайды, олар негізгі формада. Кристалды тікелей қосуға мүмкіндік беретін CMOS 4060 микросхемасының үшінші схемасы (резисторлардың бірдей схемасы бойынша 74HC4060 баламасы). Бұл схеманың артықшылығы, онда 14 биттік бөлгіш бар, содан кейін таймер кірісі ретінде қандай жиілік қолданылатынын шешуге болады.

Бұл тізбектің шығысы T0 (Arduino таңбасы бар 4 -ші түйін) кірісі үшін пайдаланылуы мүмкін, содан кейін сыртқы кірісі бар Timer0 -ді қолдана алады. Бұл соншалықты практикалық емес, өйткені Timer0 delay (), milis () немесе micros () сияқты функциялар үшін қолданылады. Екінші нұсқа - оны T1 кірісіне қосу (5 -түйреуіш Arduino таңбасы бар) және Timer1 -ді қосымша кіріспен пайдалану. Келесі нұсқа - оны INT0 (Arduino таңбалауындағы 2 -түйреуіш) немесе INT1 (3 -түйін) үзіліс кірісіне қосу және мезгіл -мезгіл шақырылатын attachInterrupt () функциясын пайдалану және тіркеу. Мұнда 4060 чиптері ұсынатын пайдалы бөлгіш бар, содан кейін қоңырау жиі болмауы керек.

12 -қадам: Теміржолшылардың модельдік жабдықтарына арналған жылдам сағат

Теміржолшылардың аппараттық құралдарына арналған жылдам сағат
Теміржолшылардың аппараттық құралдарына арналған жылдам сағат
Теміржолшылардың аппараттық құралдарына арналған жылдам сағат
Теміржолшылардың аппараттық құралдарына арналған жылдам сағат
Теміржолшылардың модельдік жабдықтарына арналған жылдам сағат
Теміржолшылардың модельдік жабдықтарына арналған жылдам сағат

Қызығушылық үшін мен бір пайдалы схеманы ұсынамын. Маған жалпы бақылауға көбірек қабырға сағатын қосу керек. Қабырға сағаттары бір -бірінен алыста орналасқан және оның жоғарғы жағында электромагниттік шуылмен қоршаған ортаға тән. Содан кейін мен байланыс үшін үлкен кернеуді қолданатын ескі автобустар жүйесіне оралдым. Әрине, мен аккумулятормен жұмыс істеуді шешкен жоқпын, бірақ мен тұрақтандырылған 12В қуат көзін қолдандым. Мен TC4427 драйверін қолдана отырып, процессордан сигналды күшейттім (оның қол жетімділігі мен бағасы жақсы). Содан кейін мен 0,5А дейін жүктемесі бар 12В сигналын алып жүрмін. Мен сағаттарға қарапайым резисторлық бөлгіштерді қостым (18 -суретте R101 және R102 деп белгіленген; Мен моторды симметриялы деп түсінемін, бұл қажет емес). Мен көбірек ток өткізу арқылы шуды азайтуды қалаймын, содан кейін мен 100Ω екі резисторды қолдандым. Мотор катушкасындағы кернеуді шектеу үшін катушкаға параллель В101 көпір түзеткіші қосылады. Көпірдің тұрақты ток жағы қысқартылған, содан кейін ол параллель диодтардың екі жұбын білдіреді. Екі диод кернеудің шамамен 1,4 В төмендеуін білдіреді, бұл мотор үшін қалыпты жұмыс кернеуіне өте жақын. Бізге параллельділік қажет, себебі қуат бір және қарама-қарсы полярлықта ауысады. Қабырғалы сағаттардың жалпы ток күші (12В - 1.5В) / (100Ω + 100Ω) = 53мА құрайды. Бұл шуды болдырмау үшін қолайлы мән.

Мұнда схеманың екі қосқышы бар, олар қабырға сағатының қосымша функцияларын басқаруға арналған (теміржолшылар үлгісіндегі жылдамдық мультипликаторы). Қыздар сағатының тағы бір қызықты ерекшелігі бар. Олар 4 мм екі банан коннекторы арқылы қосылады. Олар қабырғаға сағатты ұстап тұр. Бұл, әсіресе, пайдалануды бастамас бұрын белгілі бір уақытты орнатқыңыз келсе, оларды ажыратуға болады, содан кейін қайта жалғауға болады (ағаш блок қабырғаға бекітілген). Егер сіз «Биг Бен» жасағыңыз келсе, сізге төрт жұп розеткасы бар ағаш қорап қажет. Бұл қорапты сағаттар сақталмаған кезде оларды сақтау орны ретінде пайдалануға болады.

13 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету тұрғысынан жағдай салыстырмалы түрде қарапайым. PIC12F629 микросхемасында 32768 Гц кристалды (бастапқы сағаттан қайта өңделген) қолдануды сипаттайық. Процессорда бір осциллятордың төрт циклы бар бір командалық цикл бар. Кез келген Таймер үшін ішкі сағат көзін қолданатын болсақ, бұл нұсқаулық циклдарын білдіреді (fosc/4 деп аталады). Бізде, мысалы, Timer0 бар. Таймердің кіріс жиілігі 32768 /4 = 8192Гц болады. Таймер сегіз биттік (256 қадам) және біз оны еш кедергісіз толтырамыз. Біз тек таймердің толып кету оқиғасына назар аударамыз. Оқиға 8192/256 = 32Гц жиілігінде болады. Содан кейін біз бір секундта импульске ие болғымыз келсе, Таймердің әр 32 толып кетуіне импульсті жасауымыз керек. Бізде сағаттың төрт есе жылдам жұмыс істегісі келеді, содан кейін импульс үшін 32/4 = 8 толып кетуі керек. Біз сағатты тұрақты емес, бірақ дәл құрастыруға мүдделіміз, импульс саны 32 × сияқты бірнеше импульстің толып кетуі қажет. Содан кейін біз сағаттардың тұрақты емес матрицасына кіре аламыз: [20, 40, 30, 38]. Сонда қосынды 128 болады, яғни 32 × 4. Синус сағаты үшін [37, 42, 47, 51, 55, 58, 60, 61, 62, 61, 60, 58, 55, 51, 47, 42, 37, 32, 27, 22, 17, 13, 9, 6, 4, 3, 2, 3, 4, 6, 9, 13, 17, 22, 27, 32] = 1152 = 36*32). Біздің сағат үшін жылдам жұмыс үшін бөлгіштің анықтамасы ретінде екі бос кірісті қолданамыз. Жылдамдыққа арналған кесте бөлгіштері EEPROM жадында сақталады. Бағдарламаның негізгі бөлігі келесідей болуы мүмкін:

MainLoop:

btfss INTCON, T0IF goto MainLoop; күтіңіз Timer0 bcf INTCON, T0IF incf CLKCNT, f btfss SW_STOP; егер STOP қосқышы белсенді болса, CLKCNT clrf; сайын санауыш btfsc SW_FAST; егер жылдам батырмасы басылмаса goto NormalTime; тек қалыпты уақытты есептеңіз movf FCLK, w xorwf CLKCNT, w btfsc STATUS, Z; егер FCLK мен CLKCNT бірдей болса, онда SendPulse NormalTime: movf CLKCNT, w andlw 0xE0; бит 7, 6, 5 btfsc STATUS, Z; егер CLKCNT> = 32 goto MainLoop goto SendPulse болса

SendPulse функциясын қолданатын бағдарлама, бұл функция қозғалтқыш импульсын өзі жасайды. Функция тақ/жұп импульсті есептейді және осының негізінде бір немесе екінші шығуда импульсті жасайды. ENERGISE_TIME тұрақты қолданатын функция. Бұл тұрақты уақытты қозғалтқыш катушкасы қуаттайды. Осылайша тұтынуға үлкен әсер етеді. Кішкене болғаннан кейін қозғалтқыш қадамды аяқтай алмайды, ал кейде екінші секунд жоғалады (әдетте екінші қол 9 санының айналасында, жоғары қарай көтерілгенде).

SendPulse:

incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: bsf OUT_A goto SendPulseE SendPulseB: bsf OUT_B; goto SendPulseE SendPulseE: movlw 0x50 movwf ECPTopFoLopPoLePlOlb

Толық бастапқы кодтарды www.fucik.name беттің соңында жүктеуге болады. Arduino -мен жағдай біршама күрделі емес, өйткені Arduino жоғары бағдарламалау тілін және 8МГц жеке кристалды қолдана отырып, біз қандай функцияларды қолданатынымызға мұқият болуымыз керек. Классикалық кешіктіруді () пайдалану өте қауіпті емес (ол функцияның басталуынан уақытты есептейді). Жақсы нәтиже Timer1 сияқты кітапханаларды пайдалану болады. Arduino -ның көптеген жобалары PCF8563, DS1302 сияқты сыртқы RTC құрылғыларында есептеледі.

14 -қадам: Қызығушылық

Қабырғалық сағат моторын қолданудың бұл жүйесі өте қарапайым деп түсініледі. Онда көптеген жақсартулар бар. Мысалы, Артқы ЭҚК өлшеуге негізделген (роторлы магниттің қозғалысынан алынатын электр энергиясы). Содан кейін электронды құрылғы қолмен қозғалатын кезде тани алады, егер олай болмаса, импульсті тез қайталаңыз немесе «ENERGISE_TIME» мәнін жаңартыңыз. Қызығушылықтың пайдасы - «кері қадам». Сипаттамаға сәйкес, бұл қозғалтқыш тек бір бағытқа арналған және оны өзгерту мүмкін емес. Бірақ қосымша бейнелерде көрсетілгендей, бағытты өзгертуге болады. Принцип қарапайым. Мотор принципіне қайта оралайық. Елестетіп көріңізші, бұл қозғалтқыш екінші сатыда тұрақты күйде (3 -сурет). Біз кернеуді бірінші қадамда көрсетілгендей қосқаннан кейін (2 -сурет), қозғалтқыш логикалық түрде кері бағытта айнала бастайды. Импульс қысқа болғанда және қозғалтқыш тұрақты күйді көтермейінше сәл аяқталса, логикалық түрде сәл жыпылықтайды. Бұл жыпылықтау уақытында үшінші күйде сипатталғандай келесі кернеу импульсі келеді (4 -сурет), содан кейін қозғалтқыш өз бағытымен жалғаса береді, бұл кері бағытта. Кішкене мәселе - бірінші импульстің ұзақтығын қалай анықтау керек және бірінші және екінші импульстің арасындағы қашықтықты құру. Ең сорақысы, бұл тұрақтылықтар сағаттың әр қозғалысы үшін өзгереді, ал кейде жағдайлардың өзгеруі: қолдар «төмен» (3 -ші санның айналасында) немесе жоғарыда (9 -санның айналасында), сондай -ақ бейтарап күйлерде (шамамен 12 және 6 сандарында).. Бейнеде көрсетілген жағдайда мен келесі кодта көрсетілген мәндер мен алгоритмді қолдандым:

#анықтау OUT_A_SET 0x02; орнату үшін конфигурация b анық

#анықтау OUT_B_SET 0x04; b үшін конфигурация анық ENERGISE_TIME 0x30 анықтаңыз REVERT_TIME 0x06 SendPulse: incf POLARITY, f clrf CLKCNT btfss POLARITY, 0 goto SendPulseB SendPulseA: movlw REVERT_TIME movwf ECNT movlw OTB_ импульстен бастаңыз B movwf GPIO RevPulseLoopA:; қысқа уақыт күту decfsz ECNT, f goto RevPulseLoopA movlw OUT_A_SET; содан кейін импульс A movwf GPIO goto SendPulseE SendPulseB: movlw REVERT_TIME movwf ECNT movlw OUT_A_SET; импульстен бастаңыз A movwf GPIO RevPulseLoopB:; қысқа уақыт күту decfsz ECNT, f goto RevPulseLoopB movlw OUT_B_SET; содан кейін импульс B movwf GPIO; goto SendPulseE SendPulseE: movlw ENERGISE_TIME movwf ECNT SendPulseLoop: decfsz ECNT, f goto SendPulseLoop bcf OUT_A bcf OUT_B goto MainLoop

Кері қадамдарды қолдану қабырға сағатымен ойнау мүмкіндігін арттырады. Біз кейде екінші қолдың біркелкі қозғалысы бар қабырға сағатын таба аламыз. Бізде бұл сағаттан қорқу жоқ, олар қарапайым трюк қолданады. Қозғалтқыштың өзі мұнда сипатталған қозғалтқышпен бірдей, тек беріліс коэффициенті үлкен (әдетте 8: 1 артық) және қозғалтқыш жылдам айналады (әдетте 8 есе жылдам), бұл тегіс қозғалысқа әсер етеді. Сіз қабырға сағатын өзгерту туралы шешім қабылдағаннан кейін, сұралған мультипликаторды есептеуді ұмытпаңыз.

Ұсынылған: