Модераторы: PILOT, ManiaK, Mazzi
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ШИМ+мотор pic 
:(
    Опции темы
revanatar
Дата 13.4.2013, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



Ищу примеры работы с ШИМ на pic-микроконтроллерах, непосредственно на ассемблере. В идеале управление мотором через ШИМ. Пытаюсь реализовать схему:
user posted image(подправил схему)

Это сообщение отредактировал(а) revanatar - 13.4.2013, 20:24
PM MAIL   Вверх
xvr
Дата 15.4.2013, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



'Схемка' работать не будет. Рекомендую для начала разобраться с работой биполярного транзистора, а потом уже переходить к PIC и ШИМам  smile 

PM MAIL   Вверх
revanatar
Дата 15.4.2013, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



Цитата(xvr @ 15.4.2013,  12:46)
'Схемка' работать не будет. Рекомендую для начала разобраться с работой биполярного транзистора, а потом уже переходить к PIC и ШИМам  smile

Да я как бы проверил, поочередно питание подключал к проводкам которые на ШИМы пустил, при подаче на верхний провод двигатель крутился против часовой, на нижний - по часовой.

Добавлено через 5 минут и 28 секунд
И при изменении напряжения скорость вращения меняется.
PM MAIL   Вверх
xvr
Дата 15.4.2013, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(revanatar @  15.4.2013,  13:37 Найти цитируемый пост)
Да я как бы проверил, 

У вас в транзисторах Q3 и Q4 нет резисторов в базах. Ток базы будет ограничен только тем, сколько сможет вкачать в них PIC. И ему это не понравится (и транзисторам тоже). Верхние транзисторы (Q1 и Q2) включены как эмитерные повторители - больше чем напряжение с PIC'а они не дадут (даже меньше - на падение напряжения на базовом переходе). Кроме того, для подключения с ШИМом и реверсом управление надо завести отдельно на все 4 транзистора

PM MAIL   Вверх
revanatar
Дата 15.4.2013, 18:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



Цитата(xvr @ 15.4.2013,  18:19)
Цитата(revanatar @  15.4.2013,  13:37 Найти цитируемый пост)
Да я как бы проверил, 

У вас в транзисторах Q3 и Q4 нет резисторов в базах. Ток базы будет ограничен только тем, сколько сможет вкачать в них PIC. И ему это не понравится (и транзисторам тоже). Верхние транзисторы (Q1 и Q2) включены как эмитерные повторители - больше чем напряжение с PIC'а они не дадут (даже меньше - на падение напряжения на базовом переходе). Кроме того, для подключения с ШИМом и реверсом управление надо завести отдельно на все 4 транзистора

В этом я смогу разобраться сам, ПОТОМ, схему мне дали как задание именно такую, привел только для того чтобы было понятно о чем речь. В первую очередь нужно разобраться ИМЕННО с ШИМом, потом со схемой и только потом все это буду собирать вместе, потому сейчас меня волнует в первую очередь ответ на поставленный вопрос, а далее все остальное, замечания и пожелания. Да и суть задания - это научиться управлять ШИМ. Теории по нему вагон и тележка, а примеров найти не могу.
PM MAIL   Вверх
xvr
Дата 15.4.2013, 22:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(revanatar @  15.4.2013,  18:37 Найти цитируемый пост)
потому сейчас меня волнует в первую очередь ответ на поставленный вопрос,

На какой именно? Как запрограммировать ШИМ на PIC, или как управлять мотором в вашей схеме? Ответ на первый вопрос зависит от типа МК (просто PIC недостаточно - их много разных, и модули ШИМ у них разные). Ответ на 2й вопрос - никак. Переделывайте схему.

Цитата(revanatar @  13.4.2013,  18:02 Найти цитируемый пост)
непосредственно на ассемблере.

А уж это совсем для настоящих мазохистов - сейчас все на С пишут  smile 

PM MAIL   Вверх
revanatar
Дата 16.4.2013, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



Цитата(xvr @ 15.4.2013,  22:52)
Цитата(revanatar @  15.4.2013,  18:37 Найти цитируемый пост)
потому сейчас меня волнует в первую очередь ответ на поставленный вопрос,

На какой именно? Как запрограммировать ШИМ на PIC, или как управлять мотором в вашей схеме? Ответ на первый вопрос зависит от типа МК (просто PIC недостаточно - их много разных, и модули ШИМ у них разные). Ответ на 2й вопрос - никак. Переделывайте схему.

Цитата(revanatar @  13.4.2013,  18:02 Найти цитируемый пост)
непосредственно на ассемблере.

А уж это совсем для настоящих мазохистов - сейчас все на С пишут  smile

Ну у меня препод мазохист то все знают, на С примеры видел, а вот на ассемблере только куски не комментированного кода с непонятным назначением.
Желательно pic16f877, нужны примеры кода для каких либо задач, в идеале для того же двигателя, но на то не надеюсь.
PM MAIL   Вверх
xvr
Дата 17.4.2013, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(revanatar @  16.4.2013,  17:22 Найти цитируемый пост)
Ну у меня препод мазохист то все знают,

Понятно. 
Цитата(revanatar @  16.4.2013,  17:22 Найти цитируемый пост)
на С примеры видел, а вот на ассемблере только куски не комментированного кода с непонятным назначением.

Тогда могу порекомендовать посмотреть в Application Notes на самом Microchip'е (у них там были AN с примерами кода на ассемблере)
Ну или в крайнем случае взять пример на С, прогнать его через С компилятор (в ассемблер), и отрезать от результата необходимую часть (она будет очень небольшая - вся работа с PWM заключается в нескольких записях в несколько переферийных регистров)

Цитата(revanatar @  16.4.2013,  17:22 Найти цитируемый пост)
Желательно pic16f877, нужны примеры кода для каких либо задач,

Есть для 876го дверной звонок. Он читает пожатый с помощью ADPCM звук из Atmel'овского Data Flash, разжимает и играет через PWM. Но он на С, и сама работа с PWM там занимает меньше процента от всего кода. Собственно вот она -
Код

 if (rest_snd)
  {i=*cur_snd++;
   if (--rest_snd==0) 
    {if (0x80&(Byte)cur_snd) empty_banks|=2; else empty_banks|=1;}
   CCPR2L=i>>2; CCP2CON=(i<<4)|0xC;} // <<< Это
 else
  {CCP2CON=0; PORTC&=~2;} // <<< и это


Еще инициализация -
Код

 PR2     = 64;
 T2CON  = 0x04;
 CCPR2L  = 0;
 CCP2CON = 0;


Кстати, в DS на PIC16F87x все подробно расписано (даже есть пара строк на ASMе)

PM MAIL   Вверх
revanatar
Дата 17.4.2013, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



https://github.com/tomclemente/PIC16F877A/b.../master/PWM.ASM
вот что-то нашлось, но пояснений ни малейших.
PM MAIL   Вверх
revanatar
Дата 25.4.2013, 22:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



Цитата(xvr @ 15.4.2013,  18:19)
Кроме того, для подключения с ШИМом и реверсом управление надо завести отдельно на все 4 транзистора

Отдельно - это как?
PM MAIL   Вверх
xvr
Дата 26.4.2013, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 8
Всего: 223



Цитата(revanatar @  25.4.2013,  22:39 Найти цитируемый пост)
Отдельно - это как? 

Это 4 отдельных провода - по штуке на каждый транзистор. Хотя можно и так, как у ТС, но КПД будет не очень

PM MAIL   Вверх
revanatar
Дата 26.4.2013, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



xvr, хах, не могу остановить шим
Код

bcf T2CON, TMR2ON
clrf CCP2CON

Что еще сделать чтобы остановить? И в какой последовательности? 
Не просто чтобы не крутил, а именно отключить.

А все, разобрался. Если есть смысл - могу выложить код со скрином, все рабочее в нормальной степени. (управляется шим через ацп).

Это сообщение отредактировал(а) revanatar - 26.4.2013, 20:31
PM MAIL   Вверх
revanatar
Дата 1.6.2013, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 36
Регистрация: 8.11.2011

Репутация: нет
Всего: нет



Вот проект протеуса.

Присоединённый файл ( Кол-во скачиваний: 8 )
Присоединённый файл  pwmad.rar 97,47 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)"
PILOT ManiaK
UniBomb Mazzi

На данный раздел помимо Правил форума распространяются текже следующие правила:


  • Прежде чем создать тему воспользуйтесь поиском или посмотрите в faq. Возможно на форуме уже есть ответ на ваш или близкий к вашему вопрос.
  • В заголовке темы в квадратных скобках обозначьте используемое семейство микроконтроллера: [avr],[pic],[arm].
  • При создании темы с вопросом указывайте участок кода с ошибкой, версию компилятора, схемы подключения, fuse биты и прочие данные, которые помогут найти правильный ответ. Для форматирования текста программ используйте кнопку код.
  • Новое сообщение должно иметь прямое отношение к тематике этого раздела. Для флуда, просьб выполнить задание, поиска партнёров или исполнителей существуют свои разделы.
  • Если вы заметили несовместимое с правилами сообщение, то можете уведомить об этом модератора раздела нажав кнопку Репорт у соответствующего сообщения.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема »


 




[ Время генерации скрипта: 0.0903 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.