Зравствуйте. Сегодня мы сделаем нашу вторую, самую простую схему-с 1 моторчиком. Схема опять же самая простая, на остальных сайтах ее очень уж усложняли. Вот список детали, для нашей работы: 1)Резистор 5,6-10 кОм 2)Драйвер двигателей, в моем случае toshiba TA7291P 3)Моторчик 4)Необязательная деталь, но всеже крайне советую ее использовать-стабилизатор напряжения 5в. 7805 5)Конденсатор 33 пФ(Я лично не ставил, но так напиано в appnotes у производителя) 6)Конденсатор 100 НФ(Я лично не ставил, но так напиано в appnotes у производителя) Приступимс к работе… Схема : Для тех, кто не понял на рисунке, говорю словами: Vcc и Avcc соеденяете проводками, GND и GND тоже. От PC6(reset) к Vcc идет резистор 5,6-10 кОм. От BP1 идет на toshiba выход 5, от PB2 на 6. Моточик соеденяем к выходам 2 и 10. Выход 4, 7,8 идут на Vcc, выход 1 на GND.Ставим кондер 100 нФ между 7805(как на рисунке). И ставим кондер 33Пф между AREF и GND Объесняем что мы делаем: 1)Соеденяем VCC и AVCC для того, что бы контроллер начал работать. 2)От reset резистор для этого же. 3)Toshiba с контроллером соеденяем 5,6(думаю понятно зачем). 4)Моторчик на выходы 2 и 10, тоже думаю понятно зачем. 5)Питание это выход 1(GND);4,7,8 Vcc, про питание и говорить нечего. Вот программа на языке СИ для того, чтобы это начало работать (// это пояснения, их программа не читает): #include <mega8.h> // хэдер файл, он обязателен, для каждого мк он индивидуален(лежит в папке с программой для прошивки МК) #include <delay.h> // библиотека для того, чтобы делать паузы в процессе выполнения программы(тоже лежит с программой) void main(void)//Начало основной программы {//открытие программы DDRB.1 =0xff;// настраиваем порт Б 1 на выход DDRB.2 =0xff;// настраиваем порт Б 2 на выход while(1){//открытие бесконечного цикла PORTB.1=0xFF;//ставим бит 1 порта Б 1 равным логич. еденице, т.е. 5 вольт PORTB.2=0x00;//ставим бит 0 порта Б 2 delay_ms(1000);// пауза 1 секунда PORTB.1=0x00;// ставим бит 0 порта Б 1 PORTB.2=0xFF;//ставим бит 1 порта Б 2 равным логич. еденице, т.е. 5 вольт delay_ms(1000);// пауза 1 секунда }//закрытие бесконечного цикла }//закрытие программы Если не будет работать, то прошейте фьюзы по калькулятору фьюзов. Там все просто, выставляешь настройки, внизу появляются галки, и на оборот: Если все правильно сделали, то моторчик должен крутиться в обе стороны. Можете поиграться с программой
|