I'm working a little bit on the electronics of my new class 250 drone. I've planned to use multiwii, and I'm choosing which pins on an Atmega 32u4 use for motors and which for the RX.
Now, I know that motors need PWM to run, and that there is the option for a software PWM inside multiwii software. I also read that RX needs for interrupt for working, but I'm not so sure about that, even because the Atmega 32u4 has only 6, what if I want to use 8 channels?
Could you guys point out eventually mistakes?
Thank you very much!
Isn't a Class 250 drone a bit large for brushed motors? If you have brushless DC (BLDC) motors, like most Class 250 drones, you would use the Servo library to control them (through an ESC), not analogWrite(). The Servo library will work on any 12 I/O pins. They don't have to be PWM pins. PWM uses duty cycle from 0% to 100% to control power. Servo output use pulse widths from 1000 microseconds to 2000 microseconds to tell the ESC what to do.
Yes, of course they'll be brushless. I might have misunderstood what I read from multiwii, I'll check again later. And about the RX? Does it need an interrupt pin to work?
Thank you very much!
And about the RX? Does it need an interrupt pin to work?
That depends on the software and what interface the receiver has. Old-school transmitters sent a series of (1000-2000uS) pulses every 20 milliseconds (50 times per second). The old-school receiver would key off the long gap between sets of pulses and direct each pulse in the set to a different output. Some newer receivers don't separate the sets of pulses and just pass them on to the Flight Controller on a single wire. Even newer receivers use a serial protocol to pass numbers, rather than pulse widths, to the Flight Controller. You need to pick an interface protocol that your receiver and flight controller share. If the multiwii software requires the receiver to be connected a certain way the documentation will tell you.
Ok, thank you very much!
I'll share some information when the board'll be ready and tested!