чтобы просто лучше режим 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 секунды и часы у меня убегали на несколько секунд в месяц. такие часы уже не выпускаются.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения