![]() |
Модераторы: PILOT, ManiaK, Mazzi |
![]() ![]() ![]() |
|
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
Ищу примеры работы с ШИМ на pic-микроконтроллерах, непосредственно на ассемблере. В идеале управление мотором через ШИМ. Пытаюсь реализовать схему:
![]() Это сообщение отредактировал(а) revanatar - 13.4.2013, 20:24 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
'Схемка' работать не будет. Рекомендую для начала разобраться с работой биполярного транзистора, а потом уже переходить к PIC и ШИМам
![]() |
|||
|
||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
Да я как бы проверил, поочередно питание подключал к проводкам которые на ШИМы пустил, при подаче на верхний провод двигатель крутился против часовой, на нижний - по часовой. Добавлено через 5 минут и 28 секунд И при изменении напряжения скорость вращения меняется. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
У вас в транзисторах Q3 и Q4 нет резисторов в базах. Ток базы будет ограничен только тем, сколько сможет вкачать в них PIC. И ему это не понравится (и транзисторам тоже). Верхние транзисторы (Q1 и Q2) включены как эмитерные повторители - больше чем напряжение с PIC'а они не дадут (даже меньше - на падение напряжения на базовом переходе). Кроме того, для подключения с ШИМом и реверсом управление надо завести отдельно на все 4 транзистора |
|||
|
||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
В этом я смогу разобраться сам, ПОТОМ, схему мне дали как задание именно такую, привел только для того чтобы было понятно о чем речь. В первую очередь нужно разобраться ИМЕННО с ШИМом, потом со схемой и только потом все это буду собирать вместе, потому сейчас меня волнует в первую очередь ответ на поставленный вопрос, а далее все остальное, замечания и пожелания. Да и суть задания - это научиться управлять ШИМ. Теории по нему вагон и тележка, а примеров найти не могу. |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
На какой именно? Как запрограммировать ШИМ на PIC, или как управлять мотором в вашей схеме? Ответ на первый вопрос зависит от типа МК (просто PIC недостаточно - их много разных, и модули ШИМ у них разные). Ответ на 2й вопрос - никак. Переделывайте схему. А уж это совсем для настоящих мазохистов - сейчас все на С пишут ![]() |
|||
|
||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
Ну у меня препод мазохист то все знают, на С примеры видел, а вот на ассемблере только куски не комментированного кода с непонятным назначением. Желательно pic16f877, нужны примеры кода для каких либо задач, в идеале для того же двигателя, но на то не надеюсь. |
|||
|
||||
xvr |
|
||||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
Понятно.
Тогда могу порекомендовать посмотреть в Application Notes на самом Microchip'е (у них там были AN с примерами кода на ассемблере) Ну или в крайнем случае взять пример на С, прогнать его через С компилятор (в ассемблер), и отрезать от результата необходимую часть (она будет очень небольшая - вся работа с PWM заключается в нескольких записях в несколько переферийных регистров) Есть для 876го дверной звонок. Он читает пожатый с помощью ADPCM звук из Atmel'овского Data Flash, разжимает и играет через PWM. Но он на С, и сама работа с PWM там занимает меньше процента от всего кода. Собственно вот она -
Еще инициализация -
Кстати, в DS на PIC16F87x все подробно расписано (даже есть пара строк на ASMе) |
||||||
|
|||||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
https://github.com/tomclemente/PIC16F877A/b.../master/PWM.ASM
вот что-то нашлось, но пояснений ни малейших. |
|||
|
||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
Отдельно - это как? |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 8 Всего: 223 |
||||
|
||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
xvr, хах, не могу остановить шим
Что еще сделать чтобы остановить? И в какой последовательности? Не просто чтобы не крутил, а именно отключить. А все, разобрался. Если есть смысл - могу выложить код со скрином, все рабочее в нормальной степени. (управляется шим через ацп). Это сообщение отредактировал(а) revanatar - 26.4.2013, 20:31 |
|||
|
||||
revanatar |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 8.11.2011 Репутация: нет Всего: нет |
||||
|
||||
![]() ![]() ![]() |
Правила форума "Микроконтроллеры (MCU) и микропроцессоры (MPU)" | |
|
На данный раздел помимо Правил форума распространяются текже следующие правила:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, PILOT, ManiaK, UniBomb, Mazzi. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Микроконтроллеры (MCU) и микропроцессоры (MPU) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |