Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: PWM + RTC
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
BigCoster
Частота шим 32000 Гц для управления двигателем
плюс часовой кварц 32768 Гц, используется для RTC.
Результат часы спешат где то в 1,5 раза.

Может ли шим "мешать" резонатору, при неправильной разводке платы?
Если так и есть посоветуйте как правильно развести плату
или какие-то другие действия.
Kuzmi4
Теоретически - может, но чтоб в полтора раза.....

Советую отрубить шим и посмотреть на часы - как они себя без шима вести будут - если будет кака - тогда исчите в другом месте...
BigCoster
Цитата(Kuzmi4 @ Dec 10 2007, 12:21) *
Теоретически - может, но чтоб в полтора раза.....

Советую отрубить шим и посмотреть на часы - как они себя без шима вести будут - если будет кака - тогда исчите в другом месте...

Пробовали но подругому.
Поменяли источник тактирования на внутренний кварц 8 Мгц.

Результат - на много больше похоже на часы.
Значит шим влияет...
BigCoster
посоветуйте как все таки сделать достаточно точные часы
чтоб им не мешал шим help.gif
Maik-vs
Цитата(BigCoster @ Dec 12 2007, 12:54) *
посоветуйте как все таки сделать достаточно точные часы
чтоб им не мешал шим help.gif


1. Отключить ШИМ [SENSORED] (совсем, запретить программно) и убедиться, что часы идут точно.
2. Искать откуда ШИМ "мешает". Он же не ауру портит? Ток двигателя по общей земле идёт, или питание просаживает, или наводки на цепи часов от мощного тока. Искать.

Не рекомендую использовать бранные выражения, пусть даже завуалированные грамматикой.
IgorKossak.
GDI
А RTC на асинхронном таймере сделан? Может попробовать применить отдельную микросхему часов? Если часы спешат всегда одинаково, то может сделать программную коррекцию хода часов, которая будет работать только во время когда работает двигатель?
BigCoster
Цитата(GDI @ Dec 12 2007, 15:19) *
А RTC на асинхронном таймере сделан? Может попробовать применить отдельную микросхему часов? Если часы спешат всегда одинаково, то может сделать программную коррекцию хода часов, которая будет работать только во время когда работает двигатель?


Если делать такую коррекцию можно не надеятся на точность sad.gif да и двигатель
работает постоянно да еще и в разных режимах.

Может и прийдется применять микросхему часов ну это если совсем ничего не поможет.
Еще есть вариант использовать кварц с какой-то кратной частотой но на порядок выше
=GM=
Цитата(BigCoster @ Dec 12 2007, 12:34) *
Если делать такую коррекцию можно не надеятся на точность sad.gif да и двигатель работает постоянно да еще и в разных режимах.
Может и прийдется применять микросхему часов ну это если совсем ничего не поможет.
Еще есть вариант использовать кварц с какой-то кратной частотой но на порядок выше

Попробуйте сделать, как вам уже советовали, т.е. отключить шим и оценить точность хода часов. Если точности хода часов в различных режимах отличаются, значит что-то в разводке. Если нет - ищите баг в своей программе.

У меня был похожий глюк, когда разводка влияла на частоту передатчика. Оказалось, что под опорным генератором в одном из слоёв проходила силовая линия, питающая передатчик (20 мВт). Импульс тока на этой линии приводил к смещению частоты опорника на доли герца, потом опорная частота попадала в синтезатор, умножалась, в результате возникала небольшая частотная модуляция в начале импульса. Замучились искать причину...
BigCoster
Цитата(=GM= @ Dec 12 2007, 16:51) *
Попробуйте сделать, как вам уже советовали, т.е. отключить шим и оценить точность хода часов. Если точности хода часов в различных режимах отличаются, значит что-то в разводке. Если нет - ищите баг в своей программе.

У меня был похожий глюк, когда разводка влияла на частоту передатчика. Оказалось, что под опорным генератором в одном из слоёв проходила силовая линия, питающая передатчик (20 мВт). Импульс тока на этой линии приводил к смещению частоты опорника на доли герца, потом опорная частота попадала в синтезатор, умножалась, в результате возникала небольшая частотная модуляция в начале импульса. Замучились искать причину...


Без шима часы идут нормально, проблемы с разводкой, но какие?
Не встречали рекомендаций по разводке при использовании часового кварца?
=GM=
Цитата(BigCoster @ Dec 12 2007, 13:25) *
Не встречали рекомендаций по разводке при использовании часового кварца?

Не встречал. Слона надо есть по частям, поэтому попробуйте найти причину влияния, моделируя сигналы по очереди, один за другим. Скажем, работает только один шим и т.д. Поставьте питание МК от батареи, чтобы исключить завязки по питанию. Исключите все прерывания, если есть, потом по одной разрешайте. Впрочем, вам уже многое из этого советовали, но вы что-то не спешите прислушиваться к голосу коллективного разума(:-(.
DiMomite
Встречал такую рекомендацию по разводке: окружить выводы кварца и выводы МК, к которым он подключен замкнутым контуром земли. Но как такое сделать не для DIP корпуса, представить не могу.
umup
осциллограф есть ?
хотя-бы посмотрите сигнал на генераторе 32.768К - изменение в 1.5 раза заметно визуально, посмотрите нет ли скачков напряжения на земле/питании при вкл/выкл ШИМа по сравнению с землей на вводе питания, если сильноточные цепи проходят рядом с ногами часового генератора, отрежте их и подайте отдельными проводами, еще попробуйте разное значение бита OSCCAL и т.д...
fmdost
Надо-бы чертёж платки, жутко интересно!
BigCoster
Цитата(Т.Достоевский @ Dec 13 2007, 02:29) *
Надо-бы чертёж платки, жутко интересно!

А вот и чертежи платки.
Сторона СМД
Нажмите для просмотра прикрепленного файла
Сторона сквозного монтажа
Нажмите для просмотра прикрепленного файла

И нету осцилографа, не разжились эщё.
Nikola Kirov
Как видно конденсаторов к земли нет. Ето можно елсли кварца нужно 8пф конденсаторов./я такие не видиел/ Если нада болше нада и поставит. Корпус кварца нада тоже соединит с земли.

А если ползуется SLEEP режим там в некоторъйх мегах ест баг /в Мега324 сталкивался/ . При входе в SLEEP инога получается ложное перервание таймера.
nick-l
Так MEGA же имеет встроенные конденсаторы для работы с "часовым" кварцем, надо токо не забыть фьюзы включить CKORT=0
umup
да, конденсаторы где-то по 22 пФ на кварце нужны. Есть вроде баг с CKOPT - встроенные конденсаторы не включаются, нужно подключать внешние.
BigCoster
Цитата(nick-1 @ Dec 13 2007, 20:02)
Так MEGA же имеет встроенные конденсаторы для работы с "часовым" кварцем, надо токо не забыть фьюзы включить CKORT=0


Цитата(umup @ Dec 13 2007, 20:55) *
да, конденсаторы где-то по 22 пФ на кварце нужны. Есть вроде баг с CKOPT - встроенные конденсаторы не включаются, нужно подключать внешние.

А про это никто ничего и не знал... 07.gif
Спасибо, сёня попробуем. smile3046.gif
fmdost
Цитата(umup @ Dec 13 2007, 19:55) *
да, конденсаторы где-то по 22 пФ на кварце нужны. Есть вроде баг с CKOPT - встроенные конденсаторы не включаются, нужно подключать внешние.

CKOPT это когда включается максимальная амплитуда на усилителе кварцевого генератора.
Вообще не советую оставлять этот бит незапрограммированый, на меге48 добиться нормальной работы так и не удалось.
umup Где-то на буржуйском сайте встечал что и на других кристаллах этот баг то-же есть.

BigCoster Осцилограф сдесь не поможет. Его щуп поглотит все момехи, и наверняка схема с ним будет работать прекрасно. Кстати на плате есть резерв для укорочения выводов кварца, + Nikola Kirov правильно советует его заземлить. Как это сделать можно глянуть на материнках.
Обязателно сообшите результат, после установки конденсаторов и заземления кварца.
ЗЫ. Используйте метрическую систему для tqfp в PCB.
umup
мда... что за привычка не указывать название контроллера ?
если это М8, то в эррате пункт 4 :
Цитата
CKOPT Does not Enable Internal Capacitors on XTALn/TOSCn Pins when 32 KHz
Oscillator is Used to Clock the Asynchronous Timer/Counter2
When the internal RC Oscillator is used as the main clock source, it is possible to run the
Timer/Counter2 asynchronously by connecting a 32 KHz Oscillator between XTAL1/TOSC1
and XTAL2/TOSC2. But when the internal RC Oscillator is selected as the main clock
source, the CKOPT Fuse does not control the internal capacitors on XTAL1/TOSC1 and
XTAL2/TOSC2. As long as there are no capacitors connected to XTAL1/TOSC1 and
XTAL2/TOSC2, safe operation of the Oscillator is not guaranteed.
Problem Fix / Workaround
Use external capacitors in the range of 20 - 36 pF on XTAL1/TOSC1 and XTAL2/TOSC2.
This will be fixed in ATmega8 Rev. G where the CKOPT Fuse will control internal capacitors
also when internal RC Oscillator is selected as main clock source. For ATmega8 Rev. G,
CKOPT = 0 (programmed) will enable the internal capacitors on XTAL1 and XTAL2. Cus-
tomers who want compatibility between Rev. G and older revisions, must ensure that
CKOPT is unprogrammed (CKOPT = 1).
BigCoster
Извените, что не указал контроллер, это была мега8.

Как и предполагалось, 22пф на землю и включение CKOPT исправели
проблему. smile.gif Но появилась проблема со стеком (вылетает куда попало), а это уже другая история.
Спасибо всем за ответы. a14.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.