Переключился с 3-футовых на 10-футовые соединительные провода. Теперь моя установка работает неправильно. Проблемы со сроками?
Работает двигатель постоянного тока(максимальный вход 6,5 А), драйвер двигателя (пиковый выход MD10C 7Amp) и Arduino Mega. Я стабилизирую объект с помощью акселерометра в качестве датчика. Я переключился на более длинные провода, чтобы моя плата была рядом, а стабилизированный объект-далеко. Теперь я считаю, что из-за этого возникают проблемы со временем. Как я это исправлю? Как бы я проверил, сколько времени требуется, чтобы пройти через мои провода?
Я могу добавить свой код, если это поможет.
2 ответа
Выводы логических микросхем и процессоров не являются линейными драйверами и не будут работать должным образом при использовании в качестве таковых. Иногда вам может повезти, но это, как правило, будет прерывистым в работе. Они создают драйверы для вывода проводов с платы от контроллера и других микросхем, которые являются приемниками на другом конце. Это необходимо сделать с каждой цифровой строкой. Существуют некоторые специальные драйверы, такие как микросхемы повторителя I2C, RS485 и т.д. Помните, что провода-это антенны, и система работает на достаточно высокой частоте, чтобы быть отличным радиопередатчиком. Главное - изолировать провода контроллера от внешнего мира.
Хорошо, спасибо!, @Thunder Dornhofer
Лучшим решением было бы приобрести Wixel Pololu и сопутствующий щит для вашего Мега, а затем поместить Мега рядом с объектом. Затем вы можете запрограммировать Мега по беспроводной сети и полностью избежать проблем с длинными сигнальными линиями. Смотрите этот пост о том, как я использовал его на одном из моих роботов, следящих за стеной. Вам понадобятся два Викселя и один щит Викселя. Они не особенно дешевы, но вы не пожалеете, что купили их.
Существуют и другие варианты беспроводного управления и программирования, использующие Bluetooth, а не проприетарный протокол, но они не так просты в реализации, как метод Wixel.
В итоге я закрыл все, а затем использовал реле, подключенное к моему переключателю, которое находится на меньшем сигнальном проводе. Сейчас работает отлично. Я думаю, что то, что я делаю, в основном является проводной версией того, о чем вы говорили выше. Мне нравится ваша идея больше, чем то, что я делаю, хотя я собираюсь разобраться в этом и попытаться реализовать ее, спасибо!, @Thunder Dornhofer
Будет ли один wixel на моем компьютере, а другой на экране wixel, который находится на моем мега? и общается ли он через два викселя?, @Thunder Dornhofer
да, именно так. Два wixels образуют "беспроводной последовательный мост", поэтому два конца (ваш ПК и Mega) не знают, что они не соединены обычным USB-кабелем. Конечно, для этого требуется, чтобы у Mega был отдельный источник питания, так как он больше не будет иметь +5 и GND, доступных через USB-кабель, @user3765883
- Нужен сигнал ШИМ частотой 10 кГц от контактов 3 и 11 с использованием таймера 2.
- Как прочитать направление таймера в фазе правильного ШИМ?
- Установите частоту ШИМ на 25 кГц.
- Какова частота PWM-выхода на Arduino
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Как устранить шум от вентилятора 12 В с ШИМ-управлением на низкой скорости
- Генерация частоты ШИМ выше 125 кГц с помощью Arduino Uno
- Увеличить разрядность PWM
1. Дополнительные 2 м проводов задержат сигналы примерно на 10 нс. 2. Схема вашей установки может помочь., @Edgar Bonet
@EdgarBonet Я отредактировал свой оригинальный пост с настройкой проводки, @Thunder Dornhofer
I2C по длинным проводам плохо. Очень плохо. Вы не должны этого делать. Не без I2C ретранслятора / расширителя., @Majenko
@EdgarBonet-это ретранслятор/расширитель физической вещи или чего-то в коде, @Thunder Dornhofer
@ThunderDornhofer I'm Majenko not EdgarBonet :P and it's a physical thing. Думаю, Максим тоже., @Majenko
@Majenko oh my bad oops. ладно, мне придется разобраться с этим. Спасибо!, @Thunder Dornhofer