Не пинайте пожалуйста ногами... Просто я начал уже учиться под avr-gcc писать, а везде примеры или только под CVAVR или управление серво при помощи аппаратного ШИМа... Я себе поставил цель управлять 12-ю сервами при помощи программного шима на AtMega16. Как я понял ШИМ можно генерировать в данной ситуации при помощи прерываний по одному таймеру, но как это сделать мне до сих пор не ясно... Может кто программирует под WinAVR и во всех мельчайших подробностях объяснит...или хотя-бы даст дельные советы... Сразу говорю - все курсы я уже перечитал, и прогуглил, и ресурс winavr.scienceprog.com тоже прочитал. Однако неясность осталась, надеюсь на понимание и помощь!
Granit писал(а): цель управлять 12-ю сервами при помощи программного шима на AtMega16. во всех мельчайших подробностях объяснит...или хотя-бы даст дельные советы...
http://avr123.nm.ru/z13.htm - управление 8 servo на одном таймере - разъяснено детально. Реализация на Си и от компилятора зависят только некоторые строки.
Извините, но у вас там всё перемешано... Там вместе с передачей данных... мне отдельно нужно, неясность даже наверное в том, как формируется сигнал ШИМ(
ШИМ аппаратный делают вот так - http://avr123.nm.ru/z8.htm А при програмном ШИМ просто управляют таймеровм как в задаче 6 - http://avr123.nm.ru/z6.htm - каждый раз вписывают с какого числа считать до переполнения и соотв. прерывания, или таймер всегда с нуля считает а вписывают число при насчете которого сделать прерывание. В прерывании уже "дергают ножками" МК.
Granit писал(а): Сразу говорю - все курсы я уже перечитал, и прогуглил, и ресурс winavr.scienceprog.com тоже прочитал. Однако неясность осталась, надеюсь на понимание и помощь!
Значит заканчивай читать и начинай ДУМАТЬ. Конкретнее в чем неясность у тебя осталась?
Granit писал(а): Как формируется ШИМ
ШИМ 100% - постоянное напряжение 100% времени "1" ШИМ 50% - меандр - 50% времени "1" 50% времени "0" ШИМ 0% - нет импульсов 100% времени "0" Остальное вариации :о)
Напишт подробнее Что ты хочешь для одной ноги - что не понятно? Рассмотрим А на "N" ног уже сделаешь по образу и подобию. Наводящий вопрос - Какая частота тебе нужна?
Сегодня наконец-то получилось МК прошить, правда сделано всё было на соплях, но вобщем-то я нашёл http://winavr.scienceprog.com/example-a ... g-avr.html - быстренько забил в редактор и прошил, и серва у меня почему-то просто дёргалась, причём вал не поворачивался, а было слышно только "чиканье". МК Atmega8L, серва Mg9995, питал всё от мезинчиковых батареек 1.5, подключённых последовательно, т.е. 4.5В
Чё-та я теперь окончательно запутался даже с аппаратным шимом о_О. Файлы выложил
Добавлено спустя 24 минуты 32 секунды: Кстати вот по поводу питания - я всё собрал на коленке, проводами от витой пары)))) вся схема у меня была "на соплях", просто хотелось проверить что всё работает. МК прошился, но раза со стопицотого, т.к. я ножки от программатора перепутал, поэтому программатор писал что-то вроде 0x12 != 0xff. Я в принципе-то хочу паучка сделать, есть 12 сер мощных, простор для творчества))) Запитать сервы от отдельного питания на аккумуляторах по 1.5В, последовательно подключённых в кол-ве 4-х штук, т.е. получим 6В, а МК от 3-х отдельных тоже последовательно подключённых, т.е. 4.6В. Я понял что при таком питании не стоит заморачиваться различными стабилизаторами, поскольку питание МК никак проседать не будет=)