Всем привет...покажите на скрине где на меге8 выводы ШИМ...это oc1a,oc1b ?заранее спасибо,ах да еще вопрос могу ли я подсоеденить один канал шим к плюсу,или даже к плюсам(их четыре вроде там) драйвера двигателей L293D,и регулировать скорость двигателей таким образом? Прикреплено изображение
nest
Отправлено: 15 Августа, 2010 - 17:53:00
Администратор
Сообщений всего: 4866
Дата рег-ции: Сент. 2009
для ШИМ у L293D есть специальные ноги ENA1 или ENA2
beam
Отправлено: 15 Августа, 2010 - 18:22:02
Главнокомандующий
Сообщений всего: 278
Дата рег-ции: Дек. 2009
njtcnm Enable1 и Enable2 да?...а у атмеги8 ШИМ где,какие выводы?
nest
Отправлено: 15 Августа, 2010 - 19:44:46
Администратор
Сообщений всего: 4866
Дата рег-ции: Сент. 2009
beam, а что за код для ШИМ вы будете использовать?
beam
Отправлено: 15 Августа, 2010 - 20:08:33
Главнокомандующий
Сообщений всего: 278
Дата рег-ции: Дек. 2009
покашто только кусок кода есть,как допишу,покажу,на проверку=),так што с мегой,какие выводы ШИМ?
mihail
Отправлено: 15 Августа, 2010 - 22:05:18
Гуру
Сообщений всего: 1065
Дата рег-ции: Март 2010
ATmega8
PWM (ШИМ)
Timer1 - PB1, PB2
Timer2 - PB3
Подробно режимы ШИМ описаны в datasheet в разделах посвященных таймерам/счетчикам.
beam
Отправлено: 15 Августа, 2010 - 23:46:59
Главнокомандующий
Сообщений всего: 278
Дата рег-ции: Дек. 2009
Значит если я подключу выходы PB1 и PB2 к входам Enable в драйвере двигателей L293D или наверно можно просто дать один сигнал ШИМ на ЕНЭЙБЛ и на ПЛЮС в драйвере...таким образом я смогу управлять скоростью вращения двигателя?
nest
Отправлено: 16 Августа, 2010 - 00:01:39
Администратор
Сообщений всего: 4866
Дата рег-ции: Сент. 2009
beam, вы уже решили, какой таймер вы будете использовать для ШИМ?
когда вы используете ШИМ, то у нас не будет ножек PB1, PB2 или PB3. У вас будут ножки OC1A, OC1B или OC2. На этих трёх ножках можно сделать ШИМ. То есть имеется три канала ШИМ.
один канал можно использовать для управления скоростью одного двигателя.
Посмотрите на структурную схему L293:
Нога ENA1 "отвечает" за ШИМ на выходах OUT1 и OUT2,
Нога ENA2 "отвечает" за ШИМ на выходах OUT3 и OUT4.
Вот как у вас двигатели тут подключены - так вам и нужно подавать ШИМ сигналы на L293.
Скорее всего опять не поймёте, но ... попробуйте переспросить :)
beam
Отправлено: 16 Августа, 2010 - 10:56:31
Главнокомандующий
Сообщений всего: 278
Дата рег-ции: Дек. 2009
OC1A я подсоеденяю к ENABLE1,а OC1B к ENABLE2,
nest
Отправлено: 16 Августа, 2010 - 18:51:13
Администратор
Сообщений всего: 4866
Дата рег-ции: Сент. 2009
beam пишет:
OC1A я подсоеденяю к ENABLE1,а OC1B к ENABLE2
так можно.
beam
Отправлено: 16 Августа, 2010 - 19:37:19
Главнокомандующий
Сообщений всего: 278
Дата рег-ции: Дек. 2009
Подробно прочитав о ШИМ я рискнул написать код,вы только не смейтесь если внем уж все неправильно=)ну вот код,
но это выдвет вот эти ошибки,я думаю что всетаки я напутал=) (Добавление)
пользовался програмкой Code Wision Прикреплено изображение
Отредактировано модератором: nest, 16 Августа, 2010 - 21:49:34 Следующий раз копируйте текст и вставте его текстом, а не картинкой.
mihail
Отправлено: 17 Августа, 2010 - 00:44:47
Гуру
Сообщений всего: 1065
Дата рег-ции: Март 2010
На всю программу ни строчки комментария В программу не вникал.
Суть ошибки о которой говорит компилятор в том, что компилятор не знает ничего о PWM10. Вместо PWM10 можете просто указать порядковый номер бита который хотите изменить. Но, у меня такое ощущение, что это поможет не сильно Не спешите прошивать микроконтроллер. Напишите к каждой строчке программы комментарий. Так хоть будет понятно, что Вы хотели сделать той или иной командой. Неплохо было бы почитать Ваше видение того как должна работать программа в целом (частота микроконтроллера, частота ШИМ, скважность).
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.