Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
08.10.2010, 19:37
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: ШИМ в АТMega8535
Кстати! А кроме нас тут кто-нибудь есть? Мож какие мысли есть? АУ!!!
|
|
|
|
08.10.2010, 21:38
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: ШИМ в АТMega8535
Цитата:
|
Может и сварщику достаться и трансформатор пробить, а уж он-то за собой по-максимуму потянет.
|
Не так. Коэфициент трансформации силового трансформатора 1/3. Я выкладывал схему силовой части без выпрямителя и схемы заряда емкостей, к стати плата подготовлена под изготовление промышленым способом. Так вот на конденсаторах +310 и на трансформаторе столько же, во вторичке +100 не зависимо от ширины импульса если нет дуги. В импульсе +100!!! сварщика убъет в любом случае ![Дьявольски зол](images/smilies/icon_twisted.gif) . Однако из опыта других инверторостроителей не убивает, живучий народ сварщики.
Цитата:
|
Это будет сигнал - "примерно средняя мощность в выходном каскаде инвертера" - имеющий опосредованную информацию о текущем через электрод токе
|
Да именно так. Некая средняя величина с весьма медленным циклом измерения и реакции на основе которой контролер будет знать чего ему добавить. Другими словами регулировки выходного тока на основе этого измерения. Но медленная для контролера, для TL, для силовой части, а не как не для сваршика и изменения растояния дугового промежутка.
Цитата:
|
Сдесь скорость величина относительная.
частота генератора ШИМ TL494 должна быть в 2 раза больше ожидаемой частоты преобразования - в ней стоит триггер-делитель на 2
|
Да по барабану подстроечником многооборотным выведу с точностью десятков Гц. Это не проблема.
Цитата:
|
Встроенный в МК АЦП имеет предельную тактовую частоту 200кГц. При 16МГц кварца мы можем выбрать делитель
|
Опять же до лампочки. При применении внешнего ШИМа скорость реакции контролера отодвигается на второй план. Потому и выбран внешний ШИМ.
Цитата:
|
(чуть меньше 9кГц) - это при однократном преобразовании, чего явно недостаточно для регулировки в каждом цикле, даже если считать 31кГц
|
.
Контролер не для того чтоб регулировать в каждом цикле, это абсолютно не нужно. Для регулировок в цикле есть внешний ШИМ.
Цитата:
|
программная стабилизация выходного напряжения/тока инвертора не просто нежелательна, но и опасна (за это время транзисторы успеют благополучно выгореть),
|
Во внешнем ШИМе есть обратная связь по току которая как раз и не даст. Яж не зря не захотел ее заводить через усилители они тормознутые. Как вы не поймете контролер не для защиты. Точнее для весьма посредственной защиты обратная связь которой заведена на компаратор. И нужно понимать что для сварочного апарата короткое замыкание сварочной цепи процес нормальный и абсолютно рабочий.
Цитата:
|
второй будет усиливать ток с датчика(кусок провода с выходного выпрямителя
|
Там практически постоянка, там не получится. Вы не совсем понимаете работу косого моста. Это не мост и не полумост, силовой трансформатор на дугу работает в одном такте. Возьмите схему Бармалея и посмотрите работу силовой части, у меня такая же топология.
Цитата:
|
А кроме нас тут кто-нибудь есть?
|
Не нема никого, нужно тему переименовывать, я по правде говоря не думал что 10 страниц напишем.
Можем по скайпу пообщаться может я смогу подробнее объяснить.
|
|
|
|
08.10.2010, 22:11
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: ШИМ в АТMega8535
alexgap,
Ну сколько можно? Писал же раза 3 Мега8535, потому что 50-70 корпусов есть, если не влезет то Мега16 станет нога в ногу практически почти без изменения кода. Ну а если совсем не влезет то Мега128 которая тоже есть переделаю принципиалку, туда черта лысого засунуть можно.
А понимание картины в целом и так было, может не так изъяснялся.
Подскажите лучше как таймер 1 настроить чтоб с нужной частотой прерывания генерил, а выхода контролера не трогал. Вобшем нужен генератор прерываний с нужной частотой.
Последний раз редактировалось 7Fantomas7; 08.10.2010 в 22:21.
|
|
|
|
08.10.2010, 22:49
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: ШИМ в АТMega8535
Я, конечно, дико извиняюсь, но, видимо я что-то в этой жизни перестал понимать... 8к не хватит, чтобы моргать индикаторами, марять 2 АЦП, опрашивать 4 кнопки, управлять ШИМом, и менять заполнение этого ШИМ на х% в зависимости от 3-4 условий?
Вот рабочий девайс, который по ходу работы переключается в разные(4) режимы, моргает индикаторами, опрашивает АЦП, гасит незначащие нули и т.п. на Attiny15, у которой ни ОЗУ ни стека просто физически нет, всё влезло в полкило памяти. Тока ШИМом не управляет...
ADC+4dig_7seg.zip
Скриншот результатов компиляции и исходники. Неоптимален вывод на индикатор(места полно осталось, да и по времени более чем успевает - надо будет спать его отправлять)...
Сообщение от 7Fantomas7
|
Вобшем нужен генератор прерываний с нужной частотой
|
А какая частота? Или в общем? Просто уже есть генератор с частотой 62,5 кГц...
Последний раз редактировалось omercury; 10.10.2010 в 21:31.
Причина: Добавил проект в Proteus
|
|
|
|
08.10.2010, 22:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: ШИМ в АТMega8535
Цитата:
|
А какая частота? Или в общем?
|
В обшем. Вообщето 250кГц, сделаю переменные по которым буду запускать функции, динамичку, опрос кнопок, и т.д.
|
|
|
|
08.10.2010, 23:03
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: ШИМ в АТMega8535
4 микросекунды - слишком часто для кнопок, им надо 20-25 милисекунд. Динамичку и кнопки лучше синхронизировать с ШИМом, и то не в каждом такте. Напряжение/ток в основном цикле программы(основная часть времени работы МК) - когда не отвлечен на более "нужные дела", а функции - по событиям. Я думаю как-то так...
Последний раз редактировалось omercury; 08.10.2010 в 23:06.
|
|
|
|
09.10.2010, 00:59
|
|
Гражданин KAZUS.RU
Регистрация: 08.07.2006
Сообщений: 886
Сказал спасибо: 119
Сказали Спасибо 1,110 раз(а) в 177 сообщении(ях)
|
Re: ШИМ в АТMega8535
Сообщение от omercury
|
Я, конечно, дико извиняюсь, но, видимо я что-то в этой жизни перестал понимать... 8к не хватит, чтобы моргать индикаторами, марять 2 АЦП, опрашивать 4 кнопки, управлять ШИМом, и менять заполнение этого ШИМ на х% в зависимости от 3-4 условий
|
Если было бы все так просто ![Улыбка](images/smilies/icon_smile.gif) Вот, прикиньте:
1) Управление током. Для этого прекрасно подходит ПИД регулятор.
2) ПИД регулятор имеет свойство накапливать ошибку интегрирования. Чтобы этого не происходило, нужно специально рассчитывать ограничение и корректировать интегратор. Все это помещается в 16 бит арифметику, но желательно иметь 32 бит, особенно для интегральной составляющей.
3) Есть еще и напряжение, которое тоже возможно нужно ограничивать. Отсюда смежное управление ШИМом по току и по напряжению
4) Отработка аварийных ситуаций. Это порядка 10 условий работающих при каждом отсчете АЦП.
5) Устранение "неровностей" на выходе. В любом составном регуляторе (ток + напряжение) они будут возникать, и это требует ввода в алгоритмы дополнительных условий, чтобы не накапливалась ошибка, когда конкретный алгоритм не имеет воздействия на выход устройства
6) Разные характеристики регулировки тока для разных режимов сварки
7) Обработка пользовательского интерфейса (индикатор + кнопки)
8 ) Контроль температуры, управление вентилятором
9) 1001 мелких алгоритмических винтиков чтобы устройство работало качественно: смягчение переходных процессов, плавное и безопасное переключение из одного режима в другой. Это то, о чем вы даже сейчас на задумываетесь и уверены, что всё влезет в 128 байт флэша
__________________
.
![](signaturepics/sigpic59615_7.gif)
В мире всего два типа людей: те у кого был ZX Spectrum, и те у кого его не было.
|
|
|
|
09.10.2010, 01:30
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: ШИМ в АТMega8535
Сообщение от alexgap
|
Для этого прекрасно подходит ПИД регулятор
|
При такой скорости преобразования, да и 32-битной математики, на мой взгляд, предпочтительней таблица.
Сообщение от alexgap
|
Отсюда смежное управление ШИМом по току и по напряжению
|
Сообщение от 7Fantomas7
|
Вот я и решил сваять источник с падающей характеристикой для штучного электрода и аргона, падающей импульсной для сварки алюминия в среде аргона не плавящимся электродом, по сути это будет стабилизатор тока, а еще с жесткой крутопадающей характеристикой для сварки полуавтоматом в среде углекислого газа и жесткой крутопадающей импульсной характеристикой для сварки полуавтоматом алюминевой проволокой, по сути это будет стабилизатор напряжения.
|
Сообщение от omercury
|
усиливать ток с датчика(кусок провода с выходного выпрямителя, усиливать надо...200Ах2,5в=500W) в одном режиме и напряжение с выхода выпрямителя - в другом
|
Сообщение от alexgap
|
Отработка аварийных ситуаций
|
Сообщение от 7Fantomas7
|
Во внешнем ШИМе есть
|
Сообщение от alexgap
|
Устранение "неровностей"
|
Сообщение от omercury
|
(чуть меньше 9кГц) - это при однократном преобразовании
|
полюбому не успеет - аппаратно.
Сообщение от alexgap
|
Разные характеристики регулировки тока для разных режимов сварки
|
Сообщение от omercury
|
Аппаратная же защита и регулировка тока и напряжения в выходной цепи с включением и коррекцией параметров из МК
|
Сообщение от alexgap
|
7) Обработка пользовательского интерфейса (индикатор + кнопки)
8 ) Контроль температуры,
|
А вот это он и будет делать всё время, пока не корректирует ШИМ и не меряет напряжение с током(скажем, пока ждет АЦП, почему бы не померять температуру?) - то есть почти всё время...
Сообщение от alexgap
|
всё влезет в 128 байт флэша
|
я говорил в 1к, максимум 2. (#37)
Последний раз редактировалось omercury; 09.10.2010 в 01:34.
|
|
|
|
09.10.2010, 01:54
|
|
Почётный гражданин KAZUS.RU
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,497
Сказал спасибо: 30
Сказали Спасибо 3,072 раз(а) в 2,013 сообщении(ях)
|
Re: ШИМ в АТMega8535
Сообщение от 7Fantomas7
|
Вообщето 250кГц
|
Инициализация таймера:
TCCR1B = 1 //Запуск таймера с коэффициентом деления 1
TCNT1 = (-57) //С этого момента пошел отсчет... целых 57 тактов
остальное дописывать?
Для получения частоты ровно 250кГц(точностью кварца пренебрегаем) придется столкнуться с ассемлером, иначе невозможно сосчитать количество тактов, затраченных МК для работы с таймером. Но лучше воспользоваться 8ми битным Таймером2 - он есть и в 16 и в 32 и в 64 и в 128 Меге.
Для Таймера1 надо написать такой макрос:
Код:
|
.asm
.equ t1cnt = (-64+4+3) ;16000000/250000=64 такта до переполнения
;4 такта - вход в прерывание
;3 такта перезагрузка счетчика
;Нам осталось 57 тактов на всё!
.def temp = r16 ;1 верхний регистр
.def tempSreg = r2 ;1 нижний регистр
.macro ResincTmr1: ;Имя макроса(Синхронизация таймера1)
mov tempSreg,SREG ;Сохраняем флажки(1 - 1)
ldi temp,Low(t1cnt) ;Загрузка счетчика(1 - 2)
out TCNT1L,temp ;Младший байт счетчика(1 - 3)
ldi temp,High(t1cnt) ;Дальше не критично
out TCNT1H,temp ;Старший байт счетчика
endmacro |
По прерыванию переполнения таймера 1 - сразу ResincTmr1
в скобках длина команды в тактах - количество тактов
Последний раз редактировалось omercury; 09.10.2010 в 01:56.
Причина: в скобках длина команды в тактах - количество тактов
|
|
|
|
09.10.2010, 08:26
|
|
Почётный гражданин KAZUS.RU
Регистрация: 24.09.2007
Сообщений: 1,437
Сказал спасибо: 287
Сказали Спасибо 339 раз(а) в 202 сообщении(ях)
|
Re: ШИМ в АТMega8535
Цитата:
|
4 микросекунды - слишком часто для кнопок, им надо 20-25 милисекунд.
|
Опять не правильно. Этим прерыванием будем инкремирововать некий набор переменных. Например взяли какуюто переменную и считаем ее до 1000, а когда досчитали то опросили кнопки. Таким образом можно тактировать и динамичку.
Цитата:
|
1) Управление током. Для этого прекрасно подходит ПИД регулятор.
|
Зачем такие сложности. Я уже минимум 3 раза писал НЕ НУЖЕН ПРЕЦИЗИОННЫЙ ИСТОЧНИК.
У нас апаратный ШИМ контролера 8 бит, таким образом в идеале мы можем регулировать ток от 0А до 200А ступенями 1/255. Это в идеале даст точность регулировки примерно 0,8А на статической нагрузке. Мы имеем АЦП 8 бит точность таже. Дальше просто, замеряли, сравнили с уставкой, добавили или убавили коэфициент заполнения.
Цитата:
|
3) Есть еще и напряжение, которое тоже возможно нужно ограничивать. Отсюда смежное управление ШИМом по току и по напряжению
|
Ну читайте ж Вы внимательно, ИЛИ ИСТОЧНИК ТОКА ИЛИ ИСТОЧНИК НАПРЯЖЕНИЯ оба параметра регулируются коэфициентом заполнения. ЭТО два разных режима и в любом случае на выходе в импульсе +100 когда не горит дуга. В любом случае значения усредненные.
Цитата:
|
4) Отработка аварийных ситуаций. Это порядка 10 условий работающих при каждом отсчете АЦП.
|
Пока такая ситуация 1 "превышение критического тока в ключах" все остальное не авария.
Цитата:
|
6) Разные характеристики регулировки тока для разных режимов сварки
|
Примерно всего две, задали ток и пытаемся его таким поддерживать, задали ток и подаем импульсами пытаясь поддерживать величину тока.
Цитата:
|
7) Обработка пользовательского интерфейса (индикатор + кнопки)
|
Да именно так. Если нажата любая из кнопок то сила тут же остановлена. Пока не зададим новые параметры и не пройдет некоторое время после того как отпущена последня кнопка.
Цитата:
|
8 ) Контроль температуры, управление вентилятором
|
Вентилятор крутится постоянно, не знаю причины зачем им управлять, температура ключей и трансформатора это святое.
Цитата:
|
9) 1001 мелких алгоритмических винтиков чтобы устройство работало качественно:
|
Винтики будут.
Цитата:
|
Но лучше воспользоваться 8ми битным Таймером2 - он есть и в 16 и в 32 и в 64 и в 128 Меге.
|
Да наверное так будет лучше
А в асемблере я по правде сказать разбираюсь лучше чем в балете.
Кстати нужно подумать, а не лучше ли тактировать шимом и в заправду? Организовать прерывания ШИМом например по заднему фронту импульса или по переднему в принципе по барабану.
Последний раз редактировалось 7Fantomas7; 09.10.2010 в 08:29.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:22.
|
|