РЕШЕНО Хардовое разрешение войны библиотек за таймеры

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем OldKryptos, 30 май 2020.

Метки:
  1. OldKryptos

    OldKryptos Гик

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

    Схема исходник
    buzz315.jpg
    Мне было достаточно трех нот, поэтому я сделал шарманку на три тона (Соль второй октавы, До и Ми третьей)
    Схема шарманки
    threeTone.jpg

    Схемка отлично работает. Написал для нее небольшую библиотеку
    Фрагмент кода
    kt315sound.jpg

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

    На этом видео процесс отладки



    А это реализация

     
    Последнее редактирование: 30 май 2020
    Un_ka и issaom нравится это.
  2. parovoZZ

    parovoZZ Гуру

  3. OldKryptos

    OldKryptos Гик

    Эмоции, это во флудилку, не? Я решил задачу просто и не без изящества. Зачем сложно, когда можно просто?
     
  4. parovoZZ

    parovoZZ Гуру

    как раз-таки это сложное решение простой задачи.
     
  5. OldKryptos

    OldKryptos Гик

    Разговор ни о чем. Если я не смог разобраться с кодом за три вечера, а за один вечер собрал и отладил хардовый прототип пищалки, то значит для меня этот вариант проще, и ничем не проигрывает чисто софтовому. Для вас наоборот, возможно.
     
    Un_ka, SergeiL и issaom нравится это.
  6. parovoZZ

    parovoZZ Гуру

    Я тоже озадачился громкой пищалкой, но, в силу природной патологической рациональностью, меня больше волновал вопрос максимально эффективного расходования энергии батареи. Советовался с этим с братьями по разуму
    http://kazus.ru/forums/showthread.php?t=118817
     
  7. OldKryptos

    OldKryptos Гик

    Понятно. Ну у меня это всего лишь увлечение, без патологии. Чуток в детстве что-то паял, ну и все. Три года назад увлекся ракетами. Дефицит высотомеров реанимировал интерес к электронике, не более. Глубоко нырять в это вряд-ли. В любой момент возможно переключение на что-то еще. И забуду все на фиг.
     
  8. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Маленький коммент - Законы схемотехники диктуют, что
    1. В правильной схеме не должно быть ни одного пути ( с плюса на минус) через полупроводники - без резистора. Так что между базой и коллектором вставьте резистор. 1К Ом принесет вам счастье.
    2. База транзистора не должна "повисать в воздухе". То есть не должна оказываться о обрыве. Смотрим - когда VT1 закрыт - база VT2 - по сути дела в обрыве. Поставьте резистор между базой и эмиттером VT2. 15-33 Ком вполне нормально.
    3. На бога надейся, а предохранитель ставь (шутка).
    ПС. Паровоз прав - максимум задач надо пытаться выжать из процессора, коль уж он присутствует в схеме. Нашлепать на скорую руку конечно можно и аппаратно, но желательно потом устаканить в процессор. Оно дешевле и надежнее получится.
     
    Последнее редактирование: 31 май 2020
  9. issaom

    issaom Гуру

    А ракету когда собирать ? Так можно и не успеть полететь. По мне дак пусть лучше летающая ракета на транзюках чем крутая пищалка на таймерах.....
     
    OldKryptos нравится это.
  10. OldKryptos

    OldKryptos Гик

    Хорошо, понял. Не исключено, что схемку шарманки повторю в какой нить будущей поделке. Там учту ваши замечания и обновлю рисунки. Готовую уже перепиливать не буду. Довольно трудоемкая подгонка платы к ракете вышла. Устал ))
    ПС
    Ну вот представьте себе ситуацию, что я люблю кататься на велосипеде, но к велогонкам совершенно равнодушен.
     
    Последнее редактирование: 31 май 2020
    Ariadna-on-Line нравится это.
  11. issaom

    issaom Гуру

    Не переживайте - скоро Амперка Вашу механику потырит - заодно и код напишет ;-)
     
  12. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Василь Иваныч, а радиостанция-то на чем ? На лампах или на транзисторах ? Повторяю, Петька, для дураков и тугодумов - НА бронепоезде !
     
  13. OldKryptos

    OldKryptos Гик

    Да все на транзюках, неприятие альтернативных вариантов обескураживает.
     
  14. OldKryptos

    OldKryptos Гик

    Да пофиг. Да все у всех тырят, это же Ардуино. Творческое адаптация под свои хотелки, чего-то, уже кем то сделанного.
     
  15. SergeiL

    SergeiL Оракул Модератор

    Почитал по ссылке, что то долго вы там обсуждали варианты, с окончательным решением на удвоенном питании...
    Если с минимум деталей и без трансформаторов, индуктивностей, с использованием одного порта. Ну и с удвоением напряжения на излучателе, в 2007-ом такую схему использовал.
    biper.jpg
    Схема из тетрадочки, НО работающего и по ныне термостата, на АтМеге8. ;)
     
  16. SergeiL

    SergeiL Оракул Модератор

    Как говорят совершенству нет предела. вопрос что нужно "шашечки или ехать?"
    Просто кому то я..а лизать пока не начнут сверкать, а кому то результат!
    Сам понимаю, что нужен результат, но в душе порой интересно решить задачу, а дальше уже, к сожалению, интерес не такой, как при ее решении.
    На самом деле, задача решена - вопрос закрыт. ;)
     
    OldKryptos нравится это.
  17. OldKryptos

    OldKryptos Гик

    Ну я не без боя совершил обходной маневр. Повозился с даташитом, поковырялся в библиотеках, поматерился в волю. Не осилил, и судьба распорядилась иначе )).
     
    issaom нравится это.