Автоматическая тележка для камеры
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Панорамная головка на Arduino
Ураааа, поменял на скоростью 19200!
Итак:
-----------------------------------------------------------------------------
Тест 1. Все кнопки и датчики не активированы. R1 и R2 в положении "Минимум".
SQ1= 1; SQ2= 1; SB1= 1; SB2= 1; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 2. Переключатель SB1 в положении ВКЛ.
SQ1= 1; SQ2= 1; SB1= 0; SB2= 1; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 3. Кнопка SB2 нажата.
SQ1= 1; SQ2= 1; SB1= 1; SB2= 0; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 4. Датчик SQ1 активирован.
SQ1= 0; SQ2= 1; SB1= 1; SB2= 0; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 5. Датчик SQ2 активирован.
SQ1= 1; SQ2= 0; SB1= 1; SB2= 0; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 6. R1 в положении "Максимум".
SQ1= 1; SQ2= 0; SB1= 1; SB2= 0; R1= 0; R2= 1023
-----------------------------------------------------------------------------
Тест 6. R2 в положении "Максимум".
SQ1= 1; SQ2= 0; SB1= 1; SB2= 0; R1= 1023; R2= 0
-----------------------------------------------------------------------------
Итак:
-----------------------------------------------------------------------------
Тест 1. Все кнопки и датчики не активированы. R1 и R2 в положении "Минимум".
SQ1= 1; SQ2= 1; SB1= 1; SB2= 1; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 2. Переключатель SB1 в положении ВКЛ.
SQ1= 1; SQ2= 1; SB1= 0; SB2= 1; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 3. Кнопка SB2 нажата.
SQ1= 1; SQ2= 1; SB1= 1; SB2= 0; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 4. Датчик SQ1 активирован.
SQ1= 0; SQ2= 1; SB1= 1; SB2= 0; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 5. Датчик SQ2 активирован.
SQ1= 1; SQ2= 0; SB1= 1; SB2= 0; R1= 1023; R2= 1023
-----------------------------------------------------------------------------
Тест 6. R1 в положении "Максимум".
SQ1= 1; SQ2= 0; SB1= 1; SB2= 0; R1= 0; R2= 1023
-----------------------------------------------------------------------------
Тест 6. R2 в положении "Максимум".
SQ1= 1; SQ2= 0; SB1= 1; SB2= 0; R1= 1023; R2= 0
-----------------------------------------------------------------------------
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Панорамная головка на Arduino
Настораживает Тест 4:
Датчик SQ1 активирован
SQ1= 0; SQ2= 1; SB1= 1; SB2= 0; R1= 1023; R2= 1023
В этом тесте должен быть активирован только SQ1 (SQ1=0), а на остальных входах должен быть уровень 1. У вас же SB2=0. Либо вы забыли вернуть SB2 в исходное положение, либо где-то в соединениях баг.
В тестах 5-7 аналогичная проблема.
Датчик SQ1 активирован
SQ1= 0; SQ2= 1; SB1= 1; SB2= 0; R1= 1023; R2= 1023
В этом тесте должен быть активирован только SQ1 (SQ1=0), а на остальных входах должен быть уровень 1. У вас же SB2=0. Либо вы забыли вернуть SB2 в исходное положение, либо где-то в соединениях баг.
В тестах 5-7 аналогичная проблема.
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Панорамная головка на Arduino
Прошу прошение, опечатка вышла. Моя вина.
Только что еще раз все проверил.
Все в порядке, все кнопки и датчики и крутилки работают в норме, по отдельности выводя значение "0".
Только что еще раз все проверил.
Все в порядке, все кнопки и датчики и крутилки работают в норме, по отдельности выводя значение "0".
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Панорамная головка на Arduino
Теперь понятно. Тогда переходим к локализации ошибок.
Ошибка 1
Выявлена в Тест 1.
Тест показывает, что в вашей системе в исходном состоянии, когда датчики SQ1 и SQ2 не активированы, на входы контроллера поступают сигналы с уровнями 1. Хотя по схеме должны приходить уровни 0 т.к. в проекте используются "нормально замкнутые" (НЗ) контакты. Логика в программе рассчитана на работу с НЗ контактами. Путей решения 2:
1. Заменить датчики и использовать НЗ контакты.
2. Изменить логику в программе. Для этого заменить код в файле hwio.ino в строках 5-6 на следующий:
Ошибка 1
Выявлена в Тест 1.
Тест показывает, что в вашей системе в исходном состоянии, когда датчики SQ1 и SQ2 не активированы, на входы контроллера поступают сигналы с уровнями 1. Хотя по схеме должны приходить уровни 0 т.к. в проекте используются "нормально замкнутые" (НЗ) контакты. Логика в программе рассчитана на работу с НЗ контактами. Путей решения 2:
1. Заменить датчики и использовать НЗ контакты.
2. Изменить логику в программе. Для этого заменить код в файле hwio.ino в строках 5-6 на следующий:
Код: Выделить всё
SQ1 = !digitalRead(SQ1_PIN);
SQ2 = !digitalRead(SQ2_PIN);
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Панорамная головка на Arduino
Кстати, проект был немного обновлен. Рекомендую скачать и вносить исправления уже в свежую версию: https://github.com/mr-kubikus/Camera-Mo ... controller
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
Вынес обсуждение текущего проекта в отдельную тему. Панорамная головка осталась на прежнем месте: viewtopic.php?f=23&t=233
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
Пока писал ответ, смотрю, все что было до этого пропало, а оказалось это просто ветку перенесли : )
Ну да ладно.
Как я уже писал ранее, в виде датчики SQ1 и SQ2 использовал ГЕРКОНы. Они имеют два вывода "НО" и "НЗ". Изначально стояли ("нормально открытые") "НО", поменял на "НЗ".
Все заработало!!!
Но, в то время как при срабатывании SQ1 моторчик медленно тормозит, а после полной остановки резко стартует в другую сторону на 100% и медленно убавляет скорость до заданной крутилкой "SPEED". При срабатывании SQ2 моторчик ускоряется до 100%, потом резко тормозит и после полной остановки медленно стартует в противоположную сторону ускоряясь до заданной скорости.
Аналоничная ситуация при нажатии кнопки "REVERS" (SB2).
Далее, на потенциометре "RAMP" (R2) "+" и "-" как будто местами перепутаны. 100% оказались 0%, а 0% наоборот 100%. Ну это легко решается, поменяв местами провода "+" и "-".
Еще интереснее ситуация с потенциометром "SPEED" (R1).
Когда "тележка" бежит в сторону "SQ1", правая сторона потенциометра "SPEED" являеться 100%, а левая 0%.
Когда же "тележка" бежит в сторону "SQ2", правая сторона потенциометра "SPEED" являеться 0%, а левая 100%.
Наверное это как то связано, что в одну сторону происходит торможение, а другую разгон (о которых я писал выше)?
Ну да ладно.
Как я уже писал ранее, в виде датчики SQ1 и SQ2 использовал ГЕРКОНы. Они имеют два вывода "НО" и "НЗ". Изначально стояли ("нормально открытые") "НО", поменял на "НЗ".
Все заработало!!!
Но, в то время как при срабатывании SQ1 моторчик медленно тормозит, а после полной остановки резко стартует в другую сторону на 100% и медленно убавляет скорость до заданной крутилкой "SPEED". При срабатывании SQ2 моторчик ускоряется до 100%, потом резко тормозит и после полной остановки медленно стартует в противоположную сторону ускоряясь до заданной скорости.
Аналоничная ситуация при нажатии кнопки "REVERS" (SB2).
Далее, на потенциометре "RAMP" (R2) "+" и "-" как будто местами перепутаны. 100% оказались 0%, а 0% наоборот 100%. Ну это легко решается, поменяв местами провода "+" и "-".
Еще интереснее ситуация с потенциометром "SPEED" (R1).
Когда "тележка" бежит в сторону "SQ1", правая сторона потенциометра "SPEED" являеться 100%, а левая 0%.
Когда же "тележка" бежит в сторону "SQ2", правая сторона потенциометра "SPEED" являеться 0%, а левая 100%.
Наверное это как то связано, что в одну сторону происходит торможение, а другую разгон (о которых я писал выше)?
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
Уже лучше. С R2 все правильно. Полярность питания вы поменяли.
Есть какая-либо документация на плату с драйвером мотора, которую вы используете? Есть подозрение, что причина в его логике.
Есть какая-либо документация на плату с драйвером мотора, которую вы используете? Есть подозрение, что причина в его логике.
-
- Сообщения: 30
- Зарегистрирован: 07 дек 2014, 22:57
Re: Автоматическая тележка для камеры
описания на плату с драйвером мотора нашел тут http://arduino-info.wikispaces.com/MotorDrivers (вторая половина страницы)
такая же как и у меня
такая же как и у меня
- Вложения
-
- image-23-12-14-12-03-1.jpeg (217.02 КБ) 30083 просмотра
- Mr.Kubikus
- Сотрудник ПАКПАК
- Сообщения: 1020
- Зарегистрирован: 22 окт 2010, 23:57
Re: Автоматическая тележка для камеры
Теперь все понятно. Логика управления драйвера, который я использовал, отличается от логики вашего. У моего для управления нужны два сигнала DIR и PWM, а вашего три: ENА, IN1 и IN2. В общем аппаратная несовместимость получается.