чтобы просто лучше режим FPWM... там можно: -менять частоту (ICR). -менять скважность (OCR).
Так мне и нужна частота 25300Гц. FPWM я пытался визардом CVAVR настроить, он паразит мне 32кГц выдает, ошибка 19%. СТС частоту точнее выдает, с погрешностью 0,6%
да и я б не утверждала, что любую частоту.... Любую, но с погрешностью.... например, 987.0000 Гц со скважностью 0,5 чисто на таймере не получить.... Будет или 987.045Гц, или можно динамически играясь верхним пределом, например, в прерывании, получить среднюю частоту 987 герц, но с джиттером. И скважность там не будет 0.5 И чем выше будет требуемая частота , тем больше может быть погрешность.
Самый бюджетный вариант. Ядро от intrc, таймер 2 в асинхронном режиме с часовым кварцем. Ну и резервное питание CR2032 через Шоттки и sleep режим при этом. Китайцы ставят ds1302 c CR1220 и МК какой подешевле, обычно из 8051 семейства. Но ты ещё и об индикации не забывай. Наиболее дешево обычные светодиоды. А лучше цветные. Через драйверы.
Самый бюджетный вариант. Ядро от intrc, таймер 2 в асинхронном режиме с часовым кварцем. Ну и резервное питание CR2032 через Шоттки и sleep режим при этом.
Как дошло то до часов, изначально нужно было получить противофазный сигнал на двух выводах, для получения частоты 25300Гц. для питания ультразвукового излучателя.
А если меандр будет со скважностью не 2, а к примеру 1,999 - мир рухнет? Если есть пара свободных пин (пинов?), то чтоб не зас@орять себе мозги хитросплетениями таймерных режимов - я бы в прерывании синхронно инвертировал бы эту пару бит путём XOR. И заняло бы у меня написание этого куска кода секунд 5.
Jack_A, если МК умеет, то можно без ксора, писать единичку в PIN - оно инвертирует соответствующий бит в PORT... Причем, если писать несколько единичек - то будет атомарное изменение состояния
В принципе я определился со своими хотелками, точно генерить частоту получится только в СТС или Normal режиме, но получить аппаратный противофазный сигнал не получится. Можно только в режиме Normal программно передергивать выходы. Всем спасибо, кто попытался помочь
Ассемблер упорно генерирует число 9d. Почему у вас заносится 4e непонятно. LDI LOW(8000000/25300/2-1) OUT OCR0A, R17 OUT OCR0B, R17 Для получения противофазных импульсов попробуйте подключить один из каналов к выходу битом FOC0B, который специально для этого предназначен. LDI R17,1<<COM0A0|1<<COM0B0|1<<WGM01 OUT TCCR0A, R17 Ldl r17,1<<FOC0B|1<<CS00 OUT TCCR0B, R17
Как дошло то до часов, изначально нужно было получить противофазный сигнал на двух выводах, для получения частоты 25300Гц. для питания ультразвукового излучателя.
До часов - это Роман в сторону увёл.) А если один из выходов OCxA сначала установить через Set on Compare Match (другой через Clear), а затем запустить оба в режиме Toggle, не? Во! akl правильно заметил.
-можно поставить в часы ds1302 но не хочется усложнять )) -CR1220 не потянет... там нужен аккумулятор побольше)) -светодиоды не нужны... вместо них экран телефона. Спойлер
мы в курсе что это название горы в Крыму. причём самой высокой в Крыму. следующий вопрос про стабильность. -встроенный RС генератор нестабильный. может быть 8.000.000 Hz... а может быть 7.900.000 Hz... и т.д. -кварц 8.000.000 Hz поставить можно. но для часов лучше часовой. на таймере 2. уже стоит)) стабильность часов заметно выше... в десятки раз. но до идеале пока не дотягивает. в телефоне стабильней.
Ну, кош - это временная стоянка или жилище у наших предков. На Алтае есть поселок Кош-Агач.
Добавлено after 2 minutes 10 seconds:
Цитата:
8.000.000 Hz поставить можно. но для часов лучше часовой.
У "часового" и "высокочастотного" кварцев примерно одинаковая точность. Вернее, точность конкретно указывается в наименовании кварца. Распространенная точность ±20 ppm. Реже встречается ±10 ppm. Точность ±5 ppm и менее - уже редкость. (1 ppm = 0,000'001 долей частоты)
Цитата:
в телефоне стабильней.
Если отключите телефон от сотовой сети, увидите, что точность сильно-пресильно хуже стала. Мобилы синхронизируются по информации из сотовой сети.
Последний раз редактировалось КотПротон Чт авг 07, 2025 11:49:02, всего редактировалось 1 раз.
Jack_A, если МК умеет, то можно без ксора, писать единичку в PIN - оно инвертирует соответствующий бит в PORT...
Вот именно - если умеет. Насколько помнит мой склероз, у старых моделей вроде АТ2313 (давно снятых с производства ) этой фичи нет. Впрочем, тут речь идёт о вполне конкретной модели.
да... мобилы синхронизируются по информации из сотовой сети... как и компы по интернету... правда не каждый день. но в компе всё равно часы стабильней... даже без интернета. да... у "часового" и "высокочастотного" кварцев примерно одинаковая точность. но у "часового" меньше потребление. получается экономней. в принципе в ардуино "часовой" кварц работает сносно. только стабильность плавает в зависимости от температуры. может добавить коррекцию по температуре... благо датчик температуры уже подключен к ардуино. надо подумать... ещё можно сделать синхронизацию по интернету... NTP... но делать так не рекомендуется ))
но в компе всё равно часы стабильней... даже без интернета.
Насколько помню, там обычный кварц с ±10 ppm, что дает менее секунды в сутки, в худшем случае, это около полуминуты за месяц.
Добавлено after 7 minutes 41 second: Можно попробовать найти в продаже часовой кварц с ±5 ppm, что даст около 10 секунд в месяц, а это уже вполне хороший показатель.
PS. В моих наручных часах Casio Protrek PRW6000, которым уже 11 лет, стоит вероятно какой-то термостатированный кварц, потому что погрешность хода - всего лишь 15-20 секунд В ГОД! Я время на них поправляю раз в год, 31 декабря вечером.
да... в компе примерно так и есть. в компе часы убегают со временем... но не сильно... полуминуты за месяц где то. я вытащил часовой кварц из часов. в часах он работал стабильно. примерно как в компе. в ардуино работает хуже. 10 секунд за сутки. и зависит от температуры в доме. значит проблема в ардуино. наверное нужна термокомпенсация.
в старых часах типа электроника была функция подстройки частоты кварцевого генератора. хотя я точно не знаю как там сделано... но факт в том что заходим в меню часов и подстраиваем частоту с точностью 0,1 секунда в сутки... как то так там было написано. и да. действительно. помню поставил +0,3 секунды и часы у меня убегали на несколько секунд в месяц. такие часы уже не выпускаются.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения