Пятница, 26.04.2024, 09:57 
Приветствую Вас Гость | RSS



Меню сайта
 

Личные странички
UA3EKK
RV3EFH
UA3EID
RA3EA
UA3EKJ
RA3ED
UA3ECX
RV3EF

Мини-чат

Погода


Наш опрос
Каким видом радиосвязи вас чаще всего можно услышать в эфире?
Всего ответов: 299

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

admin

Форма входа
Логин:
Пароль:

Куплю/продам

[13.02.2012]
продам (1)
[19.12.2011]
icom R6 (0)
[16.10.2011]
Усилитель мощности на ГС31/ ГС35 (3)
[22.05.2011]
Рубрика технической взаимопомощи (2)
[10.03.2011]
поворотное (0)

Фото

Праздники

Ваш IP
Узнай свой IP адрес

Главная » 2017 » Октябрь » 4 » Разработка и реализация велоспидометра своими руками
16:03
Разработка и реализация велоспидометра своими руками

Разработка и реализация велоспидометра своими руками

Ещё 5 лет назад у меня была идея разработать и сконструировать велоспидометр (велокомпьютер) на базе дисплея и корпуса от известного мобильного телефона NOKIA 3310.

 

 

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

К написанию программы я приступил два года назад. За основу устройства был выбран распространённый микроконтроллер ATMega8. На этапе написания программы я не прибегал к использованию библиотек для работы с дисплеем. Все функции довольно просты и реализуются самостоятельно. Меня принципиально интересовал именно не символьный, а графический дисплей, так как одной из моих функциональных задумок было отображение на дисплее графика (гистограммы) зависимости текущей скорости от расстояния. Данный функционал представляет немалый интерес и отсутствует в дешёвых велокомпьютерах.

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

 

 

 

 

Устройство считает обороты колеса, пересчитывая их на расстояние (как абсолютное, так и относительное), вычисляет с каждым оборотом скорость, отображает дату и время, максимальную и среднюю скорость, запоминает дату и время абсолютно-максимальной скорости, отображает график (как на фотографии выше). Кроме всего, устройство может работать с памятью ПЗУ для записи результатов измерения с дальнейшим просмотром их на компьютере. Также предусмотрена подстветка дисплея.

 


 

Принцип измерения скорости основывается на подсчёте периода оборота колеса, а расстояние вычисляется на основе измерения количества таких оборотов. Датчиком оборота служит геркон в совокупности с магнитом на спице колеса.

Для вывода символьной (численной) информации я применил два набора графических шрифтов. Первый набор, крупный 8X8, служит для вывода скорости, как основной информации. Второй набор, мелкий 3X5, – для остальной информации. Последний набор я нарисовал самостоятельно и преобразовал в числовые массивы по формулам с помощью Excel. Данные массивы подставляются в исходный код программы микроконтроллера.

 

Дизайн графики основного окна я продумывал, применяя также программу Excel для удобства фиксации координат и адресов пикселей. Учтено размещение графической информации по группам, состоящих из 8 строк, согласно большинству монохромных дисплеев, исходя из особенностей их управления. В дальнейшем для удобства убраны «незначащие нули» слева у длинных чисел.

 

 

В процессе эксплуатации устройства были выявлены небольшие недостатки, связанные с особенностями изготовления. Прежде всего – плохой контакт дисплея с контактными площадками печатной платы. В оригинальном мобильном телефоне контакты на плате позолоченные, и окисление отсутствует. В моём случае они просто лужёные.

Исходя из вышесказанного, было принято решение переделать устройство в другой корпус, а также переделать печатную плату, на которую дисплей будет припаиваться. Этим процессом я занялся совсем недавно. В результате получилась более устойчивая к работе конструкция.

 

 

 

Корпус для устройства я изготовил из куска оргстекла, толщиной 17 мм, на фрезерном станке ЧПУ. Для этого я предварительно набросал эскизы корпуса в той же программе SPlan, почти полностью не владея тематикой чертежей, САПР и т.д.

 

 

Данные наброски нужны для общего представления и получения координат опорных точек. На их основании пишется программа на станок ЧПУ, принимая во внимание общие принципы и последовательности фрезеровки. Программу ЧПУ я писал вручную в Excel, применяя функции автозаполнения на повторяющиеся операции.

 

 

 

Схема устройства представлена на рисунке ниже.

 

В центре схемы расположен микроконтроллер ATMega8. Схема питается от напряжения 5В через линейный регулятор VR1, на который я подаю 12В через пин 10 разъёма X1. К порту прерывания INT0 МК (пин 32) через пин 4 разъёма X1 подключается геркон (на схеме не отражён), являющийся датчиком оборота колеса. К произвольным портам (пины 28, 27, 23) подключены функциональные кнопки S1-S3. К SPI интерфейсу контроллера (пины 15-17) подключен дисплей IC2 и определённые пины разъёма X1 для перепрошивки. На этот же разъём зацеплен UART интерфейс (пины разъёма 2, 3) для пользовательского подключения к компьютеру, через который настраиваются дата и время на устройстве (пины МК 30-31, RX/TX). Дисплей к контроллеру подключен через делители на резисторах, служащие для снижения напряжения, ибо дисплей работает на напряжении 3.3 В. В дополнение, пины дисплея D/C (данные/команда), SCE (строб) и RES (сброс дисплея) подключены к произвольным портам МК PB2, PB1 и PB0 соответственно (пины 12-14). Питание дисплея осуществляется через диоды D1-D3 и резистор R5, которые служат для снижения напряжения с 5 до 3.3 В, избегая применения линейного регулятора. Кварц Cr1, тактирующий МК, номиналом 4.5 МГц выбран случайно, но обдуманно. Данный кварц можно часто встретить в автомагнитолах. В дальнейшем я нашёл и поставил кварц 4.433619 МГц, незначительно подкорректировав некоторые константы в исходном коде собственной программы. Все математические соображения имеют немалый объём, и поэтому здесь излагаться не будут. К порту МК PD3 (пин 1) подключен транзистор Q1, на который нагружены светодиоды подсветки дисплея. К порту МК PD4 (пин 2) подключен светодиод, который кратковременно мигает при прохождении магнита через геркон, индицируя вращение колеса. Шина I2C подключена к портам PC2-PC3 (пины 25-26) и для простоты реализована программно с применением соответствующей библиотеки. На шине подвешены ПЗУ (EEPROM) IC3 и часы реального времени (RTC) IC4. ПЗУ съёмное и цепляется на разъём X2, расположенный на дне устройства. Дополнительный порт контроллера PC1 (пин 24) служит для приёма импульсов с частотой 1 Гц с RTC, по которым обновляется время на дисплее. Батарейка Bat1 служит для энергосберегающей работы часов при отсутствии основного питания на устройстве.

Для копирования информации с ПЗУ в ПК применена известная схема, представленная на рисунке ниже. Программа для считывания и обработки информации написана мной самостоятельно с применением среды разработки Dev-Cpp и средств WinAPI для работы с последовательным портом.

 

Велоспидометр предусматривает подключение через последовательный интерфейс к компьютеру (к COM-порту через распространённую микросхему MAX232). Реализована программа для копирования текущей даты и времени с компьютера в устройство.

В качестве дополнительного функционала моего проекта я реализовал программу для работы с ПЗУ микроконтроллера, в которое хранятся данные шрифтов, сохраняются общий пробег, максимальная скорость и т.д. По своей сути, программа является той же программой для прошивки микроконтроллера. Я работаю с простейшим программатором «STK 200», подключенным к LPT порту компьютера, а точнее, с его аналогом, если его так можно назвать, ибо в простейшем случае программатор вовсе не содержит активных элементов. Фактически, МК по SPI интерфейсу подключается к определённым пинам LPT порта напрямую и работает, как ведомое устройство. Программа реализует протокол обмена данными с контроллером ATmega8, согласно его даташиту (стр. 237). Физический уровень SPI реализован путём управления регистрами LPT порта с применением известной динамической библиотеки «inpout32.dll». Программа предназначена для считывания, резервирования, записи, корректировки и восстановления из резервной копии хранящихся в ней данных. В дополнение к сказанному, программа может выводить полный дамп EEPROM контроллера в 512 Байт на экран.

Все вышеописанные программы консольные (без интерфейса) и работают через командную строку, что делает программирование значительно проще.


 

Просмотров: 1682 | Добавил: RV3EEQ
Всего комментариев: 8
2 rv3ef  
0
Тёма, ты на Слете спрашивал, я теоретически могу тебя познакомить с директором обособленного подразделения Болид в Орле (Королев, Москва, охранные системы, контроллеры). На собеседование в МСК поедешь сам, удаленную работу из Ливен - обсудишь сам. ... В Орле есть еще на hh.ru - Либротех, и ООО "Разработка сложных систем", последняя , по-моему, мутная. Есть Меньшов на Протоне. И еще кто-то не помню. Так что - велкам - есть перспектива трудоустройства. Молодец! Не то что твой одноклассник, которого GM педалирует )))

1 ra3ed  
0
Видел эту конструкцию в живую, классная штука, мне понравилась !

3 RV3EEQ  
0
Размещал я эту статью следующим образом. Изначально я набирал текст в MS Word 2003, туда же вставлял картинки. Потом открыл в Google Chrome сайт ОЭФ - Добавить новость (Визуальный редактор по умолчанию). Скопировал всё содержимое из Word, нажал в редакторе "Вставить". Но вставился только текст, а вместо картинок - пустые поля. Я загрузил файл .doc на Google Документы, открыл его встроенным в сервис редактором (очень похож на Word, но онлайн в браузере), и только оттуда функция копирования с картинками на сайт ОЭФ в Визуальном редакторе заработала. Однако почему-то весь текст стал жирным, и я не смог убрать это. Чем сможешь помочь?

4 ra3ed  
0
Жирный текст задав в форматировании как-то не стандартно. При желании можно разобраться и найти ошибки. Но для экономии времени можно просто удалить форматирование и отформатировать заново, как тебе нужно. В редакторе есть кнопка "Удалить форматирование" (html-)

5 RV3EEQ  
0
Я так пробовал делать. Помогает, но после этой операции текст не укладывается в ширину экрана, выходя за её пределы. Нужно как-то в визуальном редакторе ограничить область документа по ширине. Подскажи пожалуйста.

6 ra3ed  
0
Какой у тебя браузер стоит ? Попробуй Мазилу или Гуглхром поставить.

7 RV3EEQ  
0
Google Chrome, как я уже писал выше. Дело не в браузере, а в форматировании текста.

8 ra3ed  
0
Доброго дня. Если дело не в браузере, то видимо остаются где-то части кода отвечающие за отображение текста.
Попробуй выделить весь текст или весь документ и убрать форматирование.
Расскажи, что получилось.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Круглый стол
Круглый стол от 20.04.2024 г. СКАЧАТЬ.

Предыдущий круглый стол от 13.04.2024 г. СКАЧАТЬ.

Круглый стол 10 лет назад от 26.10.2013 г. СКАЧАТЬ.

Круглый стол 10 лет назад от 12.04.2014 г. СКАЧАТЬ.

Круглый стол 10 лет назад от 26.04.2014 г. СКАЧАТЬ.

Наши видео

Дни рождения
Дни рождения в Апреле :
 
R3EN Леонид (Верховье):
9-ого исполнилось 65

R2EAF Владимир (Ливны):
11-ого исполнилось 53

R2EAC Кирилл (Орёл):
12-ого исполнилось 19

RU3EE Владимир (Кромы):
12-ого исполнилось 66

R3ECV Иван (Залегощь):
16-ого исполнилось 64

UB3ECL Валерий (Орёл):
19-ого исполнилось 51

R3ECU Владимир (Орёл):
20-ого исполнилось 48

RC3EA Сергей (Орёл):
21-ого исполнилось 55

R3EAF Владимир (Долгое):
22-ого исполнилось 60

R3EAK Роман (Орл. р-н):
26-ого исполнилось 48 СЕГОДНЯ!!!

UB3EAC Евгений (Мценск):
27-ого будет 76

UA3E Сергей (Верховье):
28-ого будет 57

 
Поздравляем !!!

E-mail отправителя *:
ФИО, позывной, день рождения:

Наши соревнования

Соревнования Золотой Орел


Календарь
«  Октябрь 2017  »
ПнВтСрЧтПтСбВс
      1
2345678
9101112131415
16171819202122
23242526272829
3031

Поиск

Друзья сайта
  • RK3EWW
  • Сайт Ливенских радиолюбителей
  • Полезные ссылки:
  • QRZ.RU
  • Сервер Кубанских Радиолюбителей
  • Союз радиолюбителей России
  • Российский УКВ портал

  • Форум
  • XieGu (0)

  • Коментарии

    Поиск на QRZ.RU
    Поиск в российском Callbook'e:
    ON-LINE поиск предоставлен сервером QRZ.RU

    Известные сайты
    Сервер радиолюбителей России - схемы, документация,
 соревнования, дипломы, программы, форумы и многое другое!

    Сервер 

Кубанских радиолюбителей

    Российский УКВ портал

    R-Quad - 

радиолюбительские антенны


    РАДИОФАНАТ - 

сайт Николая Большакова

    Орловский регион
    Радиоклуб Орловский Эфир. Региональное общественное объединение

    Детская коллективная радиостанция. Орел



    Сайт Ливенских радиолюбителей

    Разместите наш баннер

    Регионы России

    Smolradio.ru -
Сайт Радиолюбителей Смоленщины

    Сайт радиолюбителей Тульской области

    Сервер Тамбовских Радиолюбителей



    Тульский областной радиоклуб




    Принципиальные схемы

    Архив записей

    Радиоклуб Орловский Эфир © 2024Сайт управляется системой uCoz