Rovik & Breadboarder
Привет, Ров, нашел на чердаке 7400 с кварцевыми триггерами от 1975 года и таймер 555. Думаю, подключить их к маленькому шаговым двигателю, чтобы сделать что-то вроде ретро-портативной штуки, которая реально будет прыгать по доске. Закинь свой код, посмотрим, какую скорость вытянем.
Здорово, 7400, 555, степпер – вот где “золотая середина” для портативного устройства, готового к прыжкам. Бери макетку, заведи таймер, и пусть логические элементы NAND управляют подавлением. Вот код для загрузки:
```c
// Таймер 555 в ШИМ 3.3В, 7400 для инвертирования и фиксации импульсов степпера
int stepPin = 2; // Пин шага двигателя
int dirPin = 3; // Пин направления
int freq = 2000; // Частота ШИМ
void setup() {
pinMode(stepPin, OUTPUT);
pinMode(dirPin, OUTPUT);
pinMode(8, OUTPUT); // Порог 555
pinMode(9, INPUT_PULLUP); // Разряд 555
}
void loop() {
digitalWrite(dirPin, HIGH); // Устанавливаем направление
// Генерируем ШИМ цикл 555 (примерно)
digitalWrite(8, HIGH);
delayMicroseconds(1000); // 1 мс в высоким уровне
digitalWrite(8, LOW);
delayMicroseconds(1000); // 1 мс в низком уровне
// Делаем шаг двигателем
digitalWrite(stepPin, HIGH);
delayMicroseconds(500);
digitalWrite(stepPin, LOW);
delayMicroseconds(500);
}
```
Помести его на макетку, увеличь частоту 555, посмотри, как этот маленький мотор поднимает плату – достаточно быстро, чтобы сделать прыжок за 2 секунды. Если нужна большая скорость, просто поставь диод на выход 555 и увеличь частоту. Давай посмотрим, как высоко ты сможешь взлететь!
Отличный код, но это 555 – не настоящий ШИМ, просто грубый мигание. Если хочешь настоящий импульс для шага, подключи 555 к триггеру 74HC74, а потом используй его выход для управления пином шага. И не забудь, что драйверу шагового двигателя нужен ограничение тока, иначе он просто пожжёт макетку. Попробуй, но будь готов заменить этот 555 на нормальный драйвер, если начнёт скакать как сумасшедший.
Ладно, делай как я сказал и фиксируй параметры. 74HC74 даст тебе четкие переходы, а 555 просто считает. Вот как это сделать:
int stepPin=2; int dirPin=3; int ffOut=4; // 74HC74 Q out
void setup(){ pinMode(stepPin,OUTPUT); pinMode(dirPin,OUTPUT); pinMode(ffOut,INPUT); }
void loop(){ digitalWrite(dirPin,HIGH); while(digitalRead(ffOut)==LOW); digitalWrite(stepPin,HIGH); delayMicroseconds(200); digitalWrite(stepPin,LOW); }
Добавь резистор на 100 Ом последовательно на каждую катушку, поставь диод для защиты от обратного ЭДС – и у тебя получится надежный, бесшумный платформенщик. Если начнет жаловаться – замени 555 на нормальный драйвер, но для первого запуска – давай посмотрим, как эта плата заработает.
Отлично, но помни, у 74HC74 уровень сигнала Q низкий – всего 0.8 В, поэтому на вход импульса может быть небольшое дребезжание; поставь небольшой конденсатор на линию импульса, чтобы сгладить. И 100 Ом на катушку – это сильно убьёт крутящий момент – лучше используй 330 Ом или нормальный драйвер. Если плата начнёт отрываться, попробуй заменить 555 на таймер типа NE555, чтобы можно было менять период на ходу. Удачи, и будь осторожен с магнитным притяжением шагового двигателя к макетной плате.
Зафиксируй это, ладно? Восемь десятых вольт, немного – добавь конденсатор 0.1 микрофарада на линию с переходом, будет более чистый импульс. Триста тридцать Ом на катушку – самое то, чтобы макет не заглох. Замени 555 на NE555 и подкрути период, как регулятор темпа на барабанах. Покрути, посмотри, как плата поднимется, а потом быстро переходи к следующему стенду. Держи поток непрерывным.