Пропорциональное управление на МК с нуля
| |
uwrtey | Дата: Суббота, 03.08.2013, 22:50 | Сообщение # 451 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Ура! я победил один канал! теперь я могу управлять сервоприводом! осталось добавить обработку двух первых каналов .... ( заготовка то у меня уже есть ... )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 03.08.2013, 22:54 |
|
| |
ВитГо | Дата: Вторник, 06.08.2013, 00:14 | Сообщение # 452 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
|
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Вторник, 06.08.2013, 09:22 | Сообщение # 453 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Я добавил в программу управление моторами. ( полностью собрал программу и решил ее проверить ) Подключил моторы и разочаровался: ни моторы ни сервопривод тангажа не исполняют команды! Я уж подумал, что допустил ошибку, когда добавлял управление моторами.... Но не тут-то было. Я просто отключил моторы и сервопривод тангажа стал выполнять команды с передатчика. Не понимаю как моторы могут повлиять на работу программы? // надо проверить не просаживают ли они напряжение ... датащит на ключевые транзисторы
ПС вопрос продублировал тут http://radiokot.ru/forum/viewtopic.php?f=57&t=92458&p=1751073#p1751073
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Вторник, 06.08.2013, 18:05 |
|
| |
ВитГо | Дата: Вторник, 06.08.2013, 21:16 | Сообщение # 454 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| моторы коллекторные ? смотри помехи !! помниться в советские времена параллельно моторам керамику ставили - для того что искрение уменьшить
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 10.08.2013, 01:09 | Сообщение # 455 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Да моторы коллекторные.
Каждый мотор имеет на себе печатную плату с smd-компонентами. На каждой плате по три конденсатора: С1 между полюсами, С2 между положительным полюсом и корпусом, С3 между отрицательным полюсом и корпусом. А так-же на каждой плате есть полярный компонент между полюсами - скорее всего это полярный конденсатор ( на нем написано 952 b540 ) а на самой плате подписано T23-370MT ( я не знаю точно, что это такое - но вроде не диод... )
Я думаю, что помехи тут не при чем - моторы ведь не крутятся еще пока.... ( помехи будут тогда, когда моторы начнут работать )
Я как-то сидел на форуме где разрабатывали импульсный сварочник, так вот - там все подключали силовые транзисторы к МК через так называемый "драйвер" Этот драйвер мог обеспечивать гальваническую развязку цепи, отвечал за полное открытие и закрытие ключевых элементов.... Может и тут нужно что то подобное городить ?
можно в цепь питания моторов диоды добавить, а то индуктивная нагрузка такая паразитная...
Добавлено (07.08.2013, 23:16) --------------------------------------------- Для того, что-бы исключить влияние помех от индуктивной нагрузки, вместо моторов я включил лампы накаливания. А также в цепь их питания я включил диоды. Теперь сервопривод исполняет команды передатчика, но при этом дорожит, как волчий хвост на морозе... Сами же лампы накаливания работают странным образом: одна из них постоянно потухшая, а вторая мигает хаотичным образом.
Я Подозреваю, что программная ошибка все же есть ( у меня еще ни разу не обходилось без ошибок ) Но так-же подозреваю, что есть ошибка в схемотехнике. Может тут нужно какой-то драйвер использовать? или гальванически развязать цепь нужно ?
Вот нашел первую программную ошибку: частота ШИМа организованного на таймере_0 слишком велика ~ 7,8 Килогерца.... многовато наверно для такого транзистора....
Кстати, транзисторы у меня Б.У. - возможно - они не рабочие...
Добавлено (09.08.2013, 13:14) --------------------------------------------- Цитата ("uwrtey") Теперь сервопривод исполняет команды передатчика, но при этом дорожит, как волчий хвост на морозе... Я снизил частоту ШИМа до 61 герца и дрожание сервопривода прекратилось. Интересно какая тут взаимосвязь была ? Остальные проблемы пока остались - решаю...
Транзисторы проверил - они рабочие... ( хотя, я их уже скорее всего проверял... )
Добавлено (10.08.2013, 01:09) --------------------------------------------- Исправил еще две программный ошибки в подпрограмме деления... Как посветлеет буду тестировать
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 10.08.2013, 01:10 |
|
| |
ВитГо | Дата: Суббота, 10.08.2013, 07:35 | Сообщение # 456 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| гм.. снизил частоту шима на выход ? на моторы ? или на сервопривод ? если последнее то у него частота должна быть 50 гц!!!
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Суббота, 10.08.2013, 15:08 | Сообщение # 457 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Я снизил частоту ШИМа который управляет моторами ( в данный момент у меня вместо моторов лампы накаливания, что-бы небыло индуктивных помех ) и дрожание сервопривода прекратилось. Не вижу взаимосвязи между ШИМом сервопривода и ШИМом для моторов. ( Хотя догадываюсь что это наводки по питанию... )
Добавлено (10.08.2013, 15:08) --------------------------------------------- В данный момент борюсь с еще одним непонятным глюком.
Напоминаю, что вместо моторов у меня включены лампы накаливания ( это что бы исключить возможные помехи с моторов )
У меня, при старте приемника, ( когда еще не включен передатчик и в приемнике не случилось ни одного прерывания ) на лампы должен выводится ШИМ с импульсом равным нулю ( то-есть лампы не должны светить ) А на самом деле лампы горят в полный накал. Настройки Таймера_0 в полном порядке. ( я урезал программу, что-бы проверить ШИМ на таймере_0. И у меня все работало... )
Вот я и не могу понять, как так происходит, что приемник стартует и лампы сразу же зажигаются. Правда я не смотрел осциллограмму ШИМа, который выводится на моторы ( на лампы в данном случае ), но я уверен, что там белиберда... Ох, чувствую я, что тут не только программная ошибка.... Такое ощущение, что эти два аппаратных ШИМа ( на таймере_0 и на таймере_1 ) как-то связаны друг с другом и как то друг на друга влияют....
Пошел узнаю нужен ли драйвер к транзисторам http://radiokot.ru/forum/viewtopic.php?f=21&t=93034
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Суббота, 10.08.2013, 23:34 |
|
| |
ВитГо | Дата: Воскресенье, 11.08.2013, 10:18 | Сообщение # 458 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| проверь на всякий случай работу со стеком в прерываниях ! обязательно флаговый регистр сохраняй\восстанавливай..
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 11.08.2013, 18:54 | Сообщение # 459 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| не понял... со стеком вроде все в порядке - сохраняю потом восстанавливаю..
Добавлено (11.08.2013, 18:54) --------------------------------------------- Цитата У меня, при старте приемника, ( когда еще не включен передатчик и в приемнике не случилось ни одного прерывания ) на лампы должен выводится ШИМ с импульсом равным нулю ( то-есть лампы не должны светить ) А на самом деле лампы горят в полный накал. Настройки Таймера_0 в полном порядке. ( я урезал программу, что-бы проверить ШИМ на таймере_0. И у меня все работало... ) с этим кажись разобрался... похоже, что срабатывает прерывание и поэтому на лампы выводится ШИМ ( со случайной длительностью ) !!! если ножку ICP посадить на землю ( через резюк естественно ), то лампы зажигаются - значит срабатывает прерывание по захвату падающего фронта. если ножку ICP подтянуть к питанию МК ( через резюк ), то лампы остаются потухшими - значит прерывание по захвату падающего фронта не срабатывает... как то вот так... я попробовал перенастроить вход в прерывание по захвату нарастающего фронта - не помогло... подтягивать ножку ICP к питанию МК - это выход в данном случае, но этого делать не стоит - возникнут проблемы с подключением радиомодуля... Ладно, это второстепенная проблема - потом буду ее решать, когда ВЧ модуль подключу....
Сейчас более актуальна проблема в основном коде программы. Лампочки - мигают сами по себе ( короче живут своей жизнью... )
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Воскресенье, 11.08.2013, 22:29 |
|
| |
ВитГо | Дата: Вторник, 13.08.2013, 06:27 | Сообщение # 460 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| проверь не происходит ли у тебя самопроизвольный сброс ?
кинь последнюю схему подключения.. ты на все нужные ноги питание подаешь ?
ну и проверить нужно вход\выход из прерываний..
эхх... все никак не гляну твой код :-( домой раньше 23-не прихожу :-((((
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Вторник, 13.08.2013, 15:26 | Сообщение # 461 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Цитата (ВитГо) раньше 23-не прихожу :-(((( самое главное что-бы это оправдано было...
А у меня приятель работает в Volvo и предлагает мне написать туда анкету - там как раз местечко появилось... Компания Volvo находится на 16 месте в рейтинге по ( не помню как это точно называется ) качеству отношения к персоналу.... ( все официально, весь соц пакет, страховки разные.. ) А я что то уже неделю ни как не соберусь... Для меня смена работы это фобия.
по делу: не помню зачем я повесил диод на управляющую линию сервопривода, но у меня он там есть... по идее, если есть диод, то нужен и резистор, который нарисован красным цветом, для того что бы лог_0 мог иметь место быть ( у меня нет этого резюка и все работает )
я нашел более интересную логическую ошибку в микшере при таком раскладе, кок организован микшер сейчас ; THR1=THR+RUDS ; THR2=THR-RUDS
при малом газе и при повороте ручки RUD вправо или влево, при вычитании будет получаться отрицательное число .. Дальше сам понимаешь Я решил не усложнять программу и не заморачиваться с переводом отрицательных чисел в положительные а просто упростить формулу ( это конечно не правильно, так как вертолет при повороте будет набирать высоту )
вот такая формула
; THR1=THR+RUDS ; THR2=THR
Вроде исправил ошибку, но что то все равно не работает ... где то еще есть ошибка...
не успеваю за своими мыслями......
|
|
| |
uwrtey | Дата: Среда, 14.08.2013, 15:00 | Сообщение # 462 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| сократил код - убрал обработку RUD и убрал микшер - оставил для управления моторами только THR но лампочки все равно мигают как хотят... че то я не пойму в чем дело ( сервопривод при этом управляется без проблем )Добавлено (14.08.2013, 15:00) --------------------------------------------- сдается мне, что это все та же проблема которая о которой шла речь выше выводится шим, в то время когда не должен....
не успеваю за своими мыслями......
Сообщение отредактировал uwrtey - Среда, 14.08.2013, 01:57 |
|
| |
uwrtey | Дата: Четверг, 15.08.2013, 23:55 | Сообщение # 463 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Ура!!!!!!!!!!!!!!!
я нашел основной глюк! При чем сам нашел! - без помощи! я не правильно делал деление !
вот как надо
LSR XH ; логический сдвиг вправо 16-ти битного числа ( разделить на два ) ROR XL ; ( циклический сдвиг вправо )
а было вот так
LSR XL ; логический сдвиг вправо 16-ти битного числа ( разделить на два ) ROR XH ; ( циклический сдвиг вправо )
и теперь программа работает целиком и полностью! осталось только прицепить моторы вместо лампочек и прикошачить ВЧ модули завтра постараюсь начать монтаж
не успеваю за своими мыслями......
|
|
| |
ВитГо | Дата: Воскресенье, 18.08.2013, 17:44 | Сообщение # 464 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| дааа, тебя уже учить нечему :-)
когда видео испытаний ?
Виталий (аka ВитГо)
|
|
| |
uwrtey | Дата: Воскресенье, 18.08.2013, 19:38 | Сообщение # 465 |
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Статус: Offline
| Скоро все будет... ( опять на рыбалку ездил... )
не успеваю за своими мыслями......
|
|
| |
|