Страница 1 из 5

ШИМ. Просто ШИМ

Добавлено: Вс июн 28, 2009 18:03:45
Arlleex
Не понимаю, как реализовать на Меге 8. мне надо 9 режимов, режим 1 - 1в активное питание, 2 режим - ШИМ 2, 2В и т.д. до 9 В.

как это сделать и что надо высчитывать?

Добавлено: Вс июн 28, 2009 18:16:15
ikarab
Для этого надо программу написать и некоторую схемку соорудить. Пример программирования ШИМ в AVR есть в задаче-упражнении 8 в моей домашней страничке. Фильтрация и преобразование напряжений - это задача-упражнение 9 в учебном курсе по AVR для начинающих с нуля.

Добавлено: Вс июн 28, 2009 18:20:49
SeregaT
Stalker46
Могу дать готовый код для меги 16 на си. Ширина импульса регулируется кнопками от 0 до 100% с выводом на LCD :)

Добавлено: Вс июн 28, 2009 18:20:59
ArtemKuchin
Ты по английски читать умеешь?

Общая идея проста: регулировать скважность ШИМа и выдавать сигнал ШИМа через фильтр нижних частот на базу транзистора, который уже управляет нагрузкой.

ФНЧ здесь будет сглаживать ШИМ и преобразовывать его в некое "плавное" напряжение. Можно сделать несколько каскадов фнч, чтобы убрать колебания почти в ноль.

Это общая идея. Как программить шим см. документацию к АВР, там все нормально сказано с примерами. Про ФНЧ см. викидепию и книжки. Про транзисторы тоже чего-нибудь смотри :)

Добавлено: Вс июн 28, 2009 18:25:18
ikarab
artemm писал(а):Ты по английски читать умеешь ?
Конечно ! На русском он книг не читает, а на английском то запросто ...

Добавлено: Вс июн 28, 2009 18:27:27
ikarab
SeregaT писал(а): готовый код для меги 16 на си. Ширина импульса регулируется кнопками от 0 до 100% с выводом на LCD :)
о том как подключить LCD в этом варианте кода наверно трудно понять из строки

.equ __lcd_port=0x1B ;PORTA

но рисунок с толкованием есть в задаче управжнении 5 курса по AVR.

Добавлено: Вс июн 28, 2009 18:28:04
Пухич
artemm писал(а): Общая идея проста: регулировать скважность ШИМа и выдавать сигнал ШИМа через фильтр нижних частот на базу транзистора, который уже управляет нагрузкой.
Сразу на базу? :)

Один мой знакомый помнится так делал..... И был не в восторге. :)

Добавлено: Вс июн 28, 2009 18:29:41
SeregaT
ikarab писал(а):о том как подключить LCD в этом варианте кода наверно трудно понять из строки

.equ __lcd_port=0x1B ;PORTA
К чему Вы это написали? Всё там работает. Это строку CVAVR выдаёт автоматически.
Пухич писал(а):Сразу на базу? :)

Один мой знакомый помнится так делал..... И был не в восторге. :)
Тогда на затвор полевика, который может управляться логическим уровнем.

Добавлено: Вс июн 28, 2009 18:30:17
Arlleex
мне надо просто подключить шим к коллекторному мотору. там даже 6 режимов хватит - первый - 5В, второй 6В, третий - 7В, четвертый - 8В, а 5 - 9В, а шестой - 10В. Пусть до 10В.

Это активное напряжение. и ФНЧ не нужен - мне мотор питать а не что то другое.
Нажимаю на кнопку - мотор с режимом 1 работает (5В), еще раз нажали - работает с (6В) вторым режимом)))
и т.д.
вот и надо ШИМ реализовать.
теперь бы узнать, как на асме писать прогу для ШИМ, я бы посмотрел суть, может быть разобрался и сое написал.

Добавлено: Вс июн 28, 2009 18:30:50
ArtemKuchin
Пухич писал(а):
artemm писал(а): Общая идея проста: регулировать скважность ШИМа и выдавать сигнал ШИМа через фильтр нижних частот на базу транзистора, который уже управляет нагрузкой.
Сразу на базу? :)

Один мой знакомый помнится так делал..... И был не в восторге. :)
Ему сойдет для начала:) Он же не сказал ЗАЧЕМ ему это. Может он светик хочет мееедлеееннооо включать :)

допорлнение:
Он успел быстрее. Ну мотор, так мотор. И ФНЧ, видишь, ненадо. НО транзистор нужон точно и лучше наверное КМОП какой-нибудь.

Добавлено: Вс июн 28, 2009 18:31:10
saschai
ikarab писал(а):
но рисунок с толкованием есть в задаче управжнении 5 курса по AVR.
Пока ты у него там, что нибудь найдешь, насмотришься кучу рекламы, долго ржал над предложенной им ценой прошивки одного МК.
ikarab Давай прямую ссылку, а не отправляй человека бродить по дебрям своего коммерческого проекта :))

Добавлено: Вс июн 28, 2009 18:34:18
ikarab
Stalker46 писал(а):мне надо просто подключить шим к коллекторному мотору. там даже 6 режимов хватит - первый - 5В, второй 6В, третий - 7В, четвертый - 8В, а 5 - 9В, а шестой - 10В. Пусть до 10В.
Как раз схема управления мотором и показана в начале задачи упражнения 8 в учебном курсе, про ШИМ на AVR.

Добавлено: Вс июн 28, 2009 18:35:04
Arlleex
вверху пост, зачем мне надо ШИМ использовать


а не включась светодиоды медленноооооооооооо :)))

Добавлено: Вс июн 28, 2009 18:37:06
SeregaT
Stalker46 писал(а):вверху пост, зачем мне надо ШИМ использовать


а не включась светодиоды медленноооооооооооо :)))
Тогда тему нужно было назвать: Включаем коллекторные электродвигатели меееедлееееенноооооо.
:)))

Добавлено: Вс июн 28, 2009 18:37:11
ikarab
SeregaT писал(а):
ikarab писал(а):о том как подключить LCD в этом варианте кода наверно трудно понять из строки
.equ __lcd_port=0x1B ;PORTA
К чему Вы это написали ?
К тому что из этой строки нельзя определить какой КОНКРЕТНО вывод LCD нужно подключать к конкретному выводу AVR.
SeregaT писал(а):Всё там работает. Это строку CVAVR выдаёт автоматически.
Не сомневаюсь. Я ж вижу "корни" того кода - мой курс. Так что конечно работает.

Добавлено: Вс июн 28, 2009 18:38:22
ArtemKuchin
Stalker46 писал(а):вверху пост, зачем мне надо ШИМ использовать

а не включась светодиоды медленноооооооооооо :)))
Да ф топку этот мотор, лучше включай светодиоды меедлеееннооо :)
И икарабовские уроки ф топку.

Вот на, смотри че сделать можно
http://www.artem.ru/cgi-bin/news?c=v&id=737

Добавлено: Вс июн 28, 2009 18:40:12
SeregaT
ikarab писал(а):К тому что из этой строки нельзя определить какой КОНКРЕТНО вывод LCD нужно подключать к конкретному выводу AVR.
А зачем это? В CodeWizardAVR, когда настраиваешь LCD, написано что куда подключать.

Добавлено: Вс июн 28, 2009 18:42:43
ikarab
SeregaT писал(а):
ikarab писал(а):К тому что из этой строки нельзя определить какой КОНКРЕТНО вывод LCD нужно подключать к конкретному выводу AVR.
А зачем это? В CodeWizardAVR, когда настраиваешь LCD, написано что куда подключать.
Правда ? Не знал об этом. Спасибо.

Добавлено: Вс июн 28, 2009 18:49:50
SeregaT
ikarab писал(а):Я ж вижу "корни" того кода - мой курс. Так что конечно работает.
Вот только не совсем понятно, как это реализовать без файла m8_128.h

Добавлено: Вс июн 28, 2009 18:53:55
ikarab
SeregaT писал(а):не совсем понятно, как это реализовать без файла m8_128.h
Не использовать обозначение u32

========

А куда кнопки подключены тоже мастер CVAVR показывает ?