Пятница, 29.03.2024, 11:46
Вы вошли как Гость | Группа "Гости"Приветствую Вас Гость | RSS
Главная | Пропорциональное управление на МК с нуля - Страница 31 - Форум | Мой профиль | Регистрация | Выход | Вход
Обитель RC-инженера
Форма входа
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Модератор форума: ВитГо  
Форум » Разработка электронных устройств » Разрабатываю ! » Пропорциональное управление на МК с нуля (пошаговое строительство пропорционального управления с нуля)
Пропорциональное управление на МК с нуля
uwrteyДата: Суббота, 03.08.2013, 22:50 | Сообщение # 451
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Ура! я победил один канал! теперь я могу управлять сервоприводом! осталось добавить обработку двух первых каналов .... ( заготовка то у меня уже есть ... )
Прикрепления: upravlenie_serv.zip (3.8 Kb) · krivaya_zagotov.zip (4.6 Kb)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Суббота, 03.08.2013, 22:54
 
ВитГоДата: Вторник, 06.08.2013, 00:14 | Сообщение # 452
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
cool

Виталий (аka ВитГо)
 
uwrteyДата: Вторник, 06.08.2013, 09:22 | Сообщение # 453
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Я добавил в программу управление моторами. ( полностью собрал программу и решил ее проверить )
Подключил моторы и разочаровался: ни моторы ни сервопривод тангажа не исполняют команды! sad
Я уж подумал, что допустил ошибку, когда добавлял управление моторами....
Но не тут-то было. Я просто отключил моторы и сервопривод тангажа стал выполнять команды с передатчика.
Не понимаю как моторы могут повлиять на работу программы? // надо проверить не просаживают ли они напряжение ...
датащит на ключевые транзисторы

ПС вопрос продублировал тут http://radiokot.ru/forum/viewtopic.php?f=57&t=92458&p=1751073#p1751073
Прикрепления: 8101438.gif (21.3 Kb) · _1.txt (20.2 Kb)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Вторник, 06.08.2013, 18:05
 
ВитГоДата: Вторник, 06.08.2013, 21:16 | Сообщение # 454
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
моторы коллекторные ?
смотри помехи !! помниться в советские времена параллельно моторам керамику ставили - для того что искрение уменьшить


Виталий (аka ВитГо)
 
uwrteyДата: Суббота, 10.08.2013, 01:09 | Сообщение # 455
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Да моторы коллекторные.

Каждый мотор имеет на себе печатную плату с smd-компонентами. На каждой плате по три конденсатора: С1 между полюсами, С2 между положительным полюсом и корпусом, С3 между отрицательным полюсом и корпусом. А так-же на каждой плате есть полярный компонент между полюсами - скорее всего это полярный конденсатор ( на нем написано 952 b540 ) а на самой плате подписано T23-370MT ( я не знаю точно, что это такое - но вроде не диод... )

Я думаю, что помехи тут не при чем - моторы ведь не крутятся еще пока.... ( помехи будут тогда, когда моторы начнут работать )

Я как-то сидел на форуме где разрабатывали импульсный сварочник, так вот - там все подключали силовые транзисторы к МК через так называемый "драйвер"
Этот драйвер мог обеспечивать гальваническую развязку цепи, отвечал за полное открытие и закрытие ключевых элементов....
Может и тут нужно что то подобное городить ?

можно в цепь питания моторов диоды добавить, а то индуктивная нагрузка такая паразитная...

Добавлено (07.08.2013, 23:16)
---------------------------------------------
Для того, что-бы исключить влияние помех от индуктивной нагрузки, вместо моторов я включил лампы накаливания. А также в цепь их питания я включил диоды.
Теперь сервопривод исполняет команды передатчика, но при этом дорожит, как волчий хвост на морозе...
Сами же лампы накаливания работают странным образом: одна из них постоянно потухшая, а вторая мигает хаотичным образом.

Я Подозреваю, что программная ошибка все же есть ( у меня еще ни разу не обходилось без ошибок )
Но так-же подозреваю, что есть ошибка в схемотехнике. Может тут нужно какой-то драйвер использовать? или гальванически развязать цепь нужно ?

Вот нашел первую программную ошибку: частота ШИМа организованного на таймере_0 слишком велика ~ 7,8 Килогерца....
многовато наверно для такого транзистора....

Кстати, транзисторы у меня Б.У. - возможно - они не рабочие... sad

Добавлено (09.08.2013, 13:14)
---------------------------------------------
Цитата ("uwrtey")
Теперь сервопривод исполняет команды передатчика, но при этом дорожит, как волчий хвост на морозе...

Я снизил частоту ШИМа до 61 герца и дрожание сервопривода прекратилось. Интересно какая тут взаимосвязь была ?
Остальные проблемы пока остались - решаю...

Транзисторы проверил - они рабочие... ( хотя, я их уже скорее всего проверял... )

Добавлено (10.08.2013, 01:09)
---------------------------------------------
Исправил еще две программный ошибки в подпрограмме деления... Как посветлеет буду тестировать cool


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Суббота, 10.08.2013, 01:10
 
ВитГоДата: Суббота, 10.08.2013, 07:35 | Сообщение # 456
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
гм.. снизил частоту шима на выход ? на моторы ? или на сервопривод ?
если последнее то у него частота должна быть 50 гц!!!


Виталий (аka ВитГо)
 
uwrteyДата: Суббота, 10.08.2013, 15:08 | Сообщение # 457
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Я снизил частоту ШИМа который управляет моторами ( в данный момент у меня вместо моторов лампы накаливания, что-бы небыло индуктивных помех ) и дрожание сервопривода прекратилось.
Не вижу взаимосвязи между ШИМом сервопривода и ШИМом для моторов. ( Хотя догадываюсь что это наводки по питанию... )

Добавлено (10.08.2013, 15:08)
---------------------------------------------
В данный момент борюсь с еще одним непонятным глюком.

Напоминаю, что вместо моторов у меня включены лампы накаливания ( это что бы исключить возможные помехи с моторов )

У меня, при старте приемника, ( когда еще не включен передатчик и в приемнике не случилось ни одного прерывания ) на лампы должен выводится ШИМ с импульсом равным нулю
( то-есть лампы не должны светить )
А на самом деле лампы горят в полный накал.
Настройки Таймера_0 в полном порядке. ( я урезал программу, что-бы проверить ШИМ на таймере_0. И у меня все работало... )

Вот я и не могу понять, как так происходит, что приемник стартует и лампы сразу же зажигаются.
Правда я не смотрел осциллограмму ШИМа, который выводится на моторы ( на лампы в данном случае ), но я уверен, что там белиберда...
Ох, чувствую я, что тут не только программная ошибка....
Такое ощущение, что эти два аппаратных ШИМа ( на таймере_0 и на таймере_1 ) как-то связаны друг с другом и как то друг на друга влияют....

Пошел узнаю нужен ли драйвер к транзисторам http://radiokot.ru/forum/viewtopic.php?f=21&t=93034
Прикрепления: _2-.txt (20.5 Kb)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Суббота, 10.08.2013, 23:34
 
ВитГоДата: Воскресенье, 11.08.2013, 10:18 | Сообщение # 458
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
проверь на всякий случай работу со стеком в прерываниях !
обязательно флаговый регистр сохраняй\восстанавливай..


Виталий (аka ВитГо)
 
uwrteyДата: Воскресенье, 11.08.2013, 18:54 | Сообщение # 459
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
не понял...
со стеком вроде все в порядке - сохраняю потом восстанавливаю..

Добавлено (11.08.2013, 18:54)
---------------------------------------------
Цитата
У меня, при старте приемника, ( когда еще не включен передатчик и в приемнике не случилось ни одного прерывания ) на лампы должен выводится ШИМ с импульсом равным нулю
( то-есть лампы не должны светить )
А на самом деле лампы горят в полный накал.
Настройки Таймера_0 в полном порядке. ( я урезал программу, что-бы проверить ШИМ на таймере_0. И у меня все работало... )

с этим кажись разобрался... похоже, что срабатывает прерывание и поэтому на лампы выводится ШИМ ( со случайной длительностью ) !!!
если ножку ICP посадить на землю ( через резюк естественно ), то лампы зажигаются - значит срабатывает прерывание по захвату падающего фронта.
если ножку ICP подтянуть к питанию МК ( через резюк ), то лампы остаются потухшими - значит прерывание по захвату падающего фронта не срабатывает...
как то вот так...
я попробовал перенастроить вход в прерывание по захвату нарастающего фронта - не помогло...
подтягивать ножку ICP к питанию МК - это выход в данном случае, но этого делать не стоит - возникнут проблемы с подключением радиомодуля...

Ладно, это второстепенная проблема - потом буду ее решать, когда ВЧ модуль подключу....

Сейчас более актуальна проблема в основном коде программы. Лампочки - мигают сами по себе ( короче живут своей жизнью... )


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Воскресенье, 11.08.2013, 22:29
 
ВитГоДата: Вторник, 13.08.2013, 06:27 | Сообщение # 460
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
проверь не происходит ли у тебя самопроизвольный сброс ?

кинь последнюю схему подключения.. ты на все нужные ноги питание подаешь ?

ну и проверить нужно вход\выход из прерываний..

эхх... все никак не гляну твой код :-( домой раньше 23-не прихожу :-((((


Виталий (аka ВитГо)
 
uwrteyДата: Вторник, 13.08.2013, 15:26 | Сообщение # 461
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Цитата (ВитГо)
раньше 23-не прихожу :-((((

самое главное что-бы это оправдано было... cool

А у меня приятель работает в Volvo и предлагает мне написать туда анкету - там как раз местечко появилось...
Компания Volvo находится на 16 месте в рейтинге по ( не помню как это точно называется ) качеству отношения к персоналу.... ( все официально, весь соц пакет, страховки разные.. )
А я что то уже неделю ни как не соберусь... Для меня смена работы это фобия.

по делу:
не помню зачем я повесил диод на управляющую линию сервопривода, но у меня он там есть... dry
по идее, если есть диод, то нужен и резистор, который нарисован красным цветом, для того что бы лог_0 мог иметь место быть ( у меня нет этого резюка и все работает )

я нашел более интересную логическую ошибку в микшере
при таком раскладе, кок организован микшер сейчас
; THR1=THR+RUDS
; THR2=THR-RUDS

при малом газе и при повороте ручки RUD вправо или влево, при вычитании будет получаться отрицательное число .. Дальше сам понимаешь
Я решил не усложнять программу и не заморачиваться с переводом отрицательных чисел в положительные
а просто упростить формулу ( это конечно не правильно, так как вертолет при повороте будет набирать высоту )

вот такая формула

; THR1=THR+RUDS
; THR2=THR

Вроде исправил ошибку, но что то все равно не работает ...
где то еще есть ошибка...
Прикрепления: 9604911.gif (32.2 Kb)


не успеваю за своими мыслями......
 
uwrteyДата: Среда, 14.08.2013, 15:00 | Сообщение # 462
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
сократил код - убрал обработку RUD и убрал микшер - оставил для управления моторами только THR
но лампочки все равно мигают как хотят...
че то я не пойму в чем дело ( сервопривод при этом управляется без проблем )

Добавлено (14.08.2013, 15:00)
---------------------------------------------
сдается мне, что это все та же проблема которая о которой шла речь выше
выводится шим, в то время когда не должен....

Прикрепления: 3013311.txt (16.5 Kb)


не успеваю за своими мыслями......

Сообщение отредактировал uwrtey - Среда, 14.08.2013, 01:57
 
uwrteyДата: Четверг, 15.08.2013, 23:55 | Сообщение # 463
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Ура!!!!!!!!!!!!!!!

я нашел основной глюк! При чем сам нашел! - без помощи!
я не правильно делал деление !

вот как надо

LSR XH ; логический сдвиг вправо 16-ти битного числа ( разделить на два )
ROR XL ; ( циклический сдвиг вправо )


а было вот так

LSR XL ; логический сдвиг вправо 16-ти битного числа ( разделить на два )
ROR XH ; ( циклический сдвиг вправо )


и теперь программа работает целиком и полностью!
осталось только прицепить моторы вместо лампочек и прикошачить ВЧ модули biggrin
завтра постараюсь начать монтаж smile
Прикрепления: receiver.zip (6.1 Kb)


не успеваю за своими мыслями......
 
ВитГоДата: Воскресенье, 18.08.2013, 17:44 | Сообщение # 464
Полковник
Группа: Администраторы
Сообщений: 2422
Репутация: 20
Статус: Offline
дааа, тебя уже учить нечему :-)

когда видео испытаний ?


Виталий (аka ВитГо)
 
uwrteyДата: Воскресенье, 18.08.2013, 19:38 | Сообщение # 465
Генерал-майор
Группа: Администраторы
Сообщений: 3256
Репутация: 11
Статус: Offline
Скоро все будет... smile ( опять на рыбалку ездил... )

не успеваю за своими мыслями......
 
Форум » Разработка электронных устройств » Разрабатываю ! » Пропорциональное управление на МК с нуля (пошаговое строительство пропорционального управления с нуля)
Поиск:


Copyright MyCorp © 2024
Сделать бесплатный сайт с uCoz