Делаем мобильный телефон с нуля. Как сделать телефон настоящий

Как сделать телефон настоящий - Чипсет и производительность Как сделать корпус PiPhone Шаг 7: Мобильник на макетной плате Краткое описание

Теперь вырежьте круги для циферблата. Не делайте их большими и прямыми. Сделайте прорезь в центре для крепления винтовой крышки. Таким образом, лоток будет прикреплен к основной части.

Как сделать настоящий телефон своими руками

Помимо десятка известных международных компаний, сотни компаний в разных странах производят телефоны. Они продают не только готовые устройства, но и всевозможные компоненты, микросхемы и модули.

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

  • Совершение исходящих вызовов, прием входящих вызовов,
  • отправка и получение SMS-сообщений,
  • быть будильником, если это необходимо,
  • поддерживать информацию о наших контактах,
  • отслеживает наши контакты, отслеживает наши контакты, отслеживает наши контакты, отслеживает наши контакты, отслеживает наши контакты, отслеживает наши контакты, отслеживает наши контакты.

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

Что понадобится

Независимо от количества встроенных модулей для беспроводной и проводной передачи данных, каждый телефон начинается с базовой платы микроконтроллера.

Готовая микросхемная плата

Не изобретая колесо, вы можете сразу перейти к микросхеме Arduino GPRS Shield SIM900 или GSM Shield 2 со встроенным антенным модулем. Этот чип уже включает в себя:

  • Модули для сопряжения с базовыми станциями операторов мобильной связи, использующих стандарт GSM в диапазонах частот 850-960 МГц и 1805-1880 МГц. Это позволит охватить все задачи, поставленные для общения, отправки текстовых сообщений.
  • GPRS-модем, работающий с вышеупомянутым GSM-модулем. Возможно, плата сможет загружать данные со скоростью до 85,6 кбит/с.

Как сделать настоящий телефон своими руками

Arduino GSM Shield стоит 4-5 тысяч рублей, а GPRS Shield SIM900 — 1-2 тысячи рублей по состоянию на декабрь 2019 года. Единственное отличие между GPRS Shield SIM900 и GSM Shield 2 заключается в том, что у первой модели в разъем вкручивается отдельная антенна, а второй вариант в этом не нуждается.

Тем, кто ищет дополнительные возможности в виде UMTS (3G), LTE (4G), позиционирования GPS/ГЛОНАСС, поддержки Bluetooth или Wi-Fi, следует рассмотреть другие микроконтроллеры или просто припаять необходимые передатчики к плате Arduino.

画面

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

Как сделать настоящий телефон своими руками

Существуют готовые варианты плат с небольшим текстовым дисплеем и всеми встроенными модулями данных. Один из них, DIY Cellphone, светодиодная матрица. На декабрь 2019 года мы нашли эту доску за 3 778 рублей, проверьте ссылку.

Нам также понадобятся транзисторы, резисторы, кнопки, микрофон, динамики, USB-разъем и литий-ионный аккумулятор. Полный список можно найти в документе, который мы подготовили здесь. Бюджет должен составлять около 10 тысяч рупий.

Не изменяйте размер антенны, предусмотренной для передачи данных, без понимания физики процесса. Его длина напрямую связана с частотами передачи и приема сигнала. Если самопроизвольно изменить размер антенны, коэффициент стоячей волны (SWR) увеличится, а свойства передачи и приема ухудшатся. Больше — не значит лучше.

В результате у вас есть три варианта:

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

В зависимости от вашего свободного времени, денег, навыков и желаний, вы сами выбираете, какой вариант вам больше по душе. Чем меньше вам придется делать, тем дороже будет стоить решение. Самый дешевый вариант — купить готовый смартфон в магазине.

Если у вас мало или совсем нет денег и вы умеете обращаться с палками, попробуйте извлечь нужные вам компоненты из старого смартфона. Это не только сэкономит ваши деньги, но и время, если вам придется ждать посылки с аксессуарами.

Как спаять электронику

Вам понадобится стандартный набор инструментов для сварки (сам паяльник, клей и плоскогубцы). На рабочем месте следует помнить о двух вещах

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

Помимо платы, для получения высококачественного сигнала можно приварить внешние антенны. Медная проволока, металлические диски и штифты являются подходящим сырьем. Посмотрите видео, чтобы узнать, как подключить внешнюю мобильную усиливающую антенну к телефону или 3G-модему.

Необработанные значения были реконструированы, пока UNO был подключен к компьютеру. Когда кабель был подключен, все функционировало нормально. После отсоединения кабеля кнопки сразу же перестали работать. Почему; я задал себе тот же вопрос.

Шаг 1: Материалы и комплектующие

Платы можно заказать от OSH Park. Стоимость комплекта из 3 штук ~60$.

Компоненты для платы можно приобрести в Digi-Key, SparkFun или Ardunio. Полный список компонентов можно скачать здесь — PDF. Общая стоимость составляет около 135 долларов плюс доставка.

Для сборки платы вам понадобятся паяльник (например), сварка и плоскогубцы. Для программирования микроконтроллера вам понадобится программатор AVR (например, см. ниже) и кабель USB (например, см. ниже). Для зарядки аккумулятора вам понадобится кабель mini-USB. Если у вас нет ни того, ни другого и вы не планируете строить домашнюю мастерскую, обратитесь к местному полку за новым инженером. Скорее всего, у них есть все необходимое и они не откажутся поработать на своем оборудовании за несколько хрустящих купюр или баночку меда:)

Для корпуса нам понадобится фанера 6 мм (только не покупай фанеру на которой видны следы клея, при работе с лазером он может возгореться), шпон, ~1.5 см шурупы. Хотя конечно ты можешь придумать и свой корпус и сделать его из любого другого материала.

Шаг 2: Паяем электронику

В телефонах много мелких компонентов, прикрепленных к плате, но с небольшой практикой вы сможете приклеить их все вручную.

Процесс сварки большинства компонентов не сложен, но есть несколько моментов, о которых следует знать

Конденсаторы: будьте осторожны с полярностью больших конденсаторов (1000 мкФ). Если приклеить их вверх ногами, они могут взорваться. Обратите внимание на оранжевую полосу в качестве ориентира.

Полярность: другие компоненты с полярностью: нагнетатель, диоды, микроконтроллер ATmega1284P, GSM-модуль M10, слот для SIM-карты, микрофон и т.д. Неполяризованные компоненты: микрофон, кнопки, небольшие конденсаторы, резисторы.

Шаг 3: Прошиваем

Телефон имеет множество компонентов, отвечающих за работу сети, и их неправильная конфигурация может вызвать проблемы с сетевым подключением. Если соединение не исчезает и отображается, это может подтвердить наличие проблемы. Ниже перечислены некоторые из наиболее распространенных причин такого поведения. Если на экране ничего не появляется, проверьте сварку компонентов и убедитесь, что программное обеспечение установлено правильно.

Не забудьте вставить SIM-карту. Правильно ли запечатан слот для SIM-карты? А резистор 22 Ом (тот, который соединяет слот SIM-карты с GSM-модулем)? Все ли в порядке с модулем GSM? Правильно ли приклеены антенны? Правильно ли сварены 0-омные резисторы? (Постарайтесь оставить место в хорошо обозначенных местах (это касается подключения M10 GSM-модуля и антенны).

Отладку телефона можно продолжить, используя микроконтроллер в качестве прокси для связи с GSM-модулем с компьютера. Для этого загрузите SerialProxy на телефон, откройте его на компьютере, установите скорость передачи 9600 и завершите линию «возвратом каретки». Через несколько секунд на экране появится сообщение ‘READYTOOK’. Это сигнализирует о том, что GSM-модуль готов к приему AT-команд. Подробное описание команд можно найти в документации на GSM-модуль.

AT является тестовым заказом и должен вернуться в порядке. В CREG? -Проверьте статус регистрации в сети. Ответ: CREG0, N. Где N — 0 (устройство не зарегистрировано), 1 (регистрация пройдена), 2 (поиск сети), 3 (запрос на регистрацию отклонен), 5 (регистрация пройдена, роуминг). = «SM» — выбор каталога sim-карт.

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

Блок-схема компонентов

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

Важным элементом устройства будет блок мобильного телефона SIM800C. Он содержит полную радио- и аудиосхему и реализует основные функции сети GSM. Другими словами, это практически полноценный мост GSM-UART, которым нужно только управлять через внешний терминал.

Для этого требуется экран, клавиатура и некий микроконтроллер для выполнения основной программы. В качестве экрана использовался дисплей ST7735 с разрешением 128×160 пикселей. Уже имеются библиотеки для визуализации символов и графических примитивов. В целом, выбор экрана не является критичным для проекта; можно использовать другие экраны с подходящими диагоналями.

16-клавишная клавиатура реализована с помощью сдвиговых регистров (пары 8-битных микросхем ПДФ 74HC165). В качестве альтернативы можно использовать микросхемы соответствующего отечественного изделия «Интеграл» КР1533ИР9. В любом случае, выходы таких регистров являются неполными SPI. Это происходит потому, что при выключении они не переходят в состояние высокого сопротивления. Поэтому вместо шины SPI с аппаратным и экранным выравниванием была использована программная реализация.

Все управляется микроконтроллерами семейства STM32. Особые требования к производительности не требуются, что делает его пригодным даже для недорогих решений. Модель F103C8T6 (PDF) была выбрана из-за большого количества ресурсов. В конце концов, известная серия отладочных плат BluePill (отличный способ избавиться от зависимости от Arduino) основана на этом микроконтроллере. Это позволило нам собрать прототип и фактически с нуля проверить работу компонентов.

Некоторые микросхемы F103C8T6 имеют 128 Кбайт памяти вместо заявленных 64 Кбайт. Однако это непроверенная функция, и не следует полагаться на «дополнительный» банк памяти.

Позже (и в качестве приятного бонуса) мы решили добавить в проект внешний 32 Мбит кэш W25Q32 (PDF). Это позволило нам хранить все контакты по отдельности, не заменяя флэш-память в самом микроконтроллере. Кроме того, на телефон можно загружать изображения, символы и другую растровую графику.

Схема самого телефона очень стандартна и не требует особых комментариев. SIM800C активируется путем подачи низкого уровня на вывод REST (с помощью транзистора Q1, подключенного к выводу PA0 микроконтроллера). Кроме того, светодиоды VD2 и VD3 указывают на состояние радиомодуля. VD2 мигает при успешном подключении, а VD3 остается включенным, пока SIM800C активен.

Принципиальная схема устройства

Схема устройства.

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

Настраиваем UART

Сегодня существует множество вариантов программирования микроконтроллера. К ним относятся различные языки (C / C ++, Rust) и различные библиотеки прикладного уровня (HAL от ST Microelectronics, Arduino Core и т.д.). В проекте использовался обычный C и libopencm3 с открытым исходным кодом.

Полный набор исходных файлов проекта доступен в репозитории GitHub.

Первое, что необходимо сделать, это инициализировать UART1. Это связано с тем, что UART1 отвечает за связь с радиомодулем. Параметры стандартные: 115200 бод и 8N1.

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

Оцените статью
club-cs.ru