A pull-down resistor on PWM output?
I'm not sure what that would do. The issue is that for the escs to boot they want to see a 0% signal (1000 us pulse, or whatever they have been calibrated for).
![]() |
  | |||||||||||||
![]() |
|
![]() |
||||||||||||
The Netduino forums have been replaced by new forums at community.wildernesslabs.co.
This site has been preserved for archival purposes only
and the ability to make new accounts or posts has been turned off.
Luke Cummings's ContentThere have been 38 items by Luke Cummings (Search limited from 13-July 24) #9081 Quad.Net Quadrocopter for .NETMF
I'm not sure what that would do. The issue is that for the escs to boot they want to see a 0% signal (1000 us pulse, or whatever they have been calibrated for). #8580 Quad.Net Quadrocopter for .NETMF
Oh sorry I was under the impression you had been flying already.
#9089 Quad.Net Quadrocopter for .NETMF
No problem I didn't mean to be rude in my response. Actually thinking about it though it might be worth a try. I wasn't thinking about the fact that the pins will float during startup, I'm gonna try this anyways it might actually be a solution. Given not what I was thinking of, but I will report back if this works. Cheers #9079 Quad.Net Quadrocopter for .NETMF
Ok so I have a new issue I'm wondering if anybody has any ideas. Right now I have the netmf board being powered directly off a bec from one the escs.
I recently rewired the shield so that the PWM signal now comes directly from the netmf board, instead of the external mcu I was am using to convert the radio PWM into I2C registers. This creates a new problem as netmf takes a couple of seconds to bootstrap and initialize the pwm outputs, and the escs require a 0% signal to bootup properly.
I realize that I could solve this by powering the netmf board directly from the battery and power on the escs after the board is initialized, but I prefer to not add extra complexity for powering on the unit.
So right now the solution is to power the netmf board on usb to let it bootstrap, then add battery power a couple seconds later to allow the escs to boot properly.
Any ideas?
#9086 Quad.Net Quadrocopter for .NETMF
Your missing the point, 0% output is not logic low, 0% output is a pulse lasting 1000 microseconds every 20 milliseconds. Holding the pin low would not do anything. #9010 Quad.Net Quadrocopter for .NETMF
Hey zerov, I don't have any schematics (it's all just proto'd right now), but at a basic level you will just need to interface your arduino (or any other realtime mcu), and the netmf board over I2C. I used this logic level converter to get them talking: http://www.sparkfun.com/products/8745. It's not actually strictly necessary to use the level converter between the arduino and you netmf board as they are usually 5V tolerant, however since I put the gyro and accel on the same bus you will need the converter(they are 3v only). I will attempt to put together a diagram of how I have everything wired up this weekend. -Luke #9060 Quad.Net Quadrocopter for .NETMF
Yeah i would just setup a polling loop to check for an incoming message, then provided the data. and honestly you are providing the data so frequently I dont see any value in doing checksum calculations either. The reason I don't want to be doing calculations on an external board is it reduces accessibility to the code. Principally we want to be able to plug and play hardware, with all control logic being done on the .netmf device. To be honest if your not gonna use the .netmf device to do your control logic then why use it at all. The additional arduino is for convenience, eventually I would like to move to native solution for handling the radio ppm stuff. #9028 Quad.Net Quadrocopter for .NETMF
Yeah you noticed that eh? I originally was going to use my arduino as the flight control board. It was just easier to relay motor command over I2C. I actually just finished rewiring the shield so that the pwm pins come from my fez panda directly. So you totally had the right idea there. So now the razor. Ultimately creating code for interfacing with stuff like the razor is something we want to do, we're just not at that stage yet. Wasting 3ms on parsing the razor's ahrs code is really a waste though, and really from everything i've seen about multicopters so far 50Hz is not gonna be nearly fast enough. You could totally re-write the firmware to get spit out raw data across serial on a demand basis and if you need help i can provide it. My personal recommendation is to just ditch the razor imu for this instead http://www.sparkfun....products/10321. As far as concetrating all this data on another arduino, I think that adds too much complexity. All I really want the arduino to be is a PPM to I2C converter for the radio. I think eventually I will swap out the teensy for something even smaller. Cheers #10205 Quadcopter Early Flight
Can you offer any details up about your platform?
#10300 Simultaneous Outport Ports?
Wow Corey,
I just has a "Duh" moment there... I guess some of us hardware guys have been spending a little too much time in .Net!
![]() #10095 Simultaneous Outport Ports?
Sounds like your problem is a hardware related issue, can you be more specific as to what you are trying to do?
Currently your saying these two pins will always have the same value. If so just use one pin.
#10315 Strange Data on SDA/SCL
I have a BMP085, when I was messing around with it a while ago I mistakenly applied reverse voltage to it, and now it generates very similar data to yours...
![]() #9749 while(true)
There is another way to grab execution without requiring the checking of a while, try this:
for(;;); It looks funny but if you think about how a for loop works you can see how this basically turns into a looping nop instruction. That said since you are dealing with an interpreted language I'm not sure if this would actually turn into an infinitely looping nop instruction like it would in c.
It shouldn't delay any other threads as the processor is always doing "something" nop's or otherwise, but you're correct that it will increase power consumption. Edit: This statement is unverifiably vauge
| ||||||||||||||
![]() |
||||||||||||||
![]() |
|
![]() |
||||||||||||
![]() |
This webpage is licensed under a Creative Commons Attribution-ShareAlike License. | ![]() |
||||||||||||
![]() |