ATTiny2313 : Простенький ШИМ просто не хочет работать

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Доброго времени суток.
С контроллерами на Вы, посему нужен совет бывалых котов.Схема - коллекторный двигатель постоянного тока (220V) с независимым вожбуждением.Статор на прямую к выпрямителю,ротор управляется ШИМом.В качестве ключа выступает IRF транзистор.На валу двигателя магнитик, который проходя мимо датчика Холла, передает контроллеру импульс для подсчета оборотов(один оборот 60 мс).Прерывание от таймера 0 проверяет,если значение оборотов меньше одного,то увеличивает скважность ШИМ.Соответственно,если больше еденицы, то скважность уменьшаем.В итоге двигатель должен крутиться со скоростью 1000 об.мин.Увы,импульсы лапа выдавать не хочет.Помогите.Что я сделал не так.Код прилагаю...
Вложения
2313PWM.zip
(162.69 КБ) 555 скачиваний
Реклама
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

Для будущих экспериментов выбирайте МК которые поддерживабтся симуляторами VMLAB или PROTEUS - тогда отладить программу будет проще.

тем более что в PROTEUS есть модели электродвигателей с физическими параметрами и с энкодерами тоже.
Реклама
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

Ужас! в архиве 5 кб исходник - остальное рисунки исходника - ТЕКСТА ! зачем ? лучшеб схему приложили.

А если в место МК самому "ногой МК дернуть" мотор разгоняется ?
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

На рисунке все нагляднее, а код для тех кто дает совет....а не сокрушается по поводу размеров картинок....
+схема
Вложения
pwm.JPG
(37.84 КБ) 816 скачиваний
Реклама
Эиком - электронные компоненты и радиодетали
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

если на 15-й ноге сделать 5 вольт мотор разгоняется до предела ?

датчик хола обычно замыкает выход на землю. у вас такой ? тогда надо его выход подтянуть 4.7 ком к +5 вольтам.
Реклама
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

а как транзистор будет закрываться ?
Реклама
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Опыта нет в этом никакого, вот и прошу помощи.А как надо его включить,что бы он закрывался?Я так думал, что стабилитрон будет его закрывать....Буду очень признателен если подскажете....
Модератор
Аватара пользователя
Сообщения: 11169
Зарегистрирован: Чт окт 27, 2005 18:50:07
Откуда: из мест не столь отдалённых

Сообщение Сэр Мурр »

Я предпочту аналоговую реализацию стабилизации скорости вращения.
В микропроцессорной сложно реализовать заранее неизвестный алгоритм
реакции на возмущающее воздействие. Возможно, в программе не хватает реализации интегрирующего звена (программу не смотрел, просто высказал предположение)
И ещё- как-то странно включена статорная обмотка- одним концом к фазе, другим- к общему проводу. Наверно, надо оба конца подключить к 220 вольтам, или оба- к выходу моста.
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

fortan писал(а):Опыта нет в этом никакого, вот и прошу помощи.А как надо его включить,что бы он закрывался?

Я так думал, что стабилитрон будет его закрывать....
Буду очень признателен если подскажете....
да что стабилитрону его закрывать то.

на схеме не четко видна структура оптопары. Если К транзистора оптопары у вас подключен к +15 вольт и его Э это выход, то выход притяните к земле резистором 470 Ом. Мне трудноточно советовать я не знаю параметров этой оптопары.

Схему вправления затворами и базами есть в апноуте an-978 на irf.com
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

возможно имеет смысл вместо оптопары использовать специальный драйвер типа IR21xx

что с выходом датчика ?
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Abakt писал(а):
fortan писал(а):Опыта нет в этом никакого, вот и прошу помощи.А как надо его включить,что бы он закрывался?

Я так думал, что стабилитрон будет его закрывать....
Буду очень признателен если подскажете....
да что стабилитрону его закрывать то.

на схеме не четко видна структура оптопары. Если К транзистора оптопары у вас подключен к +15 вольт и его Э это выход, то выход притяните к земле резистором 470 Ом. Мне трудноточно советовать я не знаю параметров этой оптопары.

Схему вправления затворами и базами есть в апноуте an-978 на irf.com
Вот картинка из апноута на оптопару.Все описание на японском поэтому ссылку на него не даю....А на 978 сей час пойду гляну.
Насчет датчика Холла...У меня его в наличии не было, поэтому изначально я хотел считать обороты герконом.Сегодня кое как нашел д.Х. но документации на него никакой. Продавец сказал, что на два выхода напругу, а два других выхода как раз и являются выводами Холла.Правильно ли я понял,что лапы Х.,одну надо на землю,а сдругой снимать импульсы?
И последний вопрос по коду.Если в настройках таймера на лапу выводишь импульсы от ШИМа (в моем случае РВ3),то в теле функции прерывания надо что либо писать или можно сразу reti?
Вложения
HCPL3120.JPG
(32.01 КБ) 697 скачиваний
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Abakt писал(а):возможно имеет смысл вместо оптопары использовать специальный драйвер типа IR21xx

что с выходом датчика ?
С ИРом заморочек много.Обвязка и все такое.Тем болеее мне нужен всего один канал,а там их по моему 6. Одним словом-излишненавороченная штука.Для меня это сделать, да подвиг:-)
С Холлом буду сегодня разбираться....
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

этот рисунок оптопары понятный - все нормально. она и закрывать транзистор будет.

=======

датчик холла нужен "цифровой" т.е. в 3 ногами. питание, земля и выход. выход у них открытфй коллектор - его нужно подключить к ноге МК и соединить эту ногу резистором 2-5 ком к +5 питания МК.

=======
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Сэр Мурр писал(а):Я предпочту аналоговую реализацию стабилизации скорости вращения.
В микропроцессорной сложно реализовать заранее неизвестный алгоритм
реакции на возмущающее воздействие. Возможно, в программе не хватает реализации интегрирующего звена (программу не смотрел, просто высказал предположение)
И ещё- как-то странно включена статорная обмотка- одним концом к фазе, другим- к общему проводу. Наверно, надо оба конца подключить к 220 вольтам, или оба- к выходу моста.
Статор действительно намутил, но это по ошибке.Исправлю.
А насчет аналоговой реализации....это не то что устарело....а....не то...не интересно...не ЗАХВАТЫВАЕТ. Вот когда код забиваешь, смотришь на часы,уже три часа ночи,мозги закипают....,вот это ЗАХВАТЫВАЕТ:-)) Ну...каждому свое...
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

fortan писал(а):Сегодня кое как нашел д.Х. но документации на него никакой.
не советую покупать то на что нет доки !
fortan писал(а):Если в настройках таймера на лапу выводишь импульсы от ШИМа (в моем случае РВ3),то в теле функции прерывания надо что либо писать или можно сразу reti?
я не очень понял, но сигнал от датчика холла нужно ввести на ножку внеш прерывания INT0 или INT1 настроеного "по спаду" (пример на pid.by.ru/03.htm) и в прерывании нужно считытвать сколько таймер насчитал с предыдущего прерывания и обнулять таймер.

затем уже в основной проге пересчитываете скорость и нужный ШИМ и выводите его на ногу PB3.

reti нужно использовать в АСМе, на Си все автоматом компилятор делает.
Последний раз редактировалось Abakt Вс фев 11, 2007 19:30:51, всего редактировалось 1 раз.
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Abakt писал(а):этот рисунок оптопары понятный - все нормально. она и закрывать транзистор будет.

=======

датчик холла нужен "цифровой" т.е. в 3 ногами. питание, земля и выход. выход у них открытфй коллектор - его нужно подключить к ноге МК и соединить эту ногу резистором 2-5 ком к +5 питания МК.

=======
А с четырьмя лапами это аналоговый?Он пахать не будет?Или импульс "размытый" будет?
Цифрового увы нет.Что же делать... Может всётаки геркон...
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

нехай геркон (успеет ли ??? щелкать) - подключать так же как я описал. от входа INT0 на землю и вход подтянуть к питанию +5 вольт.
Родился
Сообщения: 8
Зарегистрирован: Сб фев 10, 2007 20:24:43
Откуда: РОССИЯ !!!

Сообщение fortan »

Abakt писал(а):
fortan писал(а):Сегодня кое как нашел д.Х. но документации на него никакой.

fortan писал(а):Если в настройках таймера на лапу выводишь импульсы от ШИМа (в моем случае РВ3),то в теле функции прерывания надо что либо писать или можно сразу reti?
я не очень понял, но сигнал от датчика холла нужно ввести на ножку внеш прерывания INT0 или INT1 настроеного "по спаду" (пример на pid.by.ru/z3.htm) и в прерывании нужно считытвать сколько таймер насчитал с предыдущего прерывания и обнулять таймер.

затем уже в основной проге пересчитываете скорость и нужный ШИМ и выводите его на ногу PB3.

reti нужно использовать в АСМе, на Си все автоматом компилятор делает.
Вы меня не правильно поняли.В даташите написано(прикрепляю)что шим импульсы можно выводить в лапу OC1A, которую в свою очередь надо соответственно сконфигурировать.Я настроил эту лапу в таймере, но не знаю что писать в теле преравания по совпадению. Поэтому и спрашиваю-просто reti?
Вложения
2313.JPG
(56.03 КБ) 586 скачиваний
Вечно гонимый
Аватара пользователя
Сообщения: 568
Зарегистрирован: Ср янв 10, 2007 19:15:51

Сообщение Abakt »

для ШИМ не нужны прерывания - у него ж аппаратный шим. посмотри вот - pid.by.ru/z8.htm - и сделай похоже.

Вот картинка с результатом: pid.by.ru/z8/z8_095.png
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»