logo
Микропроцессорное устройство управления электронными весами

3 РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ

На рисунке 3.1 приведена функциональная схема устройства управления электроннымим весами, выполненного на однокристальном микроконтроллере Atmega16.

В связи с достаточно большим количеством семисегментных индикаторов следует использовать схему динамической индикации. Для этого информационные входы семисегментных индикаторов подключены к выходам дешифратора К514ИД1, а общий вход каждого индикатора - к выходу 4-разрядного дешифратора К1564ИД5. На вход К514ИД1 от микроконтроллера подается код символа, на вход К1564ИД5 - код активного индикатора. Каждый индикатор должен активироваться с частотой не менее 40 Гц (частота, при которой мерцание индикаторов незаметно для глаз). Для отображения информации при таком подключении потребуется один порт, в данной схеме для этих целей выделен порт PC. Поскольку у дешифратора семисегментного индикатора управление запятой не предусмотрено, то для следует выделить еще один вывод микроконтроллера, в данном случае PD7.

Клавиатуру удобно построить в виде матрицы 34, для ее сканирования потребуется один порт, в данном случае PB.

Для оцифровки сигнала датчика используется вход микроконтроллера ADC0.

Для определения веса товара с точностью до грамма при максимальном весе 1кг требуется 10-ти разрядный АЦП, встроенный в микроконтроллер.

Рисунок 3.1 - Функциональная схема контроллера

4 Разработка алгоритма управляющей программы

Вне зависимости от задач, выполняемых микроконтроллером, алгоритм управляющей программы, как правило, состоит из двух частей:

- начальная загрузка регистров и значений переменных, инициализация внешних устройств;

- бесконечный цикл, в котором обычно происходит опрос внешних сигналов и обновление информации как для внутренних регистров, так и для внешних устройств.

У электронных весов должно быть два режима работы: режим взвешивания и режим редактирования цены за единицу продукции. Чтобы их различать, введен специальный байт status. При сбросе весы должны находиться в режиме редактирования, контроллер в этом режиме, ожидает ввода значения цены или ее подтверждения путем нажатия клавиши ввода. В режиме взвешивания контроллер пересчитывает значение стоимости взвешенной продукции в зависимости от веса и цены.

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

Рисунок 4.1 - Схема алгоритма прикладной программы

5 РАЗРАБОТКА СХЕМЫ ЭЛЕКТРИЧЕСКОЙ ПРИНЦИПИАЛЬНОЙ

Схема электрическая принципиальная полностью приведена в приложении.

При использовании контроллера Atmega16 фирмой-производителем рекомендовано использовать параллельно каждой паре выводов питания подсоединять помехозащищающий конденсатор емкостью не менее 1мкФ. На схеме эти конденсаторы обозначены C1 и C2, выбран тип К10-17-10В-1мкФ10%. Между линией RESET и плюсом питания подключается резистор с типовым значением 10 кОм (на схеме - R1), между линией RESET и минусом питания - конденсатор емкостью 1мкФ (на схеме - C4). Такая схема позволяет избежать ложного сброса микроконтроллера.

Параллельно линиям XTAL1 и XTAL2 подсоединяется кварцевый резонатор, частота которого для данного микроконтроллера обычно равна 16МГц. Между минусом питания и линиями XTAL1 и XTAL2 ставятся конденсаторы емкостью (20..30) пФ (на схеме - C3 и C5).

Для усиления сигнала с датчика веса следует применить измерительный усилитель. Схема такого устройства часто включает в себя несколько операционных усилителей, но может выпускаться в интегральном исполнении. В качестве измерительного усилителя выбрана микросхема INA128, которая в качестве дополнительных пассивных элементов требует только резистор для регулирования коэффициента усиления (на схеме - R2), определяемый по формуле:

, (5.1)

где K - требуемый коэффициент усиления.

Например, при K=100 рассчитанное по формуле значение RG равно 505 Ом, оно округляется до значения из ряда номиналов E6, равное 510 Ом. Лучше применять подстроечный резистор с целью калибровки коэффициента усиления.

В клавиатурной матрице опрашиваемые линии должны быть подтянуты к плюсу питания через резисторы, типовое значение которых равно 10кОм (на схеме - R4-R6).

Для отображения информации выбраны семисегментные индикаторы SA04-11 с общим анодом, каждый из которых потребляет максимальный ток 160мА, каждый сегмент потребляет ток Iсег=20мА. Сопротивление, ограничивающее ток линии PD7, рассчитывается по формуле:

, (5.2)

Округляя значение сопротивления до стандартного, получаем R3=130Ом.

Выход дешифратора К1564ИД5, разрешающий работу отдельно взятого индикатора, не обеспечивает такого тока, поэтому следует применить схему с усилительным каскадом, изображенную на рис. 5.1. Работа семисегментного индикатора разрешена, когда с выхода дешифратора приходит низкий уровень. При этом между базой и эмиттером транзистора подается смещение, задаваемое делителем напряжения, состоящим из резисторов R1 и R3, включенного параллельно с сопротивлением эмиттерного перехода со стороны базы. Резистор R2 ограничивает ток.

Рис. 5.1 - Схема согласования по току дешифратора с семисегментным индикатором.

Для данной схемы можно выбрать транзистор К501 с максимальным током коллектора 300мА.

Если принять ток через R3 равным току базы, то величина этого сопротивление определиться по формуле:

(5.3)

где - коэффициент передачи по току в схеме с общим эмиттером, для К501 можно принять равным 50;

Uбэ - напряжение, необходимое для открытия транзистора, обычно равно (0,8..0,9)В;

Iк - ток коллектора, в данном случае равен току, потребляемому индикатором;

Rбэ - сопротивление эмиттерного перехода со стороны базы.

.

Округляя значение сопротивления до стандартного, получаем R3=300Ом.

R1 рассчитывается по формуле:

, (5.4)

где Uп - напряжение питания.

Округляя значение сопротивления до стандартного, получаем R1=680Ом

R2 рассчитывается по формуле:

, (5.5)

где Uд - падение напряжение на индикаторе, равно 2,5В.

Выводы 4 микросхемы К514ИД1, 18 и 19 микросхемы К1564ИД5 подсоединяются к минусу питания для разрешения их работы.

Извне на устройство управления через разъем XP1 подаются: сигнал датчика, напряжение питания +5В, -5В (для усилителя), общий провод питания.