• Content count

  • Joined

  • Last visited

  • Days Won


EJK last won the day on December 6 2016

EJK had the most liked content!

Community Reputation

2 Neutral

About EJK

  • Rank

Profile Information

  • Gender
  1. EJK

    Robotics Wing Features?

    I like your rs-232 wing better! Very nice, clean, and better size. I'm currently using the AM26LV32C: http://www.ti.com/lit/ds/symlink/am26lv32.pdf I do agree that using the FPGA lines on the Papilio outputs would be better, but like OmniTechnoMancer said, the differential pairs are routed to different wings. A specialized differential wing is mostly for convenience at this point.
  2. EJK

    Robotics Wing Features?

    Hi! Finishing up a 1st draft layout for a robotics-oriented Wing Set.... So far I have: - Megawing: Everything listed in the post above, with 4x 8-bit free wing slots - Serial Wing: 2x DB9 RS232 connectors - Low Speed GPIO Wing: 16 low speed GPIOs, plus an led - Differential Receiver Wing: 8x Differential Receivers (not sure anyone would ever need 8x receivers, but, oh well)... Thanks for the diff. pair tip.. I decided the easiest way to go would be a dedicated IC, at least for now. I'm planning to run a batch of 1-2 boards each for research use... Is there any interest in making these more widely available? Similarly, are there other wings of interest for robotics purposes? It would be great to build up a larger selection of wings, since, in my opinion, reconfigurable IO is a serious motivation for using Papilio vs other dev boards like Arduino or Raspberry Pi for robotics (plus it could be a really great use for the SoC editor!). I'll attach the board images for anyone interested. I strayed from Eagle for this run (sorry!) but I was interested in learning a different tool so, here it is. I could consider converting back to Eagle if there is enough interest and I have enough time.
  3. EJK

    Robotics Wing Features?

    Ah! I should specify: I am already moving ahead with my own robotics megawing. I have a schematic down for the main wing and will be working on layout/ finalizations for the next week or so. I'm also making a few robotics-oriented wings which I'll print along with the megawing. I would love to share schematics and results once I'm done, and anyone is obviously free to adapt the board as desired. The megawing schematic currently uses: 4 PWM outputs: Goes to 2x DRV8833. So there are 4 motor outputs total, or 2 parallel outputs2 DRV8833 shutdown outputs: Goes to each DRV88331 Fault input: OR-ed output from each DRV88332 Relay outputs: MOSFET buffer to the Vmotor lineSCLK, DOUT, DIN for main SPI busCS1 to analog inputs (2 analog inputs motor current going to each DRV8833)CS2 to a GPIO expander, MCP23S08 (2 digital outputs used for onboard LEDs)Interrupt input from the GPIO expanderA Buzzer for annoying noises And thats 16 pins! It includes 2 user LEDs, a buzzer, 6 free analog inputs, and 6 configurable low-speed GPIOs (maybe 50ish kHz ???). There's also four motor outputs and two relay drivers running off a higher voltage supply. This leaves four 8-bit wings available for expansion. The wings I'm planning to make in the first revision include: Serial Wing (RS232, TTL)Differential Line Driver/ReceiverGPIO expandeI'll provide more updates as I progress. Schematic is 90% done. Board layout hasnt started yet.
  4. EJK

    Robotics Wing Features?

    So I've decided to go in a bit of a different direction... I like the idea of having some capabilities built in, but for a robotics research prototype platform it just makes sense to me to keep as many spare wings slots available as possible, and have many different wing options available. My current idea is a megawing that uses just 16 IOs and keeps a full 4x 8-bit wing slots available. The MegaWing will support a higher voltage (3V-11V ish) for motor drivers, relay drivers, and analog input. For me, analog input is desirable to have on the same wing as the motor drivers because that will give us built-in current monitoring. All other robotics features will be incorporated into separate wings, because basically everything else is a standalone feature that could be added or removed easily for different robotics projects (differential line receivers, buffered IO, serial RS232 or TTL, Camera interface, etc).
  5. EJK

    Robotics Wing Features?

    Can you specify the sensor interface? Are these just arbitrary analog/digital inputs, or are they designed with a specific sensor in mind? In my opinion, I wouldn't see a robotics wing needing a camera interface. For my purposes at least, the papilio would serve as a reconfigurable I/O board, where the main responsibilities are analog/digital input/output, and lots of communication (to other sensors, to a high voltage motor driver, to a higher level PC, etc). Hence the focus on RS-232/ TTL serial. A camera is the responsibility of the higher-level computer (or a separate papilio megawing). In the same idea, I see it being beneficial to develop a common robotics baseline on the MegaWing, while still leaving two 8-bit wing slots open- One of the main benefits of the papilio over any other open source microcontroller board is that WE have the flexibility to add whatever else we need. A robotics-based series of wings could then fill in the gaps. In my case, I also need a differential receiver (could go on 1 wing), and maybe some extra serial ports. Another option is a 16-bit camera wing, if desired. Another thought about analog inputs- Would it be useful to have an op-amp buffer with a low pass filter to drive the analog inputs? Or, I suppose we could assume that all analog voltage sources are low-impedance and low-frequency?
  6. EJK

    Robotics Wing Features?

    4x Differential line receivers: In our case, we're using four differential pairs for quadrature encoders. Sending encoder output directly to the FPGA/ processor/ whatever over a few feet of cable loses encoder counts in our situation. I can't remember the exact specification off the top of my head.. LVDS12 or LVDS33? Not sure right nowNot sure if it would be better (aka easier) to try to use the built-in differential receiver in the Spartan 6, or to use a dedicated IC. I'd be looking for four receivers only (no transmitters needed in my application)... Would differential transmitters be a common use case?? I cant really think of too many small-scale situations where they would be necessary I may add the differential receivers to a smaller 8-bit wing without taking up I/Os on the larger MegaWing Yes- definitely planning on external circuitry for the relay drivers. I will also want a separate voltage input (5V-12V) which directly drives the higher-current relay outputs Great to hear. I saw something about this in a document note... To be specific, are pull-ups/pull-downs declared in the .ucf file? Currently planning to use the same ADC from the logicstart. Might as well reuse components since the VHDL already exists. That's a possibility. I havent worked with RTCs before since most of the robotics I've done has been a "soft" real time, and I haven't worried too much about the absolute time. I'll take a look. Any idea about the benefits of adding RTC?
  7. Hi! My research group currently uses an NI cRIO as an FPGA and processor, with a custom breakout board for low-level robot IO: http://cwrucutter.wordpress.com/2012/11/09/cwru-cutter-robot-architecture-low-level/ I would like to use a Papilio instead as a customizable, low-cost, all-in-one SOC which interfaces with a higher-level PC. So, I'm putting together a MegaWing for robot I/O based around the Papilio. I'm curious what (if anything) people would like to see on a robotics-oriented MegaWing. Here's my current list of requirements based on my robot: 4x Serial ports. Not sure if we need RS-232 or TTL. Possibly both.4x Differential line receives4x Relay Drivers. Capable of sourcing enough current for a relay (100-300 mA)8x Analog inputs. Or so.8x Straight-through GPIOs with pull-up resistors. Used for various switches, indicators, or digital IO (PWM input/output, other SPI or I2C peripherals, etc)2x H-Bridge motor controllerAre there any other things you'd like to see for robotics (maybe an onboard IMU IC, or something of the sort)? Or things that maybe arent so necessary? Also- 2 spare wing slots (as in the Retrocade) would be really great for a robotics application because we could add smaller wings if it turns out we need more IOs based on the specific application. Thanks for any input! EJ
  8. EJK

    Papilio Pro Beginner Tips

    Thanks for your improvements on documentation! Its really showing already. Im a big fan of the Getting Started guide and the Xilinx Webpack walkthrough.
  9. Hi, I just got started with Papilio Pro last week (side note: Great work with the papilio family and wings.. Im really excited about the board's potential). The Pro was my first entry to the papilio line. I was mostly able to figure out how to get the board running and programming. But, many of the instructions/downloads on the papilio website are either outdated or directed towards Papilio One, so getting started took about 4 hours longer than I expected. I thought I'd put together a list of links and instructions for problems I encountered along the way so that perhaps others starting with the Papilio Pro could have something up-to-date (well, as of April 2013, that is): 1. Windows FTDI Drivers: I had some real trouble getting the Papilio recognized as both a USB and a virtual COM port. For my problem, the device was ALWAYS recognized on Windows-- even when I did not have the Gadget Factory drivers installed. And it never showed a virtual COM port. Troubleshooting suggests using a different cable, or editing the device properties. Apparently in my situation, the Papilio was recognized as an FTDI device first and was not using the Gadget Factory drivers. My solution: Download the FTDI CDM Uninstaller. Using FTDI's USBView utility, find the Device Vendor ID and Product ID. Use the CDM Uninstaller to uninstall the FTDI drivers for the Papilio. After plugging and replugging, Windows recognized a virtual COM port. I could also connect through putty and see the default ASCII table output which was apparently the factory default program. 2. Getting Started Bitfile: http://papilio.cc/index.php?n=Papilio.GettingStarted It appears as though the getting started website (as of April 5 2013) does not include the getting started bit file for Papilio Pro. In my beginner state, I assumed this website would have the materials I needed, so I fumbled around trying to use the Papilio One 500K bitfile. After a while, I realized it certainly doesnt make sense to try to use the Papilio One bitfile, especially since the Papilio Pro uses a completely different FPGA. I dont think I've found a replacement for the "Getting Started" bitfile for the LX9 yet. 3. Papilio Loader: As with the bitfiles, the Papilio Loader GUI on the Getting Started Page is out of date (it downloads v1.7). According to a forum discussion around December 2012, the Papilio Loader was modified to support the Papilio Pro. Download the Papilio Loader GUI specifically from the Downloads webpage (this should be version 2.1 or later): http://forum.gadgetfactory.net/index.php?/files/category/2-papilio-fpga/ 4. ZPUino Core and Loader: I think the official ZPUino download page is a little out of date for Papilio Pro. It looks like the papilio website ZPUino getting started guide is out of date too- It uses an old version of the IDE and does not include links for the Papilio Pro bitfiles. Instead a forum post indicates the RetroCade installer works with the Papilio Pro. So, to get the ZPUino to work, download the Retrocade Synth Windows Installer from the Download Page. Use the bitfile ZPUIno_SOC/zpuino-1.0-PapilioPro-S6LX9-RetroCade-1.0.bit to program the Pro. The installer should also include a version of the Arduino GUI which includes a board option for ZPUino on Papilio Pro (LX9). 5. Intro to FPGA Book: With a functioning Papilio Loader and a ZPUino core/ GUI, I was basically good to go with the Intro to FPGA E-book. I also installed the Xilinx toolchain as instructed. No issues there. I'm looking forward to generating and programming with my own bitfiles shortly. It would, however, be nice to have an updated Xilinx webpack quickstart page: http://papilio.cc/index.php?n=Papilio.XilinxISEWebpackQuickStart. EDIT: I installed the wrong Xilinx tools at first. The default link inside the Intro to FPGA E-book now leads to the Xilinx Vivado suite, which doesnt support the Spartan 3 or Spartan 6 series. Instead, make sure to download and install the ISE Design Suite. 6. Papilio Arcade: I also tried the papilio arcade wing. Just make sure to download the correct LX9 bit files from the github https://github.com/GadgetFactory/Papilio-Arcade I havent looked at the AVR8 softcore processor. This is on my list to test with the Papilio Pro, along with some other fun things (SoC editor is on the horizon too). Like I said, Im a big fan of the board. Overall, it looks to be a really great FPGA. I do want to see the usability/ learning curve get to the Arduino level, and it helps to have a good getting started procedure for all boards. Hopefully this helps another beginner in the same situation. Thanks for all the work so far! EJ