UNO подводные камни

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Сообщение mixon46 »

Подключил сервопривод. Подключил библиотеку servo.h для управления. Все хорошо работало. Начал дописывать программулину. Добавил библиотеки wire, ad1015, liquidcristall i2c. Не могу понять что влияет на сервопривод. Он дергается через какие то промежутки времени. Знаю что используется таймер 1 (16 битный). Для получения шим с регулируемой скважностью. Использовал 3 вывод ардуины. Сначала думал может сервак испорчен. Написал простую программулю и все пашет. Как узнать то что влияет на его поведение
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15742
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Для самодельной (максимум с библиотеками из самой IDE) довольно просто разобрать - есть перечень ограничений как по таймерам так и по прерываниям во взаимодействии с функциями контроля времени.
Касательно "чужих" библиотек - то уж их содержимое в каждом конкретном случае анализировать требуется.
:roll:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

mixon46 писал(а):Знаю что используется таймер 1 (16 битный). Для получения шим с регулируемой скважностью.
Программный ШИМ с десятками тысяч прерываний в секунду. Если есть другие прерывания, они будут мешать.
Возьмите что-то типа Blue Pill, у которого 16 аппаратных ШИМ без необходимости прерываний и пишите в нормальной IDE. Тогда все будет работать как нужно.
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Сообщение mixon46 »

Изучаю метод attach для сервы.
Строка
servos [this->servoIndex].Pin.nbr = pin;

Что это вообще. Я не понимаю
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 9459
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

Вот ты связался с этими Ардуино)) Зачем они тебе ? )) Писал бы по нормальному как все...
Вон в теме радиоуправления
https://www.radiokot.ru/forum/viewtopic ... 8&t=148087
мы подключали кучу серв напрямую к таймеру
модель_0.jpg
(139.46 КБ) 157 скачиваний
модель_1.jpg
(137.73 КБ) 143 скачивания
Ничего не дергается.

Ещё и с экранчиками всякими
пульт.jpg
(127.79 КБ) 142 скачивания
Всё работает чётко и без всяких бибилиотек.))
:)
А сидеть разбираться с Ардуиновскими библиотеками... сомневаюсь что кому-то интересно))
:tea:
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Сообщение mixon46 »

Там проблема в том что сервопривод не крутится как положено. Он дергается а не вращается плавно. Это смущает так как управляет важным устройством. Что влияет на него я не могу сказать. Но частично удалось решить проблему изменив код своей программы
Реклама
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

влажное устройство на дурине? Это очень смело. Адурина - это не дальше стола.
Друг Кота
Аватара пользователя
Сообщения: 15742
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Для корректного разбора проблем нужны:
1. полная электросхема устройства.
2. папка с проектом , включающая как сам скотч, так и используемые библиотеки "сторонних источников", которые не входят в состав IDE по умолчанию.
Ну и описание того, что устройство должно делать.
:roll:
Адуринка - весьма мощный инструмент, если умело с ним обращаться.
8)
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Сообщение mixon46 »

Так хорошо. Некоторые проблемы я устранил сам. Есть еще одна. ПИД регулятор выдает не пойми что. Скидываю фото

Изображение Изображение

Проблема в том что даёт знак минус хотя должен быть всегда плюс. И значение должно быть всегда в промежутке между 0 и 180
Мудрый кот
Сообщения: 1759
Зарегистрирован: Пт июн 01, 2018 07:28:45

Сообщение parovoZZ »

А принтскрином никак не сделать? Снизу вверх я читать не умею.
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Сообщение mixon46 »

Я с телефона фоткал. На ноуте нет интернета. Кто то может помочь с этой проблемой? В пид регуляторе какой то глюк. Выдает значение с минусом. Хотя должен с плюсом. Это может быть из за разного типа данных? Кто может исправить?
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1644
Зарегистрирован: Сб фев 18, 2012 15:42:29
Откуда: Курск

Сообщение mixon46 »

В общем разобрался сам. Тип возвращаемых данных char. Поэтому что больше 137 было с отрицательным знаком
Ответить

Вернуться в «Arduino»