Счетчик оборотов на ардуино: Тахометр на Arduino

Регулятор оборотов на ардуино Нано. Максимальный.

Регулятор оборотов на ардуино Нано. Максимальный.

схема и прошивки: https://drive.google.com/open?id=0B6x0JsiBUva0N3d2TkJaU0ZXQ2s

прошивки версия 1:https://drive.google.com/open?id=1Un671A441KDwdGvZAtdxABvfq8_S-R1M
улучшения:
1- экран не тухнет на прошивках настройки, а если тухнет, то восстанавливается
2- защита срабатывает не от единичных показаний датчика, а от средних оборотов выводимых на экран. Это позволяет игнорировать единичные помехи и наводки на таходатчике
3- перед и после срабатываний реле установлена пауза чтоб избежать дуги на контактах.
4 — Торможение улучшено. При больших оборотах тормоз не включается во избежании хлопков на щётках.

Включение происходит при tic > 15000 что соответствует 8000об\миин вала двигателя при 8 импульсах на 1 оборот вала двигателя. Число можно менять в строке :

while (tic < 12500) {

расчет тиков происходит по формуле    60000000 / (tic * 0.0625  * импульсы на оборот)=об\мин

Прошивки версия 2:  https://drive.google.com/open?id=1mqDPmKLJztm5JI3UTQFtrvHOLg3qG722

улучшения:

1. – добавлен коэффициент усреднения показаний таходатчика.  kof_sr    рекомендовано ставить 1 всегда, при необходимости больше. Настраивается прошивкой _navodki_Holla_obmin_

Подробнее в видео:

Прошивка версия 3: https://drive.google.com/open?id=1eBdKfMg0TPwMS4QL0okS2zty8oU98Um8

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

минимальный вариант: http://shenrok.blogspot.com/p/blog-page_95.html

схема

вариант для тахогенератора

вариант для Холла


панель управления.

Подключение дисплея и панели.

Настройка и проверка аналогична регулятору «всё в одном»

Как бороться с наводками по таходатчику. подходит и для Холла и для тагогенератора:

Где я покупаю некоторые комплектующие:

Симистор BTA24-600B:
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2F10pcs-free-shipping-BTA24-600B-BTA24-600-BTA24-Triacs-25-Amp-600-Volt-TO-220-new%2F32393221483.html%3Fspm%3Da2g0s.9042311.0.0.b7eRd1

Радиатор для симистора:
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2F10pcs-Aluminium-TO-220-Heatsink-TO-220-Heat-Sink-Transistor-Radiator-TO220-Cooler-Cooling-7805-21%2F32454598520. html%3Fspm%3Da2g0v.10010108.1000013.2.79164bccfrDZcR%26traffic_analysisId%3Drecommend_2088_1_90158_iswistore%26scm%3D1007.13339.90158.0%26pvid%3D412b96ca-be3c-4c64-b2a3-13f9146023b8%26tpp%3D1

Блок питания:
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2FTSP-05-replace-HLK-PM01-AC-DC-220V-to-5V-mini-power-supply-module-intelligent-household%2F32705471039.html%3Fspm%3Da2g0s.9042311.0.0.oJmz3c

ЖК дисплей:

http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2FFreeshipping-LCD1602-LCD-monitor-1602-5V-blue-screen-and-white-code-for-ARDUINO%2F32412091753.html%3Fspm%3Da2g0v.10010108.1000013.14.2521335eucDgif%26traffic_analysisId%3Drecommend_2088_7_90158_iswistore%26scm%3D1007.13339.90158.0%26pvid%3Da0233c8b-3ad6-409d-b85c-af430790af32%26tpp%3D1

реле 5 В:
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress. com%2Fitem%2F10PCS-RELAY-5V-SRD-5VDC-SL-C-T73-5V-SONGLE-Power-Relay-NEW-GOOD-QUALITY%2F32794928269.html%3Fspm%3Da2g0s.9042311.0.0.oJmz3c

разъёмы под ардуинку, экран и т.д.
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2F10PCS-2-54mm-40-Pin-Stright-Female-Single-Row-Pin-Header-Strip-PCB-Connector%2F32597304567.html%3Fspm%3Da2g0s.9042311.0.0.oJmz3c

тумблер на 3 положения:
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2F10Pcs-ON-OFF-ON-3-Pin-3-Position-Mini-Latching-Toggle-Switch-AC-125V-6A-250V%2F32807452888.html%3Fspm%3Da2g0s.9042311.0.0.zneC8y

тумблер на 2 положения:
http://shopeasy.by/cashback/view/oz2a3byzxr9y93zmefgl4vb8eo9r9r6w/?to=https%3A%2F%2Fru.aliexpress.com%2Fitem%2F5pcs-3-Pin-SPDT-ON-ON-Mini-Toggle-Switch-6A-125VAC-Mini-Switches%2F32793978799.html%3Fspm%3Da2g0s.9042311.0.0.zneC8y

Подписаться на: Сообщения (Atom)

Счетчик импульсов своими руками


Интересно построить миниатюрный счетчик электрических импульсов на современном аналоге 176ИЕ4?
Может хотите узнать как сделать его из микрокалькулятора?
Вам под кат!

Мотивация

В первую очередь хотел потренироваться разводить печатные платы в Sprint Layout.


А уже во вторую — построить скольки-хочешь-разрядный счетчик импульсов.

Возможные альтернативы

Если Вам лень, но счетчик нужен быстро, то есть два варианта, доступных с минимумом усилий:
1. Возьмите обычный микрокалькулятор, вскройте его, и припаяйтесь к контактам кнопки «=» и наберите «1» и «+» на калькуляторе.
При каждом нажатии «=» или замыкании припаянных проводов цифра будет увеличиваться на единицу.
2. Разберите ненужную USB клавиатуру, вскройте, оттрассируйте два контакта, которые нужно замкнуть, чтобы нажимался Enter. Ну а далее всё так же как и в п.1 но запустив калькулятор на компьютере.
Помню в босоногом детстве я сделал по п.1 велоодометр, введя вместо единицы длину окружности колеса, и поставив пару геркон-магнит на переднюю вилку и спицу колеса. Вот помню было то радости 🙂

Необходимые материалы

1.Счетчики CD4026

2.Семисегментные индикаторы с высотой символа 10мм. Размер корпуса 13х9мм

3.Резисторные сборки на 300Ом типоразмера 0805.
4.Блокировочные керамические конденсаторы с Али типоразмера 0603 на 100nF.
UPD: Линки на digikey не открываются с некоторых IP. Продублировал картинками.

Печатная плата

Дизайн платы делался для одного разряда, затем была сделана копипаста на 6 разрядов.
Скачать SL-файл можно здесь.
Вход поставил напротив выхода 1/10 предыдущего разряда. Шины питания, земли, сброса идут параллельно. Вывод разрешения счета зафиксирован в разрешенном состоянии.

Получилась плата 18х56мм, общий вид:

Фото-вид спереди:

Фото-вид сзади:

Готовое устройство

Вид со стороны индикаторов(с батарейкой АА):

Вид со стороны компонент:

Вид сверху на столе:

Вид с вертикально стоящей платой:

Выводы

Счетчик питается от 5В и потребляет 10мА.


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

Планирую купить +9 Добавить в избранное Обзор понравился

+57 +72

Electronic Design • FabAcademy

Тахометр

Для электроники этого проекта я в основном хотел сделать тахометр (счетчик оборотов, тахометр, тахометр, датчик оборотов), который измеряет скорость вращения моей турбины. Устройство будет отображать количество оборотов в минуту (RPM) на ЖК-экране.

Датчик Холла

Тестирование этой идеи Тахометр является побочным продуктом той недели, когда я использовал датчик Холла для измерения магнитного поля. Идея состоит в том, чтобы поместить небольшой неомагнит на вал моей оси, который будет обнаруживаться датчиком, а затем написать программу, которая будет считать количество оборотов. Вот характеристики датчика Холла A1302:

Вот мои проекты печатных плат в Eagle. Конкретным для этого тахометра является резонатор на 20 МГц, потому что я решил, что синхронизация должна быть очень точной. Я также добавил два светодиода. Первый (зеленый) я хотел указать/мигать при каждом обороте, а второй (красный), как я думал, может указывать как некий порог (например, указывать, когда турбина вращается ниже критической скорости вращения), чтобы предупредить, когда есть более низкое напряжение генератора/напряжения, что приводит к непропорционально большой нагрузке от батарей/конденсаторов.

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

Здесь я тестирую свой тахометр, используя Arduino, подключенный к ЖК-дисплею, для считывания последовательного вывода.

А вот мой тахометр работает, пока я тестирую свой генератор, и я считываю показания RPM и Hz прямо в последовательном мониторе.


Вы можете скачать мои файлы платы Eagle здесь.


Выпрямитель + Контроллер заряда

Теперь, когда выпрямитель работал на моей макетной плате (см. генератор), я спроектировал электронику в Eagle, используя компоненты, которые были доступны в лаборатории. Для трех выпрямительных диодов я использовал компоненты Shottky SMD, так как предполагается, что они имеют более низкое падение напряжения, чем обычные диоды. Для сброса нагрузки я использовал обычные диоды.

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

А вот и мои суперкапы:

Потому что собирался подключать модуль PFM. При входном напряжении от 0,9 В до 5 В постоянного тока модуль обеспечивает стабильное выходное напряжение 5 В постоянного тока через USB-разъем.

Частотно-импульсная модуляция (ЧИМ) — это метод модуляции для представления аналогового сигнала с использованием только двух уровней (1 и 0). Это аналогично широтно-импульсной модуляции (ШИМ), в которой величина аналогового сигнала кодируется в рабочем цикле прямоугольной волны. В отличие от ШИМ, в котором ширина прямоугольных импульсов изменяется при постоянной частоте, ЧИМ выполняется с использованием импульсов фиксированной длительности и переменной частотой повторения.

Модуль состоит из двух конденсаторов (C1-C2), одного резистора (R1), одной катушки индуктивности (L1), одного выпрямительного диода (D2), одного светодиода (D1) и микросхемы (U1). КПД преобразования модуля ЧИМ предполагается до 96%, я тестировал его на макетной плате и пока все хорошо. Кажется, что он «повышает» напряжение, когда входное напряжение составляет всего 0,5 вольта.

Я отпаял гнездо USB, соединяющее разъемы VCC и GND, с простой мостовой платой, куда я добавил простой выходной светодиод и резистор 499k для индикации отключения питания.

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

Вот мой выпрямитель, сброс нагрузки и конденсаторы, фрезерованные и спаянные:

А здесь он подключен к модулям PFM. С помощью пары ручных вращений мне удалось зарядить суперкапы. Они давали постоянный заряд 5 вольт в течение хороших нескольких минут, прежде чем угаснуть.

Arduino популяризировала электронику для быстрого прототипирования, потому что она упрощает программирование микроконтроллеров AVR с помощью интегрированной среды разработки (IDE), делая сложную электронику интересной, простой в освоении и относительно простой.

Аппаратное и программное обеспечение Arduino также имеет полностью открытый исходный код, и можно загружать их схемы, изменять дизайн их плат, при этом используя их IDE, обширные библиотеки и широкую сеть поддержки. Я планирую сделать именно это.

Схема Atmega238

Плата Arduino UNO использует микроконтроллер AMTEL ATMega328 , а схема его платы здесь является эталонной. Однако здесь важно отметить, что на плате UNO есть два чипа, один из которых отвечает за связь USB-последовательный порт (слева), а меньший — 28-контактный ATMega328 (справа). Это то, на чем мы сосредоточимся.

Satchakit

Поскольку при начале работы с AtMega328P возникло немало неопределенностей (см. техническое описание здесь), я решил последовать Satchakit Даниэля Инграссии, который является улучшением более раннего Fabkit, в основном в том, что он:

  • использует 16 МГц. вместо 8МГц таймера
  • Использует кристалл вместо резонатора
  • Освобождает аналоговые выводы ADC6/7 для использования

Снимаю шляпу за его хорошо задокументированную работу. Если целью разработки платы с ATMega328 является обеспечение совместимости микроконтроллера с программным обеспечением Arduino (IDE), нам необходимо записать загрузчик с помощью FabISP или другого Arduino. Здесь ниже я попробовал оба.

Весь процесс загрузки кода загрузчика и правильной прошивки фьюзов для превращения микроконтроллера ATmega в «Arduino» хорошо описан здесь.

ATMega328P

Микрочип ATmega328 или «Arduino Uno» поставляется в различных «упаковках» и форматах, которые поначалу могут сбить с толку. Те, что есть у нас в лаборатории, соответствуют ATmega328/P 32-контактному TQFP , который выглядит вот так, и на нем написано AU 1722 . Что все это значит?

Если вы ищете этот компонент, есть много вариантов. Вот некоторые уточнения:

  • ATMega328/P — это 32-килобайтная флэш-память ISP, 8-битный микроконтроллер из семейства AVR (такой же, как у ATtiny, который мы использовали). Он имеет возможности чтения во время записи, 1 КБ EEPROM, 2 КБ SRAM, 23 линии ввода-вывода общего назначения, 32 рабочих регистра общего назначения, последовательный программируемый USART и многое другое. См. техническое описание здесь

  • Р относится к способности чипов picoPower работать при низком напряжении, что позволяет микроконтроллеру снизить энергопотребление в активном и спящем режимах. режимы.

  • AU означает, что это компонент для поверхностного монтажа, как предполагается для PU , который представляет собой компонент с двойным расположением в корпусе (DIP или DIL). Последний относится к прямоугольному корпусу с двумя параллельными рядами контактов, которые можно монтировать в сквозное отверстие или на макетной плате.

  • 1722 был годом его изготовления, в том же году голландский адмирал Якоб Роггевен высаживается на остров Пасхи и Иоганн Себастьян Бах сочиняет «Хорошо темперированный клавир». Или, что более вероятно, серийный или заводской номер.

  • TQFP означает Thin Quad Flat Package , который представляет собой корпус интегральной схемы для поверхностного монтажа с более тонкими выводами типа «крыло чайки», выступающими с каждой из четырех сторон, чтобы облегчить (или упростить) фрезерование и пайку.

  • ATMega328 SMD — другая версия 328 для поверхностного монтажа с двумя дополнительными аналогами. Обычно это чип, который можно найти на платах Lilypad и Nano, и он может похвастаться двумя дополнительными аналогами.

Для получения дополнительных советов по AVR я настоятельно рекомендую форум AVR Freaks. Много пикантных советов.

Обновление библиотек EAGLE

В этот момент я обнаружил, что Fab-библиотека в EAGLE отсутствует, устарела или просто сбивает с толку в отношении имеющегося у нас инвентаря. Для начала я загрузил всю библиотеку Sparkfun здесь, так как в ней есть и другие очень полезные компоненты, которые есть у нас в лаборатории. Кроме того, я отчаянно искал TQFP-корпус Atmega328P с такой же схематической компоновкой, что и Satchakit, чтобы не перепутать слишком много выводов, пытаясь разобраться в его конструктивных особенностях. Я нашел то, что искал, с библиотекой Atmega8 Eagle.

  • Загрузите или клонируйте нужные библиотеки с Github.

  • В окне панели управления EAGLE перейдите в меню Параметры и выберите Каталоги . Это список компьютерных каталогов, в которых EAGLE просматривает библиотеки компонентов.

  • В поле Libraries добавьте ссылку на каталог, в котором хранятся ваши новые библиотеки. Если вы хотите сохранить библиотеки EAGLE по умолчанию и добавить библиотеку SparkFun, добавьте двоеточие (:) после $EAGLEDIR\lbr и после этого свяжите расположение каталога, в моем случае я добавил библиотеку в приложение по умолчанию Eagle-9.0.0/lbr следующим образом: $EAGLEDIR\lbr: Applications/Eagle-9.0.0 /фунт/Sparkfun/

  • Теперь в дереве библиотек вы должны увидеть новые папки. Чтобы активировать их, щелкните правой кнопкой мыши папку «lbr» и выберите Использовать все или Не использовать для деактивации.

  • Вернитесь к представлению «Схема» или «Компоновка платы», перейдите в меню «Библиотека» и «Обновить все». . Теперь у вас должны быть доступны все эти новые компоненты. Более подробные инструкции можно найти в полезном руководстве по настройке библиотек Eagle.

Дизайн печатной платы

До сих пор мы проектировали наши платы с шириной дорожек 16 мил по умолчанию. Это слишком широко для фрезерования инструментом 1/64, который мы используем, и нет необходимости использовать сверххрупкий инструмент 0,010 для этого компонента.

Я хотел оставить как можно больше выводов для общего использования, поэтому я также оставил свободными аналоговые выводы ADC6/7 и использовал кварц на 16 мегагерц в соответствии с компонентами, имеющимися в лаборатории. Обязательно проверьте это в первую очередь.

Вот выравнивание контактов, резисторов, светодиодов, конденсаторов перед трассировкой.

Модификация компонентов Eagle

Библиотека ATmega8 поставляется с пакетом TQFP32, что, как я предполагал, означает более тонкие контактные площадки. Это оказалось неверным.

Несмотря на то, что я проектировал с 12-миллиметровыми дорожками, как вы можете видеть здесь, посадочные места на самом деле были больше похожи на 16-миллиметровые.

Это было проблемой, потому что после экспорта и загрузки в FabModules для создания моей стратегии фрезерования справа видно, что траектория 1/64 не проходит через штифты компонента.

Так что спасибо Baptise за открытие этого супер полезного способа редактирования компонентов в Eagle.

В разделе Библиотека > Открыть диспетчер библиотек вы можете редактировать компоненты, которые находятся в вашем проекте, используются или доступны. Нажмите на компонент, Edit и в столбце Package щелкните компонент (в данном случае TQFP-32), и вы сможете редактировать слои компонентов, как показано ниже.

Здесь я устанавливаю размер посадочного места SMD (поверхностный монтаж) на 12 мил (12 тысяч дюймов или 0,3 мм в ширину), сохраняя длину 50 мил по умолчанию. Это фактический размер ножек моего микрочипа.

Обязательно нажмите «Применить», программа попросит вас сохранить это значение по умолчанию, а затем вернуться в макет платы: Библиотека > Обновить все . Это должно изменить размеры компонентов SMD в конструкции.

После долгих экспериментов и экспериментов с разными размерами это сработало, и я смог фрезеровать доску в масштабе 1/64!

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

Пайка со смещением

Если выводы микроконтроллера слишком малы для пайки по отдельности, можно сделать это с помощью метода пайки со смещением контактов. Это выглядит так:

  • Нанесите флюс на дорожки контактов. Флюсы облегчают пайку (а также пайку и сварку), удаляя окисление с соединяемых металлов.

  • Убедитесь, что вы правильно выровняли микросхему (посмотрите на схему!!) и, по возможности, используя пинцет и увеличительное стекло, аккуратно поместите компонент так, чтобы он плотно прилегал к дорожкам.

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

  • С закрепленным чипом снова смочите утюг и обильно «прочистите» все оставшиеся контакты, убедившись, что они нагреваются достаточно долго, чтобы всосать припой.

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

Вот хорошее руководство по этому методу.

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

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

Программирование

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

Контакты на этой печатной плате сохранены точно так же, как на плате Arduino UNO, так что я могу без проблем использовать IDE для быстрого прототипирования. Для загрузки скетчей в ATMega328 через последовательный порт (как вы делаете это при использовании USB со стандартным Arduino) сначала требуется загрузчик.

На неделе производства электроники мы узнали, что загрузчик — это, по сути, программа, загружающая операционную систему при включении компьютера. Для Arduino загрузчик поддерживает перепрограммирование программной памяти (или флэш-памяти) через последовательные порты (rx и tx) без необходимости постоянного использования специального программиста, такого как наш FabISP.

Компромиссы загрузчика

Есть несколько причин, по которым Нил постоянно повторяет, почему он программирует свои AVR напрямую на C-коде. Поскольку загрузчик Arduino запускается перед вашим кодом, это задерживает выполнение «настоящего» кода программы C. Загрузчик Arduino Uno также занимает 508 байт памяти, что может быть проблемой, если у вас большая программа.

Лысый инженер хорошо это описывает. Также хороший материал для чтения:

  • Страница загрузчика Arduino плюс этот форум

  • Советы и рекомендации по загрузке Adafruit

  • Учебник по лучшему способу записи загрузчиков Arduino

E Предохранители?

Сначала я последовал примеру Сачи, записав загрузчик Arduino с помощью моего программатора FabISP, например:

Как видите, мы просто соединяем контакты MOSI, MISO, SCK (CLOCK) и RESET с помощью перемычек.

Затем в Arduino IDE я выбрал USBtinyISP в качестве программатора, ArduinoUNO в качестве платы и в разделе Инструменты > Записать загрузчик

Светодиод замигал, вселенная расширилась, и через секунду или две я получил это противоречивое сообщение об успехе большое предостережение:

Я попытался загрузить базовый эскиз мерцания. Таким образом, я смог загрузить скетч с помощью FabISP, но это лишило смысла иметь загрузчик. Поэтому я снова записал загрузчик, на этот раз используя другую плату Arduino в качестве интернет-провайдера, а затем подключил FTDI (разъем USB к последовательному порту), как показано на рисунке Satcha:

Теперь, пытаясь загрузить свой блинк-скетч, мне не повезло, все, что я получил в IDE, было:

 avrdude: stk500_getsync(): не синхронизировано: resp=0x00
avrdude: stk500_disable(): ошибка протокола, ожидание=0x14, соответственно=0x51
 

Похоже, что связь с платой вообще отсутствует. Я попытался изменить, чтобы посмотреть, сработает ли обозначение платы как «Arduino mini» или «pro», но и здесь не повезло.

Изменение загрузчиков

После долгих размышлений я наткнулся на удивительный сайт Ника Гэммона, где он настроил свой собственный загрузчик Arduino, который специально устанавливает EFuse = 0xFD . Я решил попробовать, скачал его скетч загрузчика с Github.

  • Убедитесь, что ваша плата подключена к Arduino ISP, как указано выше
  • Загрузить скетч Gammon ATMega_Board_Programmer
  • Откройте последовательный монитор и следуйте инструкциям

Примечание: выбраны NL и CR и 115200 Baud Rate для последовательной связи. В противном случае вы видите тарабарщину.

Последовательное программирование

Теперь снова подключите FTDI, как описано выше, БУУМ!

Извлеченные уроки

Нам предстоит многое узнать о том, как работают загрузчики Arduino в целом. После прочтения таблицы данных ATMega328P (стр. 277) и просмотра кода загрузчика мистера Гэммона кажется, что речь идет о том, как флэш-память организована между разделом загрузки и разделом приложений.

  • Размер различных секций настраивается предохранителями BOOTSZ, как показано в Табл. 24-7 на стр. 289 и Рис. 24-2.

  • Эти два раздела могут иметь разный уровень защиты, так как у них разные наборы бит блокировки.

Мое непрофессиональное понимание до сих пор заключается в том, что именно так вы настраиваете механизм самопрограммирования «Чтение-во время-записи» для загрузки и выгрузки программного кода самим MCU.

Мне нужно продолжить расследование. А пока давайте подключим и играем.

по НГР

Исходный код этой работы полностью открыт и распространяется под лицензией MIT License (MIT). Это означает, что можно свободно использовать, копировать, изменять, объединять, публиковать, распространять, сублицензировать и/или продавать при условии уведомления об авторских правах, и эта лицензия должна быть включена во все копии или последующие распространения.

счетчик оборотов двигателя Arduino | Ардуино | Электротехника | Электроника | Микроконтроллер | Архитектура программного обеспечения

Закрыто

Бюджет 8-30 евро

Счетчик оборотов двигателя на основе Arduino, использующий катушку двигателя в качестве входных данных

(катушка имеет положительный и отрицательный кабель, современный двигатель)

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

Навыки: Arduino, электротехника, электроника, микроконтроллер, архитектура программного обеспечения

О клиенте:

( 1 отзыв ) Фуэнхирола, Испания

ID проекта: #16660639

Опубликовать подобный проект

  • ТОЧНО!!! Счетчик оборотов через HALL (автомобильный датчик, подключенный к arduino nano) (8-15 евро)
  • контроль топлива — простой (8-30 евро)
  • синхронизация стоп-сигнала (8-30 евро)
  • arduino ПРОСТАЯ ФУНКЦИЯ (8-30 евро)
  • контроль топлива (8-30 евро)

< Предыдущая работа Следующая работа >

  • Конструкция печатной платы для захвата цифровых/аналоговых входных сигналов от датчиков и приводов и загрузки на облачный сервер через WiFi (₹600–1500 INR)
  • Требуются специалисты по ремонту компьютеров | Окленд (Окленд, Новая Зеландия, 100-102 новозеландских доллара)
  • Нужна помощь с ирригационными клапанами Toro 220 для перехода в автоматический режим (10–30 долларов США)
  • Arduino wav offset (10-100 евро)
  • Разработчик Python — 15–20 лет — 1 час каждый день (10–20 долларов США в час)
  • Чтение/запись данных/памяти с микроконтроллера stm32f405 (1500-3000 долларов США)
  • Разработка построителя почтовых шаблонов (₹12500-37500 INR)
  • Сборка печатной платы панели управления и схема подключения (250–750 долларов США)
  • Требуется эксперт Matlab для задачи обработки сигналов (30–250 долларов США)
  • Расширьте свой симулятор микропроцессора на основе стека, разработав двухъядерный процессор (30–250 долларов США)
  • Помощь в автоматизации приготовления пищи (15–25 долларов США в час)
  • Разработайте буфер FIFO, который может хранить до 8 слов данных с использованием VHDL.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *