|
|
|
|
13941 32 7 1 |
|
Опции темы | Поиск в этой теме |
14.10.2013, 15:19 | 1 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 20:32 Адрес: Россия, Пермский край
Сообщений: 39105
Сказал(а) спасибо: 6295
Поблагодарили: 34336 раз(а) в 15884 сообщениях
|
Модификация драйвера SKY RAY King
Итак. имеется: родной драйвер кинга. истинный(С) который. с 3 независимыми силовыми частями и бездарным управлением ими.
исчезнувшая схема схема Protector-а: и некоторые результаты и вспомогательные материалы из соответствующей темы с BLF ну народный линейник, в качестве донора ATTINY13A поскольку строить что-то свое я морально и интеллектуально не готов, буду ломать чужое: king.rar в архиве исходники и файл прошивки полученные при помощи небольшой правки исходников с веломании что дает замена контроллера? на первый вгляд ничего те же 2 режима: максимум, минимум (15%) - выкл. но! если зажать кнопку более 0.7сек начнется рампинг с 50% до 0 (и обратно). яркость в момент отпускания кнопки запомнится вместо минимального режима (до полного отключения питания) и самое главное - ШИМ, в режимах отличных от максимума - 9кГц вместо нативных 200Гц. теперь минусы. для устранения которых и требуется помощь. Потребление в выключенном состоянии 3мА. из них 1.4мА идет на питание ОУ LM358 и драйверов QX9920 (с резистора 15Ом через диоды) остальное потребляет контроллер, который я так и не смог усыпить, чтобы он потом проснулся при нажатии кнопки. хелп! 1. как его нежно усыпить? 2. запитать операционники и драйверы от выхода тиньки, скажем 5-го, чтобы обесточивались при засыпании контроллера как-то так: on - OCR0A = 0xFF; off (sleep) - OCR0A = 0x00 пойдет? p.s. я как-то спрашивал, в теме про кинга, пробовал ли кто-то питать его от 4.35В аккумуляторов, но не получил ни ответа, ни понимания, зачемэтонадоваще. отвечаю сам себе - питать кинга (только не с директрайвовым драйвером) от высоковольтных аккумуляторов можно и нужно - при большем напряжении меньше потребляемый ток. а даже 4.5В (под нагрузкой) на входе драйвер прекрасно переваривает [Исправлено: galex, 14.10.2013 в 15:31] |
14.10.2013, 16:38 | 2 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8158 раз(а) в 2385 сообщениях
|
Re: Модификация драйвера SKY RAY King
Если МК заснёт в режиме Power Down, то разбудить его может только сторожевой пёс и внешние прерывания. На кнопку необходимо прицепить такое прерывание ПЕРЕД уходом в сон, не забыв очистить флаг прерывания перед этим (ибо он ставится при первом же нажатии на кнопку, даже если прерывание выключено). Если будет стоять флаг - при включении прерывания оно тут же сработает. При выходе из сна прерывание отключать, чтоб не мешало.
По прерываниям и режимам сна даташит в помощь. Перед уходом в Power Down полезно тушить супервизор, чтоб не жрал 0,2мА. Для этого так же существует специальная процедура. Чтоб слаботочка в схеме не жрала - можно ведь запитать её через лапу МК... Чтоб проще было искать, подскажу в каких регистрах нужно копаться: GIMSK - включение/отключение PCIE GIFR - тут сносим флаг PCIF (записью единицы) перед включением PCIE PCMSK - тут цепляем нужные нам пины на PCINT, один раз при загрузке достаточно. Затем ловим прерывание в соответствующем векторе, если оно включено. МК проснётся. MCUCR - тут отключаем супервизор, слип переключаем в Power Down и засыпаем. После отключения супервизора есть всего три такта чтоб заснуть, иначе он опять включится. Отключается хитрой процедурой, она описана в даташите... [Исправлено: INFERION, 14.10.2013 в 16:40] |
Поблагодарили: 1 раз |
galex (14.10.2013)
|
14.10.2013, 17:00 | 3 | |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 20:32 Адрес: Россия, Пермский край
Сообщений: 39105
Сказал(а) спасибо: 6295
Поблагодарили: 34336 раз(а) в 15884 сообщениях
|
Re: Модификация драйвера SKY RAY King
я грешным делом наделся на кусок листинга
у меня даже Idle mode не получился. по идее тоже должен же хоть сколько-то заметно меньше жрать, но при этом реагировать на события на входе, без прерываний. что-то не так видимо делал или принцип работы не понял Цитата:
[Исправлено: galex, 14.10.2013 в 17:13] |
|
14.10.2013, 17:13 | 4 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8158 раз(а) в 2385 сообщениях
|
Re: Модификация драйвера SKY RAY King
Это не ко мне, я по меркам среднего программиста пишу очень некрасиво, да ещё и на ассемблере.
Я эту писанину вообще не понял, поэтому и проигнорировал. Зачем дёргать лапой через ШИМ? Под пятым выходом подразумивается 5-й пин микросхемы (PB0) или человеческое обозначение 5-го пина порта B (PB5, который находится на RESET'е и не имеет никакого ШИМ)? Чтоб дёргать лапой через ШИМ - придётся здорово потрахаться с конфигурацией этого самого ШИМ. В то время, как дёрнуть самой лапой - всего то одна инструкция. |
14.10.2013, 17:23 | 5 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 20:32 Адрес: Россия, Пермский край
Сообщений: 39105
Сказал(а) спасибо: 6295
Поблагодарили: 34336 раз(а) в 15884 сообщениях
|
Re: Модификация драйвера SKY RAY King
фиг знает. при 0 там будет 0 уровень, при 255 высокий. я так полагал.
5 нога. но не принципиально. можно 2-ю, например. резет чтоб под выход использовать - потом программатор высоковольтный же понадобится? [Исправлено: galex, 14.10.2013 в 17:25] |
14.10.2013, 17:31 | 6 | |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 441
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Модификация драйвера SKY RAY King
Цитата:
Думал, что поставлю ардуину IDE и по "копиям" чужого кода разберусь. В итоге эпик фейл - все было хорошо, пока не попробовал Тайни13. В ней вылезают как раз все "неоптимальности" (типа простой и красивой функции AnalogWrite, которая работает на 328й и жутко тормозит на Тайни) и если ты хочешь хоть что-то в ней написать, есть смысл погуглить хотя бы общие вещи. |
|
14.10.2013, 17:36 | 7 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8158 раз(а) в 2385 сообщениях
|
Re: Модификация драйвера SKY RAY King
Даташит на эти тиньки очень даже компактный и полный. Достаточно его бегло прочитать, хотя бы разделы с описанием регистров ввода/вывода, влияние которых детально описаны побитно под ссылками на одной единственной страничке (Register Summary). Там фактически все возможности и особенности камня зарыты, т.к. всё железо управляется именно через РВВ. Нужные регистры я выше уже назвал, достаточно открыть даташит и найти перейти Register Summary. А там уже найти в списке интересующий регистр, клацнуть на ссылку и почитать что он делает. Записывать и читать значения ведь элементарно - оператором присвоения (так он вроде называется)...
[Исправлено: INFERION, 14.10.2013 в 17:38] |
14.10.2013, 17:59 | 8 |
|
Re: Модификация драйвера SKY RAY King
galex,
На этом форуме есть исходники от ceramic у него там правильно усыпляется 13-я. Тебе надо (как родном драйвере) 3 канала ШИМ? В 13-ой их 2. |
14.10.2013, 18:15 | 9 |
Увлеченный
Регистрация: 18.08.2013 Последняя активность: 29.11.2015 13:52
Сообщений: 441
Сказал(а) спасибо: 11
Поблагодарили: 23 раз(а) в 23 сообщениях
|
Re: Модификация драйвера SKY RAY King
У меня, кстати, Кинг с другим драйвером, похоже. С Фасттека.
А какова функция WatchDog в принципе? Его физический смысл. [Исправлено: KNNK07, 14.10.2013 в 18:17] |
14.10.2013, 18:25 | 10 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8158 раз(а) в 2385 сообщениях
|
Re: Модификация драйвера SKY RAY King
Сбрасывает МК, если тот не успеет сбросить его. Это таймер, полностью автономный (у него собственный RC-генератор, и работает он даже в Power Down). Предназначен для защиты от быдлокодеров зависаний, но его можно использовать и в мирных целях. Будить МК через определённые промежутки времени (как у меня и тамагочи на маяке), использовать как системный таймер (весьма неточный) или источник тактирования с очень низкой частотой (около 128кГц). Сам по себе он потребляет очень мало, поэтому часто полезен, когда необходимо что-то делать потребляя при этом как можно меньше энергии.
[Исправлено: INFERION, 14.10.2013 в 18:29] |
14.10.2013, 19:46 | 11 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 20:32 Адрес: Россия, Пермский край
Сообщений: 39105
Сказал(а) спасибо: 6295
Поблагодарили: 34336 раз(а) в 15884 сообщениях
|
Re: Модификация драйвера SKY RAY King
я помню про них. пробовал усыплять его кодом - засыпает, но чтоб проснуться - там 6 нога нужна. у меня она под шим задействована. можно переделать на другую ногу, но что-то еще мне помешало, не помню
нет. только 1. |
14.10.2013, 21:48 | 12 |
|
Re: Модификация драйвера SKY RAY King
|
14.10.2013, 21:54 | 13 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 20:32 Адрес: Россия, Пермский край
Сообщений: 39105
Сказал(а) спасибо: 6295
Поблагодарили: 34336 раз(а) в 15884 сообщениях
|
Re: Модификация драйвера SKY RAY King
точно все? меня вот это смутило:
впрочем будет время завтра - попробую. тем более я никак не могу вспомнить, что мне помешало освободить эту ногу для кнопки. может просто лень было проводок перепаять? или понедельник виноват [Исправлено: galex, 14.10.2013 в 21:57] |
14.10.2013, 21:59 | 14 |
|
Re: Модификация драйвера SKY RAY King
|
15.10.2013, 06:55 | 15 |
сволочь фонарёвки
Регистрация: 27.05.2011 Последняя активность: Вчера 20:32 Адрес: Россия, Пермский край
Сообщений: 39105
Сказал(а) спасибо: 6295
Поблагодарили: 34336 раз(а) в 15884 сообщениях
|
Re: Модификация драйвера SKY RAY King
|
16.10.2013, 04:43 | 16 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8158 раз(а) в 2385 сообщениях
|
Re: Модификация драйвера SKY RAY King
galex, поиск в документе (pdf) прекрасно отвечает на вопросы что такое INT, PCINT, и чем они отличаются. INT можно настроить на реакцию по конкретному фронту импульса (заднему или переднему), но его нельзя прицепить на любую лапу. PCINT цепляется куда угодно, да ещё и одновременно на сколько угодно лап, но реагирует всегда на любое изменение состояния пинов. Т.е. на оба фронта. Проще говоря INT может реагировать только на нажатие кнопки, а PCINT среагирует и на нажатие, и на отпускание...
У них разные векторы в таблице прерываний, поэтому с точки зрения программы это физически разные прерывания... |
16.10.2013, 06:29 | 17 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модификация драйвера SKY RAY King
|
16.10.2013, 07:13 | 18 |
Регистрация: 07.04.2013 Последняя активность: 13.06.2023 02:24 Адрес: Украина, Полтава
Сообщений: 5763
Сказал(а) спасибо: 340
Поблагодарили: 8158 раз(а) в 2385 сообщениях
|
Re: Модификация драйвера SKY RAY King
ceramic, с чего это вдруг?
|
16.10.2013, 15:48 | 19 |
Ветеран Фонарёвки
Регистрация: 08.10.2011 Последняя активность: 30.03.2024 21:54 Адрес: 哈尔滨
Сообщений: 8001
Сказал(а) спасибо: 934
Поблагодарили: 5199 раз(а) в 2785 сообщениях
|
Re: Модификация драйвера SKY RAY King
Не могу ответить.
Но когда я в GIMSK выставлял PCIE (ни чего больше не меняя в программе), то в самой глубокой спячке потребление микроконтроллера возрастало почти до одного мкА (точно не помню значения, но намного больше, чем если его не выставлять). |