roboforum.ru

Технический форум по робототехнике.
Текущее время: 17 фев 2025, 18:11

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Bed Auto Leveling - не работает серва
СообщениеДобавлено: 30 авг 2014, 18:36 
Не в сети

Зарегистрирован: 29 окт 2012, 14:12
Сообщения: 46
Всем привет! В наличии MendelMax, Sanguinololu 1.3 (1284p), прошивка Marlin - скачал самую последнюю. Решил сделать автовыравнивание оси Z. По инструкции выставил :
Код:
#define NUM_SERVOS 1
#define SERVO0_PIN 31
#define ENABLE_AUTO_BED_LEVELING
#define SERVO_ENDSTOPS {-1, -1, 0} // Servo index for X, Y, Z. Disable with -1
#define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 165,60} // X,Y,Z Axis Extend and Retract angles

В общем, все как полагается. Использую Arduino 0023. Серва запитана и включена в нужный сигнальный пин. Комплирую, заливаю прошивку. Даю в пронтерфейсе команду M280 P0 S90 - (повернуть серву 0 на какой-то угол) - реакции нет. Даю команду с другим углом - тоже никакой реакции. Подключаю осциллограф - сигнала нет.

Чтобы проверить серву, делаю тестовую программу, двигающую серву. Заливаю программу - серва двигается. Делаю вывод что все подключено правильно.

Начинаю разбираться с прошивкой. В файле marlin_main.cpp нахожу ветку, отвечающую за код M280. Убеждаюсь, что все нужные переменные определены и команда servos[servo_index].write(servo_position); должна выполняться. Для пробы делаю следующее - в месте, где дается команда на поворот вставляю свой код типа
Код:
Servo s;s.attach(31);s.write(180);s.detach();SERIAL_PROTOCOL("Test servo moving");
, компилирую и даю в пронтерфейсе команду M280 P0 S90. Текст "Test servo moving" выводится - это говорит о том, что ветка отрабатывает и мой тестовый код выполняется. Но серва не двигается.
В общем, вопрос понятен - куда смотреть? В комплекте прошивки marlin идут свои файлы servo.cpp/servo.h, они отличаются от аналогичных файлов для arduino 0023. Заменить прошивочные файлы ардуиновскими не получилось - ругается на что-то там. Куда смотреть, подскажите? В общем варианта 2 - либо мой порт 31 используется чем-то еще - но я пробовал несколько портов, результата нет. Либо тайминги для сервы выставлены неправильно в марлиновской прошивке. Серва TowerPro MicroServo SG90.

_________________
Printer : MendelMax 1.5, Prusa i3 Steel
Firmware : Marlin
Slicer: Slic3r
Filament : PLA 3 mm, PLA 1.75 mm
Nozzle : 0.35 mm
Electronics: RepRap Sanguinololu 1.3b
Языки: C++ (Borland Builder 6.0), VBA, VBScript, Arduino IDE, T-SQL


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bed Auto Leveling - не работает серва
СообщениеДобавлено: 30 авг 2014, 19:25 
Не в сети
Аватара пользователя

Зарегистрирован: 20 янв 2014, 22:44
Сообщения: 431
Откуда: 21RU
прог. языки: Assembler, Basic, Arduino IDE, PHP и др.
ФИО: Андрей С
Советуют прошивать Arduino 1.0.5

_________________
3D Expo 2014 Moskow 23-25.10.2014


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bed Auto Leveling - не работает серва
СообщениеДобавлено: 30 авг 2014, 22:12 
Не в сети

Зарегистрирован: 29 окт 2012, 14:12
Сообщения: 46
Ээээ, простите, а кто и где советует? Максимум что я видел - 1.0.1.

Добавлено спустя 2 минуты 2 секунды:
И каким 1.0.5? На официальном сайте после 1.0.4 идет 1.5 бета с кучей подверсий - все тоже бета. Но конечно же хотелось бы ознакомиться с источником рекомендации.

Добавлено спустя 1 минуту 33 секунды:
Нашел 1.0.5. Пробую, отпишусь.

_________________
Printer : MendelMax 1.5, Prusa i3 Steel
Firmware : Marlin
Slicer: Slic3r
Filament : PLA 3 mm, PLA 1.75 mm
Nozzle : 0.35 mm
Electronics: RepRap Sanguinololu 1.3b
Языки: C++ (Borland Builder 6.0), VBA, VBScript, Arduino IDE, T-SQL


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bed Auto Leveling - не работает серва
СообщениеДобавлено: 30 авг 2014, 22:41 
Не в сети
Аватара пользователя

Зарегистрирован: 20 янв 2014, 22:44
Сообщения: 431
Откуда: 21RU
прог. языки: Assembler, Basic, Arduino IDE, PHP и др.
ФИО: Андрей С
http://forums.reprap.org/read.php?4,350059

_________________
3D Expo 2014 Moskow 23-25.10.2014


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Bed Auto Leveling - не работает серва
СообщениеДобавлено: 31 авг 2014, 12:03 
Не в сети

Зарегистрирован: 29 окт 2012, 14:12
Сообщения: 46
Скомпилировал в 1.0.5. То же самое. Что еще смотреть - ума не приложу.

Добавлено спустя 1 час 5 минут 18 секунд:
Причина найдена - видно голова моя шла крУгом после двух дней возни с прошивкой. В файле pins.h не в том месте выставил номер пина.

_________________
Printer : MendelMax 1.5, Prusa i3 Steel
Firmware : Marlin
Slicer: Slic3r
Filament : PLA 3 mm, PLA 1.75 mm
Nozzle : 0.35 mm
Electronics: RepRap Sanguinololu 1.3b
Языки: C++ (Borland Builder 6.0), VBA, VBScript, Arduino IDE, T-SQL


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO