Hardware not found on COMMS

koyli

Member
Does anyone know why I am getting this error message.

I am using a AXE91 development board fitted with a 40X2 and connected to a breadboard with three 23017 expanders. Two days ago it was working fine with a test program.

Now I have started to write the main program and when I came to test the first part of it I got this error.
I have fitted new batteries and the download cable has not been removed. I have also tried another 40X2 with the same result.

Are both chips kaput? If so why?
 

techElder

Well-known member
Turn the power off to your AXE91.

Start the download from the editor.

Quickly turn the power back on to your AXE91.

See if that works first. This is called "HARD RESET". It just means your running program is so busy that the editor can't "get a word in edgewise!" :)

If that doesn't, then unplug your USB and replug. See if Windows catches on.
 

koyli

Member
Thanks for the quick reply.

The hard reset method worked and the editor reported a succesful download, however the test program is only two lines but there is no output.

Code:
[color=Black]main:
  
  [/color][color=Blue]high B.0
  high A.0[/color]
 

Buzby

Senior Member
It looks like you have a circuit fault somewhere. If the above code downloads OK, but then the PICAXE stops responding, something connected to A.0 or B.0 is causing the problem.
 

lbenson

Senior Member
Or additionally precede the "pause 1000" in BESQUEUT's code with "sertxd("x") and see if the character appears on your terminal once a second. If it doesn't appear at all, put it before "low B.0" and again before "High A.0". Depending on how many "x"es you see, that may tell you where a circuit fault is.

You may have to do a "pause 2000" at the very beginning of your code to get the initial sertxd to work. I like to start off my programs by printing the name of the program (with the picaxe type number as the first two characters of the name), e.g.,:

pause 2000
sertxd("40LeverFrame",cr,lf)

It can also be good to show battery level:

Code:
' 40LeverFrame emulates a railroad switchyard/terminal switching Lever Frame
#picaxe 50X2
  
  pause 2000 
  sertxd("40LeverFrame",cr,lf)

  calibadc b4
  b4 = 2611 / b4 ' 1.024 * 255 * 10 / calibADC value: V*10
  b5 = b4 // 10
  b4 = b4 / 10
  sertxd("Supply Voltage = ",#b4,".",#b5,cr,lf)
By the way, wouldn't say it's impossible, depending on voltage applied, but picaxes are fairly hard to kill.
 
Last edited:

koyli

Member
I have found the fault, I was one hole out on the breadboard. Sorry to waste your time. My original post was for a download problem which Tex had the answer for.

All I have to do now is find out why my 23017 expanders don`t work now when they did two days ago.
 

Circuit

Senior Member
Code:
#picaxe 50X2
Gosh, where can I buy one of those? :)
Rather makes me think we are about due for some new hardware... the M2 and X2 range have been around for some time now. Oh, for a PIC32MX170F256B-50I/SP IC with PICAXE loaded! ...dream on!
 

bpowell

Senior Member
Gosh, where can I buy one of those? :)
Rather makes me think we are about due for some new hardware... the M2 and X2 range have been around for some time now. Oh, for a PIC32MX170F256B-50I/SP IC with PICAXE loaded! ...dream on!
Yes! What's next in the PICAXE hardware lineup?
 

westaust55

Moderator
All I have to do now is find out why my 23017 expanders don`t work now when they did two days ago.
Is this still the situation where they worked with 2 IO expanders but not 3 IO expanders.
If you are looking for assistance then ease post:
1, the code you are using
2. The schematic/circuit diagram
3. A clear photo so folks here can cross check the wiring.

Photos need to be taken on a plain (no pattern) surface. Preferably perpendicular to the boards and clearly showing the wiring so folks here have a chance to Tav through the wiring.
 

koyli

Member
After a long battle I finally got a 40X2 and three 23017 expanders working with help from this forum. When I did a final count of the number of inputs and outputs, I found I needed six expanders.
So I cleared the board and fitted six expanders and then started to write the code. When I came to test the first part of it, nothing worked. I tried the code that worked previously and that didn`t work either.
I have cleared the board down to one expander and changed the 40X2 for a 28X2, but still nothing works.

I have checked the wiring over and over again, there is power to the + and - pins, power to the reset pin, all three address pins are connected to 0V, the i2c connections are correct, I am completely baffled.

I cannot upload a photo of the setup, the upload manager complains. I have reduced the size right down, changed the aspect ratio, but it is still rejected.

Here is the code that worked previously.

Code:
[color=Navy]#picaxe [/color][color=Black]28X2 [/color]


[color=Blue]SYMBOL mcp23017a [/color][color=DarkCyan]= [/color][color=Navy]%01000000 [/color][color=Green]; $0100 A2, A1, A0, R/W all connected to 0V[/color]
[color=Blue]SYMBOL mcp23017b [/color][color=DarkCyan]= [/color][color=Navy]%01000010[/color]
[color=Blue]SYMBOL mcp23017c [/color][color=DarkCyan]= [/color][color=Navy]%01000100[/color]
[color=Blue]SYMBOL mcp23017d [/color][color=DarkCyan]= [/color][color=Navy]%01001000[/color]
[color=Blue]SYMBOL mcp23017e [/color][color=DarkCyan]= [/color][color=Navy]%01000110[/color]
[color=Blue]SYMBOL mcp23017f [/color][color=DarkCyan]= [/color][color=Navy]%01001100[/color]
[color=Blue]SYMBOL IODIRA [/color][color=DarkCyan]= [/color][color=Navy]$00 [/color][color=Green]; Port A IO Direction register DEFAULT = I/P[/color]
[color=Blue]SYMBOL IODIRB [/color][color=DarkCyan]= [/color][color=Navy]$01 [/color][color=Green]; Port B IO Direction register DEFAULT = I/P[/color]
[color=Blue]SYMBOL IOCON [/color][color=DarkCyan]= [/color][color=Navy]$0A [/color][color=Green]; IO Expander config register - address $0B accesses the same register[/color]
[color=Blue]SYMBOL GPIOA [/color][color=DarkCyan]= [/color][color=Navy]$12 [/color][color=Green]; Port A General purpose register[/color]
[color=Blue]SYMBOL GPIOB [/color][color=DarkCyan]= [/color][color=Navy]$13 [/color][color=Green]; Port B General Purpose register[/color]
[color=Blue]SYMBOL OLATA [/color][color=DarkCyan]= [/color][color=Navy]$14 [/color][color=Green]; Port A latch register[/color]
[color=Blue]SYMBOL OLATB [/color][color=DarkCyan]= [/color][color=Navy]$15 [/color][color=Green]; Port B latch register


 
  [/color][color=Blue]pause [/color][color=Navy]8000
  
  
  [/color][color=Blue]HI2CSETUP i2cmaster[/color][color=Black], [/color][color=Blue]mcp23017a[/color][color=Black], [/color][color=Blue]i2cFAST[/color][color=Black], [/color][color=Blue]i2cbyte[/color]
[color=Green]'  HI2CSETUP i2cmaster, mcp23017, i2cSLOW_16, i2cbyte
  [/color][color=Blue]PAUSE [/color][color=Navy]400

  [/color][color=Blue]HI2COUT IODIRA[/color][color=Black], [/color][color=Blue]([/color][color=Navy]$00[/color][color=Blue]) [/color][color=Green];set all port A pins as outputs
  [/color][color=Blue]HI2COUT IODIRB[/color][color=Black], [/color][color=Blue]([/color][color=Navy]$00[/color][color=Blue]) [/color][color=Green];set all port B pins as outputs
  [/color][color=Blue]pause [/color][color=Navy]100[/color]


[color=Black]main: 



    [/color][color=Blue]HI2CIN [PLAIN][[/PLAIN]mcp23017a[PLAIN]][/PLAIN][/color][color=Black], [/color][color=Blue]GPIOA[/color][color=Black],[/color][color=Blue]([/color][color=Purple]b0[/color][color=Blue]) [/color][color=Green]' 
    [/color][color=Blue]sertxd([/color][color=Black]#[/color][color=Purple]b0[/color][color=Blue])
    HI2CIN GPIOB[/color][color=Black],[/color][color=Blue]([/color][color=Purple]b1[/color][color=Blue]) [/color][color=Green]' 
    [/color][color=Blue]sertxd([/color][color=Black]#[/color][color=Purple]b1[/color][color=Blue])
   
 
    
    wait [/color][color=Navy]4


 [/color][color=Green][PLAIN];  HI2CIN [mcp23017a], OLATB,(b12)[/PLAIN]
    [/color][color=Blue]let [/color][color=Purple]b12 [/color][color=DarkCyan]= [/color][color=Navy]%00001000
    [/color][color=Blue]HI2COUT [PLAIN][[/PLAIN]mcp23017a[PLAIN]][/PLAIN][/color][color=Black], [/color][color=Blue]OLATB[/color][color=Black],[/color][color=Blue]([/color][color=Purple]b12[/color][color=Blue])
   
       wait [/color][color=Navy]4
    [/color][color=Blue]let [/color][color=Purple]b12 [/color][color=DarkCyan]= [/color][color=Purple]b12 [/color][color=DarkCyan]- [/color][color=Navy]%00000001
    [/color][color=Blue]HI2COUT [PLAIN][[/PLAIN]mcp23017a[PLAIN]][/PLAIN][/color][color=Black], [/color][color=Blue]OLATB[/color][color=Black], [/color][color=Blue]([/color][color=Purple]b12[/color][color=Blue])
    
    goto [/color][color=Black]main    [/color]
 

grim_reaper

Senior Member
Error #2038
That's to do with security issues with Adobe Flashplayer and some browsers. [I know, that doesn't really narrow it down!!]

Try uploading with a different browser first.
Failing that, try updating your preferred browser and/or re-installing/updating Adobe components.
 

koyli

Member
Photo uploaded. I could not upload in Windows, changed to Linux Mint and uploaded without any problems.

Ignore the three chips on the left, they are from when I was testing the signal driver circuit.

TestRig3.JPG
 

hippy

Technical Support
Staff member
Ignore the three chips on the left, they are from when I was testing the signal driver circuit
It would be best for yourself and others who are willing to help if you could remove everything which is not needed and not being used. It is much easier to see what might be wrong when there are only things which should be there. That applies to both hardware and any program code being used.

And minimise as much as you can. Just have one output LED being controlled. The fewer wires there are the easier it is to tell if things are wired as they should be.

Where possible, try to move wires so it can be seen exactly which holes or sockets they go in.

It might help to just start with one expander chip on the AXE091 breadboard.
 
Last edited:

koyli

Member
Do you have the pullup resistors on the I2C lines?
AAAHHHHHHHH!!!!!!!!

Pullup resistors!!!! I totally forgot about the pullup resistors. Thankyou Rick for spotting that.

On that point, do I put pullups on each expander, or will one pair do?
 
Top