Как сделать вычислительную машину

Обновлено: 06.07.2024

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

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

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

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

Операционный усилитель

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

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

Операционный Усилитель (ОУ) это Усилитель Постоянного Тока (УПТ), инвертирующий, с большим коэффициентом усиления, обладающий высокой стабильностью (малые смещение и дрейф нуля), с высоким входным и низким выходным сопротивлениями .

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

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

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

Обратите внимание, что на схемах/программах АВМ ОУ обозначается не так, как на схемах принципиальных электрических схемах. Поскольку ОУ, по определению, обладает большим коэффициентом усиления (в идеале, бесконечным), его не указывают.

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

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

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

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

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

Планируется, что операционным усилителям будет посвящена отдельная статья.

Источники погрешности

Давайте рассмотрим погрешности, которые возникают в элементах АВМ построенных на базе ОУ. И начнем с погрешностей самого ОУ .

  • Конечный коэффициент усиления . Приведенная выше формула коэффициента передачи инвертирующего усилителя с ООС не включает в себя коэффициент усиления собственно ОУ. Однако, как вы знаете из курса электроники, это соответствует бесконечно большому коэффициенту усиления ОУ. В противном случае появляется погрешность. Тем большая, чем меньше коэффициент усиления ОУ.
  • Смещение нуля . Смещением нуля называется отличное от нулевого выходное напряжение при нулевом напряжении на входе. Для современных интегральных ОУ обычно указывается приведенное ко входу напряжение смещения, точнее, его максимальное значение. Поэтому в ОУ предусматривается или ручная балансировка, или автоматическая коррекция смещения.
  • Дрейф . Точнее, дрейф смещения нуля. Смещение нуля не является постоянным, оно изменяется с течением времени. На него влияет и естественное старение компонентов ОУ, и изменение напряжений питания, и температура. Дифференциальный входной каскад ОУ позволяет значительно снизить влияние нестабильности питающих напряжений. При этом усилитель в целом совершенно не обязан иметь доступные пользователю дифференциальные входы. Влияние температуры снижают прогревом машины пере выполнением расчетов. Автоматическая коррекция смещения позволяет снизить и влияние дрейфа.
  • Конечное входное сопротивление . Приводит к тому, что ОУ нагружает цепи, к которым подключается. При рассмотрении процессов в точке суммирования токов предполагается, что входной ОУ равен нулю, что и соответствует бесконечному входному сопротивлению. Наличие входного тока вносит погрешность в результат операции.
  • Ненулевое выходное сопротивление . Приводит к тому, что выходное напряжение ОУ становится зависимым от сопротивления нагрузки. Это приводит к появлению погрешности результата операции.

Рассмотренные источники погрешности хорошо известны и рассматриваются в курсе электроники. Они достаточно очевидны. Однако, есть и другие источники погрешности.

  • Конечный диапазон значений входных и выходных напряжений . При разработке электронных схем мы это учитываем автоматически. Однако, в АВМ напряжения в схеме определяют значения переменных. А значения переменных не являются ограниченными. Возникает проблема представления модели без ограничений на машине с ограничениями. Эта проблема решается выбором масштаба. Но существует ненулевая вероятность, что при решении задачи одна из переменных в схеме все таки выйдет за допустимые границы. Это не приведет в выходу ОУ из строя, но приведет к искажению результата из-за перегрузки ОУ. Вот это и есть еще один источник погрешности. Правда только возможной. Что бы обнаруживать подобные погрешности ОУ в АВМ имеют индикаторы перегрузки.
  • Температурная погрешность компонентов схемы . В данном случае речь идет уже не о параметрах ОУ, а о параметрах внешних элементов. Так резисторы имеют ненулевой Температурный Коэффициент Сопротивления (ТКС). Что дает зависимость, например, константы, на которую выполняется умножение, от температуры. Конденсаторы имеют ненулевой Температурных Коэффициент Емкости (ТКЕ). Что приводит к изменению, например, постоянной времени интегратора. Поэтому прогрев нужен не только для ОУ, а для машины в целом. Включая внешние цепи, если они присутствуют.

Сумматор

Получается естественным путем добавление входных резисторов к точке суммирования. Причем получается не просто суммирование переменных, а суммирование с учетом весовых коэффициентов

Использование ОУ для выполнения операции суммирования с учетом весовых коэффициентов. Иллюстрация моя

Использование ОУ для выполнения операции суммирования с учетом весовых коэффициентов. Иллюстрация моя

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

Универсальный блок АВМ, который может использоваться и как ОУ, и для выполнения операции умножения на константу, и в качестве сумматора, и для построения интегратора.

Универсальный блок АВМ, который может использоваться и как ОУ, и для выполнения операции умножения на константу, и в качестве сумматора, и для построения интегратора.

Источники погрешности

В данном случае источники погрешностей аналогичны рассмотренным ранее.

Инвертор

Это еще один частный случай, но важный. Коэффициент передачи инвертора равен минус единице.

Инвертор меняет знак переменной (напряжения). использование инвертора позволяет выполнять, например, с помощью сумматора операцию вычитания

Использование инвертора и сумматора для выполнения операции вычитания с учетом весовых коэффициентов. Иллюстрация моя

Использование инвертора и сумматора для выполнения операции вычитания с учетом весовых коэффициентов. Иллюстрация моя

Источники погрешности

Уже рассмотрены нами ранее.

Интегратор

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

В данном случае, коэффициенты Ai=1/(СRi). При этом сама схема интегратора это по сути тот же самый сумматор, у которого резистор в цепи обратной связи заменен на реактивный элемент - конденсатор.

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

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

А пока посмотрим на то, как в некоторых АВМ реализуют универсальные решающие блоки

В данном случае, этот блок может выполнять и функцию ОУ в чистом виде, и функцию сумматора (четыре входа с коэффициентами 1, 1, 1, 10), и функцию интегратора (три постоянных времени задаваемых конденсаторами 1, 0.1, 0.01 мкф) с четырьмя входами.

Источники погрешности

Не смотря на то, что основные источники погрешности для интегратора те же самые, важно отметить, что ТКЕ конденсатора оказывает влияние не только на значение переменной, но и на поведение этой переменной во времени.

Поэтому в интеграторах используют высококачественные конденсаторы, которые кроме малого ТКЕ обладают еще и малыми потерями. Часто применяют пленочные конденсаторы.

Потенциометры

Решающий элемент? Да, используется для задания коэффициентов. Кроме того, потенциометры могут иметь и привод от электродвигателя, что позволяет создавать электромеханические решающие элементы. И даже генераторы функциональных зависимостей.

В АВМ использую потенциометры с заземленным выводом и без заземления.

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

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

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

Обратите внимание, что коэффициент всегда меньше единицы. Кроме того, здесь нет инверсии.

Потенциометр без заземления выводов позволяет выполнять операцию сразу над двумя переменными

Использование потенциометра без заземления вывода для операции над двумя переменными. Иллюстрация моя

Использование потенциометра без заземления вывода для операции над двумя переменными. Иллюстрация моя

Источники погрешности

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

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

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

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

Кроме того, нельзя не сказать о возможной погрешности "программирования". Я говорю о влиянии нагрузки. Например, входного сопротивления ОУ, или другого потенциометра, которые подключены на выход потенциометра. Нагрузка оказывается подключенной параллельно участку Ri. А это дополнительно влияет и на линейность регулировки, а не только на фактическое значение установленного коэффициента.

Умножитель

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

Схемотехника умножителей выходит за рамки статьи, но в качестве примера реализации умножителя в интегральном исполнении можно привести микросхему 525ПС1.

А вот пример гораздо более простого, и гораздо более грубого, четырехквадрантного перемножителя двух переменных

Аппаратная реализация такого умножителя дает на выходе результат в виде тока, а не напряжения. Преобразование тока в напряжение выполняется с помощью ОУ. И на иллюстрации видно это ОУ вынесенный за сам умножитель (обведенный пунктиром). На схемах/программах для АВМ можно встретить два обозначения умножителя

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

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

Источники погрешности

Умножитель относится к функциональным преобразователям. Поэтому, кроме уже рассмотренных источников погрешности, нужно учитывать и точность реализации функции преобразования. А она зависит от того, как именно реализовано умножение.

Делитель

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

Функциональный преобразователь

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

Для примера приведу функциональный преобразователь реализующий функцию десятичного логарифма

А так же, расположение и количество регулировок такого модуля

Органы регулировки блоки десятичного логарифмирования и калибровочные таблицы, которые использовались при настройке блока

Органы регулировки блоки десятичного логарифмирования и калибровочные таблицы, которые использовались при настройке блока

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

Источники погрешности

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

Другие решающие элементы

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

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

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

Заключение

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

Пока мы, за очень малым исключением, не рассматривали, как эти решающие элементы соединяются в "программу" для АВМ. Это у нас еще впереди. Так же, как и вопросы выбора коэффициентов и масштабирования. Без этого не получится построить адекватную модель для решения задач материального мира.

При этом обещаю, что дифференциальным исчисление мы заниматься не будем! Равно как и теорией дифференциальных уравнений и различных методов их решения. Это необходимые разделы, но мы их минуем стороной. Обещаю, что математикой вас мучить буду лишь в самых неизбежных случаях .

При этом повторюсь, цикл статей, при всей его упрощенности, не относится к категории "легкого чтива".

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

Интересна и история создания этой машины. В Ереване, в профильном институте, молодому инженеру поручили сделать вычислительную машину и забыли про него. Никакой информации о современной технике тому парню не дали, а в библиотеке ничего кроме машины Тьюринга и машины фон Неймана он не нашел. Короче говоря, этот парень за три года, додумывая на ходу все непонятное, сделал машину – интерпретатор с инструкциями на родном армянском языке.

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

Правительство ударило в грязь лицом и попросило КГБ разобраться с мистификаторами. Бедного парня – конструктора Наири пригнали в Москву в КГБ. Одновременно его уволили с работы в родном Ереване. В Москве он просто бедствовал. От него шарахались как от прокаженного. Именно в это время какой-то оборотистый мужик из фирмы IBM предложил парню ехать в США на эту самую фирму. Уже через год он командовал НИИ, а еще через год он входил в элитный фонд разработчиков фирмы, определяющих стратегические направления повышения конкурентоспособности продукции фирмы.

P. S. У этой истории есть продолжение. Прочитав мою байку, возмущённый читатель в комментариях уличил меня в искажении исторической правды по поводу Наири-2. Так что расставляю все по своим местам.

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

В реальной жизни отцом семейства Наири был Грачья Есаевич Овсепян, который был принят в ЕрНИИММ в качестве лаборанта, но быстро продвинулся по службе ввиду неоспоримых успехов в работе. Эта машина была первой персоналкой, построенной по фон-Неймановской архитектуре. Затем Грачья Есаевич Овсепян вслед за семьей в 1988 г. переехала в США и стал работать в фирме по обслуживанию компьютеров, но это уже совсем другая история.

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



Исправлюсь :)
Расскажи, как работает вычислительная машинка. К числу на входе машина.
5 - прямоугольник со штрихами - семь
:blush: теперь понятно?






пока объяснили так. Причем тут "число на входе. "?
Говорить так что ли "Набираем число 5, нажимаем на знак "+". и т.д.


Еще задание.
Какие числа будут получаться на выходе машина ,если на вход подавать одно за другим числа: 2,6,8,3?
%)
пробовали набрать ,получается число 2683 :gy: но они еще тысячи ведь не проходили %)


К числу на входе 5, машинка прибавляет 2 и получает на выходе 7
Ой какая херня. :gy: :gy: :gy: простите










Дак ребенка устно в пределах 20 считает примеры.


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

Все разделы

Читайте также: