• Объявления

    • admin

      Внимание! Постить только по теме "электроника"   02.09.2016

      Внимание! В данном разделе разрешено создавать только темы связанные с электроникой. Для проблем с ПО не связанных с электроникой существует специальный раздел.
      Нарушители будут забанены на 5 суток!
SDD39

Программа подбора комбинаций элементов

13 сообщений в этой теме

SDD39    148

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

В чём её суть.  Ну к примеру нам надо спаять мост Винна. Для него , как известно нужны пары деталей конденсаторов и резисторов с желательно близкими значениями. Особенно трудно обычно подобрать конденсаторы но не в этом сейчас суть.  Так вот , пускай у нас есть несколько десятков  конденсаторов  и мы можем соединив параллельно по два конденсатора получить нужный номинал . Но при этом имеется вероятность , что подобрав пары  должным образом , мы можем получить весьма низкое отклонение  подобранных  пар , соединённых последовательно или параллельно.  Так вот , если к примеру у нас имеется 31 промеренный конденсатор (что я сделал и занеёс в таблицу для МБМ конденсаторов 0.1 мкФ , чтобы иметь практические данные это не так уж долго и вполне осуществимо на практике)  , то количество только возможных не повторяющихся  комбинаций будет составлять (31*31 - 31)/2= 465 . Просчитать  такое  количество  в ручную , отсеить невозможные комбинации где один и тот же конденсатор присутствует более одного раза , да ещё выбрать наилучший вариант задача компьютера , а не человека.   И он справляется с ней  за секунду.

По скольку в программировании я не очень силён то какой то графической оболочки у меня нет (я вообще пока не знаю как это делается). Так же не придумал способа ввода данных в программу. Наверно надо будет попробовать как то делать это из текстового файла. Результаты программа уже выводит на экран и создаёт текстовый файл Rezalts.txt с результатами вычислений. Хотелось бы что бы опытные программисты взглянули на мой труд и указали на недочеты , ошибки и возможные решения в лучшем направлении. В общем буду благодарен за незлобные указания моих ошибок . Прилагаю исходник на Си и сопутствующие файлы данных и результатов в архиве . А так же скриншот результатов вывода на экран.

 

 

 

 

   

 

 

 

 

  

 

а.png

Rezalts.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    148

Сегодня попробовал распаять конденсаторы в группы и практически померить точность побора . Из двух конденсаторов спаивается один большой конденсатор . Его ёмкость получается  в среднем около 260 нФ . Так вот разность ёмкостей между большими конденсаторами  в среднем  не более 500 пФ получилась . У лучшей пары больших конденсаторов около 300пФ . У пары худших не более 1.5нФ.  Поражает то , что из 31го , практически мусорного конденсатора не при делах  осталось только три. И не смотря на то , что точность   самих конденсаторов практически ни какая до +50% разброса от номинала. При этом удалось подобрать пары больших конденсаторов отличающихся менее чем на пол процента. А это уже прецизионная точность для весьма дорогих конденсаторов. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 358

вертится только АдЫн вопрос нефига все это...

47 минут назад, SDD39 сказал:

что точность   самих конденсаторов практически ни какая до +50% разброса от номинала

это грит только о хреновости ТКЕ конденсаторов и применение их в мосте Винна, глупость не сусветная

если уж так хотелось подобрать пару для этого всего-то нужен был  мост Уитстона

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    148
4 часа назад, IMXO сказал:

это грит только о хреновости ТКЕ конденсаторов

О ТКЕ это точно не говорит. Только о точности их изготовления. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

SDD39    148

Вот такая на данный момент получилась  уже "функциклирующая" программа  program.exe .Она попросит ввести имя файла данных. Вводим data_0.txt , для вывода результатов предыдущего примера.

Этот файл-шаблон  data_0.txt  , можно создать второй программой data.exe . В нём довольно подробно указано что и для чего. И его можно изменить  в текстовом редакторе. Так же можно изменить и его имя. Потом надо будет просто ввести его в программе  program.exe .В результате работы   program.exe  получаем вывод результатов на экран и созданный ей файл Rezalts.txt с теми же результатами обработки данных. 

Так же в архиве есть ещё два файла данных data_1.txt data_2.txt для обработки в качестве примера. А так же файл  data_0.txt , хотя его можно и просто создать. 

 

Program.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    148

Подправил некоторые места , исправил некоторые ошибки , добавил контроль ошибок файла данных. 

base6.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    148

В интернете много схем резистивных УНЧ класса А ,  типа такого  http://cxem.net/video.php?id=669 .

В большинстве своём рассчитаны они не оптимально с энергетической стороны. И имеют КПД ниже достижимого. А он и так ниже 10% , даже у оптимально рассчитаного. Дпнная простая програмка позволяет немного исправить такое положение дел . И может служить ориентиром. В неё нужно ввести сопротивление нагрузки , напряжение питания , и минимальное напряжение на транзисторе при котором он сохраняет свои усилительные свойства. Для приведённого выше случая нагрузка 16 Ом , питание 12 Вольт , а минимальное напряжение для составного транзистора можно пркдположить в 1,5 Вольт . Дробные цифры надо вводить в программу с помощью запятой. Результат её работы на скриншоте , сама она в архиве.   

UNC A.png

UncA.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    148

Исправил ошибку с выводом по флагу Р

 

 

program1.rar

Изменено пользователем SDD39

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
солар    177

Молодец! Дерзай!

Если можно, пересядь на делфи. Смотреть на ч/б экран не комильфо.

  • Не одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
SDD39    148

@солар

Спасибо!  

Мне пока что Си бы изучить и не забыть.))

Программа LCFR расчёта колебательного контура .

К примеру мне надо рассчитать колебательный контур на 50 Килогерц с реактивными сопротивлениями  катушки и конденсатора 10 Ом.

Ввожу строку 50Kf10r  и программа рассчитывает результат. Этот же пример на скрине.

lcfr.png.e66b9de165354d3c3abc64ca9cddc39c.png

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

LCFR.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: griin
      Купил на аллиэкспресс wifi выключатель. Установил программу, опробовал. Все работает. Вопрос - Как подсмотреть протокол обмена командами.(т.е. на каком порту, HTTP....?)
    • Автор: Джон_Иксрей
      Разбирался тут у вас на форуме с одной проблемкой. Обнаружил что здесь довольно дружелюбный народ обитает.
      И недолго подумав решил может тут мне помогут прояснить картину. (может быть немного оффтопа(?))
      Далее идут биографические данные:
      В общем: думаю о будущем, выбирая вектор развития. Есть, если можно так сказать, хобби - пайка всякой чуши, другими словами интересно. Ещё увлекаюсь наукой, в частности физикой, астрономией, астрофизикой. Также увлекает музыка, фото, а с недавних пор светомузыка. Последнее место работы - звукорежиссер, уже почти год. Хорошо разбираюсь во всём, о чем написал выше.
      После 9-го класса решил поступить в колледж, поступил на специальность организация гостиничных хозяйств и туристских комплексов. К несчастью умер отец, когда я был на первом курсе. Мать-пенсионерка не могла оплачивать учебу - отсюда такой разнообразный список мест работ о котором ниже. После окончания колледжа тяжело заболела, а затем умерла мама. Прошло уже 3-4 года, метаюсь то туда, то сюда по разным работам. Два года назад остепенился. Жена заканчивает учебу в этом году, но сейчас не об этом.
      Дополнительно: сменил кучу мест работы(указал только те, где работал не менее 3х месяцев) часть из них - разнорабочий, официант, токарь+плотник, строитель, водитель, фотограф, печатник, оператор эвм, сисадмин, диджей, копирайтер, дизайнер, несложный ремонт ПК. (хронология не соблюдена)... всё это за 8,5 лет.
      В идеале хотел бы стать астрофизиком, но в стране "Икс" из снг есть только одно заведение, где этому учат, за очень много денег, которых у меня попросту нет. Да и возраст уже не тот, когда всё налету схватываешь. В итоге выбираю что-то из хобби, или из того что умею. В последнее время очень интересует программирование.
      Теперь из всего предыдущего вытекла цель - заработать денег. Куча денег - не нужна, нужно немного больше чем просто на коммуналку и еду. С женой конкретно решили сменить континент проживания - учим английский. Целевая страна намного более развита, чем та, в которой живем. Блин опять отвлёкся от вопроса, простите.
      Собственно ВОПРОС:
      Стоит ли мне самоучится программированию, либо совершенствовать навыки ремонта техники. Или может ещё есть что-то что я упустил, исходя из того, что я написал выше. 
      Спасибо.
      З.Ы. сижу и жду Ваших мыслей по этому поводу.
    • Автор: Kudich
      Всех приветствую!
      Сам я программирую на стандартной среде ардуинки, и в одном проекте потребовалось увеличить частоту ШИМ на портах 5,6,9,10,11,13 Arduino Micro. На этой ардуино стоит Atmega32u4, есть тут знатоки avr? Как повысить частоту на этих пинах?
    • Гость Максим
      Автор: Гость Максим
      Всем светлым и умным головам привет!

      Никак не могу найти информацию о данном прерывании TIM1_BRK_UP_TRG_COM.
      Вопрос 1: Что это за стек или система прерываний? 
      Вопрос 2: Когда будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler, если также есть обработчик прерывания TIM1_CC_IRQHandler?
      Вопрос 3: период переполнения таймера равен 100 мкс. Сколько раз будет вызываться обработчик прерывания TIM1_BRK_UP_TRG_COM_IRQHandler до обработчика прерывания TIM1_CC_IRQHandler? По логике вещей, предполагаю, что 100 раз?
      Заранее благодарен!

      Всем радости))
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен