Easyelectronics.ru

Электроника для всех
Текущее время: 26 май 2020, 00:00

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/10pcs (Любой цвет!)
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 170 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 09 апр 2019, 02:35 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6734
(А я не острил )).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 09 апр 2019, 06:52 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1308
Возможно, одна из полезных функций часов могла бы быть вводом разных паролей в компьютере для сервисов где зарегистрирован пользователь. :)
(можно и через инфракрасный интерфейс, помимо функций пульта управления)

P.S. A открытие электронного замка задумывалось?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 09 апр 2019, 11:48 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
2 KPG
Электронный ключ в часах - это просто, но для меня как бы не требуется... Просто ни одного электронного замка в радиусе 30 км.
Ввод паролей это интересно, но не знаю как реализовать... Есть одна идея конечно: в часах есть интерфейс (не важно какой, USB или радиоканал) и этим интерфейсом часы могут прицепиться к компьютеру по USB и прикинуться клавиатурой например (HID устройство). Затем пользователь кликнет мышкой в нужное окошко и ткнет кнопку на часах - и часы "наберут" нужный пароль. Беда в том, что если юзер ткнет не в то окошко, то часы наберут пароль не там, и его все увидят например :-)

Но как бы задумка хорошая, учту!

2 u37
Дак и я не шучу как бы. Просто а зачем два процессора? Он и один-то жрет много достаточно, а два куда?

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 09 апр 2019, 12:15 
Старожил

Зарегистрирован: 27 апр 2013, 13:53
Сообщения: 1308
Может если 2-а, то второй очень мелкий на небольшой частоте для соответствующих задач и пробуждения "большого" кристала.
В качестве мелкого и PIC может хорошо подойти или выбирать, чтобы например в мелком/крупном был какой то интерфейс (USB,..) а в другом его нет.

P.S. Как некоторая идея, ещё можно использовать пoверхность часов для тач-мышки взяв железо из оптической мышки :)
(но так, вроде, инверсия движения мышки будет)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 09 апр 2019, 13:11 
Старожил
Аватара пользователя

Зарегистрирован: 28 янв 2010, 11:56
Сообщения: 3859
Откуда: Винница
СС2650 или что-то подобное... "sensor controller" дежурит, потребляя пару десятков мкА, основной Cortex для всех "тяжёлых" задач, плюс блютус - через него можно клавы-мышки изображать.
Но кусок работы тот ещё. :(

_________________
Китайская комплектация - европейское качество!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 11 апр 2019, 09:10 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
2 Katz&KPG
Не-не-не... уже сложно слишком выходит. Оно конечно интересно, но я так никогда не сделаю даже макет проекта. Так и останется все на бумажке.

Кстати тачпад от ноутбука можно конечно прикрутить (у старых ноутбуков без мультитача там интерфейсы простые), Но вот на сколько оно эффективно окажется, я не знаю... С оптической мышкой не понял, как это сделать...

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 11 окт 2019, 02:19 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Вот с апреля часами не занимался. Сейчас прям чуток времени уделил. Что есть:
1. Развел печатную плату, где в кривой (с вырезами под разъемы, GPS модуль и т.п., размер описанного прямоугольника 55х40мм) кусок текстолита уложил на два слоя:
а) MK22FN1M0 в корпусе TQFP64 (0.5 pitch) - по той причине, что у него есть поддержка float вычислений в ядре, нативный USB и встроенный LDO стабилизатор на 3.3В и 100мА.
б) PCF2127AT - часы со встроенным кварцем
в) LIS3LV02DL - акселерометр
г) MAG3110 - MEMS компас
д) MPL3115A2 - датчик атмосферного давления и температуры (ну и как бы альтиметр)

Так вот уложил, порадовался и почти сразу обломался, когда захотел нафрезеровать это чудо. Все "заткнулось" на MAG3110 - у этой п*здюлины пады 0.2мм шириной, и сама она меньше тетрадной клеточки. Ну как... с бубноплясками я в очередной раз убедился в том, что жесткость у моего станка никакая, а потому чтобы хоть более-менее сносно фрезеровать такие тонкости, пришлось снизить обороты шпинделя и скорость фрезеровки. Ну да это-то ладно, плату я кое-как зафрезеровал, но вот запаять... тут уже увы... "И глаз не тот, и руки как не свои" (с) жыл быд пёс

Итог такой: MAG3110 выкинул нахер. Будет без него.

Что еще должна уметь плата:
1. Будет работать с ней GPS модуль (отключаемый по питанию транзюком)
2. Есть там еще поддержка перделки для звука, LED фонарика, подсветки и контроля дисплея LS020 от Siemens CX65, 4-х кнопок и энкодера

А энкодер самодельный на герконах и колёсике с магнитами. Собственно из-за этого колесика MAG3110 мог бы глючить - так что мож и правильно что я этот компас выкинул. А то промучался бы, а он и не заработал глядишь.

Про корпус: пилю его во FreeCAD, пока получается более-менее... страшненько конечно, но мож и ничетак выйдет, когда распечатаю. И вообще в планах сделать девайс по возможности пыле-влаго-брызго-грязе-говно-защищенным... ну на сколько это вообще возможно в моих хобийно-кустарных условиях с учетом недостатка времени на это хобби.

Если будет интересно, выложу схему, плату и скрины модельки корпуса (не допиленного еще).

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 18 окт 2019, 02:17 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Продолжаем...

Вобщем собрал с горем пополам своими кривыми ручищами платку. В процессе сборки криво напаял МК (хотя и паял феном с паяльной пастой), пришлось второй раз греть - а когда шевелил его, как-то навесил соплю между ногами RX и TX UART-а предназначенного для GPS. И когда пытался эту соплю убрать, перегрел дорожку (0.3 мм) и она отвалилась слегка - текстолит-то советский. Пришлось под микроскопом проводком 0.1мм подпаиваться к ножке МК и тянуть проводок до огрызка дорожки. Кароч тренируюсь на хирурга офтальмолога :-)

Заработало оно все. Вернее как - сейчас учусь кодить под Kinetis. Сам МК запустил, настроил system clock (уже поигрался с PLL и без него), запустил UART, GPIO, PIT - для задержек на мили- и микросекунды, и SPI для дисплея.

И вот с SPI пока вылез неприятный косяк: стандартные либы удобны, но тормозны. К примеру передача блока данных делается с огромной кучей всяких проверок на каждый байт/слово этих данных. Есть конечно DMA - но я его пока не "раскурил", возможно с ним еще проще будет, т.к. планирую не рисовать что-то на дисплее по элементам, а просто "пулять" на него буффер размером с весь дисплей. Рисование же все будет в этом самом буффере - тут и спрайты легче реализовать, и слои, и т.п. Но сам "сброс" буффера в дисплей должен происходить максимально быстро.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 19 окт 2019, 02:59 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Переписал работу с SPI более компактно, но пока без DMA. Если раньше на частоте SCK 2МГц экранчик полностью обновлялся где-то 4.5 кадра в секунду, то после "доработки" кода частота обновлений выросла до 7.5 кадров в секунду на частоте ядра 8МГц, и до 11 кадров в секунду на частоте ядра 80МГц. Инициализацию правда оставил штатную, свою было лень писать, потом наверное напишу с целью экономии пространства Flash.

Если частоту SPI задрать до 12МГц (при 80МГц частоте ядра), то частота обновления взлетает до 45 кадров в секунду, но оно не требуется. "За глаза" хватит и 7 fps.

На данный момент девайс в виде макета: без корпуса, без кнопок и энкодера, прикручен МГТФ-ом дисплей и J-link. Сейчас на дисплее рисуются по очереди символы из таблицы, включается и выключается подсветка, а по UART идет отладочная инфа. Теперь можно уже и на дисплей что-то разумное выводить. Кстати контрастность дисплея такова, что в полу-темной комнате без подсветки текст читается без напряга, во всяком случае моими глазами. При хорошем внешнем освещении ситуация становится лучше. Так что вполне себе хороший дисплей.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 20 окт 2019, 00:33 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Вот еще идея есть, хотя и спорная (если эту тему хоть кто-то читает, то прошу к обсуждению):

Шрифты. Сейчас значит есть экранчик с разрешением 176х132 точки и 256 цветов (хотя может он на самом деле 65536 цветов, но это и буффер надо под него в два раза больше, а мне в лом). Так вот: обычно, как я вижу по сети, в подобных проектах все пользуются растровыми шрифтами разной степени детализации и красоты. И крайне редко когда надписи рисуются векторными средствами. Так вот: были в свое время (да и сейчас есть) очень простые векторные шрифты из графического пакета от Borland Pascal 7.0. Это .CHR файлы, причем в 90-е много энтузиастов "накрутили" огромное количество таких шрифтов разной степени красоты и даже с русскими буквами (оригинальные были исключительно английскими). Вот и возникла идея "прикрутить" такой шрифт(ы) к моей поделке. Ибо: растровый шрифт в диапазоне символов от 0 до 255 8х8 занимает 2кБ памяти, такой же, но 16х16 займет уже 8кБ, а простой шрифт drft.chr занимает с заголовком (часть которого можно выкинуть) всего 5кБ.

Из плюсов растрового шрифта - его простота и высокая скорость вывода.
Из минусов - сложность масштабирования, поворота и т.д.

Из плюсов векторного шрифта - просто и красиво масштабируется, можно вращать/наклонять/делать "жирным" и т.п.
Из минусов - чаще всего ширина букв разная (что не всегда удобно), вывод может оказаться более долгим, т.к. требует рисования линий и т.п.
Так вот как бы... решение пока такое: оставить растровый шрифт 8х8 и прикрутить один-два векторных: один по-красивше, второй - по-быстрее в плане вывода.

Кто что думает по этому поводу?

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 20 окт 2019, 00:42 
Старожил

Зарегистрирован: 10 окт 2014, 00:48
Сообщения: 6734
Акстись, батенька. У вас процессорное время = потребление. Или будет как в Ералаше - только питание тяжеловато.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 20 окт 2019, 00:54 
Старожил

Зарегистрирован: 23 янв 2016, 15:37
Сообщения: 1168
VivalzarD писал(а):
Из плюсов векторного шрифта - просто и красиво масштабируется, можно вращать/наклонять/делать "жирным" и т.п.

Это нужно проверять, на практике легко может получиться сложно и уродливо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 20 окт 2019, 03:10 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
2 u37
Согласен, но там есть аппаратный FPU и всякие там плюшки, х.з. конечно но ИМХО надо проверять что дольше будет: растровый символ рисовать или векторный.

2 Reflector
Эт да, согласен.

2 ALL
Просто обычно хочется "как лучше", и душа покоя не имеет по этому :-) Как бы в прошлой версии часов в виду ограниченности flash шрифт был всего один - 8х8 символов. Он же и масштабировался в 5х8 для мелкого текста, и в 16х16 для крупного. Работало, читабельно, но как топором вырублено. Здесь 1Мб флеши и более мощное ядро (которое благодаря мощности и жрет больше, хотя, по предварительным оценкам, при прочих равных его потребление меньше чем у AVR, но AVR делает 8-ми битную команду, а это ядро - 32-х битную с меньшим потреблением).

Кароч вот прям даже и не знаю...

P.S. Аккумулятор под размер дисплея и платы подобрал - получается BL-5J от нокии идеально подходит. Там 1.3А.ч емкость, следовательно при 10 мА среднем потреблении (а это 91 мА 0.1 сек и 1мА 0.9сек) его должно хватить на 4-5 дней. Пока без подсветки и с частотой МК 8МГц (со включенными модулями SPI, UART, GPIO) вся система отжирает около 10мА. Если снизить частоту МК до 1МГц и поотключать тактовые сигналы на не используемые модули - то и потребление снизится. Около 70 мА вся система жрет если МК работает на 80МГц, и около 110 мА если еще и подсветку включить. Так что с батарейками по предварительным оценкам все норм :-)

P.P.S. Правда в 3D модели размеры получаются крупные. Высота часов в корпусе около 2см, ширина 4 см, длина около 7 см - со всеми выступами. Как бы не совсем часы уже, а скорее носимый GPS навигатор - собственно это и есть одна из необходимых функций: в лес с ним ходить, чтоб потом обратную дорогу найти, или интересный объект отметить чтоб потом к нему без ошибок вернуться.

P.P.P.S. Если таки найду время для видеосъемки, то сниму что получилось и выложу в ю-туб.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 20 окт 2019, 16:37 
Старожил

Зарегистрирован: 19 мар 2013, 19:37
Сообщения: 2699
Откуда: Санкт-Петербург
Векторные шрифты при таком разрешении imho не имеют смысла, качество будет хуже растровых, а по объёму не выиграете (думаю, 5k на шрифт – это или упаковка, или мало символов).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 21 окт 2019, 10:45 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
2 aamonster
Неа, символов много и упаковки нет. Сами символы простые - нарисованы одной кривой, потому и мало занимают. Более "красивые" шрифты из этой серии (Gothic какой нибудь) весят уже под 20кБ. Но там и линий на символ дофига, ибо "рюшечки" всякие там и т.п.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 22 окт 2019, 19:01 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Сейчас сделал тесты по энергопотреблению:
1. Много жрет дисплей. В сети пока не могу найти на LS020 полную карту регистров с описанием, т.к. у него должен быть режим типа LowPower - но как его включить не знаю. Дисплей жрет в среднем около 3.5 мА.
2. МК имеет множество режимов энергосбережения. Настроить т.н. VLPR (Very Low Power Run - рабочий режим с пониженным энергопотреблением, есть еще VLPW - то же но WAIT, и VLPS - то же но STOP) - у меня не получилось. Что-то не так идет и все виснет при переходе в этот режим. Разберусь наверное, но по даташиту там я получу где-то 0.6-1мА потребления. Сейчас же в обычном RUN режиме при частоте ядра 125 кГц (частота для ожидания события - типа Idle режима) МК потребляет около 2 мА - это с включенной необходимой переферией МК (GPIO, SPI, I2C, UART0, UART1). Часы, датчик давления/температуры, аккселерометр - тоже включены и в сумме потребляют около 1 мА.
3. Когда часы "пуляют" прерывание (частота прерываний 1Гц) МК разгоняется до 8МГц и уже вся система потребляет около 9 мА (т.к. и с девайсами идет общение, и вывод на дисплей и т.п.)
4. Если включить GPS - то все начинает жрать уже 55 мА. Да, GPS модуль весьма жруч!
5. Подсветка дисплея добавляет еще 20мА

В итоге если все включить, то девайс будет жрать в среднем 70 мА. Если раз в секунду рисовать только часы, и все остальное выключить - то наверное уложится в 5-6 мА.

Как-то так. Пока не особо интересно ковыряться с VLPR, т.к. выигрыш не велик, а времени может быть потрачено много.

P.S. Заставил работать все датчики. Осталось допилить:
1. Парсер NMEA от GPS датчика
2. Измерение напряжения на аккумуляторе
3. Звук
4. Кнопки и энкодер
5. Нормальный пользовательский интерфейс с блекджеком и шлюхами преферансом и куртизанками :-)

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 24 окт 2019, 01:15 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Сегодня "раскурил" модуль GPS BN-220 и работу с UART по прерываниям. Опишу, может кому и пригодится, т.к. есть некоторые особенности.
Первое: UART. У MK22FN1M0 в TQFP-64 корпус напихали аж 3 UART-а. Два из них (под номерами 0 и 1) - кошерные и полноценные, третий - чуток кастрированный.

Что подразумевается под кошерностью? А это аппаратные RTS, CTS и возможность аппаратно прикинуться не только UART-ом, но и множеством других протоколов, таких как IrDA, RS485, LIN, K-Line и так далее. Еще в этих модулях есть свой FIFO на 8 пакетов. UART2 - это просто UART без каких либо довесок, и FIFO у него своего нету.

И вот тут есть чуток сложности для начинающего: когда лезешь смотреть Reference Manual на этот чип, то от обилия регистров разбегаются глаза, а от чтения тонн английского текста становится тошно. Однако сконфигурировать например UART0 как обычный UART довольно таки просто:
Код:
   CLOCK_EnableClock(kCLOCK_Uart0); //подаем тактовый сигнал на модуль UART

   UART0->BDH = 0;   // регистры установки битрейта (в данном случае все настроено на 9600 бит/с при 8MHz такте
   UART0->BDL = 52;
   UART0->C1 = 0x00; // Тут все по нулям
   UART0->C2 = UART_C2_RIE_MASK | UART_C2_TE_MASK | UART_C2_RE_MASK; // Включили прерывание по RX, включили передатчик и приемник
   UART0->C4 = 0x02; // BRFA - baud rate fine adjust - точная подгонка битрейта
   UART0->PFIFO = 0b00000000;   // FIFO отключили (аналогично длине FIFO в 1 байт), включить обратно - 0b10001000 - будет 8 байт FIFO
   UART0->TWFIFO = 0;   // Условие прерывания по TX - пустой FIFO (но прерывания по TX выключены и так)
   UART0->RWFIFO = 1;   // Условие прерывания по RX - есть 1 байт в FIFO


Все так просто лишь потому, что после RESET-а значения в модуле UART устанавливаются в "классическое" положение. И вот что вышло: кода наш UART0 примет байт, то он организует прерывание. У MK22FN1M0 прерывания от UART разделены на две части: RX_TX и ERR. RX_TX - вызывается при приеме-передаче данных, ERR - если надо обрабатывать ошибки. Я на ошибки "забил". А вот с прерыванием по RX вышли траблы, пока не почитал детально как оно организуется. Дело в том, что когда в буффере (FIFO) появляется количество байт/пакетов больше или равно чем указано в RWFIFO, то модуль устанавливает флаг RDRF в статусном регистре UART0->S1. Когда этот флаг установлен, модуль вызывает либо прерывание (если оно разрешено), либо обращается к соответствующему каналу DMA (если оно так сконфигурировано). Так вот при обращении к DMA этот флаг (RDRF) сбрасывается контроллером DMA. А вот при вызове прерывания этот флаг надо сбросить собственноручно. Но КАК?

И тут вот пришлось вчитываться. Дело в том, что сброс флага происходит, если считать регистр UART0->S1, а затем прочитать байт данных из FIFO (UART0->D). Причем если в FIFO не один байт, а несколько, то надо сначала считать n-1 байт из FIFO, затем считать в какой нибудь tmp UART0->S1, а уж апосля считать последний байт из FIFO. Так-то...

В противном случае при выходе из прерывания, мы сразу же попадаем в него снова.

Второе: GPS модуль BN-220. Тут как бы все просто: подаем на модуль питание, и он сразу же начинает пулять по UART-у кучи NMEA сообщений со скоростью 9600 бит/с. Первым что пуляет модуль - это куча $TXT сообщений со всякой инфой типа версия прошивки и т.п. Затем раз в секунду ползут кучей всякие $GNGLL, $GPGGA, $GPGSA и много всяких других. Каждое сообщение заканчивается <CR><LF> и несет информацию о регистрируемых спутниках, времени, дате. положении, скорости и т.д. Информации много, но не вся она нужна, а потому вариантов тут два:
1. Принимать все что "лезет" по UART и фильтровать "руками" - и это будет отжирать некоторое процессорное время
2. Сконфигурировать BN-220 так, чтобы он слал только то, что надо. И вот это уже интереснее: если модулю пульнуть по UART прориетарную команду $PUBX (с соответствующим "обвязом") то можно поменять его настройки, а именно:
а) поменять битрейт интерфейса
б) поменять скорость вывода сообщений и протокол
в) установить список пакетов NMEA, которые надо отправлять, а которые - не надо.
К примеру если "пульнуть" в модуль сообщением "$PUBX,40,GLL,0,0,0,0,0,0*checksum<CR><LF>", где checksum - это XOR всех символов между $ и * записанный в виде HEX (например 5D), то модуль перестанет выдавать все сообщения $xxGLL ($GNGLL, $GPGLL и т.д.). Включить обратно можно так: "$PUBX,40,GLL,0,1,0,0,0,0*checksum<CR><LF>"... наверное... 1 - указывает на то, что пакет будет слаться на UART1 модуля, но у него есть еще UART2 - какой из них подключен на выход я че-то как-то сомневаюсь... Но вроде оно так у меня сегодня заработало, хотя я сообщения не включал, а только выключил все кроме $GNGLL и контроллер это запомнил. По этому теперь я могу только определять координаты и время - но для начала мне этого хватит.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 24 окт 2019, 02:44 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
В общем парсить NMEA я научился. Все остальные датчики тоже в работе. Осталось теперь придумать как весь этот набор данных полноценно использовать. И вот тут наверное за один присест сделать не получится, т.к. работа сугубо творческая.

Поясню:
1. GPS он понятно зачем. В лес ходить. По этому каких либо карт/GIS в часах не будет, но можно будет "зафиксировать" точку или несколько точек, а потом при необходимости получить расстояние от текущего положения до выбранной точки и направление - куда топать. Как показала практика в лесу именно это и надо: у входа в лес ставишь точку, потом шляешься и когда надо выходить смотришь по GPS - куда надо идти и сколько. Можно так же сделать запись трека и/или пройденного пути. Естественно это все должно иметь возможность быть скинуто на комп (с этим уже тоже все отлажено - но пока по UART, на очереди - USB и благо он аппаратно поддерживается). Как это вот все представить в виде GUI и элементов управления... ну прям пока не ясно себе представляю... и еще надо научиться записывать что-то на Flash, как бы это возможно, но примеров скудно мало.
2. Акселерометр. А вот хз зачем я его прикрутил... У него есть аппаратные фичи отслеживания перемещения, свободного падения, толчка и т.п. Задаются всякие параметры ускорений по осям - средние величины, разбросы, временные лаги и т.п. Как только датчик зафиксирует настроенное событие - он пнет в МК прерыванием. Как бы можно настроить интерфейс какой нибудь - типа тряхнул часами и что-то сделалось. Что именно - хер знает. Еще можно этот датчик использовать как угломер - но тут надо и корпус сделать соответствующий.
3. Датчик давления/температуры - просто показометр ради любопытства. Хотя опыт предыдущих часов показал, что портативный термометр вполне востребован в различных походных условиях. Данные об атмосферном давлении можно использовать и как альтиметр (при быстром перемещении например: померить высоту дерева/этажа и т.п.) и как барометр чтобы отслеживать тенденцию изменения атмосферного давления - типа попытаться предсказать ближайшие метеоусловия.
4. У RTC есть еще на борту немного RAM. Запланировано, что у RTC будет еще и маленькая батареечка на случай если основной аккумулятор сдохнет. В этом случае в памяти RTC можно будет что-то хранить не особо крупное. Что именно - а хер его знает...
5. Со звуком тоже пока не ясно. Вообще на плате вывел ножку от канала таймера FTM0 - можно и просто выдавать меандр, можно и PWM туда сделать. Усилителя никакого не делал - просто прям с ноги МК последовательно поставил кондюк на 10 мкФ и прям так думаю подключить к динамику от мобилы. Единственное чего боюсь, что током самоиндукции попалит МК, но маловероятно. И еще может получиться тихо, но это сугубо от корпуса зависит.
6. И еще вот думаю - надо ли в часах сделать фонарик... отдельный транзюк под это у меня на плате есть, но в корпусе я фонарик еще не сделал.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 24 окт 2019, 13:04 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Снова про GPS. Все таки настройки там не сохраняются при выключении питания, а значит конфигурировать состав поступающей от модуля информации надо каждый раз при включении GPS. Ну да ладно. Теперь немного про сами посылки NMEA.
Их есть множество. Что надо мне:
1. Координаты: долгота, широта, высота над уровнем моря
2. Дата и время
3. Скорость перемещения (не обязательно)
4. Направление перемещения (желательно)

Так вот почти все есть в посылке RMC. Вот пример её вывода:
Код:
$GNRMC,071154.00,A,5804.24250,N,03813.90974,E,0.099,,241019,,,A*65

Здесь:
071154.00 - UTC время в формате ЧЧММСС.СС
5804.24250,N - широта в формате ГГММ.МММММ N - северная широта (S - южная)
03813.90974,E - долгота в формате ГГГММ.МММММ E - восточная долгота (W - западная)
0.099 - скорость в узлах в секунду
241019 - дата в формате ДДММГГ

Смущает только скорость в узлах в секунду, и тут как бы еще должно быть направление движения, но его нету (пустое поле между скоростью и датой). Почему нету хз - либо модуль не поддерживает, либо для того чтобы показалось направление, надо достаточно быстро двигаться. И еще тут нет высоты над уровнем моря.

Для определения скорости и направления есть отдельная посылка. Вот пример её вывода:
Код:
$GNVTG,,T,,M,0.041,N,0.075,K,A*3A

Здесь:
0.041 - скорость в узлах в секунду
0.075 - скорость в километрах в час
А вот самое первое поле (перед буквой T) должно быть направлением в градусах, но там ничего нет... разберусь потом почему.

Высота над уровнем моря есть в такой вот посылке:
Код:
$GNGGA,072329.00,5804.23296,N,03813.91430,E,1,12,0.81,128.6,M,12.3,M,,*4B

Здесь:
072329.00 - UTC время
5804.23296,N - широта
03813.91430,E - долгота
12 - число принимаемых спутников (от 0 до 12, как видно - сейчас максимум)
128.6 - высота над уровнем моря в метрах

Чтобы оценить точность предоставляемых данных, можно почитать вот такую посылку:
Код:
$GNGST,072951.00,49,,,,5.1,4.2,9.0*47

Здесь:
072951.00 - UTC время
5.1 - стандартное отклонение широты в метрах
4.2 - стандартное отклонение долготы в метрах
9.0 - стандартное отклонение высоты над уровнем моря в метрах

Так вот чтобы это все включать и выключать есть следующие команды.
Show Чтобы все отключить

Show Чтобы включить необходимое


И теперь следует упомянуть первые три буквы каждой посылки (нет, это не то, когда посылают на три буквы) - это идентификатор "хозяина" посылки. То есть например:
Код:
$GNGGA,...

символ '$' - это начало пакета, а вот GN - это идентификатор того, откуда эта инфа. И может он быть следующих видов:
GP - инфа от спутников GPS, SBAS, QZSS
GL - от GLONASS
GA - от Galileo
GB - от BeiDou
GN - это комбинированная инфа, сформированная (по видимому) самим контроллером на основании данных от разных групп спутников.

Так вот общие данные, такие как координаты, время, скорость и т.п. - идут с идентификатором GN. А вот всякие там данные о видимых спутниках (xxGSV) и т.п. идут уже с различными идентификаторами. Мне попадались пока GP и GL - то есть GPS и GLONASS. В принципе в повседневном применении GPS эта инфа как бы и нафиг не нужна. Главное координаты узнать :-)

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 30 окт 2019, 15:58 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
ФИАСКО

Однако подкрался п****ц внезапно :-) А дело вот в чем: корпус, в котором я пытаюсь собрать часы, получается довольно тесным. Иначе часы не поместятся на руке, и так из-за дисплея и GPS модуля часы получаются а-ля PipBoy. Так вот. Вчера я запихнул всю начинку (кроме кнопок пока-что) в корпус. Креплений специальных для чего либо там у меня не предусмотрено: сначала ложится дисплей, к нему подпаиваются проводками основная плата, далее к основной плате подпаиваются проводки для звука, отладочного разъема, кнопок, аккумулятора и т.п. И затем эта плата ложится сверху на дисплей. Мешают плате лечь на дисплей в плотную только проводки, а не дают плате вылететь назад плотные пазы в корпусе и отладочный разъем, который вставляется в корпус после того, как уложена плата (разъем как бы плату прижимает к дисплею и фиксирует).

И вот тут вылез неприятный сюрприз: когда я укладывал плату, один самый неформальный проводок лег аккурат на выступающий кондюк 1мкФ, да и проводок был толстый. Я это как-то не заметил, но такой "бутерброд" проводка и кондюка уперлись в дисплей (на нем аж пятно слегка темное появилось, но когда все разобрал - все вернулось как и было) и создали изгиб платы. Совсем небольшой.

НО! Разъем прижимает плату как раз в том месте, где подпаяны датчик давления и g-сенсор. И, видимо, изгиба платы этим датчикам хватило чтобы отбросить копыта... вернее склеить ласты... вернее... кароч от LGA корпусов отвалились пады. Внешне этого вообще не было заметно. Определилось только когда включил девайс и увидел что g-сенсор не выдает ACK при обращении к нему. Не работает вобщем. Ну я подумал что плохая пайка - решил его погреть. Погрел, включаю - обана! Теперь уже и датчик давления не работает. Решил их оба отпаять и увидел что половина падов у каждой микросхемы остались на плате.

Благо было чем заменить, теперь в этот угол, где они напаяны, подложил вспененый полиэтилен чтобы в случае чего плата тут не гнулась, т.к. прижим только в этой точке. Сейчас вроде все работает.

P.S. GPS еще только не проверил в корпусе.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 30 окт 2019, 17:47 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Проверил GPS. Не работал. Вернее - питание включается/выключается, сигнал не поступает в МК. Причина - перепутал Rx и Tx. Перепаял - все заработало, но, блеядь, погода не дает испытать GPS в полной мере.

Что внутри корпуса (а там аккурат над антенной GPS стоит дисплей, и я че-то думаю что он таки будет экранировать часть сигналов от спутников), что если вытащить и развернуть антенной в небо (на подоконнике) - GPS определяет только время и дату. На большее его не хватает... Ибо за окном лес, тугие тучи, снегопад и т.п. Когда была ясная погода, то на подоконнике GPS ловил более 12 спутников.

upd:
Ура! Ловит сигналы от спутников даже в корпусе! Ярый снегопад окончился - и сразу определил координаты :-)

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 02 ноя 2019, 03:04 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
Еще одно фиаско

Сегодня вот запилил измерение напряжения аккумулятора и понял на сколько я лох. Напряжение литий-ионного аккума обычно от 3В до 4.2В. Напряжение VREF у МК = 1.2В. Чтобы мерить гарантировано напряжение аккума как бы надо делитель, ну я и поставил... вернее "запланировал" на схеме его и подписал от балды номиналы в 1МОм. И забыл про это до сегодняшнего дня. И вот сейчас запускаю АЦП и вижу что напряжение измеряется 1.19823... В, и меняется там в задних цифрах чуток... Я сначала так думаю - а ведь надо еще на коэффициент делителя домножить, ога, полез в схему... и понял что домножать бестолку... Так как делитель пуляет в АЦП напряжение "с запасом" и получается зашкал. И актуально я смогу измерить напряжение на аккумуляторе только менее 2.4В - а это уже сработает защита.

Кароч сейчас посмотрел плату - есть два варианта, и чтобы реализовать любой надо снова полностью разобрать часы (блеядь, а я так старался их собирал сегодня). Либо надо поменять номиналы делителя, либо закоротить рядом находящиеся ножки VDDA и VREFH. А саму ногу VREF_OUT (1.2В) не использовать вовсе и включить в Hi-z состояние.

Еще есть вариант, хотя и спорный. У этого МК внутри запилен SAR ADC на 16 разрядов. Хороший АЦП, скоростной причем, на частоте 12МГц может цифровать со скоростью около 460k выборок в секунду. Так вот - входное сопротивление этого АЦП зависит от скорости, на которой он работает. Чем выше скорость - тем оно меньше. И производитель в даташитах рекомендует на больших скоростях на каждый вход АЦП заводить по буфферу. Сейчас я "задал" этому АЦП скорость 8МГц и напряжение он стал выдавать уже 1.1-1.15В и оно уже ощутимо меняется. Получился ли финт ушами хер знает - вся эта фишка с входным сопротивлением АЦП может оказаться сильно нелинейной и только все испортит.

Погано еще то, что внутри нельзя подключить опору АЦП к питанию. Только дорожкой на плате к специальным выводам. Досадно.

P.S. А еще я таки запихал все в корпус, включая кнопки. Написал софт для энкодера и тех самых кнопок, все закрыл крышечкой и нацепил ремешок. Ремешок без застежек правда пока что - это тесты только. Сегодня в общем уже ходил при часах аки жжентельмен. Удивительно что такие громоздкие часы (а получились большими) почти не мешаются. Ощущаю их только если надо левой рукой оттолкнуться от чего-то ладонью (отжаться например). И т.п. За одежду не задевают, легкие.

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 02 ноя 2019, 12:34 
Только пришел

Зарегистрирован: 18 сен 2012, 15:27
Сообщения: 5
DS3231 с батарейкой или ионистором в дополнение к любой самосинхронизации - самое то.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 02 ноя 2019, 16:06 
Старожил

Зарегистрирован: 02 дек 2010, 13:52
Сообщения: 5158
Откуда: п. Борок, Ярославская область
2 Sergeri Frolov
DS3231 был в прошлой версии, здесь более продвинутая микросхема того же класса - PCF2127AT, плюс GPS для точной синхронизации внутренних часов при необходимости.

2 all
А беда с опорой АЦП таки решается только хирургическим вмешательством. Бл****во! Ну что им (Freescale) стоило запилить внутрь мультиплексор разных сигналов на опору АЦП? Сейчас детально изучил даташиты - АЦП тупо берет опору от внешних контактов VREFH, VREFL. В некоторых версиях корпусов есть еще ALTH, ALTL - типа альтернативный Vref и в моем корпусе он заведен на тот же VREFOUT. То есть те же 1.2В. Завести туда что-то другое, например VDDA, можно только снаружи. Просто жуткое неудобство, по сравнению с ATMEGA328 - там-то все можно сделать манипуляциями регистров.

Еще беда усугубляется тем, что сигнал после делителя (с мегаомными резюками) я еще нагрузил на землю кондюком 10нФ - ну типа для стабильности. И это привело к тому, что этот кондюк обеспечивает необходимый входной ток для АЦП даже на 8МГц тактовом сигнале. Так что финт ушами с просадкой от малого входного сопротивления АЦП не проканает. И, пока что, я вижу только один вариант - это снова разбирать часы (а с моими глазами и кузявыми руками это так утомляет) ради того, чтобы:
а) либо выдернуть резюк нижнего плеча делителя и заменить его на номинал поменьше (например вместо 1МОм поставить 330 кОм) - чтобы увеличить коэффициент деления
б) закоротить ногу VREFH на соседнюю VDDA, а потом программно отключить шатный VREF переведя его в HiZ состояние.

Но по любому придется снова разбирать часы, затем их собирать... И в этом процессе я могу еще что-то там сломать... Вот так вот оно бывает, когда спешишь и не читаешь вдумчиво десятки страниц reference manual-ов. Там конечно все написано, но все сплошным текстом и ключевые фичи редко когда чем-то выделены. И на английском все...

_________________
Ёж птица гордая, пока не пнешь - не полетит.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Делаю новые часы с преферансом и куртизанками
СообщениеДобавлено: 02 ноя 2019, 16:09 
Старожил
Аватара пользователя

Зарегистрирован: 18 июн 2011, 16:29
Сообщения: 1814
Откуда: Докучаевск-Волноваха
Фотки покажи, интересно же)

_________________
Хранитель форума


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 170 ]  На страницу Пред.  1, 2, 3, 4, 5 ... 7  След.


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB