Каталог статей

Главная » Все схемы » Схемы для начинающих » Конструкции простой сложности

Выбранная схема!!!


6446
Начинающим, способы запрограммировать ATtiny13.


Всё началось с микросхемы ATtiny13, очень захотелось её освоить и самостоятельно запрограммировать собственноручно написанной программой. В статье будут упомянуты разные способы оживить ATtiny13.

Речь пойдёт о моём начинающем освоении программировании микроконтроллеров, в первый раз всё таки, статья написана только для новичков! Опытных программистов прошу меня не ругать, а делать комментарии и пояснения к моим ошибкам. Тут будут все мои неудачи и исправления их, которые я совершил в программировании. Все фото и файлы взяты из интернета, прошу проверять всё на зловредный код. Все платы и микросхемы были заказаны с Алиэкспресс, куда ж без него то. И самое главное: работать будем только с портами USB, в Windows XP3.


Способ №1

Программируем микросхему ATtiny13 с помощью Arduino UNO.

Пробуем запрограммировать Arduino UNO R3 CH340G

С начало устанавливаем программу Arduino ID v1.8.9, или любую другую версию.

Затем устанавливаем драйвер CH341SER для Arduino UNO
 

Настройки программы Arduino ID v1.8.9

Инструменты -->> Плата -->> "Arduino/Genuino UNO"
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "AVRISP mkll"

Файл -->> новый -->> и вставляем код ниже.

void setup() { 
               
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
  pinMode(13, OUTPUT);
}
void loop() {
  digitalWrite(0, HIGH);
  delay(500);
  digitalWrite(1, HIGH);
  delay(500);
  digitalWrite(13, HIGH);
  delay(500);
  digitalWrite(0, LOW);
  delay(500);
  digitalWrite(1, LOW);
  delay(500);
  digitalWrite(13, LOW);
  delay(500);
}

Загрузка прошла без ошибок, в результате на плате Arduino UNO заработали 3 встроенные красных светодиода.
Как видим в плате присутствуют 13 выходов, если не ошибаюсь, подробнее в даташит, честное слово, я только мельком взглянул даташит, очень уж хотелось побыстрей начать программировать.
 


Прошивка микросхемы ATtiny13

Превращаем Arduino UNO в программатор.

  1. Запускаем Arduino ID v1.8.9, или любую другую версию.
  2. Убеждаемся, что:
    Инструменты => Плата => Arduino UNO,
    Инструменты => Потр => что-то там,
    Инструменты => Программатор => AVRISP mkll
  3. Открываем скетч программатора:
    Файл => Примеры => ArduinoISP
  4. Загружаем ArduinoISP в Arduino UNO.
  5. Всё!! Arduino UNO стал ISP программатором.

Пробовал сделать программатор в других версиях программы Arduino ID, результат действий.



Arduino_ID_v1.0.4

В версии Arduino_ID_v1.0.4 ArduinoISP отсутствует!!!
Нужно загрузить библиотеку ArduinoISP.



Arduino_ID_v1.0.5-r2

Файл -->> примеры -->> ArduinoISP
Инструменты -->> Плата -->> Arduino UNO
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "AVRISP mkll"

Версия ArduinoISP version 04m3, 23 July 2011 Randall Bohn

Ошибка при загрузке программы: avrdude: stk500_getsync(): not in sync: resp=0x00
Отключил всё от выходов и входов Arduino UNO, ошибка пропала, программа загрузилась хорошо.



Arduino_ID_v1.6.5-r5

Файл -->> образцы -->> ArduinoISP
Инструменты -->> Плата -->> "Arduino/Genuino UNO"
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "AVRISP mkll"

Версия ArduinoISP version 04m3, 23 July 2011 Randall Bohn

Загрузка прошла без ошибок.



Arduino_ID_v1.6.8

Файл -->> примеры -->> ArduinoISP
Инструменты -->> Плата -->> "Arduino/Genuino UNO"
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "AVRISP mkll"

Загрузка прошла без ошибок.



Arduino_ID_v1.8.5

Файл -->> примеры -->> ArduinoISP
Инструменты -->> Плата -->> "Arduino/Genuino UNO"
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "AVRISP mkll"

Выскочила красная надпись:
Archiving built core (caching) in: C:\DOCUME~1\23A4~1\LOCALS~1\Temp\
Но это не ошибка, а информационное сообщение "Сохранение скомпилированного ядра (кэширование) в....(здесь директория)



Arduino_ID_v1.8.8

Файл -->> примеры -->> ArduinoISP
Инструменты -->> Плата -->> "Arduino/Genuino UNO"
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "AVRISP mkll"

Загрузка прошла без ошибок.


Пробуем прошить ATtiny13

Микросхему ATtiny13 подключаем вот по такой схеме к Arduino UNO


Программа Arduino_ID_v1.8.9
Программатор Arduino UNO

Файл -->> Настройки -->> Дополнительные ссылки для менеджера плат:
Вставляем в поле ссылку ниже.
https://raw.githubusercontent.com/sleemanj/optiboot/master/dists/package_gogo_diy_attiny_index.jso n
Нажать кнопку "ОК"

Инструменты -->> Плата -->> Менеджер плат -->>
И в самом низу листа выбрал:

DIY ATtiny by James Sleeman, http://spat4cs.gogo.co.nz/ версия 2018.9.9
Платы в данном пакете:
ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny13, ATtiny24, ATtiny44, ATtiny84, ATtiny25, ATtiny45, ATtiny85, and variants thereof

Платы загрузились с интернета в папку:
C:\Documents and Settings\пользователь\Local Settings\Application Data\Arduino15

Если что, то папку с платами ATtiny13 можно распаковать туда же, без установки, все платы будут работать так-же, архив лежит ниже по ссылке.
Разные версии cores13, для прошивки микросхемы ATtiny13 и не только.

Настройки для ATtiny13:

Инструменты -->> Плата: ATtiny13
Инструменты -->> Processor Version: "ATtiny13a"
Инструменты -->> Порт: "ваш порт"
Инструменты -->> Программатор: "Arduino as ISP"

Загрузил пробный скетч:


int led = 4;
void setup() {
 pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
delay(5);
digitalWrite(led, LOW);
delay(5); // wait for a second
}


Такой скетч тоже работает:


void setup() {
pinMode(4, OUTPUT);
}
void loop() {
digitalWrite(4, HIGH);
delay(555);
digitalWrite(4, LOW);
delay(555);
}


Загрузка прошла сразу и без ошибок.



Что же среда делает при нажатии на кнопку «Записать загрузчик»?

Arduino IDE в данном случае просто выставляет нужные фьюзы микроконтроллера.
К примеру, мне нужно, чтобы ATtiny13 работал на частоте в 4.8 мГц, я выбираю нужную мне частоту и только один раз жму кнопку «Записать загрузчик» — всё. Теперь микроконтроллер будет всегда работать на заданной частоте, если будет нужно изменить частоту опять — проделываем описанную выше процедуру.

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


Прошиваем ATtiny13 с помощью программатора USBASP


Подключаем ATtiny13 к программатору вот по такой схеме.


Настройки для прошивки ATtiny13 программатором USBASP в программе Arduino ID v1.8.9

Инструменты -->> Плата: ATtiny13
Инструменты -->> Порт: "COM3"
Инструменты -->> Программатор: "USBasp"

Все версии программы Arduino ID успешно прошивают ATtiny13, при установке нужных библиотек в программу Arduino ID,
в нашем случае для ATtiny13.
Однако нужно помнить, что должны быть установлены свежие драйверы для программатора USBASP
А если программатор новый(только пришёл с али), то нужно его ещё прошить новой прошивкой для корректной работы.
Прошивка находится в архиве, имя usbasp.atmega8.2011-05-28.hex
Если хотите знать как обновить прошивку USBasp, пишите в комментариях, добавлю по мере возможности.

Не забываем ещё про перемычку в программаторе USBasp.
Перемычка JP1: питание программируемой микросхемы.
Перемычка JP3: Обязательно поставить, с этой перемычкой работают частоты - 9.6/4.3/1.2/

скриншот настроек в программе Arduino ID.


Без всего этого удачных прошивок может и не быть.


Прошиваем ATtiny13 с помощью программы SinaProg v2.1.1.Rus

Программатор USBASP.
Перемычка JP3: Обязательно поставить.
Скриншот настроек программы.
Фьюзы ни какие не трогаем, всё по умолчанию
Прекрасно зашиваются файлы *.hex


Прошиваем ATtiny13 с помощью программы AVRDude Prog v3.3

Программатор USBASP.
Перемычка JP3: Обязательно поставить.
Скриншот настроек программы.
Фьюзы ни какие не трогаем, всё по умолчанию
Прекрасно зашиваются файлы *.hex



Ну и фото, где какие перемычки находятся.

------------------------------------------------------------------------------

Осталось за малым, изучить по возможности код программирования :)



Категория: Конструкции простой сложности | Добавил: Cosmogor (01.04.2019) | Автор: Cosmogor
Просмотров: 21031 | Комментарии: 7 | Теги: начинающим, Запрограммировать, attiny13, USBASP – ISP программатор для AVR., Arduino UNO, способы, Arduino ID, прошить ATtiny13 | Рейтинг: 5.0/7


Всего комментариев: 7
0
7 Busellat   (21.03.2021 18:30) [Материал]
Спасибо, познавательно!

Пожалуйста остав

0
6 Владимир   (04.02.2021 21:48) [Материал]
Спасибо большое!!! Все подробно и познавательно. Удачи и успеха в Вашей работе. Берегите себя. Не болейте. С уважением Владимир.

Пожалуйста остав

0
5 Rash   (30.11.2019 09:44) [Материал]
Спасибо! Попробуем как раз ардуинка завалялась))

Пожалуйста остав

0
4 hitelekt77   (26.06.2019 09:29) [Материал]
Это что, чтобы прошить тиньку нужно сначала купить ардуино? USBASP копеечным и так все шьется.

Пожалуйста остав

0
3 ROSKA63   (19.05.2019 11:28) [Материал]
От души большое Человеческое Спасибо! Для особо одаренных чайников (таких как я), то, что надо.

Пожалуйста остав

0
2 Cosmogor   (02.05.2019 18:24) [Материал]
SieOK, пока нету у меня заблокированных контролёров, как будут то добавим к статье

Пожалуйста остав

0
1 SieOK   (02.05.2019 11:56) [Материал]
Спасибо огромное за такую ценную статью.
Вменяемо, конкретно, систематизировано все в одном
Еще бы к статье добавить так же системно собранные материалы по восстановлению фьюзов тини13, 2313 и меги8, цены бы не было.

Пожалуйста остав

Все ссылки на книги и журналы, представлены на этом сайте, исключительно для ознакомления, авторские права на эти публикации принадлежат авторам книг и издательствам журналов! Подробно тут!
Жалоба

ьте свои комментарии !!!!

Имя *:
Email:
Код *:

Copyright Zloy Soft (Company) © 2008 - 2024