zepete: (Default)
[personal profile] zepete

Плата без usb практически бесполезна, ибо для программирования через последовательный интерфейс требуется последовательный порт с уровнями ТТЛ и выводом DTR, что найти практически невозможно: в преобразователях с usb его не выводят, а в преобразователях rs232->ttl этот вывод используется для питания преобразователя.

Еще, если некоторые выводы используются как вход и выход, то arduino может отказаться перепрошиваться. Тогда понадобиться ISP программатор, но купленный на алибабе usb программатор может оказаться без прошивки. Тогда придется сначала прошивать этот программатор через lpt порт компьютера через 5 проводов.

Необходимые части.
1. Компьютер под управлением win32.
2. Встроенная плата lpt.
3. Разъем DB-25-male.
4. 10 проводов "1p to 1p female to female jumper wire Dupont cable".
5. Жесткий, неизолированный, провод, толщиной в 0.6мм.
6. Удлинитель usb.
7. Плата USBASP.
8. Паяльник.
9. припой.
10. Канифоль.
11. Программы: AvReAl32, DLPortIO.
12. Прошивка usbasp.

Процесс программирования usbasp.
1. Сделать программатор "пять проводков" из 3 проводов "1p to 1p female to female jumper wire Dupont cable" и разъема DB-25-male:
-вывод 2 соединить с 12;
-вывод 3 соединить с 11;
-выводы 18-25 соединить вместе;
-припаять половину "1p to 1p female to female jumper wire Dupont cable" к выводам: 6, 7, 9, 10.

2. На плате usbasp найти резистор подключенный к выводу reset микроконтроллера. Если это микросхема atmega8a в квадратном корпусе, то это будет вывод 29.

3. Припаять к этому резистору жесткий провод подходящей толщины, что бы в него можно было воткнуть
"1p to 1p female to female jumper wire Dupont cable".

4. Соединить "пять проводков" с платой usbasp.
Разъем на плате usbasp.

Как соединить.

контакт db5контакт usbaspназвание
67SCK
71MOSI
9припаянный жесткий провод к резисторуRESET
109MISO
18-2510GND 


5. Вставить удлинитель usb в другой конец usbasp.

6. Воткнуть удлинитель usb и db-25 в компьютер.

7. Установить dlportio.

8. Выполнить команду для стирания микросхемы "avreal32.exe -pEC00 +MEGA8 -as -5 -e", где:
"-pEC00" - базовый адрес lpt порта, берется из диспетчера устройств;
"+MEGA8" - тип микросхемы на usbasp;
"-as" - программатор "мять проводков";
"-5" - задержка программирования;
"-e" - команда стирания.

9. Выполнить команду программирования "avreal32.exe -pEC00 +MEGA8 -as -5 -w -c code.hexusbasp.atmega8.2011-05-28.hex -f_HIGH=C9,_LOW=EF", где:
"-w" - команда записи;
"-c code.hexusbasp.atmega8.2011-05-28.hex" - задание имени файла кода прошивки;
"-f_HIGH=C9,_LOW=EF" - задание "fuse bits".

10. Выполнить команду проверки чтения из usbasp "avreal32.exe -pEC00 +MEGA8 -as -5 -v -c code.hexusbasp.atmega8.2011-05-28.hex -f_HIGH=C9,_LOW=EF"., где "-v" означает проверку содержимого.
В выводе должно быть два слова passes.
Fuses:
  OSCCALs = BA B8 B2 B0
  _LOCK   = FF
    BLB1        = 3
    BLB0        = 3
  _LOW    = EF
    BODLEVEL    = 1
    BODEN       = 1
    SUT         = 2
    CKSEL       = F
  _HIGH   = C9
    RSTDISBL    = 1
    WDTON       = 1
    CKOPT       = 0
    EESAVE      = 1
    BOOTSZ      = 0
    BOOTRST     = 1
Verifying CODE memory
Verfiy     [**************************************************]
           done (1.20s)
 passed
Verifying fuses
passed
Total time 1.34s
Если этого нет, то повторить с 9 пункта.

Profile

zepete: (Default)
zepete

January 2026

S M T W T F S
    1 23
4 56 78910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 14th, 2026 07:15 am
Powered by Dreamwidth Studios