Было б чем тренировать. Тривиальная задача — обработка данных АЦП и их модификация для вывода экран/дисплей.serpa писал(а):мозг потренировать
Мелкие вопросы по МК и ПЛИС.
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- Реклама
-
serpa
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Чт апр 14, 2011 15:42:10
- Откуда: РФ Йошкар-Ола
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Для меня это мегазадача. Только что-то никто за тривиальную задачу не хочет браться 
- Avarges
- Вымогатель припоя
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Мотивируйте людей пивом или 100 рублями на мобильный телефон. Прошивку такую писать почаса-час максимум. Контроллер из указанных подойдёт атмега162 точно, а вот в at89 как помню и ацп то нет (напряжение не померить). (PS. я писать прошу не буду).
...Кащунство 162ую атмегу под такую элементарную задачу использовать. По сути дела и без МК наверняка можно собрать. Какой-нибудь ацп напряжение во время и счётчик потом, дешифратор и дисплей.
...Кащунство 162ую атмегу под такую элементарную задачу использовать. По сути дела и без МК наверняка можно собрать. Какой-нибудь ацп напряжение во время и счётчик потом, дешифратор и дисплей.
Re: Мелкие вопросы по МК и ПЛИС.
Ну выплакал уже (чтобы не сказать достал).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: Мелкие вопросы по МК и ПЛИС.
Огромнейшее Вам - Мяу! т.е. СПАСИБО!
Вот. Ну неужели у нас такие люди корыстные, откуда я родом.
А с Украины второй человек просто так помогает. (Еще один с Белоруссии такой же отзывчивый на другом форуме)
А проектик до меня уже кто-то 2 раза скачал )))
Вот. Ну неужели у нас такие люди корыстные, откуда я родом.
А с Украины второй человек просто так помогает. (Еще один с Белоруссии такой же отзывчивый на другом форуме)
А проектик до меня уже кто-то 2 раза скачал )))
- Реклама
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
На КР572ПВ2 получится значительно точнее.serpa писал(а):Необходим вольтметр на БП до 99.9 есть в наличие PIC16F73 AT89C2051 ATmega162. Кто-нибудь собирал на данных МК?
-
serpa
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Чт апр 14, 2011 15:42:10
- Откуда: РФ Йошкар-Ола
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
на ПВ-ках собирал в свое время. Неудобно - разводка (статическая индикация), жесткая привязка иникаторов к выводам микрухи, обвязка, опорное напряжение, да еще двухполярное питание (с жк не рассматриваю)Ничегонеработает писал(а):На КР572ПВ2 получится значительно точнее.serpa писал(а):Необходим вольтметр на БП до 99.9 есть в наличие PIC16F73 AT89C2051 ATmega162. Кто-нибудь собирал на данных МК?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
А на AT89C2051 когда-то тоже собирал вольтметр, АЦП делал на встроенном компараторе и внешней емкости, которая заряжалась генератором тока. Там описан принцип и есть исходник на asm:
http://www.telesys-ru.1gb.ru/electronic ... hp?do=p037
http://www.telesys-ru.1gb.ru/electronic ... hp?do=p037
- Gudd-Head
- Друг Кота
- Сообщения: 20092
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: Мелкие вопросы по МК и ПЛИС.
Если хочется большой точности и некритично быстродействие (например, измерять постоянное напряжение на выходе БП), можно собрать внешний дельта-сигма АЦП: http://radiokot.ru/articles/32/

[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: Мелкие вопросы по МК и ПЛИС.
Я на тиньке нечто подобное делал, довольно неплохо работает. Это был чисто эксперимент, практической ценности не представляет.Ничегонеработает писал(а):А на AT89C2051 когда-то тоже собирал вольтметр, АЦП делал на встроенном компараторе и внешней емкости, которая заряжалась генератором тока. Там описан принцип и есть исходник на asm:
http://www.telesys-ru.1gb.ru/electronic ... hp?do=p037
- Avarges
- Вымогатель припоя
- Сообщения: 512
- Зарегистрирован: Вт дек 22, 2009 02:24:50
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Люди везде одинаковые. А вот в зеркале люди жмотливые - сходите посмотрите.serpa писал(а): Вот. Ну неужели у нас такие люди корыстные, откуда я родом.
Хороший вариант для тех, кто не хочет связываться с прошивкой.Ничегонеработает писал(а): На КР572ПВ2
И то правда, много корпусов получится.Soir писал(а):а городить "Какой-нибудь ацп напряжение во время и счётчик потом, дешифратор и дисплей" - мазохизм.
Re: Мелкие вопросы по МК и ПЛИС.
По поводу разного рода измерительных приборв - есть очень понравившаяся мне схемка. Опубликована она в журнале Домашняя лаборатория DL_06_2011 стр 270. Сейчас пока немного другими делами занят, но всеравно в планах повторить эту конструкцию.
Verba volant
-
serpa
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Чт апр 14, 2011 15:42:10
- Откуда: РФ Йошкар-Ола
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
В чем моя жмотливость, что не положил сотню на мобилу или пиво не проставил.Avarges писал(а): А вот в зеркале люди жмотливые - сходите посмотрите.
Когда ко мне обращаются - стараюсь помочь, а если есть что не нужное, даю тому кто заинтересован.
- slavokhire5
- Прорезались зубы
- Сообщения: 202
- Зарегистрирован: Пн сен 26, 2011 13:48:25
- Откуда: Харьков
Re: Мелкие вопросы по МК и ПЛИС.
есть такая задача... нужно подсчитать количество импульсов извне на 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, а только источник верхнего напряжения. что очень досадно.
подтвердите прав я в вышеописанном или нет.
дело такое нужно измерять ток. проблема вот в чём, хотел сигнал усиливать lm358 и оцифровывать pic16f690, но вот беда как я понял в нём нельзя выбрать источник верхнего и нижнего напряжения, как в pic16f876A, а только источник верхнего напряжения. что очень досадно.
подтвердите прав я в вышеописанном или нет.
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
-
serpa
- Открыл глаза
- Сообщения: 51
- Зарегистрирован: Чт апр 14, 2011 15:42:10
- Откуда: РФ Йошкар-Ола
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Хотя наверное близко к сердцу принял.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: Мелкие вопросы по МК и ПЛИС.
ну... там много всяких буковок. но если увидишь какую несуразицу, буду оч благодарен
в архивчике лежит файл для протеуса, файл в С под винавр, мейкфайл и файлик для прошивки еепром
да, еще внешние прерывания происходят сразу после sei(), хотя флаг вроде бы не стоит. чертовщина)
описание проги, а то в коде нет:)
tiny24a, дисплей LM44780. одометр (измеритель пройденого на машине расстояния). на дисплей в верхней строке выводится общий пробег, в нижней - пробег за "сеанс". суть работы: с датчика поступают импульсы, на входе T1 они считаются. при достижении таймером значения N происходит прерывание по сравнению (мы проехали 100м). есть функция ручного сброса пройденого расстояния за "сеанс" по INT0
в архивчике лежит файл для протеуса, файл в С под винавр, мейкфайл и файлик для прошивки еепром
да, еще внешние прерывания происходят сразу после sei(), хотя флаг вроде бы не стоит. чертовщина)
описание проги, а то в коде нет:)
tiny24a, дисплей LM44780. одометр (измеритель пройденого на машине расстояния). на дисплей в верхней строке выводится общий пробег, в нижней - пробег за "сеанс". суть работы: с датчика поступают импульсы, на входе T1 они считаются. при достижении таймером значения N происходит прерывание по сравнению (мы проехали 100м). есть функция ручного сброса пройденого расстояния за "сеанс" по INT0
- Вложения
-
- odometr_new.rar
- (21.63 КБ) 134 скачивания
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду
- pyzhman
- Друг Кота
- Сообщения: 7016
- Зарегистрирован: Вс июл 12, 2009 19:15:29
- Откуда: Ижевск
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Код: Выделить всё
ISR(TIM1_COMPA_vect)
{
/*увеличение числа сотен метров. прерывание при достижении счетчиком значения max == 425*/
TCNT1L = 0;
TCNT1H = 0;
Код: Выделить всё
TCNT1= 0;Docendo discimus
- slavokhire5
- Прорезались зубы
- Сообщения: 202
- Зарегистрирован: Пн сен 26, 2011 13:48:25
- Откуда: Харьков
Re: Мелкие вопросы по МК и ПЛИС.
pyzh_man, а не может сложиться такой ситуации, что пока мы сбросили старший регистр, младший досчитал до максимума и записал единичку в старший, уже сброшенный? я из этих соображений написал так
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду


