Оглавление:

Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi: 12 шагов (с изображениями)
Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi: 12 шагов (с изображениями)

Видео: Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi: 12 шагов (с изображениями)

Видео: Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi: 12 шагов (с изображениями)
Видео: Круглый IPS-дисплей на контроллере GC9A01 2024, Ноябрь
Anonim
Image
Image
Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi
Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi
Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi
Паяльный микроскоп Raspberry Pi Zero HDMI / WiFi

Пайка компонентов SMD иногда может быть сложной задачей, особенно когда речь идет о таких вещах, как микросхемы TQFP с шагом выводов 0,4 мм и 100 или более выводами. В таких случаях действительно полезно иметь доступ к некоторому увеличению.

Пытаясь решить эту проблему, я решил создать свой собственный паяльный микроскоп на базе Raspberry Pi Zero W и модуля камеры. Микроскоп может передавать потоковое видео в формате Full HD прямо на монитор HDMI практически без задержки, что идеально подходит для пайки. Но также и по Wi-Fi с задержкой менее полсекунды, что неплохо для проверки платы.

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

Если у вас есть 3D-принтер, обязательно ознакомьтесь с удивительным проектом RichW36 на Thingiverse, где представлена версия микроскопа, использующая детали, напечатанные на 3D-принтере!

Шаг 1. Инструменты и детали

Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти
Инструменты и запчасти

Для сборки микроскопа вам понадобятся следующие детали:

1 x Raspberry Pi Zero W [10 €]

1 x модуль камеры Raspberry Pi [8 €] - вам нужно будет взломать его, чтобы изменить его фокусное расстояние и позволить фокусироваться на очень близких объектах. Я не знаю, возможна ли такая же процедура с новым модулем камеры на 8 МП, поэтому я рекомендую вместо этого приобрести исходный модуль на 5 МП.

1 x Raspberry Pi Zero Camera Cable [2 €] - Как вы, возможно, уже знаете, Raspberry Pi Zero имеет меньший разъем для камеры, чем другие платы Raspberry Pi, поэтому вам также понадобится специальный кабель-адаптер для подключения к нему модуля камеры..

1 x пластиковый микрометр штангенциркуля - чем дешевле вы можете найти, тем лучше, я просто использовал старый пластиковый аналог, который у меня валялся.

1 кусок линейки - ширина линейки должна быть меньше длины подвижной губки штангенциркуля. Что касается длины, подойдет от 10 до 15 см.

1x Алюминиевая коробка Project Box [4 €] - она будет использоваться в качестве основы для сборки и должна быть сделана из металла, поэтому она также будет термостойкой. Коробка необходима для того, чтобы вы могли поместить внутрь нее груз, чтобы она была более устойчивой во время пайки.

1 x HDMI-кабель и переходник с HDMI на штекер Mini HDMI - вы также можете приобрести кабели HDMI-Mini HDMI, если хотите, но у меня уже был обычный кабель HDMI.

1 блок питания Micro USB - согласно моим измерениям, ток, потребляемый Pi, никогда не превышает 400 мА, даже при одновременной потоковой передаче видео 1080p через Wi-Fi и HDMI. Так что даже блока питания на 500 мА должно хватить. На всякий случай я рекомендую приобрести 1A, особенно если вы планируете построить портативную версию, которая также будет иметь потери на повышающем преобразователе.

1 карта MicroSD [5 €] - Даже 4 ГБ будет достаточно, просто убедитесь, что это высокое качество класса 10.

4 винта и гайки M2 [менее 1 €] - также можно использовать винты большего диаметра. Однако, чем больше винт, тем шире должно быть отверстие, и тем больше риск поломки пластика.

1 стик для горячего клея [1 €]

Кабельные стяжки [менее 1 евро] - будут использоваться для крепления Pi к подвижной части суппорта.

И следующие инструменты:

Пистолет для горячего клея

Dremel - с диском, который может прорезать пластик, а также сверлами для пластика и алюминия размером с винты.

Плоскогубцы с длинным носом

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

Отвертка Philips

При желании, если вы хотите сделать его портативным, вам потребуются следующие дополнительные детали:

1 х LiPo аккумулятор [8 €] - Емкость которого будет зависеть от желаемого срока службы батареи, эффективности повышающего преобразователя и среднего энергопотребления.

1 зарядное устройство LiPo / повышающий преобразователь на 5 В [20 €] - Для этого проекта я выбрал PowerBoost 1000C от Adafruit. На eBay также доступны гораздо более дешевые альтернативы, хотя я решил выбрать именно этот из-за хорошей функции, о которой я расскажу позже.

1 х 40-контактный двухрядный штекерный контактный разъем [менее 1 €]

1 x 40-контактный двухрядный разъем для женских штифтов [менее 1 €]

1 8-контактный штекерный разъем [менее 1 €]

1 8-контактный разъем для женских контактов [менее 1 €]

1 макет платы [1 €] - поскольку вам придется припаять коннекторы с обеих сторон платы, я рекомендую приобрести двустороннюю. В качестве альтернативы вы можете получить макетную плату, специально разработанную для Pi Zero, например, от MakerSpot.

1 резистор 1 кОм [менее 1 €]

1 резистор 10 кОм [менее 1 €]

1 x BC547 [менее 1 €] - Подойдет любой NPN-транзистор общего назначения, это как раз то, что я использовал.

1 x DPST Momentary Switch [1 €] - В идеале вам нужен переключатель DPST, чтобы вы могли включать и выключать Pi с помощью одной и той же кнопки. К сожалению, у меня его не было, поэтому мне пришлось использовать два отдельных переключателя мгновенного действия SPST.

Кабельные стяжки [менее 1 €] - Еще один нужен для портативной версии, для крепления батареи на задней стороне макетной платы.

Припой провод

И следующие дополнительные инструменты:

Паяльник

Пара кусачков

Общая стоимость непортативной версии, исключая блок питания, кабель HDMI и переходник на mini HDMI, составила около 30 евро. И дополнительные расходы на переносимость также составили около 30 евро. Большинство деталей было куплено на eBay.

Шаг 2: Подготовка MicroSD

Запись образа на карту microSD

В качестве основы для системы я решил использовать официальный образ Raspbian Lite и установить только то, что мне нужно. Для начала загрузите последний образ Raspbian Lite с веб-сайта raspberrypi.org и запишите его на карту microSD.

Если вы используете Linux, после распаковки вы можете записать его, выполнив следующую команду от имени пользователя root:

dd if = / путь / к / -raspbian-jessie-lite.img of = / dev / sdX bs = 4M

Где X - буква устройства, которое соответствует вашей карте памяти microSD, например. c. Перед запуском команды убедитесь, что нет подключенных разделов, принадлежащих карте microSD. Если нужно использовать следующую команду для размонтирования каждого из них, umount / dev / sdXY

Но будьте предельно осторожны, использование неправильной буквы вместо X может нанести непоправимый ущерб вашей системе и испортить вам день. Перед запуском команды dd дважды проверьте, что буква, которую вы ввели вместо X, действительно соответствует устройству microSD.

Если вы используете Windows, после загрузки образа Raspbian Lite и его распаковки вы можете использовать Win32DiskImager, чтобы записать его на карту microSD. Более подробную информацию можно найти в официальной документации Raspberry Pi.

В MacOS доступно графическое приложение Etcher, которое можно использовать для записи изображения на карту microSD. В качестве альтернативы вы также можете использовать dd аналогично Linux, но процесс немного отличается. Опять же, вы можете проверить официальную документацию для получения дополнительной информации.

Настройка Wi-Fi

После записи образа на карту microSD вам нужно будет настроить WiFi перед первой загрузкой, а также включить SSH.

Первое, что вам нужно сделать, это создать пустой файл с именем SSH внутри загрузочного раздела карты microSD. Если вы работаете в Windows, загрузочный раздел, скорее всего, будет единственным разделом, который вы сможете увидеть, поскольку Windows изначально не может читать или записывать разделы ext4. Если разделы карты microSD в настоящее время не смонтированы, просто отключите карту и снова подключите ее к компьютеру.

Затем снова внутри загрузочного раздела создайте файл с именем wpa_supplicant.conf с настройками беспроводной сети. Содержимое файла должно выглядеть примерно так, страна =

сеть = {ssid = psk = proto = RSN key_mgmt = WPA-PSK попарно = CCMP auth_alg = OPEN}

proto может быть либо RSN для WPA2, либо WPA для WPA1.key_mgmt может быть либо WPA-PSK, либо WPA-EAP для корпоративных сетей. пара может быть либо CCMP для WPA2, либо TKIP для WPA1.auth_alg, вероятно, будет ОТКРЫТО, а LEAP и SHARED - другие варианты. Что касается страны, ssid и psk, они должны быть в значительной степени понятными.

Вот и все, теперь просто отключите карту microSD от компьютера и вставьте ее в свой Pi. Затем подключите Pi к монитору HDMI, подключите модуль камеры с помощью специального ленточного кабеля и, наконец, включите питание. Через несколько секунд ваш Pi должен загрузиться и автоматически подключиться к вашей сети Wi-Fi. На экране вы также должны увидеть IP-адрес, полученный от DHCP-сервера вашего маршрутизатора.

Обновление от 06.04.2018:

Если по какой-то причине ваш Pi не может подключиться к Wi-Fi во время загрузки, попробуйте вместо этого следующий wpa_supplicant.conf, страна =

ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1 network = {ssid = "" psk = ""}

Недавно я пытался настроить Pi Zero W без головы с последней версией Raspbian, и мне не удавалось заставить его работать, пока я не использовал wpa_supplicant.conf, указанный выше. Итак, если у вас тоже есть такая же проблема, это может помочь.

Шаг 3. Установка SSH-соединения

Если вы еще не подключили монитор к Pi и не видите, какой у него IP-адрес, есть несколько способов его обнаружить. Один из способов - проверить журналы DHCP-сервера вашего маршрутизатора. Все маршрутизаторы разные, поэтому я не буду описывать этот процесс.

В Linux еще один простой способ - запустить следующую команду nmap от имени пользователя root:

nmap -sn x.x.x.x / y

Где x.x.x.x - это IP-адрес вашей частной сети, например. 192.168.1.0, а y - количество единиц (в двоичном формате) сетевой маски, например. для сетевой маски 255.255.255.0 количество единиц равно 24. Итак, для этой конкретной сети, которую вы должны запустить, nmap -sn 192.168.1.0/24

Пример вывода этой команды следующий:

Запуск Nmap 6.47 (https://nmap.org) в 2017-04-16 12:34 EEST

Отчет о сканировании Nmap для хоста 192.168.1.1 работает (задержка 0,00044 с). MAC-адрес: 12: 95: B9: 47: 25: 4B (Intracom S. A.) Отчет о сканировании Nmap для хоста 192.168.1.2 работает (задержка 0,0076 с). MAC-адрес: 1D: B8: 77: A2: 58: 1F (HTC) Отчет о сканировании Nmap для хоста 192.168.1.4 работает (задержка 0,00067 с). MAC-адрес: 88: 27: F9: 43: 11: EF (Raspberry Pi Foundation) Отчет о сканировании Nmap для хоста 192.168.1.180 запущен. Выполнено Nmap: 256 IP-адресов (4 хоста вверх) просканированы за 2,13 секунды

Как вы можете видеть в моем случае, Pi имеет IP-адрес 192.168.1.4.

Если вы работаете в Windows, также доступна версия nmap, которую вы можете попробовать, дополнительную информацию о которой вы можете найти здесь. После получения IP-адреса Pi вы можете подключиться к нему по SSH, используя следующую команду как в Linux, так и в MacOS:

ssh pi @

Или в Windows с помощью PuTTY.

Пароль по умолчанию для пользователя pi - raspberry.

Шаг 4: настройка системы

Общая конфигурация

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

Самое первое, что вам нужно сделать, это изменить пароль по умолчанию для пользователя pi, пароль

Затем вам нужно будет настроить локали. Вы можете сделать это, выполнив следующую команду, sudo dpkg-reconfigure locales

Идите вперед и выберите все языковые стандарты en_US, используя клавишу пробела, а также любые другие языковые стандарты, которые вы хотите. Когда вы закончите, нажмите Enter. Наконец, выберите en_US. UTF-8 в качестве языкового стандарта по умолчанию и нажмите Enter.

Далее вам нужно будет настроить часовой пояс, sudo dpkg-reconfigure tzdata

На этом этапе, вероятно, стоит обновить систему, sudo apt-get update

sudo apt-get upgrade sudo apt-get dist-upgrade

Затем вам нужно включить модуль камеры с помощью команды raspi-config, sudo raspi-config

Выберите в меню «Параметры интерфейса», а затем выберите «Камера». Ответьте «да» на вопрос о включении камеры, а затем нажмите «ОК». Наконец, выберите «Готово» и ответьте «да» на вопрос о том, хотите ли вы перезапустить Raspberry Pi сейчас. После перезагрузки снова подключитесь к Pi через SSH так же, как и раньше.

Чтобы проверить правильность работы камеры, вы можете запустить следующую команду:

raspivid -t 0

Вы должны иметь возможность видеть видеопоток на своем мониторе HDMI, вы можете остановить его в любой момент, нажав Ctrl-C. Вы также можете использовать флаги -vf и -hf, чтобы перевернуть изображение по вертикали и / или по горизонтали, если вам нужно.

Установка статического IP-адреса

Следующее, что вам нужно сделать, это установить статический IP-адрес для вашего Pi. Для этого с помощью nano отредактируйте файл /etc/dhcpcd.conf, sudo nano /etc/dhcpcd.conf

и в конце добавьте следующие строки:

интерфейс wlan0

статический IP-адрес = статические маршрутизаторы = статические серверы_домена =

В настройке domain_name_servers вы можете добавить несколько серверов имен, разделенных пробелами, например вы также можете добавить IP-адрес Google DNS 8.8.8.8, который будет использоваться в качестве резервного сервера. Нажмите Ctrl-X для выхода, введите y и, наконец, нажмите Enter, чтобы сохранить изменения.

Затем перезапустите dhcpcd и сетевые службы, выполнив следующие две команды:

sudo systemctl перезапустить dhcpcd.service

sudo systemctl restart network.service

На этом этапе сеанс SSH должен зависнуть. Не волнуйтесь, этого следовало ожидать, поскольку вы только что изменили IP-адрес Pi, просто подключитесь к нему через SSH, но на этот раз используя назначенный вами IP-адрес.

Шаг 5: Установка GStreamer

Есть несколько способов потоковой передачи видео с Raspberry Pi по сети, но тот, который обеспечивает наименьшую задержку, - это использование GStreamer. Чтобы установить GStreamer, вы можете просто запустить следующие команды:

sudo apt-get update

sudo apt-get install gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-bad

У GStreamer довольно много зависимостей, так что это займет некоторое время. После завершения установки вы можете одновременно транслировать видеопоток с камеры по сети и через HDMI, используя следующую команду:

raspivid -t 0 -w 1920 -h 1080 -fps 30 -b 2000000 -o - | gst-launch-1.0 -v fdsrc! h264parse! rtph264pay config-interval = 1 pt = 96! gdppay! tcpserversink host = порт = 5000

Это создаст поток RTP на порту 5000, который может быть получен любой машиной в вашей локальной сети с помощью GStreamer, gst-launch-1.0 -v tcpclientsrc host = port = 5000! gdpdepay! rtph264depay! avdec_h264! видеоконвертировать! autovideosink sync = false

Установка GStreamer на любую машину с дистрибутивом Linux на основе Debian выполняется точно так же, как и на Pi. Большинство основных дистрибутивов, не основанных на Debian, также должны иметь GStreamer в своих репозиториях.

GStreamer также доступен в Windows и MacOS, подробную информацию о том, как его установить, можно найти здесь и здесь.

Шаг 6. Настройте автоматический запуск потоковой передачи при загрузке

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

Итак, для этого сначала создайте файл с помощью nano, sudo nano /usr/local/bin/network-streaming.sh

и внутри вставьте следующие две строки, #! / bin / bash

raspivid -t 0 -w 1920 -h 1080 -fps 30 -vf -hf -b 2000000 -o - | gst-launch-1.0 -v fdsrc! h264parse! rtph264pay config-interval = 1 pt = 96! gdppay! tcpserversink host = порт = 5000

Флаги -vf и -hf используются для поворота изображения по вертикали и горизонтали. В зависимости от ориентации камеры после ее установки они могут вам понадобиться, а могут и не понадобиться.

Нажмите Ctrl-X для выхода, введите y и, наконец, нажмите Enter, чтобы сохранить изменения. Затем сделайте скрипт исполняемым, запустив, sudo chmod + x /usr/local/bin/network-streaming.sh

Далее вам нужно создать служебный файл systemd, sudo nano /etc/systemd/system/network-streaming.service

И вставьте следующие строки:

[Ед. изм]

Описание = Сетевое потоковое видео После = network-online.target Требуется = network-online.target [Служба] ExecStart = / usr / local / bin / network-streaming.sh StandardOutput = journal + console Пользователь = pi Restart = on-failure [Установить] WantedBy = multi-user.target

Сохраните файл, выйдите из nano и выполните следующую команду, чтобы протестировать службу:

sudo systemctl start network-streaming.service

Если все работает, как ожидалось, вы можете запустить следующую команду, чтобы служба автоматически запускалась при загрузке:

sudo systemctl включить network-streaming.service

Шаг 7. Сделайте файловую систему доступной только для чтения

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

Лучший способ бороться с этим - установить все разделы карты microSD как доступные только для чтения. Это также позволит вам отключить питание от Pi в любое время, когда вы захотите, без необходимости инициировать надлежащее выключение, что очень полезно, особенно для такого приложения.

Первое, что вам нужно сделать, это удалить некоторые пакеты, выполнив следующую команду, sudo apt-get purge triggerhappy logrotate файл подкачки dphys

Затем вам нужно заменить rsyslog на демон syslogd из busybox, который позволит хранить системные журналы в памяти, sudo apt-get установить busybox-syslogd

sudo apt-get очистить rsyslog

и беги, sudo apt-get autoremove

чтобы удалить все пакеты, которые больше не нужны.

После этого вы сможете просматривать системные журналы в любое время с помощью команды logread.

Затем вам нужно переместить /etc/resolv.conf в / tmp, который будет монтироваться в памяти, потому что он должен оставаться доступным для записи.

sudo rm /etc/resolv.conf

sudo touch /tmp/resolv.conf sudo ln -s /tmp/resolv.conf /etc/resolv.conf

Другой файл, который должен быть доступен для записи, - это / var / lib / systemd / random-seed, поэтому аналогично

sudo rm / var / lib / systemd / случайное семя

sudo touch / tmp / random-seed sudo chmod 600 / tmp / random-seed sudo ln -s / tmp / random-seed / var / lib / systemd / random-seed;

Поскольку файл random-seed обычно не создается при загрузке, а содержимое / tmp непостоянно, вам нужно будет изменить это, изменив служебный файл служебного файла systemd-random-seed. Итак, используя нано, sudo nano /lib/systemd/system/systemd-random-seed.service

и просто добавьте строку в конце служебного раздела, ExecStartPre = / bin / echo ""> / tmp / random-seed

так это будет выглядеть так, [Услуга]

Тип = oneshot RemainAfterExit = да ExecStart = / lib / systemd / systemd-random-seed load ExecStop = / lib / systemd / systemd-random-seed save ExecStartPre = / bin / echo ""> / tmp / random-seed

и беги, sudo systemctl демон-перезагрузка

чтобы перезагрузить служебные файлы systemd.

Затем вам нужно будет отредактировать файл / etc / fstab, судо нано / и т. д. / fstab

И добавьте параметр ro в разделы / dev / mmcblk0p1 и / dev / mmcblk0p2, чтобы они монтировались как доступные только для чтения при загрузке. И добавьте еще несколько строк, чтобы / tmp, / var / log и / var / tmp были смонтированы в памяти. После внесения этих изменений ваш файл / etc / fstab должен выглядеть примерно так, proc / proc значения по умолчанию 0 0

/ dev / mmcblk0p1 / boot vfat defaults, ro 0 2 / dev / mmcblk0p2 / ext4 defaults, noatime, ro 0 1 # файл подкачки не является разделом подкачки, здесь нет строки # для этого используйте dphys-swapfile swap [on | off] tmpfs / tmp tmpfs nosuid, nodev 0 0 tmpfs / var / log tmpfs nosuid, nodev 0 0 tmpfs / var / tmp tmpfs nosuid, nodev 0 0

Наконец, отредактируйте свой cmdline.txt, судо нано /boot/cmdline.txt

и в конце строки добавьте параметры fastboot noswap ro, чтобы отключить проверку файловой системы, отключить подкачку и принудительно монтировать файловую систему как доступную только для чтения. После этого ваш /boot/cmdline.txt должен выглядеть примерно так, dwc_otg.lpm_enable = 0 console = serial0, 115200 console = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = deadline fsck.repair = yes rootwait fastboot noswap ro

Наконец, перезагрузите систему, чтобы изменения вступили в силу. После перезагрузки, если все прошло как положено, sudo touch / загрузка / тест

sudo touch / test

должен выдать вам в обоих случаях ошибку «Файловая система только для чтения». Теперь вы можете отключить питание от Pi в любое время, не рискуя, что файловая система на карте microSD будет повреждена.

Если вам по какой-то причине нужно сделать корневую файловую систему временно доступной для чтения и записи, например для установки некоторых пакетов вы можете сделать это с помощью следующей команды, sudo mount -o remount, rw /

И после того, как вы закончите, выполните следующую команду, чтобы снова сделать его доступным только для чтения, sudo mount -o remount, ro /

Если вы хотите делать обновления, обязательно смонтируйте и / boot, и / как чтение-запись, потому что обновления для ядра и прошивки также записывают раздел / boot.

На этом мы закончили с программной частью, поэтому я настоятельно рекомендую выключить Pi, удалить microSD и сделать резервную копию образа карты microSD.

Шаг 8: взлом модуля камеры

Взлом модуля камеры
Взлом модуля камеры
Взлом модуля камеры
Взлом модуля камеры

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

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

После этого снова наденьте линзу на модуль и немного прикрутите, чтобы она не выпала при переворачивании платы. Затем подключите Pi к монитору, если вы еще этого не сделали, подключите питание и посмотрите видеопоток.

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

Шаг 9: Сборка микроскопа

Сборка микроскопа
Сборка микроскопа
Сборка микроскопа
Сборка микроскопа
Сборка микроскопа
Сборка микроскопа
Сборка микроскопа
Сборка микроскопа

Пришло время заняться самой интересной частью, а именно сборкой микроскопа.

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

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

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

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

Наконец, прикрепите плату Raspberry Pi к подвижной части суппорта с помощью стяжек, как вы можете видеть на картинке, и подключите кабель камеры.

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

Если вы также хотите узнать, как сделать его портативным, перейдите к следующему шагу.

Шаг 10: Делаем его портативным: программное обеспечение

PowerBoost 1000C имеет очень удобную небольшую функцию. У него есть разрешающий вывод, который при высоком уровне активирует повышающий преобразователь и начинает подавать питание на его выход, а при понижении напряжения питание отключается.

Raspberry Pi также имеет приятную функцию, которая позволяет нам настроить вывод GPIO как выход, который будет находиться в высоком состоянии, пока Pi включен, и в низком состоянии после успешного завершения работы. Объединив эти две функции, можно создать программный переключатель включения / выключения микроскопа.

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

Сделать это очень просто, все, что вам нужно сделать, это отредактировать файл /etc/config.txt, sudo mount -o remount, rw / boot

судо нано /boot/config.txt

и добавьте в конец следующую строку, dtoverlay = gpio-poweroff, gpiopin = 26, active_low

Теперь, если вы перезагрузите Raspberry и измеряете напряжение на выводе GPIO26 (вывод 37 на заголовке GPIO) по отношению к земле, вы должны увидеть 3,3 В с момента начала загрузки Pi. И после полного выключения должно стать 0В.

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

sudo mount -o remount, rw /

sudo apt-get update sudo apt-get install wiringpi

Теперь с помощью nano создайте скрипт, sudo nano /usr/local/sbin/power-button.sh

и вставьте в следующие строки, #! / bin / bash

while true do if (($ (gpio read 24) == 0)) then systemctl poweroff fi sleep 1 выполнено

и после сохранения и выхода также сделайте его исполняемым, sudo chmod + x /usr/local/sbin/power-button.sh

Важно отметить, что контакт 24 wiringpi соответствует контакту GPIO19, который является контактом 35 на заголовке GPIO. Если это звучит запутанно, вы можете взглянуть на распиновку Raspberry Pi на веб-сайте pinout.xyz и на веб-страницу о контактах на wiringpi.com. Выполнение команды gpio readall также может быть полезно для определения того, какой из контактов находится.

Далее вам нужно создать служебный файл systemd, sudo nano /etc/systemd/system/power-button.service

со следующим содержанием, [Ед. изм]

Описание = Мониторинг кнопки питания After = network-online.target Wants = network-online.target [Служба] ExecStart = / usr / local / sbin / power-button.sh StandardOutput = journal + console Restart = on-failure [Install] WantedBy = multi-user.target

Наконец, чтобы запустить службу и запустить ее при загрузке, sudo systemctl start power-button.service

sudo systemctl включить power-button.service

и снова смонтируйте файловую систему как доступную только для чтения, sudo mount -o remount, ro /

Шаг 11: Делаем его портативным: оборудование

Делаем его портативным: оборудование
Делаем его портативным: оборудование
Делаем его портативным: оборудование
Делаем его портативным: оборудование
Делаем его портативным: оборудование
Делаем его портативным: оборудование
Делаем его портативным: оборудование
Делаем его портативным: оборудование

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

Вам также нужно будет припаять штекерный контактный разъем на GPIO Raspberry Pi, а также женский на PowerBoost, чтобы вы могли легко прикрепить его и Pi к плате, которую вы собираетесь построить. По сути, ваша плата будет прикреплена к Pi Zero, как шляпа, а PowerBoost - к верхней части платы. Pi также будет получать питание напрямую от разъема GPIO с помощью вывода + 5V PowerBoost.

После того, как вы закончите пайку, самое время собрать все вместе. Сначала закрепите Pi на подвижной части суппорта с помощью стяжек. Затем установите аккумулятор на заднюю часть созданной вами платы с помощью стяжки и прикрепите его к Pi, будьте осторожны, не затягивайте его слишком сильно, иначе вы можете повредить аккумулятор. Прикрепите к ней плату PowerBoost и подключите аккумулятор к разъему. И последнее, но не менее важное: подключите кабель камеры и подключите Pi к модулю камеры, и, конечно же, не забудьте подключить microSD.

И мы, наконец, закончили! Если теперь вы нажмете кнопку питания и продолжите удерживать ее около 8 секунд, процесс загрузки Pi должен начаться, и после его отпускания он должен продолжить работу. К сожалению, Pi не сразу начинает выводить высокий логический уровень на GPIO26, поэтому, если вы перестанете нажимать кнопку слишком рано, питание будет отключено.

После завершения процесса загрузки повторное нажатие кнопки питания примерно на секунду должно привести к выключению Pi и отключению питания.

Шаг 12: Идеи по улучшению

Идеи для улучшения
Идеи для улучшения
Идеи для улучшения
Идеи для улучшения
Идеи для улучшения
Идеи для улучшения

Избавляемся от нежелательных источников света

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

Если вы хотите, к счастью, выключить его, это сделать довольно просто. Сделав раздел / boot доступным для записи, sudo mount -o remount, rw / boot

отредактируйте ваш /boot/config.txt с помощью nano, судо нано /boot/config.txt

и в конце добавьте следующую строку, disable_camera_led = 1

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

Теперь, если вы сделали портативную версию, PowerBoost 1000C, к сожалению, имеет смехотворно яркий синий светодиод, указывающий на то, что питание включено. Это не только ухудшает экспозицию ваших изображений, но и может сильно раздражать глаза во время пайки просто из-за своей яркости.

По этой причине вы можете рассмотреть возможность полного удаления светодиода питания или резистора, соединенного с ним последовательно, с платы. В качестве альтернативы вы можете заменить резистор 1K, который включен последовательно с ним, на более крупный, чтобы светодиод стал тусклее.

Регулируемое увеличение

Вместо того, чтобы покупать обычный модуль камеры Raspberry Pi и взламывать его для изменения фокусного расстояния, если вы не против сэкономить несколько дополнительных денег, вы также можете получить модуль камеры с регулируемым фокусным расстоянием за чуть более 20 евро от eBay.

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

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

Конкурс микроконтроллеров 2017
Конкурс микроконтроллеров 2017
Конкурс микроконтроллеров 2017
Конкурс микроконтроллеров 2017

Второй приз конкурса микроконтроллеров 2017

Рекомендуемые: