Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT90PWM3
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2, 3
osnwt
Собрал макет на AT90PWM3. Сложилось впечатление, что это - самый недоделанный из всех AVR.

1) Как определить ревижн чипа (A или B ). Так и не понял до конца, что же у меня.

2) PSCnRB и PSCRV.
Дословно написано следующее: If PSCRV fuse equals 0 (programmed), the selected PSC outputs will be forced to low state. If PSCRV fuse equals 1 (unprogrammed), the selected PSC outputs will be forced to high state.

Прошил PSCnRB=0 вместе с PSCRV=0, но получил прямо противоположное поведение: при PSCRV=0 на выходах стоит Vcc. При PSCRV=1 на выходах стоит 0.

Это уже 5 или 6 ревижн документа, который все в стадии Preliminary. То ли это фича, то ли я что-то не понимаю.

3) BOD и Aref.
Попытался при 5-вольтовом питании включить 4.3 вольта BOD фьюзами. Включил. Как только выставляю через ADMUX Aref=AVcc, контроллер сбрасывается. То ли это Brownout reset, то ли что-то иное - не выяснял, но все зацикливается на сбросе строго после записи в ADMUX. При отключенном BOD все нормально.

4) Amplified ADC conversions.
Не удается заставить работать ADC по дифференциальному входу AMP1. Чего только не перепробовал. При включении (ADMUX) канала 10 (ADC10) все работает. При включении канала 11 или 12 (AMP0, AMP1) преобразование не свершается - бит ADIF не устанавливается. Пробовал включать и выключать amplifier, пробовал запускать преобразование через ADSC в ADCSRA (как для B ревижена чипа), так и через ADASCR в ADCSRB (как для A ревижена) - никакой разницы. Тестовая программа виснет на куске while (!(ADCSRA & (1<<ADIF))) ;

Совершенно в расстроенных чувствах - то ли это такой экземпляр попался, то ли ревижен, то ли я что-то не того. Но ни с одним другим AVR-ом таких проблем не было. А тут просто кладезь сюрпризов.

Чего стоит только почитать вот этот документик: AT90PWM2/3 Programming Guide (User Guide, 6 pages, revision A, updated 06/06). This document is intended for AT90PWM2/3 users, it focuses on fuse bit programming and configuration. It also provides information and synthesis about fuse bit configuration versus different Atmel hardware development kits using AT90PWM2/3.

Цитата
AT90PWM2/3 is no more programmable, it must be unsoldered.
Part is no more accessible (ничем вообще, не только по ISP или чему-то еще).

Похоже, на этот раз Atmel оплошала, и серьезно.
bgc
где брал чип?
Я тоже собрался делать проект на PWM3 уже купил 6 штук... В Точке Опоры.
osnwt
Цитата(bgc @ Sep 8 2006, 20:38) *
где брал чип?

В Киеве.

Так что, никто больше не работал с PWM3? У меня их тоже 3 штуки, вот незадача-то... :-)
Gennadiy_
В tiny26, например, офигенный разброс U опорного, и якобы можно переключать коммутатор АЦП до завершения текущего преобразования - у меня неработало, код выкладывал, ногами не били, значит ошибка.
osnwt
Цитата(Gennadiy_ @ Sep 9 2006, 00:06) *
В tiny26, например, офигенный разброс U опорного, и якобы можно переключать коммутатор АЦП до завершения текущего преобразования - у меня неработало, код выкладывал, ногами не били, значит ошибка.

Как бы то ни было, если даже изменить канал во время преобразования, то это, по видимости, может повлиять только на достоверность измеренного значения. У меня эта ситуация исключена. И не работает только при выборе дифференциального канала. Все прочие варианты выбора канала не подвешивают ничего, в т.ч. значение 15 (0) и 14 (bandgap reference, дающее, правда, почему-то скачущий в два раза результат).
bgc
повидимому, никому не было нужно, пока работать с этим, чипом,
а Вам, osnwt, для чего? Какой двигатель крутить собираетесь?
osnwt
Цитата(bgc @ Sep 9 2006, 17:36) *
а Вам, osnwt, для чего? Какой двигатель крутить собираетесь?

Трехфазный мотор постоянного тока в бездатчиковом режиме (brushless sensorless DC motor). Эта тема достаточно популярна в среде радиомоделистов. Серийно выпускаемые регуляторы или дорогие, или работают соответственно низкой цене (я, к примеру, уже дважды ронял вертолет из за того, что сэкономил раз на недорогом регуляторе). Потому много народу пытается сделать свой на разной элементной базе. В частности, есть реализации на ATmega8, но там есть принципиальные ограничения по частоте PWM в силу программной реализации того, что аппаратно есть в AT90PWM3. Потому хочется попробовать сделать такое на специализированном контроллере, а высвободившиеся аппаратные ресурсы использовать более эффективно - например, для реализации closed-loop регуляторов различного вида.

Существующие аппаратные контроллеры тут не годятся. Во первых, нужен ключевой режим полевиков, ибо токи там от 10 до 70 ампер могут быть. Во вторых, достаточно навороченная логика управления и конфигурирования режимов. Потому AT90PWM3 как раз туда просится. Хотя, впрочем, есть и другие похожие альтернативы от других производителей контроллеров. Если с этой ничего не выйдет, то придется посмотреть на них.
SpiritDance
Что-то уж больно знакомая фраза "трехфазный мотор постоянного тока". smile.gif Ужас какой-то. Меня бы мой бывший препод за такую фразу казнил бы на месте, пропусканием трехфазного постоянного тока.
Товарищ! Вы же сами английским по черному пишете "бесколлекторный двигатель постоянного тока". Что за мода на ламерство.
Serj78
SpiritDance, не пинайте Олега больно... smile.gif
просто многие моделисты так пишут.. хотя все практически понимают что это такое...
это типа сленг такой, как модный нынче албанский smile.gif
osnwt
Цитата(SpiritDance @ Sep 10 2006, 19:48) *
Что-то уж больно знакомая фраза "трехфазный мотор постоянного тока". smile.gif Ужас какой-то. Меня бы мой бывший препод за такую фразу казнил бы на месте, пропусканием трехфазного постоянного тока.

Уважаемый Вы наш, хотелось бы конкретики: что именно в указанной фразе некорректно с точки зрения здравого смысла? Чем фразы "бесколлекторный DC мотор" и "трехфазный DC мотор" друг друга исключают?

Из одного из описаний такого мотора (коль скоро в аргументы привлекаются англоязычные источники): "A brushless motor is characterised by three coiled phases, distributed along a stator and positioned across a rotor composed of permanent magnets... The secret lies in an appropriate sequence applied to three phases of the motor in order to induce mechanical rotation".

Налицо имеются 3 фазы, через которые протекает постоянный ток определенным образом сформированных последовательностей. Так в чем же ламерство? Где тут указано, что под трехфазным понимается именно 3-phase AC в классическом понимании Вашего преподавателя? Напомню, что тут не обсуждается теория электродвигателей и соответствующие их правильные русскоязычные названия. А бесколлекторные DC моторы столь же прекрасно бывают с двумя обмотками (фазами). И именно особенность мотора с тремя фазами и подчеркивалась в приведенном русском варианте.

И вообще, было бы более интересно услышать что-либо по существу заданного вопроса и в более корректной форме. А для чесания языка (пальцев), если по существу сказать нечего, существует другой форум - Общение на вольные темы. Может, Вам туда? Там как раз и можно обсудить мое ламерство. А этот форум - тематический, и хотелось бы видеть в этом топике ответы на заданный вопрос.

PS. Если Вы не умеете читать, то еще раз подчеркну, что "трехфазный мотор постоянного тока" - не одно и то же, что и "мотор трехфазного постоянного тока". Последняя фраза - Ваше изобретение, я такого не писал.
SpiritDance
Я вообще не хотел переходить на личности и называть Вас ламерром. Просто тут был раньше один тип которы именно так называл бесколлекторные двигатели.

Я же ратую именно за чистоту перевода на наш с Вами родной язык и использование родных инженерных точных терминов а не уродского сленга.
С точки зрения здравого смысла - когда речь заходит о фазах в электрических машинах (я имею в виду именно русское слово), то подразумеваются собственно что в обмотках протекают переменные токи одинаковые по амплитуде и разные по фазе. В нашем случае coiled phases означает лишь обмотки двигателя, и слово motor переводится как двигатель, а не мотор. Таким образом технически грамотная фраза - "трехобмоточный бесколлекторный двигатель постоянного тока". Давайте уважать свой язык и не коверкать его неправильно переведенными англоязычными терминами.

По поводу заданных вопросов (и чешущихся пальцевsmile.gif),мне показалось что Вы сами на них уже ответили. со своей стороны могу добавить что с at90PWM просто не сталкивался, так что ничего про него сказать не могу. Могу только посоветовать использовать не его (раз уж такие жуткие проблемы) а какую нибудь из мег 48/88/168, по моему они вполне могут его заменить в sensorless варианте.
bgc
Господа - терминология вызвала такой отклик, мало не покажется, давайте вернемся к сути вопроса:
Я задал вопрос и osnwt ответил: контроллер вертолета. Меня эта тема тоже очень волнует. Но не для вертолетов. Для той же темы я делаю устройство на PWM3...
Но PWM3 не единственный вариант. Я предлагаю продолжить обсуждение на эту тему.
SpiritDance
Я предлагаю рассказать менее сумбурно почему собственно выбран именно PWM? Какие собственно характеристики вы хотите получить от регуляторов и какие именно аппаратные особености этого контроллера так важны для этого?
Насколько я понимаю регулятор нужен нереверсивный.
Rull
Цитата(SpiritDance @ Sep 11 2006, 09:57) *
Я вообще не хотел переходить на личности и называть Вас ламерром.

Это типа умник, которому нечего сказать по сути ввиду отсутствия таковой, но есть что поправить ввиду общего развития.
Shurmas
BLDC по-русски называется - вентильный.
Alizei
Цитата(osnwt @ Sep 10 2006, 00:36) *
Трехфазный мотор постоянного тока в бездатчиковом режиме (brushless sensorless DC motor).


Апноут по такому мотору рассмотрен на первой странице сайта - [banned] - там есть все что нужно и ПИД регулирование по разным параметрам и конкретная схема устройства, есть и бессенсорное управление в апноутах со схожими номерами.
osnwt
Цитата
Я же ратую именно за чистоту перевода на наш с Вами родной язык и использование родных инженерных точных терминов а не уродского сленга.

Обсуждать тему перевода терминов не буду (я BLDC, кстати, и не переводил, а описал смысл устройства). Скажу только, что компания, в которой я работаю, занимается устройствами защиты высоковольтных распредсетей, в т.ч. трехфаных. Я занимаюсь, в том числе, и алгоритмами защит в какой-то степени, и что такое трехфазный переменный ток, прекрасно знаю. Компания работает на 90% на западный рынок, а потому исходный язык всей документации - английский. И я действительно понятия не имею, как правильно перевести многие из терминов - мне это просто не надо, а многие вещи на русский вообще переводятся криво. Скажем, мне понятнее Underfrequency (UF) protection, чем АЧР (автоматическая частотная разгрузка - разгрузка чего, почему...). Но это не важно в данной теме.

Цитата(Alizei @ Sep 11 2006, 19:33) *
Апноут по такому мотору рассмотрен на первой странице сайта - [banned] - там есть все что нужно и ПИД регулирование по разным параметрам и конкретная схема устройства, есть и бессенсорное управление в апноутах со схожими номерами.

Говоря про аппноуты. Естественно, прежде чем что-то писать своё, надо было посмотреть то, что есть. Конечно, я это делал (хотя вопросы-то были не о реализации управления двигателем, а о совсем других вещах). По пунктам:

1) есть аппноут для ATmega*48. Там использованы внешние элементы для управления. Вариант терпимый, но не идеальный. Например, таким образом невозможно использовать asynchronous rectification, а попросту говоря (комментарии насчет слэнга отправляю в /dev/null) открытие нижнего транзистора полумоста в моменты PWM off для пропускания тока обмотки через транзистор, а не его диод (конечно, с заданным dead-time), что заметно снижает потери в виде тепла. AT90PWM3 это делать умеет, причем, аппаратно. Также многие вещи в этом аппноуте упрощены, и его можно брать за начальную основу, но потом серьезно дорабатывать.

2) есть аппноут на PWM3 с PID регуляторами для датчикового мотора. Хорошо, но момент старта там все равно надо дописывать. Хороший источник для того, чтобы разбираться с PID регулятором, но с таким же успехом (мне) проще написать это с нуля.

3) есть аппноут на PWM3 для sensorless двигателя. При всей кажущейся красоте (чего изобретать велосипед) советую посмотреть на то решение. Оно ведь кривое. Там использована внешняя плата с внешними компараторами и RC фильтрами для эмуляции датчиков Холла, что не есть правильно для конкретного применения. Это при том, что PWM3 имеет встроенные компараторы, которые при этом не используются.

На мой вопрос о причине такого решения Atmel ответила следующее:

Цитата
We have not done, yet, the development of the sofware using the internal comparators.
The use of the internal comparators is possible but the developmment must be done according to the motor characteristics. And this development is tricky due to differences between starting phases and running phases.
We have provided, for the moment, the quickest solution.

Поэтому все те аппноуты имеют ограниченное применение. Я хочу написать своё решение, опираясь на теорию и даташит на контроллер. Ну, а почему именно PWM3? По таким причинам:
1) Она доступна мне и достаточно недорога (в сравнении с той же мегой 48-88-168);
2) Я имею средства разработки и отладки для AVR, и не хотел бы распыляться на другие контроллеры, если на то нет особой необходимости;
3) Теоретически, PWM3 позволяет очень эффективно реализовать коммутацию, оставив ресурсы на внешнюю логику. И при этом иметь полностью C код, что удобно для развития. Ну, а варианты с внешней логикой, и при том не идеальные, есть готовые. В том числе, на AT90S2313. Тоже работают, но ведь зачем-то выпускает фирма специализированный контроллер? Так почему бы его не использовать?

Безусловно, есть и другие варианты, но PWM3 меня полностью устраивает, если удастся решить проблемы, поднятые в первом сообщении этой темы. Пока Атмел из 4-х заданных вопросов ответил только на два (и ответ на второй не соответствует тому, что я вижу на макете), остальные обещает в течение недели проверить и сообщить. Ждем-с.
at90
Если не трудно, можно опубликовать то что ответил атмел?
osnwt
Цитата(at90 @ Sep 12 2006, 14:55) *
Если не трудно, можно опубликовать то что ответил атмел?


>1) How to identify the device revision (A or B )?

Rev A is printed 90PWM3 and Rev B is printed 90PWM3B

>2) PSCnRB and PSCRV fuses.
Fuse works correctly, take care that under AVR studio a box checked means
programmed (it means logical 0).

Последнее утверждение не соответствует тому, что я вижу, правда, через AVROSP. Продолжаю переписку.
SpiritDance
Если мне не изменяет склероз мегу 48 брали летом по 0,90 $. Cейчас правда не вспомню в каких партиях. Так что насчет стоимости можно еще подумать.
Насчет предварительности даташитов - это нормально. Например на SAM все даташиты такие, хотя на sam7s уже ревизия E появилась.
Shurmas
Цитата(osnwt @ Sep 12 2006, 14:19) *
мне понятнее Underfrequency (UF) protection, чем АЧР (автоматическая частотная разгрузка - разгрузка чего, почему...).



Underfrequency (UF) protection - это защита на случай снижения частоты. Как-то не вяжется с АЧР.

Цитата(osnwt @ Sep 12 2006, 14:19) *
Поэтому все те аппноуты имеют ограниченное применение.


Конечно апноут это пример а не обязательное руководство. Но применение внешних компараторов я считаю оправданым для серьезных мощностей особенно. Ведь в таких системах силовая часть обычно разнесена с платой контроллера.

Цитата(osnwt @ Sep 12 2006, 14:19) *
Я имею средства разработки и отладки для AVR, и не хотел бы распыляться на другие контроллеры, если на то нет особой необходимости;


дак мега48 это AVR.
osnwt
Цитата(SpiritDance @ Sep 12 2006, 15:23) *
Если мне не изменяет склероз мегу 48 брали летом по 0,90 центов. Cейчас правда не вспомню в каких партиях. Так что насчет стоимости можно еще подумать.

Мелкооптовая цена за 10Mhz версию в Москве - верю (см. efind.ru). Розничные цены на 20MHz - порядка 1.2-1.6. Мега48 не устраивает по объему памяти (контроллер программируемый с системой меню) и не имеет boot loader'а. Мега88 20MHz стоит уже около $2.25. AT90PWM3 у нас (не в Москве) покупали за $4.8. А в остальном - вот тут хорошо написано. Цитата:

Цитата
На выствке в буржуинии показывают печку с мп управлением.
Наш Человек спрашивает - На чем сделано.
Ответ - крутой арм с кучей мегов озу и флэш.
Наш Человек - Так я это бы на пике сделал.
Ответ - Вы бы 1-2 месяца писали и отлаживали оптимизируя каждый кусочек.
A у нас конструктор за 1 день набросал схему и развел плату.
После изготовления. 0,5 дня програмист написал прогу на С и отладил.
Т.е. Либо вам как инженеру заплатить 5-10 штук зелёных - и получить изделие тиражом менее сотни штук в год при стоимости 100 зеленых. Либо в нашем случае заплатить конструктору 250 баксов и програмисту 150 и получить изделие стоимостью 400 баксов.

Простая арифметика цены, скорости, маштабируемости и издержек.
Рост скорости выполнения - уменьшение издержек.
Другое дело бешенные тиражи тысячами - но кто в России выпускает что-то (кроме телевизоров) тысячами. Единицы.

Поскольку стоит задача сделать в качестве хобби качественное изделие, не обязательно предельно дешевое, то хочется выбрать комплектовку, оптимально подходящую функционально. При этом разница цены в 2-3 бакса не имеет принципиального значения. Проект пока что некоммерческий, а потому такой подход вполне приемлем.

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

Цитата(Shurmas @ Sep 12 2006, 15:45) *
Конечно апноут это пример а не обязательное руководство. Но применение внешних компараторов я считаю оправданым для серьезных мощностей особенно. Ведь в таких системах силовая часть обычно разнесена с платой контроллера.

Для упомянутого применения максимум разноса - это две стороны печатной платы. Потому это не критично. При этом остальные проблемы (дополнительная внешняя логика и недостаточная гибкость) остаются.

Цитата
дак мега48 это AVR.

Я говорил о специализированных микросхемах для управления двигателями, и при этом программируемых. У Атмела таковой только один - AT90PWM3 (1 и 2 я не считаю). Также есть у других производителей. См, к примеру, пример реализации на ST7MC1 в февральском номере Elektor Electronics.

Еще раз - я не спрашивал советов о выборе элементной базы - я говорил о ЧИПЕ. Всего лишь. Давайте не будем подменять тему. Если бы я хотел другого, то тема бы называлась "На чём лучше собирать контроллер BLDC?".
JBM
Эх, как сейчас помню - в прошлом году делали инвертер на 15 КВт, так программист-интерфесник постоянно капал начальнику, что надо брать эту PWM3 и выкинуть нах мою mega16 (и желательно меня заодно, гы-гы). В тот раз я отстоял mega16, и вижу что не зря. Чувствую, что на PWM3 не только 15КВт не пошло бы, а вообще не закрутился бы...

osnwt, может нафиг его? Когда их аппноут появился, я в нём свою программу увидел почти один в один. Т.е. всё это спокойно реализуется на других АВРках, ну разве что не так изящно, потому что аппаратного power stage controller нету.
osnwt
Цитата(JBM @ Sep 14 2006, 22:25) *
В тот раз я отстоял mega16, и вижу что не зря. Чувствую, что на PWM3 не только 15КВт не пошло бы, а вообще не закрутился бы...

Судя по количеству странностей в Revision A чипа - вполне вероятно.

Цитата
osnwt, может нафиг его? Когда их аппноут появился, я в нём свою программу увидел почти один в один. Т.е. всё это спокойно реализуется на других АВРках, ну разве что не так изящно, потому что аппаратного power stage controller нету.

Вполне возможно. Макет на то и макет, чтобы на практике сравнить преимущества и недостатки разных решений. У меня есть пока неопределенные сомнения в возможности качественно реализовать некоторые вещи без аппаратного PSC. Но дело в том, что на PWM3 можно ведь писать и без использования ее фич - как просто на мегу8. То есть, можно сравнить разные решения. Что я и хочу сделать. А там посмотрим.
pitt
Цитата(osnwt @ Sep 15 2006, 02:53) *
Но дело в том, что на PWM3 можно ведь писать и без использования ее фич - как просто на мегу8. То есть, можно сравнить разные решения. Что я и хочу сделать. А там посмотрим.

Keep us posted!
giv2
Уважаемый osnwt,

не могли бы рассказать сообществу - изменилось ли Ваше отношение к AT90PWM3?
Предстоит делать макет управления двигателем и планирую использовать именно этот кристалл.

Что касается Вашей полемики..
1. Ошибочная инверсия бита управления в ИКД заказного кристалла коллегу-программиста верхнего уровня (он писал интерфейс обмена с периферией системы цифрового приемника) НИ сколько НЕ
смутила: перебросил 0 на 1 и пошел дальше отлаживать. Ему всего то надо было зайти в другую комнату
чтобы нам сказать - мол проверьте, ваш баг? НЕ стал :=) Красавец..

2. Касательно чистоты языка - я придерживаюсь позиции SpiritDance.
Рискну предположить - это не случай когда "Сompac находил очередную ошибку в Pentiume Intel" , проблема скорее в не адекватном восприятии интерфейса в Даташите, и тогда SpiritDance как раз прав - чем удачнее текст, тем адекватнее восприятие.

3. Ну и потом терпимость к мнению другого, какие тут обиды...
osnwt
Цитата(giv2 @ Feb 16 2007, 19:48) *
не могли бы рассказать сообществу - изменилось ли Ваше отношение к AT90PWM3?

Запрос на support Atmel там так и повис.

Цитата
Dear Mr Semyonov,

>1) How to identify the device revision (A or B)?

Rev A is printed 90PWM3 and Rev B is printed 90PWM3B

>2) PSCnRB and PSCRV fuses.
Fuse works correctly, take care that under AVR studio a box checked means
programmed (it means logical 0).

for questions
3) BOD and Aref. and
4) Amplified ADC conversions.

I'll try to check it this week and give you a feed back.

Best Regards
Eric Tinlot
Atmel AVR Technical Support

Обещанного так и не было сделано, запрос был молча закрыт.

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

Цитата
1. Ошибочная инверсия бита управления в ИКД заказного кристалла коллегу-программиста верхнего уровня (он писал интерфейс обмена с периферией системы цифрового приемника) НИ сколько НЕ
смутила: перебросил 0 на 1 и пошел дальше отлаживать.

Я был бы счастлив, если бы точно также устранялись и другие замеченные мной проблемы в кристалле. Например, проблема сброса контроллера при определенном (нужном мне как раз) сочетании BOD Level и референса АЦП, или же неработоспособность дифференциального входа АЦП. Так что ирония тут не вполне уместна, а кто-то еще говорит о терпимости к чужому мнению, которое в высказанном виде кроме легкой досады ничего не вызывает.

Ошибки в даташитах возможны. Проблема в том, что обычно в таких случаях выпускается errata и/или новая ревизия даташита, а не завешивается вопрос. Про проблемы, не имеющие workaround, я уже сказал. А выступать в качестве бета-тестера кристаллов мне что-то не хочется. Так что Вы имеете полную возможность им стать :-)
bgc
судя по содержанию данной темы, нет в нашем сообществе ни одного разработчка, сделавшего контроллер для BLDC на PWM3? Не так ли? Если такие есть, откликнитесь.
Лично я в итоге, сделал такой на TMS320LF2407 -проблем не вызвало - тут встроенный шим генератор, и вообще все настроено на упралвение двигателями.
Но это совершенно другой уровень цены процессора и отладочных средств...
giv2

Цитата
bgc Вчера, 22:00
Лично я в итоге, сделал такой на TMS320LF2407


Почему в итоге? Была проблема выбора? Не могли бы пояснить?

И ешЕ.
Цитата
это совершенно другой уровень цены процессора и отладочных средств...

Можете назвать оценку этих самых средств - С-компилятор, загрузчик, эмулятор,..
Если это был первый проект на TMS320 - то сколько времени потребовалось на то чтобы вдохнуть жизнь в
опытный образец??
Какие-то особенности TMS320 могли бы выделить по отношению к другим МК?

Например, известны ИС от FREESCALE SEMICONDUCTOR для управления двигателем, в них привлекает аппаратный DMA - чего нет скажем в AVR - но зато начинать с нуля :=).
bgc
Поясняю.
В итоге, анализа датащитов и своих возможностей в течение двух подготовительных месяцев во время занятия другим проектами.

Фирменный JTAG с средой в 2000 году был куплен за 3000$ с лишним.
Сейчас есть отеченственный за 600$ - где то в форумах проскакивал.
Тогда я "вдохнул жизнь в первый" за 10 дней и за 3 месяца сдела первый серьезный проект на этом кристале.

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

К недостаткам этого кристала можно отнести два: 1- большое потребление (что не важно при управлении двигателем большой мощности) и фиговая организация UART - при работе на единую шину или в режиме DMX 512 приходится извращаться чтобы обеспечить нормальную работу. В остальном процессор идеальный, баг - не описанных в ERRATA за 6 лет не обранаружил (в версии без буквы A натыкался).
Да и среда разработки последняя очень качественно сделана.

Цену на кристалл можно посмотреть на einfo.ru

Я уже подымал тему по поводу перехода на FREESCALE SEMICONDUCTOR, анализ ответов и моих познаний - для серьезных усройств безусловно TMS лучше.

В наше время я считаю правильнее заплатить лишние 10$ за процессор, чем пару недель оптимизировать код. Другой подход оправдан только на сериях от 10000шт, с требуемой себестоимостью в 20$. Пусть этим занимаются китацы. Они это настолько хорошо делают, что конкурировать с ними в этой области БЕСПОЛЕЗНО.
giv2
Цитата
bgc Feb 18 2007, 14:04
Я уже подымал тему по поводу перехода на FREESCALE SEMICONDUCTOR


Хотел прочитать Ваше мнение по поводу FREESCALE SEMICONDUCTOR - поиск не помог?
Не могли бы дать наводку для поиска?
DeXteR
Добрый день уважаемый osnwt
Почитал эту ветку - люди пишут о чем угодно только не о AT90PWM3

Видима из всех толька вы пытались с ним реально работать

Насколько я понял - проблемм у чипа много

Очень прошу Подитожте пожалуйста тему
Мне тоже похоже предстоит применять этот чип для
простого (с датчиком) привода бесколекторного двигателя

Вот сижу и думаю - насколько это реально
osnwt
Цитата(DeXteR @ Mar 14 2007, 19:48) *
Почитал эту ветку - люди пишут о чем угодно только не о AT90PWM3
Видима из всех толька вы пытались с ним реально работать
Насколько я понял - проблемм у чипа много
Очень прошу Подитожте пожалуйста тему

Да я, вроде бы, достаточно ясно написал своё субъективное мнение. Оно состоит в том, что первая версия чипа, которая мне досталась, на мой взгляд совершенно непригодна для работы. Мне лично не удалось заставить в ней работать АЦП в режиме дифференциального входа, а при использовании BOD и определенного референса для АЦП включение последнего приводит к сбросу сразу после команды включения. Это не считая еще замеченных неточностей типа инверсии значений фьюзов.

В предположении, что это я что-то не так делаю, я задал вопрос сюда и на Atmel. Последний ничего вразумительного не ответил и впоследствии тихо закрыл support request. Что мне ответили тут - можно почитать. Начиная от того, что у меня кривые руки, и заканчивая тем, как можно лихо исправлять программно аппаратные ошибки в чипе. Но ни слова по теме заданных вопросов.

В связи с этим я принял для себя два решения:

1) Не использовать AT90PWM3 в своих девайсах. По работе мне это не требуется, а для своих целей я нашел другой выход, о чём уже писал. Косвенно в пользу этого же решения говорит тот факт, что я до сих пор не вижу ни аппноутов Atmel по нужной мне теме, кстати, ими же и обещанных, ни сторонних разработок на этом чипе.

2) Не обсуждать больше эту и подобные темы на публичных форумах. Не вижу смысла. То, что очевидно - я вижу и сам. А как только вопрос выходит чуть в сторону элементарных "у меня не считает счетчик" - полезный ответ получить, как правило, не удается, и всё равно приходится доходить до всего самостоятельно. Так стоит ли тратить время на пустую переписку?

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

Вот такой итог этой темы лично для меня. Может, Вам повезет больше.
KBB
Цитата(osnwt @ Mar 15 2007, 01:27) *
Да я, вроде бы, достаточно ясно написал своё субъективное мнение. Оно состоит в том, что первая версия чипа, которая мне досталась, на мой взгляд совершенно непригодна для работы. Мне лично не удалось заставить в ней работать АЦП в режиме дифференциального входа, а при использовании BOD и определенного референса для АЦП включение последнего приводит к сбросу сразу после команды включения. Это не считая еще замеченных неточностей типа инверсии значений фьюзов.

В предположении, что это я что-то не так делаю, я задал вопрос сюда и на Atmel. Последний ничего вразумительного не ответил и впоследствии тихо закрыл support request. Что мне ответили тут - можно почитать. Начиная от того, что у меня кривые руки, и заканчивая тем, как можно лихо исправлять программно аппаратные ошибки в чипе. Но ни слова по теме заданных вопросов.

В связи с этим я принял для себя два решения:

1) Не использовать AT90PWM3 в своих девайсах. По работе мне это не требуется, а для своих целей я нашел другой выход, о чём уже писал. Косвенно в пользу этого же решения говорит тот факт, что я до сих пор не вижу ни аппноутов Atmel по нужной мне теме, кстати, ими же и обещанных, ни сторонних разработок на этом чипе.

2) Не обсуждать больше эту и подобные темы на публичных форумах. Не вижу смысла. То, что очевидно - я вижу и сам. А как только вопрос выходит чуть в сторону элементарных "у меня не считает счетчик" - полезный ответ получить, как правило, не удается, и всё равно приходится доходить до всего самостоятельно. Так стоит ли тратить время на пустую переписку?

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

Вот такой итог этой темы лично для меня. Может, Вам повезет больше.

Здравствуйте, Всем!.
почитал, купил Kit с диммером за$190. с рабочим ( в основном) примером.
мнение по кИту. такое чувство, что писалось программером для демострации начальству своего уровня, а не для людей. ду да бог с ними. в конфигурации PFC и полумост на чатоте 85-35 кгц.
ао ходу возник вопрос о том, чем отличается PWM3 от PWM3B. получил мутный ответ от фирамчей со ссылкой на страницы доки, которые с докой с диска не совпадают. настораживает. скомпилировал, зашил. работает, но как-то криво. из любопытства сменил кристал в компиляторе на 3B - взорвался. в буквальном смысле. дальше . пример у них с оптимихзацией еле лезет в 8 кб. отрезал поддержку DALI.
скомпилировал с оптимизацией. . живет. скомпилировал без оптимизации по скорости-взовался PFC.
настораживает ещё более. а хочется сделать диммер и источник именно на ней. вроде всё есть.
тоже на распутье. недельку поборюсь. может кто-то из нас двоих сдастся.
bezobraznic
Сдаваться не надо!!!! Кристал зверский!! На нём реализовал уже 7 проектов всё зашибись!!! Работал с PWM3. Вот драйвер которым сам пользуюсь!!! Полностью исправленный и рабочий!!!

Вот!!
KBB
[quote name='bezobraznic' date='Mar 17 2007, 18:14' post='224836']
Сдаваться не надо!!!! Кристал зверский!! На нём реализовал уже 7 проектов всё зашибись!!! Работал с PWM3. Вот драйвер которым сам пользуюсь!!! Полностью исправленный и рабочий!!!
та тут проблемка вот ещё какого плана... нужно сделать 11 тыс. изделий. и скажем на кристалах от silabs программной эмуляцией на текщий момент надёжнее. потому что кристал пока не знаком толком, потому , что кит взорвался. потму что времени всего месяц . паеики пока нет. это обнадёживает.

Полностью исправленный и рабочий!!!
скачал. сравнил с тем , что с кита.
если возможно, то хотелось бы с Вашей помощью проёти бстро следующий путь.
заставить работать только PWM
.. только аналоговую часть.
.. только PFC
какие-то примеры и пр.
могу поделиться этим кИтом, ежели интересно. готовый проект(почти готовый) под IAR 4.21.
с примерами легче, чтобы как-то быстро вникнуть. в голове мешенина, а тут ещё параллельно 4 фазный делаю на si8250.
компилчторы разные, платформы разные (51й). вообщем караул.
bezobraznic
А для чего планируете использовать PWMку?? если не секрет!!
KBB
Цитата(bezobraznic @ Mar 18 2007, 04:47) *
А для чего планируете использовать PWMку?? если не секрет!!

не не секрет
балласт-диммер.
источник питания до 600 ватт с ЧИМ
bezobraznic
to KBB

Дай мыло я заброшу тестовый проект.
Закинь плиз проект кита (alexander_3"собака"mail.ru), интересно посмотреть
чё они там намутили!!
KBB
Закинь плиз проект кита
закинул.
попытался аргуссофтовским программатором считать предохранители.
ни одного из PSC** не показал. только кварец, boot и пр. стандартный набор AVR.
а по ресет на плате кита кристал лапки подвешивает (Z) и дальше на усмотрение драйвера. хочет понять, как 1, откроет транзисторы. с ощутимым результатом. самоликвидатор.
--
отсюда вопрос. чем работать с этим таракашкой. покупать атмеловский же программатор или как?
bezobraznic
Я шью STK-200 и кодвижном. Я отправил проект!!
KBB
Цитата(bezobraznic @ Mar 18 2007, 23:22) *
Я шью STK-200 и кодвижном. Я отправил проект!!

где взять схемку и зашивки на STK.
да заодно и где скачать компилятор.
пользовать не буду. IAR по отзывам лучше, но для корректного ознакомаления с проектом не повредит.
хотя вообщем всё выглядит куда проще, чем в примере супостатов cranky.gif
DeXteR
Цитата(bezobraznic @ Mar 17 2007, 14:14) *
Сдаваться не надо!!!! Кристал зверский!! На нём реализовал уже 7 проектов всё зашибись!!! Работал с PWM3. Вот драйвер которым сам пользуюсь!!! Полностью исправленный и рабочий!!!

Вот!!


Добрый день

Пожалуста расскажите поподробнее
1. Какая версия чипа
2. Что за проэкты удалось реализовать
3. Неть ли возможности и желания поделиться схемаим и кодом (хоть какимито рабочими)

С Уважением

De}{teR
ukrniisip(сабака)mail.ru
KBB
Цитата(DeXteR @ Mar 20 2007, 18:53) *
Пожалуста расскажите поподробнее
1. Какая версия чипа


De}{teR
ukrniisip(сабака)mail.ru

что касается мня, то PWM3 в чистом виде. без буковок.
что собираюсь делать, озвучил.
только кит реанимирую, да найду программатор, котрый PSC фузы видит. или как-то научусь с ними броться. а то по reset трагзисторы с драйверами в пыль.
DeXteR
Цитата(KBB @ Mar 20 2007, 19:49) *
что касается мня, то PWM3 в чистом виде. без буковок.
что собираюсь делать, озвучил.
только кит реанимирую, да найду программатор, котрый PSC фузы видит. или как-то научусь с ними броться. а то по reset трагзисторы с драйверами в пыль.


Программатор я планирую использовать встроеный в CVAVR
Он вроде может с помощью АВР910 все сделать
+ со многим другим железом работает

Кристалы есче не купил - никак немогу решить
Дело в том что весь рунет изобилует проклятьями вотношении этого PWM3 (без буквы Б)
А с буквой Б нехотят везти в Киев - мол партия в 10 шт слишком маленькая

Очень интересует человек bezobraznic который говорит что у него отлично все работеет
Пожалуйста откликнитесь
KBB
А с буквой Б нехотят везти в Киев - мол партия в 10 шт слишком маленькая
вот декларируемая разница к буковке 'B'
The major changes are :

 complement the PSCOUT01, PSCOUT11, PSCOUT21 polarity in
centered mode - See "PSCn0 & PSCn1 Basic Waveforms in
Center Aligned Mode" on page 138.

 Add the PSC software triggering capture - See "PSC 0 Input
Capture Register - PICR0H and PICR0L" on page 169.

 Add bits to read the PSC output activity - See "PSC0 Interrupt
Flag Register - PIFR0" on page 171.

 Add some clock configurations - See "Device Clocking Options
Select(1) AT90PWM2B/3B" on page 31.

 Change Amplifier Synchonization - See "Amplifier" on page 250.
and See "Amplifier synchronization timing diagram for
PWM2B/3B" on page 252.

 Correction of the Errata - See "Errata" on page 345.

т.к. кит без буковки. тупо опираюсь на то же.
кто такой АВР910? и видит ли он фузы PSC? и где взять.
bezobraznic
Цитата(DeXteR @ Mar 20 2007, 23:21) *
Очень интересует человек bezobraznic который говорит что у него отлично все работеет
Пожалуйста откликнитесь



Я тут!!
osnwt
Цитата(KBB @ Mar 21 2007, 06:07) *
А с буквой Б нехотят везти в Киев - мол партия в 10 шт слишком маленькая
вот декларируемая разница к буковке 'B'

Что интересно, в этом списке никак не отражены те проблемы, которые лично я наблюдал. И никто, кстати, даже те, у кого всё, как бы, работает, не подтверил и не опроверг мои наблюдения.

А тихое закрытие support request на Атмеле говорит лично мне о том, что они так и не решились официально признать имеющиеся проблемы, как минимум, в версии без буквы.
DeXteR
AVR910 - апликуха про бесплатный проограмматор
Исходники и схема - читать ан сайле атмела

+ немцы переработали прошивку и схему на более веселую и быструю
Ссылку на немецкий сайт исчите тут (на форуме)

В оболочке CVAVR последней версии есть софт который програмит все процы и все фузы
Насколько коректно он это делает - незнаю - нет чипа покачто

ХТТp://kazus.ru/nuke/users_files/16032007/5583765.zip

Это ссылочка на CVAVR последний (буковки вначале поменять на нормальные)

Всем Спасибо

De}{teR

ЗЫ bezobraznic - напиши плиз о проэктах и на чем делал (с буквой или без)
osnwt
Цитата(at90 @ Sep 12 2006, 10:55) *
Если не трудно, можно опубликовать то что ответил атмел?

Поскольку запрос закрыт, то в закрытие моей темы привожу его полное содержание.
Я так и не понял, откуда в моем запросе появились чужие вопросы, не относящиеся к теме. Спрашивать Атмел мне просто не хочется, ибо, толку мало. Кому надо - может, получится присоединиться к этому обсуждению чужого support request'а :-)


Ticket 90551: "AT90PWM3 revisions and features"

Исходный вопрос:

Цитата
Message added byOleg Semyonov, 08.09.2006 14:22
Hello!

Having a self-made evaluation board with AT90PWM3, I have some issues I cannot understand. In fact, I think that those are problems with early chip revisions (my device was bought about half year ago).

1) How to identify the device revision (A or cool.gif?
My device is marked as:

90PWM3-16SQ
0540 04103AW

2) PSCnRB and PSCRV fuses.
It is said in latest datasheet that: If PSCRV fuse equals 0 (programmed), the selected PSC outputs will be forced to low state. If PSCRV fuse equals 1 (unprogrammed), the selected PSC outputs will be forced to high state.

I observe opposite situation: when all 4 bits are programmed (set to 0), I have high (Vcc) levels in outputs. If PSCRV=1 (unprogrammed), then outputs are set to low level. Is it bug, or feature, or depends on device revision?

3) BOD and Aref.
Setting the BOD fuses to have 4.3v BOD level (and 5v power supply), I have the following problem: setting via ADMUX Aref=AVcc leads to device reset. AREF pin is decoupled with external capacitor only. Without BOD enabled all is fine. I have not tried different Aref values, though.

What can be wrong?

4) Amplified ADC conversions.
I was unable to use AMP0/AMP1 differential amplified ADC inputs at all. In short, if I set the channel number up to 10 via ADMUX, then all is fine. The loop
while (!(ADCSRA & (1<<ADIF))) ;
works as expected after starting the conversion via ADSC bit in ADCSRA.

Setting the ADMUX low bits to 11 or 12 (AMP0 or AMP1) breaks the ADC-related code execution. I tried to enable amplifier with internal ADC clock/8 sync and start the conversion using ADSC bit in ADCSRA (as for B revision), via ADASCR in ADCSRB (as for A revision), and both. The loop
while (!(ADCSRA & (1<<ADIF))) ;
never exits. Removing the flag waiting leads to zero output from ADCH/ADCL registers. That is, no conversion was started.

What could be wrong? I have never seen such problems with other AVR devices but AT90PWM3 is a different one.

Could you provide a simple C code (or assembler) fragment which is a proven solution for AT90PWM3 device to start amplified ADC conversion?

Thanks in advance.
Oleg


Далее следует почти бесполезный ответ, на который я тут и написал в свое время, что ждем-с...


Цитата
Message added byEric Tinlot, 11.09.2006 13:11
Dear Mr Semyonov,

>1) How to identify the device revision (A or cool.gif?

Rev A is printed 90PWM3 and Rev B is printed 90PWM3B

>2) PSCnRB and PSCRV fuses.
Fuse works correctly, take care that under AVR studio a box checked means
programmed (it means logical 0).

for questions
3) BOD and Aref. and
4) Amplified ADC conversions.

I'll try to check it this week and give you a feed back.

Best Regards
Eric Tinlot
Atmel AVR Technical Support

--------------------------------
AVR support mail: http://support.atmel.no/
Atmel AVR page: http://www.atmel.com/products/avr/
Info and software: http://www.avrfreaks.net
Discussion forum: http://www.avrfreaks.net/phorum/
Distributors: http://www.atmel.com/dyn/general/contact.asp



> Hello!
>
> Having a self-made evaluation board with AT90PWM3, I have some issues I
> cannot understand. In fact, I think that those are problems with early chip
> revisions (my device was bought about half year ago).
>


Тут я уточнил, чем я пользовался и что наблюдал:

Цитата
Message added byOleg Semyonov, 12.09.2006 12:33
>>2) PSCnRB and PSCRV fuses.
>Fuse works correctly, take care that under AVR studio a box >checked means
>programmed (it means logical 0).

I use AVROSP software to flash/read fuses. They read as:

Reading fuse bits...
0xd7e2
0x1a

The extended fuse byte is 1A which means PSCxRB are programmed (0), and PSCRV is unprogrammed (1). Having this configuration, I observe low levels on PSC outputs during (~2 mV) and after (~7 mV) reset.

PS. I also use boot loader, so the rest of extended fuse byte is for 1Kbyte boot loader size and restart from boot loader.


И тут откуда ни возьмись, какие-то посторонние вопросы:

Цитата
Message added byGUILLET David, 04.10.2006 11:53
Little correction, it only works if ADC reference is set to AVCC, (BIT 6 (REFS0) of ADMUX set to 1. In any other case I observe jitting.


Message added byGUILLET David, 04.10.2006 11:45
Hello,

I'm using AT90PWM2 to make high frequency PWM (250Khz).

I observe jitting on the PWM if the external ADC ref is set to external, this jitting disappears if the reference is set to internal.

My external reference is perfectly clean (voltage reference IC) of 2.5V.

Do you have any suggestion to correct that ?

Best regards.


Далее идет ответ на чужой вопрос...

Цитата
Message added byEric Tinlot, 06.10.2006 13:09
Dear Mr GUILLET

could you please confirm that AVCC and AREF pin are both decoupled to ground using small cerammic capacitor close to the chip ?


Best Regards

Eric Tinlot
Motor Control Customer Application Group
Atmel AVR Technical Support

--------------------------------
AVR support mail: http://support.atmel.no/
Atmel AVR page: http://www.atmel.com/products/avr/
Info and software: http://www.avrfreaks.net
Discussion forum: http://www.avrfreaks.net/phorum/
Distributors: http://www.atmel.com/dyn/general/contact.asp


И какое-то уточниение с какой-то левой цитатой:

Цитата
Message added bydjdav@free.fr, 06.10.2006 13:27

Yes I confirm (they are soldered on the chip itself).

My further investigation shown that I had to use a 330uH / 100nF LPF to supply
AVCC. (in the datasheet, 10uH is advice, that's why I had) ... Then the jitting
is lowered to an acceptable value. Did you ever observe that ?

Best regards.



Selon avr@atmel.com:

> (Please keep the subject when replying to this mail)
>
> Dear Mr GUILLET
>
> could you please confirm that AVCC and AREF pin are both decoupled to ground
> using small cerammic capacitor close to the chip ?
>
>
> Best Regards
>
> Eric Tinlot
> Motor Control Customer Application Group
> Atmel AVR Technical Support
>
> --------------------------------
> AVR support mail: http://support.atmel.no/
> Atmel AVR page: http://www.atmel.com/products/avr/
> Info and software: http://www.avrfreaks.net
> Discussion forum: http://www.avrfreaks.net/phorum/
> Distributors: http://www.atmel.com/dyn/general/contact.asp
>
>
>


Все. Запрос открыт 8 сентября 2006 года. Текущий статус - Closed.

Финал. Занавес. cheers.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.