Вот, вроде не вчера пользуюсь FLProg, но с таким столкнулся первый раз.
Для сына решил собрать логику для управления гусеничной платформой через пульт ДУ IR (пульт и фотоприемник обычный с Алиэкспресса).
FLProg использую 3.0.2. Блоки все стандартные. И вроде бы сначала работает, но потом начисто зависает и все, пока не перезагрузишь, не работает. И потом опять по кругу. Зависает начисто.
В логике выбор трех скоростей. Движение вперед, назад, вправо, влево, стоп и переключение скоростей. Сигнал на двигатели формата Integer.
На пине 11 (ШИМ) как будто сигнал есть, но в железе его нет! На других сигнал появляется, но при попытке переключить с кнопок пульта скорость, все начисто зависает. Менял контроллеры (MEGA 2560, NANO) - не помогает, результат одинаковый.
Питание - аккумулятор, стабильно 5В.
Для сигнализации наличия на выходах( для двигателей) использовал макетную платку со светодиодами.
Для контроля наличия сигналов внутри логики использовал стандартные блоки дисплея HD44780. В проекте это видно.
Посмотрите, может что-то неправильно в блоках? Хотя пересмотрел не раз. Все должно работать. Все стандартно. Может, что в коде, который компилирует IDE?
Проект-черновик прилагаю.
Зависает элементарная программа.
Зависает элементарная программа.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 14 раз
- Поблагодарили: 100 раз
- Контактная информация:
Зависает элементарная программа.
Чтобы выяснить , где ошибка в логике или в ИК приемнике, попробуйте сперва убрать ИК приемник и управлять с обычных кнопок. Дисплей лучше заменить на UART с настройкой - отправлять периодически.
Отправлено спустя 2 минуты 24 секунды:
И при считывании кодов ИК есть сбои? Я приемник из али выкинул, он ошибочные коды выдавал, попробуй с модуля выпаять или другой приемник без модуля использовать , подключив напрямую.
Отправлено спустя 2 минуты 24 секунды:
И при считывании кодов ИК есть сбои? Я приемник из али выкинул, он ошибочные коды выдавал, попробуй с модуля выпаять или другой приемник без модуля использовать , подключив напрямую.
Зависает элементарная программа.
Немного локализовал проблему. Программа зависает, как только в проект добавить четвертый выход и объявить его, как ШИМ. Стоит убрать его, то все четко работает. Но мне нужно для управления двигателями именно четыре выхода ШИМ. .... Вероятно, какая то проблема в самом FLProg...
Отправлено спустя 33 минуты 49 секунд:
Перейду на другую логику управления. Два ШИМ выхода и четыре цифровых выхода. Как раз для драйвера L298N есть вариант управления с двумя ШИМ и 4 цифровых входа...
Проблема, как описал выше остается. Стоит добавить четвертый ШИМ выход и все виснет.
Отправлено спустя 33 минуты 49 секунд:
Перейду на другую логику управления. Два ШИМ выхода и четыре цифровых выхода. Как раз для драйвера L298N есть вариант управления с двумя ШИМ и 4 цифровых входа...
Проблема, как описал выше остается. Стоит добавить четвертый ШИМ выход и все виснет.
Зависает элементарная программа.
Это где то проскакивало.... Вроде гдето про ленту, что на 328 на получится, надо другую или ставить плату расширения шимMax писал(а): 09 окт 2018, 21:27 Программа зависает, как только в проект добавить четвертый выход и объявить его, как ШИМ. Стоит убрать
Зависает элементарная программа.
Я на МЕГЕ такой же результат получил. Зависает и все.dizzyy писал(а): 09 окт 2018, 21:53Это где то проскакивало.... Вроде гдето про ленту, что на 328 на получится, надо другую или ставить плату расширения шим
-
- Полковник
- Сообщения: 3360
- Зарегистрирован: 24 дек 2016, 16:55
- Откуда: Уфа
- Имя: Айдар
- Благодарил (а): 14 раз
- Поблагодарили: 100 раз
- Контактная информация:
Зависает элементарная программа.
Попробуйте программный ШИМ .
http://arduino.ru/forum/programmirovani ... bom-vyvode
http://arduino.ru/forum/programmirovani ... bom-vyvode
- Boroda
- Капитан
- Сообщения: 836
- Зарегистрирован: 01 май 2016, 01:04
- Откуда: Коломна
- Имя: Станислав
- Контактная информация:
Зависает элементарная программа.
[ref]Max[/ref], тут возможно идет конфликт таймеров.
Tаймер 0 (Системное время, ШИМ 5 and 6)
Tаймер 1 (ШИМ 9 и 10)
Tаймер 2 (ШИМ 3 и 11)
Библиотека IR использует на Mini, Nano, Mega для приема/передачи Таймер 2. Для передачи Pin3.
Полный список можно посмотреть в файле IRremoteInt.h поиск по строке "Define which timer to use".
Вот и получается, при подключении PWM 11 или 3, приемник IR дает зависание.
Может приемник перевесить допустим на 8 ногу, а ШИМ использовать 5,6,9,10
Tаймер 0 (Системное время, ШИМ 5 and 6)
Tаймер 1 (ШИМ 9 и 10)
Tаймер 2 (ШИМ 3 и 11)
Библиотека IR использует на Mini, Nano, Mega для приема/передачи Таймер 2. Для передачи Pin3.
Полный список можно посмотреть в файле IRremoteInt.h поиск по строке "Define which timer to use".
Вот и получается, при подключении PWM 11 или 3, приемник IR дает зависание.
Может приемник перевесить допустим на 8 ногу, а ШИМ использовать 5,6,9,10
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя