Power Electronics
http://valvol.ru/

Микроконтроллеры в источниках питания
http://valvol.ru/topic453.html
Страница 3 из 33

Автор:  monos [ 27-03, 17:32 ]
Заголовок сообщения: 

and_69 писал(а):
А то что ресурсов хватит ежику понятно

Речь шла о пик16ф886...
and_69 писал(а):
наткнулся на то что режим "push-pull" с "immediate updates" не дружит

Это про пуш-пул на двух каналах или на одном (PWMxH+PWMxL)? Если правильно понял, то для наших частот (30...100кГц) программные чим или шим не внесут нестабильность. Или я что-то не так понял?

Автор:  Наблюдатель [ 27-03, 21:15 ]
Заголовок сообщения: 

valvol
Так схема ж вроде в архиве есть, ссылка на архив на тойже странице, выше. Ссылка на архив: http://sevzirfo.narod.ru/murex-avr-ver1-1.rar
"Мысли вслух" :D
Не понятно, зачем такой огород городить на контроллере, разве если что поупражняться ... :live-14: Функции-то совсем простые, и без контроллера реализуются запросто.

Автор:  samodel [ 28-03, 16:49 ]
Заголовок сообщения: 

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

Конечно, автору можно было взять МК покороче, например ATtiny26, но видно мега8 у него была в налиичии. А насчет огорода, попробуйте нарисовать схему с такими же функциями на таймерах и логике, и посчитайте корпуса и рассыпуху всякую. Сейчас цена МК соизмерима, а то и дешевле той рассыпухи, даже в таком простом применениии. К томуже разводка печатной платы проще.Конечно можно сделать всё на рассыпухе, а нужно ли?

Автор:  and_69 [ 02-04, 17:01 ]
Заголовок сообщения: 

Цитата:
Это про пуш-пул на двух каналах или на одном (PWMxH+PWMxL)? Если правильно понял, то для наших частот (30...100кГц) программные чим или шим не внесут нестабильность. Или я что-то не так понял?

На самом деле там просто выход ШИМ пропадает, хоть на одном, хоть на двух[/quote]

Автор:  vgololobov [ 04-04, 13:40 ]
Заголовок сообщения: 

Добрый день всем!

Тем, кто начинает осваивать микроконтроллеры, я пропагандирую (м.б. даже навязываю) такой подход: вначале графический язык программирования. Это FlowCode для Windows (работает и в Linux), есть версия для PIC и AVR (можно импортировать одно в другое), KTechlab для Linux.

http://www.matrixmultimedia.com/Flowcode3a-X.php

Достоинство в том, что результат (программа) транслируется в файлы на языках Си и ассемблере. Можно, используя простые фрагменты, начать осваивать и эти языки, например, в MPLAB или AVRStudio.

FlowCode имеет бесплатную демо-версию (ограниченную, но для начала...).

На kazus.ru можно найти версии с "расширенными" возможностями.

Программа имеет встроенный отладчик и можно многое попробовать. Те, кто начинает осваивать микроконтроллеры, подчас, даже не хотят ничего другого - начинают создавать свои устройства, используя только FlowCode. Дело вкуса, но мне кажется, что время, затраченное на освоение языка Си, например, впоследствии окупится с лихвой.

С уважением, Владимир Гололобов

Автор:  electrovoz [ 10-04, 15:47 ]
Заголовок сообщения: 

samodel, все отлично в вашей схеме и прошивке. Предупредите только юзеров, что проц там будет одноразово прошиваемый из-за использованного ресета типа прошитый RSTDISBL фьюз. Куда лучше прицепить светодиод к выводу 6, а первый термометр к 7 и впредь держаться от ресета подальше. Но вы молодец, что начинаете с полезных многим вещей.

Автор:  samodel [ 11-04, 13:57 ]
Заголовок сообщения: 

electrovoz писал(а):
держаться от ресета подальше

Там есть еще один камень, связанный с ресетом: при напряжении на этом выводе меньше 0,9 В, процессор сбрасывается, но при применении данных термодатчиков, напряжение не опуститься так низко даже на морозе, а вот при применении диодов или транзисторов в качестве термодатчиков, этот вывод точно использовать нельзя.
А вообще наверное этот момент надо мне переделать, так получилось по неопытности, хотя всё работоспособно.
Насчет одноразовой прошиваемости поясните пожалуйста, потому что во фьюзах я ничего не менял, и программу перешивал не один раз, проблем не заметил, кроме той о которой написал выше.

Автор:  electrovoz [ 13-04, 10:39 ]
Заголовок сообщения: 

Значит не установлен в 0 RSTDISBL фьюз. А это не совсем корректно, хотя и возможно из-за особенностей схемы сброса. И желательно хоть как-то усреднять данные с АЦП, аппарат достаточно туда наводит.

Автор:  samodel [ 14-04, 08:47 ]
Заголовок сообщения: 

electrovoz писал(а):
И желательно хоть как-то усреднять данные с АЦП, аппарат достаточно туда наводит.

Можно после термодатчиков поставить интегрирующие цепи из резисторов 100 кОм и конденсаторов 0,1 мкФ.
У меня просто экранированные провода о термодатчиков, ложных срабатываний не заметил.

Автор:  samodel [ 01-07, 13:06 ]
Заголовок сообщения: 

samodel писал(а):
А вот здесь есть готовая конструкция протяжки на ATmega8
http://www.electrik.org/forum/index.php?showtopic=8167
Я ее повторял с небольшими доработками, работает нормально.
Жалко, что автор не представил исходника программы, я бы кое что подправил, а заново писАть время надо.

Нашел время, немножко доработал схему, и главное написАл заново для этой схемы свою версию программы на С, добавил предварительную продувку и послепродувку, программно устранил проблему ошибочного нажатия или дребезга кнопки "пуск" . Теперь имея исходник на С, каждый мал-мал разбирающийся в программировании МК сможет установить удобные для себя задержки включения и выключения газового клапана, источника, подачи.
В архиве: схема, печатная плата, проект в CVAVR, модель в VMLAB.
http://flyfolder.ru/12907177

Автор:  samodel [ 23-07, 16:16 ]
Заголовок сообщения: 

Что-то не очень популярна эта тема. Наверное тем, кто давно освоил МК обсуждают свои проблемы на других тусовках. Для тех же кто никак не решиться начать осваивать скажу, что пол года назад я тоже знал о них только в объеме институтского курса 15-ти летней давности.
Для пробуждения интереса предлагаю конструкцию вольтметра-амперметра на МК, который можно применить в блоке питания или зарядном устройстве. Алгоритм работы такой: при отсутствии нагрузки (ток равен нулю) индицируется напряжение с буквой V, при появлении нагрузки индицируется ток с буквой А.
http://flyfolder.ru/13228353

Автор:  Maikl [ 23-07, 17:09 ]
Заголовок сообщения: 

samodel писал(а):
Что-то не очень популярна эта тема.
ИМХО, это Вы зря. Скажем, к примеру, с год взад, форумчане, большей частью, обсуждали "косого" и всяку-разну "мелочь". Счас "базар" идёт о трансах с разделёнными обмотками... да и тема, в которой мы счас "сидим", открыта в нонешном году. Дойдёт и до МК. Хотя, на форуме наблюдается довольно таки много форумчан владеющих сей "премудростью", но видимо каждый варится в "своём котелке".
samodel писал(а):
Наверное тем, кто давно освоил МК обсуждают свои проблемы на других тусовках.
могет быть, но я таких тусовок не встречал.

ИМХО, для того, чтобы тема ожила и получила дальнейшее развитие надо чаще выкладывать схемы, модельки и др. а не жмотиться, типа - у мэнэ е, но тики для сэбэ :) т.е. обмениваться опытом по применению, ведь в конечном счёте - будущее за МК :)

Автор:  samodel [ 24-07, 12:46 ]
Заголовок сообщения: 

Maikl писал(а):
могет быть, но я таких тусовок не встречал

Это тусовки, не связанные конкретно с источниками питания, а с программированием МК вообще.
Maikl писал(а):
ИМХО, для того, чтобы тема ожила и получила дальнейшее развитие надо чаще выкладывать схемы, модельки и др. а не жмотиться, типа - у мэнэ е, но тики для сэбэ т.е. обмениваться опытом по применению, ведь в конечном счёте - будущее за МК

Полностью согласен. Буду продолжать выкладывать по мере создания новых девайсов.

Автор:  Наблюдатель [ 25-07, 07:35 ]
Заголовок сообщения: 

Samodel
Объясни, пожалуйста, вижу ты в программировании рубишь поболее моего, почему на выходе, при нажатии кнопки нет четкой единицы, а прут короткие импульсы, причем даже после отпускания кнопки. Пробовал в Протеусе и в VMLAB. Одинаково. Что это? Дребезг кнопок или что? Как добиться желаемого? Схемка так, для примера, ведь надо на чем то учится :D .
Вот листинг:
while (1)
{
if (PIND.0==0)
{
PORTB.0=1;
}
PORTB.0=0;
if (PIND.1==0)
{
PORTB.1=1;
}
PORTB.1=0;
if (PIND.2==0)
{
PORTB.2=1;
}
PORTB.2=0;
if (PIND.3==0) {
PORTB.3=1;
}
PORTB.3=0;
if (PIND.4==0) {
PORTB.4=1;
}
PORTB.4=0;
if (PIND.5==0) {
PORTB.5=1;
}
PORTB.5=0;
if (PIND.6==0) {
PORTB.6=1;
}
PORTB.6=0;
if (PIND.7==0) {
PORTB.7=1;
}
PORTB.7=0;
};
Вот схема:
Изображение
Вот кривульки:
Изображение Изображение Изображение Изображение

Автор:  samodel [ 25-07, 08:31 ]
Заголовок сообщения: 

Наблюдатель писал(а):
Samodel
Объясни, пожалуйста

По-моему надо сделать так:
while (1)
{
if (PIND.0==0)
{
PORTB.0=1;
}
else PORTB.0=0;
...ну и так далее.

У Вас нет else (иначе) и команда PORTB.0=0 выполняется в любом случае, независимо от предыдущего условия. Т.е. вы устанавливаете сначало 1 по нажатию кнопки, а затем сразу 0. Вот у вас тычки на этой ножке и получаются. На других аналогично.

Страница 3 из 33 Часовой пояс: UTC + 4 часа
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/