Технический форум по робототехнике.
Joel1988 » 15 дек 2012, 15:17
На Atmega8 на на выходах снизилось выходное напряжение.
Пишу на CodeVisionAVR, фьюзы не трогал. Использую программатор на 5 проводах с дополнительным резистором с земли (GND) на корпус LPT.
Делал схему, попутно тестируя ее работоспособность, все было хорошо, светодиоды светились ярко. В какой то момент(точно не помню что последнее делал) выходное напряжение на портах упало, пара светодиодов даже не зажигались, остальные светились раза в 2 слабее.
Каюсь, в программатор Атмегу вставлял наоборот и питание "+" с "-" при прошивании путал. Но все корректно работало, то-есть АЦП, вывод на LCD 2х16.
Думал в схеме что-то мешает. Собрал мигалку - эффект тот-же.
Купил новую Atmega8, сделал мигалку, собрал, работает нормально. При последующем прошивании новой Атмеги, опять все вернулось.
Вопрос. Из-за чего может быть такое? Не спалил ли я себе порт LPT (когда неправильно подключал Атмегу на программаторе)?
Резисторы на схеме не ставил, что бы просто не мешали, на макетке стоят.
legion » 15 дек 2012, 17:51
Если мк прошивается, значит ЛПТ не спалил. Программно ШИМ на портах не мог случайно получиться? Он будет выглядеть как пониженное напряжение при измерении мультиметром.
Немного путанное объяснение, мигалка - это рабочий код + светодиоды на ногах, или новый мигающий код?
Joel1988 » 15 дек 2012, 19:32
Мигалка это код(в новом проекте)+светодиод. Собрал по светодиоду на порт, померил напряжение 1,6-1,9 вольта на светодиоде.
ШИМа я пока что не касался, надобности не было. Как проверить наличие ШИМа?
Собственно это первое что я делаю.
Вот собственно так горят, левый диод даже не загорелся.
Angel71 » 15 дек 2012, 20:36
если вы включили светодиод и через пару секунд выключили это одно. а если вы его включаете и выключаете за секунду десятки, сотни или тысячи раз, то это совсем другое. условно, если он у вас за секунду сумарно 800миллесекнд был выключен, а оставшие 200 включен, то считайте, что он должен был светится очень тускло. а мультиметр, опять же условно должен был показать не то напряжение, которым вы мегу питаете, а меньше. условно, т.к. частота, сколько он при этой частоте был включен и выключен, напряжение, ток и характеристики светодиода очень интересно связаны.
Radist » 15 дек 2012, 20:57
Проверяете питание сперва, если в порядке, то в программе просто одну из неиспользуемых ног настраиваете на вывод единицы. Если там напряжение питания - ищите ошибки в программе. Мерить напряжение на светодиоде бессмысленно.
Joel1988 » 15 дек 2012, 21:11
delay_ms(1000);
PORTD.2 = 1;
PORTC.5 = 1;
PORTB.1 = 1;
delay_ms(1000);
PORTD.2 = 0;
PORTC.5 = 0;
PORTB.1 = 0;
Я думаю проще кода быть не может.
Замерить вполне реально напряжение за 1 секунду. Замерил на ноге на которую подается сигнал и ни куда не подключена, показал стабильные 5 вольт, и как ранее писал с диодом 1,6. Насчет быстрого моргания, раньше ставил и 100ms, в яркости он не проседал + четко различимое моргание. Пробовал 2 блока питания и от батареек, разницы нет.
Вопрос следующий. Как определить ШИМ без осцилографа?
Если кому не лень сделайте у себя .rom c кодом выше, может CVAVR мудрит.
И моя прошивка с этим кодом. Может кто попробует у себя?
- 1.zip
- (465 байт) Скачиваний: 0
Myp » 15 дек 2012, 21:28
контакт в макетке не контачит, или наоборот контачит с кем-то лишним
Joel1988 » 15 дек 2012, 21:30
Собирал мигалку в разных местах, на разных портах, с разными проводами, с разными источниками питания.
Vovan » 15 дек 2012, 21:37
Мои 5коп.:
если шьется нормально, прошить простейшую программу = зажечь светодиод на порте Х (безо всяких миганий и дилэев!) - проверка т.о. всё скажет.
yak-40 » 16 дек 2012, 10:09
Такое бывает когда порты по ошибке сконфигурированы на вход. Именно такой эффект проявляется.
vitalik » 16 дек 2012, 12:08
А почему нет ограничительных резисторов последовательно с светодиодами? В таком случае ток ограничивается порядком 20мА на выходе и напряжение будет в зависимости от светодиода от 1.6В для красного и до 3В для белых или синих.
elmot » 16 дек 2012, 23:01
а еще так можно мк пропалить. Он вообще-то моск, а не токовый стабилизатор.
Joel1988 » 16 дек 2012, 23:13
Резисторы на схеме не ставил, что бы просто не мешали, на макетке стоят.
А это как бы намекает что резисторы есть.
Joel1988 » 17 дек 2012, 22:07
Вот еще небольшая подсказка.
Сегодня решил прошить чтоб просто горел один светодиод. Светился как положено. Через пару прошиваний, опять вернулось к исходному варианту.
legion » 17 дек 2012, 22:29
Лучше выкинуть светодиод и просто замерять напругу на ногах. Все ноги в 1, прошивать и мерить, прошивать и мерить. При замерах обязательно проверять питание прямо на GND-Vcc ногах мк.
Программатор отсоединялся во время проверки светимости светодиода? Светодиод не на одной из линий программатора?