Страница 11 от 14 ПърваПърва ... 7 8 9 10 11 12 13 14 ПоследнаПоследна
Резултати 251 до 275 от 342

Тема: Релеен атенюатор с 32 стъпки + входен буфер + селектор с 3 входа

  1. #251
    Да вмъкна малко логика - дали "мутето" да увеличава плавно си е твоя работа, но трябва да спира веднага, мигновено!

    Защото тела звъни или майка ти идва с точилката и трябва бързо да разбереш защо
    Руски форум. Задаваш въпрос, после ти отговарят.
    Израелски форум. Задаваш въпрос, после на теб ти задават въпрос.
    Български форум. Задаваш въпрос, после дълго ти разказват колко си тъп.
    Явно кабелите са слушани години с тонкоректор на по-висока честота

    • #0
      Реклама от Google Реклама от Google
      Членува от
      Dec 2007
      Адрес
      Google.com

        
       

  2. #252
    Като сглобя атенюатора ще преценя дали е необходимо звукът плавно да се намалява, иначе за плавното увеличаване ще е добре.

  3. #253
    Гайкаджия ittso's Avatar
    Членува от
    Jul 2008
    Адрес
    София
    Мнения
    4,394
    Програмист гледа кода, и си мрънка:
    - Ебаси, защо така стана?
    Негов колега го гледа, и се обажда:
    - Ми така е било писано.
    Учените са открили, че 90% от хората са симулирали еволюцията.

  4. #254
    Докато TS вероятно тества кода за релетата/светодиодите, да "подхраня" темата със следващата стъпка: дистанционен контрол.

    От няколко години ползвам библотеката IRremote Arduino Library. Без забележки съм (v2.0.1). 3 типа дистанционни управления съм "програмирал" за други дейности.
    Трикракият IR приемник ("окото") е в комплекта към китайското дистанционно упр. Също така добре работи всеки IR приемник за TV (дори свален "втора употреба" напр. от CRT TV).

    IRremote Arduino Library
    https://github.com/z3t0/Arduino-IRremote/releases

    Стартира се IRrecvDemo от примерните скетчове, а в серийния порт се връща кода на натиснатия бутон. Следва запис с молива на хартия на желаните бутони от дистанционното за използване . След това идва if ... или switch() то УСИЛИ една стъпка примерно ...

    Главоблъсканици имаше с функция "продължително натиснат бутон" (библиотеката връща след кода на бутона вече само bt = 0xFFFFFFFF, а не кой бутон е задържан), но с установяване на последно натиснат бутон и дали bt = 0xFFFFFFFF и това е решимо.

  5. #255
    Гайкаджия ittso's Avatar
    Членува от
    Jul 2008
    Адрес
    София
    Мнения
    4,394
    Цитат Публикувано от veso74 Покажи мнения
    ...Трикракият IR приемник ("окото") е в комплекта към китайското дистанционно упр. Също така добре работи всеки IR приемник за TV (дори свален "втора употреба" напр. от CRT TV)...
    Има носеща честота - за масовите джаджи е в диапазона 35 - 40кХз. Желателно е IR приемника да е за същата честота като тая на предавателя или достатъчно близка, за да може системата да приличен обхват.

    Цитат Публикувано от veso74 Покажи мнения
    ...Главоблъсканици имаше с функция "продължително натиснат бутон" (библиотеката връща след кода на бутона вече само bt = 0xFFFFFFFF, а не кой бутон е задържан), но с установяване на последно натиснат бутон и дали bt = 0xFFFFFFFF и това е решимо.
    Зависи от типа на кода и предавателя.
    При някои кодове, да кажем Сони, като се задържи бутона натиснат, повтарят кода.
    При други, по спомен кодът на NEC беше такъв, след кода на бутона се излъчва код за задържан бутон (повторение), който е съвсем друг код. Ако не се лъжа имаше и проверка за валидността на приетия код.
    При някои предаватели, зависи и какъв бутон е задържан натиснат. Ако е такъв който предполага и повторение, като волюм +/- или канал +/-, той се излъчва и при задържан бутон. Ако е натиснат например мют, и да е задържан, кодът се излъчва няколко пъти, и след това се прекратява излъчването, докато бутонът не бъде отпуснат и натиснат отново или не бъде натиснат друг бутон.
    Учените са открили, че 90% от хората са симулирали еволюцията.

  6. #256
    ittso, БЛГ за инфото.

    При мен се случи с първото достъпно дистанционно управление и първият намерен приемник, те работят едно за друго. Най-важното: "под масата", "над масата", директно, недиректно, дори през рехав плат...
    Прикрепени изображения Прикрепени изображения
    Редактирано от veso74; 20 May 2019 в 19:01.

  7. #257
    Още не съм мислил за дистанционното, но не е зле да взема да поръчам едно от алито, че е бавна доставката.
    Как ви се струва това дистанционно: https://www.aliexpress.com/item/6Key...5-8b2fcfbc3718

    Преди да се захвана с дистанционното трябва да добавя закъснение на "релетата" за да се застъпват, стендбай и регулиране на яркостта на индикацията, ако останат 3 свободни извода на контролера ще добавя още едно MCP23S08, така ще имам 8 нива на яркост без ШИМ. Абе имам предостатъчно работа, докато пристигне дистанцията
    Предполагам не е проблем да се добави 5-то MCP с отделен CS.

  8. #258
    Moderator L.K.'s Avatar
    Членува от
    Nov 2010
    Адрес
    Казанлък
    Възраст
    53
    Мнения
    16,068
    4 нива на яркост са ти достатъчни. Тази функция може да се реализира и аналогово, извън процесора.

  9. #259
    стефан990, ще запомняш ли състоянията преди изключване? Ако да, имай предвид, че EEPROM в ATMEGA328 има "живот" 100k записа. Не че е малко, а и не, че реално при 20-25 градуса не са ок. 1,2М записа, но като една идея: може би ще ти трябва в случая и външен EEPROM. Дали ще е оригинален с 1М записа, дали ще е ST с 4M (които и двата типа издържат по до 10х пъти повече записа) или F-RAM ти си решаваш, но и за там трябваи изводи. I2C за мен беше най-пестеливо в случая: всичко на една шина по два проводника. А може и индикация с красив дисплей в бъдеще да добавиш.

  10. #260
    Гайкаджия ittso's Avatar
    Членува от
    Jul 2008
    Адрес
    София
    Мнения
    4,394
    Цитат Публикувано от veso74 Покажи мнения
    ...Също така добре работи всеки IR приемник за TV (дори свален "втора употреба" напр. от CRT TV)...
    Нещо което пропуснах в предишното ми мнение. Ползвайте по-съвременни приемници за IR.
    Дъртите са правни с по-архаични технологии, и не малка част от тях имат прилично количество шум в изхода, докато съвременните са значително "по-чистички".

    Редакция:
    Не му се оглеждайте толкова на тоя еепром. Ако софтуера се направи грамотно, това са 100к цикъла power off. Който иска да сметне кога ще изчерпи ресурса на паметта.
    Редактирано от ittso; 20 May 2019 в 21:35.
    Учените са открили, че 90% от хората са симулирали еволюцията.

  11. #261
    Ами ще трябва да се запомнят състоянията на звука, на селектора, на яркостта на индикацията. Вградената в контролера EEPROM памет няма ли да е достатъчна ? А след 100к включвания/изключвания контролерът ще спре да работи или просто вече няма да помни последните състояния преди спиране на захранването ?
    Дисплей няма да слагам, имам в главата си друга идея със светодиоди.

    L.K. До колкото е възможно ще се опитам огранича хардуерията, че станаха много платките, но ако не останат свободни изводи ще има още чарколяк, няма как

    Харесах си и друго дистанционно https://www.aliexpress.com/item/2-Pa...1-7feced9f4038
    С него ще мога да управлявам усилвателя и дака с TDA1541, на който смятам също да добавя ардуино

  12. #262
    Аз сложих такава памет. Доста по-бърза е от EEPROM-а.
    Така и така се ползва SPI може да се закачи на шината и няма да се ползват още пинове.
    За прототипи е добре, струва 2 лв.

  13. #263
    По обем е достатъчна. За брой записи писах. Виж из нета: EEPROM endurance - интересна тема (в микроконтролери, като отделни ИС и др.).

    Грешката от запис е от вида: примерно записваш последно УСИЛВАНЕ 03 (слушаш слаааабичко нощем), то на сутринта тръгва с усилване 29 ... ... - с хаотично, случайно число.

    При запомнчне на състоянията само при POWER OFF: не се притеснявай, Arduino дъъълго ще си работи, но си е друга функция за добавяне.
    Коментирам единствено при запис (напр. след. 5-30 сек) след последната манипулация, и то с проверка на данните, дали не са в паметта вече (EEPROM.update).

    А конструкцията нали ще изпада в "сън": дистанционното управление трябва да действа и при включване? Arduino може дори да не помни в ЕЕПРОМ, а ако трябва (останал е без захранване) - да тръгва в първоначано състояние. Варианти всякакви както винаги има.
    ---
    употребител, точно! заслужава си тази F-RAM (и по I2C), а е и хубаво през всички варианти да се мине. След това остава навика "да не правя това, което може да не правя" (ненужни записи)
    ---
    Ако софтуера се направи грамотно, това са 100к цикъла power off
    "Всеки от собствената си камбанария гледа": аз пак изключих липсата на бутон POWER OFF, а апаратурата да е в състояние "винаги готова" (винаги записала) .
    Редактирано от veso74; 20 May 2019 в 22:10.

  14. #264
    Цитат Публикувано от veso74 Покажи мнения
    ittso, БЛГ за инфото.

    При мен се случи с първото достъпно дистанционно управление и първият намерен приемник, те работят едно за друго. Най-важното: "под масата", "над масата", директно, недиректно, дори през рехав плат...
    А после, не би трябвало да е проблем, ако дистанционното на телевизора е с амнайсе копчеъа, да разчетеш с окото кодовете им (имаше някакъв код), и да ги назначиш на ардуиното .

  15. #265
    Цитат Публикувано от употребител Покажи мнения
    Аз сложих такава памет. Доста по-бърза е от EEPROM-а.
    Така и така се ползва SPI може да се закачи на шината и няма да се ползват още пинове.
    За прототипи е добре, струва 2 лв.
    Ще пробвам да добавя тази външна памет, цената е ниска и си заслужава за експеримента, но ще трябва да помагаш с библиотека за този чип, че пак ще е зор

    Всъщност ако няма голяма консумация контролерът постоянно ще си е включен, а бутонът за включване/изключване ще управлява софт старта на захранването на усилвателя и софтуерно ще изключва/включва контрола на звука, селектора и индикацията. EEPROM-ма ще е необходим само при спиране на захранването, но пак ще е хубаво да помни състоянията на звука, селектора и индикацията

  16. #266
    стефан990, ще продължаваме ли с решаването на приятните задачи по дистанционния контрол и запис на състоянията или си отложил проекта за неопределено време?

    Ако е така, да развалям нахвърляната си схема, че единият breadboard ще трябва за друго .
    Прикрепени изображения Прикрепени изображения
    Редактирано от veso74; 29 May 2019 в 17:44.

  17. #267
    Не, не съм отложил проекта, но за съжаление от няколко дни нямам време да чета книгата, а без нея ще трябва пак да го карам на проба грешка Надявам се този уикенд да съм свободен да почета и експериментирам с кода.
    Между другото пристигна и моето ардуино нано като това което си използвал.
    Още не съм стигнал до дистанционното (и то не е стигнало дом мен, някъде от Китай насам е ) Последно умувах как до добавя закъснения на релетата за да се застъпват, но без да влошава работата на енкодера. С добавяне на delay() преди и след всеки бит (стъпка) се съсипваше работата на атентатора. Тези закъснения няма да се направят толкова лесно, може би ще е необходима отделна функция в кода само за това, но засега незнам как трябва да изглежда, затова първо ще трябва да допрочета книгата. Опитвам се повечето неща които съм прочел да ги добавям в кода, за да ги разбера и запомня по-лесно

  18. #268
    Пробвай без програмно закъснение. Самото реле изключва по-бавно отколкото включва. Отделно тока през защитния диод държи още време котвата залепнала. Може да се окаже, че така полученото хардуерно закъснение е достатъчно.

  19. #269
    Цитат Публикувано от стефан990 Покажи мнения
    ... С добавяне на delay() преди и след всеки бит (стъпка) се съсипваше работата ...
    Насоки:

    1. Върни реакцията на енкодера по прекъсване (pin 2, 3, с attachInterrupt() и съответната изпълнима в прекъсването процедура (добре би било да е просто, скоростно действие, напр. вдигане на флаг и/или увеличаване/намаляване с 1, т.е. там да няма никакви сложни изчисления/установяване на изходи. Последните ще ги установиш при желание в loop, след като следиш изменението на флага).

    При прекъсване (харуерно в случая) MCU преустановява изпълнимото си действие в програмата (като данните не се губят), извършва действието по прекъсване, зарежда наново данните, откъдето е спрял и продължава работата си. Така въртенето на енкодера ще е с висок приоритет и няма да се "губят стъпки".

    2. Не използвай delay(ms); Замести го с millis() и съответното му приложение.

    Пример: Blink без delay():
    https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
    Редактирано от veso74; 30 May 2019 в 22:23.

  20. #270
    Цитат Публикувано от veso74 Покажи мнения
    Насоки:

    1. Върни реакцията на енкодера по прекъсване (pin 2, 3, с attachInterrupt() и съответната изпълнима в прекъсването процедура (добре би било да е просто, скоростно действие, напр. вдигане на флаг и/или увеличаване/намаляване с 1, т.е. там да няма никакви сложни изчисления/установяване на изходи. Последните ще ги установиш при желание в loop, след като следиш изменението на флага).

    При прекъсване (харуерно в случая) MCU преустановява изпълнимото си действие в програмата (като данните не се губят), извършва действието по прекъсване, зарежда наново данните, откъдето е спрял и продължава работата си. Така въртенето на енкодера ще е с висок приоритет и няма да се "губят стъпки".
    Точно така трябва да се подходи.
    Остави енкодера да си работи с висок приоритет, като при изхода от програмата за прекъсване, позицията да се съхранява в предварително заделен регистър.
    Отделно в свободното време и след като е изтекло необходимото забавяне за съответното реле, чак тогава (като му дойде времето с 2 думи) се прочита регистъра колко гоним, другия, колко е в момента, и бавно с времеви цикли трябва да се достигне до търсената стойност. Целта е регистрите (колко е и колко трябва да бъде) да се изравнят. После може да се дълбае в посока да се регулира по-фино и прецизно, и самата реакция на усилването с настройване на алгоритъма за сравнение.

  21. #271
    Цитат Публикувано от stef Покажи мнения
    Пробвай без програмно закъснение. Самото реле изключва по-бавно отколкото включва. Отделно тока през защитния диод държи още време котвата залепнала. Може да се окаже, че така полученото хардуерно закъснение е достатъчно.
    Хитро!
    Руски форум. Задаваш въпрос, после ти отговарят.
    Израелски форум. Задаваш въпрос, после на теб ти задават въпрос.
    Български форум. Задаваш въпрос, после дълго ти разказват колко си тъп.
    Явно кабелите са слушани години с тонкоректор на по-висока честота

  22. #272
    Гайкаджия ittso's Avatar
    Членува от
    Jul 2008
    Адрес
    София
    Мнения
    4,394
    Цитат Публикувано от veso74 Покажи мнения
    Насоки:

    1. Върни реакцията на енкодера по прекъсване...
    Сигналите от механичните енкодери са доста шумнички. Бих ползвал прекъсване сако ако сигналът е минал през хардуерен дебоунс и е "чист" или идва от оптичен или магнитен енкодер.
    Учените са открили, че 90% от хората са симулирали еволюцията.

  23. #273
    С библиотеката на Ben Buxton: Rotary encoder handler for Аrduino. v1.1 от такава обработка няма нужда.
    (Нищо лошо не се случва, енкодерът просто работи).

    Rotary encoders, done properly:
    http://www.buxtronix.net/2011/10/rot...-properly.html
    https://github.com/buxtronix/arduino...braries/Rotary
    https://github.com/buxtronix/arduino...ary/Rotary.cpp

    Обработват се изключително добре възможните комбинации, като дори при повреден енкодер не греши (2 зъба от 20 бяха "размазани" от експлоатация. При тях просто нямаше реакция). Със същото управление към Arduino съм пробвал да закача и оптични енкодери: 1200, 400, 360 ст.

    Експериментът ми с модули на STM32F103C8T6 и STM32F103CBT6 (Arduino_STM32) с механичен и оптичен енкодер също е успешен.
    Библиотеката за управление ми е любима, работи безупречно .
    Редактирано от veso74; 31 May 2019 в 11:19.

  24. #274
    Гайкаджия ittso's Avatar
    Членува от
    Jul 2008
    Адрес
    София
    Мнения
    4,394
    Да, ако микроконтролера прави само това - да обслужва прекъсвания генерирани от шумовете на енкодера...
    Учените са открили, че 90% от хората са симулирали еволюцията.

  25. #275
    В случая: да, но това което написах по-горе е в много пo-сложна ситуация: S-метър през АЦП, вкл. и "прост" сигнал-процесинг (Goertzel).

Страница 11 от 14 ПърваПърва ... 7 8 9 10 11 12 13 14 ПоследнаПоследна

Права за публикуване

  • Вие не можете да започвате нова тема
  • Вие не можете да отговаряте в тема
  • Вие не можете да прикачвате към мненията си
  • Вие не можете да редактирате мненията си
  •  
  • BB кодове са Включени
  • Smilies са Включени
  • [IMG] кодове са Включени
  • [VIDEO] code is Включени
  • HTML кодове са Изключени