Thursday, January 6, 2011

Barrel Power Connector Pictorial

BARREL POWER CONNECTOR
Basic connections

01-06-2011, 08:33 PM CODE 5-115

This is a handy pictorial that can be used to measure power on the unmodified PPPB. It shows the (+/-)
polarity of the Barrel Connector and the positioning of the power LED under the slide switch. It also
identifies the green LED and its resistor pair. PPPB = Parallax Propeller Proto Board.

Regulator Pictorial

REGULATOR PICTORIAL
01-06-2011, 08:23 AM CODE 5-114

The pictorial sketch shows the 3.3-volt power regulator and its pinout. The PPPB was modified by lifting the 3.3 VDC leg. Below the regulator is the pinout of the nearest connector.

Resistor Selection

RESISTOR SELECTION
Propeller Protection & Pull Down Considerations

01-06-2011, 08:17 AM CODE 5-113
When connecting prop to prop, a 2.2K ohm resistor is recommended to protect the Propeller chip pin. In the circuit at the bottom of the diagram posted above, what value is recommended and does the 4.7K ohm pull-down resistor need a lower value? At first glance, it looks like 2.2K ohm could be used throughout. That would give 4.4K ohms to Vss with each Propeller chip, close to the original recommended 4.7K ohms. Considerations: how will this be affected with 20 props? With 50 props?

Brain Serial Interfacing

ALL ABOUT BRAIN SERIAL INTERFACING
Deciding the nature of various connecting interfaces

01-06-2011, 07:58 AM CODE 5-112
  When is comes to serial interfacing, there are numerous options to consider. I have categorized some of the possibilities and listed some options to consider.

First, decide if the interface will use one pin or two pins. A two wire interface (2 pins per chip) can operate in a bi-directional full duplex mode (send and receive at the same time or staggered). It can also be configured to function with one wire out of the two as half duplex.


One wire (1 pin per chip) functions in half duplex mode. It can either send or receive but not both at the same time. One wire interfacing has the advantage of simplicity, can be up and running in a timely fashion, and has low code overhead potentially needing only a single cog.


Standard One-Pin Uni-Directional True/Inverted Mode

Standard Two-Pin Bi-Directional True/Inverted Modes
Same-Pin (Bi-Directional) Inverted Mode
Same-Pin (Bi-Directional) True Mode

Various serial interfacing (requires the addition
of protection resistors)


The napkin sketch shows four connection diagrams, less the protection resistors on each Propeller. Not the pull up and pull down configurations with a 4K7 resistor in bi-directional true and inverted modes. One pin bi-directional mode in inverted mode and pull down was adopted by BSS (illustration number 4). For simplicity, reliability and familiar code, illustration 4 will be adapted first unless otherwise noted.

Wednesday, January 5, 2011

Brain Work Sheet

BRAIN WORK SHEET
01-05-2011, 12:54 PM CODE 5-110
 
( ) 1 Stamp + 1 Prop
( ) 1 Prop + 1 Prop
( ) 1 Prop Master + 2 Props Slaves
( ) Parts Acquisition
( ) Brain Stem
( ) Brain Base
( ) Brain Span
( ) Power Tests
( ) 1-Wire Serial
( ) 2-Wire Serial
( ) Parallel BUS
( ) Serial Code
( ) Cog Consumption
( ) Breadboard DIY
( ) Breadboard Commercial
( ) LED Resistor Pair Value
( ) LED Red Tests
( ) LED Yellow Tests
( ) LED Green Tests
( ) Testing LED Code
( ) Sketching
( ) Researching AI
( ) Researching Cognitive Learning
( ) Researching High Speed Data Transmission

Green Brain Blob


01-05-2011, 11:12 AM Code 6-109

Green Brain Blob & Green Guts


Approach to recycling hardware and software



The previous post specified the Hybrid BBB. Recycling may represent a large portion of the Brain Blob. The Brain, no matter how we look at it, needs all the resources it can get. Things inside will need the ability to serve numerous multiple purposes. I can see the use of shape shifters that are recycled from one purpose into another. Pins may recycle from output to input and visa versa. Memory is recyclable with varying code that runs and deletes. Algorithms can created "erasable" subroutines. Axons cycle for use and reuse. Code is self writing. Transposition, transmutation, juxtaposition, morphing, blending and evolving are all aspects of greening up the brain. For a comparison example of morphing where space is recycled, see the 4D Morphing Computer (with CoProcessor).





Brain Blob BUS

01-05-2011, 11:02 AM Code 6-108 BRAIN BLOB BUSS 
The foundation of the Hybrid BBB

    I had previously and briefly mentioned the hybrid aspect of the interfacing BUS for the Brain and this has now evolved through various testing trial and error into something more usable. The hybrid BBB is based on the proponent idea in the AM Algorithm Machine's Hybrid Bus, although it used a tiny 6-bit parallel version. For example, a two wire serial full duplex interface can use one wire or two wires just by changing the software. That's the idea. So we just put on the parallel bus and tweak software for three interfaces, i.e. make an 8-bit parallel and recycle 1 or 2 wires for serial duplex modes. The Hybrid BBB is a nice little hobby invention for getting more use out of a simple machine and increasing programming flexibility and minimizing the number of wired processor pins. It will also allow a system to be up and running sooner and leave the more complicated configurations for later. No schematics at this time for the Brain but there is a direct-connect schematic for the AM.

    For example,
    the AM Machine Interface



    This versatile machine operates in four modes, which can be wired as single mode A, single mode B, or dual modes A & B, or simply C mode. Operate the AM using a single wire and serial PBASIC code commands or program the machine using the seven parallel port bits.

    A - Single Wire Serial P0
    B - Parallel Bus P3, P4, P5, P6, P7
    A + B Dual BUS, as seen above
    C - Parallel Bus Only P0, P3. P4, P5, P6, P7

Brain Cog Power Draw

BRAIN COG POWER DRAW
01-05-2011, 10:20 AM CODE 5-110
 Managing current within a Brain Blob

Each of eight cogs draw power
when in use


From time to time we will review the power consumption aspects of the Brain. We need to know the aspects of all power draw in the Brain as things are leading towards the development of battery operation for mobile robots (as one app). Dr. Braino has pointed out, as seen in the Propeller Specification sheet, a cog draws something on the order of 1 uA per Mkz per core and inactive cores are 0 uA. So every time a cog is turned on, it will draw a small amount of extra power. It may not seem like much, but multiplied by hundreds, or many thousand of cogs, it will add up and every milli-amp is significant.

Tuesday, January 4, 2011

Simple Learning Algorithms

01-04-2011, 12:34 PM Code 6-105 SIMPLE LEARNING ALGORITHMS
We'll need some simple examples of learning algorithms that can begin with one Propeller and then have it applied to multiple processors.

Monday, January 3, 2011

The Last PPPB Breadboard

01-03-2011, 05:05 PM Code 6-104 The Last PPPB
 
Finally the last PPPB gets a solderless breadboard!

Breadboard Add

01-03-2011, 05:03 PM Code 6-103 BREADBOARD ADD
Getting ready to add more breadboards to these PPPBs. There are 19 total plus one which has a home-made SBB.

Testing Setup for LEDs

01-03-2011, 05:00 PM Code 6-102 TESTING SETUP FOR LEDS

Testing setup for LEDs using breadboards mounted on Parallax Propeller Proto Boards.

Building DIY Breadboards

01-03-2011, 04:58 PM CODE 6-101 BUILDING DIY BREADBOARDS
A DIY project for Brain boards


You can make very affordable home-made breadboards using pin sockets. Solder across pins on the sockets solder points on the bottom of the Parallax Propeller Proto Board to make connections.

DIY Breadboards can be made very small. A four socket row is very useful for connecting data LEDs, resistors, capacitors, power connections, extensions, ground, and various sensors. The weight is significantly less than the smallest commercial breadboard at the Parallax store. However, for the purpose of constructing the Brain Base and the Brain Span, the larger Parallax is ideal for more connection points and larger scale tests. The board from the brain's Brain Stem has a very small solderless breadboard built up from standard inexpensive dual row pin sockets. Economical DIY breadboards cost only a few pennies. Commercial breadboards can fill in for Brain Base and Brain Span apps. Parallax item code 700-00012 is currently $3.99.

Small Breadboards

01-03-2011, 04:55 PM Code 5-100 SMALL BREADBOARDS

Small breadboards are added to PPPBs. The yellow wire is a pin control to the data LED. Small breadboards were obtained from Parallax Inc. and affixed with rolled tape in the event of necessary removal in the future.

241 Resistor

01-03-2011, 04:52 PM Code 5-99  241 RESISTOR

 
This 241 resistor is insufficient for regulating the data LED due to power constraints imposed by robotic battery operation requirements.

Testing Conclusions

01-03-2011, 01:55 PM Code 5-98 TESTING CONCLUSIONS

    * The decision is made to use on-PPPBs data lights with 4K7 resistors.
    * The on board data light will be kept for more infrequent use
    * Modified boards will be used throughout the Brain Stem, Brain Base and Brain Span
    * A red LED will be selected over green and yellow

Power Testing

01-03-2011, 01:55 PM 5-97 POWER TESTING

    * Modified Parallax Propeller Proto board (both regulators and LED disabled) draws 4mA idle. Power LED converted to data light draws 20mA when on. Another test confirmed 4mA modified board current. Unmodified, board draws 10mA. To modify, lift the middle leg of the 3.3 vdc (output leg) of the LM1086 CS-3.3 regulator.

    * Another test, mod proto board draws 5ma, 19ma with on board data light. Put Taiwan LED on pin 25 with 150 ohm resistor = 12ma. Draws 6ma with 2.2k ohm. (since board draws 5ma, the Taiwan LED is drawing only 1ma)

    * Power LED converted to data light still has a 241 ohm resistor on it which is too small a value and that is why you see 20ma current. This is not acceptable for the purpose of battery portable operations. Therefore another data LED will be added.

    * The China red LED is the same as the red Taiwan LED – very bright at only 1ma. The green China LED is barely visible. (using a 2.2K ohm resistor). The green Taiwan is also too dim. The yellow Taiwan LED is also the same/ too dim.

    * The secondary LED was tested with a 2.2K resistor and was bright. With a 4.7K, it was less bright but still usable. You would not want to go dimmer. Therefore, with the Prop's 3.3 volt pin, use a resistor from 2.2K to 4.7K range depending on desired brightness. Both tests showed the LED drawing 1ma.

Boards on Boards

01-03-2011, 01:37 PM Code 5-96 BOARDS ON BOARDS
This is the board attachment phase


Boards on boards simply refer to the mounting of secondary boards on the PPPBs. This is a small solderless breadboard (SBB) for wiring the components for data transfer (various BUS), data lights, power rail, power connection, and any additional circuits. It's also useful for rapidly changing and morphing the wiring and to run various test circuits. The board is extremely small and is very minimal in its propagation of EMI/ RFI and can be situated close to the Propeller chips' pin array - another useful minimization. This may or may not allow overclocking, future tests will determine the viability of overclocking. Currently the boards handle 80MHz and 20MIPs per cog.

Although there are 20 PPPBs, only 19 will receive the SBB. This is because the PPPB in the Brain Stem is a hybrid which must interface to a BASIC Stamp and already has a tiny SBB made up of 7 total pin connector arrays. It may take some time to attach all SBBs. They are attached directly beneath the PPPBs label "PropClip" and "Keyboard." Note the hybrid PPPB already has the expansion kit installed for attaching keyboard, VGA, and mouse, so in the remaining boards this position is available for adding SBB real estate.

SBBs are attached with large pieces of rolled plastic boxing tape. SBBs can be reposition, relocated, and removed at any time. The adherence may last for years, depending on environment and tape qualities.

Software Test 2

01-03-2011, 01:20 PM CODE 5-95  Software Test 2
It became necessary to have a small program for testing the data light to ascertain the current draw and compare the LED on the Parallax Propeller Proto Board (PPPB) with another one on another pin (mounted on the breadboard).

Attached is testing Spin software for three types of LEDs.
1) On the Demo Board to test the software
2) Surface mount LED on the PPPB
3) LED on the breadboard

Pins are listed in the code and remarks.
The delay between on/off cycles was increased to allow for ammeter settle time between reads.

{{


The Brain Blob by Humanoido
brainblobtest2.spin
Sunday January 03, 2011

LED Testing for the Brain Blob Project
Blinks LED on pin 24 and/or 25 using the Parallax Propeller Proto Board
Use pin 23 for demo board testing of this software
Use pin 24 to test the Parallax Propeller Demo Board modification (on board LED)
Use pin 25 to test resistors for LED on the breadboard.
Rem out statements to select pins


}}

CON                               ' Constants
  _clkmode       = xtal1 + pll16x ' 80MHz clock
  _xinfreq       = 5_000_000      ' 5MHz crystal
' LED1           = 24             ' LED mod is on pin 24 Proto Board
  LED2           = 25             ' This LED is on the breadboard
' LED            = 23             ' pin 23 demo board
  delay          = 160_000_000    ' Delay enough for ma reading to settle

PUB Main                          ' Main method
' dira[LED1] := 1                 ' Set LED pin as output
  dira[LED2] := 1                 ' Make pin 25 output
' dira[22]   := 1                 ' correct ghost led on demo board
' outa[22]   := 0                 ' correct ghost led on demo board
' outa[LED1] := 1                 ' Initialize pin on pin 24
  outa[LED2] := 1                 ' Light the LED on pin 25
  repeat                          ' Loop below
    blink                         ' Do Private Method blink LED
  
PRI Blink                         ' Private Method to blink LED
' !outa[LED1]                     ' Toggle state LED
  !outa[LED2]                     ' Toggle state - Light the LED on pin 25
  waitCnt(delay+cnt)              ' Delay

Saturday, January 1, 2011

Revised Test Software

01-01-2011, 03:36 PM CODE 5-92  REVISED TEST SOFTWARE
Try this attached revised version b test software. The LED will remain on longer for testing, improving visibility and allowing wire to pin 24 adjustment and testing.

brainblobtest.spin


 {

The Brain Blob by Humanoido
brainblobtest.spin
LED Mod Test on the Brain Blob Project
Blinks LED on pin 24 using the Parallax Propeller Proto Board
(Use pin 23 for demo board testing of this software)
Friday December 31, 2010

}}

CON
  _clkmode      = xtal1 + pll16x ' 80MHz clock
  _xinfreq      = 5_000_000      ' 5MHz crystal
 LED            = 24             ' LED mod is on pin 24 Proto Board
' LED = 23                       ' pin 23 demo board
 delay          = 80_000_000     ' Approx 1 second on and off

PUB Main
  dira[LED] := 1          ' Set LED pin as output
'  dira[22]  := 1         ' correct ghost led on demo board
'  outa[22] := 0          ' correct ghost led on demo board
  outa[LED] := 1          ' Initialize pin on
  repeat                  ' Loop below
    blink                 ' Do Private Method to blink LED
  
PRI Blink                 ' Private Method to blink LED
  !outa[LED]              ' Toggle state LED
  waitCnt(delay+cnt)      ' Delay

Troubleshooting Results

01-01-2011, 05:01 AM code 5-91  Troubleshooting Results
All boards are Operational


Board one had an LED that would not light - it was open from the front side board plated through hole to the back side, resulting in an open circuit and no LED response. The fix was scratching and removing the dielectric resin on the front side and re-soldering the through-hole wire on both sides.

Board two had the LED constantly on, but driven to increased brightness. Troubleshooting led to the trace under the second voltage regulator which had a tiny remnant trace fragment shorting out to the adjacent trace. The solution was to remove the trace.

Board three had a tiny short circuit surrounding the solder island at the back side. This was resoldered, solder wicked, and finally a knife was used to sever the ill connect point. Two out of the three boards required a microscope to detect the troubleshooting points of interest.

Hobby Machines

01-01-2011, 04:50 AM CODE 5-90  HOBBY MACHINES COMMENTS
Remember, these hobby machines are designed to satisfy my purposes. You could also say the Propeller chip is just a bunch of connected cogs. You would be right. Parallax put it out there and by itself it does nothing - but in the hands of a person that can wrap their mind around it, new worlds are opened. 

The BSS follows a standard of Master-Slaves concept explained in the Parallax BASIC Stamp Book, as does the SEED and the US40 machines. Pin zero one wire serial half duplex interface bus - absolutely yes. A bunch of Propellers, and BASIC Stamps, connected together - absolutely yes. Distinct and separate boards only stacked - absolutely not. (Even if it was, that would be ok - refer to the discussion on art and visual representation.)

The boards are all connected, software driven at the same time, and talking to each other. Each machine has a specific purpose. Reviewing, for example, SEED software will show multiple Stamps listening at the same time and responding (talking) and processing data simultaneously in true parallel. Programs run at the same time as machines demonstrate various concepts of multi-processing, self enumerating, true parallelism, self evolving, memorizing, AI, determinism, aggregate memory, and so on.