всем добрый день.сразу оговорюсь,с микроконтроллерами я имею дело чуть более 10 дней как.описываю по порядку: есть задача МК должен менять вольтаж через ШИМ в соответствии со значениями абсолютного энкодера.задача эта давно всплыла,и когда-то один мой знакомый мне начинал помогать в её реализации.успел нарисовать мне схему,сказать через что прошивать и +\- на этом наши пути разошлись.теперь я решил закрыть задачу,и сел 1 января разбираться в этой сфере.итак,что имею на сегодняшний день: общая схема дополнена резистором к каждой ноге,связанной с энкодером,и связана через общий плюс,как того требует даташит на энкодер
проект в Proteus
тут вместо энкодера 8-пиновый переключатель,что по моей идее для отладки хватит,мне только менять состояние пинов и смотреть на показания ШИМ
код писал в microchip studio.собственно был написан уже и обработчик значения пинов,и работа с ШИМ,осталось только написать зависимость значения ШИМ от значения пинов.на работе с ШИМ я подвис на пару дней,пока пытался понять что как работает.но написал,в протеусе работало,включая простейший диммер,если его так можно назвать,ибо я не завязывал там лампочку,а смотрел по осциллографу. и вот решил я что пора проверить в реальном железе.прошил на реальном com порту через uniprof (шьётся нормально,потом читается из МК-всё на месте)и....ничего.после серии экспериментов по уменьшению кода программы я пришёл к совсем минималлистичному варианту
>> шьётся нормально,потом читается из МК-всё на месте >> 1)или нельзя пытаться запускать МК не вытащив его из обвязки для прошивки;2)или ему кабзда;3)или я что-то упустил
если микроконтроллер нормально прошивается и читается, то он живой. второй вариант отпадает.
sanitar_zaz, У вас, судя по рисунку монтажа, вход !RESET (вывод 1) МК подтянут через резистор 1к с общему проводу GND, а должен быть подтянут через резистор ~10к к +5В. Так же, к входу !RESET приделан ещё какой-то резистор на 1к с неизвестным мне назначением. Наличие конденсаторов 0,1 мкФ между 7 и 8 выводами и между 20 и 22 выводами МК обязательно. Разбирайтесь с монтажом.
_________________ Относись к людям так, как хочешь, чтобы они относились к тебе.
Последний раз редактировалось Нефертити Вс янв 14, 2024 01:21:08, всего редактировалось 1 раз.
Можете попробовать сигнал !RESET через переключатель подключать в одном положении для прошивки МК - к обвязке программатора, в другом положении для запуска прошивки - через резистор 10к к линии +5В.
_________________ Относись к людям так, как хочешь, чтобы они относились к тебе.
Последний раз редактировалось Нефертити Вс янв 14, 2024 01:21:21, всего редактировалось 1 раз.
Нефертити, а поясните пожалуйста,зачем для запуска подвязывать ресет на плюс?разве не достаточно его в воздухе оставить?я побегал по инету,посмотрел схемы-если я правильно понял то для запуска вообще достаточно подать + и - на соответствующие ноги.или я ошибаюсь?
Заголовок сообщения: Re: Atmega8A не стартует или я туплю?
Добавлено: Сб янв 13, 2024 20:13:58
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4468 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
RESET подтянут к плюсу внутри чипа резистором с очень большим номиналом (50к или около того). Потому при наличии помех он будет спонтанно перезагружаться. Ставьте на RESET резистор на 5,1к к плюсу и одной проблемой меньше будет. Конденсаторы на 0,1мкф около ног питания тоже обязательны. Микроконтроллер выполнен по КМОП технологии, значит там внутри полно полумостовых каскадов со сквозными токами и паразитными емкостями. Когда все это клацает на тактовой частоте, просадки в цепях питания становятся дикими, хть и очень короткими. Внешние конденсаторы непосредственно на ногах питания МК нужны для компенсации просадок внутри него.
_________________ I am DX168B and this is my favourite forum on internet!
Последний раз редактировалось DX168B Сб янв 13, 2024 20:18:05, всего редактировалось 1 раз.
Нефертити, я побегал по инету,посмотрел схемы-если я правильно понял то для запуска вообще достаточно подать
Ну, раз Вы знаете внутреннюю организацию схемы "сброса" в ATmega8, значит, подтяжку !RESET к +5В не делайте.
Добавлено after 1 hour 37 minutes 49 seconds: Хочется дополнить. Вот, для STM32 в "Reference manual" есть упрощённая схема "External reset". Спойлер А для ATmega8 Вы что-то подобное видели? В противном случае, всё, что Вы увидели в интернете - лишь домыслы.
Конденсаторы на 0,1мкф около ног питания тоже обязательны
стоит,вон и на схеме есть,я только ёмкось не подписал
Пока вы запитываете свой МК от импульсного БП, в котором есть хотя-бы 1 CY конденсатор, которым вы привязываете свою схему к внешней среде, потенциал 0 вашей схемы будет близок к 0, простите за тавтологию. Как только вы перейдёте к автономному/изолированному питанию, все потенциалы начинают странным образом изменяться, и даже простое прикосновение к токоведущей дорожке платы вызывает непредвиденный эффект. Аналогично и с сигналом !RESET.
_________________ Относись к людям так, как хочешь, чтобы они относились к тебе.
может тут без меги, простым параллельным ЦАПом обойтись проще?
А по ресету - тоже в воздухе по неопытности оставлял, теперь притягиваю... т.к. срабатывает и от наводок и от сырости
_________________ Для тех, кто не учил магию мир полон физики Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
почему не зависимо от того,есть питание на ноге PB0 или нет-всегда выполняется условие OCR1A=0x7D0; ? что в протеусе,что в реальном железе подаёт питание на выход PB1 если проверять условие if (PINB & (1 << PINB0)) и на условие else никогда не реагирует(если поменять местами 0х00 и 0x7D0 то соответственно всегда будет 0 на выходе) зы:если закоментить строку OCR1A=0x7D0; то питание с ноги PB1 пропадает,т.е. дело в проверке условия (PINB & (1 << PINB0)) и да,изменение записи на (!bit_is_clear(PINB,0)) не меняет ничего
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 32
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения