Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73

Низкое напряжение на выводах микросхемы

17.02.2023, 07:31. Показов 3141. Ответов 41

Студворк — интернет-сервис помощи студентам
Напряжение питания от программатора около 3.3 В, напряжение на выходе с определённого момента стало около 1.7 В под нагрузкой диод + резистор и около 2.5 В без нагрузки. На сколько я знаю, напряжение на выходе должно быть равно примерно напряжению питания. В любом случае раньше диод светился ярко, а теперь очень тускло. Не пойму в чём может быть проблема.

Программатор - USBASP на Atmrga128(хотя на кристалле вроде написано Atmega8);
Микросхема - Atmega8535 на 40 выводов;
Для прошивки использую avrdude;
В качестве компилятора - avra.

Правда при прошивке получаю кучу уведомлений. Наверное в них проблема. Вот что выводится в консоли:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
[mike@fedora test 4]$ avrdude -p m8535 -c usbasp -U flash:w:test4.hex 
 
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: AVR device initialized and ready to accept instructions
 
Reading | ################################################## | 100% 0.00s
 
avrdude: Device signature = 0x1e9308 (probably m8535)
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: reading input file "test4.hex"
avrdude: input file test4.hex auto detected as Intel Hex
avrdude: writing flash (6 bytes):
 
Writing | ################################################## | 100% 0.05s
 
avrdude: 6 bytes of flash written
avrdude: verifying flash memory against test4.hex:
avrdude: load data flash data from input file test4.hex:
avrdude: input file test4.hex auto detected as Intel Hex
avrdude: input file test4.hex contains 6 bytes
avrdude: reading on-chip flash data:
 
Reading | ################################################## | 100% 0.03s
 
avrdude: verifying ...
avrdude: 6 bytes of flash verified
 
avrdude: safemode: lfuse changed! Was e1, and is now d0
Would you like this fuse to be changed back? [y/n] y
avrdude: safemode: and is now rescued
avrdude: safemode: hfuse changed! Was d9, and is now 0
Would you like this fuse to be changed back? [y/n] y
avrdude: safemode: and is now rescued
avrdude: safemode: Fuses OK (E:FF, H:00, L:D0)
 
avrdude done.  Thank you.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.02.2023, 07:31
Ответы с готовыми решениями:

Постоянное напряжение на выводах 2.3 Вольта
Прикупил себе LCD дисплей с модулем IIC. Пробовал на тестовой плате, работает. Вытравил собственную, не работает. Померил...

Низкое напряжение на ножке m328p
На ножке ATmego328p-PU низкое напряжение и диод подключенный к ножке даже напрямую светит тускло. Каюсь, когда первый раз подключал мк...

Низкое напряжение на линии порта
Прошил контроллер ADuC812 простейшей программой, к одному из выводов припаял светодиод и заставил его мигать. Проблема в следующем - мигает...

41
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
24.02.2023, 23:11
Студворк — интернет-сервис помощи студентам
Рассказываю свою историю с таким-же программатором
то прошивал то нет
надоел пришлось разбираться
выяснилось что питание от USB разведено было
USB +5v
стаб 3.3v
Vcc MK программатора
Резистор 5к Reset MK программатора
диод и на разъем подключаемого МК
соответственно когда подключал целевой МК для прошивки от ему не хватало тока со всеми вытекающими
так как от программатор служил источником питания для целевого устройства

если питать целевое устройство от своего источника то все ОК
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 16:33  [ТС]
COKPOWEHEU, код чем-от уже напоминает сишный. Вот только у меня почему-то всё равно выдаёт ошибки.
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[mike@fedora test 5]$ avr-as test5.asm
test5.asm: Assembler messages:
test5.asm:7: Error: `,' required
test5.asm:7: Error: constant value required
test5.asm:7: Error: garbage at end of line
test5.asm:9: Error: `,' required
test5.asm:9: Error: constant value required
test5.asm:9: Error: garbage at end of line
test5.asm:11: Error: `,' required
test5.asm:11: Error: constant value required
test5.asm:11: Error: garbage at end of line
test5.asm:13: Error: `,' required
test5.asm:13: Error: constant value required
test5.asm:13: Error: garbage at end of line
test5.asm:15: Error: `,' required
test5.asm:15: Error: constant value required
test5.asm:15: Error: garbage at end of line
Добавлено через 3 минуты
Nname100, то есть надо при прошивании питать не от программатора, а от другого источника питания? Там на программаторе есть какие-то перемычки, на сколько я понял, они отвечают за напряжение питания.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 16:36
да питать целевое устройство от своего источника если напряжения совпадают

перемычек на моем не было
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 16:44  [ТС]
Nname100,
Цитата Сообщение от Nname100 Посмотреть сообщение
да питать целевое устройство от своего источника если напряжения совпадают
Ну так это ещё надо напряжение чётко подобрать.
Цитата Сообщение от Nname100 Посмотреть сообщение
перемычек на моем не было
На моём есть, но я их не трогаю.
Миниатюры
Низкое напряжение на выводах микросхемы  
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 17:12
0 отключить целевое

1 замерить на на Vcc разъема программирования

2 подключить целевое и замерить еще раз

3 если обнаружится просадка напряжения то при прошивке 100% будут траблы

Добавлено через 9 минут
но есть вариант что коммутациями перемычек это проблема и решается

те питание может подаваться напрямую со стаба если 3,3 надо целевому
или с USB если 5v
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 17:12  [ТС]
Nname100, просадка 0.02 В. 3.32 против 3.30. Думаю, не критично. Может неточность мультиметра. Ещё только что заметил, что прибор не правильно измеряет, если перепутать полярность (то я имею в виду красный к земле, чёрный к Vcc). Получается 3.32 и -3.65.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 17:17
из документации

► JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
► JP2 — SERVICE, обновления прошивки USBasp.
► JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.

Добавлено через 3 минуты
Цитата Сообщение от Холодный ползун Посмотреть сообщение
Напряжение питания от программатора около 3.3 В, напряжение на выходе с определённого момента стало около 1.7 В
????
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 17:25  [ТС]
Nname100,
Цитата Сообщение от Nname100 Посмотреть сообщение
JP1 — POWER, управляет напряжением на разъеме ISP VCC (вывод 2), можно установить на + 3.3В, + 5В или вовсе убрать перемычку, если программируемое устройство, имеет собственный источник питания.
А, то есть её можно совсем убрать и подать любое напряжение из допустимого? Хотя в avrdude вроде есть какие-то опции, отвечающие за напряжение. Но надо почитать.
Цитата Сообщение от Nname100 Посмотреть сообщение
JP3 — SLOW, программирования на низких скоростях, если программируемое устройство, работает на частоте ниже 1.5 МГц, SCK (вывод 7) уменьшит частоту с 375 кГц до 8 кГц.
У меня там выводов нет, хотя дорожки какие-то идут. Не знаю, можно ли в принципе туда перемычку вставить. Но я чувствую, что оно пока мне не очень-то и надо.

Добавлено через 1 минуту
Цитата Сообщение от Nname100 Посмотреть сообщение
????
То у меня был затуп и я забыл установить регистр ddr.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 17:31
ну как я понял проблема с низким напряжением снята ????
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 17:38  [ТС]
Nname100, да. Теперь у меня проблема с умножением и компилятором avr-as. COKPOWEHEU скинул мне код, но у меня почему-то не компилируется. Хотя наверное надо было отдельную тему завести.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 17:47
ясно

по поводу умножения

1.заменить сложением

2 могу скинуть на ASM код (вставкой) можно сделать
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 17:57  [ТС]
Nname100,
Цитата Сообщение от Nname100 Посмотреть сообщение
1.заменить сложением
Это наверное не очень рационально, но если ничего другого не получится, то придётся.
Цитата Сообщение от Nname100 Посмотреть сообщение
2 могу скинуть на ASM код (вставкой) можно сделать
Ну давайте, посмотрю что там.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 18:06
1 результат какой может получится
8bit или больше

те больше 255 или нет

Добавлено через 1 минуту
2 МК какой
0
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 18:15  [ТС]
Nname100,
Цитата Сообщение от Nname100 Посмотреть сообщение
МК какой
Atmega8535
Цитата Сообщение от Nname100 Посмотреть сообщение
8bit или больше
В документации написано, что перемножается содержимое двух регистров и записывается в пару r1:r0. Так что наверное вариант когда больше 8 бит.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 18:34
решать тебе конечно но

но из личного опыта после того как АТМЕL стал microchip MUL Работает 50 на 50
те один мк все ок другой глюки
при одной и той же прошивке и целевой плате и косяк именно в MUL (может я такой везучий хз)

поэтому я применяю математику от AVR (там на все случаи жизни)
Вложения
Тип файла: pdf doc0936.pdf (226.1 Кб, 2 просмотров)
Тип файла: zip AVR200.zip (163.2 Кб, 2 просмотров)
1
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
25.02.2023, 20:48  [ТС]
Nname100,
Цитата Сообщение от Nname100 Посмотреть сообщение
MUL Работает 50 на 50
Хммм. Очень жаль. У меня тут проблемы уже даже с компилированием. Но спасибо.
0
21 / 20 / 1
Регистрация: 23.02.2023
Сообщений: 74
25.02.2023, 21:23
не за что
обращайся

Добавлено через 20 минут
out _SFR_IO_ADDR(SPL), r16

_SFR_IO_ADDR;что это

out _SFR_IO_ADDR(SPL), r16 ну и так с портами нельзя

тут либо реальный а не вычисляемый адрес надо

там где Ldi и Lo8

поставь реальные значения

0x18 0x6A 0x00 это 1600000

ldi 0x18,R18
ldi 0x6A,R17
ldi 0x0,R16

Добавлено через 4 минуты
out _SFR_IO_ADDR(SPL), r16

_SFR_IO_ADDR;что это

out _SFR_IO_ADDR(SPL), r16 ну и так с портами нельзя

тут либо реальный а не вычисляемый адрес надо

там где Ldi и Lo8

поставь реальные значения

0x18 0x6A 0x00 это 1600000
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,941
26.02.2023, 11:27
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
avr-gcc main.S -mmcu=atmega8535 -nostdlib -gdwarf-2
Цитата Сообщение от Холодный ползун Посмотреть сообщение
avr-as test5.asm
Ну да, для кого я писал строку компиляции...
Цитата Сообщение от Холодный ползун Посмотреть сообщение
test5.asm:7: Error: `,' required
Раз вы изменили код, так показывайте его. Как я могу гадать где у вас ошибка, не видя что именно вы изменили?
Цитата Сообщение от Холодный ползун Посмотреть сообщение
Nname100, то есть надо при прошивании питать не от программатора, а от другого источника питания?
Если мощность вашего устройства небольшая, то есть потребляемый ток меньше где-то 50 мА, можно и от программатора. Для отладочных плат этого более чем достаточно.
Цитата Сообщение от Холодный ползун Посмотреть сообщение
Ну так это ещё надо напряжение чётко подобрать.
Нет. Обычно вполне можно питать плату от 5 В, а программатор от 3.3, или наоборот. Резисторы на линиях именно для этого и ставят. Но лучше, конечно, когда питания совпадают.
Цитата Сообщение от Холодный ползун Посмотреть сообщение
Хотя в avrdude вроде есть какие-то опции, отвечающие за напряжение.
Далеко не всякий программатор физически на такое способен. Те же usbisp, avrdoper и другие примитивные неспособны.
Цитата Сообщение от Nname100 Посмотреть сообщение
По поводу умножения
1.заменить сложением
2 могу скинуть на ASM код (вставкой) можно сделать
Если камень поддерживает, то лучше использовать аппаратное. А у ТСа вроде как поддерживает. И совместимость с AT90S8535 ему не нужна.
Цитата Сообщение от Холодный ползун Посмотреть сообщение
В документации написано, что перемножается содержимое двух регистров и записывается в пару r1:r0. Так что наверное вариант когда больше 8 бит.
Ну так если вы умножаете 255 на 255, понятно что в один байт результат не влезет. Даже если 16 на 16, то не влезет.
Цитата Сообщение от Nname100 Посмотреть сообщение
_SFR_IO_ADDR;что это
В AVR к младшим регистрам ввода-вывода можно обращаться как через специальные функции in/out/sbi/..., так и через память ld/st/lds/... Вот макрос _SFR_IO_ADDR пересчитывает реальный адрес регистра в доступный для in/out. А макрос _SFR_MEM_ADDR соответственно в доступный для ld/st. Они объявлены в sfr_defs.h, там же пример использования:
Code
1
2
3
4
5
6
7
\code
#if _SFR_IO_REG_P(SPMCR)
    out _SFR_IO_ADDR(SPMCR), r24
#else
    sts _SFR_MEM_ADDR(SPMCR), r24
#endif
\endcode
Цитата Сообщение от Nname100 Посмотреть сообщение
out _SFR_IO_ADDR(SPL), r16 ну и так с портами нельзя
Нельзя использовать штатный способ?!
Цитата Сообщение от Nname100 Посмотреть сообщение
там где Ldi и Lo8
поставь реальные значения
Ну для проверки можно. Но постоянно пересчитывать адреса регистров руками это тот еще мазохизм.
2
3 / 3 / 0
Регистрация: 17.01.2019
Сообщений: 73
26.02.2023, 12:21  [ТС]
COKPOWEHEU,
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
avr-gcc main.S -mmcu=atmega8535 -nostdlib -gdwarf-2
Я что-то не обратил внимание на эту строку.
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
Раз вы изменили код, так показывайте его.
Я код не менял. Но только что попробовал скомпилировать с такими опциями:
avr-gcc test5.S -mmcu=atmega8535 -nostdlib -gdwarf-2
Компилятор не ругается, но получился .out файл, вместо .hex. Значит буду разобраться с этим компилятором.
0
 Аватар для COKPOWEHEU
4087 / 2685 / 432
Регистрация: 09.09.2017
Сообщений: 11,941
26.02.2023, 12:48
Цитата Сообщение от Холодный ползун Посмотреть сообщение
Компилятор не ругается, но получился .out файл, вместо .hex. Значит буду разобраться с этим компилятором.
Вот про это я забыл. Просто привык к gcc и забыл, что может быть не очевидно.
Файл a.out это исполняемый бинарник в формате elf, там содержатся не только машинные инструкции, но и отладочная информация, адреса памяти и прочее. В принципе, тот же avrdude его вполне умеет прошивать, но если хотите именно hex, можно сделать
Code
1
avr-objcopy a.out -Oihex res.hex
Причем, поскольку GNU'тый ассемблер довольно мощный, в нем можно использовать макросы и тому подобное. А чтобы контролировать что получилось и, например, по правильным ли адресам все копируется, можно полученный elf дизассемблировать обратно:
Code
1
avr-objdump -D a.out > res.txt
Кстати, это будет работать и с эльфами, созданными Си-шным компилятором.
Дизассемблировать hex тоже можно, но чуть сложнее:
Code
1
avr-objdump -D a.hex -m avr > res.txt
И в hex в отличие от elf не сохраняется отладочная информация и комментарии.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2023, 12:48
Помогаю со студенческими работами здесь

Найти напряжение на выводах рамки
Доброго времени всем уважаемые. Помогите пожалуйста решить данную задачу: В однородном магнитном поле с индукцией 0,1 Тл вращается...

Определить напряжение на выводах кнопки после ее размыкания
В схеме при t=0 замыкается ключ, а при t= 2 τ(2 тау) размыкается кнопка. Определить напряжение на выводах кнопки после ее размыкания....

Низкое напряжение
Добрый вечер. Очень прошу помочь разобраться в данной ситуации: Процессор A10 7700K. 3.4 ГГц и 3.8 в TurboCore (хотя до 3.8...

Низкое напряжение по 12V
Доброго времени суток. Совсем недавно обнаружил, что при стресс тесте в аиде напряжение по 12-вольтной линии сидит на 11.4. Слышал,...

Низкое напряжение зарядки телефона
на телефоне sony ericsson mt15i на контактах подключения аккумултора напряжение зарядки 0,2 в, что такое?? напряжение зярядника 5 воль


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru