Продолжаю.И я попробовал.
Я сделал сами площадки датчиков из латуни и расположил их на внешней лицевой поверхности аппарата.
Использовал TTP229 с выпаиванием двух конденсаторов.Что же получилось.
А получилось следующее (экспериментировал с рюмкой номер 3):
Думал поможет экранирование. Для того чтобы понять поможет или нет, обмотал все провода светодиодов фольгой для запекания и посадил на минус - глюки не прошли, но мне показалось что их стало меньше. Для того чтобы совсем удостовериться в помехах проводов диодов и датчиков с их проводами оторвал диоды с их мест и всю гирлянду вывел за пределы аппарата - глюки как были так и есть.
- срабатывание чёткое на всех 4 рюмках (от пальца в паре сантиметров), хотя потом выяснилось что это не так - 4 рюмка мигает красным цветом;
- при нажатии кнопки пуск, происходит очень быстрое перемаргивание остальных диодов, но на 3 рюмке по прежнему чёткий красный сигнал светодиода. После пермаргивания идёт нормальный налив (на сухую пока). После налива происходит быстрое и хаотичное моргание остальных диодов с дерганием сервы (вероятно в момент перемаргивания, ардуинка принимает сигнал что рюмки стоят);
- играл с бп и повер банком: особой разницы не увидел (электролит не ставил пока по питанию).
Первые мысли следующие:
Про правильность монтажа: выше писал про рукожопость или что это было уже не знаю и знать не хочу.
- не даёт мне покоя мигание 4-й рюмки, поэтому буду пробовать имитировать механической кнопкой, ну или разбираться что не так;
- поменять прошивку от Левонти (начну с предложенными выше по ветке библиотек), возможно откачу на более раннюю или попробую от Алекса с морды сайта проекта.
Во-первых выкинул нахер плоские провода, и делал другими проводами.
Во-вторых монтировал всё, как раньше это сказали бы, поблочно/каскадами. Ардуинка с прошивкой под рукой, припаиваю диоды: включаю питание и смотрю работоспособность. Работает - иду следующий узел. После каждого - проверка подачей питания и проверка на работоспособность. И вот как дошло до ttp и начался феерический праздник у диодов и сервы.
Как то так...
Дело в том, что глюк был именно с ТТР, т к моргал соответствующий светодиод (один-три из четырех, в моем случае) и серво отзывалась на какую-либо площадку, в авторежиме, где был скачок сигнала. И в данном случае ТТР является "КОНЦЕВИКАМИ", и ни как програмно не влияет на сам процесс. Надо было обратить внимание на контрольные светодиоды (которых 8 шт), если на них морганий не было (либо все горят или все потухшие) в режиме ожидания, тогда глюк в прошивке.Продолжаю.
Возможно смелое заявление, но нет влияния диодов, их проводов на сенсоры - дело в прошивке.
- Первым делом заменил сервопривод. Действительно, до включения сервы глюков не было. После замены сервы глюки остались. Вернул старую на место.
- Далее подсоединил электролит по питанию. На глаз ничего не поменялось - глюки остались.
- Осталась только прошивка. Не стал подсоединять предложенные выше библиотеки, а взял последнюю прошивку с проекта Алекса. К большому моему сожалению прошивка оказалась без lcd1602, но мне пока интересны глюки. Прошил и все вышеперечисленные глюки пропали, экран только горит засветкой и всё.
- Хочу напомнить, что для чистоты эксперимента, диодная лента выведена подальше от сенсоров, а именно за пределы аппарата и без всякого экранирования. Ну что, возвращаем диодную ленту на штатное место, к датчикам. Глюков нет.
А теперь самое обидное: корпус сделан под 5 рюмок, уже под ttp и lcd1602.
http://nauchebe.net/2011/03/filtraciya-pomex-v-istochnikax-pitaniya-mk/ У нас еще и помпа с коллекторным двигателем, и ВЧ помеха от сигнального провода диодов, лучше срезать всю помеху, чем она потом будет где-то вылезать!@Шурупчик, в мелких конденсаторах нет смысла, если они стоят параллельно большому электролиту.
Ну на помпе стоит конденсатор по схемеhttp://nauchebe.net/2011/03/filtraciya-pomex-v-istochnikax-pitaniya-mk/ У нас еще и помпа с коллекторным двигателем, и ВЧ помеха от сигнального провода диодов, лучше срезать всю помеху, чем она потом будет где-то вылезать!
У нас с VICLER был именно глюк сенсоров от сигнального провода светодиодов.Возможно смелое заявление, но нет влияния диодов, их проводов на сенсоры - дело в прошивке.
В моем случае, я даже насос не подключал, убрал со схемы все лишнее, нужно было найти причину глюков. По ссылке, в статье по фильтрам питания написано, что вч помеха, подлая, (плохо гасится и хорошо наводится), неполярный конд нужно ставить не далее 5 см от устройства, вот я и навешал их от души.Ну на помпе стоит конденсатор по схеме
Полностью с Вами согласен, но по темам столько про детали пишут, что они не соответствуют своим номиналам, что решил перестраховаться. И никогда бы не подумал, просто начал отключать ВСЕ , что сигнальный провод, будет давать помеху на емкостный сенсор, что-то с космосом связано) ЗЫ на каждом диоде в паралель +-, стоит маленький смд конд, НЕ ПОМОГ). Фонил сам провод.@Шурупчик, конденсаторы на питании, конечно, никогда не помешают, просто на самой arduino плате они уже есть после стабилизатора и там они гораздо ближе к мк)
Какая то другая схема наливатора?Подскажите, для чего на серво вешают резистор 4.7к между сигнальным проводом и "+" ?
А он поможет для более плавного движения дешёвой 90ой сервы, пока жду 996ю?@Шурупчик, это pullup резистор, подтягивающий сигнал к + питанию для более стабильной работы серво. Так по идее чувствительность к помехам должна быть меньше.
// ====== TICK ======
boolean ServoSmooth::tickManual() {
if (_tickFlag) {
_newSpeed = _servoTargetPos - _servoCurrentPos; // расчёт скорости
if (_servoState) {
_newSpeed = constrain(_newSpeed, -_servoMaxSpeed, _servoMaxSpeed); // ограничиваем по макс.
_servoCurrentPos += _newSpeed; // получаем новую позицию
//_newPos += (float)(_servoCurrentPos - _newPos) * _k; // и фильтруем её
_newPos = _servoCurrentPos; // и не фильтруем
_newPos = constrain(_newPos, _min, _max); // ограничиваем
writeUs((int)_newPos); // отправляем на серво
}
.
.
.
2200мФ повесил, сильно, т.е.вообще не помогло.Для более плавной и стабильной работы может большой конденсатор помочь (от 1000uF)
Здесь нельзя спам и рефералки. Всё остальное можноНу да, тут и ссылки кидали на другой сайт, не знаю можно ли здесь давать чужой адрес?
Будьте добры, с паяльником дружу, а вот с "новым программированием", как то тяжеловато. Я в принципе нашел, где нужно поправить код, попробовал через текстовый редактор, но файл .cpp , стал просто текстовым файлом. Ткнине пжл на статью, или какую программой Вы изпользуюте, для редактирование этих файлов. Попробовал через ардуино аде, но файл сохраняется как скетч.@Шурупчик, попробуйте) вообще думаю разницу не заметите.........
Правильно ли я сделал, .сср файл открыл текстовым редактором, поправил код, сохранил, и поменял расширение опять на .сср и заменил его в библиотеке?@Шурупчик, попробуйте) вообще думаю разницу не заметите. Для более плавной и стабильной работы может большой конденсатор помочь (от 1000uF) Ещё можно отключить фильтрацию в библиотеке ServoSmooth, это отключит ускорения, но может убрать дёргания при маленьких скоростях
ServoSmooth.cpp:// ====== TICK ====== boolean ServoSmooth::tickManual() { if (_tickFlag) { _newSpeed = _servoTargetPos - _servoCurrentPos; // расчёт скорости if (_servoState) { _newSpeed = constrain(_newSpeed, -_servoMaxSpeed, _servoMaxSpeed); // ограничиваем по макс. _servoCurrentPos += _newSpeed; // получаем новую позицию //_newPos += (float)(_servoCurrentPos - _newPos) * _k; // и фильтруем её _newPos = _servoCurrentPos; // и не фильтруем _newPos = constrain(_newPos, _min, _max); // ограничиваем writeUs((int)_newPos); // отправляем на серво } . . .
Спасибо разобрался, у Гайвера на сайте есть описание и ссылки на другие платформы.@Шурупчик, как Вы сохраняете файл после редактирования в текстовом редакторе? Вообще достаточно просто нажать ctrl+S и закрыть редактор. Расширение файла не изменится. Если поменяли .txt на .cpp то работать тоже будет
Тоже собираю на дисплее 1602, а можно поинтересоваться где взять скетч ?