Shop OBEX P1 Docs P2 Docs Learn Events
Help me determine if the Prop will be right for my project... — Parallax Forums

Help me determine if the Prop will be right for my project...

MarkSMarkS Posts: 342
edited 2007-08-25 16:41 in Propeller 1
I'm in the design phase of building a rather complex aquarium controller. I know that I'll need a reasonably powerful and fast processor/microcontroller for all of the features that I have planned, and so far the Prop looks to be a very good candidate. However, I've never developed anything for the Prop, so all I can do is make educated guesses. I would hate to get deep into the design phase only to find out that the Prop will not do what I need and then have to scrap all the work I've done.

The features that I have planned so far, and more will undoubtedly be added later, are:

1.) 320x240 color LCD w/ touchscreen.
2.) The ability to connect up to 8 probes, using BNC connectors(the standard connector for aquarium probes).
3.) All probe inputs are unassigned, until the user connects a probe, tells the controller what type of probe it is and calibrates it. This allows two or more of the same probe type to be used, if needed.
4.) Graphs showing current and/or stored values for one or more selected probes.
4.) SD card slot for data logging.
5.) USB port for easy downloading of the SD card's contents, assuming the computer lacks a card slot.
6.) An Ethernet port so the controller can be accessed online.
7.) Eight relays for outputs, one per probe.

All of this, and possibly more, must fit within the microcontroller's program and data space and I/O ports. I'm still researching parts, but I'm afraid that I've gone past the Prop's capabilities.

Any help will be appreciated.

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2007-08-23 01:58
    Mark,

    It all looks well within the capabilities of the prop as long as you are using a USB chip like the FT232R for the USB. The ethernet can be implement with an ENC28J60 but that requires a fair bit of program and data space (at present anyway). You could use an XPORT module or similar for your ethernet, keeps it nice and simple or allow for both as I did in my iCONSOLE.

    I don't know what kind of probes you would be using but I am guessing that you would have some extra analog circuitry and possibly an external A/D though the A/D part is possible using a mux+comparator+reference and the props counters in a DAC configuration.

    The relays I would just run off a shift-register either directly (UCN5822 etc) or perhaps via a 74HC595 plus drivers.

    Is the LCD a standard TV input type or do you drive the timing yourself?
    How do you intend to interface the touchscreen and what kind is it?

    The SD card is straightforward and could even use SD cards with the built-in USB interface as they are very cheap now and then you wouldn't have to worry about building in a USB interface. If you are using ethernet then why would you need USB anyway as that sounds redundant.

    Overall I'd say go Propeller.

    *Peter*
  • deSilvadeSilva Posts: 2,967
    edited 2007-08-23 02:04
    You *might* also consider the AVR32 board from ATMEL... smile.gif
    All touch screens I know of are now USB equipped and need an USB host....
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-08-23 14:42
    MarkS,

    I'm working on an application that would use a touch screen.· I wrote a routine that will read a 4-wire resistive touch screen directly.· Uses 8 pins just for the touch screen, but with some added hardware and software modifications, you can probably reduce the number of pins required.

    This is a work in progress, so I haven't uploaded it to the Object Exchange yet.

    Have Fun!

    Ken



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
  • MarkSMarkS Posts: 342
    edited 2007-08-23 18:58
    I'm thinking that maybe I should use two Props, one for the probes and relays and one for the GUI and data logging.
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-08-23 20:43
    The GUI can really gobble up your memory, that's what I'm discovering. C'mon Prop-II!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
  • MarkSMarkS Posts: 342
    edited 2007-08-23 21:27
    Ken Peterson said...
    The GUI can really gobble up your memory, that's what I'm discovering. C'mon Prop-II!

    That is really my main concern. How easy is it to upgrade the Prop's RAM/ROM? I figure I can store all images in a second SD card, but that doesn't matter if there isn't enough RAM to load them.

    I've also read somewhere that there is a 400+ instruction limit if I use SPIN code? What's the deal with this? Is Parallax being cruel just because they can? I can see myself exceeding that limit with the GUI alone. I guess that I could and probably should write the whole thing in assembly, but why 400+?!?

    Maybe I just have a few misconceptions from old literature or something? I'm hoping someone can clarify this for me.
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-08-23 21:43
    Each cog has 496 longs available for assembly instructions, each of which takes one long. Perhaps this is what you read about.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-08-23 21:48
    By the way, MarkS, You really shouldn't need to store a lot of graphics. If you are using the Graphics object that comes with the propeller, you can draw almost everything with code. Your screen bitmap will however eat up a big chunk of memory, depending on your resolution.

    The Graphics Demo uses two bitmaps, drawing on one and then copying it to the display. You really don't need to do that. I am drawing on the same bitmap that the TV driver is displaying and it works fine. Only problem is with fast moving graphics you might get some flickering but for what you're doing I doubt it would be a problem.

    Ken

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
  • edited 2007-08-25 02:03
    You might consider using 2 propellor chips together, but its just my 2 cents.

    If you need to store graphics, just add an SD and SRAM of whatever needed sizes.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Realize that I am really a mad scientist··· and


    Don't forget it!

    http://raydillon.com/Images/Illustration/GameArt/WildIsle/WildIsle-Ink-ScientistClose.jpg

    ·
  • MarkSMarkS Posts: 342
    edited 2007-08-25 02:41
    Bob the Builder on a C64 said...
    You might consider using 2 propellor chips together, but its just my 2 cents.

    If you need to store graphics, just add an SD and SRAM of whatever needed sizes.

    I will be using two. How do you interface SRAM to a chip that doesn't have address or data pins? Moreover, how do you interface an EEPROM or Flash chip with more than 32K available, in the same regard?
  • potatoheadpotatohead Posts: 10,260
    edited 2007-08-25 03:17
    Take a look at the HYDRA SRAM add on card. It's done serially, with address codes, sequential reads, etc...

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Propeller Wiki: Share the coolness!
  • Mike GreenMike Green Posts: 23,101
    edited 2007-08-25 04:02
    The Protoboard already has a boot EEPROM with 64K bytes and the Hydra comes with 128K bytes in the on-board EEPROM and 128K bytes in the plugin card. The Hydra SRAM card also has a 128K byte EEPROM on it. There's all sorts of existing code for accessing the extra EEPROM from the I2C Library to the Basic I2C routines to FemtoBasic.
  • El PaisaEl Paisa Posts: 375
    edited 2007-08-25 13:57
    I would recommend a propeller and a graphics display such as· the ezLCD-004.

    The ezLCD-004 is very nice display with the following features:
    5.6 inches display.
    320x240 pixel resolution.
    Resistive type touch screen.
    1 MB eeprom for graphics.
    RS-32, USB, SPI, SD/MMC Programable.
    Internal SD/MMC card reader/writer capable of FAT12, FAT16 and FAT32.
    You can store icon, bmps and touch screen icons either the internal eeprom or SD/MMC card.
    I am including a screen capture of the display and a sample code.
  • MarkSMarkS Posts: 342
    edited 2007-08-25 14:59
    Man, I could hug you! That's more than I could have asked for. Where'd you get it?

    All of this is moot for the moment. The ADC I'm going to use, the MAX1168, has some wicked PCB requirements that will not be fully met by Eagle's freeware version and I don't have the money right now for the professional version. Talk about a nasty chip to design for. Anyone know of an 8-channel 16-bit ADC that doesn't have the insane power and routing requirements of the MAX1168?

    Post Edited (MarkS) : 8/25/2007 3:04:10 PM GMT
  • El PaisaEl Paisa Posts: 375
    edited 2007-08-25 15:27
    Hi, go to ezLCD.com.

    You will find the product and complete documentation.

    I have some experience with the display and can provide· lots of code.



    Good luck with your project.
  • Fred HawkinsFred Hawkins Posts: 997
    edited 2007-08-25 15:31
    MarkS, TI looks like they have comparable chips

    http://focus.ti.com/lit/ds/symlink/ads8344.pdf datasheet for TI's 16bit 8·chan chip. Looks nice, tested down to 2.7V.

    http://focus.ti.com/docs/prod/folders/print/ads8341.html#relatedproducts

    Post Edited (Fred Hawkins) : 8/25/2007 3:37:05 PM GMT
  • MarkSMarkS Posts: 342
    edited 2007-08-25 15:58
    Fred Hawkins said...
    MarkS, TI looks like they have comparable chips

    http://focus.ti.com/lit/ds/symlink/ads8344.pdf datasheet for TI's 16bit 8 chan chip. Looks nice, tested down to 2.7V.

    http://focus.ti.com/docs/prod/folders/print/ads8341.html#relatedproducts

    Thanks! That is MUCH better!
  • Ken PetersonKen Peterson Posts: 806
    edited 2007-08-25 16:41
    Mark,

    Depending on what you're trying to do, you can also use an analog MUX with the software ADC similar to what I used for the touch screen. I've attached a data sheet for one MUX, but there are lots out there. This one apparently has +/- 15V input range and should work with 3.3V logic.

    Regards,
    Ken

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    The more I know, the more I know I don't know.· Is this what they call Wisdom?
Sign In or Register to comment.