Новичок
Регистрация: 18.06.2013
Сообщений: 60
Репутация: 10
|
Добрый вечер уважаемые радиолюбители...помогите пожалуйста завести Мегу168/328 от 3,3 вольт...заранее благодарю
|
||
Оценка
|
Знаток
Регистрация: 15.02.2009
Адрес: Бельцы Молдова
Сообщений: 657
Репутация: 145
|
__________________
Да здравствует то, благодаря чему, мы не смотря ни на что. |
||
Оценка
|
Новичок
Регистрация: 18.06.2013
Сообщений: 60
Репутация: 10
|
Цитата:
|
||
Оценка
|
Специалист
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
|
Agoist, ну что ж так не заладилась у Вас дружба с Atmega…
То bootloader не работает, то генератор не стартует… Давайте по порядку, со всеми «грязными» подробностями. 1. Самое главное для начала – схема включения контроллера вне Arduino платы. Авось забыли подать питание на AVCC? 2. Скриншот считанных Вашей программой фьюзов. 3. Порядок действий при программировании и хотя бы блочно исходный код не работающей прошивки. |
||
Оценка
|
Новичок
Регистрация: 18.06.2013
Сообщений: 60
Репутация: 10
|
Цитата:
Бутлоадер я в итоге одалел, а вот с питанием меги....пока борюсь.)как только доберусь до компьютера, сразу скину всё необходимое. Спасибо, что откликнулись!) |
||
Оценка
|
Новичок
Регистрация: 18.06.2013
Сообщений: 60
Репутация: 10
|
Цитата:
А прошиваю следующим образом: вытаскиваю рабочий Atmega 328P-PU из Arduino UNO вставляю в программатор,через Sinaprog считываю фьюзы,затем устанавливаю и для работы от внутренней RC 8МГц и работу от 2,7 В. и заливаю во flash память скомпилированный HEX с моим кодом(но тот же код с МК в ардуинке работа исправно.) Самое интересное, что когда заливаю HEX стандартного Blink таким же образом, то все нормально работает. |
||
Оценка
|
Специалист
|
Нет такого в AVR... То что вы называете "настраиваю на работу от 2.7 В" реально называется Brown-out Detector Level (Fuse-биты BODLEVEL) - а это встроенный детектор пониженного напряжения питания, и настраиваете вы этими Fuse-битами уровень напряжения, когда он должен сработать (формируется внутренний сигнал сброса).
Изучайте даташит на микроконтроллер, там много полезной информации...
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота. |
||
Оценка
|
Специалист
Регистрация: 22.09.2010
Адрес: г. Донецк
Сообщений: 873
Репутация: 381
|
Не стоит придираться к словам. Ведь с позиций диалектики всё, что находится в состоянии сброса, не работает :-)
На фотографии вижу подтяжку Reset МК к питанию – правильно. Прямо на 14 выводе (PB0) светодиод – неправильно ("допустимо"). Не жалейте резистор. Ножки 20 и 22 висят в воздухе. Так делать не стоит. Даже если не используете периферию, питающуюся от AVCC (в основном АЦП), ножки стоит соединить с GND и VCC. Если этого не делать, могут возникать проблемы со срывом частоты тактового генератора, в общем проблемы с запуском МК вследствие влияния как раз внутренней периферии, оказавшейся запитанной "паразитно" от штатных выводов цифрового питания VCC и GND (7, 8). В двух словах: если выводы (20, 22) в воздухе – между двумя "частями" VCC-AVCC внутренней схемы МК "возникает" виртуальный диод, начинающий пропускать паразитный ток. Эти выводы, вообще говоря, дают возможность подфильтровать питание всего аналогового в МК, что увеличивает точность и стабильность работы АЦП. Так или иначе, запитайте их. Это следует делать и при программировании. Если Ваш Blink работает без AVCC от 5В в плате UNO, он может не работать от 3В на макетке. И даже если Blink работает от 3В на макетке, не факт что МК с другим кодом поведёт себя так же. С фьюзами вроде всё нормально: BODLEVEL2:0=101=2.7В, выставлен как и говорите. Делитель тактовой частоты внутреннего генератора на 8, получается 1 МГц. Должно работать. Но лучше поставьте кварц. RX/TX контроллера и модуля XBee-Pro соединены правильно. Несколько советов: не пожалейте пару конденсаторов на макетке по питанию, даже если используете аккумулятор. Скажем, 100 мкф электролит + 100 нф керамика поближе к МК. То же рядом c ZigBee. Со светодиодами ставьте последовательно резистор везде. Более того, берите сверхяркие светодиоды, чтобы сэкономить ресурс аккумлятора в реальном устройстве. Когда пишите код, отправляющий данные по UART, "повесьте" на светодиоды режимов "Приём/Передача" таймер, чтобы светодиоды подмигивали на каждой посылке и Вы были уверены, что данные передаются. Выделить для этого пару ножек на МК незатруднительно. Или как угодно, но чтобы Вы видели, что передача идёт. Это облегчает отладку. И используйте внешний кварц.
Последний раз редактировалось antonydublin; 19.03.2014 в 03:01.
|
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |