Форумы Modlabs.net: Реобас с цифровой индикацией. Как ??? - Форумы Modlabs.net

Перейти к содержимому

  • (4 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Реобас с цифровой индикацией. Как ???

#1 Пользователь офлайн   An-droid 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 20 Январь 06

Отправлено 25 Январь 2006 - 18:24

Вот решил себе собрать реобас, но не простой а блатной - с цифровой индикацией (т.е. над каждой ручкой имеется светодиодный 7 сегментный индикатор. Если мы выкручиваем ручку реобаса на минимум - на индикаторе горит 0, на максимум - 9...).
За основу была взята статья с Modlabs.net - "Самодельный реобас с индикацией скорости вращения кулеров".
Там написано что можно спаять схему диодной матрицы и подключить к уже существующей, и тогда вместо светодиодов (а может и вместе с ними) будут загораться цифры 1,2,3,….,9. Тоже круто будет.
Я сегодня стартанул в радиомагазин и приобрел индикатор. Прозвонив его я окончательно запутался :) Как сделать так чтобы вместо светодиодов загорались циферки Изображение Изображение
0

#2 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 26 Январь 2006 - 05:40

An-droid сказал:

Вот решил себе собрать реобас, но не простой а блатной - с цифровой индикацией (т.е. над каждой ручкой имеется светодиодный 7 сегментный индикатор. Если мы выкручиваем ручку реобаса на минимум - на индикаторе горит 0, на максимум - 9...).
За основу была взята статья с Modlabs.net - "Самодельный реобас с индикацией скорости вращения кулеров".
Там написано что можно спаять схему диодной матрицы и подключить к уже существующей, и тогда вместо светодиодов (а может и вместе с ними) будут загораться цифры 1,2,3,….,9. Тоже круто будет.
Я сегодня стартанул в радиомагазин и приобрел индикатор. Прозвонив его я окончательно запутался :D Как сделать так чтобы вместо светодиодов загорались циферки Изображение Изображение

На заборе много чего пишут, нельзя же всему написанному верить :)
А если серьезно, то из той схемы сделать то, что ты хочешь можно, только проще ее сделать заново.
Прикинем как можно сделать?
1. Микросхему LM3914 нужно включить в режим индикации "точка"
2. Для перевода сигнала с выхода LM3914 в код 7-сегментного индикатора можно пойти тремя путями
- сделать схему перекодировки позиционного кода в код индикатора, т.е использовать микросхемы "шифратор позиционного кода -> в двоичный код" и "дешифратор двоичного кода в код 7 индикатора", если вторые попадаются довольно часто, то с шифраторами живьем не сталкивался,
- сделать "дешифратор позиционного кода в код 7 индикатора" на диодах, вроде бы самый простой вариант, но много недостатков - нужна куча диодов, можно в них не запутаться, и ГЛАВНОЕ - яркость свечения цифр будет зависеть от количества горящих сегментов, т.е. будет меняться
- взять какую-нибудь микросхему ПЗУ с объемом не меньше 8 кбайт и организацией 1К*8 и сделать все на ней; первое,что пришло на ум - это микросхемы 2716, 2732, 2764 и т.п. Потребуется только прошить в ПЗУ 10 чисел. САМЫЙ ПРОСТОЙ ВАРИАНТ из перечисленных.

Недостатки всех вариантов-либо громозкость схемы, либо достаточно
дорого - для 4-х каналов нужно 4 схемы. Цены смотри сам.

Есть еще вариант - сделать все на одном микроконтроллере (мое любимое предложение!), по цене он будет 50-80 рублей, в зависимости от выбора. Ну и программу, конечно, нужно написать.
А тут уже и другой вопрос - если есть мкроконтроллер, то и регулирование можно сделать на нем же, в том числе и переменными резисторами - если очень хочется. А дальше см. ветку "Реобас с кнопками" http://forum.modlabs.net/viewtopic.php?t=7...5b342b9d69027fa
0

#3 Пользователь офлайн   AntY 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 126
  • Регистрация: 02 Январь 05

Отправлено 26 Январь 2006 - 08:26

Ещё вариант - взять сдвоенный переменник, заднюю половину откусить, а на вал надеть самодельный галетник с диодным шифратором... галетник типа ползунка, скользящего по секторам круглой текстолитовой пластины... + 49 диодов =/
0

#4 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 26 Январь 2006 - 09:26

Ant[Y сказал:

]Ещё вариант - взять сдвоенный переменник, заднюю половину откусить, а на вал надеть самодельный галетник с диодным шифратором... галетник типа ползунка, скользящего по секторам круглой текстолитовой пластины... + 49 диодов =/

49 диодов на КАЖДЫЙ индикатор!
Хотя, при использовании переключателя, можно обойтись "всего" 23 диодами на каждый индикатор, если ГАСИТЬ сегменты, а не зажигать.
Все равно много...
Впрочем, чего гадаем? Неизвестно даже какие индикаторы An-droid прикупил - с общим анодом или катодом. Хоть бы тип указал.
0

#5 Пользователь офлайн   An-droid 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 20 Январь 06

Отправлено 26 Январь 2006 - 11:15

Я с общим анодом купил, но после всего что вы тут сказали мне что-то боязно стало такую вещицу делать :D, но очень хочется. Так как я не сильно шарю (не сильно, но все же шарю) в радиотехнике, я смогу сделать эту телегу только по готовой схеме, а где таковую взять :((
0

#6 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 26 Январь 2006 - 13:14

А ты какю схему хочешь? Самое простое - как предложил Ant[Y] сделать с самодельным переключателем, только сегменты гасить, тогда на 4 канала понадобится 23*4 диодов распаять.
Другой вариант - на ПЗУ и, возможно, еще буферные микросхемы - надо по току выходы ПЗУ смотреть. А ПЗУ можно подключить либо к LM3914, либо так же, к самодельному переключателю.
Ты к чему склоняешься?
А может вообще на микроконтроллере? Например на PIC12F675, PIC16F676, PIC16F72?
0

#7 Пользователь офлайн   An-droid 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 20 Январь 06

Отправлено 26 Январь 2006 - 14:50

Я тут прикинул как это будет выглядеть на диодах :D с ними гемора много :( и неодинаковая яркость сегментов смущает.

ATLab сказал:

Ты к чему склоняешься?

А мне собсно все-равно, но только не на микрухах, которые нужно программировать (это я сделать вряд ли смогу).
ATLab, а может ты схемку разработаешь? Заодно на сайте своем статейку повесишь :(
0

#8 Пользователь офлайн   AntY 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 126
  • Регистрация: 02 Январь 05

Отправлено 26 Январь 2006 - 15:39

An-droid, не, на самом деле там яркость одинаковая - на каждый сегмент по резюку + 7 резюков :D Да и не так старашно на диодах, если их вряд распаять на макетке - в своё время делал пульт на COM порт, там вроде 40 диодов было...
0

#9 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 26 Январь 2006 - 18:14

An-droid сказал:

Я тут прикинул как это будет выглядеть на диодах :D с ними гемора много :( и неодинаковая яркость сегментов смущает.

ATLab сказал:

Ты к чему склоняешься?

А мне собсно все-равно, но только не на микрухах, которые нужно программировать (это я сделать вряд ли смогу).
ATLab, а может ты схемку разработаешь? Заодно на сайте своем статейку повесишь :(

Если совсем ничего не программировать, и диоды лень паять, то остается
- приоритетный шифратор 74HC147 (К555ИВ3),
- после него инверторы 74HC04 (К555ЛН1) либо любые другие схемы с инверсией -74HC00 (К555ЛА3), 74HC02 (К555ЛЕ1)
- плюс дешифратор КР514ИД2 или что-нибудь в этом роде - любой дешифратор двоичного кода в код семи сегментного индикатора с ОБЩИМ АНОДОМ.
Это комплект на 1 индикатор - 3 микросхемы.

И еще реши, откуда будешь брать сигнал - с LM3914, либо с переключателя, как предложил Ant[Y].

Кстати, зря ты отказался от диодов - если использовать переключатель и диоды, никакого изменения яркости не будет. Ну да, громоздкая схема получится, зато диоды можно взять практически любые. В каких-нибудь очень старых калькуляторах или блоках их может быть тьма. А тебе их надо-то всего 92 :(
0

#10 Пользователь офлайн   An-droid 

  • Junior
  • Pip
  • Группа: Пользователи
  • Сообщений: 14
  • Регистрация: 20 Январь 06

Отправлено 26 Январь 2006 - 19:26

ATLab сказал:

И еще реши, откуда будешь брать сигнал - с LM3914, либо с переключателя, как предложил Ant[Y].

Хотелось бы с LM3914, а то с переключателем не прикольно и геморно.
Итак, я решил делать на диодах. В уме я представляю как это должно быть, но сейчас пытался нарисовать печатную плату с разводкой дорожек - не могу сделать так, чтоб дорожки не пересекались :e как-никак 49 диодов :) Целый час сидел думал - ничего не выходит Изображение Может подскажете как диоды лучше расположить и как разводку сделать, чтоб плата небольшого размера получиласьИзображение

А может в природе есть индикаторы со встроенными диодами, чтоб они работали как старые лампы на которых раньше часы делали - там подаешь напругу на ножку и загорается сразу цифра, подаешь на другую - другая цифра. Вот оно счастье :)
P.S. На чем мне лучше собрать реобас: на кренке или транзисторе??? Может кто посоветует хорошую схему реобаса
0

#11 Пользователь офлайн   AntY 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 126
  • Регистрация: 02 Январь 05

Отправлено 29 Январь 2006 - 05:44

Впринципе, сделать достаточно просто можно приложив руки - берём дешифратор бинарного кода в код 7 сегментного индикатора, как я уже говорил прилаживаем к переменнику переключатель, но более сложный - что б он биты перебирал... а дальше дело техники - 4 бита перебирать - 4 контакта скользящих.
А LM3914 - 50 рублей штука = 100 диодов :P
0

#12 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 29 Январь 2006 - 06:22

Ant[Y сказал:

]А LM3914 - 50 рублей штука = 100 диодов

Я давно уже говорю, что не использовать сейчас микроконтроллеры - это извращение.
К примеру: берем PIC16F676 с АЦП, и на нем делаем все - и измерение и индикацию. Стоимость - примерно 45 рублей.
Другой пример: для измерения и индикации 4-х каналов возьмем PIC 16F72 - стоимость примерно 65 рублей.
И никаких извращений с диодами, шифраторами, дешифраторами и самопальными переключателями, у которых постоянно будет пропадать контакт.
0

#13 Пользователь офлайн   AntY 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 126
  • Регистрация: 02 Январь 05

Отправлено 29 Январь 2006 - 09:21

ATLab, а я не против! Я даже за! Только програмировать неумею...
0

#14 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 29 Январь 2006 - 15:14

Ну не так там уж всё и просто, я 3 недели не мог напряжение с ацп перекинуть на 2 7ми сегментника, используя mega8... да так и не сделал, забил на свой супер-хитрый реобас...
0

#15 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 29 Январь 2006 - 15:36

DruKiller
На ассемблере писал? Если нет опыта, то лучше начинать на C, все же попроще. Но с устройством все рано нужно разбираться, тут никуда не денешься. А забил зря - нужно было отложить, такое часто бывает: бьешься, бьешся - ничего не выходит, а сделаешь перерыв и решение приходит как бы само. Этому есть умное объяснение, но я это испытал на своей шкуре не единожды. Так что, попробуй возобновить проект, возможно все решится...
0

#16 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 29 Январь 2006 - 15:45

ATLab
На C. С моими познаниями в дельфе и php ассемблер показался адом -)). Так сначала отложил, а потом работа закрутила, так что времени вернуться не было. Может на неделе и попробую, если на работу не вызовут...

Развёл и спаял на макетке пару 7ми значек, написал процедуру вывода на них данных. Любое двухзначное число выводится без проблем. А вот с ацп произошла бяка. Он должен был снимать показания температурного датчика на LM335, вроде бы даже правильно снимал, но при превышении непонятного уровня на индикаторы выводился мусор, с чем это связано я так и не понял, да и Pronix`а замучал по этому поводу напрочь -))
0

#17 Пользователь офлайн   ATLab 

  • Member
  • PipPipPip
  • Группа: Пользователи
  • Сообщений: 151
  • Регистрация: 30 Октябрь 05

Отправлено 29 Январь 2006 - 17:34

DruKiller
Мне сложно что-то посоветовать, не зная всей предистории. Возможно дело в выходе за 2 цифры. Надо было просто проверить: на АЦП подать с переменного резистора, выводить на 2 индикатора в HEX.
Если АЦП 10-битный, отбросить 2 младших разряда.
Я с AVR не знаком, работаю с PIC...
0

#18 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 29 Январь 2006 - 20:26

ATLab сказал:

Надо было просто проверить: на АЦП подать с переменного резистора

Именно так и делал, когда с датчким не получилось.

ATLab сказал:

выводить на 2 индикатора в HEX.

У меня вывод не в HEX,десятичной форме, от 00 до 99 был сделан.

фуф, с трудами нашёл исходники
вот вывод


int dig[11]={0xc0,0xf3,0x89,0xa1,0xb2,0xa4,0x84,0xf1,0x80,0xA0,0x00};

void out1(int n);

.......

void out1(int n)

{

 int h,l,kc;

 CLI();

 h=n/10;

 l=n%10;

PORTD=0x01;

PORTB=dig[l];

for (kc=0;kc<1000;kc++);



PORTD=0x02;

PORTB=dig[h];

for (kc=0;kc<1000;kc++);



SEI();

}


Вот так вот. Хоть, наверное, и не корректно, но функцию свою выполняла, выводила от 00 до 99 всё правильно.

обработка прерывания о выполнении преобразования

value=ADCL;			//Read 8 low bits first (important)

value|=(int)ADCH << 8; //read 2 high bits and shift into top byte

show=ceil(value*5*100/1023-273);


Потом происходило что-то вроде out1(show)

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

Цитата

Это я для ясности написал, если можно так сказать -))
Допустим на входе ацп 2.98В. Утрируя, примем что Vref=5В. Получить
должны после преобразования 2.98*1023/5=609.708, около 610, если в десятичных.
Чтобы получить обратно напряжение крутим в обратном направлении
610*5/1023=2.98, домножим на 100- получим в кельвинах, вычтем 273-в
цельсиях, НО. Если на 100 не умножать, в переменной оказывается 2.
Вроде всё правильно, т.к. переменная Value типа int дробные
отбрасываются. Умножаем на 10, получаем 30, как не странно... вычтем
27, получим десятки градусов, выводится 3- всё врено. Если умножаем на
100, получим 298, отнимаем 273 и получаем... что-то непонятное,
по-другому сказать не могу -))). Где косяк в моих рассуждениях ?

Датчик должен был выдавать 10мв на градус, тоесть при нуле по цельсию должно было быть 10*273=2.73в

вот такой вот был затык, который так и не поборолся -(
0

#19 Пользователь офлайн   Карлсон 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 999
  • Регистрация: 04 Апрель 04

Отправлено 30 Январь 2006 - 00:01

DruKiller
можно вопрос?
а зачем каждый раз запрещать прерывания, а потом их опять включать?
зачем?
0

#20 Пользователь офлайн   DruKiller 

  • Advanced Member
  • PipPipPipPipPipPipPip
  • Группа: Пользователи
  • Сообщений: 940
  • Регистрация: 04 Март 05

Отправлено 30 Январь 2006 - 00:04

Карлсон
В идеале-чтобы не сбивалась программа вывода. Делал по наитию, опыта ведь никакого...
0

Поделиться темой:


  • (4 Страниц)
  • +
  • 1
  • 2
  • 3
  • Последняя »
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

2 человек читают эту тему
0 members, 2 guests, 0 anonymous users