Shop OBEX P1 Docs P2 Docs Learn Events
NTSC Video — Parallax Forums

NTSC Video

Has anyone used a Propeller Cog to generate and send NTSC video or digital equivalent data to a large flat screen TV to display a rather complicated and detailed image that includes run time data such as the positions of valves and temperatures of material in mixing tanks in a process control piping diagram?

My CNC milling machine uses a Microsoft computer running XP and a controller chip to not only run the milling machine but also display the location of the cutting tool in a 3D diagram and the daynamics of the moving tool...whether drilling, taping, or milling.

Do you know the functional partitioning of the XP program and the controller program? The CNC is made by South-Western Industries. I wonder if the Propeller can perform the whole function written in C.

Discovery

Comments

  • Duane DegnDuane Degn Posts: 10,588
    edited 2015-10-01 02:00
    I kind of doubt a Propeller could do all that on its own. If the display portion of the application could be separated to a slave graphics Propeller then something like what you propose should be possible.

    I know there are several people using the Propeller in CNC applications.

    I've documented some of my efforts on Hackaday.io.

    https://hackaday.io/project/4793-propeller-based-cnc-router-controller

    I'm using Spin in my project. I'm not sure if C would make something like this easier or not. I've found writing the Spin code pretty challenging.

    Edit: I'm not sure how detailed the graphics could be. If I have the Propeller drive a large display it will likely display text. I may attempt to have the Propeller display the part about to be cut in 2D. I think having a detailed 3D image would be a challenge for the Propeller.
  • kwinnkwinn Posts: 8,697
    That's a tough task even for a propeller chip that is dedicated to the video functions only. The main bottleneck is the 32K hub ram which limits the amount of detail possible, followed by the video bandwidth, which limits the maximum resolution. Clever use of sprites and programming might make a reasonably similar display possible, but it depends on the resolution and level of detail required. Perhaps you could post a video of the current display.
  • Understood...thanks,

    I designed, built, and operate a CNC plasma cutting machine using a Propeller controller coded in "C" that works perfectly well having a precision of around 400 micro inches...anywhere in an area of 3.25 feet by 6.5 feet.

    I have written the "C" code for a Propeller that controls a process control system but it would be really nice to see the realtime data displayed on a pictorial diagram of the plant. The system also uses a BS2p for gathering lots of process data and sending that data to the Propeller.

    I imagine that my CNC milling machine uses the XP for all the graphics, reads realtime data from a controller that runs the machine, and overlays the X, Y, and Z data on the screen.

    How well can a Propeller controller interface with a USB port computer in such an application?

    Discovery
  • Discovery wrote: »
    it would be really nice to see the realtime data displayed on a pictorial diagram of the plant.

    The Propeller wouldn't have trouble displaying text on a large screen. I used the VGA 1600x1200 driver with a 19" back when I used the Propeller to log data in my chemistry lab. I thought the display looked beautiful. If you could display your plant diagram as ASCII art then I don't think you'd have a problem overlaying data on the diagram.

    Discovery wrote: »
    How well can a Propeller controller interface with a USB port computer in such an application?Discovery

    It's very common to use a serial connection between PC and Propeller at a baud of 119200. I'm pretty sure rates faster than this are possible. I've used 250,000bps single duplex with Dynamixel servos but I haven't tried rates faster the 119,200 between Prop and PC.

    I was pleasantly surprised how easy it was to send data over Bluetooth at 119,200bps to display data on an Android device. I'm sure a Bluetooth connection could also be used with a PC. A PC or Android device could have all sorts of fancy graphics and the data from the Prop could be incorporated in the graphics anyway you wanted (as long as you knew how to program the PC or Android device appropriately).
  • Good...
    The sample rates are not very high for the process control system so I would imagine that the serial interface device would do the job?

    The reason that I included a question mark is that several years ago I used a BS2 and its serial interface to a PC to continuously control a system and monitor data generated by the system. The system, including the BS2, were supplied power from a UPS and every two or three months the BS2 would hang-up. I was nearly ready to go out of my mind when I pulled the serial plug that sent data to the PC for display...the control program continued to run without a problem...year after year. So, I know that when the serial interface code is inserted, automatically during connection of the serial device...it affects the main program code in a manner I do not understand.

    I will try your suggestion and write a static display program using ASCII art but won't the SimpleIDE continue to write the data to the monitor window? I would like to place the data at certain (x,y) coordinates on the screen.

    Discovery
  • Discovery wrote: »
    I will try your suggestion and write a static display program using ASCII art but won't the SimpleIDE continue to write the data to the monitor window? I would like to place the data at certain (x,y) coordinates on the screen.

    I've done this sort of thing in Spin but not C. I doubt it will be a problem in C.

    It's often a good idea to use numbers padded with space characters so fragments of previous numbers with lots of digits don't remain when a number with fewer digits is written to the screen.

  • Ok...thank you.

    Discovery
  • TubularTubular Posts: 4,702
    edited 2015-10-01 20:54
    I think the process diagram you're after is what they call a 'scada mimic'

    I second what Duane was saying about ascii art using a high resolution VGA driver. It comes up really crisp on a 32" screen. I was using Kuroneko's 128x64 driver to do this. You can do a fair bit with 128x64 characters with respect to drawing (blocky) pumps and valves, but importantly the process variables will be readable. You might also be able to customise the character bitmap definitions to give you nice pipe bends, probes etc

    Here's the link to that driver, because I'm not sure its in the obex
    http://forums.parallax.com/discussion/139112/fyi-vga-128xh-p-quad-cog-per-cell-colour-rainy-day-release
Sign In or Register to comment.