Например TDA7294

Форум РадиоКот • Просмотр темы - Дисковый номеронабиратель и семисегментник
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 01:33:00

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , 2,  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт окт 24, 2017 07:57:07 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 417
Рейтинг сообщения: 0
Собственно, я спрашивал не о нужности резисторов подтяжки "вообще", а об использовании или "недоверии" к внутренним резисторам подтяжки в AVR. :))

В электронике нет понятия "недоверия", есть понятие достаточности.
Встроенного резистора недостаточно в схеме с кнопкой, нп. в схеме, где кнопка подключена через триггер с открытым коллектором, встроенного резистора может быть достаточно.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт окт 24, 2017 11:10:58 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6866
Откуда: .ru
Рейтинг сообщения: 0
codenamehawk писал(а):
Если бы вы немного разбирались в электронике, такого бы не написали.

да вы оказывается шутник)) :)))
codenamehawk писал(а):
когда процу есть чем другим заняться, а не тупо запускать задержки

для этого обычно используют опрос кнопок с постоянной частотой (обычно через таймеры и прерывание). При этом МК не сильно напрягается)) и есть куча свободного времени чтобы заняться другим..))
BOB51 писал(а):
даташитах от STмикроэлектроникс для МК серий STC.

ТС крутит в протеусе ATmega8.

опять пишут ответ.. не читая вопроса)) как всегда.))
codenamehawk писал(а):
Встроенного резистора недостаточно...

Обоснуйте. В ATmega8 внутренний резистор ~40 кОм. Для простого дискового номеронабирателя я считаю этого более чем достаточно для нормальной работы.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 09:46:01 
Мучитель микросхем

Карма: 1
Рейтинг сообщений: 22
Зарегистрирован: Вт фев 09, 2010 17:52:26
Сообщений: 417
Рейтинг сообщения: 0
Покажите схему промышленного устройства на авр, где нет подтягивающих резисторов на кнопки.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 11:13:18 
Это не хвост, это антенна

Карма: 4
Рейтинг сообщений: 141
Зарегистрирован: Ср июн 25, 2008 15:19:44
Сообщений: 1384
Рейтинг сообщения: 0
roman.com писал(а):
...

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


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

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

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 14:24:04 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6866
Откуда: .ru
Рейтинг сообщения: 0
codenamehawk писал(а):
Покажите схему промышленного устройства на авр, где нет подтягивающих резисторов на кнопки.

офигенное обоснование)) :)))

Мы обсуждаем использование авр в промышленности ? )) http://automationdirect.ru/?utm_source= ... oduct_line

или мы делаем игрушку для ребёнка.. на двух батарейках...))
Hiperboloyd писал(а):
Делаю игрушку для ребенка "бизиборд". Телефонный дисковый номеронабиратель + Семисегментник, который выводит набранную цифру.

вы определитесь уже..)) :)))
Demiurg писал(а):
А если ткнуть в пин отверткой держа пальцами за металл, результат точно обеспечен.

а для большего эффекта.. второй рукой звяться за фазу из розетки ~220 В. )) :idea: :)))

ребёнок будет тыкать отверткой в розетку? )) ну тогда делайте с гальванической развязкой.. типа "сухой контакт" https://ru.wikipedia.org/wiki/Сухой_контакт


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 14:42:31 
Друг Кота
Аватар пользователя

Карма: 123
Рейтинг сообщений: 7955
Зарегистрирован: Сб сен 13, 2014 16:27:32
Сообщений: 39199
Откуда: СпиртоГонск созвездия Омега
Рейтинг сообщения: 0
да господа вас понесло и пронесло мимо...зачем ваще там мк не знаю хватилоп и 176ие4 и светодиодника чуткого..и рары элементоф логики
да и если мк юзать придется дребезг давть и не толко поттяжками
кстати контакты НН не идеалны им еужен хороший ток чтоб не окислялись и само зачищались

_________________
ZМудрость(Опыт и выдержка) приходит с годами.
Все Ваши беды и проблемы, от недостатка знаний.
Умный и у дурака научится, а дураку и ..
Алберт Ейнштейн не поможет и ВВП не спасет.и МЧС опаздает


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср окт 25, 2017 16:05:54 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6866
Откуда: .ru
Рейтинг сообщения: 0
musor писал(а):
НН не идеалны им еужен хороший ток чтоб не окислялись

для этого есть спирт))
musor писал(а):
если мк юзать придется дребезг давть

Это проблема?))
musor писал(а):
хватилоп и 176ие4

устарела)) всё что надо - купить на ближайшем рынке любой МК за 100 рублей + Семисегментник за 100 рублей + две батарейки))
уже давно бы всё собрали.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Чт окт 26, 2017 14:37:39 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Пт авг 08, 2008 23:41:37
Сообщений: 39
Откуда: Penza
Рейтинг сообщения: 0
Ну и чем дело кончилось?
8)

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

Спасибо, так и сделал, ну в смысле общий вывод семисегментника подключил к МК, а не к шине. и все стало как надо)
А вот индикатор есть смысл взять другой, с общим анодом.
У AVR "нагрузочная способность" низкого уровня гораздо выше - посмотри схему в даташите, стр. 50 "Ports as General Digital I/O".
Более часто принято "зажигать" светодиоды, устанавливая логический "0" на выходе.

этим советом также воспользовался))) :beer:

Дайте пожалуйста наводку, еще по одному вопросу. Необходимо,чтоб семисегментник гас, допустим через 1-2 минуты, т.к. планируется работа от АКБ.
Вот берем мы значит 16-ти битный таймер.
1. Разрешаем прерывание по переполеннию.
2. устанавливаем делитель 1024.
Частота МК 8МГц. макс число таймера = 65535. При таком раскладе получается: 65535 * 1024 / 8000000 = 8 секунд необходимо для переполнения таймера. Нам надо около минуты. значит в 10 раз больше надо ( 80 сек)
3. в цикле прерывания какой-то переменной Х прибавляем 1, до тех пор пока не выполнится условие Х=10. и тогда гасим семисегментник. обнуляем Х

я так понимаю, семисегментник будет гаснуть, каждые 80 сек. а не через 80 секунд после отображения цифры на индикаторе...
Подскажите что почитать, я хз как в гугле свой вопрос сформулировать. А может какой-то другой путь решения есть.
Заранее спасибо.!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Чт окт 26, 2017 15:11:56 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Вторичный счетчик разрешен только при наличии флажка (или ненулевом значении) кода сегментов отображаемого символа.
Если данные есть - считаем тики паузы, по исчерпании сброс кода сегментов и перезагрузка счетчика тиков.
Ессно на время отсчета входной сигнал номеронабирателя запрещен (или обработка в фоновом режиме - то для уже разбираюшася начинающего).
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Пт окт 27, 2017 17:21:38 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Пт авг 08, 2008 23:41:37
Сообщений: 39
Откуда: Penza
Рейтинг сообщения: 0
Вторичный счетчик разрешен только при наличии флажка (или ненулевом значении) кода сегментов отображаемого символа.
Если данные есть - считаем тики паузы, по исчерпании сброс кода сегментов и перезагрузка счетчика тиков.
Ессно на время отсчета входной сигнал номеронабирателя запрещен

Если Вы имеете ввиду _delay_ms(), то это не подойдёт.

Хочу быть разбирающимся начинающим, где копать?))))

Добавлено after 2 minutes 17 seconds:
Как то наверно можно запускать и останавливать счётчик в нужное время)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Сб окт 28, 2017 17:10:48 
Друг Кота
Аватар пользователя

Карма: 93
Рейтинг сообщений: 1351
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 14053
Откуда: ДОНЕЦК
Рейтинг сообщения: 1
Такие игрушки я предпочитаю под ассемблером делать.
8)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вс окт 29, 2017 14:08:21 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 2
я так понимаю, семисегментник будет гаснуть, каждые 80 сек. а не через 80 секунд после отображения цифры на индикаторе...
Если я правильно понял, то тебе нужно перезапускать таймер "погашения" после вывода очередной цифры.
Т.е. примерно так: изменилось значение цифры - обнулил переменную Ыкс. Всё, подсчет времени погащения начался сначала.

Я бы посоветовал сделать чуть-чуть иначе. Делитель таймера на /64 - частота вызова прерывания "переполнение" будет 0,524288 Гц. Т.е. примерно два раза в секунду.
Заводишь переменную "погашение": если она не равна нулю - уменьшить. Если стала равна нулю - погасить индикатор (в прерывании погасить или выставить флаг для основной ветки).
Как только выводишь что-то на индикатор - в переменную заносишь таймаут "погашения" (число секунд * 2).

Почему /64, а не /1024 - так "шаг таймера" более мелкий, при желании можно "по чуть-чуть" регулировать время. :)
Таймер можно и не останавливать - пусть тикает. Потом, может быть, захочешь ещё что-то мигать новое.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вс окт 29, 2017 23:09:49 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Пт авг 08, 2008 23:41:37
Сообщений: 39
Откуда: Penza
Рейтинг сообщения: 0
я так понимаю, семисегментник будет гаснуть, каждые 80 сек. а не через 80 секунд после отображения цифры на индикаторе...
Если я правильно понял, то тебе нужно перезапускать таймер "погашения" после вывода очередной цифры.
Т.е. примерно так: изменилось значение цифры - обнулил переменную Ыкс. Всё, подсчет времени погащения начался сначала.

Я бы посоветовал сделать чуть-чуть иначе. Делитель таймера на /64 - частота вызова прерывания "переполнение" будет 0,524288 Гц. Т.е. примерно два раза в секунду.
Заводишь переменную "погашение": если она не равна нулю - уменьшить. Если стала равна нулю - погасить индикатор (в прерывании погасить или выставить флаг для основной ветки).
Как только выводишь что-то на индикатор - в переменную заносишь таймаут "погашения" (число секунд * 2).

Почему /64, а не /1024 - так "шаг таймера" более мелкий, при желании можно "по чуть-чуть" регулировать время. :)
Таймер можно и не останавливать - пусть тикает. Потом, может быть, захочешь ещё что-то мигать новое.


Спасибо огромное! Только что додумался, что таймер не нужно останавливать, хотел уточнить алгоритм, а Вы все уже тут разжевали))) завтра буду разбираться)) +100500 к карме Вам))))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт окт 31, 2017 20:39:29 
Друг Кота

Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 6866
Откуда: .ru
Рейтинг сообщения: 0
таймер можно и не останавливать... Например сделать к в промышленном контроллере (ПЛК). Там опрос дискретных входов идёт с высокой частотой (десятки.. сотни килогерц). МК определяет моменты нажатия/отпускания кнопки.. считает количество нажатий, убирает дребезг контактов и выводит циферки на экранчик)) В детской игрушке МК всё равно заняться больше нечем))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 15:39:45 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Пт авг 08, 2008 23:41:37
Сообщений: 39
Откуда: Penza
Рейтинг сообщения: 0
Ребят, подскажите пожалуйста, собрал в железе, но таймер на выключение отказывается работать. в Протеусе работает .В чем может быть проблема?
кусок кода:
Спойлер#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 1000000UL
#include <util/delay.h>

unsigned char off=0; //для выключения всего

ISR( TIMER1_OVF_vect )
{
_delay_ms(50);
off++;
if (off==2)
{
PORTD &= ~(1<<6); //Выключить розетку (Вентилятор)
}
if (off==3)
{
PORTA |= 1<<7; //погасить семисегментник
PORTB = 0b11111111; //погасить светофор
}
}

int main(void)
{
DDRA = 0b11111111; // порты на выход
PORTA = 0b11111111; // подтягиваем к 1
DDRB = 0b11111010;
PORTB = 0b11111111; //подтягивем к 1

TIMSK |=(1<<TOIE1); //таймер по переполнению
TCCR1B |=(1<<ICNC1)|(1<<CS11)|(1<<CS10); //делитель 64
sei(); //разрешить общее прерывание
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 16:52:08 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
попробуй бесконечный цикл в майне добавить (после sei), может, конечно, и без него научились делать, но всёже...
чета настраивается порт B а переключается порт D ?
хотя, может это просто кусок такой... если не видишь причину глюка - попробуй принудительно исполнить требуемую часть кода, тогда станет видно, она не работает или не вызывается, в общем: "разделяй и властвуй!"

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 20:31:15 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Пт авг 08, 2008 23:41:37
Сообщений: 39
Откуда: Penza
Рейтинг сообщения: 0
Ivanoff-iv писал(а):
попробуй бесконечный цикл в майне добавить (после sei), может, конечно, и без него научились делать, но всёже...
чета настраивается порт B а переключается порт D ?

Да, кусок такой, там в прерывании несколько условий. Ввсю прогу не стал кидать, там длиннющий элементарный код по опросу кнопочек. Само прерывание постарался скинуть, может ошибка какая-нибудь была допущена..
Ivanoff-iv писал(а):
если не видишь причину глюка - попробуй принудительно исполнить требуемую часть кода, тогда станет видно, она не работает или не вызывается, в общем: "разделяй и властвуй!"

Хорошо, попробую. Просто меня очень смущает тот факт что в PROTEUSе всё четко работает...На 100% утверждать не могу, но мне кажется и в железе в самом начале отладки тоже все работало, а потом что-то случилось)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 22:23:22 
Друг Кота
Аватар пользователя

Карма: 46
Рейтинг сообщений: 2030
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Сообщений: 6618
Откуда: Сердце Пармы
Рейтинг сообщения: 0
Медали: 1
Получил миской по аватаре (1)
значит есть различия между железом и протеусом, и я так думаю не в пользу железа :( (в смысле непропай или чегото сгорело)

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


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Вт ноя 14, 2017 23:20:58 
Потрогал лапой паяльник

Карма: 5
Рейтинг сообщений: 81
Зарегистрирован: Вс июл 29, 2012 16:25:39
Сообщений: 312
Рейтинг сообщения: 0
таймер на выключение отказывается работать....
unsigned char off=0; //для выключения всего

ISR( TIMER1_OVF_vect )
{
_delay_ms(50);
off++;
....
Задержка внутри прерывания? Зачем?! :shock:
В прерывании переменная "off" постоянно увеличивается, без какого либо контроля - так и будет ходить по кругу 0...128...255...0... Это так и запланировано?
А запись значения в переменную есть где-нить?
Есть смысл попробовать эту переменную сделать volatile.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Дисковый номеронабиратель и семисегментник
СообщениеДобавлено: Ср ноя 15, 2017 09:10:30 
Первый раз сказал Мяу!

Карма: 3
Рейтинг сообщений: 7
Зарегистрирован: Пт авг 08, 2008 23:41:37
Сообщений: 39
Откуда: Penza
Рейтинг сообщения: 0
mas123 писал(а):
Задержка внутри прерывания? Зачем?!
В прерывании переменная "off" постоянно увеличивается, без какого либо контроля - так и будет ходить по кругу 0...128...255...0... Это так и запланировано?
А запись значения в переменную есть где-нить?
Есть смысл попробовать эту переменную сделать volatile.

1. задержку убрал.
2. переменная off обнуляется в тексте программы при каждом нажатии на любую кнопку.

вопсрос снят! я -лошара) в тексте программы опять перепутал знак "=" и "=="

Спасибо Вам огромное!!!


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 56 ]    , 2,  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y