Атмега 8
- Войдите на сайт для отправки комментариев
Вс, 10/02/2013 - 13:53
Привет всем подскажите пожалуйста я уже замучился не как не магу прошить микросхему что бы она работала как ардуино.
Собрал плату с 3 попытки на АТМЕГА-8 корявенько получилось но я в этом не спец
И не как не пойму как её прашивать
с помощью
CodeVisionAVR программатор у меня MP9011
Нужно прописать фьюз и ещё что то ,куча примеров в инете но с внутренним генераторам да и не совсем понятны некоторые вещи, подскажите пожалуйста по шагово как за программировать уже неделю безрезультатна пытаюсь прошить
Пытался вот так ну что же я не так делаю
Выбираем адаптер MP9011
Загружаем папку
sketch_feb10a.pde_cbf
Ставим фьюз
пишет
Пытаюсь с помощью программы ардуино

Ну в чём проблема подскажите что я делаю не так
Схему того что вы спаяли выложите сюда.
Схему того что вы спаяли выложите сюда.
вот
Спаял программатор по этой схеме пошли какие та шивиления в СodeVision
Что то прошивается, после прошивки включил в usb определил как неизвестное устройства
Загрузил папку ATmegaBOOT загрузка прошла, нажимаешь на атмеге8 ресет
Мигает светодиод 8 раз, usb как неизвестный устанавливаешь драйвер не хочет ставится , в чём может быть проблема, наверно фьюз неверно пишу?
Блин нашел касяк забыл сопротивления между rxd и txd напрямую дорожки сделал наверно чё нибудь вышибло?
Он определился как неизвестное устройства USB\ROOT_HUB\4&26397AB7&0
У вас на плате, которую спаяли, установлена микросхема FT232RL. Это и есть готовый программатор, другие программаторы использовать не надо.
Вчера поковырялся немного, получилось залить в мегу8 ардуиновский бутлоадер. Опишу как это делать.
Стандартное предупреждение: все ниже перечисленное вы делаете на свой страх и риск и т.д. и т.п.
Вставляем мегу8 в которую хотим залить бутлоадер (bit вам ничего вставлять не надо, у вас уже все впаяно).
Разъем Х3 подключаем напрямую к пинам ардуины следующим образом: 1-ый контакт разъема Х3 подключаем к 12 пину ардуины, 2-ой контакт к 13 пину, 3-й к 11 пину, 4-ый контакт не трогаем.
Все, теперь можно заливать в МК прошивку (НЕХ-файл) напрямую, при помощи программы AVRDUDE.
Для начала прошьем новые FUSE биты. Скачиваем и распаковываем архив http://yadi.sk/d/D6Dk7O3e2WaWg.
Подключаем ардуину к USB порту.
Жмем резет на ардуине и не отпуская запускаем из архива файл EXTERNAL_16_MHz.bat. Если все подключено правильно должно появится вот такое окно:
Отпускаем резет, жмем любую клавишу или закрываем окно. Запустив этот файл мы настроили мегу8 на работу с внешним кварцем 16 МГц.
Учтите что кварц должен быть уже подключен иначе дальше МК без него работать не будет.
FUSE биты установлены теперь зальем бутлоадер, опять жмем резет и не отпуская запускаем файл OPTIBOOT_ATMEGA8.bat.
Появится вот такое окно:
В этот раз заливаться будет подольше. Резет держим пока не попросит нажать любую клавишу, потом резет отпускаем, окно закрываем. Бутлоадер залит.
Ну вот почти все. Осталось внести изменения в файл boards.txt (оригинальный файл на всякий случай где нибудь сохраните). Так как у меня установлено IDE arduino-22 то у меня он находится в D:\arduino-0022\hardware\arduino.
Находим в этом файле две строчки:
atmega8.upload.maximum_size=7168
atmega8.upload.speed=19200
и меняем их на
atmega8.upload.maximum_size=7680
atmega8.upload.speed=115200
Все готово, сдергиваем провода, отключаем ардуину от USB порта и через три секунды включаем обратно, перезапускаем arduino IDE, в настройках выбираем плату ATmega8 и пробуем залить тестовый блинк.
Если нужно использовать мегу8 на внутреннем генераторе на 8 МГц тогда делаем все выше перечисленное, но вместо файла EXTERNAL_16_MHz.bat запускаем файл INTERNAL_8_MHz.bat и в файле boards.txt меняем три строчки
atmega8.upload.maximum_size=7168
atmega8.upload.speed=19200
atmega8.build.f_cpu=16000000L
на
atmega8.upload.maximum_size=7680
atmega8.upload.speed=57600
atmega8.build.f_cpu=8000000L
Спасибо большое сейчас буду пробовать.
Кидаю перемычки с Х3 на 13.12.11 запускаем архив EXTERNAL_16_MHz.bat отпускаем ресет , не каких движений не происходит, беру плату ардуино 1280 контроллер там умер я его выпаял, подключаем проводки к разьёму Х3 и кидаем на самодельного ардуино к выводам 13.12.11 запускаем архив EXTERNAL_16_MHz.bat отпускаем ресет
пишит
Может это из за того что контроллер не пустой ну те мои не удачные попытки прошить через LTP поскольку когда падаёшь питания на ардуино то светодиод мигает 8 раз
Чего та я совсем запутался
>>запускаем архив EXTERNAL_16_MHz.bat отпускаем ресет , не каких движений не происходит
Надо сначала зажать резет, потом запустить EXTERNAL_16_MHz.bat, когда попросит нажать любую клавишу отпустить резет.
Вы так делаете?
ресет как то не корректно срабатывает и вот что он выдаёт
Походу у кнопки резет контакт плохой, попробуйте заменить на другую. Или вместо нее, на время программирования, впаяйте перемычку, после программирования отпаяйте.
Не получается
Не пойму я на вашу схему посмотрел у вас C13 100n стоит, а у меня R3 100_NM почему такая разница из за этого может не работать.?
Вроде прошил, когда USB подключаешь светодиод померцает и перестаёт, и когда скеч отправляешь он начинает мерцать а патом выдаёт ошибку
Ну где у меня снова косяк
Фаил в boards прописал, и не понятно в диспетчере устройств ардуино должен как то определится как ардуино у меня написано USB Serial Converter
Походу дела накрылась ft232 запускаю тестилку диоды не мигают
http://my-mk.16mb.com/%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%B8%D1%82%D1%8C-%D0%B0%D0%B4%D0%B0%D0%BF%D1%82%D0%B5%D1%80-usb-uart-%D0%BD%D0%B0-ft232r/
Проверьте FT232RL по другому. Закорачиваете между собой пины ардуины 0 и 1 (RX и ТХ), открываете штатный ардуиновский serial monitor, пишите что-нибудь в нем (на английском) и нажимаейте send. Если все спаяно правильно и микросхема рабочая тогда, то что вы написали сразу же придет вам обратно, светодиоды на прием/передачу моргнут при этом.
проверил всё приходит что пишешь и светодиоды моргают
заново всё пере прошил и всё бесполезно ну что за червяк там залез?
В сообщении №21 на скриншоте написано: размер скетча 826 байт из 7168 максимальных, а должно быть 7680 максимальных байт.
Вы точно правильно строчку atmega8.upload.maximum_size=7168 на atmega8.upload.maximum_size=7680 поменяли?
У вас версия IDE какая?
0021
##############################################################
atmega8.name=Arduino NG or older w/ ATmega8
atmega8.upload.protocol=stk500
atmega8.upload.maximum_size=7680
atmega8.upload.speed=115200
atmega8.bootloader.low_fuses=0xdf
atmega8.bootloader.high_fuses=0xca
atmega8.bootloader.path=atmega8
atmega8.bootloader.file=ATmegaBOOT.hex
atmega8.bootloader.unlock_bits=0x3F
atmega8.bootloader.lock_bits=0x0F
atmega8.build.mcu=atmega8
atmega8.build.f_cpu=16000000L
atmega8.build.core=arduino
вот
что ещё можно проверить?
Спасибо за помощь всё получилось, косяк в схеме был вместо сопротивления надо было кондей поставить видимо на дип корпус схема этим сопротивлением только отличается
Подскажите пожалуйста как закрутит цикл вскопках
скажем так если отправили символ 2 то действия вскопках закручивается по кругу
отправляем символ 1 то соответственно действие переходит и то же по кругу
#define DS 11
#define SHCP 12
#define STCP 8
int val;
void setup()
{
pinMode(DS,OUTPUT);
pinMode(SHCP,OUTPUT);
pinMode(STCP,OUTPUT);
Serial.begin(9600);
}
void loop()
{
if (Serial.available()) { // принимаем Serial Mon
val = Serial.read();
if (val == '1') { // если есть символ 1 то делаем действие вскопках
shiftOut(DS,SHCP,LSBFIRST,B00100001); // отправляем биты на регистр сдвига
shiftOut(DS,SHCP,LSBFIRST,B01000000);
digitalWrite(STCP,HIGH);
digitalWrite(STCP,LOW);
}
if (val == '2') { // если есть символ 2 то делаем действия вскопках
shiftOut(DS,SHCP,LSBFIRST,B01011011);
shiftOut(DS,SHCP,LSBFIRST,B01000000);
digitalWrite(STCP,HIGH);
digitalWrite(STCP,LOW);
shiftOut(DS,SHCP,LSBFIRST,B01011011);
shiftOut(DS,SHCP,LSBFIRST,B00100000);
digitalWrite(STCP,HIGH);
digitalWrite(STCP,LOW);
}
}
}
Подскажите пожалуйста как закрутит цикл вскопках
скажем так если отправили символ 2 то действия вскопках if закручивается по кругу
отправляем символ 1 то соответственно действие if переходит и то же по кругу
Если делаем так while то при отправки символ 2 действия закручивается по кругу и когда отправляешь символ 1 не перехода нет
В каких фскопках вы хотите закручивать и что именно закручивать?
Правильно я понял или нет, не знаю, предполагаю, что в 24 строке нужно поставить }, а в 25-й строке {. И закрутит так, что не остановишь :) Строки 24 и 25 искать в сообщении номер #35 они там пустые.
Стоят два сдвиг регистра подключены последовательно, и к ним подключены два семи сиг. диспл.
Когда нужно вывести две цифры одновременно то есть скажем 22 то нужно цикл if (val == '2') { повторять по кругу чтобы они светились обе одновременно
А в этом коде происходит так когда подаёшь символ 2 в сер. То горит только одн
Спасибо всё закрутилась с вашей помощью
Доброго дня всем подскажите пожалуйста , а в этом коде закрутить цикл в строке 48 -59?
Подскажите пожалуйста где взять архив ардуино омега 168ра AVRDUDE.
Подскажите пожалуйста где взять архив ардуино омега 168ра AVRDUDE.
Ничего не понятно что вы хотите. Что за архив? Вам загрузчик что-ли ардуиновский нужен для АTmega168ра?
Ну такую же программу которую вы мне давали на атмегу 8 (скетч не в лазит мало место собрал плату на атмега 168 и нужен загрузчик)
Только сейчас нужно на атмега 168
Если у вас есть скиньте пожалуйста
http://yadi.sk/d/agkSYOEB2cKX8 распаковать в папку с avrdude.exe. Но, этот загрузчик я не проверял, не на чем. Так что фиг знает будет работать или нет. В IDE в настройках выбрать плату Arduino Diecimila, Duemilanove, or Nano w/ ATmega168.
Спасибо буду пробовать
Привет попробовал не прошивается не какой реакции сразу просит нажать любую клавишу, а когда запускаешь на отмегу 8 то проходит проверка 100% , а патом ругается что это не отмега 8
Никакой реакции при прошивке фъюзов или загрузчика? Сигнатура МК определяется?
Скриншоты выложите сюда на фъюзы и на загрузчик.
Привет вот пытался зашить но не получилось вот что пишет
А это я от атмега 8 попробовал прошить шить начинает но поскольку прошивки от атмега 8 он ругается
Ну так по ходу в папке ATmega168 нет файла avrdude.exe, зато он есть в папке Atmega8 вот поэтому оттуда и запускается. Я же писал распаковать в папку с avrdude.exe (у вас это Atmega8 получается). Или копируйте из папки Atmega8 в папку ATmega168 файлы avrdude.exe, avrdude.conf и ftd2xx.dll и пробуйте еще раз.