|
Аппаратный ШИМ на ATtiny2313, А также несколько вопросов относительно него |
|
|
|
Mar 5 2011, 15:31
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Здравствуйте. Нужно сделать аппаратный ШИМ на Attiny2313. Немного почитал разные источники и вроде сделал 8-битный Fast PWM. Проверьте все ли правильно. Если да, то как мне сделать ФНЧ для этого ШИМа. Вообще задача состоит в том, чтобы управлять скоростью моторчиков у "робота". Код #define F_CPU 8000000UL // указываем частоту в герцах #include <avr/io.h> #include <util/delay.h>
int main(void) // начало основной программы { TCCR1A = (1<<COM1B1) | (1<<WGM10); TCCR1B = (1<<WGM12) | (1<<CS10); OCR1B = 50; DDRB |= (1<<PB4); }
|
|
|
|
|
Mar 5 2011, 15:42
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(bfrogg @ Mar 5 2011, 19:31)  Здравствуйте. Нужно сделать аппаратный ШИМ на Attiny2313. Немного почитал разные источники и вроде сделал 8-битный Fast PWM. Проверьте все ли правильно. Если да, то как мне сделать ФНЧ для этого ШИМа.
Вообще задача состоит в том, чтобы управлять скоростью моторчиков у "робота". 1. А кто ж его проверять-то будет, кроме вас ? Вы же не школьник, чтобы за вами задания домашние проверять. В железе работает ? Ну, тогда все в порядке ... 2. Читаем Трамперта, главу 4, там это подробно и обстоятельно расписано: http://lord-n.narod.ru/walla.html3. А что за моторчик ? Они ведь очень разные есть ...
Сообщение отредактировал kovigor - Mar 5 2011, 15:43
|
|
|
|
|
Mar 5 2011, 15:42
|

Частый гость
 
Группа: Участник
Сообщений: 98
Регистрация: 20-06-05
Пользователь №: 6 150

|
Цитата(bfrogg @ Mar 5 2011, 19:31)  Здравствуйте. Нужно сделать аппаратный ШИМ на Attiny2313. Немного почитал разные источники и вроде сделал 8-битный Fast PWM. Проверьте все ли правильно. Если да, то как мне сделать ФНЧ для этого ШИМа. Вообще задача состоит в том, чтобы управлять скоростью моторчиков у "робота". Каких моторчиков? Их физика? STEP? BLDC? Иные?
|
|
|
|
|
Mar 5 2011, 16:03
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
1. Не хочется делать глупых ошибок в программной части, чтобы потом не думать не напаял ли я что нибудь криво. Пробовал симулировать в Протеусе, вроде работает, но ФНЧ никак не получается сделать - не хватает знаний. Вообще оправданно ли это, или инерция моторчика сама будет как интегратор? 2. Моторчики выдрал с игрушечных машинок, работали от двух пальчиковых батареек. Никаких опознавательных знаков нет. Наверное BLDC 3. В каком смысле физика моторчиков? Вообще какие параметры нужно указать? 4. ФНЧ идет по идее после драйвера двигателей L293D. Питание схемы робота 4.5 В. Моторчики крутятся слишком быстро, поэтому робот со своей задачей не справляется, вылетает с трека.
|
|
|
|
|
Mar 5 2011, 16:10
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(bfrogg @ Mar 5 2011, 20:03)  1. Не хочется делать глупых ошибок в программной части, чтобы потом не думать не напаял ли я что нибудь криво. Пробовал симулировать в Протеусе, вроде работает, но ФНЧ никак не получается сделать - не хватает знаний. Вообще оправданно ли это, или инерция моторчика сама будет как интегратор? 2. Моторчики выдрал с игрушечных машинок, работали от двух пальчиковых батареек. Никаких опознавательных знаков нет. Наверное BLDC 3. В каком смысле физика моторчиков? Вообще какие параметры нужно указать? 4. ФНЧ идет по идее после драйвера двигателей L293D. Питание схемы робота 4.5 В. Моторчики крутятся слишком быстро, поэтому робот со своей задачей не справляется, вылетает с трека. 1. А придется. Иначе вы не научитесь. Протеус в помойку. Спаяйте макетку и вперед. 2. Два вывода ? Почти наверняка это обычный коллекторный двигатель. Материалов о том, как им управлять ШИМом, в сети предостаточно. BLDC - едва ли у вас BLDC. BLDC, например, ставят в авиамодели, но никак не в копеечные машинки. 3. Вам, похоже, редуктор нужен, а не ШИМ. Хотя если мощности хватит, то почему бы и нет ?
|
|
|
|
|
Mar 5 2011, 16:13
|

Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 7-05-10
Из: Оренбург
Пользователь №: 57 135

|
Цитата(bfrogg @ Mar 5 2011, 21:03)  Моторчики крутятся слишком быстро, поэтому робот со своей задачей не справляется, вылетает с трека. Ну дык и регулируйте обороты моторчика значением регистра OCR1B.
--------------------
Лень, оттвори дверь, сгоришь - а хоть и сгорю, но не оттворю.
|
|
|
|
|
Mar 5 2011, 19:25
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Цитата(дымок @ Mar 5 2011, 19:13)  Ну дык и регулируйте обороты моторчика значением регистра OCR1B. Это я понимаю. Мне важно узнать, все ли будет работать. Цитата(314 @ Mar 5 2011, 22:14)  Инерция движков сама по себе отличный ФНЧ. Только схемку выходного каскада изобразите правильно, дабы выходной ключ ЭДСом самоиндукции якоря не выбивало. Не понял насчет схемки выходного каскада. Что там можно неправильно изобразить? И сразу вопрос относительно ФНЧ. Пусть в этом случае они не нужны. Сколько я не пытался смоделировать в протеусе этот фильтр, у меня все время все напряжение падало на резисторе. На лекциях давали, что для хорошего интегрирования, нужно чтобы постоянная времени цепи была много больше тау импульса. Время импульса 32 мс. Вообще какие номиналы резистора и конденсатора надо брать? Цитата(kovigor @ Mar 5 2011, 19:10)  3. Вам, похоже, редуктор нужен, а не ШИМ. Хотя если мощности хватит, то почему бы и нет ? Редуктор есть кстати
Сообщение отредактировал bfrogg - Mar 5 2011, 19:22
|
|
|
|
|
Mar 5 2011, 19:38
|
Частый гость
 
Группа: Участник
Сообщений: 139
Регистрация: 17-08-07
Пользователь №: 29 855

|
Цитата Не понял насчет схемки выходного каскада. Что там можно неправильно изобразить? имелось ввиду защитные диоды вокруг двигателя не забыть, как в даташите нарисовано. И конденсаторы по питанию соответственно тоже. Цитата Вообще какие номиналы резистора и конденсатора надо брать? В Вашем случае RC-фильтр вообще не приемлем, если очень хочется, то ставьте LC фильтр, но можете попасть на колебания скорости в каких-то точках из-за резонансных эффектов, а может и нормально пройти. Реально лучше напрямую, без фильтров. А если надумаете ставить RC-фильтр, то просто поставьте резистор последовательно с двигателем, даже без конденсатора, и подберите его номиналом требуемую скорость (почти шутка).
Сообщение отредактировал 314 - Mar 5 2011, 19:41
|
|
|
|
|
Mar 5 2011, 19:45
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Цитата(314 @ Mar 5 2011, 22:38)  В Вашем случае RC-фильтр вообще не приемлем, если очень хочется, то ставьте LC фильтр, но можете попасть на колебания скорости в каких-то точках из-за резонансных эффектов, а может и нормально пройти. Реально лучше напрямую, без фильтров. А если надумаете ставить RC-фильтр, то просто поставьте резистор последовательно с двигателем, даже без конденсатора, и подберите его номиналом требуемую скорость (почти шутка). Мне уже не хочется ставить сюда фильтры. Уже понял. Просто хочется узнать, что я делал неправильно и какие номиналы нужно брать.
|
|
|
|
|
Mar 6 2011, 07:37
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 5-03-11
Пользователь №: 63 417

|
Цитата(=GM= @ Mar 6 2011, 00:34)  Настройки у вас правильные, возможно, в дальнейшем придётся подобрать частоту шим. И надо бы после настроек поставить какой-нибудь цикл, иначе непонятно, что делает программа.
Смело подключайте OCR1B к входу первого полумоста и выбор направления ко входу второго полумоста. Подбирать частоту ШИМ или его скважность? Второе не понял
|
|
|
|
|
Mar 6 2011, 14:07
|

Ambidexter
    
Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282

|
Цитата(bfrogg @ Mar 6 2011, 07:37)  Подбирать частоту ШИМ или его скважность? Скажность у вас - это, грубо говоря, педаль газа, т.е. скорость движения вашего робота. МК должен более-менее плавно нажимать на эту "педаль". Частота шим у вас порядка 8000/256=31 кГц. Если всё нормально работает, не искрит, не шумит в эфире, не греется, нормальный кпд, то и делать ничего не надо. Покажите схему вашего устройства от МК до двигла.
--------------------
Делай сразу хорошо, плохо само получится
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|