Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

serpa писал(а):мозг потренировать

Было б чем тренировать. Тривиальная задача — обработка данных АЦП и их модификация для вывода экран/дисплей.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
serpa
Открыл глаза
Сообщения: 51
Зарегистрирован: Чт апр 14, 2011 15:42:10
Откуда: РФ Йошкар-Ола
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение serpa »

Для меня это мегазадача. Только что-то никто за тривиальную задачу не хочет браться :))
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Avarges »

Мотивируйте людей пивом или 100 рублями на мобильный телефон. Прошивку такую писать почаса-час максимум. Контроллер из указанных подойдёт атмега162 точно, а вот в at89 как помню и ацп то нет (напряжение не померить). (PS. я писать прошу не буду).

...Кащунство 162ую атмегу под такую элементарную задачу использовать. По сути дела и без МК наверняка можно собрать. Какой-нибудь ацп напряжение во время и счётчик потом, дешифратор и дисплей.
Soir
Друг Кота
Сообщения: 3956
Зарегистрирован: Ср окт 14, 2009 10:37:49
Откуда: Украина

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Soir »

serpa писал(а):Для меня это мегазадача. Только что-то никто за тривиальную задачу не хочет браться :))

Ну выплакал уже (чтобы не сказать достал).
Разрешающая способность АЦП PIC16F73 всего лишь 8 бит - не самый лучший МК для вольтметра. Использовать атмега162 действительно кощунство, а городить "Какой-нибудь ацп напряжение во время и счётчик потом, дешифратор и дисплей" - мазохизм.
Итак, вольтметр на PIC16F73. Диапазон измерений от 0 до 99,9V, как просили. Если напряжение превышает 99,9V во всех разрядах точки. Про индикатор никаких упоминаний не было, поэтому 3-х разрядный, семисегментный, светодиодный с общим анодом. Выбрал такой, чтобы вписаться в отведенные полчаса. Измерения проводятся каждые ~60 мсек, после 4-х измерений усредняются.
Схема и прошивка во вложении. Схема в Proteus, собственно проект в Proteus рабочий. Единственное, это другой МК, в Proteus нет PIC16F73. Но прошивка писалась именно под PIC16F73.
Если в железе не пойдет - тогда для "тренировки мозгов" сравните даташиты PIC16F73 и PIC16C73B, найдите 10 отличий и я тогда исправлю прошивку. По-другому я проверить не могу.
Вложения
Voltmetr_16F73.zip
(15.61 КБ) 339 скачиваний
serpa
Открыл глаза
Сообщения: 51
Зарегистрирован: Чт апр 14, 2011 15:42:10
Откуда: РФ Йошкар-Ола
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение serpa »

Огромнейшее Вам - Мяу! т.е. СПАСИБО!
Вот. Ну неужели у нас такие люди корыстные, откуда я родом.
А с Украины второй человек просто так помогает. (Еще один с Белоруссии такой же отзывчивый на другом форуме)
А проектик до меня уже кто-то 2 раза скачал )))
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Леонид Иванович »

serpa писал(а):Необходим вольтметр на БП до 99.9 есть в наличие PIC16F73 AT89C2051 ATmega162. Кто-нибудь собирал на данных МК?


На КР572ПВ2 получится значительно точнее.
serpa
Открыл глаза
Сообщения: 51
Зарегистрирован: Чт апр 14, 2011 15:42:10
Откуда: РФ Йошкар-Ола
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение serpa »

Ничегонеработает писал(а):
serpa писал(а):Необходим вольтметр на БП до 99.9 есть в наличие PIC16F73 AT89C2051 ATmega162. Кто-нибудь собирал на данных МК?


На КР572ПВ2 получится значительно точнее.

на ПВ-ках собирал в свое время. Неудобно - разводка (статическая индикация), жесткая привязка иникаторов к выводам микрухи, обвязка, опорное напряжение, да еще двухполярное питание (с жк не рассматриваю)
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Леонид Иванович »

А на AT89C2051 когда-то тоже собирал вольтметр, АЦП делал на встроенном компараторе и внешней емкости, которая заряжалась генератором тока. Там описан принцип и есть исходник на asm:
http://www.telesys-ru.1gb.ru/electronic ... hp?do=p037
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Gudd-Head »

Если хочется большой точности и некритично быстродействие (например, измерять постоянное напряжение на выходе БП), можно собрать внешний дельта-сигма АЦП: http://radiokot.ru/articles/32/ :))) :oops:
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
ploop
Модератор
Сообщения: 13490
Зарегистрирован: Ср ноя 26, 2008 16:34:25
Откуда: Тамбовская обл.

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение ploop »

Ничегонеработает писал(а):А на AT89C2051 когда-то тоже собирал вольтметр, АЦП делал на встроенном компараторе и внешней емкости, которая заряжалась генератором тока. Там описан принцип и есть исходник на asm:
http://www.telesys-ru.1gb.ru/electronic ... hp?do=p037

Я на тиньке нечто подобное делал, довольно неплохо работает. Это был чисто эксперимент, практической ценности не представляет.
Аватара пользователя
Avarges
Вымогатель припоя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Avarges »

serpa писал(а):Вот. Ну неужели у нас такие люди корыстные, откуда я родом.

Люди везде одинаковые. А вот в зеркале люди жмотливые - сходите посмотрите.

Ничегонеработает писал(а):На КР572ПВ2

Хороший вариант для тех, кто не хочет связываться с прошивкой.

Soir писал(а):а городить "Какой-нибудь ацп напряжение во время и счётчик потом, дешифратор и дисплей" - мазохизм.

И то правда, много корпусов получится.
Oberon64
Мучитель микросхем
Сообщения: 449
Зарегистрирован: Ср фев 03, 2010 15:39:36

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Oberon64 »

По поводу разного рода измерительных приборв - есть очень понравившаяся мне схемка. Опубликована она в журнале Домашняя лаборатория DL_06_2011 стр 270. Сейчас пока немного другими делами занят, но всеравно в планах повторить эту конструкцию.
Verba volant
serpa
Открыл глаза
Сообщения: 51
Зарегистрирован: Чт апр 14, 2011 15:42:10
Откуда: РФ Йошкар-Ола
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение serpa »

Avarges писал(а): А вот в зеркале люди жмотливые - сходите посмотрите.


В чем моя жмотливость, что не положил сотню на мобилу или пиво не проставил. :(
Когда ко мне обращаются - стараюсь помочь, а если есть что не нужное, даю тому кто заинтересован.
Аватара пользователя
slavokhire5
Прорезались зубы
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение slavokhire5 »

есть такая задача... нужно подсчитать количество импульсов извне на attiny24a. для этого, я так понимаю, нужно использовать 16 разрядный таймер1 (количество импульсов будет более 256), сигнал подавать на ножку T1 (PB2) и выставить тактирование таймера от внешнего источника. при достижении таймером значения N-прерывание по сравнению. но счетчик по такому алгоритму считать отказывается. симулировать пробовал в протеусе и аврстудио. естественно, косяк в инициализации. помогите найти новичку)

Код: Выделить всё

   
             
   DDRB = 0xFB;      // порт 2 работает как вход
   PORTB = 0x04;      // B2 - высокий уровень
   GIMSK = 0x40;      // разрешение прерывания от INT0
   MCUCR = 0x02;      // прерывание реагирует на задний фронт
   TIMSK1 = 0x02;      // Output Compare A Match Interrupt Enable
   TCCR1B = 0x06;      // таймер считает импульсы от Т1 при переходе в нижний уровень
   OCR1AH = 0x00;      // забиваем значение на сравнение
   OCR1AL = 0x03;      // выставил 3, чтобы при отладке меньше клацать:)
sei ();
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение БАТАРЕЙКУС »

добрый день мужики
дело такое нужно измерять ток. проблема вот в чём, хотел сигнал усиливать lm358 и оцифровывать pic16f690, но вот беда как я понял в нём нельзя выбрать источник верхнего и нижнего напряжения, как в pic16f876A, а только источник верхнего напряжения. что очень досадно.

подтвердите прав я в вышеописанном или нет.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
serpa
Открыл глаза
Сообщения: 51
Зарегистрирован: Чт апр 14, 2011 15:42:10
Откуда: РФ Йошкар-Ола
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение serpa »

Avarges писал(а): А вот в зеркале люди жмотливые - сходите посмотрите.


Хотя наверное близко к сердцу принял.
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение Леонид Иванович »

slavokhire5 писал(а):косяк в инициализации. помогите найти новичку)


Вроде, всё правильно. Нужно смотреть всю программу.

P.S. Ну разве сложно инициализацию писать по-человечески?

Вместо

Код: Выделить всё

   
   TCCR1B = 0x06;      // таймер считает импульсы от Т1 при переходе в нижний уровень

Код: Выделить всё

   
   TCCR1B = (1 << CS12) | (1 << CS11);      // таймер считает импульсы от Т1 при переходе в нижний уровень

Тогда бы всё понятно было.
Аватара пользователя
slavokhire5
Прорезались зубы
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение slavokhire5 »

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

в архивчике лежит файл для протеуса, файл в С под винавр, мейкфайл и файлик для прошивки еепром
да, еще внешние прерывания происходят сразу после sei(), хотя флаг вроде бы не стоит. чертовщина)

описание проги, а то в коде нет:)
tiny24a, дисплей LM44780. одометр (измеритель пройденого на машине расстояния). на дисплей в верхней строке выводится общий пробег, в нижней - пробег за "сеанс". суть работы: с датчика поступают импульсы, на входе T1 они считаются. при достижении таймером значения N происходит прерывание по сравнению (мы проехали 100м). есть функция ручного сброса пройденого расстояния за "сеанс" по INT0
Вложения
odometr_new.rar
(21.63 КБ) 133 скачивания
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение pyzhman »

Код: Выделить всё

ISR(TIM1_COMPA_vect)
{
   /*увеличение числа сотен метров. прерывание при достижении счетчиком значения max == 425*/
   TCNT1L = 0;
   TCNT1H = 0;

При записи 16-ти разрядных регистров первым должен записываться старший регистр. Вообще говоря, проще писать

Код: Выделить всё

TCNT1= 0;
Docendo discimus
Аватара пользователя
slavokhire5
Прорезались зубы
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

Re: Мелкие вопросы по МК и ПЛИС.

Сообщение slavokhire5 »

pyzh_man, а не может сложиться такой ситуации, что пока мы сбросили старший регистр, младший досчитал до максимума и записал единичку в старший, уже сброшенный? я из этих соображений написал так
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
Ответить

Вернуться в «Разные вопросы по МК»