Shop OBEX P1 Docs P2 Docs Learn Events
Questions about a project for Skiers!! — Parallax Forums

Questions about a project for Skiers!!

ahayahay Posts: 19
edited 2006-01-03 15:17 in BASIC Stamp
I'm an avid skier, at least 2 or 3 times a week when the snow flies. With that comes lots and lots of waxing and ski repairs for myself and all of my friends. I have built a "Hot Box" to keep wax on skis molten for hours at a time to improve the performance and minimize the number of times I have to wax. Currently, three 60w light bulbs keep the temp ok, but it fluctuates enough that I get too nervous to leave the skis unattended, since over heating will basically delaminate the skis and render them useless. I plan on using a 1500W ceramic space heater element and fan, controlled by my BS2 to regulate and monitor the temperature. The temperature set point will be adjustable via a potentiometer between 55 and 90 degrees celcius. An LCD will display current temperature, and the set temperature. I'd also like to be able to enter in an amount of time from 30 minutes to 6 hours in 30 minute increments, and shut the heater off after the time has expired. Now for my questions...

1. Will the Crydom D1225 SCR relay provide the right interface between the stamp and the heater or is it overkill?
It is rated to 25A @ 120VAC, and switches with 3-32VDC. Please note, I doubt I will need to use the high setting on the heater, as the low setting will provide plenty of heat in the enclosure (74" W x 32"H x 18" D)


2. Would the DS1620 be better suited for this than the SHT1x?


3. Are there any skiers/snowboarders here that would be interested in this project?

Currently the box is made out of plywood, but I am redesigning it out of aluminum to be light, collapsible, and portable. Once it is complete, I would be happy to share the designs!

Thanks,
Al

Comments

  • JonathanJonathan Posts: 1,023
    edited 2005-11-30 20:12
    Al,

    1: The relay should be fine, it has plenty of "headroom" in terms of load

    2: The SHT seems uneeded unless you want humidity readings too.

    3: I'm a snowshoe/igloo camper. No waxing :-0

    How are you planning in interfacing your temp. select potentiometer? Using the RCTIME command or are you planning to have an ADC?

    Since you have an LCD in the mix, why not make a menu driven temp. select and duration system? All you need is 2-3 momentary push buttons to scroll through the menu and change options.

    Also, I would consider finding a thermal switch with a temp. rating 5 - 10 or so degrees above your max desired temp. It would act as a safety cut-off, so if something ever happened it would kill the power. May sound paranoid, but skis can be awfully expensive and a simple code mistake or hardware failure could result in cooking your skis.

    Jonathan

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    www.madlabs.info - Home of the Hydrogen Fuel Cell Robot
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2005-11-30 20:42
    The new StampWorks book shows how to get 0.05 C resolution out of the DS1620 -- probably more than you need, and still easier to use than the SHT (unless, as Jonathan pointed out, you also need humidity).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • ahayahay Posts: 19
    edited 2005-11-30 21:53
    Thanks for the info!

    Jonathon, I had originaly thought about using the RCTIME, as I have more experience with that, however, a pushbutton menu driven system is definately worth looking into. Now that I think more about it, I don't have to be able to set every temperature within that range, just the proper temperature for the wax being used. For example, base prep would be at 58C, Yellow would be at 62C, Red would be at 66C, Blue around 68 or 70C, and a setting for doing base repairs around 90C. These are rough estimates, but it seems like that would be pretty simple to set up.

    As far as the thermal switch is concerned, there is one already mounted on the side of the heating element, but I have no idea how to determine what temp it is set to trip at and it is mainly for fire protection (much hotter than I need). I will look for a seperate unit.

    Jon, I don't need humidity, so I will stick with the DS1620. I did see the SW article on achieving 0.05C resolution. While it is not imperative to have that resoution, it would be nice to see that resolution.

    Is there a limitation on how far away from the stamp the DS1620 can be located? The controls and heater will actually be mounted on the side of the box and I plan on locating the sensor centrally within the box.

    Al
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2005-12-01 00:41
    The connection between the Stamp is synchronous, but I'd still be inclined to use shielded wire and keep it under a few meters.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • Tracy AllenTracy Allen Posts: 6,658
    edited 2005-12-01 07:20
    The DS1620 can work fine on a cable several meters long, but be sure to include bypass capacitors right next to the power supply pins. Noise on the power supply can discombobulate its measurement mode.

    You know, the DS1620 also has a builtin thermostat mode on 3 of the pins, so you could use it to control the heater directly (via the relay of course). Then the Stamp could intervene only when it is necessary to change the settings or when you want to see the display. Shorter control loop.

    I didn't know that keeping wax molten for an extended period improves the performance. I could see that for the base wax on wood (!?) skis, but what is the theory behind doing that on composite skis? I guess you are talking downhill skis? I'm a mountaineering skier. Not avid (I'm too old for that now), but I still like getting out there. I have both composite metal edge backcountry skis, and an old pair of Norwegian wood touring skis that make that special resonant wood sound on the snow. The trouble here in California is that conditions change, from ice (Sierra Cement), to fresh snow, to slush and everything in between and all mixed up. An all day trip means several changes of wax along the trail. Okay, most people skip the waxes and rely on a herringbone pattern on the ski base. But I love the challenge of the waxes, and the oh so cool principle of waxing for both grip and glide. It is a mess to scrape and change and cork the wax out on the trail. The hot box would be nice out there, but if I had it, I sometimes would be more inclined to climb into it myself. Solar power, if only?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Tracy Allen
    www.emesystems.com

    Post Edited (Tracy Allen) : 12/1/2005 7:36:38 AM GMT
  • stamptrolstamptrol Posts: 1,731
    edited 2005-12-01 12:52
    ahay,

    Should be a neat application. From experience, it may also be advisable to put a "high level cutout" in the circuit in case a solid state relay shorts or the program doesn't respond as expected.
    Just get a mechanical type thermostat and set it a few degrees above the normal maximum. Then, if things get out of control, the mechanical 'stat will open and save your skiis and the chalet!
    Cheers
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2005-12-01 13:47
    gents -

    The high level (over-temperature) cutout is a fine idea. However, I'd much rather see a fixed temperature, non-adjustable control as opposed to a variable temperature control. If the variable temperature control was bumped, dropped, or subject to vibrations, as might occur with a portable unit, the safety value could be easily lost.

    Therm-O-Disk is one company which offers mechanical over-temperature limit switches. Sometimes they can even be found in surplus catalogs, but you may not be able to get the exact temperature you're looking for, by going the surplus route.

    Regards,

    Bruce Bates
  • ahayahay Posts: 19
    edited 2005-12-01 18:06
    Lots of good ideas here! (As always!!!)

    Newer skis have two different kinds of bases. An extruded P-Tex base and a sintered P-Tex base. Sintered bases are made by "shredding" the P-Tex and using heat to form it in to place. This creates lots of pores throughout the base. The idea with a hot box is to keep the wax soft enough for a long period of time to soak it into all of the pores. They say that an hour and a half in the hotbox is equivalent to about 30 waxings using a good old iron. I ride so many different conditions throughout the year, my skis get extremely dirty and need to be stripped a couple times a year to get dirt out of the pores or to do minor repairs to scrapes and gouges in the base. Using just an iron, waxing after stripping or a fresh base grind can take days and still not give the best results.

    I'll keep you updated.

    btw, it's snowing and i'll be strapping the telemark skis on in a couple hours for the first time this year!!!

    Al
  • Kevin WoodKevin Wood Posts: 1,266
    edited 2005-12-01 18:51
    If you do some web research on custom bowmaking, you can find some good info on hotboxes and heating systems.

    To make a laminated longbow or recurve, you essentially layer the fiberglass and wood in a form, with your glue/epoxy between layers, and bake it to cure the glue. Hotboxes are one method, and heating strips are another.

    I don't know of any builders, but I think the processes would be similar enough that you might even find some info on custom ski makers.
  • Philip GamblinPhilip Gamblin Posts: 202
    edited 2005-12-03 09:18
    Temperature control is a sneaky problem in that it is a very slow and sluggish variable. Remember regardless of where you set the DS1620, the real world actual control ponit will be " in the neighborhood " of that value. I don't know how familiar you are with the part, but it is actually a thermostat. The DS1620 can be programmed as a thermostat and not need a STAMP after it's programmed. I've attached the datasheet. Take a look at the function of· THigh,· TLow· and Tcom.. Sounds·like an interesting project. but living in Houston, we don't see a lot of snow. Good luck and Happy Stamping.
  • ahayahay Posts: 19
    edited 2006-01-02 17:21
    Happy New Year Stampers! I though I'd give you an update on this project, and maybe ask for a little more help in the process.

    The program is a little rough right now, but it works. I've found that it will maintain the temp inside the box +-1.5C. I've also found out that the small ceramic heating element would have a very difficult time reaching the high temperatures that would destroy skis. Both pluses as far as I'm concerned. I have Hot Boxed at least three pairs of skis and five snowboards already and it really does an excellent job.

    Eventually I will pick up a serial LCD for the display, but since this a learning project for me, I'm trying to interface a 1x16 parallel LCD(HD44780) that I had available to just display the box temperature. Is there any way to send the data to the display with out writing it to EEPROM? I don't need to log the data for any reason and I'm having a hard time grasping the Parallel LCD.

    Thanks,
    Alan
    559 x 419 - 23K
    559 x 419 - 24K
    800 x 600 - 24K
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-01-02 18:09
    Alan,

    That's a pretty neat project.· On your temperature display question, no problem.· Assuming that your temperature is in tenths, and you're using LCD code from our other sources (e.g., StampWorks) you can do something like this (after moving the cursor to the desired location):

    Display_Temp:
    · IF (tempC > 99) THEN
    ··· char = (tempC DIG 2) + "0"········· ' 10's digit
    · ELSE
    ··· char = " "························· ' replace leading 0 with space
    · ENDIF
    · GOSUB LCD_Write
    · char = (tempC DIG 1) + "0"············' 1's digit
    · GOSUB LCD_Write
    · char = "."
    · GOSUB LCD_Write
    · char = (tempC DIG 0) + "0"·········· ·' 0.1's
    · GOSUB LCD_Write
    · RETURN

    This will let you display a value between 0.0 and 99.9 -- the format is fixed and a leading zero in the 10's position gets replaced with a space.· By fixing the width you can right-justify the temperature display nicely in your LCD.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • ahayahay Posts: 19
    edited 2006-01-02 20:25
    Thanks Jon, that makes sense. However, I think I am still doing something wrong. When I run just your PLCD code, the display works great, so I know it is not a wiring problem. When I try to get my program to display anything, I just get a blank display. I'm running the display in 4 bit mode...

    Alan
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2006-01-02 20:42
    Alan,

    ·· I'm curious...Why in your code do you set up the DIRS making P14 & P15 inputs, and everything else outputs, then change P0 to an input just a short while later?· Then of course, I cannot find anyplace where you're actually writing any text to the LCD.· All the text goes to the DEBUG screen.· There is one small section in "Display" that appears to write a couple of numbers to the display, but that's all I see.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
    csavage@parallax.com
  • ahayahay Posts: 19
    edited 2006-01-02 21:04
    Chris, thanks for pointing that out. P15 and P14 are the control buttons, P13-P11 are for the DS1620, P7-P1 are for the LCD, and P0 is unused. I placed the DIRL command thinking that was causing issues with the display, which is obviously not the case. The reason for all of the debug commands is so I can actually use the device while I figure out the display. Once I can get the actual temp and set temp to display on the LCD, I will remove all of the debug code.

    Alan
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-01-02 21:06
    In the top part of the display routine you have:

    · char = LcdHome
    · GOSUB LCD_Out

    You need to change LCD_Out to LCD_Cmd.· And since you're using the Hi-Res DS1620 code, you should probably change it to this:

    Display:
    · char = LcdHome
    · GOSUB LCD_Cmd
    · IF (tC > 999) THEN
    ··· char = (tC DIG 3) + "0"········· ' 10's digit
    · ELSE
    ··· char = " "······················ ' replace leading 0 with space
    · ENDIF
    · GOSUB LCD_Out
    · char = (tC DIG 2) + "0"··········· ' 1's digit
    · GOSUB LCD_Out
    · char = "."
    · GOSUB LCD_Out
    · char = (tC DIG 1) + "0"··········· ' 0.1's
    · GOSUB LCD_Out
    · char = (tC DIG 0) + "0"··········· ' 0.01's
    · GOSUB LCD_Out
    · RETURN

    Just for grins, here's another version:

    Display_Temp:
    · char = LcdHome
    · GOSUB Lcd_Cmd
    · FOR idx = 3 TO 0
    ··· char = (tC DIG idx) + "0"
    ··· IF (idx = 3) AND (tC < 1000) THEN
    ····· char = " "
    ··· ENDIF
    · · GOSUB LCD_Out
    ·· ·IF (idx = 2) THEN
    ··· · char = "."
    ··· · GOSUB LCD_Out
    ····ENDIF
    · NEXT
    · RETURN

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • ahayahay Posts: 19
    edited 2006-01-02 21:26
    Thanks for your help guys. It's getting closer. Jon, the second code example you provided outputs 2.810 when the temperature is 22.81 and puts it in different locations on the LCD . It also outputs random characters in different places on the LCD. I'm sure once I figure this out it will all make perfect sense, some of these programming concepts are pretty new to me though, so your patience is greatly appreciated!
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-01-02 21:39
    I think you've got something funky going on with LCD initialization sequence -- I tested the logic of the looped display code using DEBUG and it works just fine.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • ahayahay Posts: 19
    edited 2006-01-02 22:56
    Jon, that was one of my thoughts. According to the spec sheet, I need to specify 4 bit operation, 1 line display, and to increment the counter and shift the cursor right;.

    They show %000010 - I'm assuming that is where I use the last four bits - %0010

    Next, I want to increment the address by one, then shift the cursor right - %0110

    It would seem that I'm initializing the display properly. Are there any differences between a 1 x 8 display, and a 1 x 16 display that I might be missing?



    OUTS=%0000000000000000 ' define the initial state of all pins
    'FEDCBA9876543210
    DIRS=%0011111111111110 ' make pins 14, 15 inputs



    Lcd_Setup: ' LCD Init
    LcdBus = %0011 ' 8-bit mode
    PULSOUT E, 3
    PAUSE 5
    PULSOUT E, 3
    PULSOUT E, 3
    LcdBus = %0010 ' 4-bit mode
    PULSOUT E, 1
    char = %00001100 ' on, no crsr, no blink
    GOSUB LCD_Cmd
    char = %00000110 ' inc crsr, no disp shift
    GOSUB LCD_Cmd
    PAUSE 100
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2006-01-02 23:09
    There are some 1x16 displays that are actually 2 line displays where the addressing works like this:

    1111111122222222

    These are a real pain in the backside to deal with, so when I find them I just toss them. You could write a simple bit of test code to determine if that's the problem. It looks like you're using the intialization sequence from the StampWorks code and I have recently tested that. Check your LCD; sometimes the cheapies are not such a good deal....

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2006-01-02 23:16
    Jon -

    We may be talking about the same thing here, but I've found some nasty LCDs claiming to be 1 x 16 which were set up internally as 2 x 8 <argh>. That means the starting line positions aren't where you expect them to be. Those that I've found, hit the trash bin on the first toss with no bounce, as well <sigh>. LCD's CAN be so simple too.

    Regards,

    Bruce Bates
  • ahayahay Posts: 19
    edited 2006-01-02 23:18
    It is an old display that I scavenged out of some old parts I had lying around.. In addition to the HD44780A00, it has an HD44100H although I'm not sure why.

    Yes, I am using the initialization sequence from SW. It's just strange, because the sample code that demonstrates the cursor functions and the shift functions with a message stored in EEPROM works just fine, but I believe you are right about it being (2) 1x8 displays. At least it was a free cheapie and I got to learn something. I think I will just get a serial display from you guys and call it a day!!

    Thanks again for all your help!!


    Alan
  • ahayahay Posts: 19
    edited 2006-01-03 04:25
    ...and after further investigation, the second chip is for serial/parallel conversion.
  • ahayahay Posts: 19
    edited 2006-01-03 15:17
    So, I decided to re write my code and do just a little more testing to make sure the display was bad. But alas, now it works. I think my control loop was so innefficient that timing was causing most of the issues. The attached version just checks the temperature, and outputs it to the LCD, but I have a much greater understanding of the system as a whole and the heater control will be a breeze. Everyone's help on this has been greatly appreciated!

    Alan
Sign In or Register to comment.