Skip to main content

Messages

This section allows you to view all Messages made by this member. Note that you can only see Messages made in areas you currently have access to.

Messages - schazamp

181
General discussion / Re: pic lcd back pack not working correctly
[quote author="ian"]The firmware has the character memory layout for a 4x20 LCD hard coded. I bet the smaller displays have a different memory map. I'd like to store the LCD settings in the PIC EEPROM, then they could be reprogrammed as needed.[/quote]

What about adding some control characters to select or configure the memory map?  That way you wouldn't have to reprogram it when testing out differently-sized LCDs one after the other.
182
USB Infrared Toy / Free PCB Build, not quite working yet
[attachment=0]

I put together the IR toy on the PCB I received (Thanks, bottomless PCB drawer!  You're awesome).  A few notes on this build:

More "floating" PTH crystal on the SMD pads.

Poor man's 1206 6R8 resistor.  I put in a 2x2 network of 0603 6R8s, which should still be 6R8 and 4x the normal power dissipation of a 0603, which, according to Wikipedia ( http://en.wikipedia.org/wiki/Surface-mount_technology ) should be 1/4W, the same as 1206.  The measured resistance is ~6R8, so I think it works, even though it was a beast to put together.  (I think next time I'll just order some 1206s).

22pF capacitors on the crystal (which is the stated capacitance for the crystal I used, so I figured that'd be okay).

330R instead of 390R (since that's what I had) for R3 and R6.  Both of these substitutions seemed reasonable, based on the datasheet (R3 for TSOP34838 suggested 100R, R6 for QSE159 is a pullup for the open-collector output).

Also a few stacked 2x0.1uF instead of 0.22uFs.

I was able to program the "DUMP" image successfully, but I get nothing when I plug it in to my USB port.  After reading a few topics of others having problems, I checked a few things:
* I am getting ~5V across the capacitors by the USB plug
* Checking between pins 15/16 and the data lines on the other end of the cable, those seem to be good connections without any shorts
* ~5V across C1

I found that pin 2 seems to be shorted to ground, so I'm going to remove R2 and the LED and see if that makes the short go away, though I can't see any bridged pins.

Are there any other things you can suggest I check?  Or do you think I'll have more luck after I fix that grounded pin 2?  Unfortunately, I probably won't have time to work it for a few days...
183
General discussion / Re: AC-DC converter
So, I don't know if anyone's interested, but I finally had an opportunity to try out the FSAR001 last night.  I built a little experimenter board for it, but I was busy all day and didn't get a chance to take any pics; they will be forthcoming.

This device, remember, takes 80-265Vrms wall power and puts out a (relatively) clean 5V DC.  According to the datasheet, the way this thing works is by monitoring the voltage of the AC waveform and charging a big electrolytic capacitor during the low voltage segments on the leading and trailing edge of the (half-rectified) wave.  The controller then discharges the capacitor to sustain the 5V DC.  It claims it can handle a maximum load of 35mA (more on that later).

[attachment=0]
[attachment=2]

[attachment=1]

The experimenter board followed the example circuit in the datasheet pretty closely.  I used a poor-man's 10ohm 2W resistor (10 individual 100ohm 1/4W resistors in parallel, that big mess on the left), a 0.5A fuse (instead of the 4A suggested, built-in to the power jack) and everything else I needed I had on hand.  Come to think of it, I had to make my own 13K resistor out of a 10K and a 3.3K in series (that mess on hte right, between the ceramic bypass capacitor and the terminal).  Anyway, instead of soldering in the big electrolytic capacitor, I put in a set of terminals so I could experiment with different values of capacitor to see what current output I could get.  The datasheet also seems to imply that some of the other resistors could be changed to tweak the "conduction angle", which is the width of the portion of the waveform that is charging the capacitor.  Perhaps this could produce even higher current outputs?  It wasn't as obvious how those should be modified, so I used the example values.

There is a graph showing the charging capacitor size vs. the output current that shows a perfect linear relationship, I = C/10, where I is in mA and C is in uF.  Even though the datasheet only claims a max output of 35 mA, the graph clearly shows up to 50mA (using a 500uF electrolytic for the charging capacitor).  This possibility inspired me to experiment a bit to see how much current I could draw with it.

I had a 680 uF cap on hand, so I put that on.  Using a combination of 270ohm resistors in parallel, I tried the following loads and got the following current output:

[tt:]1x270 = 270R => 18.5mA
2x270 = 135R => 35-36.3mA
3x270 = 90R  => 54.2-54.3mA
4x270 = 67R5 => 71.7-71.8mA[/tt:]

I stopped checking there.  I plan to experiment more with a bigger load on the same capacitor to see how it hold up (according to the datasheet, remember, I should expect roughly 68mA with a 680uF capacitor).  I also plan to try a bigger load on bigger capacitors (2400uF).  There is supposedly a built-in current limit of 125mA, so I want to see how I do getting close to that.

I plan to ask some Fairchild engineers (they supposedly have a contact form for these sorts of questions) about the stated limits and what kind of problems I might expect to get into when intentionally exceeding them, so more on that when I get a response.
184
Bus Pirate Development / Re: Bus Pirate Breakout Board
Here's an image of the updated layout.  Note the greater clearance between either end of the 10 pin connector and the connectors (power / SPI).  I've also updated the numbering scheme to be 3.2 (instead of 0.2) to match the Bus Pirate version it belongs with.

I'll probably be working on a BPv4 version soon, stay tuned.

Remember, there's still time to get a board in the next run, $4 shipped to the US.  Let me know by tonight or  tomorrow morning if you want one.
186
Bus Pirate Development / Re: Bus Pirate Breakout Board
I've got a few people who are interested in this board, and I've been thinking of making another (small) production run.  Is anyone else interested in a PCB?  They would be $3 or $4, (depending on how many I do) shipping included (anywhere in the US).  They will be available available in 2 or 3 weeks.

I have updated the board to allow for a little more room for the SPI connector and the power jumper. 

If you'd like one, please reply or message me by midnight CDT on Sunday, May 15 (so I have time to get the order together before the deadline).

If you need 2x5 header for the connector, I have a few of those left, so let me know, and I'll throw one in.
187
Project logs / Re: diy bench power supply
Thanks, that really helps.  I have a lot of learning to do about analog design, esp. op amps.  Can you explain why you're passing the center tap of the transformer all the way from input to output?
188
Project logs / Re: PIC LCD Backpack Assembled
Hi John, nice work.

A bit late, but to answer your questions:

[quote author="ezflyr"] I'm wondering which code you burned into your chip? There seems to be a couple of .hex files available with no info to distinguish them. I'm assuming that the 'Dump' version includes both the bootloader and the PIC-LCD code, so that is what I loaded. What did you use?
[/quote]

I believe I burned the bootloader, then used the firmware update utility.  I don't remember exactly, I tried a few different things before I got it to work.

[quote author="ezflyr"] Also I noticed that you soldered the 0.22uf capacitor to 'C4' on the board. Looking at the schematic, it looks like C4 is supposed to be just a 0.1uF by-pass capacitor, and that the 0.22uf cap is supposed to be on C3, the Vusb filter cap. Then again, your board seems to be working, and mine is not!
[/quote]

Hm, good catch.  I, obviously, didn't notice that.  It still appears to work, however, like Ian's note, he's had success with just 0.1uF on the filter cap.
189
Project logs / Re: diy bench power supply
I'd love to read a bit about this design, maybe an explanation and some of the background on your design decisions.  Would you be willing to do a write up?
190
Bus Pirate Development / Re: pyBusPirateLite for Windows
I did some experiments with the "select" call in linux, and with empty lists as arguments, it does appear to just serve as a timeout.  I replaced what calls I could with calls to time.sleep() (which is cross platform).  I tested the clean version on both a Windows and a (virtualbox) VM running Ubuntu 9.10.  It's rev 596.  I also added a library for Maxim I2C RTCs (DS1307, DS3231, DS3232), rev 597.

I also made a .zip package of the pyBusPirateLite subtree and added it to the "downloads" section on the google code repository (http://code.google.com/p/the-bus-pirate/downloads/list).  I'm working on blog write-ups for both the windows support and the RTC library.
192
Bus Pirate Development / Re: pyBusPirateLite for Windows
So, then, would:

Code: [Select]
 select.select([], [], [], 0.1)
have the same behavior (namely, waiting 100ms) as this:

Code: [Select]
time.sleep(0.1)
?

Do you think it would be preferable to use select() for this timeout (against the possibility of later actually having it wait for input before proceeding), or to use the platform-independent sleep() call everywhere (until someone figures out a platform-independent way of emulating select()'s behavior)?  I'd like to clean this up a bit more, the "if win32" checks have a bad smell to me.
193
Bus Pirate Development / pyBusPirateLite for Windows
I wanted to get pyBusPirateLite working for Windows for another project I'm working on.  I found that Windows doesn't seem to support the select() call on serial ports, but I was able to patch it, and it seems to work now:

Here's it is:
http://code.google.com/p/the-bus-pirate ... tail?r=595

Would anyone be willing to test it on Linux to confirm it isn't busted?  Many thanks, I don't have a Linux box set up to use the BP at the moment...

The main select() I can't get rid of is the one to determine how many zeroes to write to enter BB mode.  The other ones, though, might be candidates for removal -- it looks like they are calling select() on empty lists, which, my guess was, merely serves to wait the specified amount of time.  The python docs say it is "implementation dependent" ( http://docs.python.org/library/select.html ), but do not go into any further detail.  Can anyone confirm what this actually does?  If it *is* merely for a timeout, can we not use time.sleep(#) instead, and get rid of the platform-specific calls in those other cases?
194
Project logs / PIC LCD Backpack Assembled
I assembled the PIC LCD Backpack PCB I got the other day.  Here are some pics.  Behold:
[attachment=3]

I didn't have an SMD crystal, but fortunately, I was able to bend the leads of a PTH one and solder it on there anyway, since it was about the same size (aside:  it would be cool if there were some "combo" PCB footprints to make prototyping easier, like a crystal with pads that would work for SMD and holes for the PTH version, combo resistors for PTH or SMD of various sizes, SMD vs TO-92 transistors, etc.  does anyone know if these exist?):
[attachment=2]

I also didn't have a 220nF 0805 capacitor, but I had some 100nF and a 22nF.  I put two 100nF's on their edges, side by side, and stuck the 22nF on top, so they're all in parallel (and therefore, their capacitance sums to ~220):
[attachment=1]

I had a grab bag of misc. pots, but fortunately, there were some 100 ohm ones (for the backlight) and a single 10K (for the contrast).  Too bad they weren't facing the same way...

Here's some proof it actually works.  I had to rework it, due to a bad joint on the contrast pot, and inadequate sockets for the display:
[attachment=0]
195
CPLD programmable logic / Re: built my XC9572XL board
This may be obvious, but when I have a dev board that is too wide to use conveniently on a breadboard, I use it with two breadboards in parallel, with the device bridging the gap between them, like so:

Code: [Select]
+---------+   +---------+
|  BB1  |  |  BB2  |
|      +-------+      |
|      |  DEV  |      | 
|      |      |      | 
|      |      |      | 
|      |      |      | 
|      |      |      | 
|      +-------+      |
|        |  |        |
  ...            ...

This usually also gives me plenty of room to connect several things to the dev board pins.

If you need more breadboards, ebay usually has extremely low quality ones very cheap from PRC, but watch out, some of the ones I've had have messed-up internal connections, and I've fried a few chips (and gotten some nasty burns) before I figured it out.

( ! ) Fatal error: Uncaught exception 'Elk_Exception' with message 'Please try again. If you come back to this error screen, report the error to an administrator.' in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
( ! ) Elk_Exception: Please try again. If you come back to this error screen, report the error to an administrator. in /var/www/dangerousprototypes/forum/sources/database/Db-mysql.class.php on line 696
Call Stack
#TimeMemoryFunctionLocation
10.01652453256session_write_close ( )...(null):0
20.01682584880ElkArte\sources\subs\SessionHandler\DatabaseHandler->write( )...(null):0
30.01682585656Database_MySQL->query( ).../DatabaseHandler.php:119
40.06262724416Database_MySQL->error( ).../Db-mysql.class.php:273