roboforum.ru

Технический форум по робототехнике.

Непонятки с ATmega128!

Непонятки с ATmega128!

Lestat » 04 авг 2006, 06:32

Читаю статью вот тут http://avr123.nm.ru/02.htm
Привело меня туда желание побольше узнать контроллеры и спроектировать устройство. Само устройство - это блок питания.
Блок питания контролируется и управляется микроконтроллером.
У блока два канала на которых напряжение можно регулировать в широких пределах... пока приблизительно 0...30 В.
Задача микроконтролера управлять двумя четырех разрядными LCD и двумя регулируемыми каналами.
Требования к контроллеру такие:
у него должно быть как минимум 4 АЦП и 2 ЦАП'ки. Управление хочу сделать чисто на кнопках... не люблю крутилки =)
Два АЦП снимают значения тока и напряжения на одном канале, ну и два на другом. ЦАП'ки формируют управляющее напряжение. Еще неплохо бы иметь АЦП или даже две для контроля температуры трансформатора и радиаторов деталей.

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

Проблема вторая:
Никак не врублюсь можно ли его перепрошивать. И если он сделан и в том и другом варианте, то как маркируется перепрошиваемый вариант?

Проблема третья:
Очень бы хотелось иметь возможность подключать устройство к компьютеру и с использованием простенького софта рулить источником питания. Можно ли подрубить ATmega128 к компьтеру через USB? Через COM, насколько я понял, можно подключить все что умеет прошиваться и имеет достаточное кол-во выводов =), но хотелось бы именно к USB.

Проблема четвертая:
Потянет ли ATmega128 управление сразу двумя четырехразрядными LCD + набором из 7 кнопок + не более 4-5 выходных сигналов + еще соединение с компом (но это не обязательно) и еще 9 светодиодов?
Я думаю если выводов чисто не хватит можно будет поставить дешифратор для управления светодиодами и подавать на него быстро меняющиеся цифры в двоичном коде только с четырех выводов с большой частотой (заметно мелькания светодиодов наверное не будет), но тогда придется написать программу посложнее.

Ну и совсем не по теме:
Не подскажите ли марки светодиодных индикаторов которые светят зеленым светом на черном фоне... или хотя бы где искать. В Чипе и Дипе на ветринах лежат, но не светятся... спрашиваю есть ли с таким цветом говорят называйте марку конкретную, если есть продадим.
Для подключения индикаторов подумаваю насчет использования дешифраторов HCF4056B.

Lestat » 04 авг 2006, 07:00

Вот еще вопрос! как смоделировать в PROTEUS обычную разетку.
Или другое переменное напряжение, а то правильный трансформатор тоже сделать не могу =). Юзал VSINE, но когда измеряю на нем напряжение показывал не то что я в нем задал

Re: Непонятки с ATmega128!

dx40 » 04 авг 2006, 07:55

Lestat писал(а):Проблема первая:
Насколько я понял, то у него 8 ЦАП'ок и 8 АЦП.

У него 1 АЦП програмно подключающийся к любой из 8 ног.

Lestat писал(а):Проблема вторая:
Никак не врублюсь можно ли его перепрошивать.

Можно. Они все Flash.

Lestat писал(а):Проблема третья:
Очень бы хотелось иметь возможность подключать устройство к компьютеру и с использованием простенького софта рулить источником питания. Можно ли подрубить ATmega128 к компьтеру через USB?


Можно к юсб. Или используя дополнительную микросхему или програмно эмулируя.

Lestat писал(а):Проблема четвертая:
Потянет ли ATmega128 управление сразу двумя четырехразрядными LCD + набором из 7 кнопок + не более 4-5 выходных сигналов + еще соединение с компом (но это не обязательно) и еще 9 светодиодов?

LCD или LED индикатор? LCD без встроенного контроллера - не пойдет. LED - без проблем.


Lestat писал(а):Не подскажите ли марки светодиодных индикаторов которые светят зеленым светом на черном фоне... или хотя бы где искать.


Глянь тут
http://www.chip-dip.ru/catalog/21107.aspx
вроде все подписано.

North » 04 авг 2006, 09:22

Ну для этих целей и восьмой меги хватит, или, чтобы было комфортное количество ног, то шестнадцатой. ЦАПов в контроллерах вообще нет, так что придётся ставить отдельную микросхему, либо пользоваться ШИМом. ИМХО ШИМ лучше, т. к. уменьшается сложность схемы, правда за счёт увеличения сложности программы. Что касается индикаторов, то я бы поставил светодиодные и юзал динамическую индикацию. (опять же упрощение схемы за счёт усложнения программы). Зелёные индикаторы валялись у меня дома, если интересно могу в выходные посмотреть маркировку.

Lestat » 04 авг 2006, 10:35

посмотрел в сторону ATmega16
вобщем входов маловато, но наверное можно уместить!
пока думаю свои семь кнопок подключить к шифратору, который десятичные числа в двоичный код перегоняет. Тогда на контроллере всего три контакта понадобится.

Насчет АЦП. Получается я могу этот единственный преобразователь быстренько переключать между контактами и снимать показания с четырех датчиков! только интересно инфа в один регистр при этом записываться будет? или в разные.
Насчет ШИМ надо наверное долго разбираться... пока с этим не сталкивался.

Вобщем подсчитал, что если поставить три дешифратора и один шифратор, то можно сделать так, что 10 входов еще останется

Re: Непонятки с ATmega128!

avr123.nm.ru » 04 авг 2006, 12:10

Lestat писал(а):Читаю статью вот тут http://avr123.nm.ru/02.htm  


Все же это не статья а курс - советую изучать его по рекомендации на стр.   avr123.nm.ru/01.htm  

Практически все прояснится.

Lestat писал(а):Привело меня туда желание побольше узнать контроллеры и спроектировать устройство.

Само устройство - это блок питания.  


не самое простое устройство, будет трудно с нуля вам самому сделать.

но дорогу осилит идущий ...


Lestat писал(а): двумя четырех разрядными LCD


может один знакосинтезирующий LCD поставить ?  пример есть в задачах курса.

Lestat писал(а): наткнулся на инфу что у него только один АЦП а ЦАП вобще непойми как получаются.


ЦАП получается генерацией ШИМ сигнала и его фильтрацией - смотрите соответствующие задачи курса. m128 может по моему 6 ШИМ формировать и вроде до 16 бит.

АЦП один но имеет несколько переключаемых входов, на некоторых есть усиление и диф. режим.

Все это написано в курсе.

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


нет, я в курсе рекомендую для начала мега16 или 32 в корпусе DIP40  и  говорю что mega128 великолепен.

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


Очень правильно. Надеюсь вы читали мой курс по PROTEUS123.narod.ru/01.htm  и заглавную страницу конечно.


Проблема вторая:
Никак не врублюсь можно ли его перепрошивать. И если он сделан и в том и другом варианте, то как маркируется перепрошиваемый вариант?


на указаной вам странице  /02 написано:

- Flash-ПЗУ программ, программируемое в системе, 10 000 циклов перезаписи;

Как прошивать на стр. 7 курса.

Lestat писал(а): Можно ли подрубить ATmega128 к компьтеру через USB?  


Можно, но лучше через шнурок от сотового или спец. микруху FT245 FT232  cp2102

Или даже через отдельный ATmega8 работающий по апноуту AVR309.

Lestat писал(а): Проблема четвертая:
Потянет ли ATmega128 управление сразу двумя четырехразрядными LCD + набором из 7 кнопок + не более 4-5 выходных сигналов + еще соединение с компом (но это не обязательно) и еще 9 светодиодов?  


да. и мега16 тоже.

В Чипе и Дипе на ветринах лежат, но не светятся...


смотрите на сайте чип-дипа и магазинов рекомендованых на 1-й стр курса.

как смоделировать в PROTEUS обычную разетку.


VSINE связан с землей, в нем нужно установить частоту 50 Гц и амплитуду сигнала:   220 * (корень из 2)

Чтоб отвязать от земли нужно использовать источник напряжения управляемый напряжением - компонент   VCVS

====

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

Lestat » 04 авг 2006, 23:14

Смог подрубить два четырехразрядных индикатора... спокойно управляю ими из прошивки! Но возникла проблема =(
В ATmega16 порты PORTC6 и PORTC7 не работают, хотя я ими пытаюсь управлять. После долгих поисков выяснил что к ним нужно подключать внешний генератор. Чтобы отрубить эту шнягу нужно записать в бит AS2 регистра ASSR единичку.
посмотрел бит AS2 является третьим. Пишу
Код: Выделить всёРазвернуть
ASSR.3 = 1;

ничего не меняется.
Не понимаю в чем дело... и с нулем и с единицей один и тот же эффект PORTC6 и PORTC7 в дауне.
Пока регистр PORTC переключает восемь разрядов, но чиферки показывают только 6 из них.

avr123.nm.ru » 05 авг 2006, 00:52

Lestat писал(а):Пишу
Код: Выделить всёРазвернуть
ASSR.3 = 1;

ничего не меняется.

Не понимаю в чем дело...


дело в том что вы не почитали про манипулирование отдельными битами в задаче 1 курса.

avr123.nm.ru/z1.htm

и материал  http://avr123.nm.ru/05.htm  

http://avr123.nm.ru/05a.htm


Rambler\'s Top100 Mail.ru counter