Paso 10: Con su nuevo OctoDriver
Hélice
En lugar de volver a inventar la rueda, solo agarrar este Controlador de Motor del Obex. Aquí es un completo programa para que usarlo:
CON
_clkmode = xtal1 + pll16x
_xinfreq = 5_000_000
OBJ
pwm1: "PWMMotorDriver"
PUB Principal | me
pwm1.Start(28,27,26,40000) ' o para el motor 1, (0,1,2,40000)
repetir
pwm1. SetDuty(duty) ' deber = -100% 100 a la izquierda y 100 por 100% derecho. 0 para freno waitcnt (clkfreq * 2 + cnt)
Y eso es todo! Muy sencillo de utilizar. Con la plataforma de la hélice, pueden apilar 1 octodriver en la parte superior y otro debajo de bancos, también.
Arduino
El OctoDriver utiliza estándar. 1" de separación, por lo que no cabe en un Arduino, pero usted puede conectar a través de un protoboard o breadboard. Una vez que tienes conectado, aquí es cómo usted utiliza:
const int EN = ; // whatever you've connect each to const int ina = ; const int inb = ;
voidsetup() { // make each pin an outputpinMode(EN, OUTPUT); pinMode(ina, OUTPUT); pinMode(inb, OUTPUT); }
voidloop(){ // COASTdigitalWrite(EN, LOW); // when EN is low, ina and inb states don't matterdigitalWrite(ina, LOW); digitalWrite(inb, LOW); // BRAKE!!!digitalWrite(EN, HIGH); // ina and inb either both high or both lowdigitalWrite(ina, LOW); digitalWrite(inb, LOW); // ClockwisedigitalWrite(EN, HIGH); digitalWrite(ina, HIGH); digitalWrite(inb, LOW); // Counter-clockwisedigitalWrite(EN, HIGH); digitalWrite(ina, LOW); digitalWrite(inb, HIGH); }
Otros o sin microcontrolador
Utilizando el OctoDriver con cualquier otro microcontrolador (o incluso sólo algunos interruptores) es simple, consulte la tabla de verdad siguiente:
Motor 1
Para hacer el Motor... | P28 (at) | P27 (InA) | P26 (InB) |
Freno de | Alta | Alta | Alta |
Ir hacia la derecha | Alta | Alta | Bajo |
Ir hacia la izquierda | Alta | Bajo | Alta |
Costa | Bajo | irrelevante | irrelevante |
Motor 2
Para hacer el Motor... |
Notas sobre el uso
Unas cuantas cosas a tener en cuenta cuando se usa el OctoDriver y algunas mejoras potenciales,
1 - puede utilizar un fusible en línea para proteger la fuente de alimentación. Que no he tenido ningún problema con esto, pero es usted.
2 - el SN754410 tiene diodos de sujeción integrados y ha trabajado sólo grande para mí, pero algunas personas sugieren agregar un diodo de sujeción.
3-utiliza casquillos electrolíticos 47uF x 2 en el OctoDriver para un poco de poder alisar. Dependiendo de sus necesidades, puede aumentar el valor de las personas.
4 - la OctoDriver funcionará sin los disipadores de calor de IC, pero salida se reduce a 1A por chip (2A por motor).
4 - Asegúrese de no lastimarse! Por supuesto, debe evitar conseguir pellizcado / golpeado por los potentes motores, pero también prestar atención a la seguridad eléctrica. Hay una guía poco decente aquí.