roboforum.ru

Технический форум по робототехнике.

Sanguinololu + Marlin зависает плата. Шум по земле.

Re: Sanguinololu + Marlin зависает плата. Шум по земле.

om2804 » 16 окт 2013, 01:40

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

Re: Sanguinololu + Marlin зависает плата. Шум по земле.

baru » 16 окт 2013, 13:12

andreykyz писал(а):
baru писал(а):
andreykyz писал(а):2) Пробовал использовать лабораторный БП на 5А.

5А по 220?

Линейный стабилизатор на 1.2кВт? Я бы наверное его как обогреватель включал.

Я говорил про выходной ток. Для моторов этого хватит с полна. Там потребление при всех включенных моторах до 1А не доходит.
я уточнил, чтобы знать, что нагреватели вы отключили. вы говорите, что исключили просадку напряжения и я не знаю за ваш лабораторный БП и замеры тока, тем не менее, исходя из того, что с одним двигателем плата отрабатывает, я предположу, что возможно в контроллере прошит brown-out на 4.3В и такое снижение напряжения случается у вас при номинальной нагрузке. На каждом моторе может быть до 2,5А.

Re: Sanguinololu + Marlin зависает плата. Шум по земле.

andreykyz » 16 окт 2013, 18:42

baru писал(а):я уточнил, чтобы знать, что нагреватели вы отключили. вы говорите, что исключили просадку напряжения и я не знаю за ваш лабораторный БП и замеры тока,

Отгибал первую ногу lm7805 и подключал к ней 12V. Если верить стрелочному амперметру потребление получалось 200mA
baru писал(а): тем не менее, исходя из того, что с одним двигателем плата отрабатывает, я предположу...

Есть предположение почему с одним мотором работало. Просто потому что это был мотор оси Z а он редко срабатывает(1 раз на слой) А после подключения оси X,Y или E все виснет. Чем больше моторов тем быстрее. С тремя сразу.

baru писал(а):возможно в контроллере прошит brown-out на 4.3В и такое снижение напряжения случается у вас при номинальной нагрузке. На каждом моторе может быть до 2,5А.

Скорее всело так и было. Сейчас уже не понять т.к. я прошил дефолтными битами из программы arduino, Но я нашел статью из которой взял биты получается что стоял бит BODLEVEL1. Но мне кажется нестабильная работа была из того что стоял бит для кварцевого резонатора вместо керамического. В общем испробую скажу.

Добавлено спустя 2 часа 36 минут 9 секунд:
Похоже проблема найдена. Неправлиьно стояли fuse bit'. В настройках был выбран Кварцевый резонатор, а мне китайцы положили керамический, как оказалось у него напряжение питания больше чем у кварцевого и работа моторов похоже вносила сбой в работу тактового генератора. Но вообще керамический резонатор более устойчив к помехам, его минус больший чем у кварца допуск.
Может кому понадобится.
Прошивал загрузчик для Керамического резонатора(ceramic resonator) так:
Код: Выделить всёРазвернуть
avrdude -p m1284p -c usbasp -U hfuse:w:0xDC:m  -U lfuse:w:0xD6:m -U efuse:w:0xFD:m flash:w:../sanguino1284p/Sanguino/bootloaders/standard/ATmegaBOOT_1284P.hex

Если для кварцевого резонатора(crystal oscillator) так:
Код: Выделить всёРазвернуть
avrdude -p m1284p -c usbasp -U hfuse:w:0xDC:m  -U lfuse:w:0xD7:m -U efuse:w:0xFD:m flash:w:../sanguino1284p/Sanguino/bootloaders/standard/ATmegaBOOT_1284P.hex

Если кто-то хочет по совету baru отключить ресет по питанию(brown out) то в efuse надо записать 0xFF Для проверки битов пользовалсяэтим калькулятором.
Загрузчик брал здесь, т.к. тот что в проекте Sanguino для atmega 1284 не рабочий.
Вложения
A_16MHz_ceramic_resonator.jpg
Керамический резонатор со встроенными конденсаторами.

Re: Sanguinololu + Marlin зависает плата. Шум по земле.

how_eee » 17 окт 2013, 18:02

Bod level выключать совсем тоже нельзя. Я у себя выключил и теперь иногда у меня трётся епром и слетает прошивка.

Re: Sanguinololu + Marlin зависает плата. Шум по земле.

andreykyz » 17 окт 2013, 19:06

how_eee писал(а):Bod level выключать совсем тоже нельзя. Я у себя выключил и теперь иногда у меня трётся епром и слетает прошивка.

Оставил как было BODLEVEL2 BODLEVEL1 BODLEVEL0 - 101. Это как я понял ресет при просадке до 2.7v


Rambler\'s Top100 Mail.ru counter