Bluetooth в VESC

В VESC Tool есть возможность использовать модуль Bluetooth для соединения с платой. Заложен чип NRF51822. Автор использует подобные платы. Также он сделал свою прошивку в репозитории:
https://github.com/vedderb/nrf51_vesc

Я купил платы nrf51822-02, которые являются клонами вот этих. В них заработала прошивка nrf51_vesc_ble_16k_16m_rx11_tx9_led3.bin из уже прекомпилированных прошивок.

Прошил отладчиком ST-Link через openocd командой:

openocd -f openocd.cfg -c "init" -c "halt" -c "nrf51 mass_erase" -c "program nrf51_vesc_ble_16k_16m_rx11_tx9_led3.bin verify reset exit"

Прошивка AVR через ISP

Для программирования микроконтроллеров AVR через программатор USB AVR-ISP XPII (AVRISP mkII) можно использовать консольную утилиту avrdude:

Linux:
avrdude -c avrisp2 -P usb -b 19200 -p m32u4 -U flash:w:firmware.hex
Windows:
.\avrdude.exe -c avrisp2 -P usb -b 19200 -p m32u4 -U flash:w:firmware.hex

Ссылки:
https://forum.arduino.cc/index.php?topic=374842.0
https://gist.github.com/avilleret/2307a48927d2eab249d73cb16dc9eac6
http://microsin.net/programming/avr/starting-out-with-avrdude.html

При возникновении проблем с правами на устройство в Linux нужно добавить правило udev в /etc/udev/rules.d/99-usbasp.rules:

SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2104", GROUP="uucp", MODE="0666"

Узнать VID/PID программатора можно через lsusb. После этого надо перезагрузить правила:

sudo udevadm control --reload-rules

Структура каталогов проекта

Директорию проекта следует называть имя-проекта, а файлы проекта имя-проекта_rev1.0_тип-файла

  • electrical — схемы, топологии, перечни, гербера (altium)
    • CHANGELOG — файл изменений по версиям проекта
    • README — файл описания проекта
    • BUGS — файл описания ошибок в соответствии с версиями
    • _sch — проект altium или файл схемы p-cad
    • _bom — перечень элементов
    • _gbr — gerber файлы для производства
    • _gbr_readme — описание печатной платы для производства
    • _pnp — файл Pick’n’Place для автоматического монтажа
  • docs_desc — документы проекта, счета и т.д. (initial)
  • docs_info — даташиты, описания
  • mechanical — чертежи деталей, корпуса, 3D модели
  • models — моделирование электрических схем
  • soft — программы проекта, прошивки, утилиты
  • archive — pdf версии документов для архива при работе по ГОСТ

Установка Quartus Prime в Ubuntu

Установка студии сводится к скачиванию архива с программой с сайта. Но при запуске в свежих версий Ubuntu возникнет проблема с отсутствием библиотеки libpng12. Ее можно установить, скачав с сайта packages.ubuntu.com:

libpng12-0_1.2.54-1ubuntu1.1_amd64.deb

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

To launch quartus: ~/intelFPGA_lite/18.1/quartus/bin/quartus
To launch eclipse: ~/intelFPGA_lite/18.1/nios2eds/bin/eclipse_nios2/eclipse
To launch modelsim: ~/intelFPGA_lite/18.1/modelsim_ase/bin/vsim

Установка Altium Designer в Ubuntu

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

Читать далее Установка Altium Designer в Ubuntu

Макет повторителя CAN

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

Читать далее Макет повторителя CAN

Первичная настройка печатной платы в Altium Designer

  1. Настройка стека слоев;
  2. Настройка правил проектирования;
  3. Настройка пар механических слоев Top Assy (M13) — Bottom Assy (M14) и Top
  4. Cortyard (M15) — Bottom Cortyard (M16);
  5. Настройка предпочитаемых толщин линий и диаметров переходных отверстий.

Проверки топологии печатной платы

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

  1. Подключение внутренних полигонов;
  2. Наличие маски переходных отверстий;
  3. Наличие всех элементов;
  4. Оптимизация линий;
  5. Полигоны на Top и Bottom над соответствующими землями;
  6. Все полигоны залиты;
  7. Сетчатые полигоны на внутренних слоях гибко-жестких плат;
  8. Расстановка шелкографии;
  9. Наличие строки с номером модуля и печатной платы;
  10. Тестовые точки и площадки;
  11. Справочные надписи шелкографией;
  12. Выполняется проверка Design Rule Check;
  13. Для автоматического монтажа по длинному краю плату (панели) поля минимум по 5 мм;
  14. Реперные точки.