Проблема с тактированием МК
- Войдите на сайт для отправки комментариев
Суть такая: Есть плата элементарная, тупо МК atmega48 или atmega8 не важно так как собрано две на разных МК. Так вот плата простейшая основная обвзяка и т.д. кварц 16 подтяжки основные все есть. Это не первая моя плата и даже не 10ая. Ну так вот. Суть в том что только с этой платой проблемы. Вопрос в том что после заливки на МК простого блинка с задрежкой в 1000 мск, получается так, что там все 10000. Уменьшая delay например до 100 мск, после на глаз светик мигает раз в секуду. Перепроверил все. Сменил раза 3 МК сменил кварцы все тыщу раз проверил на схеме. Ну все как надо и все равно такой глюк причем на двух платах. Всю голову сломал уже. Фото платы:
Куда еще можно капнуть если это не резонатор, не МК и не обвязка и не прошива? Сама плата? куда лучше посмотреть? Есть оущещение что проблема прячется перед глазами) но я ее не вижу в упор. Заранее спасибо.
На кварце висят кондеры. Не понять, куда они вторыми полюсами подключены.
Там просто заливка отключила) на землю они подтянуты само собой. Землю проверил кварц менял МК менял кондеры менял. Ппц мистика.
Суть в том что МК шьются разные пробовал атмегу4 и атмегу8. Скетч блинка работает но не стой частотой с которой должен. Такое вроде бывает когда прошивается не под тот резонатор. Но в моем случае все то стоит что должно и идей нет
Так вот и не видно, как именно они подтянуты, а это может быть важно. Вообще, атмелы землю вокруг кварца рекомендуют разносить с остальной землей:
Идея в том, чтобы исключить или минимизировать протекание "чужих" токов вокруг резонатора.
Если происходит постоянный срыв генерации, то при определенных условиях это и может выглядеть, как необъяснимые тормоза.
Да, именно так. А ещё требует разводить отдельную землю (даже нога выделена!) вокруг входов АЦП и есть специальные указивки на доп. фильтр к ноге AVcc от "основного" питания даже на ногу Vcc.
Сколько ардуиновских плат учло эти замечания.
А если тут вся земля "едина" и сделана просто заливкой, то вполне возможен вариант срыва генерации. Осцил, что показывает? Можно не подключаться непосредственно к кварцу, а вывести на ногу таймера без предделителя..
Так вот плата с заливками. ПРосто ребят ну как бы может я туплю сильно. Просто далеко не первая плата))) какие я только не делал)) но тут прям вообще капец мистика.
Эм а причем тут АЦП? И зачем разделять землю кварца от питающей части? Просто когда АЦП не используется на него можно смело подавать тоже питающее напряжение что и на весь МК. питание МК да согласен у меня там и стоит кондер по питанию и не один. Но дело то не в этом. на вид все говорит о том что тактирование не 16 Мгц а ниже. А инструкции как бы под 16. Я вам больше скажу я пробывал программировать и с внутренним кварцем и в итоге тоже самое( фигня какая то
Вот смотрите, вот плата еще одна другая. Землю никогда не разносил так как площадь как правила маленькая и помехи по земле минимальны. И все пашет и даже не на одной плате так реализовано) Вот ка кпример плата на которой все пашет.
Seltvik, стесняюсь сказать (это примерно из оперы "долго искал ключ, пока не заметли. что он в руке"), но проверьте-ка фьюз CKDIV8. Вдруг забыли о нём при прошивке? Как раз в 8 раз.
Даже не думал про фьюзы так как на все платы делаю заливку прошивок посредством Arduino IDE через UNO с прошивкой ISP. И на все платы все льется норм а тут нифига. Ну проверю щас
Не нашел обычного программатора под рукой решил сделатьследующим образом. Загрузил на мегу48 загрузчик и при записи увидел что и как. Вот:
Решил проблему. После того как записал загрузчик фьюзы встали на место. И начало работать как надо. Блин всем у кого такое будет моя рекомендация не доверять платформе Arduino IDE))))
Если АЦП не используется или там точность не особо требуется, то оно понятно что его можно разводить "как попало". Землю на конденсаторы кварца И ногу МК, что "рядом" требуют заводить отдельно и соединять с общей землей в одной точке платы только для того, чтобы "на водки", гуляющие по земле меньше влияли на генератор.
А вот то, что фьюзы оказались "не так" при прошивке в ИДЕ - весьма интересно, спасибо. Свои самопальные платы Мега2560 точно также прошиваю и заливаю загрузчик тоже в ИДЕ, буду внимательней. Интересно в какой версии ИДЕ у Вас оно приключилось?
В том то и фиг я свой основной контроллер на меге2560 шил раз 100 уже и 328 шил но есть нюанс нат был загрузчик уже на этих мегах. А вот партия пришла 48х и 8 а они без загрузчика фьюзы не выставлены правильно видать и когда заливаю скетчи через ИДЕ 1.8.7 версия через плату Arduino NG это для 8ой меге и через библиотеку плат от Mini Core то фьюзы не выставляются или выставляются не верно. Только после того как закрузчик записал на них после этого норм скетчи отрабатывают. А все это вскрылось когда я залил типичную прошивку для работы по modbus и не пашит все проверил перепаивал все по несколько раз и нифига. начал копать дальше. пока светик не подключил даже не думал что МК работает не верно)))
Землю на конденсаторы кварца И ногу МК, что "рядом" требуют заводить отдельно
Кто требует?
Микрочиповская аппнота, аппнота от TI, ещё одна аппнота от TI (рисунок 12 на стр. 9 очень хорош!), журнал схемотехника (стр.22, рисунок 7 справа, ну и текст там рядом) - все дружно говорят, что конденсаторы должны быть соединены с земляным пином МК напрямую, как можно более короткой дорожкой.
Опять не твоя тема? Да, когда ж твоя-то будет?
Решил проблему.
Рад, что Вам помогло.
Иногда вот такие простейшие вещи ... Я тут, блин, вчера охреневал почему сигнал не читается - измеряю непосредственно на ноге - есть сигнал, а программа его в упор не видит. Всё перерыл, уж думал пин накрылся, но нет - простейший тест на нём работает. Четыре часа траха и пропущенный хоккейный матч ... в итоге ... итить твою налево ... я на этом пине (как и на остальных) при общей инициализации цифровой буфер прихлопываю, чтобы батарею не жрал :(
UPD: во, блин, какой клондайк материалов по помехоустойчивости! Скачал! Спасибо!
Решил проблему.
Рад, что Вам помогло.
Иногда вот такие простейшие вещи ... Я тут, блин, вчера охреневал почему сигнал не читается - измеряю непосредственно на ноге - есть сигнал, а программа его в упор не видит. Всё перерыл, уж думал пин накрылся, но нет - простейший тест на нём работает. Четыре часа траха и пропущенный хоккейный матч ... в итоге ... итить твою налево ... я на этом пине (как и на остальных) при общей инициализации цифровой буфер прихлопываю, чтобы батарею не жрал :(
UPD: во, блин, какой клондайк материалов по помехоустойчивости! Скачал! Спасибо!
столько раз уже себя подтверждало правило "если что то не работает,а должно - ищи проблему в инициализации" )
ЕвгенийП, Если уж чистишь посты, то чисть как следует. Убери хамское вступление и завершение. Оставь только содержательную часть. Тоже мне "модератор".
Я ничего в этой теме не чистил. Так что, вопрос не по адресу.
Я ничего в этой теме не чистил. Так что, вопрос не по адресу.
Фигово быть в чужой шкуре, правда, ЕвгенийП?
Удалял тут ты, сразу после написания своего поста.
Архат, повторяю Вам ещё раз, я ничего в этой теме не удалял. И считаю этот вопрос закрытым.
ЕвгенийП не при чём, это я скрыл посты как спам, ибо спамом и являются. Подрорбно ответил ТУТ. Если администратор Александр посчитает по-иному, так тому и быть.
Повторяю свои извинения к ЕвгениюП. Можно было снести пост от ворот и вернуть ссылки в цитате своего поста. Сейчас пусть остается как есть, до решения Александром.