Мини-задача о attiny13, ШИМ и кнопках

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

GP1 писал(а):ну что, господа теоретики, на сегдняшний день в аврстудии, ессно в железе пока не пробовал, работают 20 каналов программного ШИМа, придумаю как обрабатывать кнопки тогда представлю весь код, пока не решил делать 20 кнопок или 40.
Наоборот, господа-практики :)) . Я вот попробовал в железе 12канальный ШИМ, сделаю кнопачки и выложу проект. http://neekeetos.narod.ru/06092009.avi

ЗЫ: как ты собираешься подключать 20 светодиодов, чарлиплексом?
Вложения
leds.jpg
(31.82 КБ) 758 скачиваний
Реклама
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

Доделал, выкладываю схему (в реальности там на каждый светодиод отдельное сопротивление на 100ом) и само собой код. Тини работает от встроенного генератора на 9,6МГц без делителей.
Схема содержит 12 светодиодов , управление яркостью двумя кнопками. Кнопки +- меняют яркость выбранного светодиода, если их нажать и удерживать одновременно то происходит выбор диода, это соотв будет видно по индикации (как и в режиме регулировки)
Вложения
_charlie.zip
(1.95 КБ) 362 скачивания
sch.GIF
(21.19 КБ) 566 скачиваний
Реклама
Аватара пользователя
OBIVAN
Встал на лапы
Сообщения: 84
Зарегистрирован: Вт ноя 25, 2008 18:56:41

Сообщение OBIVAN »

Хорошая работа а главное оперативно.Если не затруднит вкратце алгоритм.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

очень здорово :) итак, счет открыт: 12+2 :))) кто больше?

P.S. судя по всему программку вполне можно на Си сделать :) может рискнете?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Neekeetos
первооткрыватель - зачет!

зы: на асме есть один, а где сишники?
Чем дальше, тем больше становлюсь занудой...
Изображение
Реклама
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

OBIVAN писал(а):Хорошая работа а главное оперативно.Если не затруднит вкратце алгоритм.

В таймерном прерывании, которое происходит на частоте ~38к формируется шим и выводятся данные на светодиоды по 3 за одно прерывание. В основном цикле сделан антидребезг ну и регулировки. Задание шима поначалу было 8 бит но я решил что 255 значений довольно долго щелкать плюс яркость меняется нелинейно в силу особенностей человеческого зрения, поэтому сделал таблицу перевода на 16 значений, соотв для задания яркости используется только 4 младших бита, сами данные по всем 12 каналам хранятся в первых 12 байтах озу.
Реклама
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

ARV писал(а):P.S. судя по всему программку вполне можно на Си сделать :) может рискнете?
Не рискну ибо не влезет ни по памяти (которой в тини всего килобайт) , ни по ресурсам :)))
ILIS
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Вт сен 01, 2009 09:54:47

Сообщение ILIS »

Neekeetos писал(а):
ARV писал(а):P.S. судя по всему программку вполне можно на Си сделать :) может рискнете?
Не рискну ибо не влезет ни по памяти (которой в тини всего килобайт) , ни по ресурсам :)))
Да не особо то и прожорливый компилятор должен быть. ) Не надо так категорично. Если библиотеки не пользовать, а самому все нужное описать - то влезет все.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18647
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Сообщение ARV »

Да какие там библиотеки? разве что задержки от дребезга кнопок - но их вряд ли напишешь вручную лучше, чем компилятор :)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

ILIS писал(а):
Neekeetos писал(а):Не рискну ибо не влезет ни по памяти (которой в тини всего килобайт) , ни по ресурсам :)))
Да не особо то и прожорливый компилятор должен быть. ) Не надо так категорично. Если библиотеки не пользовать, а самому все нужное описать - то влезет все.
Ну вот то что я написал на асме занимает 382 байта из 1024, это 37% всей памяти. Исходник я выложил, там ничего фантастического нету, попробуй напиши тоже самое на С без библиотек, можно будет сравнить размер :)
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

ARV писал(а):Да какие там библиотеки? разве что задержки от дребезга кнопок - но их вряд ли напишешь вручную лучше, чем компилятор :)
Скажем так, нулевая программа на винавр занимает порядка 100 байт, только потому что он инитит память и делает прочую ненужную чепуху, я поверю что функция обработки кнопок в винавр около-идеальна но она тянет за собой кучу барахла :idea:
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

выкладываю свой вариант:
20 светодиодов + 40 кнопок
кто больше?
Вложения
schem.rar
схема
(66.25 КБ) 455 скачиваний
build.gif
кто меньше?
(4.12 КБ) 826 скачиваний
radiokot.asm
исходник
(6.73 КБ) 519 скачиваний
tiny13-pwm.rar
прошивки
(586 байт) 352 скачивания
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

GP1 писал(а):выкладываю свой вариант:
20 светодиодов + 40 кнопок
кто больше?
Кнопки это 5 баллов :), попробовал в проте, чтото светики не зажигаются. В живую пробовал схему гонять?

ЗЫ. Попробовал в свою схему зашить, все работает, единственное порядок светодиодов несколько иной поэтому как бы перемешаны яркости
:)))
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

в шпротеусе не работаю :)
в железе еще не пробовал.
а у тебя eeprom подгужается? а то там переменные начальной инициализации хранятся.
в железе думаю завтра погонять. :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

GP1 писал(а):в шпротеусе не работаю :)
в железе еще не пробовал.
а у тебя eeprom подгужается? а то там переменные начальной инициализации хранятся.
в железе думаю завтра погонять. :wink:
Да, в проте епром не загрузился, он оказывается не умеет работать с интел/хекс. Будешь делать сразу поставь резисторы отдельно на каждый светодиод, те которые групповые даже на 12 светиках дают просадку тк от них питается не один светодиод а целая группа
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

Neekeetos писал(а): Будешь делать сразу поставь резисторы отдельно на каждый светодиод, те которые групповые даже на 12 светиках дают просадку тк от них питается не один светодиод а целая группа
попробую :roll:

зы: я тут прикинул в железе наверное слишком быстро яркость меняться будет, по расчетам от 0 до мах примерно за 0.6 сек.
чтобы замедлить надо подобрать вот эту константу:

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

		cpi	mkeycnt,10			; если N раз совпали значения
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

по расчетам от 0 до мах примерно за 0.6 сек.
чтобы замедлить надо подобрать вот эту константу:

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

		cpi	mkeycnt,10			; если N раз совпали значения
глюканул. :oops:
время изменения значения ШИМ на 1 примерно 56 мс, следовательно от 0 до мах будет тикать примерно 5600 мс или 5,6 сек.
значит надо уменьшать константу.

зы: начальная яркость по каналам от 5% до 100% с шагом 5%.
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

GP1 писал(а):зы: начальная яркость по каналам от 5% до 100% с шагом 5%.
Как успехи? Мне тут АРВ подсказал что на сайте присутствует конструкция со свойствами аналогичными моей , забавно. Вот ссылка кстати http://radiokot.ru/circuit/audio/other/14/, думаю имеет смысл ее также рассматривать как вариант решения, правда исходников нету :))
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Сообщение GP1 »

как выяснилось у мняу нехватает резюко на 100 ом, а доехать до барыг времени нет.
но макетку уже напаял, осталось только делитель допаять.
пока не проверю не успокоюсь :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
Neekeetos
Держит паяльник хвостом
Сообщения: 993
Зарегистрирован: Пн сен 18, 2006 11:16:05
Откуда: Тула
Контактная информация:

Сообщение Neekeetos »

GP1 писал(а):как выяснилось у мняу нехватает резюко на 100 ом, а доехать до барыг времени нет.
но макетку уже напаял, осталось только делитель допаять.
пока не проверю не успокоюсь :wink:
Яж проверял твою конструкцию правда с 12ю светиками, может тебе аналогично сделать, подключить первые несколько ?, тем более все известно что работает :))
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»