Самосброс freeduino

AlexVaso
Offline
Зарегистрирован: 06.06.2011

Запустил тестовую программку вывода не дисплейчик "Hello world". Программка выводит надпись и внизу считает секунды. Почему через 20 сек происходит самосброс контроллера, вроде нажат ресет.

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

А подсветку дисплея включали? Какой ток подсветки выставили? Оно просто так не должно сбрасываться) 

 

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Да, включал. Ток не мерял. Питание от USB, прсто нет другого питания. Я еще понимаю, что сброс по просадке питания, но почему ровно через 20 сек? прямо часы можно сверять. У этой штуковины нет сторожевого таймера?

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

отключите полностью подсветку 

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 И это поможет? но почему ровно 20 сек?

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

еще, при простой проверке на 1 светодиод фридуино не рестартится? может быть не просадка, а срабатывает предохранитель самовосстанавливающийся.  

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Хрен его знает. Когда он мигает, не определишь, что он сбрасывается. Посколько при сбросе он мигает этим самым светодиодом.

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

мигать может если на выходах фридуино перегрузка по току, может где сопляили короткое перепроверьте схему всю. 

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Проверю обязательно. Но все таки почему ровно 20 сек?

Zaliv
Offline
Зарегистрирован: 05.03.2011

 А сбрасывается только на этой программе? на какой-нить самой простой например мигание светодиодом тоже сбрасывается?

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Да так сразу не определишь

Zaliv
Offline
Зарегистрирован: 05.03.2011

 Ну ты добавь, что-нибудь типа:

int i=0;
void setup() {
    Serial.begin(9600); 
}
 
void loop() {
 i++;
 Serial.println(i);
 delay(500); 
}

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

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

точная модель дисплея в студию, и по возможности схему как вы его подключили. + выложите код вашей программы

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Подключил по стандартной схеме, взятой из инета. Прогу закачал из примера, называется "Hello World". Ничего своего не писал, пока. Эта прога выводит строку и внизу считает секунды. На 20 секунде четко сбрасывается и начинает считать с нуля. Прочитал, что в моей платке есть программный автосброс. Но пока отключить его не пробовал. Просто не успел. Сегодня вечером попробую. Проверить без подключения не могу - питаюсь по USB, нет внешнего блока питания.

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Полностью без подсветки тоже вырубается? У всех есть авто сброс, но его редко кто отключает. Если его отключить то каждый раз для заливки нового скетча нужно будет нажимать самому ресет и быстро заливать прошивку - неудобно

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Да пока без подсветки тоже не пробовал. Только вечером смогу. Но мне интересно, почему четко через 20 сек. Какого напряжение падает на 21 секунде?

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Я просто уже 3штуки разных дисплеев (даже достался как-то под-уставший символьный, размером со 100долларовую купюру - 4 х 40, буква гдето с 1см, правда я его вернул, старый сильно, выцвел) подключал к разным ардуинам и никогда не наблюдал такого. Правда не с первого раза, по ошибке иногда они не отображали то что надо;)

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

а саму платку в программе какую выбрали? Там есть много разных) Может не соответствие? 

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Платку выбрал Arduino Duemilanove с Atmega328.  Посмотрел, у меня действительно Atmega238. Хрен его знает, чего он моргает :)

Modular
Offline
Зарегистрирован: 05.03.2011

 Вы код из 11го сообщения попробовали, отключив все от самого контроллера? Может контроллер глючный.

AlexVaso
Offline
Зарегистрирован: 06.06.2011

Может, все на свете ломается. А пример вроде пробовал, но там не сильно видно, когда он перегружается. Я это увидел, когда дисплейчик подключил. 

Zaliv
Offline
Зарегистрирован: 05.03.2011

 Попробую еще разок. Отключи плату от всего, кроме USB. Залей в нее 

int i=0;
void setup() {
    Serial.begin(9600); 
}
 
void loop() {
 i++;
 Serial.println(i);
 delay(500); 
}

Подключись монитором (крайняя правая кнопочка в Arduino IDE) и смотри, что она тебе возвращает.

Если возвращает 

1
2
3
4 и т.д. по нарастающей. То все ОК

А если в какой момент будет 

38
39
40
1
2

Значит произошла перезагрузка контроллера. Все очень видно.
 

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Ну допустим я ее увижу, что это решает. Я же вижу перезагрузку на мониторчике.

Zaliv
Offline
Зарегистрирован: 05.03.2011

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

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 Про круг поисков согласен. Я занимаюсь промышленными контроллерами и программированием на них 15 лет. И как в них искать проблемы - знаю. А в этой игрушке - пока нет. Падения напряжений и прочую фигню я тоже знаю. Просто может здесь есть свои подводные камни - например сторожевой таймер на 20 сек, или какая иная лабуда. Я с ним играюсь второй день. Решил спрсить про подводные камни. Вот и все.

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 В общем, если снимаешь перемычку программного сброса - то все ОК. Похоже это сама прога зачем-то каждые 20 сек дрючит сом порт и сбрасывает контроллер.

AlexVaso
Offline
Зарегистрирован: 06.06.2011

 А еще прикол. Если после загрузки проги запустить монитор последовательного порта, то он занимает порт и сброса не происходит.