Цифра. Что, зачем и почему .

Обсуждение вопросов применения микроконтроллеров и ПЛИС

Куратор темы: Alex Thorn

Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 23 май 2011, 23:01

Собственно, никогда дальше прошивки PIC под уже кем-либо созданное устройство не заходил. Есть интерес к свёртыванию блока управления сварочного инвертора ( дуговик плюс полуавтомат ) в процессор, причём ШИМ-ная часть пока-что остаётся на специализированной имс.
Основные функции, возлагаемые на процессор - контроль за состоянием дуги и соответствующее воздействие на шим, базовые узлы БУ ( стабилизация тока и напряжения ) вероятно будут исполнены в аналоге. Остаётся только "логическая" часть БУ для процессора.
Понимаю, конечно, что это дело совершенно любительщина, но жду советов.
Интересует , какими средствами можно создать-отладить программу для какого попроще, например PICa, на уровне покласть в него хотя-бы что-то типа набора логики, плюс-минус от воображения и возможностей уже конкретного проца ( пока абстрактно без конкретики, там по ходу видно будет) .
Сильно не пинать, каждому своё :)
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 23 май 2011, 23:49

Поймите правильно. Достаточно много информации, толку мало. Ткните носом, мол пошагово это делается так и так, учи то и это, и так далее. Здесь давеча с симулятором SW нечто подобное происходило, там хоть набор моделей и некоторые наработки для ознакомления фигурируют... :) А то пойду изучать примеры со светодиодиками, оно конечно красиво, но как-то совсем не то, что надо :oops:
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 24 май 2011, 01:42

Alex Thorn писал(а):Интересует , какими средствами можно создать-отладить программу для какого попроще, например PICa,

Я лично начинал с атмеловских камней и алгоритм буилдера http://www.algrom.net/russian.html, он кстати сейчас стал бесплатным и все ограничения сняты. Если новичку вляпываться в ассемблер - лучшей связки не найти, ибо буилдер самый наглядный и понятный ассемблер в мире. Также у атмеловских камней очень приятная архитектура, и под них легко кодить на асме - идиотизма в них минимум, а что-то мелкое вполне обходится обычно регистрами ввода-вывода и даже ОЗУ не задействуется под что либо кроме стека. Но - надо понимать и помнить, что подсев на асм потом с него слезать на что-то другое и на другие "камни" очень непросто. Не зря этот процесс назвали "сменой религии" :haha: Поэтому, если есть желание потом вырасти из штанов лучше начинать сразу с Си. Это будет раза в два трудней, так как Си хоть и заменяет асм почти полностью, все же подразумевает что ты его знаешь и понимаешь во что транслируется сишный код и само собой знаешь архитектуру камня. То есть придется фактически постигать не один язык а два сразу, хотя можно и по очереди :) Но оно того стоит. Также я хочу добавить, что МастерКот очень даже обоснованно сполз на процы силабса. С одной стороны в их основе 8051 ядро, которое морально устарело еще в прошлом веке (хотя они его "прокачали" весьма нехило), но по сочетанию периферии, быстродействия и цены я лучше их среди 8-и разрядных камней ничего не вижу. Поэтому я лично буду сползать на них потихоньку, а это означает более плотное постижение Си (хотя я и щас в нем не апсолютный ноль и кое что могу и делал не раз уже), компилятор Keil и т.п. Если в эту область встревать, то со старта нада бы разориться хотя бы на один девелкит (3-4 штуки деревом примерно) под интересуемый проц (я буду юзать C8051F410 как наиболее оптимальный для периферии под мои задачи и брал девелкит именно под него), хотя для силы заточен Si8250 и играться имеет смысл именно с ним. Ну а если все же AVR то безусловно AT90PWM3B либо AT90PWM316 (именно 3B или 316), для силы лучше их у атмела ничего нет из 8-и разрядных.
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 24 май 2011, 12:15

Спасибо, pwn . Алгоритм Билдер скачал, мануал бегло посмотрел .... Здесь такое дело , не шаре чего с ним и как делать :oops: Если возможно, окажите содействие. Думаю, ориентировочно, прикину свои хотелки в виде алгоритма работы устройства, черкану схему аналоговой части с комментариями, может подскажете, как лучше вводить в схему процессор и какой оптимально туда использовать. Требования минимальные к процессорной части , поскольку здесь у меня всё совсем плохо, типа умел когда-то на фортране и бейсике считалки в институте царапать :oops: И чего-то там мутно помню про ВМ80 или около того :( Т.е. план к действиям, на вскидку...
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 24 май 2011, 16:08

Alex Thorn писал(а):Если возможно, окажите содействие.
Ну чем нить помогу по ходу пьесы, хотя надеюсь не только я буду помогать. Первое в любом ТЗ - всегда цель. То есть чтобы можно было что-то рекомендовать, с параметрами девайса и его топологией должна быть полная ясность. Также нада определится что будет делать проц в девайсе - светодиодиками моргать либо еще и силой самостоятельно рулить. Далее исходя из этих посылок под это выбирается камень, который в состоянии потянуть задачу и имеет на борту достаточно железной периферии, которая специализирована под решение схожих задач.То есть, есть ли на борту PWM модуль, цап/ацп и т.п. атрибуты, необходимые конкретной задаче. Определившись с камнем качаем на проц полный датшит (атмел обычно выпускает краткий типа обзора и полный), и вооружившись словарем и терпением (на русском датшиты под атмел большая редкость, хотя частично энтузазисты что-то перевели и возможно найдете на выбранный проц что-то и по русски, хотя это оригинал не заменит, но время сэкономит) изучаем возможности выбранного камня, что где у него в каком регистре лежит и как управляется. Далее изучив талмуд по буилдеру (рекомендую распечатать) создаем новый проект, в свойствах проекта задаем выбранный камень, и начинаем по чуть изучать как эта ботва программится в астме. Тут сразу встает вопрос - нужен реальный камень либо девелкит чтоб было на чем пробовать свои писульки и программатор к нему. На начальном этапе на этом можно слегка сэкономить, если сумеете подружится с протеусом. Он умеет симать много камней от атмела (хотя далеко не все), но если взять для старта, на попробовать, 8-ю либо 16-ю мегу, то вполне прокатит. Принцип прост - в протеусе в ISIS рисуете схему точно также как и в свечке, на интересуемые копыта ставите маркеры сигналов и потом эти сигналы отображаете в виртуальном логическом анализаторе. А в свойствах проца на схеме говорите "заагружать" hex файл прошивки, который у вас получится из под буилдера. таким образом вы сможете что-то писать на буилдере, компилить (если скомпилится :haha: ) и тут же проверять что получилось в виртуальном проце как бы на ходу его перепрошивая. К сожалению, шпротеус не умеет симать at90pwm3, но зато умеет кучу других и для того чтобы научится хотя бы чуть программить - этого вполне хватит. А если вдруг для вашей задачи достаточно стандартного проца - то можно почти всю отладку проделать виртуально в протеусе. Буилдер также умеет отлаживать введенный алгоритм, у него тоже "симулятор" есть, но протеус более нагляден, что для новичка важнее.
Думаю, ориентировочно, прикину свои хотелки в виде алгоритма работы устройства, черкану схему аналоговой части с комментариями, может подскажете, как лучше вводить в схему процессор и какой оптимально туда использовать.

Когда будет ясность с хотелками, тогда будет понятно и куда тулить к ним проц. Пока что ясности в этом у меня нет и советов тоже дать не могу никаких.
Требования минимальные к процессорной части , поскольку здесь у меня всё совсем плохо, типа умел когда-то на фортране и бейсике считалки в институте царапать :oops: И чего-то там мутно помню про ВМ80 или около того :( Т.е. план к действиям, на вскидку...
Это придет со временем в процессе изучения возможностей камня и ядра проца. В шиитах описано все, и система команд и что где и как лежит. Буилдер сильно облегчит процесс, так как в нем все переходы и логика программы видны в виде алгоритма, и читаются в разы легче чем голый асм код. Начнете с простейших вещей по началу - типа запрограммить таймер какой нить чтоб он что-то выдавал на заданный выход и далее заглушка в виде бесконечного перехода на саму себя. И тут же прыг в протеус (либо прошиваем железный проц) и смотрим заработало али нет. И дальше по ходу пьесы усложняем задачку, обработчики прерываний типа вешаем на обработку событий от нужной периферии, смотрим что получилось, результаты как-то выводим на шину в лог. анализатор либо на какой нить виртуальный индикатор, коих в протеусе тоже валом, как семисегментных таки жидкокристаллических текстовых. Ну и я там тоже могу готовый проектик кинуть, типа прошивки от моего "ЛАТРа", будет хотя бы на что-то посмотреть. В начале в голове будет каша, но когда нить туман рассеется и все станет на свои места. Если конечно терпения хватит дожить до этого момента :haha:
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 25 май 2011, 15:15

:) Вкуриваю потихоньку. Уже начал буквы знакомые находить и ориентировочно понимать, чего оно там вытворяет :lol: Может пример какой толковый на примете имеется, когда процессор мониторит внешние "пороговые" сигналы и вырабатывает воздействие на объект согласно своим инструкциям к действию ? :oops: Поискать что-ли инкубатора какого схему :lol:
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 25 май 2011, 17:36

Alex Thorn писал(а)::) Вкуриваю потихоньку. Уже начал буквы знакомые находить и ориентировочно понимать, чего оно там вытворяет :lol: Может пример какой толковый на примете имеется, когда процессор мониторит внешние "пороговые" сигналы и вырабатывает воздействие на объект согласно своим инструкциям к действию ? :oops: Поискать что-ли инкубатора какого схему :lol:

Не сейчас, чуток позже (день-два) я вам полностью проект управы моего латра скину, там есть все и асм и лабью и чего тока нет. Глядишь поможет.
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

Re: Цифра. Что, зачем и почему .

Сообщение retaler » 26 май 2011, 01:01

pwn писал(а): И тут же прыг в протеус (либо прошиваем железный проц) и смотрим заработало али нет.


Поначалу всеже желательно не на протеус, а запустить прогу на отладку в самой обычной аврстудии. Тогда есть возможность посмотреть пошагово что творится с флагами, как проц реагирует на комманды, что происходит с указателем стека, регистрами итд.
Слепо закинуть в проц и наблюдать за тем- что нишиша не работает, потомучто там забыл возврат, порты не в том состоянии, что-то недописал, что-то не знал и так далее. Человек склонен к ошибкам даже в том случае когда он уже имеет опыт и уверен. Для меня - проверка на отладчике - самое обычное дело, даже когда уверен на все сто. Насчет прерываний - спешить не нужно, к их применению нужно созреть, тоесть осознать что именно это есть решение в данном случае. А до этого есть масса способов не применять прерывания для очень простых задач.
Мне приходилось обяснять как и что человеку который о контроллерах не знал ничего изначально, но уже купил контроллер и вперед программировать.
Какой его ход мыслей и событий при этом неизвестен, но после 2-х дней непрерывного сидения за компом и паяльником мы уже имеем начальный программный бланк, имеем спаяный без ошибок шнур программатора и без ошибок делаем хекс файл в аврстудии. 3-й день- светодиод уже мигает, но уже теперь я замучен, т.к там нужна была задержка 0.5 сек, а в теле задержки аж 3-х уровневый цикл, естественно был миллион вопросов.
Человек имевший вузовский опыт программирования на си, в упор не мог понять какое участие флага Z и почему так мало комманд для организации цикла. Понял он только тогда- когда проклацал все в отладчике. Спустя полгода он уже определял мои проги как бред и мгновенно придумывал как организовать решение для любой задачи своим способом.
retaler
 
Сообщения: 64
Зарегистрирован: 18 фев 2011, 00:06

Re: Цифра. Что, зачем и почему .

Сообщение retaler » 26 май 2011, 02:29

Alex Thorn писал(а):когда процессор мониторит внешние "пороговые" сигналы и вырабатывает воздействие на объект согласно своим инструкциям к действию ?


Простенькая програмка на тиньке 15, проверяет значение напряжения и сигнал с 2-х датчиков температуры. Управляет вентилятором и
выдает сигнал выключения если температура или напряжения вне пределов гистерезиса
http://megaupload.ifolder.ru/23773435

Alex Thorn писал(а):Поискать что-ли инкубатора какого схему :lol:


бывает много вариантов, даю ссылку на мой вариант, ранее выкладывал его здесь
http://kazus.ru/forums/showthread.php?t ... ena&page=4
с одной стороны асм в 90кб может ввести в заблуждение начинающего, но с другой - там есть много интересного
и полезного что поможет в дальнейшем.
retaler
 
Сообщения: 64
Зарегистрирован: 18 фев 2011, 00:06

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 26 май 2011, 03:27

retaler писал(а):Поначалу всеже желательно не на протеус, а запустить прогу на отладку в самой обычной аврстудии.
отладка и в буилдере прекрасная, ничем не хуже таковой в аврстудии. Но сидеть клацать на трассе не так наглядно как увидеть работу проца в модели почти что в реале, при этом еще ничего не паяя. Протеус легок в освоении, и для симуляции работы процыков или еще какой цифровухи очень хорош. Вот бы еще свечку научили бы процыки симкать, ваще было бы супер, так как аналоговые дела протеус тоже симкает, но до свечки или микрокапа ему далеко.
Насчет прерываний - спешить не нужно, к их применению нужно созреть, тоесть осознать что именно это есть решение в данном случае.
Ваще то это самый простой способ сделать что либо реалтаймовое (и не только). Надо четко понимать, что возможности ядра невелики, всего 8 разрядов, тактовая мизерная в сравнении со старшими братьями, памяти не так уж и много и т.п. Поэтому правильно построенный проект - в котором удачно подобран проц, исходя из того что он большинство задач реализует аппаратно специально заточенной под это периферией, а ядро только направляет процесс. Например ежу понятно, что для формирования ШИМ гораздо лучше использовать pwm модуль или таймер а не делать все в тупую ядром. Ну или есть например адик на борту, так проще повесить обработчик прерывания нежели тупо мониторить бит состояния и ждать когда же он там сконвертирует. Это наоборот, просто логично и наглядно - есть периферия, по датшиту смотрим какие прерывания она умеет генерить, решаем нада нам это или нет и вешаем обработчик если нада. Одно только надо помнить начинающему как отче наш - попавши в обработчик первым делом надо сохранить в стеке или памяти флаги состояния и регистры которые будут использованы внутри обработчика, а перед возвратом из прерывания это все не забыть восстановить. Но это совсем не трудно понять и освоить. Пионэрщина в виде вложенного на 3 уровня цикла тока ради светодиодом поморгать - это тока начальный этап либо если иначе никак - например все таймеры заняты и аппаратно задержку делать нечем.
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 26 май 2011, 16:40

Alex Thorn писал(а): Есть интерес к свёртыванию блока управления сварочного инвертора ( дуговик плюс полуавтомат ) в процессор, причём ШИМ-ная часть пока-что остаётся на специализированной имс. .

если силой рулит спец.мэсэ. то наплевать какой МК,т.к. задача у него не из тех, кто требует знАчимого ресурса.
нужны аргументы, звоните в скайп (pwm скажет). я тут длинное чего написал, а оно пропало. инет глючит неделю уже.
второй раз писать не буду. лениво.
Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 27 май 2011, 05:14

Рокладов освежил замечательную фразу:
"Одной из задач разработчика является минимальное ухудшение параметров применяемых комплектующих".
Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 27 май 2011, 09:22

retaler писал(а):...с одной стороны асм в 90кб может ввести в заблуждение начинающего, но с другой - там есть много интересного
и полезного что поможет в дальнейшем.

Даа, так понимаю, бОльшую часть занимает организация меню и вывода на дисплей ? :oops:
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение retaler » 27 май 2011, 10:26

Вообще-то да, кроме того в то время я вообще не понимал как организовать меню. Это делалось "напролом" незная других наработок в области организации меню и даже не имея алгоритма "на бумаге", кроме того "первичное" меню состояло вообще из одного блока. Дальше просто наращивались такие-же блоки и создавались переходы между ними. В реале давно уже есть простой генератор меню, организованный таблично и ввиде макроса, который теперь занимает мало места, но такой генератор желательно иметь до начала работы, чтобы строить программу как-бы под стандартное меню чтобы ничего не выходило за существующие рамки.
retaler
 
Сообщения: 64
Зарегистрирован: 18 фев 2011, 00:06

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 28 май 2011, 18:57

Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 28 май 2011, 23:08

Спасибо, читаю . :)
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 29 май 2011, 05:23

Alex Thorn писал(а):Спасибо, читаю . :)

проще было стукнуться в скайпе и не забивать глупостЯми голову. она сгодится для других подвигов. :bach:
Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 29 май 2011, 19:33

MasterCat писал(а):... не забивать глупостЯми голову. она сгодится для других подвигов. :bach:

:) Это ещё почему. Можно и повкуривать без фанатизма, мало ли, мот и кпд какой будет с этого дела . :oops:
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 29 май 2011, 19:52

Alex Thorn писал(а):
MasterCat писал(а):... не забивать глупостЯми голову. она сгодится для других подвигов. :bach:

:) Это ещё почему. Можно и повкуривать без фанатизма, мало ли, мот и кпд какой будет с этого дела . :oops:

оно, конечно, дело хозяйское.
однако есть аксиома: "для того, чтобы изучить язык программирования, надо начать на нем писать".
формулиркете себе задачу (сложность не важна) и делаете. чтобы бы быстрее освоиться, берете проблемку не с сильно большим размахом. универсальные меню, точно не советую. выльется в длинную дорогу. возможно в никуда. например простую задачку управления полумаостом или однотактником. И решение тривиальное, и заний как с МКбороться, и языка, и польза какая ни есть. т.е. ту задачку , которую очциллопером проконтролировать сможете. или другой подход, осваиваете вывод на какой-нибудь знакоситезирующий индикатор и выводите на него чего надобно. на комп выводить до смешного просто, всего одна строчка, потому, тоже вариант для отладки работы. представлять надо чуть чуть как триггера портов рпботатют с их доп. опциями. и этого достаточно. остальное приложится в процессе. ну это если чего делать, конечно. ежели просто из интереса чего там внутри, тогда к умным книжкам. лично мне знание архитектуры и понимание чего там как происходит вроде ниразу не пригодилось с МК. в общих случаях. в сложных ситуациях выжимания соков при разгоне кристаллов и другом некрасивом поведении оно бывает нужно, но очень уж редко. потому и призываю не заморачиваться тем, чего не пригодится..
Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 29 май 2011, 21:16

Задача намечается минимальная. Нечто вроде простановки ручек ток, напряжение, скорость нарастания тока, модуляция ток-пауза , ещё мот чего по ходу, и пимпа занести текущие настройки в память. Пользовать режим по текущим настройкам или из памяти. БУ в принципе аналоговый, проц сбоку. От, чешу репу, как бы это его вкучу свести так, чтоб поменьше париться с тем, чего пока не бум-бум :)
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение retaler » 29 май 2011, 21:26

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


Работу индикации и связи с компом вообще настоятельно рекомендуется сделать в начале любого проекта. Как настроить uart и работать с лсд подробно описано в этой книжке, программы есть в приложении http://megaupload.ifolder.ru/23839195
(файл джвю 3мб)
retaler
 
Сообщения: 64
Зарегистрирован: 18 фев 2011, 00:06

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 29 май 2011, 21:34

угу, обязательно почитаю. а товедь вот так
Код: Выделить всё
flash unsigned char param_menu[ ][16] = {  //!целые тут хранить негде !!
//                                                 [key_1] [2]  [3]  [4] [5]
//0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
// если бит кнопки стоит в поле subrkey, то в поле кнопки не номер строки меню, а имя подпрограммы
// subr  before actual after это для меню.   
//по полю id отображаем параметр на семисегментном индикаторе а нужном поле
//

  //основное меню                                     
 
  //name                                bit subrey --->    4    3    2    1    0
  //def par1 par2  m1   Nm1  m2  Nm2   bef  act  aft  [<<] [>>] [vv] [^^] [OK][subrKey]
  //par  min   max
  //MMA STOP\ Сварка ручная   [по стрелкам переход в SETUP]
  {0x00, 0  ,   1, '0',   0, 'S',  17,0x55,0x10,0x07,   2,  2 ,   2,   2,   1,   0},  //00
  //MMA Work\ ВключенГотовЖду
  {0xFF, 0  ,   1, '0',   1, 'S',  18,0x00,0x11,   0,0x31,0x32,0x31,0x32,   0,0x1E},  //01
  //изменение тока в рабочем режиме. в sub.
  //после обмена с силой через
                                  //end main menu
                                 
                              //menu select setup object
  //   _________________________________                    |to setup|
  //id  par1 par2  m1   Nm1  m2  Nm2   bef  act  aft  [<<] [>>] [vv] [^^] [OK] bitkey
  //   ______SETUP/Ввод параметров           
  {0xE0, 0  ,   1, '0',   8, 'S',  12,0x54,0x57,0x00,  3 ,  6 ,   3,   6,   0,   0 },  //02
  //MMA SETUP/Ввод параметров           
  {0xE1, 0  ,   1, '0',   9, 'S',  12,0x00,0x00,0x00,  7 ,  7 ,   4,   6,   2,   0 },  //03
  //TIG SETUP/Ввод параметров 
  {0xE2, 0  ,   1, '0',  10, 'S',  12,0x00,0x00,0x00,  4 ,  4 ,   5,   3,   2,   0 },  //04
  //CHARGER SETUP/Ввод параметров
  {0xE3, 0  ,   1, '0',  11, 'S',  12,0x00,0x00,0x00,  5 ,  5 ,   6,   4,   2,   0 },  //05
  //STARTER SETUP/Ввод параметров 
  {0xE4, 0  ,   1, '0',  12, 'S',  12,0x00,0x00,0x00,  6 ,  6 ,   3,   5,   2,   0 },  //06
                                 //end menu select setup object        по ОК возврат к SETUP

                     //========= menu MMA SETUP ==============
  //Ввод параметров/ "MMA Холостой Ход"         
  {0xE8, 0  ,   1, 'S',  12, 'M',   0,0x00,0x00,0x00, 11 , 11 ,   8,  10,   2,  0 },  //07
  //Ввод параметров/"MMA Anti Stick  "         
  {0xE9, 0  ,   1, 'S',  12, 'M',   7,0x00,0x00,0x00, 13 , 13 ,   9,   7,   2,  0 },  //08
  //Ввод параметров/"MMA РабочийРежим"       
  {0xEA, 0  ,   1, 'S',  12, 'M',  16,0x00,0x00,0x00, 21 , 21 ,  10,   8,   2,  0 },  //09
  //Ввод параметров/"MMA ПитающаяСеть"       
  {0xEB, 0  ,   1, 'S',  12, 'M', 12,0x00,0x00,0x00,  29 , 29 ,   7,   9,   2,  0 },  //10

                  // ---- sub menu MMA Setup Холостой Ход                   !end
  // - -----MMA Холостой Ход / время ХХ до СТОП -- (0 или >89 - без выключения)
  {0x86, 1  ,  11, 'M',   0, 'M',   1,0x51,0x00,0x51,0x86,0x87,  12,  12,  7,0x18 },  //11
    //"MMA Холостой Ход / уставка Uxx (>60V  без стабилизации)
  {0x89, 12 ,  19, 'M',   0, 'M',   5,0x00,0x00,0x00,0x89,0x8A,  11,  11,  7,0x18 },  //12
 
  //                     // ----- sub menu MMA Setup Anti Stick
  // если указываем уровень стабилизации тока КЗ, то по окончании времени КЗ стабилизируем на
  //этом уровне. если 000 или > I_КЗ*2 , то стабилизации нет и держится макс. ток КЗ.
  // SETUP--MMA Anti Stick  / К.З. если ниже U ---
//id  par1 par2  m1   Nm1  m2  Nm2   bef  act  aft  [<<] [>>] [vv] [^^] [OK] bitkey
  {0x91, 2  , 12 , 'M',   7, 'M',   8,0x00,0x00,0x00,0x91,0x92,  14,  20,  8,0x18 },  //13
  // MMA Anti Stick / время К.З. сек.   // таймер короткого замыкания   СОТЕН ms
  {0x93, 0  ,  40, 'M',   7, 'M',   9,0x00,0x00,0x00,0x93,0x94,  15,  13,  8,0x18 },  //14
  //MMA Anti Stick /  +ток К.З. max %%
  {0x95, 0  , 52 , 'M',   7, 'M',  10,0x00,0x00,0x00,0x95,0x96,  16,  14,  8,0x18 },  //15
    // MMA Anti Stick / ток К.З. стабил.  (до 250А стабилизации)
  {0x97, 0  ,  41, 'M',   7, 'M',  11,0x00,0x00,0x00,0x97,0x98,  17,  15,  8,0x18 },  //16
   // MMA Anti Stick / стоп длинной Д.
  {0x99, 0  ,  32, 'M',   7, 'M',  28,0x00,0x00,0x00,0x99,0x99,  18,  16,  8,0x18 },  //17
// ---MMA Anti Stick /старт с пульта
  {0x9A, 0  ,   1, 'M',   7, 'M',  30,0x00,0x00,0x00,0x9A,0x9A,  19,  17,  8,0x18 },  //18
// ----MMA Anti Stick / стоп  с пульта
  {0x9B, 0  ,   1, 'M',   7, 'M',  31,0x00,0x00,0x00,0x9B,0x9B,  20,  18,  8,0x18 },  //19
// ---MMA Anti Stick /старт касанием
  {0x9C, 0  ,   1, 'M',   7, 'M',  32,0x00,0x00,0x00,0x9C,0x9C,  13,  19,  8,0x18 },  //20

                     // -- sub menu MMA Setup  РабочийРежим
  // --SETUP-MMA РабочийРежим  /  ток  сварки  !! на один канал
  {0xA1, 2   ,131, 'M',  16, 'M',  17,0x00,0x00,0x00,0xA1,0xA2,  22,  28,  9,0x18 },   //21
    // -------SETUP-MMA РабочийРежим  /форсаж %% ---   [<<] [>>] [vv] [^^] [OK]-
  {0xA3, 0  ,  25, 'M',  16, 'M',  18,0x00,0x00,0x00,0xA3,0xA4,  23,  21,  9,0x18 },  //22
  // -------SETUP-MMA РабочийРежим  /время форсажа !10*ms
  //  (время форсажа и холодного и горячего)
  {0xA7, 0  , 10 , 'M',  16, 'M',  20,0x00,0x00,0x00,0xA7,0xA8,  24,  22,  9,0x18 },  //23
// -------SETUP-MMA РабочийРежим  /горячий старт %%
  {0xAB, 0  ,  21, 'M',  16, 'M',  22,0x00,0x00,0x00,0xAB,0xAC,  25,  23,  9,0x18 },  //24
   // --SETUP-MMA РабочийРежим  /Горячее время сотни миллисекунд 100*ms 
   //(в течение этого времени считаем, что электрод не остыл)
  {0xB1, 0  , 30, 'M',  16, 'M',  24,0x00,0x00,0x00,0xB1,0xB2,  26,  24,  9,0x18 },  //25
   // -------SETUP-MMA РабочийРежим  /  фронт  десятки ms переднй фронт тока для всех режимов)
  {0xAE, 0  ,  9, 'M',  16, 'M',  34,0x00,0x00,0x00,0xA5,0xA6,  27,  25,  9,0x18 },  //26
    // -------SETUP-MMA РабочийРежим  /  спад   десятки ms
  {0xAF, 0  ,  10, 'M',  16, 'M',  35,0x00,0x00,0x00,0xA9,0xAA,  28,  26,  9,0x18 },  //27
     // -------SETUP-MMA РабочийРежим  /Umax длинн. дуги     
  {0xB7, 0  ,  28, 'M',  16, 'M',  27,0x00,0x00,0x00,0xB7,0xB8,  21,  27,  9,0x18 },  //28
   
                    // sub menu MMA Setup ПитающаяСеть
  // SETUP--MMA ПитающаяСеть  / min U сети вкл  ----- [<<] [>>] [vv] [^^] [OK]
  {0xC1, 160, 210, 'M',  12, 'M',  13,0x00,0x00,0x00,0xC1,0xC2,  30,  31, 10,0x18},  //29
  // MMA ПитающаяСеть  / max U сети вкл   ! не более 255
  {0xC3, 230, 253, 'M',  12, 'M',  14,0x00,0x00,0x00,0xC3,0xC4,  31,  29, 10,0x18},  //30
  //MMA ПитающаяСеть / min U с. провал
  {0xC5, 0  ,   5, 'M',  12, 'M',  15,0x00,0x00,0x00,0xC5,0xC6,  29,  30, 10,0x18}   //31
};                                                // [номерa следующего меню] |_флаги привзки п.п. к кнопкам
  /* |    |    |    |    |    |    |    |    |    |   [<<] [>>] [vv] [^^] [OK]    //
     p    m    m    1    1    2    2    b    a    a     |    |    |    |    |_ номер след.строки param_menu по OK key_5
     a    i    a    й    я    й    я    e    c    f     |    |    |    |______ номер след.строки param_menu или ++ по ^^ key_4
     r    n    x    |    |    |    |    f    t    t     |    |    |___________ номер след.строки param_menu или --  по vv key_3
     a    V    V    м    с    м    с    o    u    e     |    |________________ номер след.строки param_menu или ++ или +selField по >> key_2
     m    a    a    а    т    а    т    r    a    r     |_____________________ номер следующего меню или -- или -+selFieldпо << key_1
     e    l    l    с    р    с    р    e    l    |_ oбработкa after.  ( перед выходом )
     t    u    u    с    о    с    о    |    |______ oбработкa actual. ( по [OK] )
     r    e    e    и    к    и    к    |___________ oбработкa before. ( при входе ) 
     |    P    P    в    а    в    |_ номер строки для вывода во 2ю строку VD
     d    a    a    |    |    |______ код массива строк меню для вывода во 2ю строку VD
     e    r    r    |    |___________ номер строки для вывода в  1ю строку VD
     f    |    |    |_______________ код массива строк меню для вывода в  1ю строку VD
     i    |    |__ Max value параметра                                                                                   
     n    |_______ Min value параметра                                                               
     e___________ имя параметра (места пребывания) (#define name parametr x)                   
                                                                                                         
   

ну, как-то прям, неудобно, право.
так c borland С2.0. ещё с XTшки тянется такое построение. вот ведь засада. при этом наплевать какой индикатор, знакосинтезирующий или графический. а для озвученной задачи хватит и семисегментного. вкомп достаточно банального printf. чего грузить человека когда он ещё лампочкой не помргал. начнет чего делать, тогда война план и покажет.
Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 30 май 2011, 02:21

MasterCat писал(а): чего грузить человека когда он ещё лампочкой не помргал. начнет чего делать, тогда война план и покажет.

Вы , безусловно, правы. Но чек хотеть немного почитать по-существу, так сказать, дабы не тратить то, чего нет, на то, что не особо надо... в хорошем смысле , типа паяльник держать умею - хочу навороченный инвертатор, а ему - не , родимый, ты косой мост собирай, то и то - принципиально важно, это и это - уже не так критично :oops: Пойду табло раскопаю в залежах, потому как совершенно бездушный индикатор, который ещё и ничего не показывает, скучно будет выглядеть ... :lol:
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение MasterCat » 30 май 2011, 04:41

Alex Thorn писал(а): - хочу навороченный инвертатор, а ему - не , родимый, ты косой мост собирай, то и то - принципиально важно, это и это - уже не так критично :oops: Пойду табло раскопаю в залежах, потому как совершенно бездушный индикатор, который ещё и ничего не показывает, скучно будет выглядеть ... :lol:

ну так это.. я ж и говорю. не надо забивать головушку.
вспоминается сразу анекдот про лоторею и несчастного еврея...
программатор-то куплен уже? и платформой есть ясность? я ж не случайно про скайп сказал. резкость наводится в течение получаса.
ну а желание с навороченным инвертором решается (до 100 кгц и НЕфазовый мост) как раз заточенным под это at90pwm316. и не верьте , что там программное управление силой. это кричат те кто даташита не читал, тараканчика не пользовал, но слышал где-то, шо МК - это программа. нишиша - это тупые счетчики и триггера ... которым, да, программа указала как жить. и ссылочку на готовые тексты уже дал. осталось научиться с ними работать.преимущество такого подхода в том, что написаны они хоть и мудрено несколько, но правильно. т.е. начав писать в такой манере, не придется потом себя мучить. сразу будет всё правильно. ну а как с ними бороться, подскажу. по крайней мере PFC, полумост, мост, однотактник уже для вас написан. с управление по току ШИМ, ЧИМ. осталось понять чего и как там написано. походу и разберетесь что к чему. готовую плату предложить могу, но как сказал Ломакин, дорого она будет стоить , пока пешком дойдет. но плата есть, даже спаянная, не жалко.
а кривой там или приямой ксок моста или цельный мост решите потом. потом, потому-то, как только увидите, как Это работает, поймете, что без разницы чем рулить. оно всё в тексте букафками задается и ничегошеньки перепаивать не придется. одна проблема, апологетов паяльника всё время подмывает чего-то куда-то присопливить шоб поглядеть, вместо того, чтобы пару строк написать. тут себя перешагнуть очень сложно. пожалуй это самый трудный вопрос во всей этой истории. писать-то надо сначала подумав, а с паяльником эта думка в процессе. по себе знаю.
Аватара пользователя
MasterCat
 
Сообщения: 1281
Зарегистрирован: 02 фев 2011, 17:18

Re: Цифра. Что, зачем и почему .

Сообщение retaler » 31 май 2011, 00:59

Alex Thorn писал(а): Нечто вроде простановки ручек ток, напряжение, скорость нарастания тока, модуляция ток-пауза , ещё мот чего по ходу, и пимпа занести текущие настройки в память. Пользовать режим по текущим настройкам или из памяти. БУ в принципе аналоговый, проц сбоку.


Задача в таком виде выглядит свиду простой, но в плане реализации может быть неудобной вплане стыковки того самого контроллера и уже
почти готовой аналоговой системы управления. В таком случае я использовал последовательный цап с двухполярным выходным напряжением для задания тока и напряжения. (в простейшем варианте можно использовать таймера в режиме шим или встроеный цап если есть). Но сама программа может быть при этом до безобразия простой и заключатся в выборе готовых параметров и установки заданий токов и напряжений стабилизации по ним.
Конечно всегда есть способ реализации полностью все на контроллере как предлагает MasterCat, схема получается проще, но программе придется все расхлебывать (это впринципе более совершенный вариант так как уменьшать аппаратную часть ценой программной - основная тенденция).
Нужно еще сказать о том, о чем большинство программистов умалчивают- это способ реализации основного (и не только) алгоритма.
Самое интересное, что начинку любого контроллера описывают очень щедро, а вот насчет алгоритмов и как все делается - здесь уже кто на что способен и делиться любят далеко не все.
В полностью микроконтроллерном источнике питания - один из вариантов алгоритма - это настроить прерывание по ацп так, чтобы в конце каждого преобразования вызывался обработчик, в котором происходит обработка сигнала и там-же модификация длительности шим. Получается работает одно единственное прерывание, а основной алгоритм восновном крутит вечный цикл, но все при этом завязано на скорость ацп. Тоесть чем быстрее справляется ацп, тем лучше динамические характеристики такого источника несмотря на высокую частоту генерирования шим таймером. Для измерения нескольких сигналов в теле обработчика по ацп ставится конвеер, который имеет счетчик и по очереди переключает коммутатор ацп на нужный вывод измерения и заносит значения каждое в свой регистр (или ячейку памяти). Алгоритм модификации шим может вообще не содержать регулятора а просто сравнивать сигнал с заданием и увеличивать или уменьшать длительность шим на один шаг за один вызов прерывания. Но это конечно самый простейший вариант.
retaler
 
Сообщения: 64
Зарегистрирован: 18 фев 2011, 00:06

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 31 май 2011, 01:23

retaler писал(а):Самое интересное, что начинку любого контроллера описывают очень щедро, а вот насчет алгоритмов и как все делается - здесь уже кто на что способен и делиться любят далеко не все.
Ну это вы напрасно - дело не в любви/нелюбви а в том что опыт это не файл на диске и просто так с одних извилин на другие не копируется. Поэтому правильно было сказано: хотите освоить язык -> начинайте на нем писать. Хотите освоить процы -> начните их применять наконец таки.
Тоесть чем быстрее справляется ацп, тем лучше динамические характеристики такого источника несмотря на высокую частоту генерирования шим таймером.
Ну эт вы хватили. Динамические характеристики кроме этого определяются еще топологией и частотой клацанья, и кроме того у ПИ регулятора всегда есть некая частота, выше которой он просто обязан прекратить реагировать на изменение входного сигнала, иначе он нарегулирует чего нить не того, и вместо желаемого эффекту будет свист и шипение в зависимости от нагрузки. Так вот, быстродействия большинства ацп на борту камней хватает более чем за глаза чтоб успевать обсчитывать входной сигнал в несколько раз быстрее чем требуется. Наоборот приходится писать код, который получив на вход поток данных на выходе имитирует реакцию "железного" ПИ-регулятора.
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 31 май 2011, 02:13

MasterCat писал(а):программатор-то куплен уже? и платформой есть ясность?

:oops: всё значительно скромнее. Наверное, пока-что поиграюсь с имеющимся в наличии PIC16f876 , там видно будет, по мере освоения, что и как пользовать. Не вижу пока смысла ломиться за тем, не знаю, за чем. Спасибо за предложение, Вы должны понимать, что готовый результат не подходит, потому как рубит на корню всё остальное, зачем это вообще делается . :frends:
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение Alex Thorn » 31 май 2011, 02:21

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

Да, именно это мне и нужно. Пока почитаю ещё малость, подумаю.
благодарю за внимание
Alex Thorn
 
Сообщения: 1967
Зарегистрирован: 02 фев 2011, 11:14

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 31 май 2011, 05:10

Alex Thorn писал(а):Наверное, пока-что поиграюсь с имеющимся в наличии PIC16f876 , там видно будет, по мере освоения, что и как пользовать.
С алгоритм буилдером сразу же обламываетесь = он умеет только с атмеловскими камнями работать. А так как асм в голом виде для вас со старта будет явно перебор, то придется учить Си и без разговоров. И кроме того, я бы не рекомендовал вам метаться между производителями только на основании наличия в тумбочке пары камней от микрочипа. Потом религию сменить будет трудно ;) Микрочип делает много камней, больше атмела, более широкий выбор периферии, есть доки на русском, но архитектура ядра лично мне не нравится и на астме я под него кодить не стал бы, особенно при наличии альтернативы ;) Атмел отстает маленько по периферии, шииты в основном на аглицком, но архитектура ядра намного удачнее плюс есть буилдер что для начинающего в астме - лучшего нинада. Но если атмел на что-то променять - тогда лучше все же силабс. На мой взгляд по периферии наиболее удачные из этих трех.
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

Re: Цифра. Что, зачем и почему .

Сообщение pwn » 31 май 2011, 05:28

Alex Thorn писал(а):Да, именно это мне и нужно. Пока почитаю ещё малость, подумаю.
Вас правильно предупредили - если проц выполняет минимум функций, это оборачивается простотой в коде, трудно позвать в гости :bach: если что повисло или сам прокосячил, можно конечно но надо умудриться. Но - за это придется платить городушками согласования проца с аналогом (не смертельно, все решаемо, но - городушки). Ежели наоборот, ШИМ реализуется периферией проца, то городушек нет вааще, но зато выше требования к коду и к разводке монтажа. Процы кривой монтаж не любят, это факт. Но с другой стороны если ты всегда стремишься делать прямой монтаж = для тебя это совсем не проблема. От кривого монтажа процы виснут у тех, у кого руки кривые. Но у них по той же причине :bach: в гости ходит и в те девайсы где процов и на дух нет, поэтому лично для меня страх перед зависанием проца - отнюдь не показатель. Я например умудрялся заставить работать ATTYNY26 в 10 см от искрового промежутка, причем частота следования импульсов была вплоть до 150-200Гц а амплитуда тока при разряде 150-200 ампер (прямой разряд кондера 0.1мкф заряженного до 1кв). А условий хуже чем эти даже в криво собранном сварнике трудно создать ;)
Аватара пользователя
pwn
 
Сообщения: 3375
Зарегистрирован: 26 янв 2011, 03:04

След.

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2