UNO подводные камни
Подключил сервопривод. Подключил библиотеку servo.h для управления. Все хорошо работало. Начал дописывать программулину. Добавил библиотеки wire, ad1015, liquidcristall i2c. Не могу понять что влияет на сервопривод. Он дергается через какие то промежутки времени. Знаю что используется таймер 1 (16 битный). Для получения шим с регулируемой скважностью. Использовал 3 вывод ардуины. Сначала думал может сервак испорчен. Написал простую программулю и все пашет. Как узнать то что влияет на его поведение
- Реклама
Для самодельной (максимум с библиотеками из самой IDE) довольно просто разобрать - есть перечень ограничений как по таймерам так и по прерываниям во взаимодействии с функциями контроля времени.
Касательно "чужих" библиотек - то уж их содержимое в каждом конкретном случае анализировать требуется.

Касательно "чужих" библиотек - то уж их содержимое в каждом конкретном случае анализировать требуется.
- Сообщения: 3385
- Зарегистрирован: Пн окт 11, 2010 19:00:08
Программный ШИМ с десятками тысяч прерываний в секунду. Если есть другие прерывания, они будут мешать.mixon46 писал(а):Знаю что используется таймер 1 (16 битный). Для получения шим с регулируемой скважностью.
Возьмите что-то типа Blue Pill, у которого 16 аппаратных ШИМ без необходимости прерываний и пишите в нормальной IDE. Тогда все будет работать как нужно.
Изучаю метод attach для сервы.
Строка
servos [this->servoIndex].Pin.nbr = pin;
Что это вообще. Я не понимаю
Строка
servos [this->servoIndex].Pin.nbr = pin;
Что это вообще. Я не понимаю
Вот ты связался с этими Ардуино)) Зачем они тебе ? )) Писал бы по нормальному как все...
Вон в теме радиоуправления
https://www.radiokot.ru/forum/viewtopic ... 8&t=148087
мы подключали кучу серв напрямую к таймеру Ничего не дергается.
Ещё и с экранчиками всякими Всё работает чётко и без всяких бибилиотек.))
А сидеть разбираться с Ардуиновскими библиотеками... сомневаюсь что кому-то интересно))

Вон в теме радиоуправления
https://www.radiokot.ru/forum/viewtopic ... 8&t=148087
мы подключали кучу серв напрямую к таймеру Ничего не дергается.
Ещё и с экранчиками всякими Всё работает чётко и без всяких бибилиотек.))
А сидеть разбираться с Ардуиновскими библиотеками... сомневаюсь что кому-то интересно))
- Реклама
Там проблема в том что сервопривод не крутится как положено. Он дергается а не вращается плавно. Это смущает так как управляет важным устройством. Что влияет на него я не могу сказать. Но частично удалось решить проблему изменив код своей программы
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
влажное устройство на дурине? Это очень смело. Адурина - это не дальше стола.
Для корректного разбора проблем нужны:
1. полная электросхема устройства.
2. папка с проектом , включающая как сам скотч, так и используемые библиотеки "сторонних источников", которые не входят в состав IDE по умолчанию.
Ну и описание того, что устройство должно делать.
Адуринка - весьма мощный инструмент, если умело с ним обращаться.

1. полная электросхема устройства.
2. папка с проектом , включающая как сам скотч, так и используемые библиотеки "сторонних источников", которые не входят в состав IDE по умолчанию.
Ну и описание того, что устройство должно делать.
Адуринка - весьма мощный инструмент, если умело с ним обращаться.
- Сообщения: 1759
- Зарегистрирован: Пт июн 01, 2018 07:28:45
Я с телефона фоткал. На ноуте нет интернета. Кто то может помочь с этой проблемой? В пид регуляторе какой то глюк. Выдает значение с минусом. Хотя должен с плюсом. Это может быть из за разного типа данных? Кто может исправить?
В общем разобрался сам. Тип возвращаемых данных char. Поэтому что больше 137 было с отрицательным знаком


