Продолжу мысли вслух... Програмку отладил. Правда кнопки пока навесил на порт В. Все работает хорошо. Схема получилась вот-такая. Но сразу видно, что U6 явно лишняя. Ее присутствие может оправдать только желание сократить шину для индикатора. (2-питание, 3 - шина SPI, 4 - на ИД3 и 1 либо 2 на клаву. Всего: 10-11 проводов) с лишним регисторм. Без него: (2-питание, 8 - шина сегментов и 4 - на ИД3 и 1 либо 2 на клаву. Всего: 15-16 проводов). Отличие в 5 линий. Есть над чем поразмыслить. Можно пойти и по совсем иному пути. Для индикации использовать не связку ИД3 и 74HC595, а связку из 2-х 74HC595. Тогда шина индикатора будет (2-питание, 3 - шина SPI. Всего: 5 проводов). Очень заманчиво. Но тогда клава вероятнее всего будет на порте В.
Пока я не могу определиться с типом индикации. Вариантов, как я уже написал много. Все молчат... Я конечно ничего не требую, но если всем не интересно то я могу просто "повесить" в блок индикаци еще один МК, включить шину IIC либо UART и для себя решить эту задачу. НО будет ли Вам при этом комфортно?! Надеюсь меня кто-то услышит... и не побоится выложить свои мысли.
_________________ Почему-то всегда приходится программировать то, что невозможно запаять...
Пока все молчат, я предложу вот такой варинат. Если возражений не будет, то он и останется. По сути это цифровая часть с управлением периферией с помощью шины SPI. В нее основной плюс это малопроводниковая шина соединения с индикатором. Правда, ATMEGA8 в этой схеме получилась избыточна. Если предложите , что-то попроще и доступнее, готов россмотреть, даже PIC. Похоже подойдет любой МК на 2 порта с АЦП. Смотрите. Приценивайтесь.
to kotyk7 Хочу разбавить разговор самим с собой По поводу замены ATMega8, я думаю не нужно ничего менять - доступнее контроллера по моему не найти. Схема интересная получилась, применив одни 74HC595 ВЫ тем самым упростили комплектацию. И сразу вопрос - управление так и останется на кнопках или энкодер можно будет приделать? И еще проект в Proteus как-то странно себя ведет - цифры на индикаторах постоянно мигают. Частота кварца установлена была на 2МГц, так и должно быть? Хотя я пробовал и 8 МГц ставить - все равно не помогло
avk1m, спасибо за интересный коментарий. ATMega8 и я поддерживаю. Значит оставим. Применение одних 74HC595 и плюс и минус одновременно. Ибо не всегда удается сразу прикупить много микросхем одного типа. Но будем надеятся на лучшее (я, например, еще не "прибарахлился"). Исходя из оного я еще один корпус выбросил. Посмотрите на схеме. Далее, энкодер, конечно! Как же без него. Выводы под него уже зарезервырованы. Тем более, что в предыдущем варианте БП он также активно использовался. Мигание цифр в проекте Proteusа пока прийдется потерпеть. Это будет учтено. Пока не задествовано прерывание для индикации. Проект еще пока пробный и просто крутится по кругу. Отрабатываю работоспособность основных функций. Для размышлений выкладываю новый более оптимизированный вариант.
to kotyk7 Посмотрел вариант_5 - такой вариант имеет смысл только для сокращения одной из 74HC595. В четвертом варианте как-то все логичней было - две имс для управления ЦАП и две на индикацию. А то что портов много осталось, так это даже хорошо мало ли как проект дальше будет развиваться, будет куда что прикрутить. А построение ЦАП подобно варианту 5, можно на ATMega16 реализовать - ЦАП по току и ЦАП по напряжению повесить скажем на порты PB и PC, а индикацию на двух 74HC595. Но ATMega16 дороже ATMega8, да и достать ее не всегда можно. Вобщем с выбором контроллера тут нужно смотреть - если в ATMega8 останется достаточно места для маневров, то оставлять ее, а если памяти в притык то лучше посмотреть на ATMega16. Но это только мое мнение, навязывать ничего не буду. С уважением avk1m.
Всем привет! Наконец-то дискусия. Уже интересней. Теперь по делу. С интересом прочитал Ваши мысли. Попробую высказать свои суждения по этому поводу. Целый день потратил на "чистку и вылизывание" 5 версии. Итак, по порядку: Идея с отдельными регистрами на ЦАПы мне тоже импонировала, но очень "режет" глаза свободный порт МК. Причем весь. Жалко до глубины... И с виду смотрится как-то расточительно. Да и столько свободных линий навряд ли будет использовано. В то же время иной МК на 2 порта с АЦП я не подобрал... Программно управлять, что одним регистром, что двумя нет особой разницы. Тем более, что я ввел проверку на изменения заданых величин ЦАП, тоесть он раз "загрузил" и все "отдыхаем" до следующего раза. Шина SPI свободна и полностью отдана нуждам индикации. Я бы с удовольствием отдал свободный порт на сегменты индикации, а ЦАПы в цепочку, как было сначала. Но тогда шина к индикатору очень увеличивается, не хотелось-бы, однако... Короче ищем компромис. Мега8 либо 16, тут вопрос риторический. Ибо я уже натыкался с граблями по Меге16. Найти ее да в доступной по цене форме не всегда просто. Хотя оная классная штучка... Все таки МК в меньшем корпусе приобрести легше. Да, память. Я посмотрел на компиляторе. Пишу на Си. Уже включил опрос 2-х АЦП, 4 кнопки, 2 светодиода режимов, вывод даных на индикатор, 2 ЦАПа, короче половина памяти восьмерки занята. Осталось: обработка энкодера и обратные связи контроля и управления. Немного. Процентов 70 - 80 "набежит". Да, смотрим схему, я немного "допилил" обвьязку транзисторов индикатора и "почистил" программу. Если верить Протеусу 30 Гц на разряд индикатора при обработке индикатора без использования прерывания. Тоесть 30 на 6 индикаторов =180Гц (8МГц тактовая). В принципе достаточно. Еще есть момент мной не изученый, это где будет меньше шума если использовать для ЦАП регистр или порт МК? По ценам на компектуху пока тоже не изучал. Да, если все таки есть желание вернуть второй регистр в ЦАП, и оставить порт МК прозапас, я не против. Пишите.
навскидку, Зашел на сайт Ворона ATMEGA8A-PU DIP28 ATMEL 11.75 74HC595DR SMD SO16 1.20 ATMEGA16A-PU DIP40 ATMEL 24.50 Цена в гривнях. Как по мне доступно. (10грн-37руб.) Итого 1 ATMEGA8 + 3шт.74HC595DR = 15,35грн. Даже если плюс еще 74HC595DR =16.55 грн. Все равно дешевле ATMEGA16A!
_________________ Почему-то всегда приходится программировать то, что невозможно запаять...
Всем привет. to kotyk7. Что же Вам так покоя не дает этот свободный порт, ну возмите распределите все подключения между портами равномерно или с учетом того чтобы плату было удобней разводить и "проблема" решена. Что касается выбора схемного решения, то я свое мнение уже высказал - вариант 4. Как-то он мне сразу приглянулся. А вот насчет того в каком схемном решении будет меньше шума - это вопрос, хотя я не думаю что регистр будет намного больше шуметь чем порт контроллера. И еще вопрос выводы Е_1 и Е_2, куда подключены? что-то не нашел на схеме или это под энкодер резерв. И второй вопрос - Вы не думали вместо отдельных транзисторов, управляющих анодами индикаторов, применить сборку? Всего хорошего, удачи в начинаниях
avk1m, решил согласиться с Вами и сделать ЦАП на 2 регистрах. Энкодер, тоже правильно подметили. А вот чтобы вместо отдельных транзисторов, управляющих анодами индикаторов, применить сборку, мысль интересная. Но пока не знаю какую, подскажите. Внизу схема, которую берем за основу.
У меня вот так. Это реально собраный прототип. В протеусе все идеально, но в реале точности 8 разрядного R2R ЦАП не хватает. Пришлось использовать ШИМ. Думаю попробовать внешний 12 разрядный ЦАП.
Проблема в том, что тяжело подобрать абсолютно одинаковые елементы. В связи с этим опорное напряжение немного отличается от заданного. Хотя у вас энкодер и всегда можно подрегулировать, но 8 разр. будет маловато. Это мое мнение и возможно я ошибаюсь.
sonata, с интересом посмотрел на Вашу схему. В ней есть ряд моментов, вокруг которых я тоже кругами (пока мысленно, правда) ходжу. Например, полномерная клавиатура. Наверное довольно приятно просто набрать нужное значение напряжения либо тока, а не крутить энкодер несколько раз.. Еще два ЦАПа на одном порту через паралельные регистры, тоже прикольно. И быстрые будут однако..., а вот с буферными ОУ после 2R-R ЦАП уже не оченььь хорошо. Наверное потому и проблемы. Надо поставить ОУ в стандартном для ЦАПа включении, с обратной связью, как в моем предыдущем блоке питания, описаном ранее. Именном в нем, так сказать, вся соль, а не в точности резисторов. Хотя их номиналы безусловно важны. С уважением.
_________________ Почему-то всегда приходится программировать то, что невозможно запаять...
Для управления микросхемой ШИМ, такое включение ОУ - да. С ней не заметны огрехи, ибо в управлении регулятором напряжения именно она главная, а не ЦАП и тем более МК, и в ней все для этого уже есть на борту. А вот в обычном регуляторе на транзиторах уже нет. По сему это наверное не дискусия. Это просто дело принципа, какой регулятор будет использоваться в блоке питания. Поскольку моя идеология, - минимум, насколько это возможно, конечно, шума на выходе и эфире вокруг него. Я не гонюсь за бесконечными амперами на выходе. Что-то типа "тише едешь, дальше будеш", а значит блок питания будет действительно универсальным. Первый вариант на Меге16 уже показал свою практичность. По сему, я снова предлагаю использование именно всем известного обычного R-2R ЦАПа с ОУ в обычном включении. Чтобы все верно и четко функционировало надо расчитать парамеры ОУ по формуле, которая есть в каждом учебнике.Что и было мной сделано в первый раз. Теперь можно просто повторять, как испытанную болванку.
_________________ Почему-то всегда приходится программировать то, что невозможно запаять...
Сейчас этот форум просматривают: Bing [Bot], Google [Bot], multivibrator, vem566 и гости: 62
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения