New "TSDZ2 Torque Sensor Central Motor"

69pjc69 said:
My first ever pedlec was a front hub unit and it was the worst bike I have ever owned for one very simple but yet rather overlooked reason, turning into corners or should I say trying to turn corners. In my experience and also all the pedlec riders I see who have also encountered the same problem. Try going at any speed and then go round a corner, the wheel wants to continue to go flat out and you end up sliding out. Happened to me too many times that I care to remember. Sounds amazing on paper, in reality is not great

There are some people coupling a small front hub motor with a larger rear one for AWD bikes.
Probably very useful for climbing over obstacles and deep sand or mud. Mostly rigid fork fatbikes from what I've seen. But kind of OT for a TSDZ2 thread.
 
eyebyesickle said:
Sure, you just need some eccentric adapters for installation...

FYI there are 92mm extensions available for this, you don't have to get a 100mm extension... The 100mm may negatively affect your chainline, and give you a wider than necessary q factor in fact...

I see, eccentric adapters makes sense! I thought I saw factory tsdz2 motors for 100 and 120mm BB, thats why I mentioned 100mm. But it seems like it was just a motor with extensions included. Havent decided a donor-bike yet, but I might just pick a pre-2012 with a 68-73mm BB. Seems a lot easier, even though I was hoping to get something closer to new.
 
New firmware for TSDZ2 motor, 850C and SW012 displays

Version: 850C_SW102_v0.6.8, download here.

Videos showing 850C display and SW012 display:

[youtube]eDENZS4pHvo[/youtube]

[youtube]q0N5W3Fgyjk[/youtube]

Changelog:
- No more motor unwanted startup at power on or when leaving the configurations menu (the motor initialization is now much more robust).
- Now user get errors if TSDZ2 firmware version is incorrect, if brakes are pressed at startup or if RX or TX communication is missing - this will help a lot when users by mistake exchange the TX and RX wires or some bad contact of that wires.
- Assist levels are now 20 (previous were 9). I ride on the city at motor max power and so I need hight assist levels AND I also do MTB and there I need fine control and low assist levels, now I will be able to use for instance the assist levels from 1 to 10 for MTB and the 10 to 20 for riding on the city.
- added 3 main screens were each screen have his own customized numeric fields and on 850C has also his own customized graph.
- UP and DOWN buttons are now really fast responsive and predictive as everyone expects (I had to remove the click + long click detection on this buttons and anyway, seems this type of click is hard for users to understand and do).
- SW102: the assist level value is now shown on the wheel speed field by override his value during 2 seconds when changing assist level (this means assist level is now hidden). Also at startup it is shown for a few seconds.
- SW102: changed battery symbol to be similar with the design specification as also the 850C battery symbol.
- Improved the Colomb counting based SOC by considering the amount of power loss on the battery internal resistance and cables.
- The amount of power loss value on the battery internal resistance and cables can now be seen on configurations.
- Removed battery voltage SOC based on voltage and so the focus will be on the much better Colomb counting based SOC.
- SW102: corrected the numbers where the "." and ":" were not being shown.
- Motor PWM value is now shown from 0 to 100 instead of the previous 0 to 255.
 
Pedal rotation until assist begins working?

UPDATED: I enabled the "Variables/Assist w/o pedal rotation" . This now has the motor starting to assist when I apply very little pressure to the pedals, and with very little rotation.

>> Original note<<
Is there a way to specify how much your pedals must turn before the assist begins working?

If you think of a full rotation of the pedals as '100', it takes mine about '40' before the assist begins working and the 850c display starts showing human power/assist power.

Thanks
<<<
 
TSDZ2 with OSF - Recumbent Trike Settings

I am new to the TSDZ2 and this OSF software. So keep this in mind when reading, feedback is appreciated.

UPDATES: I will includes updates to this configuration right here at the top of the note.

3/12/2020 - On motor firmware: 0.5.2 and 850c display firmware: 0.6.3

3/12/2020 -
A. Configuration - Various/Assist without Pedal Rotation: ENABLED - the problem was, when engaging the pedals from a dead stop, or even climbing hills, the assist would not start until the pedals had rotated about 40 degrees (if you consider 360 degrees a full rotation of the pedals). With this enabled the assist starts almost immediately when pressing the pedals. The one 'trick' is that assist will start even if you only press on the pedal, and not even rotate. Like if you are setting on the trike and you rest your feel more heavily on the pedal, the trike will move. So be aware. Holding a brake stops this completely.

B. removed Gear Sensor, system does not seem to need it. My pedaling is more natural with the TSDZ2 than with the Bafang system. So when shifting gears I lighten the pedal stroke naturally.

C. A Recumbent Trike does NOT need a 'Chain Guide Sprocket' or 'Chain Guide Roller'. These are options that vendors offer.

5/1/2020 - added washers as in this post, to reduce wobbles in gears - https://endless-sphere.com/forums/viewtopic.php?f=28&t=105177

6/6/2020 - Recommend you perform the thermal cooling mods - there are several. This includes installing the temperature sensor and setting limits in the OSF configuration. Yes you will lose the throttle. Here is one cooling mod that is pretty easy: https://endless-sphere.com/forums/viewtopic.php?f=28&t=79788&p=1487260&hilit=boston#p1487260

With weather warming up here I have found my motor getting very hot. I got an infrared thermometer to read the outer case, and temps range from 95 to 127 F. My riding is not radical (usually paved trails) and I change gears to keep the system as stress free as I can. Still, seems too hot. According to others the internal motor temperature is often much higher than the outer case, so it is possible I have damaged the motor already. More testing will tell.

7/25/2020 Update
Cooling modification has been done, including adding heat sink/fins to outer case, Temperature Sensor installed. Temp ranges set: min 160F max: 180F
TSDZ2-cooling-2.jpg
TSDZ2-cooling-1.jpg

Updated to OSF version 1.0, and 860c display - recalibrated torque sensor. A few of the settings do not work quite like the prior version, below are notes and settings. Also, I recommend setting the units to: SI , and make all of your entries using that. Then switch to 'Imperial' if you want to use that system. If I had units: Imperial, often making a numeric change would cause that value to jump wildly when I actually tried to save it, and move on to the next value. And example is setting the minimum temperature. If I set it to 160F, upon saving and exiting that value would drop to 138F.

12/5/2020 Update
Changed the rear wheel to a Nuvinci N380 internal geared hub with 21T sprocket, 44T chainring up front, with the Automatic Hub Interface (Harmony?). WARNING: trying to understand which Enviolo parts actually fit together is like pulling teeth. Most dealers do not know. It took a lot of time and research to find the right parts. I had to order them from Germany. But it finally works.
But this system includes a twist grip shifter that is essentially 'shift by wire'. It is all electronic vs their manual hub control interfaces, like their twist grips with two physical wires that push/pull to make the hub interface turn and change your gearing. Runs very smooth. No gear sensor needed. The Automatic interface allows the grip twist shifter to run in a manual or automatic mode. Manual: you just twist it to change from high to low gears. Automatic: start pedaling and twist the grip until you reach a cadence you like, then tap the side button. This system maintains this targeted cadence whether you are climbing or descending. You can also fine tune the cadence control, up or down, in this mode. It works very well for most conditions. I find that if you are on a steep climb it never really gets to the low gear settings you can get when in Manual mode. But for 90% of my riding I just pedal along at a 75 cadence and enjoy the view. It is very nice!

Assist Levels 1 to 10 - the actual values turned out to be quite different (smaller) than prior version
TSDZ2-Assist-Levels-1-10-osf-10.jpg

Battery/ - I use a 48 volt battery. My settings are conservative
Max current: 15 amps
Low cut-off: 42 volts

Battery SOC
Reset at voltage: 55.2 volts (I often charge to 80% or 90%, instead of 100%)
Battery total watt hours: 700 – just a ballpark here, my batts are 17.5 AH and 24.5 AH

Motor (conservative values)
Motor voltage: 48
Max current: 15
Current Ramp: 10 amps - this value eliminated the startup 'shuddering' in the motor/drive train
Min current ADC Step: 1
Field weakening: disable – I do not use high cadence pedaling

Torque Sensor
Assist w/o pedal: enabled - this version does not feel as sensitive as the prior version. Before, lightly pressing on the
pedals, without rotating, started the motor assist. This version 1.0 feels less sensitive, and more rotation and pressure
are needed to have the same effect.

Related to Torque calibration, the readings in 'Technical' seem harder to interpret. Meaning the push of the Right or Left pedal are harder to read in the display. It is hard to clearly tell which pedal is being affected when I rotate the pedals. The prior version was very definitive in this regard.

----- END OF UPDATES -------------

Riding Goals: My riding style is pretty casual. Mainly paved bike paths and gravel trails around the Denver area, of which there are plenty of nice ones. My wife also rides a trike, so we use the trikes as a way to get outside year round, enjoy the trails and scenery, and cover some nice distances. The very top speeds on these bike trails are 20 mph, and normally between 10 and 16 mph. So a top end 25+ mph riding speed on level ground is not my goal. Biking is NOT our primary form of exercise. Also, my knees are not in good shape, so mashing pedals is just no fun for me. I want to ride with light to medium pressure on the pedals. My comfortable cadence is between 70 & 75.

My previous trike has a Bafang BBS02 750 watt motor, and I spent time tuning it, and like riding it very much. The tuned Bafang is now not that much different in feel from the TSDZ2, but it definitely uses more battery. But with the e-assist I can go out and ride 40 miles and enjoy it the whole time. And better yet, afterwards I can still walk, because my knees still work!

I want an e-assist to augment the leg forces, but not require me to crush the pedals to make it all work. I do not want a moped either, the pedaling and spinning is actually very good for my knees/legs. So with that, here goes my process.

Initial Testing - Human power: test riding on level ground at a comfortable cadence of 70 - 75 resulted in about 70 Watts of human power. This is well below the 100 Watts mentioned in the Endless Sphere (ES) discussion. This makes sense, because I am 'sitting down' :) while riding. I can provide more force by pressing harder on the pedals, but this is not the way I want to ride.

Installed Components: TSDZ2 48 volt system, 48 volt 17.5AH battery, ICE Adventure trike with full suspension, Big Apple 2.1" tires 26" in rear, 20" up front, TSDZ2 750 watt motor, 42T Wide/Narrow chain ring, 10 speed 11-36 Shimano cassette, no front derailleur, Brake sensors on both brake handles, Gear sensor

Torque Sensor Calibration: I followed the steps here: https://github.com/OpenSource-EBike-firmware/TSDZ2_wiki/wiki/How-to-calibrate-the-torque-sensor
The interesting points here are that the testing method assumes an upright bike, where the forces are vertical. With a trike you are sitting and peak forces seem to be horizontal, when the pedal is furthest away from your body. Given this, I tried to measure forces/weight using a digital bathroom scale. Awkward at best trying to balance the scale on the pedal and push.... it really did not work. So I pressed on the pedal and developed a 'feel' for that pressure. Then I pressed on the digital scale in the same way. The result being when pushing hard resulted in about 90 lbs of force. Also I did rotate the pedals through 360 degrees to get the ADC values at minimum and maximum, then interpolate the 8 values in between.

What I found was that the ADC curve was much flatter than the values casainho (OSF developer) used. My ADC range is 137 to 160. Using the spreadsheet ( https://docs.google.com/spreadsheets/d/1OwM1yURzHkPsrL9uz8oNlX6FHGzw_nr2TolGgUH9oy4/edit#gid=1043461905 ) and weights/ADC (weight in Lbs) I came up with these 'Torque Sensor' values, setting LEFT and RIGHT to the same values:

LEFT & RIGHT values are set the same (weight in Lbs)

Weight 1 / ADC = 0 / 137
Weight 2 / ADC = 6 / 140
Weight 3 / ADC = 13 / 143
Weight 4 / ADC = 24 / 146
Weight 5 / ADC = 35 / 149
Weight 6 / ADC = 44 / 153
Weight 7 / ADC = 66 / 157
Weight 8 / ADC = 81 / 160


Assist Level Settings: The corresponding Assist levels are tuned to my needs (read: my knees!). I would say I feel light pressure on the pedals, depending on the gear I am using. When I feel like the pedal pressure is rising I simply shift to a lower gear.

The result is that for my comfortable cadence of 70 - 75, riding on fairly level ground in Assist level 3 or 4 gives me a speed of between 12 - 15 mph, and assist power of 170 watts. Pedal pressure is light and comfortable but definitely present. I started with higher weight values (100 lbs max) in the 'Torque Sensor' settings, but reduced it to make the knee pressure more comfortable. I rode 20 miles with the 100 lbs maximum weight value (and other default values), and the result was uncomfortable afterwards. More tuning and reduction in pedal pressure was the next step.

The 850c display is great in that it displays 'Human' and 'Assist' power in Watts, so you can clearly see the boosted assistance while riding. My goals are to keep the continuous boosted watts below 400, which is very easy to do. I only see this when climbing very steep inclines AND I mash on the pedals. Staying in a low gear and pedaling comfortably keeps the Watts used down. It may be slow but it gets up the hills, no problem.

Level 1 1.0
Level 2 1.5
Level 3 3.0
Level 4 4.0
Level 5 5.0
Level 6 6.0
Level 7 8.0
Level 8 9.0
Level 9 10.0

I hope this helps in tuning your recumbent trike with the TSDZ2 and OSF
 
69pjc69 said:
After reading through 267 pages and many thousands of posts I took the plunge and got myself a 48v 750w tsdz2 with the xh-18, reason for getting the xh-18 was for simplicity of changing speed and for ease of use whilst using the walk assist function.
Purchased the kit from pswpower for £249 delivered and the battery, a hailong case 48v 624wh beast of a battery from battery empire for £170 delivered.
Fitting in the motor itself was a breeze as I already had much experience from all the reading on here, hardest bit was fitting the battery as had to fit it upside as the mounts where not in a sensible place at all, in fact can’t think of a single bike I have ever had that this could possibly fit the correct way. Anyway got it mounted, soldered all the joints and then wrapped them in capton and then heat shrink. Did originally plan for ec5 connectors but decided they looked too bulky, plus I don’t plan on taking the battery mount off again so solder it was. Had to use a jet flame lighter as my solder gun couldn’t put any heat into the thick wires, bless it’s little cotton socks, 40w is adequate for Pcbs haha.
Overall think it looks neat and tidy, the chain alignment was spot on and totally aligned in middle where it should be inbetween 5-6, I have a 10 speed cassette paired with a zee clutch derailleur.
Been for a blast and was blown away with the power, on turbo I was cruising with very little effort at 28mph, something I have never ever achieved on this bike in my life, was always setup single speed at front running a 38t.
After 16 mile ride at various speeds I hadn’t even used 20% of my battery so with my riding style over 100 miles should be easily achievable as long as I don’t use turbo too often.
Thank you for the wealth of info Each and everyone of you has provided me. I have no interest in the open source firmware as this performs flawlessly for me as it is. I have a garmin gps and the speed is pretty spot on give or take 0.5mph, the cadence sensor I have is also brilliant as I can make sure I never drop too low as to cause nylon gear issues. My avg cadence is 68 rpm with a max of 98 rpm so as you can see this motor suits my riding style very very well, 650b with fat off road tyres doesn’t make for a speed machine by any stretch of the imagination, but add a tsdz2 and suddenly I’m flying past puzzled hard core road riders, the type that wear tights and eat power bars, one even tried to keep up, but after 2 miles he slowly disappeared further and further back. God bless Tongsheng
Another evidence for 48V battery being more suitable for this motor. Mine on 36V and Chinese CYBT battery which boasts having Samsung cells from Amazon feels sluggish and weak. Not sure if overheating issues get reduced considerably compared to 36V.
Does XH-18 display shuts the motor completely down for you as well after ever 5 minutes whith the assist at OFF position. Got to use VLCD6 to resolve this issue.
 
fireflyer451 said:
TSDZ2 with OSF - Recumbent Trike Settings
Do you kind to share some pictures so I can create a wiki page for recumbent trikes?? - I will add your information you share.
 
Casainho, attached are a few photos of the trike, and OSF settings values. Happy to share these, please use them! Let me know if you a looking for some other photos.
 

Attachments

  • assist-level-settings-1.jpg
    assist-level-settings-1.jpg
    38.3 KB · Views: 1,996
  • torque-sensor-settings-1.jpg
    torque-sensor-settings-1.jpg
    38.8 KB · Views: 1,995
Trike photos
 

Attachments

  • ICE-Adventure-2B.jpg
    ICE-Adventure-2B.jpg
    125.8 KB · Views: 1,995
  • ICE-Adventure-4B.jpg
    ICE-Adventure-4B.jpg
    137 KB · Views: 1,995
Can someone point to documentation that the TSDZ2 only works with 52v batteries with Open Source Firmware? I'm pretty sure that's the case, but wonder if someone figured out how to set the 54.6v max to 58.8v without going to OSF? I ask because I bought the Euronau 48v TSDZ2 kit with the 850C display and Bafang cabling, but a 52v battery. It worked fine until I charged the 14S battery past 54.6v. I'll order the 850C cable to load OSF on the 850C, but am I stuck until it arrives? I do already have the motor reprogramming cable and the ST software to reprogram the motor controller...
 
bergerandfries said:
Can someone point to documentation that the TSDZ2 only works with 52v batteries with Open Source Firmware? I'm pretty sure that's the case, but wonder if someone figured out how to set the 54.6v max to 58.8v without going to OSF? I ask because I bought the Euronau 48v TSDZ2 kit with the 850C display and Bafang cabling, but a 52v battery. It worked fine until I charged the 14S battery past 54.6v. I'll order the 850C cable to load OSF on the 850C, but am I stuck until it arrives? I do already have the motor reprogramming cable and the ST software to reprogram the motor controller...

https://www.eco-ebike.com/blogs/eco-cycles-instructionals/tsdz2-motor-firmware-programming

flash with a 52v profile... but your 850c wattmeter is permanently going to read high and be useless... only downside
 
eyebyesickle said:
bergerandfries said:
Can someone point to documentation that the TSDZ2 only works with 52v batteries with Open Source Firmware? I'm pretty sure that's the case, but wonder if someone figured out how to set the 54.6v max to 58.8v without going to OSF? I ask because I bought the Euronau 48v TSDZ2 kit with the 850C display and Bafang cabling, but a 52v battery. It worked fine until I charged the 14S battery past 54.6v. I'll order the 850C cable to load OSF on the 850C, but am I stuck until it arrives? I do already have the motor reprogramming cable and the ST software to reprogram the motor controller...

https://www.eco-ebike.com/blogs/eco-cycles-instructionals/tsdz2-motor-firmware-programming

flash with a 52v profile... but your 850c wattmeter is permanently going to read high and be useless... only downside
eyebyesickle, THANKS! That totally worked, as you knew it would. Hats off to eco-ebike, I saw after I bought my kit that eco-ebike sells the same kit. I wish I had bought it there now, not that there's anything wrong with the Euronau kit...
 
Now seeing how the recumbent is laid out, I’m wondering: could you have had someone hold the brakes in the trike so it doesn’t move and then load mes the weights on the pedals the same way it’s done in a regular bike, that is to say parallel to the ground? Wouldn’t have that been much easier? And I’d think the end result would be the same, you’d have a curve that fits your particular sensors either way. Or am I missing something?
 
Hi Can anybody help me I am new to the ebike scene I have fitted the tsdz2 750w mid motor 48v all works great apart from when I give the battery a full charge I have to drain some of the battery before the motor works correctly which can be a pain.
I would like to try the open source firmware which have great reviews, would I need to buy a new display and also would I need different brake levers and a different throttle because I would like to keep these.
I Have all the cables and programming usb and programming the motor am quite confident I can reflash this but a bit stuck on flashing a new display.
cheers
 
Suggy said:
Hi Can anybody help me I am new to the ebike scene I have fitted the tsdz2 750w mid motor 48v all works great apart from when I give the battery a full charge I have to drain some of the battery before the motor works correctly which can be a pain.
I would like to try the open source firmware which have great reviews, would I need to buy a new display and also would I need different brake levers and a different throttle because I would like to keep these.
I Have all the cables and programming usb and programming the motor am quite confident I can reflash this but a bit stuck on flashing a new display.
cheers

You're probably hitting the overvoltage protection from the stock firmware, try charging your battery to 80--90% only to avoid it. The OSF doesn't have this issue.

For the rest, the wiki has all the answers: https://github.com/OpenSource-EBike-firmware/TSDZ2_wiki/wiki/How-to-install-the-Flexible-OpenSource-firmware
 
Suggy said:
Hi Can anybody help me I am new to the ebike scene I have fitted the tsdz2 750w mid motor 48v all works great apart from when I give the battery a full charge I have to drain some of the battery before the motor works correctly which can be a pain.
I would like to try the open source firmware which have great reviews, would I need to buy a new display and also would I need different brake levers and a different throttle because I would like to keep these.
I Have all the cables and programming usb and programming the motor am quite confident I can reflash this but a bit stuck on flashing a new display.
cheers
Check out the qmarco code if you have a VLCD5/6 and XH-18 display. My son runs a 52v battery on a VLCD5 stock display with the OSF on the motor only. It works wonderfully. Thanks qmarco!!!

https://endless-sphere.com/forums/viewtopic.php?f=30&t=98281&start=825

edit: added XH-18
 
bergerandfries said:
Suggy said:
.......
I Have all the cables and programming usb and programming the motor am quite confident I can reflash this but a bit stuck on flashing a new display.
cheers
Check out the qmarco code if you have a VLCD5/6 and XH-18 display. ......
The qmarco code is based on v0.19 stable which you can setup with a Java configuration GUI.
The latest release is the mbrusa code based on the last v.020b1 version for KT-lcd3
Both releases work with the default TSDZ2 displays and you only need to flash the controller, which is very easy to do with the configurator.

Information on EndlessSphere
Latest mbrusa release you can find on the github repo of Stancecoke
The installation guide you can find here
 
Today I did something I wanted to do long time ago: write some notes about different ebike builds with TSDZ2 so they can help new users.

For now there are notes for MTB, Kid MTB and Trike. Next I would like to add road bike, hand cycle and fat bike, but for that, I need to find pictures and notes for them because I don't have them.

https://github.com/OpenSource-EBike-firmware/TSDZ2_wiki/wiki#How_to_install_TSDZ2_on_your_bicycle

I wrote my personal notes about my ebike experience and build. If you guys would like to write such a page, i can post on the wiki.

https://github.com/OpenSource-EBike-firmware/TSDZ2_wiki/wiki/Casainho-full-suspension-MTB-and-city-commuting


image.png


image.png
 
Casainho,

Information on the WIKI looks good. For the trike stuff I would suggest adding right in that page the Torque Sensor and Assist Level settings too:

Torque Sensor
LEFT & RIGHT values are set the same (weight in Lbs)

Weight 1 / ADC = 0 / 137
Weight 2 / ADC = 6 / 140
Weight 3 / ADC = 13 / 143
Weight 4 / ADC = 24 / 146
Weight 5 / ADC = 35 / 149
Weight 6 / ADC = 44 / 153
Weight 7 / ADC = 66 / 157
Weight 8 / ADC = 81 / 160

Assist Levels
Level 1 1.0
Level 2 1.5
Level 3 3.0
Level 4 4.0
Level 5 5.0
Level 6 6.0
Level 7 8.0
Level 8 9.0
Level 9 10.0
 
**** HELP Please ****
Just finished a new install of a TSDZ2 with the 850C display and OSF. I cannot get it to turn on. I checked and I have the correct power from the battery to the motor connection but cannot get anything on the display. Any help would be great.

Brandon
 
fireflyer451 said:
Casainho,

Information on the WIKI looks good. For the trike stuff I would suggest adding right in that page the Torque Sensor and Assist Level settings too:
I removed that information because:
- all torque sensors have different values so no point the show your specific values
- the assist level factors are also different from person to person and bike to bike, a kid with 40 kgs will need much higher assist levels then a and adult with 1000 kgs.
 
Help please. Just installed the v6.8 software for an 850 display. Looks awesome. Is there a button combination to get into the configuration settings?
Thanks
 
Just my luck, after 800km+ my year old tsdz2 packed up. I left it parked at work, when i went back after a few hours i find the display on, with all leds lit up.

i tried switching off, with no success, so i removed battery. I charged battery (i thought it was around 20% full, but could not check) and left bike off without charge overnight, hoping this would hard reset the display and controller.

Unfortunately, no luck: display is still the same, and motor is not doing anything

i have a 36v 350w motor, with a VLCD5 display.
Would you think it is the display or the controller? Shipping to my country is slow, but cannot afford buying both just in case

If i change display, and get the Bafang 850c would it work without updating to the opensource firmware?

Thanks

stephen
 
Please input on use of Gear Sensor?

What is your opinion on using the Gear Sensor with the TSDZ2?  I have one installed and I find that when I climb hills, and shift, the motor cuts off, and then takes a bit of time to ramp back up again giving me assist. Kind of 'jerky' but I'm under the belief this is better for chain life.

What do experienced users think? Thank you
 
Back
Top