Форум myROBOT.ru » Шаг за шагом » Программирование микроконтроллеров » Шим для сервопривода...

Страниц (4): [1] 2 3 4 »
 

1. beam - 13 Февраля, 2014 - 14:05:22 - перейти к сообщению
Привет. Сделал Шим на таймере 16 бит. Для управления сервой MG996R она цифровая.Частотаконтроллера 1Mhz делю ее предделителем на 8 =125000герц и дели их на 50(тк.мне надо получить 50 герцовый шим) получается 2500,это значение запмсываю в регистр ICRN
(Добавление)
Забыл ...шим 8ми битный по сравнению с регистром ICRN ,в итоге следуя моим расчетам выше , на ноге OCRx я получу 50 герц?...Так же интересует ...цифровые и аналоговые сервоприводы управляюся сигналом на 50герц или может есть некотрое отличие в управлении ими?
2. elmot - 13 Февраля, 2014 - 14:57:01 - перейти к сообщению
beam пишет:
...Так же интересует ...цифровые и аналоговые сервоприводы управляюся сигналом на 50герц или может есть некотрое отличие в управлении ими?

Делай 50ГЦ - не прогадаешь. Это общепринятый протокол.
3. beam - 14 Февраля, 2014 - 02:08:58 - перейти к сообщению
Я конечно извеняюсь за тупой вопрос))),но вроде нету разницы буду ли я тактировать мк от внутреннего генератора на 1 Mhz или внешнего наример на 16Mhz, ведь в обоих случаях я делаю 50 гегц?? Я испошьзую внутренний генератор на 1 мегагагерц..... несмог найти время для углов поворота..и расчитал по своему..методом тыка)))серва поворачивается на все заданные градусы, но иногда дрожит ,, стоит мне подергать за качалку на валу и все норм,, из-за чего это дребежание? Может из за длинного промежутка между импульсами,, мертвая точка на этих сервах =5. И еще ...можно ли подключить питание на серву от одного источника , а на МК от другого?, ибо у меня нк данный момент все питается от одногг источника.
(Добавление)
Заранее спс
4. elmot - 14 Февраля, 2014 - 19:16:56 - перейти к сообщению
Можно-можно от внутреннего. 50 гц тоже не догма, оно может гулять туда-сюда в существенно больших пределах, чем нестабильность внутреннего генератора. а вот длительность импульса - это и есть угол поворота. Стандартно от 1 до 2мс, многие сервы держат бОльший диапазон. Дрожание без нагрузки - скорее всего питания не хватает. Дрожание под нагрузкой - неустранимое зло.
5. beam - 14 Февраля, 2014 - 19:43:02 - перейти к сообщению
Ясно .... Благодарю!)
6. beam - 15 Февраля, 2014 - 18:38:28 - перейти к сообщению
Могу ли я както регулировпть скорость поворота серв, или она задается на заводе..?
7. elmot - 15 Февраля, 2014 - 20:36:03 - перейти к сообщению
для стандартных серв - только меняя длительность импульса постепенно. Для каких-нибудь дорогущих dynamixel или перешитой цифровой сервы - может быть можно.
8. beam - 18 Февраля, 2014 - 02:14:17 - перейти к сообщению
Ясно..решил выставить фьюзы на 8 mhz от внутреннего генератора..взял старую атмегу8 ,прочитал фьюзы на ней с завода биты CKSEL выставлены на 1 Mhz собственно я выбрал прочитать фьюзы ,потом изменил 1110 на 0100 и нажал write all и все ничего неработает непрошивается неменяются фьюзы(((хорошо хоть атмегу 1280 неугробил)))насколько я вычитал в KHAZAMA AVR PROGRAMMER галлочка это 0 тоесть бит неустановлен))я это учел ...также действовал по схеме чтение модификация запись...кто работал с фьюзами через эту программу или может есть альтернативы..впервые лазаю к фьюзам,,тае что никакой практики,,,только теория,,,шью мк программатором USBasp...там был пункт читать фьюзы и пункт ЛОАД ,,я выбрал читать
(Добавление)
Последнее предложение -это про Кхазаму авр программер))
(Добавление)
И еще...при нажатии на кнопку лоад , выводились галочки только на фьюзах отвечающих за тактовый генератор КСЕЛ и СУТ,а при нажатии на кнопку Рид Олл ,выводилось намного больше галочек ,,,почему так?)
(Добавление)
Скажу честно - перечитал много статей...но видимо чтото упустил)) и вроде нетрогал те фьюзы которые блокируют прошивку мк через ISP
9. beam - 18 Февраля, 2014 - 15:28:40 - перейти к сообщению
1
10. Vladimir72 - 18 Февраля, 2014 - 19:26:28 - перейти к сообщению
SPIEN – фьюз, который разрешает работу МК по интерфейсу SPI. Все микроконтроллеры выпускаются с уже установленным битом SPIEN. Считается опасным фьюзом.

RSTDISBL – очень опасный фьюз, ошибочная установка может отключить вывод RESET, после чего пропадет возможность программирования ISP программатором. Бит RSTDISBL превращает вывод RESET в порт ввода-вывода.

beam напиши какие фьюз биты у тебя, для тебя стоят галки должны инверсно этой картинки
(Добавление)
посмотри при 0 запрограммирован или 1 это важно установка галок у всех оболочек по разному.
(Добавление)
в SinaProg V=0- (запрограммирован /бит активен), нет галки=1-(НЕ запрограммирован / НЕ активен), а у тебя как?
11. beam - 19 Февраля, 2014 - 00:02:50 - перейти к сообщению
Спасибо!...Вроде разобрался настроил на 8..от внутреннего генератора...Ладно расскажу...)))на самом деле я хочу разобраться с фьюзами...)осталось разобраться с настройкой фьюзов на внешний кварц...Использую Атмегу 16 программа Khazama avr programmer...галочка - это бит неустановлен (1), а пустой квадрат - это бит установлен (0)...По датащиту для настройки на внешний кварц(External Cristal/Ceramic Resonor) надо установить биты SKSEL 3...0
в 1111 - 1010,,,ниже табличка (Crystal Oscillator Operating Modes),где представлены комбинации
(Добавление)
Для резонатора на 8 мегагерц биты CKSEL 3...1 ( я заметил что менять надо только 3 бита ) ставим в 1111 ...а бит CKOPT ставим в 1....также смутило то , что нету комбинации для 16 или 12 мегагерцового резонатора.
(Добавление)
Ну а теперь о главном))) передомной программа Кхазама авр...По стандарту Атмела 1 - фьюз не установлен, а 0 - установлен ...передомной 4 бита фьюза CKSEL3...0 что мне в них записать , для настройки на внешний резонатор на 8 Мгц? Исходя из 2х таблиц ... Когда я прочитал фьюзы ...я меняю только те что мне надо и все - запись? Те что стояли просто перезапишутся?
12. beam - 19 Февраля, 2014 - 00:19:59 - перейти к сообщению
Вот первая таблица
13. beam - 19 Февраля, 2014 - 00:20:28 - перейти к сообщению
Вот вторая
(Добавление)
Это последний Мк )) боюсь чегото напартачить))) так бы щас пробовал )))
(Добавление)
Какая разница между " Внешним тактовым сигналом и внешним тактовым генератором"? И что мнн выбрать ?)
14. Vladimir72 - 19 Февраля, 2014 - 01:49:31 - перейти к сообщению
на примере mega8

0001- 1MHz заводские настройки внутренний RC генератор
0010- 2MHz внутренний RC генератор
0011- 4MHz внутренний RC генератор
0100- 8MHz внутренний RC генератор
0000- 1-16MHz внешний кварц
SUT – задает скорость запуска микроконтроллера.
После снятия «сброса» (или подачи питания) программа, записанная в микроконтроллер, начинает работать не мгновенно. Микроконтроллер выжидает некоторое время, для того, чтобы нормально запустился тактовый генератор, установилось напряжение питания и т.д. Время ожидания до запуска программы и задают биты SUT1…0. Чаще всего нам не критична скорость запуска, поэтому советую ставить на максимум.
SUT1..0 = 11 – максимальное время запуска (чуть больше 65 mS).

все очень просто 0000 - для внешнего Голливудская улыбка

кто будет использовать для mega8L 0000 до 8MHz внешний, смотрите Даташит...
15. beam - 19 Февраля, 2014 - 03:05:20 - перейти к сообщению
Оо получилось...спасибо! Работает даже с кварцом на 16 Мгц)))я CKOP в ноль поставил))Все опыты прошли успешно)) в общем насколько я понял ,то у всех МК семейства Мега настройка фьюзов очень сильно похожа, а местаит даже одинакова,, но серавно както стремно мне шить фьюзы в атмеге 1280)))