Гость mikky Опубликовано 27 Апреля, 2010 в 11:31 Жалоба Поделиться Опубликовано 27 Апреля, 2010 в 11:31 Хм..Раньше было не так, был общий лимит и чистить надо было периодически..Есть этот же вариант на обычной рассыпухе. А чем SMD то всех так пугает? И проще и компактнее.. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость еще один max Опубликовано 27 Апреля, 2010 в 11:35 Жалоба Поделиться Опубликовано 27 Апреля, 2010 в 11:35 Есть этот же вариант на обычной рассыпухе. А чем SMD то всех так пугает? И проще и компактнее.. Глазки и ручки уже не те :angry: Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость еще один max Опубликовано 28 Апреля, 2010 в 06:46 Жалоба Поделиться Опубликовано 28 Апреля, 2010 в 06:46 Up! Народ, вы где? Вова, Миша! Кто-то плату обещал... Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость mikky Опубликовано 28 Апреля, 2010 в 10:23 Жалоба Поделиться Опубликовано 28 Апреля, 2010 в 10:23 (изменено) :smile: :smile: :smile: Вова ДР там отмечает :smile: Я тоже плату жду, так что не ты один...Ему там вроде разводить заново её надо, просил потерпеть. Изменено 28 Апреля, 2010 в 10:31 пользователем mikky Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость еще один max Опубликовано 28 Апреля, 2010 в 10:42 Жалоба Поделиться Опубликовано 28 Апреля, 2010 в 10:42 У Вовы ДР?! Тогда поздравляю, Володя! Пусть твои возможности совпадают с твоими желаниями, а желания будут безграничны! :smile: Тогда ждем-с :smile: Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость mikky Опубликовано 28 Апреля, 2010 в 11:34 Жалоба Поделиться Опубликовано 28 Апреля, 2010 в 11:34 С поздравами сюда _https://forum.datagor.ru/index.php?showtopic=4911&pid=59419&st=20entry59419 Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость еще один max Опубликовано 30 Апреля, 2010 в 07:41 Жалоба Поделиться Опубликовано 30 Апреля, 2010 в 07:41 (изменено) "Вася пришел... Я думал, что ты не придешь после вчерашнего" (С) Образцов, "Необыкновенный концерт" ДР это всегда испытание для тостуемого. Вова, заранее приношу извинения, я сегодня дома последний день, завтра дней на 5 поеду к друзьям в Джубгу. Поэтому до этого времени вряд ли что успею сделать. Отчитаюсь что успел сделать во время твоего отсутствия: Скачал Proteus, CodeVisionAVR, VMLAB. Установил на 2 машины - одна домашняя под ХР, на работе под VirtualBox (у меня Линукс на работе) тоже под ХР. Скачано все с rutracker.org. Встало на "ура". Начал читать статьи на нашем сайте по программированию контроллеров. Вова, не кидай камни - начал осваивать Си, ибо Ассемблер надо вспоминать, привязываться к архитектуре. А тут такая замануха - переменные, массивы, функции, библиотеки. Не удержался, короче... CodeVisionAVR - рулезная прога! Быстро и все понятно. Короче - пишу в ней на Си, компилирую и получаю файл *.hex - готовая прошивка для МК. Отступление. Всю жизнь мечтал изучить Си. Но только взяв какой-нить учебник через 3-4 листа понимал что я=лошара, и это все для избранных. Надо заметить, что также у меня начиналось с консольным сервером на Линуксе. А почитав статьи и просто скопировав некоторые простенькие программы, понял, что все вполне доступно. Си - рулез! Конечно на Ассемблере код короче и программа быстрее, но написание и отладка мне ближе на Си :smile: Запустил Протеус. Какая классная прога, просто песня! Даже если просто рисовать схемы - есть все элементы, прога русифицируется, эмулирует работу устройства, куча измерительных приборов. Залил прошивку в виртуальный МК, обвесил чем надо - и смотри, правильно написал или нет. Исправить ошибку - 3 минуты. Тем более CodeVisionAVR при компиляции все ошибки подсказывает. К делу. Решил начинать помаленьку с того, что понятно. Схема - МК, джойстик, два 7-ми сегментника и 4 светодиода. Потом объясню, зачем: Что делал - снял данные с АЦП, передал на 7-ми сегментник. Записал коды, занес в таблицу: В таблице напряжения не в милливольтах (так вначале было), а в вольтах*10, для сранимых значений в диаграмме. Для чего - варьируя резистор R4, добился равномерного распределения напряжений на входе ADC. Получилось 380 Ом, подобрал по ряду наиболее близкое - 390. Внес в схему. Добавил вольтметр, проверил - все совпадает. Далее - ввел массив с границами диапазонов распознавания. Написал проверочный блок (вложенный цикл if...else), вывожу данные на светодиоды для наглядности. Получилось! какая кнопка нажата - определяет. Да, забыл - все делается по таймеру, основное тело пока пустое: #include <mega8535.h> #include <delay.h> #define ADC_VREF_TYPE 0x20 // Read the 8 most significant bits // of the AD conversion result unsigned char read_adc(unsigned char adc_input) { ADMUX=adc_input | (ADC_VREF_TYPE & 0xff); // Delay needed for the stabilization of the ADC input voltage delay_us(10); // Start the AD conversion ADCSRA|=0x40; // Wait for the AD conversion to complete while ((ADCSRA & 0x10)==0); ADCSRA|=0x10; return ADCH; } // Declare your global variables here unsigned char p; unsigned char limit[4]={26,82,144,216}; // Timer 0 overflow interrupt service routine interrupt [TIM0_OVF] void timer0_ovf_isr(void) { // Place your code here p= read_adc(0); PORTB= p; if(p<limit[0]) PORTC=0b00000001; else { if(p<limit[1]) PORTC=0b00000010; else { if(p<limit[2]) PORTC=0b00000100; else{ if(p<limit[3]) PORTC=0b00001000; else PORTC=0b00010000; } } } } void main(void) { DDRA=0x00; PORTB=0x00; DDRB=0xFF; PORTC=0x00; DDRC=0xFF; PORTD=0x00; DDRD=0x00; TCCR0=0x05; TCNT0=0x00; OCR0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x01; ACSR=0x80; SFIOR=0x00; // ADC initialization // ADC Clock frequency: 500,000 kHz // ADC Voltage Reference: AREF pin ADMUX=ADC_VREF_TYPE & 0xff; ADCSRA=0x84; SFIOR&=0xEF; // Global enable interrupts #asm("sei") while (1) { // Place your code here }; } Удалил ненужные комменты из листинга для сокращения, а то простыня какая огромная. Обработка данных с датчика педали акселератора будет примерно такая же, только там 2 датчика. Думаю за время опроса изменения будут минимальные, тем более что я хочу сделать циклы везде на ADC - на джойстике защититься от случайных срабатываний, а на педали вычислить среднее значение за 3-4 промера. Пока не понимаю, как будет организован ЦАП. Посмотрел по ножкам: вроде вывода DAC нигде нет. Читаю сейчас про ШИМ, никогда не пользовал, но похоже придется именно так. А не хотелось бы, там внешние элементы - кондёры и резюки, какая нах тут точность... Альтернатива - внешний ЦАП на мс. Тоже хорошее решение. Ткните в нужном направлении, плиз! Вова, а если я на макетке все это соберу? Ну какая разница? Она у тебя практически макетная за исключением кварца, питания, кнопок и выхода на программатор. Хотя попробовать ЛУТ надо... Приеду числа 5-го примерно. Ребята, по ЦАП сегодня напишите мне что-нибудь! Буду на отдыхе в паузах между поездками и купанием думать. Хочу ноут с собой взять и туда все это поставить. Хотя вряд ли, жена ругаться будет... Изменено 30 Апреля, 2010 в 07:45 пользователем еще один max Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость mikky Опубликовано 30 Апреля, 2010 в 08:04 Жалоба Поделиться Опубликовано 30 Апреля, 2010 в 08:04 А в чём промблема с ЦАПом?Там куча ног свободных остаётся и выделить четыре штуки под ЦАП не вопрос. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость еще один max Опубликовано 30 Апреля, 2010 в 08:22 Жалоба Поделиться Опубликовано 30 Апреля, 2010 в 08:22 Вопрос в том, как лучше организовать ЦАП: 1. На резисторной матрице 2. На внешней мс (по сути то же, просто в корпусе резюки прецизионные и пара оперов стоит) 3. С помощью ШИМ с одной ноги МК 4. Внутренним ЦАП. По информации с сайти "Чип и Дип" ЦАП там есть! Он где? Как его включить? Четвертый самый лучший вариант. Но он есть или его нет? Самый простой первый, но напруга плавать будет, а для педали это не есть правильно. Должна держать на одном уровне. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость mikky Опубликовано 30 Апреля, 2010 в 08:39 Жалоба Поделиться Опубликовано 30 Апреля, 2010 в 08:39 (изменено) Напруга плавать не будет если гистерезис задать в программе, а усложнять не стоит, не те у него задачи. По шиту, щас позырим..Чёто нету там ничего про внутренний ЦАП. Тока про АЦП на порте А... Изменено 30 Апреля, 2010 в 08:54 пользователем mikky Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость еще один max Опубликовано 30 Апреля, 2010 в 08:46 Жалоба Поделиться Опубликовано 30 Апреля, 2010 в 08:46 (изменено) 77 страница Даташита: Быстрая ШИМ может применяться в управлении напряжением, коррекции (?) и в приложениях ЦАП. Ну примерно так. Нет тут никакого встроенного ЦАП... Я плакаль :smile: Ждем что скажет аксакал hippo64 Изменено 30 Апреля, 2010 в 08:46 пользователем еще один max Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость mikky Опубликовано 30 Апреля, 2010 в 09:00 Жалоба Поделиться Опубликовано 30 Апреля, 2010 в 09:00 (изменено) Не надо нервничать, четыре разряда резистивного ЦАП тебе за глаза и за уши, к чему там особая точность то? Мало, и восемь поставить можно, там ног целая куча останется. А чего так далеко в даташит залез то? Смотреть нада по архитектуре, а это 3-5 страница... Изменено 30 Апреля, 2010 в 09:02 пользователем mikky Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения