|
|
|
3425 6 3 0 |
|
Опции темы | Поиск в этой теме |
03.09.2013, 07:09 | 1 |
Новичок
Регистрация: 01.09.2013 Последняя активность: 07.04.2014 14:27 Адрес: Екатеринбург
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили: 2 раз(а) в 1 сообщении
|
Программная переделка 8x7135, регулировка тока количеством стабилизаторов
Привет, фонарёвка.
Возможно, это уже где-то было, но я с самого начала хотел сделать прошивку сам. Итак, суть: при включении фонарь плавно загорается, постепенно включая всё больше стабилизаторов(1,2,3,4,5,6,7,. Переход между стабилизаторами плавный за счет ШИМ. Когда яркость вас устраивает, тыкаем кнопку. Следующее включение фонаря будет на этой яркости(ШИМ выключится, то есть останется целое количество стабилизаторов в работе, округление вниз). Потом опять заново будет режим выбора яркости. При этом: на токе до 700 ма ШИМ не будет выключен, чтобы можно было оставить очень низкий уровень света. Как это сделано: Блок стабилизаторов разрезан на блоки по 4+2+1+1(ШИМ). Каждый блок управляется отдельной ножкой контроллера. Один блок управляется ШИМ. Так я могу включать произвольное число стабилизаторов. Как подключать блоки: Тут три разреза, обозначены черно-красной полосой, и три перемычки, обозначены синим. По ножкам: К ШИМ-1блоку цепляем PB0. К 1блоку цепляем PB4. К 2блоку цепляем PB3. К 4блоку уже подцеплена PB1. (Картинка во вложениях) Проблемы: Я никогда не писал на чистом C и код получился явно неоптимальным. Поэтому мне пришлось выкинуть из фонаря всё, кроме светилки. То есть никакой индикации батарейки, контроля температурой. Это всё попросту не помещается в память. Плюс активно используется eeprom-память. Писалось-собиралось всё в avr студии5, для прошивки использовалась arduino nano. Планирую в будущем улучшить прошивку, но не сейчас. В архиве проект для студии. Пароль к архиву fonarevka_sh. |
03.09.2013, 08:37 | 2 | ||
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Сегодня 07:37 Адрес: Россия, Пермский край
Сообщений: 38198
Сказал(а) спасибо: 5886
Поблагодарили: 32495 раз(а) в 15080 сообщениях
|
Re: Программная переделка 8x7135, регулировка тока количеством стабилизаторов
угу. было. смотрю исходники - что-то знакомое больно. дефайны, значения, и, особенно комментарии.
потом в шапку заглянул: "Author: Tamagotchi http://tamagotchi-007.livejournal.com/" вообще-то хорошим тоном считается указывать на чьей базе сделана прошивка. Цитата:
Цитата:
может такое где и нужно, но для большинства применений удобнее обратный алгоритмм - включение на выбранной яркости, а по короткому клику (хотя бы) - рампинг с запоминанием. |
||
03.09.2013, 17:59 | 3 |
Новичок
Регистрация: 01.09.2013 Последняя активность: 07.04.2014 14:27 Адрес: Екатеринбург
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили: 2 раз(а) в 1 сообщении
|
Re: Программная переделка 8x7135, регулировка тока количеством стабилизаторов
galex, Черт. Действительно забыл упомянуть, что использовал код тамагочи как опорный. Настолько боялся забыть это сделать, что забыл.
Да, пожалуй. Просто я очень не люблю, когда после темноты в помещении вдруг появляется источник в 10ватт. Плюс, бывает необходимость включить ночью в машине фонарь. А водители не любят яркий свет в салоне. Вообще, это был чистый эксперимент. Я в первый раз имел дело со всем этим, поэтому особо не думал. Хотелось за выходные получить результат. Думаю убрать плавность, сделать ступенчатый рампинг стабилизаторами, попытаться докрутить внешнюю кнопку для переключения(а лучше - геркона). Но пока не читал теории - я пишу слишком неоптимальный код. Это всё не поместится. |
03.09.2013, 18:06 | 4 |
|
Re: Программная переделка 8x7135, регулировка тока количеством стабилизаторов
Это на основе старой версии. Там код не оптимален. Самая заоптимизированная версия у меня 2.0 потом я расслабился Причем в версии 2.0 можно вообще EEPROM не использовать.
|
03.09.2013, 18:19 | 5 |
|
Re: Программная переделка 8x7135, регулировка тока количеством стабилизаторов
И ошибки все мои остались.
ADCSRA &=~ (0<<ADIE | (0<<ADSC)); вот это не правильно |
03.09.2013, 20:40 | 6 |
Новичок
Регистрация: 01.09.2013 Последняя активность: 07.04.2014 14:27 Адрес: Екатеринбург
Сообщений: 7
Сказал(а) спасибо: 0
Поблагодарили: 2 раз(а) в 1 сообщении
|
Re: Программная переделка 8x7135, регулировка тока количеством стабилизаторов
Tamagotchi, каюсь, хотелось, чтобы засветилось как можно быстрее, в вопрос не углублялся.
Для меня это вообще было ужасом. Маленький пример: я пару часов искал баг - фонарь не сохранял состояние; оказалось, я забыл return в функции возврата запомненного режима. Уже сильно привычный мне C# такого бы никогда не позволил... |
03.09.2013, 21:04 | 7 |
|
Re: Программная переделка 8x7135, регулировка тока количеством стабилизаторов
Sht3ch,
Контроль кода тут никакой. Я однажды забыл поместить объявление функции в ххх.h подключил это include xxx.h вызвал функцию, которую забыл не объявить, и ЭТО СКОМПИЛИЛОСЬ!!! Не работало (куда он вообще вызов сделал?) и я этот баг пару часов искал. А потом ВДРУГ перестало компилиться Меня такие чудеса бесят просто, особенно если до этого C# использовать. |