Клуб "Трёх инженеров"
 

Email:

Пароль:

Забыли пароль?

Вступить в клуб?

Микроконтроллеры AVR

MS Visual Studio & C#

MODBUS-RTU & RS485

SolidWorks & Cosmos

Компьютерная техника

Мехатроника & Авиация

Силовая электроника

Всего статей:

Категорий/рубрик:

Комментариев:

Пользователей:

33

7

239

2125

 
видео прикол из Городка
Возвращение блудного мужа
Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.

Модуль АЦП-8бит на МК ATmega8535. Часть 1 - Эл. схема и печатная плата

Автор: Рудаков Г. В.

Дата: 2009-10-04


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

На рисунке 1 представлена блок-схема такой адаптивной системы стабилизации заданной термоэдс.

Рисунок 1 – Система АСУТП для поддержания заданной термоэдс.

Комплекс состоит из измерительного блока на основе разрабатываемого модуля АЦП, программного блока анализа и управления  и регулируемого привода модуля главного движения. Сигнал термоэдс снимается с изолированного заднего центра и изолированного резца. Разность образуемых при точении потенциалов, подается на измерительный модуль «АЦП-8 бит», который преобразует аналоговый сигнал в цифровой  и передает результат преобразования на КПК или ПК для анализа.

Таким образом, для реализации такой системы адаптивного управления, требуется детальная конструкторская проработка следующих элементов:

  1. Измерительный модуль (аналого-цифровой преобразователь);

  2. Программа анализа термоэдс на ПК:

  3. Программа управления частотным преобразователем с ПК;

  4. Конвертор интерфейса USB/RS-458.

В этой статье будет детально представлена разработка измерительного модуля АЦП-8бит.

При подключении термопары к колодкам модуля, будет возникать погрешность равная термоэдс, возникающей при температуре холодного спая. Для того чтобы иметь возможность программной компенсации этой погрешности, требуется знать материал проводов и материал контактных площадок колодок, а также температуру окружающей среда в непосредственной близости контакта двух разнородных металлов. Предлагаю для этой цели использовать цифровой датчик DS18B20, позволяющий мерить температуру в диапазоне от -50 до 125 градусов Цельсия с дискретностью 0,0625 градуса. Вообще, наверное, не совсем разумно говорить о компенсации температуры холодного спая при дискретности измерительного модуля в полмилливольта, но данная опция мне больше была нужна для получения практических навыков и отладки «прошивки» микроконтроллера.

Принципиальная электрическая схема модуля «АЦП-8бит» представлена на рисунке 2. На схеме разъем X1 – для подключения USB-кабеля, X2 (JP4) – для датчика DS18B20, X3 – разъем для подключения программатора AVR910, X4 – колодка для подключения термопары.

Рисунок 1 – Принципиальная электрическая схема.

В таблице 1 представлен перечень некоторых радиокомпонентов используемых при разработке модуля «АЦП-8бит».

Таблица 1 – Перечень компонентов модуля «АЦП-8бит»

Перед тем как выполнить разводку схемы следует обратить на следующие рекомендации, приведенные на сайте МОЙ РОБОТ под заголовком: "Подключение питания к микроконтроллеру AVR" и в книге: "Микроконтроллеры AVR семейства Mega" А. В. Евстифеева.

  1. На печатной плате необходимо предусмотреть область сплошной металлизации под аналоговую «землю». Аналоговая и цифровая «земли» должны соединяться друг с другом только в одной точке печатной платы.

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

  3. Вывод AVCC микроконтроллера должен подключаться к источнику питания Vcc через LC-фильтр.

  4. Если какие-либо выводы АЦП используются как цифровые выходы, они не должны переключаться во время преобразования.

Для сведения к минимуму электромагнитных помех, наводимых ядром процессора, в микроконтроллере имеется дополнительный «спящий» режим – ADC Noise Reduction (режим снижения шумов АЦП). В этом режиме из всех периферийных устройств функционируют только АЦП и сторожевой таймер. Для использования АЦП в этом режиме необходимо выполнить следующее:

  1. Убедиться, что АЦП включен и не занят преобразованием. Затем переключить АЦП в режим одиночного преобразования и разрешить прерывания от АЦП.

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

  3. Перевести микроконтроллер в режим ADC Noise Reduction. Сразу же после остановки процессора начнется цикл преобразования..

  4. По завершению преобразования будет сгенерировано прерывание от АЦП, которое переведет микроконтроллер в рабочий режим и начнется выполнение подпрограммы обработки этого прерывания.

На рисунке 4 представлена готовая печатная плата, выполненная в программе Sprint Layout 5 с учетом выше указанных требований.

Рисунок 4 – Печатная плата модуля АЦП-8бит.

Габаритные размеры печатной платы: 80мм × 60мм. По углам расположены крепежные отверстия диаметром 3 мм.

На рисунке 5 представлен собранный модуль «АЦП-8бит» Слева на плате установлен разъем USB-B для подключения к персональному компьютеру или КПК. Справа расположена контактная колодка для подключения термопары.  Контакт обеспечивается зажимными винтами, встроенными в колодку. Максимально приближенно к контактной колодке расположен цифровой датчик температуры DS18B20.

Индикацию работы устройства обеспечивают два светодиода. Красный отображает передачу данных (RX), а зеленый – прием (TX).

Рисунок 5 – Модуль АЦП-8бит. Вид спереди.

Рисунок 6 – Модуль АЦП-8бит. Вид сзади.

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

LCD-дисплей во время работы модуля «АЦП-8бит» выводит служебную информацию о готовности устройства к приему команд или о ходе их выполнения.

На плате предусмотрен разъем для внутрисхемного программирования микроконтроллера. Он позволяет в любой момент перепрограммировать микроконтроллер новой микропрограммой (прошивкой).

P.S. В следующей части статьи рассмотрим подробно прошивку микроконтроллера.

Необходимо зарегистрироваться чтобы прочитать текст

Рейтинг:

Просмотров: 65914

Комментарии:

Автор: Гришаня Рудаков (2010-07-21, 2:05)

Первое полученное значение с датчика Dallas по непонятным причинам кривое..(65 или 85 в целых) Не стал заморачиваться, неучитываю его или повторно произвожу опрос датчика. [Ответить]

Автор: Slash (2010-07-18, 7:54)

К сожалению, дело было именно в 8535. Перепаял, и всё заработало =) Капризные какие!!! [Ответить]

Автор: Slash (2010-07-18, 2:19)

Может, нужен усилитель для термопары, чтобы он нормально функционировал? Датчик ds18b20 работает, если к нему паяльник прислонить, всё правльно показывает. Видимо, программно скорректирую температуру. [Ответить]

Автор: Slash (2010-07-18, 2:08)

термопара рабочая, мерил милливольтметром [Ответить]

Автор: Slash (2010-07-18, 2:03)

Добрый день. Ещё с вопросами =) Не получается у меня получить термоэдс с термопары. Сигнал с АЦП передаётся. Строит графики. С этим всё хорошо. Но, показывает при подключённой термопаре, одну и ту же температуру, при изменении температуры на термопаре. Тонкость такая ещё. Если прикоснуться горячим паяльником, включённым в сеть к термопаре, то он увеличивает показания температуру на графике до 150-170 градусов, но стоит только отключить паяльник от сети, то как мёртвый на одной и той же температуре - 30-40градусов. Если прикоснуться чем угодно к входам ATmega8535(железкой, пластиком, пальцем или вытащить минус термопары из клеммы), то он тоже изменяет показания аж до 100мв с большим шумом. Вроде всё верно, всё перепроверил, никак не понимаю, что может быть. Ещё датчик ds18b20 врёт. Подпаивал сначала, как у Вас на картинке 4.7 ком к датчику. Показывал сначала 44 градуса, а если долго нажимать на кнопку(прочитать температуру в комнате) иногда показывал и 65. Сейчас подпаял как на схеме 470ом, стал показывать 39 иногда, а так 42. Что может быть? Надеюсь не стоит микросхему менять? [Ответить]

Автор: Slash (2010-05-30, 20:49)

Вы были правы. Всё заработало! Единственно, программку бы найти. Можете прислать на почту? dimonm1200@gmail.com [Ответить]

Автор: Slash (2010-05-30, 0:58)

тогда поидее чип должен быть нечитаемым, не хочется ещё одну микруху портить. У меня нету на неё параллельного программатора [Ответить]

Автор: Slash (2010-05-29, 13:10)

да, странно [Ответить]

Автор: Гришаня Рудаков (2010-05-28, 23:24)

Изначально, при изготовлении чипа на заводе, FUSE-bits были установлены вот так:

Сейчас выставленны таким образом:

Смушает только почему все единички.. Перепроверю как освобожусь.

[Ответить]

Автор: Slash (2010-05-28, 0:26)

А какие Вы выставляли Fuse Bits я выставил Старший байт S8535C WDTON SPIEN + CKOPT EESAVE BOOTSZ1+ BOOTSZ0+ BOOTRST Младший байт BODLEVEL BODEN SUT1 SUT0 + CKSEL3 CKSEL2+ CKSEL1 + CKSEL0 + [Ответить]

Автор: Гришаня Рудаков (2010-05-26, 22:13)

Ближайшее время будет третья статья, про программу в Visual Studio для этого модуля АЦП. Высылайте, обязательно опубликую. Было бы неплохо, если у Вас нашлось время, оформить свои труды в виде статейки.. [Ответить]

Автор: Slash (2010-05-26, 18:29)

нашёл прошивку. [Ответить]

Автор: Slash (2010-05-26, 17:40)

уже сваял приборчик, только я сделал его на 8 термопар, развёл на все входы Вместо FB2 я поставил катушку индуктивности на 10мкГн, увидим. Ещё хотелось бы, если осталось, прошивку, чтобы ошибки самому не исправлять. Да пришлите всё, что на него найдёте. Огромнейшее Вам спасибо!! могу прислать Вам свой вариант платы и фотки [Ответить]

Автор: Гришаня Рудаков (2010-05-24, 0:45)

FB2 - это косячок! Вместо него я по рекомендациям статьи на сайте "МОЙ РОБОТ" поставил резистор в 100 Ом. Схемку последней версии поищу, если таковая сохранилась.. Если собираетесь повторить конструкцию, то для теста вышлю прогу обработчик для ПК которая строит график. [Ответить]

Автор: (2010-05-21, 3:25)

dimonm1200@gmail.com [Ответить]

Автор: (2010-05-21, 3:24)

Можно, если не трудно, мне на почту прислать правильную схему и фотку вашей платы в хорошем качестве? Спасибо!! =) [Ответить]

Автор: (2010-05-21, 3:15)

Извиняюсь, случайно открыл 8515, а не 8535, но Fb2 всё равно не понятно [Ответить]

Автор: (2010-05-21, 2:52)

3 ножки NC объеденены. а вот на схеме ещё и 18я ножка объеденена, вместо 17й. Помоему ошибка. Ещё не понятно зачем 10нф кондёр, 4.7 ома и остальное. В спринте ещё несколько деталек, а какие они, не понятно. [Ответить]

Автор: (2010-05-21, 2:49)

Не все, к сожалению, номиналы расставлены.27 ножка Atmega через FB2 идёт на 5ю, в плате вообще нету этого соединения. Почему? Вообще схема и реальная плата отличаются. Что правильно, а что нет? Хотелось бы работающую схему делать. Спасибо за помощь!!! [Ответить]

Автор: Гришаня Рудаков (2010-04-25, 23:36)

Здравствуйте! Изначально дорожки были проложены удобным для того способом, в надежде на то, что все можно будет инициализировать в программе. Но библиотека "lcd.h" CodeVision так написана, что CodeWizardAVR требует разводки ног, согласно рисунку 4 второй части этой статьи. Поэтому потребовалось немножко пошаманить, так как ковыряться в библиотеке было лень.. (также был добавлен конденсатор на 0,1 мкФ между ножкой AREF и GNВ в качестве фильтра). Что касается разновидности применяемых термопар, то ограничений никаких, кроме как максимального значения термоЭДС в 100мВ. И то, это ограничение программное. Реальный предел измерений 256 делим пополам. Вы даже можете подключить любой датчик с аналогичным выходным сигналом. Удачи! [Ответить]

Автор: Slash (2010-04-25, 17:01)

И возможно ли будет этот АЦП использовать для Термопар Хромель Алюмель? [Ответить]

Автор: Slash (2010-04-25, 16:59)

Здравствуйте, а почему вы на микроконтроллере механическим путём ножки поменяли?(проводок подпаян на другую ножку) Стоит ли сразу так сделать? [Ответить]

Гости не имеют права добавлять комментарии и проставлять рейтинг.